MiniMax MiniMax M3 – Home and Garden

via CoreWeave · Generated

  • AIMAC Debt 5.65
  • Cost $0.017
  • Total Violations 46
  • HTML Size 59 KB
  • Em Dashes 24

Screenshot

View MiniMax MiniMax M3 Home and Garden page View Live Page

Accessibility Issues Found

46 Serious

  • color-contrast serious 46 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <a href="#newsletter" class="header-cta">Join Free</a>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Verdant Vista — Cultivate Your Perfect Sanctuary</title>
<meta name="description" content="Verdant Vista is your trusted companion for home improvement, gardening, DIY guides, landscaping, and decor. Cultivate the home and garden of your dreams.">
<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=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Montserrat:wght@400;500;600;700;800&family=Poppins:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
  :root {
    --leaf-900: #1f3a25;
    --leaf-700: #2f6b3a;
    --leaf-500: #4a8c57;
    --leaf-300: #a8c9ad;
    --leaf-100: #eaf3ec;
    --terra-700: #b25c2a;
    --terra-500: #d97a3a;
    --sun-400: #f0b53f;
    --cream: #f7f3ea;
    --sand: #efe6d3;
    --ink-900: #1c1f1a;
    --ink-700: #3b4135;
    --ink-500: #6b7264;
    --ink-300: #b6bcb1;
    --white: #ffffff;
    --shadow-sm: 0 2px 8px rgba(31,58,37,0.06);
    --shadow-md: 0 8px 24px rgba(31,58,37,0.10);
    --shadow-lg: 0 20px 50px rgba(31,58,37,0.14);
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 22px;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Poppins', sans-serif;
    color: var(--ink-700);
    background: var(--cream);
    line-height: 1.65;
    overflow-x: hidden;
  }

  h1, h2, h3, h4 { font-family: 'Lora', serif; color: var(--leaf-900); line-height: 1.25; }
  h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); font-weight: 600; }
  h2 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 600; }
  h3 { font-size: 1.35rem; font-weight: 600; }
  p { margin-bottom: 1rem; }

  a { color: var(--leaf-700); text-decoration: none; transition: color .2s; }
  a:hover { color: var(--terra-500); }

  img { max-width: 100%; display: block; }

  .container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

  /* TOP BANNER */
  .top-banner {
    background: var(--leaf-900);
    color: var(--leaf-100);
    font-size: 0.85rem;
    padding: 8px 0;
    text-align: center;
  }
  .top-banner strong { color: var(--sun-400); }

  /* HEADER */
  header.site-header {
    background: var(--white);
    border-bottom: 1px solid var(--leaf-100);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: var(--shadow-sm);
  }
  .header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    max-width: 1240px;
    margin: 0 auto;
    gap: 24px;
  }
  .brand {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .brand img { width: 56px; height: 56px; border-radius: 50%; border: 2px solid var(--leaf-300); }
  .brand-text { display: flex; flex-direction: column; }
  .brand-name {
    font-family: 'Lora', serif;
    font-size: 1.55rem;
    font-weight: 700;
    color: var(--leaf-900);
    letter-spacing: -0.5px;
  }
  .brand-tag {
    font-size: 0.78rem;
    color: var(--leaf-700);
    font-style: italic;
    letter-spacing: 0.4px;
  }
  nav.primary-nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 28px;
  }
  nav.primary-nav a {
    font-weight: 500;
    font-size: 0.95rem;
    color: var(--ink-900);
    position: relative;
    padding: 4px 0;
  }
  nav.primary-nav a:hover { color: var(--leaf-700); }
  nav.primary-nav a::after {
    content: "";
    position: absolute;
    bottom: -4px; left: 0;
    width: 0; height: 2px;
    background: var(--terra-500);
    transition: width .25s;
  }
  nav.primary-nav a:hover::after { width: 100%; }
  .header-cta {
    background: var(--terra-500);
    color: var(--white);
    padding: 10px 20px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: transform .2s, background .2s;
  }
  .header-cta:hover { background: var(--terra-700); color: var(--white); transform: translateY(-2px); }

  .nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
  }
  .nav-toggle span {
    display: block;
    width: 26px; height: 2px;
    background: var(--leaf-900);
    margin: 5px 0;
    transition: .3s;
  }

  /* HERO */
  .hero {
    position: relative;
    background:
      linear-gradient(135deg, rgba(31,58,37,0.78) 0%, rgba(47,107,58,0.55) 100%),
      url('https://picsum.photos/1600/700?blur=1') center/cover;
    color: var(--white);
    padding: 110px 0 120px;
    overflow: hidden;
  }
  .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(240,181,63,0.18), transparent 50%);
  }
  .hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
    position: relative;
    z-index: 2;
  }
  .hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(10px);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 22px;
    border: 1px solid rgba(255,255,255,0.2);
  }
  .hero-eyebrow::before {
    content: "✦";
    color: var(--sun-400);
  }
  .hero h1 {
    color: var(--white);
    margin-bottom: 22px;
  }
  .hero h1 em {
    color: var(--sun-400);
    font-style: italic;
    font-family: 'Lora', serif;
  }
  .hero-lead {
    font-size: 1.12rem;
    color: rgba(255,255,255,0.92);
    max-width: 540px;
    margin-bottom: 32px;
    line-height: 1.7;
  }
  .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    border: none;
    transition: all .25s;
    font-family: inherit;
  }
  .btn-primary {
    background: var(--terra-500);
    color: var(--white);
  }
  .btn-primary:hover {
    background: var(--terra-700);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(217,122,58,0.35);
  }
  .btn-outline {
    background: transparent;
    color: var(--white);
    border: 2px solid rgba(255,255,255,0.4);
  }
  .btn-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: var(--white);
    color: var(--white);
  }
  .btn-leaf {
    background: var(--leaf-700);
    color: var(--white);
  }
  .btn-leaf:hover { background: var(--leaf-900); color: var(--white); }

  .hero-card {
    background: rgba(255,255,255,0.97);
    border-radius: var(--radius-lg);
    padding: 24px;
    color: var(--ink-900);
    box-shadow: var(--shadow-lg);
    transform: rotate(1deg);
  }
  .hero-card-img {
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: 16px;
    aspect-ratio: 4/3;
  }
  .hero-card-tag {
    display: inline-block;
    background: var(--leaf-100);
    color: var(--leaf-700);
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    margin-bottom: 10px;
  }
  .hero-card h3 { font-size: 1.15rem; margin-bottom: 6px; }
  .hero-card p { font-size: 0.88rem; color: var(--ink-500); margin-bottom: 12px; }
  .hero-card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--leaf-100);
    font-size: 0.82rem;
    color: var(--ink-500);
  }
  .hero-card-meta img {
    width: 32px; height: 32px;
    border-radius: 50%;
  }

  /* STATS BAR */
  .stats-bar {
    background: var(--leaf-900);
    color: var(--cream);
    padding: 36px 0;
  }
  .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
  }
  .stat-num {
    font-family: 'Lora', serif;
    font-size: 2.4rem;
    font-weight: 700;
    color: var(--sun-400);
    line-height: 1;
  }
  .stat-label { font-size: 0.85rem; color: var(--leaf-300); margin-top: 6px; }

  /* SECTION DEFAULTS */
  section.block {
    padding: 90px 0;
  }
  .section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 60px;
  }
  .section-eyebrow {
    color: var(--terra-500);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 12px;
  }
  .section-head p {
    color: var(--ink-500);
    font-size: 1.05rem;
    margin-top: 14px;
  }

  /* CATEGORIES */
  .categories { background: var(--white); }
  .cat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }
  .cat-card {
    background: var(--cream);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all .3s;
    border: 1px solid transparent;
    cursor: pointer;
  }
  .cat-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: var(--leaf-300);
  }
  .cat-img {
    aspect-ratio: 4/3;
    overflow: hidden;
  }
  .cat-img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .5s;
  }
  .cat-card:hover .cat-img img { transform: scale(1.08); }
  .cat-body { padding: 22px; }
  .cat-body h3 { margin-bottom: 8px; font-size: 1.2rem; }
  .cat-body p { font-size: 0.9rem; color: var(--ink-500); margin-bottom: 14px; }
  .cat-link {
    color: var(--leaf-700);
    font-weight: 600;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }
  .cat-link::after {
    content: "→";
    transition: transform .2s;
  }
  .cat-card:hover .cat-link::after { transform: translateX(4px); }

  /* FEATURED SPLIT */
  .featured { background: var(--cream); }
  .feature-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 70px;
    align-items: center;
  }
  .feature-split.reverse { grid-template-columns: 1fr 1fr; }
  .feature-img {
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    aspect-ratio: 5/4;
  }
  .feature-img img { width: 100%; height: 100%; object-fit: cover; }
  .feature-content h2 { margin-bottom: 18px; }
  .feature-content > p { color: var(--ink-500); margin-bottom: 22px; }
  .feature-list {
    list-style: none;
    margin-bottom: 26px;
  }
  .feature-list li {
    padding-left: 32px;
    position: relative;
    margin-bottom: 12px;
    font-size: 0.95rem;
  }
  .feature-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    width: 22px; height: 22px;
    background: var(--leaf-100);
    color: var(--leaf-700);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 700;
  }
  .feature-tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
  .tag {
    background: var(--leaf-100);
    color: var(--leaf-700);
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
  }

  /* CALCULATOR */
  .calculator-section {
    background: linear-gradient(135deg, var(--leaf-100) 0%, var(--cream) 100%);
  }
  .calc-wrap {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 50px;
    align-items: stretch;
  }
  .calc-info {
    background: var(--leaf-900);
    color: var(--cream);
    border-radius: var(--radius-lg);
    padding: 44px;
    position: relative;
    overflow: hidden;
  }
  .calc-info::before {
    content: "";
    position: absolute;
    bottom: -40px; right: -40px;
    width: 200px; height: 200px;
    background: var(--terra-500);
    border-radius: 50%;
    opacity: 0.15;
  }
  .calc-info h2 { color: var(--white); margin-bottom: 16px; }
  .calc-info > p { color: var(--leaf-300); margin-bottom: 24px; }
  .calc-info-list { list-style: none; }
  .calc-info-list li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex; align-items: center; gap: 12px;
    font-size: 0.92rem;
  }
  .calc-info-list li::before {
    content: "◉";
    color: var(--sun-400);
  }
  .calc-form {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 40px;
    box-shadow: var(--shadow-md);
  }
  .form-row { margin-bottom: 22px; }
  .form-row label {
    display: block;
    font-weight: 600;
    color: var(--ink-900);
    margin-bottom: 8px;
    font-size: 0.9rem;
  }
  .form-row select, .form-row input[type="number"] {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--leaf-100);
    border-radius: var(--radius-sm);
    font-size: 0.95rem;
    font-family: inherit;
    background: var(--white);
    color: var(--ink-900);
    transition: border-color .2s;
  }
  .form-row select:focus, .form-row input:focus {
    outline: none;
    border-color: var(--leaf-500);
  }
  .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .range-row {
    display: flex; align-items: center; gap: 14px;
  }
  .range-row input[type="range"] {
    flex: 1;
    accent-color: var(--leaf-700);
  }
  .range-val {
    background: var(--leaf-100);
    color: var(--leaf-700);
    padding: 4px 12px;
    border-radius: var(--radius-sm);
    font-weight: 600;
    font-size: 0.88rem;
    min-width: 60px;
    text-align: center;
  }
  .calc-result {
    background: var(--leaf-100);
    border-radius: var(--radius-md);
    padding: 24px;
    margin-top: 24px;
    text-align: center;
    border: 2px dashed var(--leaf-300);
  }
  .calc-result-label { font-size: 0.85rem; color: var(--leaf-700); margin-bottom: 6px; }
  .calc-result-num {
    font-family: 'Lora', serif;
    font-size: 2.6rem;
    color: var(--leaf-900);
    font-weight: 700;
    line-height: 1;
  }
  .calc-result-range {
    font-size: 0.82rem;
    color: var(--ink-500);
    margin-top: 8px;
  }

  /* DIY PROJECTS */
  .projects { background: var(--white); }
  .projects-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 24px;
  }
  .project-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--cream);
    position: relative;
    transition: transform .3s;
  }
  .project-card:hover { transform: translateY(-4px); }
  .project-card.tall { grid-row: span 2; }
  .project-img { aspect-ratio: 4/3; overflow: hidden; }
  .project-card.tall .project-img { aspect-ratio: 3/4; }
  .project-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
  .project-card:hover .project-img img { transform: scale(1.06); }
  .project-body { padding: 22px; }
  .project-meta {
    display: flex; gap: 14px;
    font-size: 0.78rem;
    color: var(--ink-500);
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .project-meta .level {
    color: var(--terra-500);
    font-weight: 600;
  }
  .project-body h3 { font-size: 1.15rem; margin-bottom: 8px; }
  .project-body p { font-size: 0.88rem; color: var(--ink-500); margin-bottom: 0; }

  /* SEASONAL GUIDE */
  .seasonal { background: var(--leaf-900); color: var(--cream); }
  .seasonal h2 { color: var(--white); }
  .seasonal .section-head p { color: var(--leaf-300); }
  .season-tabs {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 40px;
    flex-wrap: wrap;
  }
  .season-tab {
    padding: 12px 28px;
    background: transparent;
    border: 2px solid rgba(255,255,255,0.2);
    color: var(--leaf-300);
    border-radius: 999px;
    cursor: pointer;
    font-weight: 500;
    font-family: inherit;
    transition: all .25s;
  }
  .season-tab:hover { border-color: var(--leaf-300); color: var(--white); }
  .season-tab.active {
    background: var(--terra-500);
    border-color: var(--terra-500);
    color: var(--white);
  }
  .season-content {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius-lg);
    padding: 40px;
    display: none;
    animation: fadeIn .4s;
  }
  .season-content.active { display: grid; grid-template-columns: 1fr 1.5fr; gap: 40px; align-items: center; }
  @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  .season-img { border-radius: var(--radius-md); overflow: hidden; aspect-ratio: 1; }
  .season-img img { width: 100%; height: 100%; object-fit: cover; }
  .season-content h3 { color: var(--white); font-size: 1.5rem; margin-bottom: 12px; }
  .season-content p { color: var(--leaf-300); margin-bottom: 16px; }
  .season-tasks { list-style: none; }
  .season-tasks li {
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 0.92rem;
    color: var(--cream);
  }
  .season-tasks li::before {
    content: "❀";
    color: var(--sun-400);
    flex-shrink: 0;
  }

  /* TESTIMONIALS */
  .testimonials { background: var(--cream); }
  .test-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
  }
  .test-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 32px;
    box-shadow: var(--shadow-sm);
    position: relative;
    transition: all .3s;
    border-top: 4px solid var(--leaf-500);
  }
  .test-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .test-card.featured { border-top-color: var(--terra-500); background: var(--leaf-900); color: var(--cream); }
  .test-card.featured h4, .test-card.featured .test-name { color: var(--white); }
  .test-stars { color: var(--sun-400); margin-bottom: 14px; font-size: 1.05rem; letter-spacing: 2px; }
  .test-card blockquote {
    font-family: 'Lora', serif;
    font-style: italic;
    font-size: 1.02rem;
    line-height: 1.6;
    margin-bottom: 22px;
    color: var(--ink-700);
  }
  .test-card.featured blockquote { color: var(--cream); }
  .test-author { display: flex; align-items: center; gap: 14px; }
  .test-author img { width: 50px; height: 50px; border-radius: 50%; }
  .test-name { font-weight: 600; color: var(--ink-900); font-size: 0.95rem; }
  .test-role { font-size: 0.8rem; color: var(--ink-500); }
  .test-card.featured .test-role { color: var(--leaf-300); }

  /* BLOG */
  .blog { background: var(--white); }
  .blog-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    gap: 28px;
  }
  .blog-card {
    background: var(--cream);
    border-radius: var(--radius-lg);
    overflow: hidden;
    transition: all .3s;
  }
  .blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
  .blog-card.featured { grid-row: span 1; }
  .blog-img { aspect-ratio: 16/10; overflow: hidden; }
  .blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
  .blog-card:hover .blog-img img { transform: scale(1.05); }
  .blog-body { padding: 24px; }
  .blog-cat {
    display: inline-block;
    background: var(--terra-500);
    color: var(--white);
    padding: 4px 12px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
  }
  .blog-body h3 { font-size: 1.2rem; margin-bottom: 10px; }
  .blog-card.featured h3 { font-size: 1.6rem; }
  .blog-body p { font-size: 0.9rem; color: var(--ink-500); margin-bottom: 16px; }
  .blog-meta {
    display: flex; align-items: center; gap: 12px;
    font-size: 0.82rem;
    color: var(--ink-500);
    padding-top: 14px;
    border-top: 1px solid var(--leaf-100);
  }
  .blog-meta img { width: 28px; height: 28px; border-radius: 50%; }

  /* FAQ */
  .faq { background: var(--leaf-100); }
  .faq-wrap { max-width: 820px; margin: 0 auto; }
  .faq-item {
    background: var(--white);
    border-radius: var(--radius-md);
    margin-bottom: 14px;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
  }
  .faq-q {
    width: 100%;
    background: none;
    border: none;
    padding: 22px 28px;
    text-align: left;
    cursor: pointer;
    font-family: 'Lora', serif;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--leaf-900);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
  }
  .faq-icon {
    width: 28px; height: 28px;
    background: var(--leaf-100);
    color: var(--leaf-700);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    flex-shrink: 0;
    transition: transform .3s, background .2s;
  }
  .faq-item.open .faq-icon { background: var(--terra-500); color: var(--white); transform: rotate(45deg); }
  .faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height .35s;
  }
  .faq-a-inner {
    padding: 0 28px 22px;
    color: var(--ink-500);
    line-height: 1.7;
    border-top: 1px solid var(--leaf-100);
    padding-top: 18px;
    margin-top: 4px;
  }
  .faq-item.open .faq-a { max-height: 400px; }

  /* NEWSLETTER */
  .newsletter {
    background:
      linear-gradient(rgba(31,58,37,0.92), rgba(31,58,37,0.92)),
      url('https://picsum.photos/1600/500?blur=2') center/cover;
    color: var(--cream);
    text-align: center;
    padding: 80px 0;
  }
  .newsletter h2 { color: var(--white); margin-bottom: 12px; }
  .newsletter p { color: var(--leaf-300); max-width: 580px; margin: 0 auto 30px; }
  .newsletter-form {
    display: flex;
    max-width: 480px;
    margin: 0 auto;
    gap: 10px;
    background: rgba(255,255,255,0.1);
    padding: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.2);
  }
  .newsletter-form input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 12px 18px;
    color: var(--white);
    font-family: inherit;
    font-size: 0.95rem;
  }
  .newsletter-form input::placeholder { color: var(--leaf-300); }
  .newsletter-form input:focus { outline: none; }
  .newsletter-form button {
    background: var(--terra-500);
    color: var(--white);
    border: none;
    padding: 12px 28px;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: background .2s;
  }
  .newsletter-form button:hover { background: var(--terra-700); }

  /* FOOTER */
  footer.site-footer {
    background: var(--ink-900);
    color: var(--leaf-300);
    padding: 70px 0 30px;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
  }
  .footer-brand img { width: 70px; height: 70px; border-radius: 50%; margin-bottom: 16px; }
  .footer-brand h4 { color: var(--white); font-family: 'Lora', serif; font-size: 1.4rem; margin-bottom: 12px; }
  .footer-brand p { font-size: 0.9rem; line-height: 1.7; margin-bottom: 18px; }
  .footer-social { display: flex; gap: 10px; }
  .footer-social a {
    width: 38px; height: 38px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    color: var(--leaf-300);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .2s;
    font-size: 0.95rem;
    font-weight: 600;
  }
  .footer-social a:hover { background: var(--terra-500); color: var(--white); }
  .footer-col h5 {
    color: var(--white);
    font-size: 0.95rem;
    margin-bottom: 18px;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
  }
  .footer-col ul { list-style: none; }
  .footer-col li { margin-bottom: 10px; }
  .footer-col a {
    color: var(--leaf-300);
    font-size: 0.88rem;
    transition: color .2s;
  }
  .footer-col a:hover { color: var(--sun-400); }
  .footer-contact-item {
    font-size: 0.88rem;
    margin-bottom: 12px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }
  .footer-contact-item strong { color: var(--white); font-weight: 600; display: block; margin-bottom: 2px; }
  .footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.08);
    padding-top: 26px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.85rem;
  }
  .footer-bottom-links { display: flex; gap: 22px; }
  .footer-bottom-links a { color: var(--leaf-300); font-size: 0.85rem; }
  .footer-bottom-links a:hover { color: var(--sun-400); }

  /* RESPONSIVE */
  @media (max-width: 1024px) {
    .hero-grid, .feature-split, .calc-wrap, .season-content.active {
      grid-template-columns: 1fr;
      gap: 40px;
    }
    .cat-grid, .test-grid { grid-template-columns: repeat(2, 1fr); }
    .projects-grid, .blog-grid { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  }
  @media (max-width: 768px) {
    .header-inner { flex-wrap: wrap; }
    nav.primary-nav { order: 3; width: 100%; display: none; }
    nav.primary-nav.open { display: block; }
    nav.primary-nav ul { flex-direction: column; align-items: flex-start; gap: 14px; padding-top: 14px; }
    .nav-toggle { display: block; }
    .header-cta { display: none; }
    .hero { padding: 80px 0; }
    .cat-grid, .test-grid, .projects-grid, .blog-grid, .footer-grid, .form-grid {
      grid-template-columns: 1fr;
    }
    section.block { padding: 60px 0; }
    .newsletter-form { flex-direction: column; border-radius: var(--radius-md); }
    .newsletter-form button { width: 100%; }
    .project-card.tall { grid-row: auto; }
    .footer-bottom { flex-direction: column; text-align: center; }
  }
</style>
</head>
<body>

<!-- TOP BANNER -->
<div class="top-banner">
  🌿 <strong>Spring Season Sale:</strong> Save 25% on all premium garden plans — Use code <strong>VERDANT25</strong> at checkout
</div>

<!-- HEADER -->
<header class="site-header">
  <div class="header-inner">
    <a href="#" class="brand">
      <img src="https://placehold.co/100x100/2f6b3a/f7f3ea?text=VV&font=lora&bold" alt="Verdant Vista logo">
      <div class="brand-text">
        <span class="brand-name">Verdant Vista</span>
        <span class="brand-tag">Cultivate Your Perfect Sanctuary</span>
      </div>
    </a>
    <nav class="primary-nav" id="primaryNav">
      <ul>
        <li><a href="#categories">Explore</a></li>
        <li><a href="#projects">DIY Projects</a></li>
        <li><a href="#seasonal">Seasonal Guide</a></li>
        <li><a href="#tools">Tools</a></li>
        <li><a href="#calculator">Cost Planner</a></li>
        <li><a href="#blog">Blog</a></li>
        <li><a href="#contact">Shop</a></li>
      </ul>
    </nav>
    <a href="#newsletter" class="header-cta">Join Free</a>
    <button class="nav-toggle" id="navToggle" aria-label="Toggle menu">
      <span></span><span></span><span></span>
    </button>
  </div>
</header>

<!-- HERO -->
<section class="hero">
  <div class="container">
    <div class="hero-grid">
      <div>
        <span class="hero-eyebrow">Trusted by 240,000+ home gardeners</span>
        <h1>Where <em>Vision</em> Meets Garden, and Home Becomes Haven</h1>
        <p class="hero-lead">
          From seed to cornerstone, Verdant Vista is your trusted companion for every step of the home and garden journey. Discover expert DIY guides, seasonal planting calendars, landscaping blueprints, and curated tool reviews — all crafted to help you cultivate spaces that thrive.
        </p>
        <div class="hero-actions">
          <a href="#calculator" class="btn btn-primary">Start Planning →</a>
          <a href="#projects" class="btn btn-outline">Browse DIY Guides</a>
        </div>
      </div>
      <div class="hero-card">
        <div class="hero-card-img">
          <img src="https://picsum.photos/600/450?random=10" alt="Featured DIY project: backyard transformation">
        </div>
        <span class="hero-card-tag">Featured Project</span>
        <h3>The 14-Day Backyard Makeover</h3>
        <p>A weekend-by-weekend roadmap for transforming a tired lawn into a pollinator-friendly retreat.</p>
        <div class="hero-card-meta">
          <img src="https://i.pravatar.cc/80?u=elena" alt="Elena Marsh">
          <span>By <strong>Elena Marsh</strong> · 8 min read</span>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- STATS BAR -->
<div class="stats-bar">
  <div class="container">
    <div class="stats-grid">
      <div><div class="stat-num">1,200+</div><div class="stat-label">DIY Guides Published</div></div>
      <div><div class="stat-num">38</div><div class="stat-label">Plant Hardiness Zones Covered</div></div>
      <div><div class="stat-num">240k</div><div class="stat-label">Active Home Gardeners</div></div>
      <div><div class="stat-num">4.9★</div><div class="stat-label">Average Reader Rating</div></div>
    </div>
  </div>
</div>

<!-- CATEGORIES -->
<section class="block categories" id="categories">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">Explore The Collection</div>
      <h2>Four Paths to a More Beautiful Home</h2>
      <p>Whether you're coaxing seedlings, redesigning a kitchen, or building a deck from scratch, our curated library covers every season, skill level, and square foot.</p>
    </div>
    <div class="cat-grid">
      <a href="#projects" class="cat-card">
        <div class="cat-img"><img src="https://picsum.photos/400/300?random=20" alt="Garden planning"></div>
        <div class="cat-body">
          <h3>Garden Planning</h3>
          <p>Master the art of plant selection, companion planting, and seasonal rotation with zone-specific calendars.</p>
          <span class="cat-link">Browse plans</span>
        </div>
      </a>
      <a href="#projects" class="cat-card">
        <div class="cat-img"><img src="https://picsum.photos/400/300?random=21" alt="Landscaping"></div>
        <div class="cat-body">
          <h3>Landscaping Tips</h3>
          <p>Boost curb appeal with hardscaping, native plant design, and year-round structure from our pros.</p>
          <span class="cat-link">Explore designs</span>
        </div>
      </a>
      <a href="#projects" class="cat-card">
        <div class="cat-img"><img src="https://picsum.photos/400/300?random=22" alt="Interior design"></div>
        <div class="cat-body">
          <h3>Interior Design</h3>
          <p>Refresh any room with color theory, lighting fundamentals, and biophilic styling principles.</p>
          <span class="cat-link">See inspiration</span>
        </div>
      </a>
      <a href="#tools" class="cat-card">
        <div class="cat-img"><img src="https://picsum.photos/400/300?random=23" alt="Tools and gear"></div>
        <div class="cat-body">
          <h3>Tools & Gear</h3>
          <p>Honest, hands-on reviews of pruners, mowers, drills, and smart-home garden tech worth your money.</p>
          <span class="cat-link">Read reviews</span>
        </div>
      </a>
    </div>
  </div>
</section>

<!-- FEATURED: GARDEN PLANNING -->
<section class="block featured" id="garden-planning">
  <div class="container">
    <div class="feature-split">
      <div class="feature-img">
        <img src="https://picsum.photos/700/560?random=30" alt="Garden planning sketch on table">
      </div>
      <div class="feature-content">
        <div class="section-eyebrow" style="text-align:left;">Garden Planning</div>
        <h2>Design a Garden That Works With Nature, Not Against It</h2>
        <p>
          The best gardens aren't accidents — they're thoughtfully designed ecosystems. Whether you're sketching your first 4×8 raised bed or mapping a half-acre pollinator meadow, our planning framework helps you match the right perennial to the right place, at the right time.
        </p>
        <p>
          We'll walk you through sun mapping, soil testing, drainage analysis, and the often-overlooked science of microclimates — those warm pockets near south-facing walls and chilly dips where frost settles first.
        </p>
        <ul class="feature-list">
          <li>USDA hardiness zone lookup with first/last frost date calculator</li>
          <li>Companion planting charts for vegetables, herbs, and flowers</li>
          <li>Printable layout templates for raised beds, borders, and containers</li>
          <li>Annual vs. perennial planning: build a garden that returns stronger</li>
        </ul>
        <div class="feature-tags">
          <span class="tag">Perennials</span>
          <span class="tag">Raised Beds</span>
          <span class="tag">Pollinators</span>
          <span class="tag">Edibles</span>
          <span class="tag">Shade Gardens</span>
        </div>
        <a href="#calculator" class="btn btn-leaf">Plan Your Project</a>
      </div>
    </div>
  </div>
</section>

<!-- CALCULATOR -->
<section class="block calculator-section" id="calculator">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">Interactive Tool</div>
      <h2>Estimate Your Project Budget in Seconds</h2>
      <p>Our project cost calculator uses regional pricing data to give you a realistic range before you break ground. Adjust materials, labor assumptions, and project size to match your vision.</p>
    </div>
    <div class="calc-wrap">
      <div class="calc-info">
        <h2>Why Plan the Budget First?</h2>
        <p>Over 70% of DIY and landscaping projects exceed their initial estimate by 20% or more. A few minutes of planning saves thousands of dollars — and a lot of headaches.</p>
        <ul class="calc-info-list">
          <li>Includes materials, labor, and a 10% contingency buffer</li>
          <li>Pricing data updated quarterly from 12 U.S. regions</li>
          <li>Compare DIY vs. contractor costs side-by-side</li>
          <li>Export your estimate as a printable PDF shopping list</li>
          <li>Save up to 5 project scenarios to revisit later</li>
        </ul>
      </div>
      <form class="calc-form" id="calcForm" onsubmit="event.preventDefault();">
        <div class="form-grid">
          <div class="form-row">
            <label for="projectType">Project Type</label>
            <select id="projectType">
              <option value="landscape">Landscaping Refresh</option>
              <option value="deck">Deck or Patio Build</option>
              <option value="kitchen">Kitchen Remodel</option>
              <option value="bathroom">Bathroom Remodel</option>
              <option value="garden">New Garden Bed</option>
              <option value="fence">Fence Installation</option>
              <option value="paint">Interior Painting</option>
            </select>
          </div>
          <div class="form-row">
            <label for="region">Your Region</label>
            <select id="region">
              <option value="1.00">National Average</option>
              <option value="1.15">Northeast</option>
              <option value="0.95">Midwest</option>
              <option value="0.92">South</option>
              <option value="1.18">West Coast</option>
              <option value="1.05">Mountain West</option>
            </select>
          </div>
        </div>
        <div class="form-row">
          <label for="size">Project Size: <span class="range-val" id="sizeVal">500 sq ft</span></label>
          <div class="range-row">
            <input type="range" id="size" min="50" max="2000" step="50" value="500">
          </div>
        </div>
        <div class="form-row">
          <label for="quality">Material Quality</label>
          <select id="quality">
            <option value="0.85">Budget-friendly</option>
            <option value="1.00" selected>Mid-range (most popular)</option>
            <option value="1.35">Premium / Designer</option>
          </select>
        </div>
        <div class="form-row">
          <label for="labor">Labor Approach</label>
          <select id="labor">
            <option value="0.30">Pure DIY (10% labor)</option>
            <option value="0.65">Hybrid — DIY + partial help</option>
            <option value="1.00" selected>Full professional contractor</option>
          </select>
        </div>
        <div class="calc-result">
          <div class="calc-result-label">Estimated Project Investment</div>
          <div class="calc-result-num" id="calcTotal">$8,450</div>
          <div class="calc-result-range" id="calcRange">Likely range: $7,600 – $9,300</div>
        </div>
        <button type="button" class="btn btn-primary" style="width:100%; margin-top:20px; justify-content:center;" onclick="alert('Your estimate has been sent to your email, along with a printable shopping list.')">Download Plan (PDF)</button>
      </form>
    </div>
  </div>
</section>

<!-- FEATURED: LANDSCAPING -->
<section class="block featured" style="background: var(--white);">
  <div class="container">
    <div class="feature-split">
      <div class="feature-content">
        <div class="section-eyebrow" style="text-align:left;">Landscaping Tips</div>
        <h2>Boost Curb Appeal Without Rebuilding Everything</h2>
        <p>
          You don't need a backhoe and a six-figure budget to transform your home's exterior. Strategic landscaping — what the pros call "layered planting" — adds dimension, color, and four-season interest using principles any homeowner can apply in a single weekend.
        </p>
        <p>
          Our landscaping playbook starts with the bones: mature evergreens for year-round structure, mid-height flowering shrubs for focal points, and a low ground layer of perennials and ornamental grasses that wave in the breeze. Add in a path of decomposed granite or flagstone, edge it with steel or stone, and you've created the kind of layered curb appeal that makes neighbors slow down on their evening walks.
        </p>
        <ul class="feature-list">
          <li>The "Thriller, Filler, Spiller" container recipe for instant impact</li>
          <li>Layered border designs that look full in year one</li>
          <li>Low-water xeriscape templates for drought-prone regions</li>
          <li>Edging techniques: steel, stone, brick, and living edges</li>
          <li>Lighting placement for nighttime drama and security</li>
        </ul>
        <div class="feature-tags">
          <span class="tag">Curb Appeal</span>
          <span class="tag">Xeriscape</span>
          <span class="tag">Hardscape</span>
          <span class="tag">Outdoor Lighting</span>
        </div>
        <a href="#" class="btn btn-leaf">Get the Landscaping Guide</a>
      </div>
      <div class="feature-img">
        <img src="https://picsum.photos/700/560?random=31" alt="Beautiful front yard landscaping">
      </div>
    </div>
  </div>
</section>

<!-- DIY PROJECTS -->
<section class="block projects" id="projects">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">DIY Projects</div>
      <h2>Hand-Picked Projects for Your Next Weekend</h2>
      <p>From quick Saturday afternoon wins to ambitious multi-week builds, every project includes a materials list, step-by-step photos, and a printable cut sheet.</p>
    </div>
    <div class="projects-grid">
      <a href="#" class="project-card tall">
        <div class="project-img"><img src="https://picsum.photos/500/650?random=40" alt="Raised garden bed build"></div>
        <div class="project-body">
          <div class="project-meta"><span class="level">Beginner</span><span>· 4 hours</span><span>· $120</span></div>
          <h3>Build a Cedar Raised Garden Bed in One Afternoon</h3>
          <p>Rot-resistant cedar, a few basic tools, and our downloadable cut list get you growing in vegetables by next weekend.</p>
        </div>
      </a>
      <a href="#" class="project-card">
        <div class="project-img"><img src="https://picsum.photos/500/380?random=41" alt="Outdoor string lights"></div>
        <div class="project-body">
          <div class="project-meta"><span class="level">Easy</span><span>· 2 hours</span></div>
          <h3>DIY Pergola String-Light Canopy</h3>
          <p>Magical evening lighting for patios and decks.</p>
        </div>
      </a>
      <a href="#" class="project-card">
        <div class="project-img"><img src="https://picsum.photos/500/380?random=42" alt="Pallet compost bin"></div>
        <div class="project-body">
          <div class="project-meta"><span class="level">Beginner</span><span>· 3 hours</span></div>
          <h3>Three-Bin Compost Station from Pallets</h3>
          <p>Turn kitchen scraps into black gold for your garden.</p>
        </div>
      </a>
      <a href="#" class="project-card">
        <div class="project-img"><img src="https://picsum.photos/500/380?random=43" alt="Stone garden path"></div>
        <div class="project-body">
          <div class="project-meta"><span class="level">Intermediate</span><span>· 1 day</span></div>
          <h3>Natural Stone Garden Path with River Rock Borders</h3>
          <p>A welcoming walk that doubles as drainage.</p>
        </div>
      </a>
      <a href="#" class="project-card">
        <div class="project-img"><img src="https://picsum.photos/500/380?random=44" alt="Vertical herb garden"></div>
        <div class="project-body">
          <div class="project-meta"><span class="level">Easy</span><span>· 90 min</span></div>
          <h3>Vertical Herb Garden for Small Patios</h3>
          <p>Fresh basil, thyme, and mint within arm's reach.</p>
        </div>
      </a>
    </div>
  </div>
</section>

<!-- SEASONAL GUIDE -->
<section class="block seasonal" id="seasonal">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow" style="color: var(--sun-400);">Seasonal Guide</div>
      <h2>What to Do in Your Garden Right Now</h2>
      <p>Select your season and get a curated checklist of garden tasks, planting windows, and maintenance priorities tailored to your zone.</p>
    </div>
    <div class="season-tabs">
      <button class="season-tab" data-season="spring">🌷 Spring</button>
      <button class="season-tab active" data-season="summer">☀️ Summer</button>
      <button class="season-tab" data-season="fall">🍂 Fall</button>
      <button class="season-tab" data-season="winter">❄️ Winter</button>
    </div>
    <div class="season-content" data-season="spring">
      <div class="season-img"><img src="https://picsum.photos/500/500?random=50" alt="Spring garden"></div>
      <div>
        <h3>Spring: The Season of Renewal</h3>
        <p>As the soil warms and daylight stretches, spring is your busiest planting window. Focus on cool-season crops first, then transition to warm-season varieties after the last frost date passes.</p>
        <ul class="season-tasks">
          <li>Direct sow peas, lettuce, radishes, and spinach 4–6 weeks before last frost</li>
          <li>Divide and transplant overgrown perennials like hostas and daylilies</li>
          <li>Apply pre-emergent herbicide to lawns before soil temps hit 55°F</li>
          <li>Harden off seedlings started indoors over 7–10 days</li>
          <li>Sharpen mower blades and service irrigation systems</li>
        </ul>
      </div>
    </div>
    <div class="season-content active" data-season="summer">
      <div class="season-img"><img src="https://picsum.photos/500/500?random=51" alt="Summer garden"></div>
      <div>
        <h3>Summer: Maintenance & Harvest Mode</h3>
        <p>Long days mean vigorous growth — and demanding upkeep. Focus on deep watering, smart harvesting, and proactive pest management before problems cascade.</p>
        <ul class="season-tasks">
          <li>Water deeply but infrequently — 1 inch per week, delivered at the root zone</li>
          <li>Mulch beds to 2–3 inches to retain moisture and suppress weeds</li>
          <li>Harvest leafy greens in the cool of morning for longer shelf life</li>
          <li>Deadhead annuals like zinnias and petunias to extend bloom through August</li>
          <li>Scout daily for tomato hornworms, squash bugs, and Japanese beetles</li>
          <li>Plan and order bulbs for fall planting before selections sell out</li>
        </ul>
      </div>
    </div>
    <div class="season-content" data-season="fall">
      <div class="season-img"><img src="https://picsum.photos/500/500?random=52" alt="Fall garden"></div>
      <div>
        <h3>Fall: Plant for Spring, Prep for Winter</h3>
        <p>Autumn is the secret season for gardeners who know. Cooler air and warm soil create ideal conditions for new plantings and lawn renovation.</p>
        <ul class="season-tasks">
          <li>Plant spring-flowering bulbs — tulips, daffodils, alliums — before first hard frost</li>
          <li>Overseed thin lawns and apply fall fertilizer for stronger root systems</li>
          <li>Divide and transplant peonies, iris, and ornamental grasses</li>
          <li>Plant garlic cloves for harvest next summer</li>
          <li>Cut back perennials selectively — leave seed heads for birds and winter interest</li>
        </ul>
      </div>
    </div>
    <div class="season-content" data-season="winter">
      <div class="season-img"><img src="https://picsum.photos/500/500?random=53" alt="Winter garden"></div>
      <div>
        <h3>Winter: Plan, Protect, and Dream</h3>
        <p>While the garden rests, this is prime planning season. Sketch next year's beds, order seeds early, and protect tender plants from frost damage.</p>
        <ul class="season-tasks">
          <li>Browse and order seeds — popular heirloom varieties sell out by January</li>
          <li>Mulch tender perennials and roses after the ground freezes</li>
          <li>Inventory and sharpen tools; service gas-powered equipment</li>
          <li>Build cold frames or hoop houses for early spring starts</li>
          <li>Review garden journal notes and sketch plans for next year's rotations</li>
        </ul>
      </div>
    </div>
  </div>
</section>

<!-- TESTIMONIALS -->
<section class="block testimonials">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">Reader Stories</div>
      <h2>From Our Community of Makers</h2>
      <p>Real readers share how Verdant Vista helped them turn plans into projects — and projects into pride.</p>
    </div>
    <div class="test-grid">
      <div class="test-card">
        <div class="test-stars">★★★★★</div>
        <blockquote>"The raised bed calculator alone saved me three trips to the lumber yard. I built two beds in a weekend and we're eating lettuce from them by month three. My kids actually eat salad now. That's a win."</blockquote>
        <div class="test-author">
          <img src="https://i.pravatar.cc/100?u=marcus" alt="Marcus T">
          <div>
            <div class="test-name">Marcus T.</div>
            <div class="test-role">First-time gardener · Zone 6b</div>
          </div>
        </div>
      </div>
      <div class="test-card featured">
        <div class="test-stars">★★★★★</div>
        <blockquote>"As a landscape designer with 18 years of experience, I'm picky about online resources. Verdant Vista nails the details — the xeriscape guide alone is more accurate than most paid courses I've taken. I recommend it to every client."</blockquote>
        <div class="test-author">
          <img src="https://i.pravatar.cc/100?u=elena" alt="Elena Marsh">
          <div>
            <div class="test-name">Elena Marsh</div>
            <div class="test-role">Landscape designer · Contributing editor</div>
          </div>
        </div>
      </div>
      <div class="test-card">
        <div class="test-stars">★★★★★</div>
        <blockquote>"The kitchen remodel cost estimator was spot-on within $400 of my contractor's quote. Knowing that going in saved me from getting talked into scope creep. I felt confident in every conversation."</blockquote>
        <div class="test-author">
          <img src="https://i.pravatar.cc/100?u=priya" alt="Priya R">
          <div>
            <div class="test-name">Priya R.</div>
            <div class="test-role">DIY remodeler · Zone 7a</div>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- BLOG -->
<section class="block blog" id="blog">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">From The Blog</div>
      <h2>Fresh Ideas & Field-Tested Advice</h2>
      <p>New guides drop every Tuesday and Friday — covering projects, plants, tools, and the science behind why things grow.</p>
    </div>
    <div class="blog-grid">
      <a href="#" class="blog-card featured">
        <div class="blog-img"><img src="https://picsum.photos/700/450?random=60" alt="Native plants guide"></div>
        <div class="blog-body">
          <span class="blog-cat">Native Plants</span>
          <h3>Why Your Yard Needs Fewer Ornamentals and More Natives</h3>
          <p>The ecological case is overwhelming, and the aesthetic case is finally catching up. Here's how to start a native plant conversion in three manageable phases — without losing the polished look you've worked hard to build.</p>
          <div class="blog-meta">
            <img src="https://i.pravatar.cc/80?u=jordan" alt="Jordan">
            <span>By <strong>Jordan W.</strong> · March 14 · 11 min read</span>
          </div>
        </div>
      </a>
      <a href="#" class="blog-card">
        <div class="blog-img"><img src="https://picsum.photos/500/320?random=61" alt="Pruning tools"></div>
        <div class="blog-body">
          <span class="blog-cat">Tool Review</span>
          <h3>The 6 Best Pruners We Tested This Spring</h3>
          <p>After 80 hours of cutting, we crown a winner worth every penny.</p>
          <div class="blog-meta">
            <img src="https://i.pravatar.cc/80?u=kim" alt="Kim">
            <span>By Kim L. · March 9 · 7 min</span>
          </div>
        </div>
      </a>
      <a href="#" class="blog-card">
        <div class="blog-img"><img src="https://picsum.photos/500/320?random=62" alt="Small bathroom remodel"></div>
        <div class="blog-body">
          <span class="blog-cat">DIY Remodel</span>
          <h3>A 32-Sq-Ft Bathroom That Feels Like a Spa</h3>
          <p>Smart layout moves, lighting tricks, and finishes that punch above their weight.</p>
          <div class="blog-meta">
            <img src="https://i.pravatar.cc/80?u=sam" alt="Sam">
            <span>By Sam D. · March 6 · 9 min</span>
          </div>
        </div>
      </a>
    </div>
  </div>
</section>

<!-- FAQ -->
<section class="block faq">
  <div class="container">
    <div class="section-head">
      <div class="section-eyebrow">Common Questions</div>
      <h2>Everything You Want to Know</h2>
      <p>Can't find what you're looking for? Our team replies to every email within one business day.</p>
    </div>
    <div class="faq-wrap">
      <div class="faq-item">
        <button class="faq-q">Is Verdant Vista free to use? <span class="faq-icon">+</span></button>
        <div class="faq-a"><div class="faq-a-inner">
          Yes — every guide, calculator, and seasonal checklist is completely free. We earn revenue through carefully vetted affiliate links and a premium membership that unlocks downloadable CAD plans, seed-starting spreadsheets, and ad-free reading. Most readers never need to pay a thing.
        </div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q">How accurate is the project cost calculator? <span class="faq-icon">+</span></button>
        <div class="faq-a"><div class="faq-a-inner">
          Our regional pricing data is updated every quarter using contractor invoices, materials supplier averages, and labor wage data from the Bureau of Labor Statistics. Estimates typically land within 8–12% of actual contractor bids. We always recommend adding a 10% contingency buffer for surprises — especially in older homes.
        </div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q">I live in an apartment with no yard — is this site for me? <span class="faq-icon">+</span></button>
        <div class="faq-a"><div class="faq-a-inner">
          Absolutely. Roughly 40% of our readers garden exclusively in containers, balconies, and windowsills. Look for the "Small Space" tag on any guide, or browse our entire collection of balcony-friendly vertical gardens, indoor herb systems, and patio container recipes.
        </div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q">Do you recommend specific products? <span class="faq-icon">+</span></button>
        <div class="faq-a"><div class="faq-a-inner">
          Every product recommendation is independently tested by our editorial team. We never accept payment for reviews, and we clearly mark any affiliate links. If a tool disappoints us, we say so — even if it's a popular brand. Our reputation depends on honest recommendations.
        </div></div>
      </div>
      <div class="faq-item">
        <button class="faq-q">Can I submit my own project to be featured? <span class="faq-icon">+</span></button>
        <div class="faq-a"><div class="faq-a-inner">
          We love featuring reader projects! Send high-resolution photos (landscape orientation preferred), a brief description of what you built, your zone, and any lessons learned to submissions@verdantvista.example. Selected projects receive a $150 honorarium and a curated tool kit.
        </div></div>
      </div>
    </div>
  </div>
</section>

<!-- NEWSLETTER -->
<section class="newsletter" id="newsletter">
  <div class="container">
    <h2>Get the Friday Garden Brief</h2>
    <p>One curated email every Friday — a weekend project idea, a plant we love, a reader transformation, and the week's best reader Q&A. Unsubscribe anytime.</p>
    <form class="newsletter-form" onsubmit="event.preventDefault(); alert('Welcome to the Friday Garden Brief! Check your inbox to confirm.');">
      <input type="email" placeholder="your.email@example.com" required>
      <button type="submit">Subscribe Free</button>
    </form>
    <p style="font-size: 0.78rem; color: var(--leaf-300); margin-top: 18px;">Join 38,000+ readers · No spam, ever · Privacy respected</p>
  </div>
</section>

<!-- FOOTER -->
<footer class="site-footer" id="contact">
  <div class="container">
    <div class="footer-grid">
      <div class="footer-brand">
        <img src="https://placehold.co/100x100/2f6b3a/f7f3ea?text=VV&font=lora&bold" alt="Verdant Vista logo">
        <h4>Verdant Vista</h4>
        <p>An independent publication for the home and garden curious. Founded in 2017 by a team of landscape designers, contractors, and master gardeners who believed great information shouldn't sit behind a paywall.</p>
        <div class="footer-social">
          <a href="#" aria-label="Instagram">IG</a>
          <a href="#" aria-label="Pinterest">PI</a>
          <a href="#" aria-label="YouTube">YT</a>
          <a href="#" aria-label="Facebook">FB</a>
          <a href="#" aria-label="TikTok">TT</a>
        </div>
      </div>
      <div class="footer-col">
        <h5>Explore</h5>
        <ul>
          <li><a href="#categories">Garden Planning</a></li>
          <li><a href="#projects">DIY Projects</a></li>
          <li><a href="#seasonal">Seasonal Guide</a></li>
          <li><a href="#blog">Blog</a></li>
          <li><a href="#">Plant Database</a></li>
          <li><a href="#">Seed Starting</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h5>Resources</h5>
        <ul>
          <li><a href="#calculator">Cost Calculator</a></li>
          <li><a href="#tools">Tool Reviews</a></li>
          <li><a href="#">Printable Plans</a></li>
          <li><a href="#">Plant Hardiness Map</a></li>
          <li><a href="#">Reader Gallery</a></li>
          <li><a href="#">Submit a Project</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h5>Company</h5>
        <ul>
          <li><a href="#">About Us</a></li>
          <li><a href="#">Editorial Team</a></li>
          <li><a href="#">Advertise</a></li>
          <li><a href="#">Careers</a></li>
          <li><a href="#">Press Kit</a></li>
          <li><a href="#">Affiliate Disclosure</a></li>
        </ul>
      </div>
      <div class="footer-col">
        <h5>Get In Touch</h5>
        <div class="footer-contact-item">
          <span>📍</span><div><strong>Studio</strong>214 Birch Lane, Suite 3<br>Portland, OR 97214</div>
        </div>
        <div class="footer-contact-item">
          <span>✉️</span><div><strong>Email</strong>hello@verdantvista.example</div>
        </div>
        <div class="footer-contact-item">
          <span>☎️</span><div><strong>Phone</strong>(503) 555-0148<br>Mon–Fri · 9am–5pm PT</div>
        </div>
      </div>
    </div>
    <div class="footer-bottom">
      <div>© <span id="yr">2026</span> Verdant Vista Media Co. · All rights reserved · Cultivated with care in the Pacific Northwest.</div>
      <div class="footer-bottom-links">
        <a href="#">Privacy Policy</a>
        <a href="#">Terms of Use</a>
        <a href="#">Cookie Settings</a>
        <a href="#">Accessibility</a>
      </div>
    </div>
  </div>
</footer>

<script>
  // Year auto-update
  document.getElementById('yr').textContent = new Date().getFullYear();

  // Mobile nav
  const navToggle = document.getElementById('navToggle');
  const nav = document.getElementById('primaryNav');
  navToggle.addEventListener('click', () => nav.classList.toggle('open'));

  // FAQ accordion
  document.querySelectorAll('.faq-q').forEach(btn => {
    btn.addEventListener('click', () => {
      const item = btn.parentElement;
      const wasOpen = item.classList.contains('open');
      document.querySelectorAll('.faq-item').forEach(i => i.classList.remove('open'));
      if (!wasOpen) item.classList.add('open');
    });
  });

  // Seasonal tabs
  document.querySelectorAll('.season-tab').forEach(tab => {
    tab.addEventListener('click', () => {
      const target = tab.dataset.season;
      document.querySelectorAll('.season-tab').forEach(t => t.classList.remove('active'));
      document.querySelectorAll('.season-content').forEach(c => c.classList.remove('active'));
      tab.classList.add('active');
      document.querySelector(`.season-content[data-season="${target}"]`).classList.add('active');
    });
  });

  // Cost Calculator
  const calc = () => {
    const type = document.getElementById('projectType').value;
    const region = parseFloat(document.getElementById('region').value);
    const size = parseInt(document.getElementById('size').value);
    const quality = parseFloat(document.getElementById('quality').value);
    const labor = parseFloat(document.getElementById('labor').value);

    // Base cost per square foot by project type
    const base = {
      landscape: 6.5,
      deck: 32,
      kitchen: 200,
      bathroom: 280,
      garden: 4.5,
      fence: 28,
      paint: 5
    };

    const baseCost = base[type] * size;
    const materials = baseCost * quality;
    const laborCost = materials * labor * 0.45;
    const subtotal = materials + laborCost;
    const contingency = subtotal * 0.10;
    const total = (subtotal + contingency) * region;

    document.getElementById('sizeVal').textContent = size.toLocaleString() + ' sq ft';
    document.getElementById('calcTotal').textContent = '$' + Math.round(total).toLocaleString();
    document.getElementById('calcRange').textContent =
      'Likely range: $' + Math.round(total * 0.90).toLocaleString() + ' – $' + Math.round(total * 1.10).toLocaleString();
  };

  ['projectType','region','size','quality','labor'].forEach(id =>
    document.getElementById(id).addEventListener('input', calc)
  );
  calc();
</script>

</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:41:57.017Z",
  "url": "https://benchmark.aimac.invalid/3294cf1ec0eb9f3820ec7770293b4117dde096e31139b05238a2a06a1a9b42e6.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-children",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require child roles contain them",
      "help": "Certain ARIA roles must contain particular children",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "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": "<a href=\"#\" aria-label=\"Instagram\">IG</a>",
          "target": [
            "a[aria-label=\"Instagram\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Instagram\">IG</a>",
          "target": [
            "a[aria-label=\"Instagram\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": 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": "<a href=\"#\" aria-label=\"Instagram\">IG</a>",
          "target": [
            "a[aria-label=\"Instagram\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Instagram\">IG</a>",
          "target": [
            "a[aria-label=\"Instagram\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" aria-label=\"Instagram\">IG</a>",
          "target": [
            "a[aria-label=\"Instagram\"]"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<div class=\"section-eyebrow\" style=\"text-align:left;\">Garden Planning</div>",
          "target": [
            "#garden-planning > .container > .feature-split > .feature-content > .section-eyebrow"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button type=\"button\" class=\"btn btn-primary\" style=\"width:100%; margin-top:20px; justify-content:center;\" onclick=\"alert('Your estimate has been sent to your email, along with a printable shopping list.')\">Download Plan (PDF)</button>",
          "target": [
            "button[type=\"button\"]"
          ]
        }
      ]
    },
    {
      "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>Where <em>Vision</em> Meets Garden, and Home Becomes Haven</h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h3>The 14-Day Backyard Makeover</h3>",
                  "target": [
                    ".hero-card > h3"
                  ]
                },
                {
                  "html": "<h2>Four Paths to a More Beautiful Home</h2>",
                  "target": [
                    "#categories > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Garden Planning</h3>",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(1) > .cat-body > h3"
                  ]
                },
                {
                  "html": "<h3>Landscaping Tips</h3>",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(2) > .cat-body > h3"
                  ]
                },
                {
                  "html": "<h3>Interior Design</h3>",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(3) > .cat-body > h3"
                  ]
                },
                {
                  "html": "<h3>Tools &amp; Gear</h3>",
                  "target": [
                    ".cat-card[href$=\"#tools\"] > .cat-body > h3"
                  ]
                },
                {
                  "html": "<h2>Design a Garden That Works With Nature, Not Against It</h2>",
                  "target": [
                    "#garden-planning > .container > .feature-split > .feature-content > h2"
                  ]
                },
                {
                  "html": "<h2>Estimate Your Project Budget in Seconds</h2>",
                  "target": [
                    "#calculator > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Why Plan the Budget First?</h2>",
                  "target": [
                    ".calc-info > h2"
                  ]
                },
                {
                  "html": "<h2>Boost Curb Appeal Without Rebuilding Everything</h2>",
                  "target": [
                    ".featured.block:nth-child(8) > .container > .feature-split > .feature-content > h2"
                  ]
                },
                {
                  "html": "<h2>Hand-Picked Projects for Your Next Weekend</h2>",
                  "target": [
                    "#projects > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Build a Cedar Raised Garden Bed in One Afternoon</h3>",
                  "target": [
                    ".tall > .project-body > h3"
                  ]
                },
                {
                  "html": "<h3>DIY Pergola String-Light Canopy</h3>",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(2) > .project-body > h3"
                  ]
                },
                {
                  "html": "<h3>Three-Bin Compost Station from Pallets</h3>",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(3) > .project-body > h3"
                  ]
                },
                {
                  "html": "<h3>Natural Stone Garden Path with River Rock Borders</h3>",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(4) > .project-body > h3"
                  ]
                },
                {
                  "html": "<h3>Vertical Herb Garden for Small Patios</h3>",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(5) > .project-body > h3"
                  ]
                },
                {
                  "html": "<h2>What to Do in Your Garden Right Now</h2>",
                  "target": [
                    "#seasonal > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Summer: Maintenance &amp; Harvest Mode</h3>",
                  "target": [
                    ".active.season-content[data-season=\"summer\"] > div:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h2>From Our Community of Makers</h2>",
                  "target": [
                    ".testimonials > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Fresh Ideas &amp; Field-Tested Advice</h2>",
                  "target": [
                    "#blog > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Why Your Yard Needs Fewer Ornamentals and More Natives</h3>",
                  "target": [
                    ".blog-card.featured[href=\"#\"] > .blog-body > h3"
                  ]
                },
                {
                  "html": "<h3>The 6 Best Pruners We Tested This Spring</h3>",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(2) > .blog-body > h3"
                  ]
                },
                {
                  "html": "<h3>A 32-Sq-Ft Bathroom That Feels Like a Spa</h3>",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(3) > .blog-body > h3"
                  ]
                },
                {
                  "html": "<h2>Everything You Want to Know</h2>",
                  "target": [
                    ".faq > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Get the Friday Garden Brief</h2>",
                  "target": [
                    ".container > h2"
                  ]
                },
                {
                  "html": "<h4>Verdant Vista</h4>",
                  "target": [
                    "h4"
                  ]
                },
                {
                  "html": "<h5>Explore</h5>",
                  "target": [
                    ".footer-col:nth-child(2) > h5"
                  ]
                },
                {
                  "html": "<h5>Resources</h5>",
                  "target": [
                    ".footer-col:nth-child(3) > h5"
                  ]
                },
                {
                  "html": "<h5>Company</h5>",
                  "target": [
                    ".footer-col:nth-child(4) > h5"
                  ]
                },
                {
                  "html": "<h5>Get In Touch</h5>",
                  "target": [
                    ".footer-col:nth-child(5) > h5"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            }
          ],
          "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": "#eaf3ec",
                "bgColor": "#1f3a25",
                "contrastRatio": 10.96,
                "fontSize": "10.2pt (13.6px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 10.96"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"top-banner\">\n  \ud83c\udf3f <strong>Spring Season Sale:</strong> Save 25% on all premium garden plans \u2014 Use code <strong>VERDANT25</strong> at checkout\n</div>",
          "target": [
            ".top-banner"
          ]
        }
      ]
    },
    {
      "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": "projectType",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<select id=\"projectType\">",
          "target": [
            "#projectType"
          ]
        }
      ]
    },
    {
      "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=\"projectType\">Project Type</label>",
                  "target": [
                    "label[for=\"projectType\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<select id=\"projectType\">",
          "target": [
            "#projectType"
          ]
        }
      ]
    },
    {
      "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/100x100/2f6b3a/f7f3ea?text=VV&amp;font=lora&amp;bold\" alt=\"Verdant Vista logo\">",
          "target": [
            ".brand > img[alt=\"Verdant Vista logo\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "Project Size: 500 sq ft"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"size\">Project Size: <span class=\"range-val\" id=\"sizeVal\">500 sq ft</span></label>",
                  "target": [
                    "label[for=\"size\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"range\" id=\"size\" min=\"50\" max=\"2000\" step=\"50\" value=\"500\">",
          "target": [
            "#size"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "link-in-text-block-style",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<div class=\"feature-content\">",
                  "target": [
                    "#garden-planning > .container > .feature-split > .feature-content"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#calculator\" class=\"btn btn-leaf\">Plan Your Project</a>",
          "target": [
            ".btn-leaf.btn[href$=\"#calculator\"]"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a href=\"#\" class=\"brand\">",
          "target": [
            ".brand"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul>",
          "target": [
            "#primaryNav > ul"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><a href=\"#categories\">Explore</a></li>",
          "target": [
            "#primaryNav > ul > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.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/100x100/2f6b3a/f7f3ea?text=VV&amp;font=lora&amp;bold\" alt=\"Verdant Vista logo\">",
          "target": [
            ".brand > img[alt=\"Verdant Vista logo\"]"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": {
                "explicitLabel": "Project Type"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"projectType\">Project Type</label>",
                  "target": [
                    "label[for=\"projectType\"]"
                  ]
                }
              ],
              "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=\"projectType\">",
          "target": [
            "#projectType"
          ]
        }
      ]
    },
    {
      "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": 282.3,
                "height": 61.5
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (282.3px by 61.5px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" class=\"brand\">",
          "target": [
            ".brand"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": "pseudoContent",
                "expectedContrastRatio": "4.5:1"
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"hero\">",
                  "target": [
                    ".hero"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a pseudo element"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"hero-eyebrow\">Trusted by 240,000+ home gardeners</span>",
          "target": [
            ".hero-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a pseudo element"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#newsletter\" class=\"header-cta\">Join Free</a>",
                  "target": [
                    ".header-cta"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#newsletter\" class=\"header-cta\">Join Free</a>",
          "target": [
            ".header-cta"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#ffffff",
                "contrastRatio": 3.09,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block categories\" id=\"categories\">",
                  "target": [
                    "#categories"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\">Explore The Collection</div>",
          "target": [
            "#categories > .container > .section-head > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#projects\" class=\"cat-card\">",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Master the art of plant selection, companion planting, and seasonal rotation with zone-specific calendars.</p>",
          "target": [
            ".cat-card[href$=\"#projects\"]:nth-child(1) > .cat-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#projects\" class=\"cat-card\">",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Boost curb appeal with hardscaping, native plant design, and year-round structure from our pros.</p>",
          "target": [
            ".cat-card[href$=\"#projects\"]:nth-child(2) > .cat-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#projects\" class=\"cat-card\">",
                  "target": [
                    ".cat-card[href$=\"#projects\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Refresh any room with color theory, lighting fundamentals, and biophilic styling principles.</p>",
          "target": [
            ".cat-card[href$=\"#projects\"]:nth-child(3) > .cat-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#tools\" class=\"cat-card\">",
                  "target": [
                    ".cat-card[href$=\"#tools\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Honest, hands-on reviews of pruners, mowers, drills, and smart-home garden tech worth your money.</p>",
          "target": [
            ".cat-card[href$=\"#tools\"] > .cat-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block featured\" id=\"garden-planning\">",
                  "target": [
                    "#garden-planning"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\" style=\"text-align:left;\">Garden Planning</div>",
          "target": [
            "#garden-planning > .container > .feature-split > .feature-content > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block featured\" id=\"garden-planning\">",
                  "target": [
                    "#garden-planning"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>\n          The best gardens aren't accidents \u2014 they're thoughtfully designed ecosystems. Whether you're sketching your first 4\u00d78 raised bed or mapping a half-acre pollinator meadow, our planning framework helps you match the right perennial to the right place, at the right time.\n        </p>",
          "target": [
            "#garden-planning > .container > .feature-split > .feature-content > p:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block featured\" id=\"garden-planning\">",
                  "target": [
                    "#garden-planning"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>\n          We'll walk you through sun mapping, soil testing, drainage analysis, and the often-overlooked science of microclimates \u2014 those warm pockets near south-facing walls and chilly dips where frost settles first.\n        </p>",
          "target": [
            "#garden-planning > .container > .feature-split > .feature-content > p:nth-child(4)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#eaf3ec",
                "contrastRatio": 4.39,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"calc-result\">\n          <div class=\"calc-result-label\">Estimated Project Investment</div>\n          <div class=\"calc-result-num\" id=\"calcTotal\">$5,184</div>\n          <div class=\"calc-result-range\" id=\"calcRange\">Likely range: $4,665 \u2013 $5,702</div>\n        </div>",
                  "target": [
                    ".calc-result"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.39 (foreground color: #6b7264, background color: #eaf3ec, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"calc-result-range\" id=\"calcRange\">Likely range: $4,665 \u2013 $5,702</div>",
          "target": [
            "#calcRange"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.39 (foreground color: #6b7264, background color: #eaf3ec, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button type=\"button\" class=\"btn btn-primary\" style=\"width:100%; margin-top:20px; justify-content:center;\" onclick=\"alert('Your estimate has been sent to your email, along with a printable shopping list.')\">Download Plan (PDF)</button>",
                  "target": [
                    "button[type=\"button\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button type=\"button\" class=\"btn btn-primary\" style=\"width:100%; margin-top:20px; justify-content:center;\" onclick=\"alert('Your estimate has been sent to your email, along with a printable shopping list.')\">Download Plan (PDF)</button>",
          "target": [
            "button[type=\"button\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 11.4pt (15.2px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#ffffff",
                "contrastRatio": 3.09,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block featured\" style=\"background: var(--white);\">",
                  "target": [
                    ".featured.block:nth-child(8)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\" style=\"text-align:left;\">Landscaping Tips</div>",
          "target": [
            ".featured.block:nth-child(8) > .container > .feature-split > .feature-content > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#ffffff",
                "contrastRatio": 3.09,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block projects\" id=\"projects\">",
                  "target": [
                    "#projects"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\">DIY Projects</div>",
          "target": [
            "#projects > .container > .section-head > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card tall\">",
                  "target": [
                    ".tall"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"level\">Beginner</span>",
          "target": [
            ".tall > .project-body > .project-meta > .level"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card tall\">",
                  "target": [
                    ".tall"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 4 hours</span>",
          "target": [
            ".tall > .project-body > .project-meta > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card tall\">",
                  "target": [
                    ".tall"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 $120</span>",
          "target": [
            ".project-meta > span:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card tall\">",
                  "target": [
                    ".tall"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Rot-resistant cedar, a few basic tools, and our downloadable cut list get you growing in vegetables by next weekend.</p>",
          "target": [
            ".tall > .project-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"level\">Easy</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(2) > .project-body > .project-meta > .level"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 2 hours</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(2) > .project-body > .project-meta > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Magical evening lighting for patios and decks.</p>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(2) > .project-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"level\">Beginner</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(3) > .project-body > .project-meta > .level"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 3 hours</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(3) > .project-body > .project-meta > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Turn kitchen scraps into black gold for your garden.</p>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(3) > .project-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"level\">Intermediate</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(4) > .project-body > .project-meta > .level"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 1 day</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(4) > .project-body > .project-meta > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>A welcoming walk that doubles as drainage.</p>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(4) > .project-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(5)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"level\">Easy</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(5) > .project-body > .project-meta > .level"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.4pt (12.48px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(5)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00b7 90 min</span>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(5) > .project-body > .project-meta > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.4pt (12.48px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.6pt (14.08px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"project-card\">",
                  "target": [
                    ".project-card[href=\"#\"]:nth-child(5)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Fresh basil, thyme, and mint within arm's reach.</p>",
          "target": [
            ".project-card[href=\"#\"]:nth-child(5) > .project-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.6pt (14.08px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "10.0pt (13.3333px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"season-tab active\" data-season=\"summer\">\u2600\ufe0f Summer</button>",
                  "target": [
                    ".active.season-tab[data-season=\"summer\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"season-tab active\" data-season=\"summer\">\u2600\ufe0f Summer</button>",
          "target": [
            ".active.season-tab[data-season=\"summer\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#f7f3ea",
                "contrastRatio": 2.79,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block testimonials\">",
                  "target": [
                    ".testimonials"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\">Reader Stories</div>",
          "target": [
            ".testimonials > .container > .section-head > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.79 (foreground color: #d97a3a, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "12.6pt (16.8px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block testimonials\">",
                  "target": [
                    ".testimonials"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Real readers share how Verdant Vista helped them turn plans into projects \u2014 and projects into pride.</p>",
          "target": [
            ".testimonials > .container > .section-head > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#ffffff",
                "contrastRatio": 3.09,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block blog\" id=\"blog\">",
                  "target": [
                    "#blog"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\">From The Blog</div>",
          "target": [
            "#blog > .container > .section-head > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #d97a3a, background color: #ffffff, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"blog-cat\">Native Plants</span>",
                  "target": [
                    ".blog-card.featured[href=\"#\"] > .blog-body > .blog-cat"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"blog-cat\">Native Plants</span>",
          "target": [
            ".blog-card.featured[href=\"#\"] > .blog-body > .blog-cat"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card featured\">",
                  "target": [
                    ".blog-card.featured[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>The ecological case is overwhelming, and the aesthetic case is finally catching up. Here's how to start a native plant conversion in three manageable phases \u2014 without losing the polished look you've worked hard to build.</p>",
          "target": [
            ".blog-card.featured[href=\"#\"] > .blog-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card featured\">",
                  "target": [
                    ".blog-card.featured[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>By <strong>Jordan W.</strong> \u00b7 March 14 \u00b7 11 min read</span>",
          "target": [
            ".blog-card.featured[href=\"#\"] > .blog-body > .blog-meta > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card featured\">",
                  "target": [
                    ".blog-card.featured[href=\"#\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<strong>Jordan W.</strong>",
          "target": [
            ".blog-meta > span > strong"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"blog-cat\">Tool Review</span>",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(2) > .blog-body > .blog-cat"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"blog-cat\">Tool Review</span>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(2) > .blog-body > .blog-cat"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card\">",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>After 80 hours of cutting, we crown a winner worth every penny.</p>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(2) > .blog-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card\">",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>By Kim L. \u00b7 March 9 \u00b7 7 min</span>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(2) > .blog-body > .blog-meta > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"blog-cat\">DIY Remodel</span>",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(3) > .blog-body > .blog-cat"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"blog-cat\">DIY Remodel</span>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(3) > .blog-body > .blog-cat"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card\">",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Smart layout moves, lighting tricks, and finishes that punch above their weight.</p>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(3) > .blog-body > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#f7f3ea",
                "contrastRatio": 4.49,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#\" class=\"blog-card\">",
                  "target": [
                    ".blog-card[href=\"#\"]:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>By Sam D. \u00b7 March 6 \u00b7 9 min</span>",
          "target": [
            ".blog-card[href=\"#\"]:nth-child(3) > .blog-body > .blog-meta > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.49 (foreground color: #6b7264, background color: #f7f3ea, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#d97a3a",
                "bgColor": "#eaf3ec",
                "contrastRatio": 2.72,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block faq\">",
                  "target": [
                    ".faq"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.72 (foreground color: #d97a3a, background color: #eaf3ec, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"section-eyebrow\">Common Questions</div>",
          "target": [
            ".faq > .container > .section-head > .section-eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.72 (foreground color: #d97a3a, background color: #eaf3ec, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#6b7264",
                "bgColor": "#eaf3ec",
                "contrastRatio": 4.39,
                "fontSize": "12.6pt (16.8px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"block faq\">",
                  "target": [
                    ".faq"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.39 (foreground color: #6b7264, background color: #eaf3ec, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Can't find what you're looking for? Our team replies to every email within one business day.</p>",
          "target": [
            ".faq > .container > .section-head > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.39 (foreground color: #6b7264, background color: #eaf3ec, font size: 12.6pt (16.8px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#d97a3a",
                "contrastRatio": 3.09,
                "fontSize": "10.0pt (13.3333px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button type=\"submit\">Subscribe Free</button>",
                  "target": [
                    "button[type=\"submit\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button type=\"submit\">Subscribe Free</button>",
          "target": [
            "button[type=\"submit\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.09 (foreground color: #ffffff, background color: #d97a3a, font size: 10.0pt (13.3333px), font weight: normal). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 11018
      },
      {
        "y": 576,
        "height": 11018
      },
      {
        "y": 1152,
        "height": 11018
      },
      {
        "y": 1728,
        "height": 11018
      },
      {
        "y": 2304,
        "height": 11018
      },
      {
        "y": 2880,
        "height": 11018
      },
      {
        "y": 3456,
        "height": 11018
      },
      {
        "y": 4032,
        "height": 11018
      },
      {
        "y": 4608,
        "height": 11018
      },
      {
        "y": 5184,
        "height": 11018
      },
      {
        "y": 5760,
        "height": 11018
      },
      {
        "y": 6336,
        "height": 11018
      },
      {
        "y": 6912,
        "height": 11018
      },
      {
        "y": 7488,
        "height": 11018
      },
      {
        "y": 8064,
        "height": 11018
      },
      {
        "y": 8640,
        "height": 11018
      },
      {
        "y": 9216,
        "height": 11018
      },
      {
        "y": 9792,
        "height": 11018
      },
      {
        "y": 10298,
        "height": 11018
      }
    ],
    "scans": 20,
    "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 "Home and Garden" 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: "Home and Garden"
- Description: Home improvement, gardening, DIY guides, landscaping, and decor resources.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Home and Garden" 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: "DIY Projects", "Tools", "Blog".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Home and Garden" category. Consider themes similar to: "Garden Planning", "Landscaping Tips", "Interior Design".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "perennial", "annual", "curb appeal".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Start Planning", "Download Plan", "Plan Project".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Home and Garden" sector. Ideas similar but not limited to: "project cost calculator".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "before & after", "tool reviews", "local resources".
-   **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.