Z.ai GLM 5.3 Flash – Health and Fitness

via Parasail · Generated

  • AIMAC Debt 14.44
  • Cost $0.02
  • Total Violations 42
  • HTML Size 80 KB
  • Em Dashes 45

Screenshot

View Z.ai GLM 5.3 Flash Health and Fitness page View Live Page

Accessibility Issues Found

1 Critical 41 Serious

  • aria-required-children critical 1 instance

    Certain ARIA roles must contain particular children

    Example HTML <div class="q-dots" id="quoteDots" role="tablist" aria-label="Testimonials"><button class="q-dot on" aria-label="Show testimonial 1"></button><butt...
  • color-contrast serious 37 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <span class="brand-tag">Where clinical care meets everyday vitality</span>
  • target-size serious 4 instances

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

    Example HTML <button class="q-dot" aria-label="Show testimonial 1"></button>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vitalis Health Collective — Whole-Person Care, Fitness &amp; Nutrition</title>
<meta name="description" content="Vitalis Health Collective unites board-certified physicians, physical therapists, registered dietitians, and certified coaches under one roof. Preventive care, chronic care management, health assessments, MoveWell training programs, and nutrition counseling in Portland, OR.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,400;1,9..144,500&family=Archivo:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.min.js"></script>
<style>
/* ============ Foundation ============ */
:root{
  --paper:#F6F1E8;
  --paper-2:#EFE7D8;
  --card:#FCFAF4;
  --ink:#20261F;
  --ink-soft:#4C554B;
  --pine:#1E4A38;
  --pine-deep:#123227;
  --clay:#C05A36;
  --clay-deep:#A34626;
  --sand:#E3D9C6;
  --line:#DACFB9;
  --cream:#F6F1E8;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Archivo',Helvetica,Arial,sans-serif;
  --shadow:0 18px 44px -18px rgba(32,38,31,.22);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--clay);color:var(--cream)}
img{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--clay);outline-offset:3px;border-radius:2px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--cream);padding:10px 18px;z-index:200;border-radius:0 0 10px 0;font-size:14px}
.skip-link:focus{left:0}

h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.12;letter-spacing:-.015em}
.kicker{
  display:flex;align-items:center;gap:12px;
  font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--clay);margin-bottom:18px;
}
.kicker::before{content:'';width:30px;height:2px;background:var(--clay)}
.kicker .idx{color:var(--ink-soft);font-weight:600;letter-spacing:.12em}
.section-head h2{font-size:clamp(30px,4vw,44px);max-width:640px}
.section-head p.lede{margin-top:18px;max-width:620px;color:var(--ink-soft);font-size:17px}
em.accent{font-style:italic;color:var(--clay);font-weight:500}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:15px;font-weight:600;
  padding:14px 26px;border-radius:999px;border:1.5px solid transparent;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
}
.btn svg{width:17px;height:17px;transition:transform .2s ease}
.btn:hover svg.arrow{transform:translateX(4px)}
.btn-solid{background:var(--pine);color:var(--cream)}
.btn-solid:hover{background:var(--pine-deep)}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-clay{background:var(--clay);color:#FFF7EE}
.btn-clay:hover{background:var(--clay-deep)}
.btn-sm{padding:10px 20px;font-size:14px}
.btn-block{width:100%;justify-content:center}

/* Arrow text links */
.arrow-link{
  display:inline-flex;align-items:center;gap:7px;
  font-weight:600;font-size:15px;color:var(--pine);text-decoration:none;
}
.arrow-link svg{width:16px;height:16px;transition:transform .2s ease}
.arrow-link:hover{color:var(--clay)}
.arrow-link:hover svg{transform:translate(3px,-3px) rotate(0deg)}
.arrow-link.go svg{transform:none}
.arrow-link.go:hover svg{transform:translateX(4px)}

/* Photo tint for cohesion */
.ph{position:relative;overflow:hidden}
.ph::after{content:'';position:absolute;inset:0;background:var(--pine);opacity:.10;mix-blend-mode:multiply;pointer-events:none}
.ph img{width:100%;height:100%;object-fit:cover}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
[data-stagger].in>*{opacity:1;transform:none}

/* ============ Topbar ============ */
.topbar{background:var(--pine-deep);color:rgba(246,241,232,.85);font-size:13.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px}
.topbar .note{display:flex;align-items:center;gap:8px}
.topbar .note svg{width:15px;height:15px;color:#D9A66C}
.topbar-right{display:flex;gap:22px;align-items:center}
.topbar a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:rgba(246,241,232,.85)}
.topbar a:hover{color:#fff}
.topbar svg{width:15px;height:15px}
@media(max-width:760px){.topbar-right .portal{display:none}}

/* ============ Header ============ */
header.site{
  position:sticky;top:0;z-index:100;
  background:rgba(246,241,232,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid transparent;
  transition:border-color .3s ease,box-shadow .3s ease;
}
header.site.scrolled{border-bottom-color:var(--line);box-shadow:0 8px 30px -18px rgba(32,38,31,.25)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{width:52px;height:52px;border-radius:14px;box-shadow:0 4px 14px -6px rgba(30,74,56,.5)}
.brand-name{font-family:var(--serif);font-weight:600;font-size:21px;line-height:1.05;color:var(--ink)}
.brand-tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);margin-top:3px}
nav.primary{display:flex;align-items:center;gap:28px}
nav.primary a.nav-link{
  font-size:15px;font-weight:500;text-decoration:none;color:var(--ink);
  padding:6px 0;position:relative;
}
nav.primary a.nav-link::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--clay);
  transition:width .22s ease;
}
nav.primary a.nav-link:hover::after{width:100%}
.nav-cta{margin-left:6px}
.menu-btn{
  display:none;background:none;border:1.5px solid var(--ink);border-radius:10px;
  width:44px;height:44px;cursor:pointer;color:var(--ink);
  align-items:center;justify-content:center;
}
.menu-btn svg{width:21px;height:21px}
.menu-btn .icon-x{display:none}
@media(max-width:1020px){
  nav.primary{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    flex-direction:column;align-items:flex-start;gap:4px;padding:18px 28px 26px;
    box-shadow:0 24px 40px -20px rgba(32,38,31,.3);
  }
  body.nav-open nav.primary{display:flex}
  nav.primary a.nav-link{font-size:17px;padding:10px 0;width:100%;border-bottom:1px solid var(--sand)}
  .nav-cta{margin:14px 0 0}
  .menu-btn{display:flex}
  body.nav-open .menu-btn .icon-x{display:block}
  body.nav-open .menu-btn .icon-menu{display:none}
}
@media(max-width:560px){.brand-tag{display:none}}

/* ============ Hero ============ */
.hero{padding:72px 0 64px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(40px,5.2vw,62px);margin-bottom:26px}
.hero .sub{font-size:18.5px;color:var(--ink-soft);max-width:560px;margin-bottom:18px}
.hero .sub-2{font-size:15.5px;color:var(--ink-soft);max-width:540px;margin-bottom:34px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-visual{position:relative}
.hero-frame{position:relative;border-radius:20px}
.hero-frame .ph{border-radius:20px;aspect-ratio:5/6;box-shadow:var(--shadow)}
.hero-frame::before{
  content:'';position:absolute;inset:0;border:2px solid var(--clay);border-radius:20px;
  transform:translate(16px,16px);z-index:0;pointer-events:none;
}
.hero-frame>*{position:relative;z-index:1}
.hero-caption{
  position:absolute;left:-26px;bottom:36px;z-index:2;
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:14px 18px;max-width:250px;box-shadow:var(--shadow);
}
.hero-caption .cap-t{font-family:var(--serif);font-size:15px;font-weight:600;line-height:1.3}
.hero-caption .cap-s{font-size:12.5px;color:var(--ink-soft);margin-top:4px}
.hero-badge{
  position:absolute;right:-18px;top:34px;z-index:2;
  background:var(--pine);color:var(--cream);border-radius:14px;padding:12px 18px;
  display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);
}
.hero-badge svg{width:20px;height:20px;color:#D9A66C}
.hero-badge b{font-family:var(--serif);font-size:18px}
.hero-badge span{font-size:12px;opacity:.85;line-height:1.3}
@media(max-width:980px){
  .hero{padding:52px 0 48px}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-visual{max-width:520px}
  .hero-caption{left:12px}
  .hero-badge{right:6px}
}

/* Stats strip */
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.stat{padding:30px 26px;border-left:1px solid var(--line)}
.stat:first-child{border-left:none}
.stat b{display:block;font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:600;color:var(--pine)}
.stat span{font-size:13.5px;color:var(--ink-soft);letter-spacing:.02em}
@media(max-width:760px){
  .stats .wrap{grid-template-columns:repeat(2,1fr)}
  .stat{border-left:none;border-top:1px solid var(--line);padding:22px 8px}
  .stat:nth-child(-n+2){border-top:none}
  .stat:nth-child(even){border-left:1px solid var(--line)}
}

/* ============ Sections ============ */
.section{padding:96px 0}
.section.alt{background:var(--paper-2)}

/* Services — editorial index */
.services-grid{display:grid;grid-template-columns:380px 1fr;gap:70px;align-items:start}
.services-left{position:sticky;top:130px}
.services-left p{color:var(--ink-soft);margin-top:18px;font-size:16.5px}
.services-left .btn{margin-top:28px}
.svc-list{list-style:none;counter-reset:svc}
.svc-item{
  display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:start;
  padding:30px 6px;border-top:1px solid var(--line);
  transition:background .2s ease;border-radius:0;
}
.svc-item:last-child{border-bottom:1px solid var(--line)}
.svc-item:hover{background:rgba(224,213,192,.35)}
.svc-num{font-family:var(--serif);font-size:21px;color:var(--clay);font-weight:600;padding-top:2px}
.svc-body h3{font-size:22px;margin-bottom:8px}
.svc-body p{color:var(--ink-soft);font-size:15.5px;max-width:560px}
.svc-body .arrow-link{margin-top:12px}
.svc-item .svc-ic{
  width:46px;height:46px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--pine);
  background:var(--card);margin-top:2px;
}
.svc-item .svc-ic svg{width:20px;height:20px}
@media(max-width:1000px){
  .services-grid{grid-template-columns:1fr;gap:40px}
  .services-left{position:static}
}
@media(max-width:640px){
  .svc-item{grid-template-columns:44px 1fr}
  .svc-item .svc-ic{display:none}
}

/* Programs — mosaic */
.prog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:44px;flex-wrap:wrap}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:150px;gap:16px}
.mcard{position:relative;border-radius:18px;overflow:hidden}
.mcard .scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(18,50,39,0) 30%,rgba(18,50,39,.86) 100%);
}
.mcard .mc-text{position:absolute;left:26px;right:26px;bottom:22px;z-index:2;color:var(--cream)}
.mcard .mc-text h3{font-size:24px;margin-bottom:6px}
.mcard .mc-text .meta{font-size:13.5px;opacity:.88;margin-bottom:14px}
.mcard .mc-tag{
  position:absolute;top:20px;left:22px;z-index:2;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(246,241,232,.92);color:var(--pine);padding:6px 12px;border-radius:999px;
}
.m1{grid-column:span 7;grid-row:span 2}
.m2,.m3{grid-column:span 5}
.m4{grid-column:span 12;display:grid;grid-template-columns:1fr auto;align-items:center}
.m4 .mc-text{position:static;padding:0 26px;z-index:2}
.m4 .mc-text h3{font-size:22px}
.m4 .mc-tag{position:static;margin:0 0 0 26px;align-self:center}
.m4 .btn{margin-right:26px;margin-bottom:22px;z-index:2;position:relative}
.m4 .scrim{background:linear-gradient(180deg,rgba(18,50,39,.1),rgba(18,50,39,.78))}
@media(max-width:880px){
  .m1,.m2,.m3{grid-column:span 12;grid-row:span 1}
  .m1{grid-row:span 1}
  .m4{grid-template-columns:1fr}
  .m4 .mc-tag{display:none}
  .m4 .btn{margin:0 26px 22px;justify-self:start}
}

/* ============ Wellness Check (interactive) ============ */
.check-band{background:var(--pine-deep);color:var(--cream);padding:100px 0}
.check-band .kicker{color:#D9A66C}
.check-band .kicker::before{background:#D9A66C}
.check-band .kicker .idx{color:rgba(246,241,232,.6)}
.check-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.check-copy h2{font-size:clamp(30px,4vw,44px);color:var(--cream)}
.check-copy p{color:rgba(246,241,232,.78);margin-top:18px;max-width:480px;font-size:16.5px}
.check-points{list-style:none;margin-top:30px;display:grid;gap:14px}
.check-points li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:rgba(246,241,232,.9)}
.check-points svg{width:18px;height:18px;color:#D9A66C;flex-shrink:0;margin-top:3px}
.check-card{
  background:var(--card);color:var(--ink);border-radius:20px;padding:34px 36px 30px;
  box-shadow:0 30px 60px -24px rgba(0,0,0,.5);min-height:420px;
  display:flex;flex-direction:column;
}
.check-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.check-step{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--clay)}
.check-brandline{font-size:12px;color:var(--ink-soft)}
.check-progress{height:5px;background:var(--sand);border-radius:99px;overflow:hidden;margin-bottom:26px}
.check-progress span{display:block;height:100%;background:var(--clay);width:0;border-radius:99px;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.check-q{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.25;margin-bottom:22px}
.check-opts{display:grid;gap:10px}
.opt-btn{
  text-align:left;font-family:var(--sans);font-size:15.5px;font-weight:500;
  padding:14px 18px;border-radius:12px;border:1.5px solid var(--line);
  background:transparent;color:var(--ink);cursor:pointer;
  transition:border-color .15s ease,background .15s ease,color .15s ease,transform .15s ease;
}
.opt-btn:hover{border-color:var(--pine);background:rgba(30,74,56,.06)}
.opt-btn.selected{background:var(--pine);border-color:var(--pine);color:var(--cream)}
.check-footer{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center}
.check-back{
  background:none;border:none;cursor:pointer;color:var(--ink-soft);
  font-family:var(--sans);font-size:14px;font-weight:600;
  display:inline-flex;align-items:center;gap:7px;padding:6px 0;
}
.check-back svg{width:15px;height:15px}
.check-back:hover{color:var(--ink)}
.check-note{font-size:12px;color:var(--ink-soft)}
.check-intro h3{font-size:26px;margin-bottom:12px}
.check-intro p{color:var(--ink-soft);font-size:15.5px;margin-bottom:24px}
.check-intro .facts{display:grid;gap:10px;margin-bottom:28px}
.check-intro .facts div{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--ink-soft)}
.check-intro .facts svg{width:16px;height:16px;color:var(--clay)}
/* Result */
.result-grid{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center}
.gauge{position:relative;width:210px}
.gauge svg{width:100%;display:block}
.gauge .g-num{
  position:absolute;left:0;right:0;bottom:8px;text-align:center;
  font-family:var(--serif);font-weight:600;font-size:52px;line-height:1;color:var(--pine);
}
.gauge .g-num small{font-size:16px;color:var(--ink-soft);font-family:var(--sans);font-weight:600}
.g-band{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--clay);margin-bottom:6px}
.g-verdict{font-family:var(--serif);font-size:19px;line-height:1.35;margin-bottom:16px}
.g-break{margin:6px 0 18px;display:grid;gap:8px}
.g-break .row{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13.5px;color:var(--ink-soft)}
.g-break .dots{display:flex;gap:5px}
.g-break .dot{width:9px;height:9px;border-radius:50%;background:var(--sand)}
.g-break .dot.on{background:var(--clay)}
.g-tips{display:grid;gap:12px;margin:14px 0 24px}
.g-tip{display:flex;gap:13px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.g-tip svg{width:18px;height:18px;color:var(--clay);flex-shrink:0;margin-top:3px}
.g-tip b{font-size:14.5px;display:block;margin-bottom:2px}
.g-tip span{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
.result-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:980px){
  .check-grid{grid-template-columns:1fr;gap:44px}
  .check-copy p{max-width:640px}
}
@media(max-width:620px){
  .check-card{padding:26px 22px}
  .result-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
  .g-break .row{justify-content:center}
  .g-tip{text-align:left}
  .result-actions{justify-content:center}
}

/* ============ Nutrition ============ */
.nutri-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.nutri-visual{position:relative}
.nutri-visual .ph{border-radius:20px;aspect-ratio:4/5;box-shadow:var(--shadow)}
.nutri-visual::before{
  content:'';position:absolute;inset:0;border:2px solid var(--pine);
  border-radius:20px;transform:translate(-16px,16px);pointer-events:none;
}
.kitchen-card{
  position:absolute;right:-20px;bottom:-26px;z-index:2;
  background:var(--pine);color:var(--cream);border-radius:16px;padding:20px 22px;
  max-width:300px;box-shadow:var(--shadow);
}
.kitchen-card .kk{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#D9A66C;margin-bottom:8px}
.kitchen-card h4{font-family:var(--serif);font-size:17.5px;font-weight:600;line-height:1.3;margin-bottom:10px}
.kitchen-card .arrow-link{color:var(--cream)}
.kitchen-card .arrow-link:hover{color:#D9A66C}
.nutri-copy p{color:var(--ink-soft);margin-top:16px;font-size:16.5px}
.nutri-list{list-style:none;margin-top:26px;display:grid;gap:13px}
.nutri-list li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.nutri-list svg{width:19px;height:19px;color:var(--clay);flex-shrink:0;margin-top:2px}
.nutri-copy .btn{margin-top:30px}
@media(max-width:980px){
  .nutri-grid{grid-template-columns:1fr;gap:56px}
  .nutri-visual{max-width:520px}
  .kitchen-card{right:10px;bottom:-24px}
}

/* ============ Field Notes (journal) ============ */
.journal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:start;margin-top:20px}
.feat-card{display:block;text-decoration:none;color:inherit}
.feat-card .ph{border-radius:18px;aspect-ratio:16/10;margin-bottom:22px;box-shadow:var(--shadow)}
.tag{
  display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clay);border:1px solid rgba(192,90,54,.4);border-radius:999px;padding:5px 12px;
}
.feat-card h3{font-size:27px;margin:14px 0 12px;transition:color .2s ease}
.feat-card:hover h3{color:var(--clay)}
.feat-card p{color:var(--ink-soft);font-size:15.5px;max-width:560px}
.feat-meta{margin-top:14px;font-size:13.5px;color:var(--ink-soft);display:flex;gap:8px;align-items:center}
.feat-meta::before{content:'';width:22px;height:1px;background:var(--clay)}
.aside-head{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);
  padding-bottom:14px;border-bottom:2px solid var(--ink)}
.j-item{display:block;text-decoration:none;padding:20px 4px;border-bottom:1px solid var(--line)}
.j-item .j-meta{display:flex;gap:12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);font-weight:700;margin-bottom:8px}
.j-item .j-meta span:last-child{color:var(--ink-soft);font-weight:500;letter-spacing:.04em;text-transform:none}
.j-item h4{font-family:var(--serif);font-size:20px;font-weight:600;line-height:1.3;transition:color .2s ease}
.j-item:hover h4{color:var(--clay)}
.j-all{margin-top:20px;display:inline-flex}
@media(max-width:980px){.journal-grid{grid-template-columns:1fr;gap:44px}}

/* ============ Providers ============ */
.prov-list{margin-top:36px;border-top:1px solid var(--line)}
.prov-row{
  display:grid;grid-template-columns:76px 1fr auto;gap:24px;align-items:center;
  padding:26px 6px;border-bottom:1px solid var(--line);
}
.prov-row img{width:68px;height:68px;border-radius:50%;border:2px solid var(--sand);object-fit:cover}
.prov-info h3{font-size:21px}
.prov-info .creds{font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin:2px 0 8px}
.prov-info p{font-size:15px;color:var(--ink-soft);max-width:600px}
.prov-right{text-align:right;display:grid;gap:10px;justify-items:end}
.prov-avail{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-soft)}
.prov-avail svg{width:15px;height:15px;color:var(--pine)}
@media(max-width:760px){
  .prov-row{grid-template-columns:60px 1fr;gap:16px}
  .prov-row img{width:54px;height:54px}
  .prov-right{grid-column:1/-1;justify-items:start;text-align:left;padding-top:4px}
}

/* ============ Testimonials ============ */
.testi-band{background:var(--paper-2)}
.testi-inner{max-width:820px;margin:0 auto;text-align:center}
.testi-inner .kicker{justify-content:center}
.testi-inner .kicker::after{content:'';width:30px;height:2px;background:var(--clay)}
.quote-ic svg{width:40px;height:40px;color:var(--clay);margin-bottom:18px}
#quoteText{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,3vw,28px);line-height:1.42;color:var(--ink)}
#quoteAuthor{margin-top:24px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--pine)}
#quoteAuthor span{color:var(--ink-soft);font-weight:500;letter-spacing:.02em;text-transform:none}
.quote-box{transition:opacity .45s ease}
.quote-box.fading{opacity:0}
.q-dots{display:flex;gap:10px;justify-content:center;margin-top:30px}
.q-dot{width:10px;height:10px;border-radius:50%;border:none;background:var(--sand);cursor:pointer;padding:0;transition:background .2s ease,transform .2s ease}
.q-dot.on{background:var(--clay);transform:scale(1.25)}

/* ============ FAQ ============ */
.faq-wrap{max-width:840px;margin:40px auto 0}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  padding:24px 6px;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);
}
.faq-q:hover{color:var(--clay)}
.faq-ic{
  flex-shrink:0;width:34px;height:34px;border:1.5px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--pine);
  transition:transform .3s ease,background .3s ease,color .3s ease;
}
.faq-ic svg{width:16px;height:16px}
.faq-item.open .faq-ic{transform:rotate(45deg);background:var(--pine);color:var(--cream);border-color:var(--pine)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.7,.2,1)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 6px 26px;color:var(--ink-soft);font-size:15.5px;max-width:700px}

/* ============ Booking ============ */
.book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.book-copy p{color:var(--ink-soft);margin-top:16px;font-size:16.5px}
.hours-card{margin-top:30px;border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.hours-card .hc-head{
  background:var(--pine);color:var(--cream);padding:13px 20px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  display:flex;align-items:center;gap:9px;
}
.hours-card .hc-head svg{width:15px;height:15px;color:#D9A66C}
.hours-card .hc-body{padding:18px 20px;display:grid;gap:10px;font-size:14.5px}
.hours-card .hc-row{display:flex;justify-content:space-between;gap:14px}
.hours-card .hc-row span:first-child{color:var(--ink-soft)}
.hours-card .hc-row span:last-child{font-weight:600}
.promise{
  margin-top:20px;display:flex;gap:12px;align-items:center;
  font-size:14px;color:var(--ink-soft);
}
.promise svg{width:18px;height:18px;color:var(--clay);flex-shrink:0}
.promise b{color:var(--ink)}
.book-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow)}
.book-card.flash{animation:flash 1.1s ease}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(192,90,54,.5)}70%{box-shadow:0 0 0 9px rgba(192,90,54,0)}100%{box-shadow:var(--shadow)}}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.f-field{display:grid;gap:7px}
.f-field.full{grid-column:1/-1}
.f-field label{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.f-field label i{font-style:normal;color:var(--clay)}
.f-field input,.f-field select,.f-field textarea{
  font-family:var(--sans);font-size:15px;color:var(--ink);
  background:#FBF8F0;border:1.5px solid var(--line);border-radius:10px;
  padding:12px 14px;width:100%;transition:border-color .2s ease,box-shadow .2s ease;
}
.f-field textarea{resize:vertical;min-height:88px}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{
  outline:none;border-color:var(--pine);box-shadow:0 0 0 3px rgba(30,74,56,.15);
}
.f-field .f-err{font-size:12.5px;color:var(--clay-deep);display:none}
.f-field.invalid input,.f-field.invalid select{border-color:var(--clay-deep)}
.f-field.invalid .f-err{display:block}
.form-foot{font-size:12.5px;color:var(--ink-soft);margin:6px 0 20px}
.form-foot a{color:var(--pine)}
.success-box{text-align:center;padding:26px 8px}
.success-box .s-ic{
  width:66px;height:66px;border-radius:50%;background:var(--pine);color:var(--cream);
  display:flex;align-items:center;justify-content:center;margin:0 auto 22px;
}
.success-box .s-ic svg{width:30px;height:30px}
.success-box h3{font-size:26px;margin-bottom:10px}
.success-box .ref{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);margin-bottom:14px}
.success-box p{color:var(--ink-soft);font-size:15.5px;max-width:420px;margin:0 auto 24px}
@media(max-width:980px){.book-grid{grid-template-columns:1fr;gap:44px}}
@media(max-width:600px){.f-row{grid-template-columns:1fr}.book-card{padding:26px 22px}}

/* ============ Footer ============ */
footer.site{background:#16241C;color:rgba(246,241,232,.82)}
.foot-top{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:48px;padding:70px 0 54px}
.foot-brand img{width:48px;height:48px;border-radius:12px;margin-bottom:18px}
.foot-brand .fb-name{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--cream)}
.foot-brand .fb-tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#D9A66C;margin:4px 0 14px}
.foot-brand p{font-size:14px;max-width:300px;line-height:1.7}
.socials{display:flex;gap:10px;margin-top:22px}
.socials a{
  width:38px;height:38px;border:1px solid rgba(246,241,232,.28);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:rgba(246,241,232,.85);
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.socials a:hover{background:var(--clay);border-color:var(--clay);color:#fff}
.socials svg{width:16px;height:16px}
.foot-col h4{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);margin-bottom:20px}
.foot-col ul{list-style:none;display:grid;gap:11px}
.foot-col a{font-size:14.5px;text-decoration:none;color:rgba(246,241,232,.72);transition:color .2s ease}
.foot-col a:hover{color:#D9A66C}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:rgba(246,241,232,.72)}
.foot-contact svg{width:16px;height:16px;color:#D9A66C;flex-shrink:0;margin-top:3px}
.foot-news{
  border-top:1px solid rgba(246,241,232,.15);padding:34px 0;
  display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;
}
.foot-news .fn-copy b{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--cream);display:block;margin-bottom:5px}
.foot-news .fn-copy span{font-size:14px;color:rgba(246,241,232,.65)}
.news-form{display:flex;gap:10px;min-width:min(430px,100%)}
.news-form input{
  flex:1;background:rgba(246,241,232,.08);border:1px solid rgba(246,241,232,.25);
  border-radius:999px;padding:12px 20px;color:var(--cream);font-family:var(--sans);font-size:14.5px;
}
.news-form input::placeholder{color:rgba(246,241,232,.45)}
.news-form input:focus{outline:none;border-color:#D9A66C}
.news-ok{font-size:14px;color:#D9A66C;display:flex;align-items:center;gap:8px}
.news-ok svg{width:17px;height:17px}
.foot-bottom{
  border-top:1px solid rgba(246,241,232,.15);padding:24px 0;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-size:13px;color:rgba(246,241,232,.55);
}
.foot-bottom .legal{display:flex;gap:24px}
.foot-bottom a{color:rgba(246,241,232,.7);text-decoration:none}
.foot-bottom a:hover{color:#D9A66C}
@media(max-width:980px){.foot-top{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:600px){.foot-top{grid-template-columns:1fr}.foot-news{flex-direction:column;align-items:flex-start}}

/* Toast */
#toastZone{position:fixed;bottom:26px;right:26px;z-index:300;display:grid;gap:10px}
.toast{
  background:var(--ink);color:var(--cream);padding:14px 20px;border-radius:12px;
  font-size:14px;box-shadow:0 16px 40px -12px rgba(0,0,0,.5);
  display:flex;align-items:center;gap:11px;max-width:340px;
  animation:toastIn .35s cubic-bezier(.2,.7,.2,1);
}
.toast svg{width:17px;height:17px;color:#D9A66C;flex-shrink:0}
.toast.out{animation:toastOut .3s ease forwards}
@keyframes toastIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes toastOut{to{opacity:0;transform:translateY(10px)}}

@media(max-width:760px){
  .section{padding:68px 0}
  .check-band{padding:72px 0}
}
</style>
</head>
<body>
<a class="skip-link" href="#main">Skip to main content</a>

<!-- Utility topbar -->
<div class="topbar">
  <div class="wrap">
    <div class="note"><i data-lucide="sparkles"></i><span>Now accepting new patients — same-week appointments available.</span></div>
    <div class="topbar-right">
      <a href="tel:+15035550148"><i data-lucide="phone"></i>(503) 555-0148</a>
      <a href="#book" class="portal"><i data-lucide="shield-check"></i>Patient Portal</a>
    </div>
  </div>
</div>

<!-- Header -->
<header class="site" id="siteHeader">
  <div class="wrap header-in">
    <a class="brand" href="#top">
      <img src="https://placehold.co/96x96/1E4A38/F6F1E8?text=V&font=playfair+display" alt="Vitalis Health Collective logo" width="52" height="52">
      <span>
        <span class="brand-name">Vitalis Health Collective</span>
        <span class="brand-tag">Where clinical care meets everyday vitality</span>
      </span>
    </a>
    <nav class="primary" id="primaryNav" aria-label="Primary">
      <a class="nav-link" href="#services">Services</a>
      <a class="nav-link" href="#programs">Programs</a>
      <a class="nav-link" href="#nutrition">Nutrition</a>
      <a class="nav-link" href="#journal">Blog</a>
      <a class="nav-link" href="#providers">Find Provider</a>
      <a class="nav-link" href="#top">About</a>
      <a class="btn btn-solid btn-sm nav-cta" href="#book">Appointments <i data-lucide="arrow-right" class="arrow"></i></a>
    </nav>
    <button class="menu-btn" id="menuBtn" aria-label="Toggle navigation" aria-expanded="false" aria-controls="primaryNav">
      <i data-lucide="menu" class="icon-menu"></i>
      <i data-lucide="x" class="icon-x"></i>
    </button>
  </div>
</header>

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

<!-- ============ HERO ============ -->
<section class="hero">
  <div class="wrap hero-grid">
    <div class="reveal in">
      <div class="kicker">Integrative medicine · Fitness · Nutrition — Portland, OR</div>
      <h1>One care team for your body, your plate, and your <em class="accent">peace of mind.</em></h1>
      <p class="sub">Vitalis Health Collective unites board-certified physicians, physical therapists, registered dietitians, and certified coaches under one roof — so your health assessment, your treatment plan, and your training program finally talk to each other.</p>
      <p class="sub-2">From preventive screenings and chronic care to small-group strength classes and nutrition counseling, everything here is built around a single belief: holistic wellness isn't a luxury. It's a system.</p>
      <div class="hero-ctas">
        <a class="btn btn-solid" href="#book">Book an Appointment <i data-lucide="arrow-right" class="arrow"></i></a>
        <a class="btn btn-ghost" href="#check">Take the 60-Second Wellness Check</a>
      </div>
    </div>
    <div class="hero-visual reveal in">
      <div class="hero-frame">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-clinic/900/1080" alt="Inside the Vitalis Health Collective clinic" width="900" height="1080"></div>
        <div class="hero-caption">
          <div class="cap-t">Our Meridian Row clinic</div>
          <div class="cap-s">Exam rooms, a rehab gym, and a teaching kitchen — designed for care, not waiting.</div>
        </div>
        <div class="hero-badge">
          <i data-lucide="heart-pulse"></i>
          <div><b>4.9/5</b><br><span>patient satisfaction</span></div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- Stats strip -->
<section class="stats">
  <div class="wrap" data-stagger>
    <div class="stat"><b>26</b><span>clinicians, therapists &amp; coaches on one team</span></div>
    <div class="stat"><b>14,000+</b><span>patient &amp; member visits every year</span></div>
    <div class="stat"><b>92%</b><span>of patients seen within 48 hours of requesting</span></div>
    <div class="stat"><b>12 yrs</b><span>caring for Portland families, one plan at a time</span></div>
  </div>
</section>

<!-- ============ SERVICES ============ -->
<section class="section" id="services">
  <div class="wrap services-grid">
    <div class="services-left reveal">
      <div class="kicker"><span class="idx">01</span> Integrated Services</div>
      <h2 style="font-size:clamp(30px,3.6vw,42px)">Six specialties. One connected plan.</h2>
      <p>Most health journeys break into fragments — a prescription here, a gym membership there, advice that never quite adds up. At Vitalis, your primary-care physician can walk your case straight to the physical therapist down the hall, and your strength coach reads the same notes. That's what integrated care actually means.</p>
      <a class="btn btn-ghost" href="#providers">Meet the Care Team <i data-lucide="arrow-right" class="arrow"></i></a>
    </div>
    <ol class="svc-list" data-stagger>
      <li class="svc-item">
        <span class="svc-num">01</span>
        <div class="svc-body">
          <h3>Primary &amp; Preventive Care</h3>
          <p>Annual physicals, evidence-based screenings, immunizations, and same-week sick visits — the routine work that keeps small problems small. Every exam includes a personal health assessment, so your baselines are documented and tracked year over year.</p>
          <a class="arrow-link go" href="#book">Learn More <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="stethoscope"></i></span>
      </li>
      <li class="svc-item">
        <span class="svc-num">02</span>
        <div class="svc-body">
          <h3>Chronic Care Management</h3>
          <p>Living well with diabetes, hypertension, asthma, or thyroid conditions takes more than a quarterly check-in. Our chronic care teams build structured plans with medication management, at-home monitoring, and reviews with your full care circle — so your numbers trend the right way.</p>
          <a class="arrow-link go" href="#book">Learn More <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="heart-pulse"></i></span>
      </li>
      <li class="svc-item">
        <span class="svc-num">03</span>
        <div class="svc-body">
          <h3>Comprehensive Health Assessments</h3>
          <p>A 90-minute deep dive that goes far beyond an annual physical: metabolic panels, body-composition analysis, cardiorespiratory testing, and a full sleep-and-stress review — ending with a written action plan you build together with your clinician.</p>
          <a class="arrow-link go" href="#check">Try the Mini Version <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="activity"></i></span>
      </li>
      <li class="svc-item">
        <span class="svc-num">04</span>
        <div class="svc-body">
          <h3>Physical Therapy &amp; Rehabilitation</h3>
          <p>From post-operative recovery to the shoulder that never quite healed, our doctors of physical therapy pair hands-on treatment with progressive loading plans — and coordinate directly with our strength coaches for your return to training.</p>
          <a class="arrow-link go" href="#book">Learn More <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="dumbbell"></i></span>
      </li>
      <li class="svc-item">
        <span class="svc-num">05</span>
        <div class="svc-body">
          <h3>Nutrition Counseling</h3>
          <p>Registered dietitians, not algorithms. Whether you're managing GI symptoms, fueling a race, or untangling decades of diet noise, sessions are practical, personal, and grounded in metabolic science — built around the week you actually have.</p>
          <a class="arrow-link go" href="#nutrition">Learn More <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="apple"></i></span>
      </li>
      <li class="svc-item">
        <span class="svc-num">06</span>
        <div class="svc-body">
          <h3>Mental &amp; Behavioral Health</h3>
          <p>Therapy, stress management, and sleep-hygiene programs that treat the mind as part of the body — because it is. Sessions are brief, focused, and scheduled so help arrives within days, not months.</p>
          <a class="arrow-link go" href="#book">Learn More <i data-lucide="arrow-right"></i></a>
        </div>
        <span class="svc-ic"><i data-lucide="brain"></i></span>
      </li>
    </ol>
  </div>
</section>

<!-- ============ PROGRAMS ============ -->
<section class="section alt" id="programs">
  <div class="wrap">
    <div class="prog-head">
      <div class="section-head reveal">
        <div class="kicker"><span class="idx">02</span> MoveWell Studios</div>
        <h2>Training programs with a clinician's fingerprints on them.</h2>
        <p class="lede">Every Vitalis program is designed or reviewed by our medical team — sensible progressions, real coaching, and class sizes capped at ten. No bootcamps, no burnout, no ego.</p>
      </div>
      <a class="btn btn-ghost reveal" href="#book">View Full Schedule <i data-lucide="arrow-right" class="arrow"></i></a>
    </div>
    <div class="mosaic" data-stagger>
      <div class="mcard m1">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-strength/1000/760" alt="Strength Foundations small-group training" loading="lazy"></div>
        <div class="scrim"></div>
        <span class="mc-tag">8-Week Program</span>
        <div class="mc-text">
          <h3>Strength Foundations</h3>
          <div class="meta">Progressive barbell &amp; dumbbell training · 10 spots max · Tue &amp; Thu, 6:15 AM &amp; 5:45 PM</div>
          <button class="btn btn-clay btn-sm book-class" data-book="class"><i data-lucide="calendar-check"></i> Book Class</button>
        </div>
      </div>
      <div class="mcard m2">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-mobility/900/700" alt="Restorative Mobility class" loading="lazy"></div>
        <div class="scrim"></div>
        <span class="mc-tag">Drop-In Friendly</span>
        <div class="mc-text">
          <h3>Restorative Mobility</h3>
          <div class="meta">Yoga–mobility hybrid for desk-tired bodies · Mon &amp; Wed, 7:00 AM</div>
          <button class="btn btn-clay btn-sm book-class" data-book="class"><i data-lucide="calendar-check"></i> Book Class</button>
        </div>
      </div>
      <div class="mcard m3">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-cardio/900/700" alt="Cardio Engine heart-rate guided session" loading="lazy"></div>
        <div class="scrim"></div>
        <span class="mc-tag">Heart-Rate Guided</span>
        <div class="mc-text">
          <h3>Cardio Engine</h3>
          <div class="meta">Zone-2 base work plus interval blocks · Saturdays, 8:30 AM</div>
          <button class="btn btn-clay btn-sm book-class" data-book="class"><i data-lucide="calendar-check"></i> Book Class</button>
        </div>
      </div>
      <div class="mcard m4">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-runclub/1600/420" alt="Vitalis Run Club on a Portland morning" loading="lazy"></div>
        <div class="scrim"></div>
        <span class="mc-tag">Free · All Paces</span>
        <div class="mc-text">
          <h3>Run Club</h3>
          <div class="meta">Coached group runs with our sports-medicine team · Sundays, 8:00 AM, from the clinic doors</div>
          <button class="btn btn-clay btn-sm book-class" data-book="class"><i data-lucide="calendar-check"></i> Book Class</button>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ WELLNESS CHECK (interactive) ============ -->
<section class="check-band" id="check">
  <div class="wrap check-grid">
    <div class="check-copy reveal">
      <div class="kicker"><span class="idx">03</span> The Vitalis Wellness Check</div>
      <h2>Sixty seconds to a clearer picture of your health.</h2>
      <p>Five quick questions across the same pillars we measure in clinic — sleep, movement, nutrition, stress, and connection. You'll get a wellness score, an honest read on where to focus first, and a couple of concrete next steps.</p>
      <ul class="check-points">
        <li><i data-lucide="shield-check"></i>Modeled on our clinical intake — reviewed by our medical team, not a marketing quiz.</li>
        <li><i data-lucide="lock" ></i>No account, no email required. Everything runs on this page; nothing is stored or sent.</li>
        <li><i data-lucide="stethoscope"></i>Your result maps directly to real services here — so "what now?" always has an answer.</li>
      </ul>
    </div>
    <div class="check-card reveal" id="checkCard" aria-live="polite">
      <!-- rendered by JS -->
    </div>
  </div>
</section>

<!-- ============ NUTRITION ============ -->
<section class="section" id="nutrition">
  <div class="wrap nutri-grid">
    <div class="nutri-visual reveal">
      <div class="ph"><img src="https://picsum.photos/seed/vitalis-nutrition/980/1100" alt="Fresh ingredients in the Vitalis teaching kitchen" loading="lazy"></div>
      <div class="kitchen-card">
        <div class="kk">This Week · Teaching Kitchen</div>
        <h4>"Weeknight Mediterranean, Five Ways" — Thursday 6 PM, groceries included.</h4>
        <button class="arrow-link book-class" data-book="class">Book Class <i data-lucide="arrow-right"></i></button>
      </div>
    </div>
    <div class="nutri-copy reveal">
      <div class="kicker"><span class="idx">04</span> Nutrition &amp; Health Education</div>
      <h2 style="font-size:clamp(30px,3.6vw,42px)">Food, treated as seriously as medicine.</h2>
      <p>Nutrition is where most health plans quietly fail. You leave the appointment with "eat better" ringing in your ears and absolutely no idea what that means on a Tuesday night when work ran late and the fridge is empty. We think that failure is a design problem — so we redesigned it.</p>
      <p>Our registered dietitians work from your labs, your history, and your actual week — never a photocopied 1,200-calorie handout. The goal is a nutrition framework you can run on for years: stable metabolic health, a calmer gut, smarter fueling for the training you love, and family meals that don't require a second kitchen or a second job.</p>
      <ul class="nutri-list">
        <li><i data-lucide="check-circle-2"></i><span><b>Medical nutrition therapy</b> for diabetes, hypertension, and heart health — coordinated with your physician's plan.</span></li>
        <li><i data-lucide="check-circle-2"></i><span><b>Gut health programs</b> using structured elimination and guided reintroduction, tracked against your symptoms.</span></li>
        <li><i data-lucide="check-circle-2"></i><span><b>Performance fueling</b> for endurance athletes, built and periodized alongside your training calendar.</span></li>
        <li><i data-lucide="check-circle-2"></i><span><b>Household meal systems</b> — realistic weekly templates, budget planning, and the teaching-kitchen skills to back them up.</span></li>
      </ul>
      <a class="btn btn-solid" href="#book" data-book="nutrition">Join Program — Nutrition Counseling <i data-lucide="arrow-right" class="arrow"></i></a>
    </div>
  </div>
</section>

<!-- ============ FIELD NOTES (blog) ============ -->
<section class="section alt" id="journal">
  <div class="wrap">
    <div class="section-head reveal">
      <div class="kicker"><span class="idx">05</span> Field Notes — the Vitalis Journal</div>
      <h2>Health education you can actually use.</h2>
      <p class="lede">Written by our clinicians between patients. No wellness-industry hype, no miracle foods — just the evidence, translated into plain English and things you can try this week.</p>
    </div>
    <div class="journal-grid">
      <a class="feat-card reveal" href="#journal">
        <div class="ph"><img src="https://picsum.photos/seed/vitalis-bp/1200/750" alt="Featured article on understanding blood pressure numbers" loading="lazy"></div>
        <span class="tag">Chronic Care</span>
        <h3>What your blood-pressure numbers actually mean (and what to do about them)</h3>
        <p>"120 over 80" gets repeated like a phone number, but the two numbers tell different stories about your heart and your arteries. Dr. Marsh walks through what each one measures, where the new guidelines draw the lines, and which levers — besides medication — genuinely move them.</p>
        <div class="feat-meta">By Dr. Elena Marsh, MD · 8 min read</div>
      </a>
      <aside class="reveal">
        <div class="aside-head">More from the journal</div>
        <a class="j-item" href="#journal">
          <div class="j-meta"><span>Training</span><span>6 min read</span></div>
          <h4>Zone 2: the unglamorous training zone that changes everything</h4>
        </a>
        <a class="j-item" href="#journal">
          <div class="j-meta"><span>Nutrition</span><span>5 min read</span></div>
          <h4>The fiber gap: why 90% of us miss by 15 grams a day</h4>
        </a>
        <a class="j-item" href="#journal">
          <div class="j-meta"><span>Sleep Science</span><span>7 min read</span></div>
          <h4>Sleep debt is real — here's how repayment actually works</h4>
        </a>
        <a class="arrow-link go j-all" href="#journal">View all 142 articles <i data-lucide="arrow-right"></i></a>
      </aside>
    </div>
  </div>
</section>

<!-- ============ PROVIDERS ============ -->
<section class="section" id="providers">
  <div class="wrap">
    <div class="section-head reveal">
      <div class="kicker"><span class="idx">06</span> Find Provider</div>
      <h2>Meet the people who'll know your name.</h2>
      <p class="lede">You choose your own primary provider, and your broader care circle is assembled around your goals — never assigned by lottery. Every clinician here practices what the building preaches.</p>
    </div>
    <div class="prov-list" data-stagger>
      <div class="prov-row">
        <img src="https://i.pravatar.cc/160?u=elena-marsh" alt="Dr. Elena Marsh" loading="lazy">
        <div class="prov-info">
          <h3>Dr. Elena Marsh</h3>
          <div class="creds">MD, FACP · Internal Medicine &amp; Chronic Care</div>
          <p>Sixteen years in internal medicine; her chronic-care panels read like family albums. Trained at OHSU, she joined Vitalis to practice medicine with time — 40-minute follow-ups are the standard in her office.</p>
        </div>
        <div class="prov-right">
          <div class="prov-avail"><i data-lucide="calendar"></i>Next openings: Tue &amp; Thu afternoons</div>
          <button class="btn btn-solid btn-sm book-class" data-book="primary" data-provider="Dr. Elena Marsh">Book with Dr. Marsh</button>
        </div>
      </div>
      <div class="prov-row">
        <img src="https://i.pravatar.cc/160?u=jonah-okafor" alt="Dr. Jonah Okafor" loading="lazy">
        <div class="prov-info">
          <h3>Dr. Jonah Okafor</h3>
          <div class="creds">MD · Sports Medicine</div>
          <p>Team physician for two Portland semipro clubs, Dr. Okafor believes rehab should end with a return-to-play plan, not a discharge sheet. He leads Run Club most Sunday mornings — usually from the front group.</p>
        </div>
        <div class="prov-right">
          <div class="prov-avail"><i data-lucide="calendar"></i>Next openings: Mon &amp; Wed mornings</div>
          <button class="btn btn-solid btn-sm book-class" data-book="pt" data-provider="Dr. Jonah Okafor">Book with Dr. Okafor</button>
        </div>
      </div>
      <div class="prov-row">
        <img src="https://i.pravatar.cc/160?u=marcus-bell" alt="Marcus Bell" loading="lazy">
        <div class="prov-info">
          <h3>Marcus Bell</h3>
          <div class="creds">DPT · Physical Therapy &amp; Rehabilitation</div>
          <p>Post-surgical knees are his specialty; deadlifts are his love language. Marcus designed Strength Foundations after a decade of watching patients finish rehab with nowhere confident to go next.</p>
        </div>
        <div class="prov-right">
          <div class="prov-avail"><i data-lucide="calendar"></i>Next openings: Tue–Fri, all day</div>
          <button class="btn btn-solid btn-sm book-class" data-book="pt" data-provider="Marcus Bell">Book with Marcus</button>
        </div>
      </div>
      <div class="prov-row">
        <img src="https://i.pravatar.cc/160?u=priya-raman" alt="Priya Raman" loading="lazy">
        <div class="prov-info">
          <h3>Priya Raman</h3>
          <div class="creds">RDN, CSSD · Nutrition &amp; GI Health</div>
          <p>A board-certified specialist in sports dietetics, Priya is famous among patients for translating lab panels into grocery lists. She runs the Teaching Kitchen series and firmly believes fiber is a love language too.</p>
        </div>
        <div class="prov-right">
          <div class="prov-avail"><i data-lucide="calendar"></i>Next openings: Mon, Wed &amp; Sat</div>
          <button class="btn btn-solid btn-sm book-class" data-book="nutrition" data-provider="Priya Raman">Book with Priya</button>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ TESTIMONIALS ============ -->
<section class="section testi-band">
  <div class="wrap">
    <div class="testi-inner reveal">
      <div class="kicker"><span class="idx">07</span> Patient Stories</div>
      <div class="quote-ic"><i data-lucide="quote"></i></div>
      <div class="quote-box" id="quoteBox">
        <blockquote id="quoteText"></blockquote>
        <div id="quoteAuthor"></div>
      </div>
      <div class="q-dots" id="quoteDots" role="tablist" aria-label="Testimonials"></div>
    </div>
  </div>
</section>

<!-- ============ FAQ ============ -->
<section class="section">
  <div class="wrap">
    <div class="section-head reveal" style="text-align:center;display:flex;flex-direction:column;align-items:center">
      <div class="kicker" style="justify-content:center"><span class="idx">08</span> Common Questions</div>
      <h2 style="max-width:560px">Practical questions, honest answers.</h2>
    </div>
    <div class="faq-wrap" data-stagger>
      <div class="faq-item">
        <button class="faq-q" aria-expanded="false">
          <span>Do I need a membership to be a patient?</span>
          <span class="faq-ic"><i data-lucide="plus"></i></span>
        </button>
        <div class="faq-a"><div><p>No. Medical care at Vitalis works like any ordinary clinic — we bill your insurance, and there's no membership required to see a physician, therapist, or dietitian. MoveWell classes are separate: you can drop in, buy a class pack, or join an unlimited membership if the schedule becomes a habit. Many patients do one without the other, though most eventually find their way into both.</p></div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q" aria-expanded="false">
          <span>Which insurance plans do you accept?</span>
          <span class="faq-ic"><i data-lucide="plus"></i></span>
        </button>
        <div class="faq-a"><div><p>We're in-network with most major regional carriers, including Providence, Regence, Blue Cross Blue Shield, Aetna, Cigna, and Medicare. For out-of-network care we provide itemized superbills for reimbursement, and our self-pay schedule is published and transparent — the price you're quoted is the price you pay. Our front desk will verify your benefits before your first visit so there are no surprises.</p></div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q" aria-expanded="false">
          <span>What happens at my first appointment?</span>
          <span class="faq-ic"><i data-lucide="plus"></i></span>
        </button>
        <div class="faq-a"><div><p>Plan for a full hour. Your provider will take a complete history, review any records you bring, and run a baseline health assessment covering vitals, body composition, movement screening, and a short sleep-and-stress review. You'll leave with a written plan in plain language — what we found, what we'll watch, and what to do first. Arrive fifteen minutes early, or complete your intake forms online the night before and stroll in on time.</p></div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q" aria-expanded="false">
          <span>Can I see a provider without coming in?</span>
          <span class="faq-ic"><i data-lucide="plus"></i></span>
        </button>
        <div class="faq-a"><div><p>Yes. Secure video visits are available for follow-ups, medication checks, nutrition counseling, and most behavioral-health appointments. New-patient physicals and anything requiring hands-on examination are best done in person, and our sports-medicine and physical therapy services are always on-site. Telehealth slots are typically available within 48 hours on weekdays.</p></div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q" aria-expanded="false">
          <span>How do cancellations and rescheduling work?</span>
          <span class="faq-ic"><i data-lucide="plus"></i></span>
        </button>
        <div class="faq-a"><div><p>Life happens. Cancel or reschedule free of charge up to 24 hours before your appointment through the patient portal or a quick phone call. Repeated no-shows may carry a small late fee, which we waive the first time — always. Cancelled slots go into an automated waitlist, so someone else's opening usually becomes another patient's same-week win.</p></div></div>
      </div>
    </div>
  </div>
</section>

<!-- ============ BOOKING ============ -->
<section class="section alt" id="book">
  <div class="wrap book-grid">
    <div class="book-copy reveal">
      <div class="kicker"><span class="idx">09</span> Appointments</div>
      <h2 style="font-size:clamp(30px,3.6vw,42px)">Book in about a minute.</h2>
      <p>Send a request and a care coordinator — a human, here in the building — will call you within one business day to find a time that fits your week. No phone trees, no "please hold," no portal password you'll immediately forget.</p>
      <p>Dealing with something urgent? Call <b>(503) 555-0148</b> directly — we hold same-day slots every morning for established patients and will always point you to the right level of care.</p>
      <div class="hours-card">
        <div class="hc-head"><i data-lucide="clock"></i>Clinic Hours</div>
        <div class="hc-body">
          <div class="hc-row"><span>Monday – Friday</span><span>7:00 AM – 7:00 PM</span></div>
          <div class="hc-row"><span>Saturday</span><span>8:00 AM – 2:00 PM</span></div>
          <div class="hc-row"><span>Sunday</span><span>Run Club only, 8:00 AM</span></div>
          <div class="hc-row"><span>Telehealth</span><span>Weekdays, 8:00 AM – 5:00 PM</span></div>
        </div>
      </div>
      <div class="promise"><i data-lucide="phone-call"></i><span>Average callback time this month: <b>3 hours 40 minutes.</b> We're working on it.</span></div>
    </div>
    <div class="book-card reveal" id="bookCard">
      <form id="bookForm" novalidate>
        <div class="f-row">
          <div class="f-field full">
            <label for="bfName">Full name <i>*</i></label>
            <input type="text" id="bfName" name="name" autocomplete="name" placeholder="Jordan Avery">
            <span class="f-err">Please tell us your name.</span>
          </div>
        </div>
        <div class="f-row">
          <div class="f-field">
            <label for="bfEmail">Email <i>*</i></label>
            <input type="email" id="bfEmail" name="email" autocomplete="email" placeholder="jordan@example.com">
            <span class="f-err">That email doesn't look right yet.</span>
          </div>
          <div class="f-field">
            <label for="bfPhone">Phone <span style="font-weight:500;color:var(--ink-soft)">(optional)</span></label>
            <input type="tel" id="bfPhone" name="phone" autocomplete="tel" placeholder="(503) 555-0134">
            <span class="f-err"></span>
          </div>
        </div>
        <div class="f-row">
          <div class="f-field">
            <label for="bfDept">What do you need? <i>*</i></label>
            <select id="bfDept" name="department">
              <option value="">Choose a service…</option>
              <option value="New patient primary care">New patient primary care</option>
              <option value="Comprehensive health assessment">Comprehensive health assessment</option>
              <option value="Chronic care review">Chronic care review</option>
              <option value="Physical therapy">Physical therapy</option>
              <option value="Nutrition counseling">Nutrition counseling</option>
              <option value="Behavioral health">Behavioral health</option>
              <option value="MoveWell class or program">MoveWell class or program</option>
            </select>
            <span class="f-err">Pick the service that fits best — we'll sort the rest.</span>
          </div>
          <div class="f-field">
            <label for="bfTime">Preferred time</label>
            <select id="bfTime" name="time">
              <option value="Weekday mornings">Weekday mornings</option>
              <option value="Weekday afternoons">Weekday afternoons</option>
              <option value="Weekday evenings">Weekday evenings</option>
              <option value="Saturdays">Saturdays</option>
              <option value="First available">First available</option>
            </select>
            <span class="f-err"></span>
          </div>
        </div>
        <div class="f-row">
          <div class="f-field full">
            <label for="bfNotes">Anything we should know?</label>
            <textarea id="bfNotes" name="notes" placeholder="Symptoms, goals, a provider you'd like to see — anything helps."></textarea>
            <span class="f-err"></span>
          </div>
        </div>
        <p class="form-foot">By submitting, you agree to our <a href="#terms">Terms of Care</a> and <a href="#privacy">Privacy Policy</a>. We reply within one business day — usually much faster.</p>
        <button type="submit" class="btn btn-solid btn-block">Request Appointment <i data-lucide="arrow-right" class="arrow"></i></button>
      </form>
      <div class="success-box" id="bookSuccess" hidden>
        <div class="s-ic"><i data-lucide="check"></i></div>
        <h3>Request received.</h3>
        <div class="ref" id="bookRef"></div>
        <p>A care coordinator will call you within one business day to lock in a time. Watch for a number starting with (503) 555 — and go ahead and breathe a little easier.</p>
        <button class="btn btn-ghost btn-sm" id="bookAgain">Submit another request</button>
      </div>
    </div>
  </div>
</section>
</main>

<!-- ============ FOOTER ============ -->
<footer class="site" id="terms">
  <div class="wrap">
    <div class="foot-top">
      <div class="foot-brand">
        <img src="https://placehold.co/96x96/F6F1E8/1E4A38?text=V&font=playfair+display" alt="Vitalis Health Collective logo" width="48" height="48">
        <div class="fb-name">Vitalis Health Collective</div>
        <div class="fb-tag">Where clinical care meets everyday vitality</div>
        <p>An integrated clinic combining primary care, chronic care management, physical therapy, nutrition, and evidence-based fitness — all on one corner of Meridian Row.</p>
        <div class="socials">
          <a href="https://instagram.com/vitalishealth" aria-label="Instagram"><i data-lucide="instagram"></i></a>
          <a href="https://facebook.com/vitalishealth" aria-label="Facebook"><i data-lucide="facebook"></i></a>
          <a href="https://youtube.com/@vitalishealth" aria-label="YouTube"><i data-lucide="youtube"></i></a>
          <a href="https://linkedin.com/company/vitalis-health-collective" aria-label="LinkedIn"><i data-lucide="linkedin"></i></a>
        </div>
      </div>
      <div class="foot-col">
        <h4>Care</h4>
        <ul>
          <li><a href="#services">Services</a></li>
          <li><a href="#programs">MoveWell Programs</a></li>
          <li><a href="#nutrition">Nutrition</a></li>
          <li><a href="#providers">Find Provider</a></li>
          <li><a href="#check">Wellness Check</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h4>Clinic</h4>
        <ul>
          <li><a href="#book">Appointments</a></li>
          <li><a href="#journal">Field Notes (Blog)</a></li>
          <li><a href="#faq">FAQ</a></li>
          <li><a href="#privacy">Insurance &amp; Billing</a></li>
          <li><a href="#privacy">Careers</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h4>Visit Us</h4>
        <ul class="foot-contact">
          <li><i data-lucide="map-pin"></i>240 Meridian Row, Suite 300<br>Portland, OR 97209</li>
          <li><i data-lucide="phone"></i>(503) 555-0148</li>
          <li><i data-lucide="mail"></i>hello@vitalishealth.co</li>
          <li><i data-lucide="clock"></i>Mon–Fri 7 AM–7 PM · Sat 8 AM–2 PM</li>
        </ul>
      </div>
    </div>
    <div class="foot-news">
      <div class="fn-copy">
        <b>The Sunday Reset</b>
        <span>One evidence-based health habit in your inbox every Sunday morning. Written by clinicians, read in four minutes.</span>
      </div>
      <form class="news-form" id="newsForm" novalidate>
        <input type="email" id="newsEmail" placeholder="you@example.com" aria-label="Email for newsletter">
        <button type="submit" class="btn btn-clay btn-sm">Subscribe <i data-lucide="send"></i></button>
      </form>
    </div>
    <div class="foot-bottom">
      <div>© <span id="year">2025</span> Vitalis Health Collective, Inc. All rights reserved.</div>
      <div class="legal">
        <a href="#privacy">Privacy Policy</a>
        <a href="#terms">Terms of Care</a>
        <a href="#privacy">Accessibility</a>
      </div>
    </div>
  </div>
</footer>

<div id="toastZone" aria-live="polite"></div>

<script>
(function(){
  'use strict';
  const $ = (s, c) => (c || document).querySelector(s);
  const $$ = (s, c) => Array.from((c || document).querySelectorAll(s));
  const icons = () => { if (window.lucide) lucide.createIcons(); };
  icons();

  /* ---------- Current year ---------- */
  $('#year').textContent = new Date().getFullYear();

  /* ---------- Sticky header shadow ---------- */
  const header = $('#siteHeader');
  const onScroll = () => header.classList.toggle('scrolled', window.scrollY > 8);
  window.addEventListener('scroll', onScroll, { passive: true });
  onScroll();

  /* ---------- Mobile nav ---------- */
  const menuBtn = $('#menuBtn');
  menuBtn.addEventListener('click', () => {
    const open = document.body.classList.toggle('nav-open');
    menuBtn.setAttribute('aria-expanded', open);
  });
  $$('#primaryNav a').forEach(a => a.addEventListener('click', () => {
    document.body.classList.remove('nav-open');
    menuBtn.setAttribute('aria-expanded', 'false');
  }));

  /* ---------- Reveal on scroll ---------- */
  const io = new IntersectionObserver(entries => {
    entries.forEach(e => {
      if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); }
    });
  }, { threshold: 0.12 });
  $$('.reveal, [data-stagger]').forEach(el => io.observe(el));

  /* ---------- Toast ---------- */
  function toast(msg) {
    const zone = $('#toastZone');
    const t = document.createElement('div');
    t.className = 'toast';
    t.innerHTML = '<i data-lucide="sparkles"></i><span>' + msg + '</span>';
    zone.appendChild(t);
    icons();
    setTimeout(() => { t.classList.add('out'); setTimeout(() => t.remove(), 320); }, 3600);
  }

  /* ---------- Booking prefill from CTAs ---------- */
  const DEPT_MAP = {
    'primary': 'New patient primary care',
    'assessment': 'Comprehensive health assessment',
    'pt': 'Physical therapy',
    'nutrition': 'Nutrition counseling',
    'class': 'MoveWell class or program'
  };
  const bookCard = $('#bookCard');
  document.addEventListener('click', e => {
    const btn = e.target.closest('[data-book]');
    if (!btn) return;
    const dept = DEPT_MAP[btn.dataset.book];
    if (dept) {
      const sel = $('#bfDept');
      sel.value = dept;
      const notes = $('#bfNotes');
      if (btn.dataset.provider && notes) {
        const line = 'Preferred provider: ' + btn.dataset.provider + '.';
        if (!notes.value.includes(btn.dataset.provider)) {
          notes.value = notes.value ? notes.value.replace(/\s*$/, '') + ' ' + line : line;
        }
        toast(btn.dataset.provider + ' noted — we\u2019ll prioritize their schedule.');
      } else {
        toast(dept + ' pre-selected. Just add your details.');
      }
    }
    bookCard.classList.remove('flash');
    void bookCard.offsetWidth; /* restart animation */
    bookCard.classList.add('flash');
  });

  /* ---------- Wellness Check ---------- */
  const QUESTIONS = [
    { pillar: 'sleep', icon: 'moon', q: 'Over the past two weeks, my sleep has been\u2026',
      options: [
        { t: 'Deep and mostly uninterrupted', v: 4 },
        { t: 'Solid, with a few rough nights', v: 3 },
        { t: 'Restless \u2014 I wake up often', v: 2 },
        { t: 'Running on fumes', v: 1 }
      ]},
    { pillar: 'movement', icon: 'activity', q: 'In a typical week, I move my body\u2026',
      options: [
        { t: 'Most days \u2014 walks, training, or both', v: 4 },
        { t: 'Two or three deliberate sessions', v: 3 },
        { t: 'Once, if the week allows it', v: 2 },
        { t: 'Almost never, honestly', v: 1 }
      ]},
    { pillar: 'nutrition', icon: 'apple', q: 'Meals in my week are\u2026',
      options: [
        { t: 'Planned, balanced, mostly home-cooked', v: 4 },
        { t: 'Decent, with predictable gaps', v: 3 },
        { t: 'Rushed and takeout-heavy', v: 2 },
        { t: 'Chaotic \u2014 I eat when I remember', v: 1 }
      ]},
    { pillar: 'stress', icon: 'brain', q: 'My stress load right now feels\u2026',
      options: [
        { t: 'Manageable \u2014 I have room to breathe', v: 4 },
        { t: 'Fine most days, spiky on others', v: 3 },
        { t: 'High most days, hard to switch off', v: 2 },
        { t: 'Constant, and it\u2019s wearing me down', v: 1 }
      ]},
    { pillar: 'connection', icon: 'users', q: 'Recovery and time with people I enjoy\u2026',
      options: [
        { t: 'Protected and scheduled, like training', v: 4 },
        { t: 'Some of it, when I can fit it in', v: 3 },
        { t: 'Little \u2014 the calendar wins', v: 2 },
        { t: 'Basically nonexistent lately', v: 1 }
      ]}
  ];
  const PILLAR_LABEL = { sleep: 'Sleep', movement: 'Movement', nutrition: 'Nutrition', stress: 'Stress', connection: 'Connection' };
  const TIPS = {
    sleep: { icon: 'moon', t: 'Start with sleep', d: 'Most patients who follow our two-week sleep-hygiene consult fall asleep faster and wake less. One 30-minute visit is all it takes to begin.' },
    movement: { icon: 'activity', t: 'Rebuild the movement habit', d: 'Restorative Mobility, twice a week, is the gentlest on-ramp we offer \u2014 designed for exactly this starting point, no fitness background required.' },
    nutrition: { icon: 'apple', t: 'Talk to a dietitian', d: 'One 45-minute session with a registered dietitian turns \u201Ceat better\u201D into an actual, doable plan built around your real week.' },
    stress: { icon: 'brain', t: 'Treat stress like a vital sign', d: 'Our six-week stress-resilience program pairs brief therapy with practical physiological tools you can use the same day.' },
    connection: { icon: 'users', t: 'Schedule recovery', d: 'Recovery is trainable. Your care plan should protect it the same way it protects your labs and your training \u2014 ours will.' }
  };
  const MAINTAIN = [
    { icon: 'shield-check', t: 'Protect the streak', d: 'Book your annual comprehensive health assessment so next year\u2019s numbers have something to beat.' },
    { icon: 'dumbbell', t: 'Add a layer', d: 'Try a MoveWell class \u2014 Strength Foundations or Cardio Engine will keep a good base from getting bored.' }
  ];

  const card = $('#checkCard');
  let cIdx = 0, answers = [];

  function setProgress(pct, label) {
    const bar = $('.check-progress span', card);
    const step = $('.check-step', card);
    if (bar) bar.style.width = pct + '%';
    if (step) step.textContent = label;
  }

  function renderIntro() {
    card.innerHTML =
      '<div class="check-top"><span class="check-step">Wellness Check</span><span class="check-brandline">Vitalis \u00B7 runs on this page only</span></div>' +
      '<div class="check-progress"><span></span></div>' +
      '<div class="check-intro">' +
        '<h3>Five questions. One honest score.</h3>' +
        '<p>Answer as you actually are this month, not your best month. The score is a starting point for a conversation, never a verdict on you.</p>' +
        '<div class="facts">' +
          '<div><i data-lucide="clock"></i>About 60 seconds, no typing required</div>' +
          '<div><i data-lucide="shield-check"></i>Nothing stored, nothing sent, nothing sold</div>' +
          '<div><i data-lucide="stethoscope"></i>Modeled on our real clinical intake</div>' +
        '</div>' +
        '<button class="btn btn-clay" id="startCheck">Start the Check <i data-lucide="arrow-right" class="arrow"></i></button>' +
      '</div>';
    setProgress(0, 'Wellness Check');
    icons();
    $('#startCheck').addEventListener('click', () => { cIdx = 0; answers = []; renderQuestion(); });
  }

  function renderQuestion() {
    const q = QUESTIONS[cIdx];
    card.innerHTML =
      '<div class="check-top"><span class="check-step"></span><span class="check-brandline">Pillar: ' + PILLAR_LABEL[q.pillar] + '</span></div>' +
      '<div class="check-progress"><span></span></div>' +
      '<div class="check-q">' + q.q + '</div>' +
      '<div class="check-opts">' +
        q.options.map((o, i) => '<button class="opt-btn" data-i="' + i + '">' + o.t + '</button>').join('') +
      '</div>' +
      '<div class="check-footer">' +
        '<button class="check-back" id="checkBack"><i data-lucide="arrow-left"></i>Back</button>' +
        '<span class="check-note">Question ' + (cIdx + 1) + ' of ' + QUESTIONS.length + '</span>' +
      '</div>';
    setProgress((cIdx / QUESTIONS.length) * 100, 'Question ' + (cIdx + 1) + ' of ' + QUESTIONS.length);
    icons();
    $$('.opt-btn', card).forEach(btn => btn.addEventListener('click', () => {
      $$('.opt-btn', card).forEach(b => b.classList.remove('selected'));
      btn.classList.add('selected');
      answers[cIdx] = q.options[+btn.dataset.i].v;
      setTimeout(() => {
        if (cIdx < QUESTIONS.length - 1) { cIdx++; renderQuestion(); }
        else renderResult();
      }, 340);
    }));
    $('#checkBack').addEventListener('click', () => {
      if (cIdx === 0) { renderIntro(); return; }
      cIdx--; renderQuestion();
      if (answers[cIdx] != null) {
        const i = QUESTIONS[cIdx].options.findIndex(o => o.v === answers[cIdx]);
        if (i > -1) $$('.opt-btn', card)[i].classList.add('selected');
      }
    });
  }

  function renderResult() {
    const raw = answers.reduce((a, b) => a + b, 0);
    const pct = Math.round(((raw - 5) / 15) * 100);
    let band, verdict;
    if (pct >= 80) { band = 'Thriving'; verdict = 'You\u2019re doing the fundamentals well. Let\u2019s keep them that way \u2014 and sharpen the edges.'; }
    else if (pct >= 60) { band = 'Steady'; verdict = 'A solid base with real room to build. Your lowest pillar below is the highest-leverage place to start.'; }
    else if (pct >= 40) { band = 'Strained'; verdict = 'Your body is carrying more than it should. Small, specific changes will move this score faster than you\u2019d expect.'; }
    else { band = 'Depleted'; verdict = 'This is a signal, not a verdict. One conversation with a clinician can start turning this around \u2014 begin there.'; }

    let tips;
    if (raw === 20) {
      tips = MAINTAIN;
    } else {
      tips = QUESTIONS
        .map((q, i) => ({ pillar: q.pillar, v: answers[i] }))
        .sort((a, b) => a.v - b.v)
        .slice(0, 3)
        .filter((x, i, arr) => arr.findIndex(y => y.pillar === x.pillar) === i)
        .map(x => TIPS[x.pillar]);
    }

    card.innerHTML =
      '<div class="check-top"><span class="check-step">Your result</span><span class="check-brandline">Vitalis Wellness Score</span></div>' +
      '<div class="check-progress"><span></span></div>' +
      '<div class="result-grid">' +
        '<div class="gauge">' +
          '<svg viewBox="0 0 200 122" aria-hidden="true">' +
            '<path d="M 20 104 A 80 80 0 0 1 180 104" fill="none" stroke="#E3D9C6" stroke-width="13" stroke-linecap="round"/>' +
            '<path id="gaugeArc" d="M 20 104 A 80 80 0 0 1 180 104" fill="none" stroke="#C05A36" stroke-width="13" stroke-linecap="round" pathLength="100" stroke-dasharray="100" stroke-dashoffset="100" style="transition:stroke-dashoffset 1.1s cubic-bezier(.2,.7,.2,1)"/>' +
          '</svg>' +
          '<div class="g-num"><span id="gaugeNum">0</span><small>/100</small></div>' +
        '</div>' +
        '<div>' +
          '<div class="g-band">Band: ' + band + '</div>' +
          '<div class="g-verdict">' + verdict + '</div>' +
          '<div class="g-break">' +
            QUESTIONS.map((q, i) =>
              '<div class="row"><span>' + PILLAR_LABEL[q.pillar] + '</span><span class="dots">' +
              [1,2,3,4].map(d => '<span class="dot' + (d <= answers[i] ? ' on' : '') + '"></span>').join('') +
              '</span></div>'
            ).join('') +
          '</div>' +
        '</div>' +
      '</div>' +
      '<div class="g-tips">' +
        tips.map(t => '<div class="g-tip"><i data-lucide="' + t.icon + '"></i><div><b>' + t.t + '</b><span>' + t.d + '</span></div></div>').join('') +
      '</div>' +
      '<div class="result-actions">' +
        '<a class="btn btn-clay" href="#book" data-book="assessment">Discuss This With a Clinician <i data-lucide="arrow-right" class="arrow"></i></a>' +
        '<button class="btn btn-ghost" id="retakeCheck"><i data-lucide="rotate-ccw"></i>Retake</button>' +
      '</div>';
    setProgress(100, 'Complete');
    icons();

    requestAnimationFrame(() => requestAnimationFrame(() => {
      $('#gaugeArc').style.strokeDashoffset = String(100 - pct);
      const numEl = $('#gaugeNum');
      const t0 = performance.now(), dur = 950;
      (function tick(now) {
        const p = Math.min((now - t0) / dur, 1);
        const eased = 1 - Math.pow(1 - p, 3);
        numEl.textContent = Math.round(eased * pct);
        if (p < 1) requestAnimationFrame(tick);
      })(t0);
    }));

    $('#retakeCheck').addEventListener('click', renderIntro);
    toast('Score saved for this session only \u2014 bring it to your visit.');
  }

  renderIntro();

  /* ---------- Testimonials rotator ---------- */
  const QUOTES = [
    { q: '\u201CI came in for my blood pressure and left with a plan that covered my sleep, my stress, and my Saturday mornings. Eight months later my numbers are the best they\u2019ve been in a decade \u2014 and I actually look forward to appointments.\u201D', a: 'Sandra K.', c: 'Chronic care patient since 2023' },
    { q: '\u201CThe 90-minute health assessment caught a thyroid issue three different clinics had waved off. It was the first time I felt like someone was reading my whole chart \u2014 not just the loudest line item.\u201D', a: 'Devon R.', c: 'Wellness assessment patient' },
    { q: '\u201CPhysical therapy rolled straight into Strength Foundations with the same team watching my knee the whole way. Twelve months post-ACL, I\u2019m back on the pitch and squatting more than before the injury.\u201D', a: 'Maya T.', c: 'Rehab & MoveWell member' }
  ];
  const quoteBox = $('#quoteBox'), quoteText = $('#quoteText'), quoteAuthor = $('#quoteAuthor'), dotsWrap = $('#quoteDots');
  let qi = 0, qTimer = null;
  QUOTES.forEach((_, i) => {
    const d = document.createElement('button');
    d.className = 'q-dot' + (i === 0 ? ' on' : '');
    d.setAttribute('aria-label', 'Show testimonial ' + (i + 1));
    d.addEventListener('click', () => { showQuote(i); resetTimer(); });
    dotsWrap.appendChild(d);
  });
  function showQuote(i) {
    qi = i;
    quoteBox.classList.add('fading');
    setTimeout(() => {
      quoteText.textContent = QUOTES[i].q;
      quoteAuthor.innerHTML = QUOTES[i].a + ' &nbsp;<span>\u00B7 ' + QUOTES[i].c + '</span>';
      $$('.q-dot', dotsWrap).forEach((d, j) => d.classList.toggle('on', j === i));
      quoteBox.classList.remove('fading');
    }, 460);
  }
  function resetTimer() {
    clearInterval(qTimer);
    qTimer = setInterval(() => showQuote((qi + 1) % QUOTES.length), 6800);
  }
  quoteText.textContent = QUOTES[0].q;
  quoteAuthor.innerHTML = QUOTES[0].a + ' &nbsp;<span>\u00B7 ' + QUOTES[0].c + '</span>';
  resetTimer();
  $('.testi-inner').addEventListener('mouseenter', () => clearInterval(qTimer));
  $('.testi-inner').addEventListener('mouseleave', resetTimer);

  /* ---------- FAQ accordion ---------- */
  $$('.faq-item').forEach(item => {
    const btn = $('.faq-q', item);
    btn.addEventListener('click', () => {
      const isOpen = item.classList.contains('open');
      $$('.faq-item.open').forEach(o => {
        o.classList.remove('open');
        $('.faq-q', o).setAttribute('aria-expanded', 'false');
      });
      if (!isOpen) {
        item.classList.add('open');
        btn.setAttribute('aria-expanded', 'true');
      }
    });
  });

  /* ---------- Booking form ---------- */
  const bookForm = $('#bookForm'), bookSuccess = $('#bookSuccess');
  function validEmail(v) { return /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(v); }
  function mark(id, bad) { $('#' + id).closest('.f-field').classList.toggle('invalid', bad); }
  bookForm.addEventListener('submit', e => {
    e.preventDefault();
    const name = $('#bfName').value.trim();
    const email = $('#bfEmail').value.trim();
    const dept = $('#bfDept').value;
    mark('bfName', name.length < 2);
    mark('bfEmail', !validEmail(email));
    mark('bfDept', !dept);
    if (name.length < 2 || !validEmail(email) || !dept) {
      toast('A couple of fields need attention before we can send this.');
      return;
    }
    $('#bookRef').textContent = 'Reference #VHC-' + (1000 + Math.floor(Math.random() * 9000));
    bookForm.hidden = true;
    bookSuccess.hidden = false;
    icons();
    toast('Appointment request sent \u2014 we\u2019ll call you shortly.');
  });
  $('#bookAgain').addEventListener('click', () => {
    bookForm.reset();
    $$('.f-field.invalid', bookForm).forEach(f => f.classList.remove('invalid'));
    bookSuccess.hidden = true;
    bookForm.hidden = false;
  });
  ['bfName', 'bfEmail', 'bfDept'].forEach(id => {
    $('#' + id).addEventListener('input', () => mark(id, false));
    $('#' + id).addEventListener('change', () => mark(id, false));
  });

  /* ---------- Newsletter ---------- */
  const newsForm = $('#newsForm');
  newsForm.addEventListener('submit', e => {
    e.preventDefault();
    const v = $('#newsEmail').value.trim();
    if (!validEmail(v)) { toast('Add a valid email and you\u2019re in.'); return; }
    newsForm.innerHTML = '<div class="news-ok"><i data-lucide="check-circle-2"></i>You\u2019re on the list \u2014 your first Sunday Reset arrives this weekend.</div>';
    icons();
  });
})();
</script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T10:07:18.317Z",
  "url": "https://benchmark.aimac.invalid/620909578116e9d47a495c97893c4d95388b6ff636813a74efdfd965307c20dd.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-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": "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": []
    },
    {
      "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": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": []
    },
    {
      "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": "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": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "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=\"q-dots\" id=\"quoteDots\" role=\"tablist\" aria-label=\"Testimonials\"><button class=\"q-dot on\" aria-label=\"Show testimonial 1\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 2\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button></div>",
          "target": [
            "#quoteDots"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "focusable-modal-open",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements while a modal is open"
            },
            {
              "id": "focusable-disabled",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            },
            {
              "id": "focusable-not-tabbable",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" data-lucide=\"sparkles\" aria-hidden=\"true\" class=\"lucide lucide-sparkles\">",
          "target": [
            ".lucide-sparkles"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "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=\"q-dots\" id=\"quoteDots\" role=\"tablist\" aria-label=\"Testimonials\"><button class=\"q-dot on\" aria-label=\"Show testimonial 1\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 2\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button></div>",
          "target": [
            "#quoteDots"
          ]
        }
      ]
    },
    {
      "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=\"q-dots\" id=\"quoteDots\" role=\"tablist\" aria-label=\"Testimonials\"><button class=\"q-dot on\" aria-label=\"Show testimonial 1\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 2\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button></div>",
          "target": [
            "#quoteDots"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<nav class=\"primary\" id=\"primaryNav\" aria-label=\"Primary\">",
          "target": [
            "#primaryNav"
          ]
        }
      ]
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "autocomplete-valid",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "the autocomplete attribute is correctly formatted"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<input type=\"text\" id=\"bfName\" name=\"name\" autocomplete=\"name\" placeholder=\"Jordan Avery\">",
          "target": [
            "#bfName"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
          "target": [
            ".m1 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
          ]
        }
      ]
    },
    {
      "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 care team for your body, your plate, and your <em class=\"accent\">peace of mind.</em></h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2 style=\"font-size:clamp(30px,3.6vw,42px)\">Six specialties. One connected plan.</h2>",
                  "target": [
                    ".services-left > h2"
                  ]
                },
                {
                  "html": "<h3>Primary &amp; Preventive Care</h3>",
                  "target": [
                    ".svc-item:nth-child(1) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h3>Chronic Care Management</h3>",
                  "target": [
                    ".svc-item:nth-child(2) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h3>Comprehensive Health Assessments</h3>",
                  "target": [
                    ".svc-item:nth-child(3) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h3>Physical Therapy &amp; Rehabilitation</h3>",
                  "target": [
                    ".svc-item:nth-child(4) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h3>Nutrition Counseling</h3>",
                  "target": [
                    ".svc-item:nth-child(5) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h3>Mental &amp; Behavioral Health</h3>",
                  "target": [
                    ".svc-item:nth-child(6) > .svc-body > h3"
                  ]
                },
                {
                  "html": "<h2>Training programs with a clinician's fingerprints on them.</h2>",
                  "target": [
                    ".prog-head > .section-head.reveal > h2"
                  ]
                },
                {
                  "html": "<h3>Strength Foundations</h3>",
                  "target": [
                    ".m1 > .mc-text > h3"
                  ]
                },
                {
                  "html": "<h3>Restorative Mobility</h3>",
                  "target": [
                    ".m2 > .mc-text > h3"
                  ]
                },
                {
                  "html": "<h3>Cardio Engine</h3>",
                  "target": [
                    ".m3 > .mc-text > h3"
                  ]
                },
                {
                  "html": "<h3>Run Club</h3>",
                  "target": [
                    ".m4 > .mc-text > h3"
                  ]
                },
                {
                  "html": "<h2>Sixty seconds to a clearer picture of your health.</h2>",
                  "target": [
                    ".check-copy > h2"
                  ]
                },
                {
                  "html": "<h3>Five questions. One honest score.</h3>",
                  "target": [
                    ".check-intro > h3"
                  ]
                },
                {
                  "html": "<h4>\"Weeknight Mediterranean, Five Ways\" \u2014 Thursday 6 PM, groceries included.</h4>",
                  "target": [
                    ".kitchen-card > h4"
                  ]
                },
                {
                  "html": "<h2 style=\"font-size:clamp(30px,3.6vw,42px)\">Food, treated as seriously as medicine.</h2>",
                  "target": [
                    ".nutri-copy > h2"
                  ]
                },
                {
                  "html": "<h2>Health education you can actually use.</h2>",
                  "target": [
                    "#journal > .wrap > .section-head.reveal > h2"
                  ]
                },
                {
                  "html": "<h3>What your blood-pressure numbers actually mean (and what to do about them)</h3>",
                  "target": [
                    ".feat-card > h3"
                  ]
                },
                {
                  "html": "<h4>Zone 2: the unglamorous training zone that changes everything</h4>",
                  "target": [
                    ".j-item[href$=\"#journal\"]:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>The fiber gap: why 90% of us miss by 15 grams a day</h4>",
                  "target": [
                    ".j-item[href$=\"#journal\"]:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Sleep debt is real \u2014 here's how repayment actually works</h4>",
                  "target": [
                    ".j-item[href$=\"#journal\"]:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h2>Meet the people who'll know your name.</h2>",
                  "target": [
                    "#providers > .wrap > .section-head.reveal > h2"
                  ]
                },
                {
                  "html": "<h3>Dr. Elena Marsh</h3>",
                  "target": [
                    ".prov-row:nth-child(1) > .prov-info > h3"
                  ]
                },
                {
                  "html": "<h3>Dr. Jonah Okafor</h3>",
                  "target": [
                    ".prov-row:nth-child(2) > .prov-info > h3"
                  ]
                },
                {
                  "html": "<h3>Marcus Bell</h3>",
                  "target": [
                    ".prov-row:nth-child(3) > .prov-info > h3"
                  ]
                },
                {
                  "html": "<h3>Priya Raman</h3>",
                  "target": [
                    ".prov-row:nth-child(4) > .prov-info > h3"
                  ]
                },
                {
                  "html": "<h2 style=\"max-width:560px\">Practical questions, honest answers.</h2>",
                  "target": [
                    ".section:nth-child(11) > .wrap > .section-head.reveal > h2"
                  ]
                },
                {
                  "html": "<h2 style=\"font-size:clamp(30px,3.6vw,42px)\">Book in about a minute.</h2>",
                  "target": [
                    ".book-copy > h2"
                  ]
                },
                {
                  "html": "<h4>Care</h4>",
                  "target": [
                    ".foot-col:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Clinic</h4>",
                  "target": [
                    ".foot-col:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Visit Us</h4>",
                  "target": [
                    ".foot-col: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": "#d4d4cb",
                "bgColor": "#123227",
                "contrastRatio": 9.31,
                "fontSize": "10.1pt (13.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 9.31"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span>Now accepting new patients \u2014 same-week appointments available.</span>",
          "target": [
            ".note > span"
          ]
        }
      ]
    },
    {
      "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=\"bfName\">Full name <i>*</i></label>",
                  "target": [
                    "label[for=\"bfName\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input type=\"text\" id=\"bfName\" name=\"name\" autocomplete=\"name\" placeholder=\"Jordan Avery\">",
          "target": [
            "#bfName"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://placehold.co/96x96/1E4A38/F6F1E8?text=V&amp;font=playfair+display\" alt=\"Vitalis Health Collective 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": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"bfName\">Full name <i>*</i></label>",
                  "target": [
                    "label[for=\"bfName\"]"
                  ]
                }
              ],
              "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=\"text\" id=\"bfName\" name=\"name\" autocomplete=\"name\" placeholder=\"Jordan Avery\">",
          "target": [
            "#bfName"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a class=\"skip-link\" href=\"#main\">Skip to main content</a>",
          "target": [
            ".skip-link"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ol class=\"svc-list\" data-stagger=\"\">",
          "target": [
            "ol"
          ]
        }
      ]
    },
    {
      "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 class=\"svc-item\">",
          "target": [
            ".svc-item:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/96x96/1E4A38/F6F1E8?text=V&amp;font=playfair+display\" alt=\"Vitalis Health Collective 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": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"bfDept\">What do you need? <i>*</i></label>",
                  "target": [
                    "label[for=\"bfDept\"]"
                  ]
                }
              ],
              "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=\"bfDept\" name=\"department\">",
          "target": [
            "#bfDept"
          ]
        }
      ]
    },
    {
      "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": 162.3,
                "height": 43.1
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (162.3px by 43.1px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"skip-link\" href=\"#main\">Skip to main content</a>",
          "target": [
            ".skip-link"
          ]
        }
      ]
    }
  ],
  "incomplete": [],
  "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[aria-label]"
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"q-dot on\" aria-label=\"Show testimonial 1\"></button>",
                  "target": [
                    ".on"
                  ]
                },
                {
                  "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 2\"></button>",
                  "target": [
                    "button[aria-label=\"Show testimonial 2\"]"
                  ]
                },
                {
                  "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button>",
                  "target": [
                    "button[aria-label=\"Show testimonial 3\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has children which are not allowed: button[aria-label]"
            }
          ],
          "all": [],
          "none": [],
          "impact": "critical",
          "html": "<div class=\"q-dots\" id=\"quoteDots\" role=\"tablist\" aria-label=\"Testimonials\"><button class=\"q-dot on\" aria-label=\"Show testimonial 1\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 2\"></button><button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button></div>",
          "target": [
            "#quoteDots"
          ],
          "failureSummary": "Fix any of the following:\n  Element has children which are not allowed: button[aria-label]"
        }
      ]
    },
    {
      "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": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<header class=\"site\" id=\"siteHeader\">",
                  "target": [
                    "#siteHeader"
                  ]
                },
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"brand-tag\">Where clinical care meets everyday vitality</span>",
          "target": [
            ".brand-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\">Integrative medicine \u00b7 Fitness \u00b7 Nutrition \u2014 Portland, OR</div>",
          "target": [
            ".in.reveal:nth-child(1) > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "10.5pt (14px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button type=\"submit\" class=\"btn btn-clay btn-sm\">",
                  "target": [
                    ".btn-clay.btn-sm[type=\"submit\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button type=\"submit\" class=\"btn btn-clay btn-sm\">",
          "target": [
            ".btn-clay.btn-sm[type=\"submit\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\">Integrative medicine \u00b7 Fitness \u00b7 Nutrition \u2014 Portland, OR</div>",
          "target": [
            ".hero-grid > .in.reveal:nth-child(1) > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">01</span> Integrated Services</div>",
          "target": [
            ".services-left > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">01</span>",
          "target": [
            ".svc-item:nth-child(1) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">02</span>",
          "target": [
            ".svc-item:nth-child(2) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">03</span>",
          "target": [
            ".svc-item:nth-child(3) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">04</span>",
          "target": [
            ".svc-item:nth-child(4) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">05</span>",
          "target": [
            ".svc-item:nth-child(5) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "15.8pt (21px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"svc-num\">06</span>",
          "target": [
            ".svc-item:nth-child(6) > .svc-num"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 15.8pt (21px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"programs\">",
                  "target": [
                    "#programs"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">02</span> MoveWell Studios</div>",
          "target": [
            ".section-head.in.reveal > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "10.5pt (14px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
                  "target": [
                    ".m1 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
          "target": [
            ".m1 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "10.5pt (14px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
                  "target": [
                    ".m2 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
          "target": [
            ".m2 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "10.5pt (14px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
                  "target": [
                    ".m3 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
          "target": [
            ".m3 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "10.5pt (14px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
                  "target": [
                    ".m4 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-clay btn-sm book-class\" data-book=\"class\">",
          "target": [
            ".m4 > .mc-text > .btn-clay.book-class[data-book=\"class\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#fcfaf4",
                "contrastRatio": 4.22,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"check-card reveal in\" id=\"checkCard\" aria-live=\"polite\">",
                  "target": [
                    "#checkCard"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.22 (foreground color: #c05a36, background color: #fcfaf4, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"check-step\">Wellness Check</span>",
          "target": [
            ".check-step"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.22 (foreground color: #c05a36, background color: #fcfaf4, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#fff7ee",
                "bgColor": "#c05a36",
                "contrastRatio": 4.16,
                "fontSize": "11.3pt (15px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-clay\" id=\"startCheck\">",
                  "target": [
                    "#startCheck"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 11.3pt (15px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-clay\" id=\"startCheck\">",
          "target": [
            "#startCheck"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.16 (foreground color: #fff7ee, background color: #c05a36, font size: 11.3pt (15px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f6f1e8",
                "bgColor": "#efefef",
                "contrastRatio": 1.02,
                "fontSize": "11.3pt (15px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"arrow-link book-class\" data-book=\"class\">",
                  "target": [
                    ".arrow-link.book-class[data-book=\"class\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 1.02 (foreground color: #f6f1e8, background color: #efefef, font size: 11.3pt (15px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"arrow-link book-class\" data-book=\"class\">",
          "target": [
            ".arrow-link.book-class[data-book=\"class\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 1.02 (foreground color: #f6f1e8, background color: #efefef, font size: 11.3pt (15px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">04</span> Nutrition &amp; Health Education</div>",
          "target": [
            ".nutri-copy > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"programs\">",
                  "target": [
                    "#programs"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">02</span> MoveWell Studios</div>",
          "target": [
            ".prog-head > .section-head.in.reveal > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">05</span> Field Notes \u2014 the Vitalis Journal</div>",
          "target": [
            ".wrap > .section-head.in.reveal > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"tag\">Chronic Care</span>",
          "target": [
            ".tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Training</span>",
          "target": [
            ".j-item[href$=\"#journal\"]:nth-child(2) > .j-meta > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Nutrition</span>",
          "target": [
            ".j-item[href$=\"#journal\"]:nth-child(3) > .j-meta > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Sleep Science</span>",
          "target": [
            ".j-item[href$=\"#journal\"]:nth-child(4) > .j-meta > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\">Integrative medicine \u00b7 Fitness \u00b7 Nutrition \u2014 Portland, OR</div>",
          "target": [
            ".hero-grid > .reveal.in:nth-child(1) > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"programs\">",
                  "target": [
                    "#programs"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">02</span> MoveWell Studios</div>",
          "target": [
            ".prog-head > .section-head.reveal.in > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"journal\">",
                  "target": [
                    "#journal"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">05</span> Field Notes \u2014 the Vitalis Journal</div>",
          "target": [
            "#journal > .wrap > .section-head.reveal.in > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">06</span> Find Provider</div>",
          "target": [
            "#providers > .wrap > .section-head.reveal.in > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.4pt (12.5px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"creds\">MD, FACP \u00b7 Internal Medicine &amp; Chronic Care</div>",
          "target": [
            ".prov-row:nth-child(1) > .prov-info > .creds"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.4pt (12.5px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"creds\">MD \u00b7 Sports Medicine</div>",
          "target": [
            ".prov-row:nth-child(2) > .prov-info > .creds"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.4pt (12.5px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"creds\">DPT \u00b7 Physical Therapy &amp; Rehabilitation</div>",
          "target": [
            ".prov-row:nth-child(3) > .prov-info > .creds"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.4pt (12.5px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"creds\">RDN, CSSD \u00b7 Nutrition &amp; GI Health</div>",
          "target": [
            ".prov-row:nth-child(4) > .prov-info > .creds"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.4pt (12.5px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section testi-band\">",
                  "target": [
                    ".testi-band"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">07</span> Patient Stories</div>",
          "target": [
            ".testi-inner > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#f6f1e8",
                "contrastRatio": 3.92,
                "fontSize": "9.0pt (12px)",
                "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.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\" style=\"justify-content:center\"><span class=\"idx\">08</span> Common Questions</div>",
          "target": [
            ".section:nth-child(11) > .wrap > .section-head.reveal.in > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.92 (foreground color: #c05a36, background color: #f6f1e8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c05a36",
                "bgColor": "#efe7d8",
                "contrastRatio": 3.59,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section alt\" id=\"book\">",
                  "target": [
                    "#book"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"kicker\"><span class=\"idx\">09</span> Appointments</div>",
          "target": [
            ".book-copy > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.59 (foreground color: #c05a36, background color: #efe7d8, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        }
      ]
    },
    {
      "id": "target-size",
      "impact": "serious",
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 10,
                "height": 10
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (10px by 10px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 16,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"q-dot on\" aria-label=\"Show testimonial 2\"></button>",
                  "target": [
                    "button[aria-label=\"Show testimonial 2\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 1\"></button>",
          "target": [
            "button[aria-label=\"Show testimonial 1\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (10px by 10px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 12.5,
                "height": 12.5
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (12.5px by 12.5px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 16,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 1\"></button>",
                  "target": [
                    "button[aria-label=\"Show testimonial 1\"]"
                  ]
                },
                {
                  "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button>",
                  "target": [
                    ".on"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"q-dot on\" aria-label=\"Show testimonial 2\"></button>",
          "target": [
            "button[aria-label=\"Show testimonial 2\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (12.5px by 12.5px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 10,
                "height": 10
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has insufficient size (10px by 10px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 16,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"q-dot on\" aria-label=\"Show testimonial 2\"></button>",
                  "target": [
                    "button[aria-label=\"Show testimonial 2\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"q-dot\" aria-label=\"Show testimonial 3\"></button>",
          "target": [
            ".on"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size (10px by 10px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 16px instead of at least 24px."
        },
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "messageKey": "partiallyObscured",
                "minSize": 24,
                "width": 661.7,
                "height": 17.5
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"brand\" href=\"#top\">",
                  "target": [
                    ".brand"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#services\">Services</a>",
                  "target": [
                    ".nav-link[href$=\"#services\"]"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#programs\">Programs</a>",
                  "target": [
                    ".nav-link[href$=\"#programs\"]"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#nutrition\">Nutrition</a>",
                  "target": [
                    ".nav-link[href$=\"#nutrition\"]"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#journal\">Blog</a>",
                  "target": [
                    ".nav-link[href$=\"#journal\"]"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#providers\">Find Provider</a>",
                  "target": [
                    ".nav-link[href$=\"#providers\"]"
                  ]
                },
                {
                  "html": "<a class=\"nav-link\" href=\"#top\">About</a>",
                  "target": [
                    ".nav-link[href$=\"#top\"]"
                  ]
                },
                {
                  "html": "<a class=\"btn btn-solid btn-sm nav-cta\" href=\"#book\">",
                  "target": [
                    ".nav-cta"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient size because it is partially obscured (smallest space is 661.7px by 17.5px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 4.4,
                "minOffset": 24
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"faq-q\" aria-expanded=\"false\">",
                  "target": [
                    ".faq-item:nth-child(5) > .faq-q"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 4.4px instead of at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"faq-q\" aria-expanded=\"false\">",
          "target": [
            ".faq-item:nth-child(4) > .faq-q"
          ],
          "failureSummary": "Fix any of the following:\n  Target has insufficient size because it is partially obscured (smallest space is 661.7px by 17.5px, should be at least 24px by 24px)\n  Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of 4.4px instead of at least 24px."
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 10453
      },
      {
        "y": 576,
        "height": 10453
      },
      {
        "y": 1152,
        "height": 10453
      },
      {
        "y": 1728,
        "height": 10453
      },
      {
        "y": 2304,
        "height": 10453
      },
      {
        "y": 2880,
        "height": 10453
      },
      {
        "y": 3456,
        "height": 10453
      },
      {
        "y": 4032,
        "height": 10453
      },
      {
        "y": 4608,
        "height": 10453
      },
      {
        "y": 5184,
        "height": 10453
      },
      {
        "y": 5760,
        "height": 10453
      },
      {
        "y": 6336,
        "height": 10453
      },
      {
        "y": 6912,
        "height": 10453
      },
      {
        "y": 7488,
        "height": 10453
      },
      {
        "y": 8064,
        "height": 10453
      },
      {
        "y": 8640,
        "height": 10453
      },
      {
        "y": 9216,
        "height": 10453
      },
      {
        "y": 9733,
        "height": 10453
      }
    ],
    "scans": 19,
    "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: "Blog", "Appointments", "Find Provider".
-   **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: "Patient Resources", "Medical Services", "Health Education".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "holistic wellness", "chronic care", "health assessment".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Join Program", "Learn More", "Book Class".
-   **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: "fitness assessment".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "provider spotlights", "nutrition advice", "wellness tips".
-   **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.