OpenAI GPT 6.1 Terra Pro – Business

via OpenAI · Generated

  • AIMAC Debt 4.44
  • Cost $0.12
  • Total Violations 13
  • HTML Size 36 KB
  • Em Dashes 5

Screenshot

View OpenAI GPT 6.1 Terra Pro Business page View Live Page

Accessibility Issues Found

13 Serious

  • color-contrast serious 13 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <p>Practical support for the decisions that shape your next chapter, from the first question to the final plan.</p>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Northline Ledger brings business intelligence, practical strategy, and expert perspectives together for ambitious leaders.">
  <meta name="theme-color" content="#12251f">
  <title>Northline Ledger — Clarity for what comes next</title>
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  <link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap" rel="stylesheet">
  <style>
    :root {
      --ink: #172b24;
      --deep: #10241d;
      --deep-2: #1c382c;
      --muted: #66736b;
      --paper: #f5f5ef;
      --cream: #eaece2;
      --white: #fff;
      --accent: #d8ef74;
      --orange: #df8c59;
      --line: #d8ded4;
      --radius: 8px;
      --max: 1320px;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--paper);
      font-family: "DM Sans", Arial, sans-serif;
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button, select { font: inherit; }
    button, a, select, summary { -webkit-tap-highlight-color: transparent; }
    a:focus-visible, button:focus-visible, select:focus-visible, summary:focus-visible {
      outline: 3px solid #a3c839;
      outline-offset: 4px;
    }
    h1, h2, h3, h4, p { margin-top: 0; }
    h1, h2, h3, h4 { font-family: Manrope, Arial, sans-serif; line-height: 1.13; letter-spacing: -.045em; }
    h2 { font-size: clamp(2.2rem, 4.1vw, 4.2rem); }
    h3 { font-size: 1.4rem; }
    p { color: var(--muted); }
    .container { width: min(var(--max), calc(100% - 80px)); margin: 0 auto; }
    .eyebrow {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
      font-size: .72rem;
      font-weight: 700;
      letter-spacing: .15em;
      text-transform: uppercase;
    }
    .eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; }
    .section { padding: 120px 0; }
    .section-heading { display: flex; justify-content: space-between; align-items: end; gap: 35px; margin-bottom: 48px; }
    .section-heading h2 { margin: 0; max-width: 700px; }
    .section-heading > p { max-width: 390px; margin: 0 0 4px; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 30px;
      min-height: 54px;
      padding: 14px 21px;
      border: 1px solid transparent;
      border-radius: 3px;
      background: var(--accent);
      color: var(--deep);
      font-size: .86rem;
      font-weight: 700;
      cursor: pointer;
      transition: background .2s, transform .2s;
    }
    .button:hover { background: #e8f8a1; transform: translateY(-2px); }
    .button.dark { background: var(--deep); color: #fff; }
    .button.dark:hover { background: #315343; }
    .button.outline { border-color: #8d9a91; background: transparent; color: inherit; }
    .button.outline:hover { background: rgba(128, 145, 129, .12); }
    .arrow { font-size: 1.15rem; line-height: 1; }
    .text-link { display: inline-flex; align-items: center; gap: 18px; font-size: .86rem; font-weight: 700; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
    .text-link:hover { color: #678b34; }
    .topline { background: var(--deep); color: #c4d1c4; font-size: .72rem; letter-spacing: .02em; }
    .topline .container { display: flex; justify-content: space-between; gap: 20px; padding: 9px 0; }
    .topline strong { color: var(--accent); font-weight: 600; }
    .site-header { background: var(--paper); border-bottom: 1px solid var(--line); }
    .header-inner { min-height: 93px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .brand { display: flex; align-items: center; gap: 11px; flex-shrink: 0; }
    .brand img { width: 43px; height: 43px; border-radius: 2px; }
    .brand-name { display: block; font-family: Manrope, sans-serif; font-size: 1.12rem; font-weight: 800; letter-spacing: -.06em; line-height: 1.1; }
    .brand-tagline { display: block; margin-top: 4px; font-size: .63rem; color: var(--muted); letter-spacing: .025em; }
    .nav { display: flex; align-items: center; gap: clamp(16px, 2.2vw, 32px); }
    .nav a { font-size: .79rem; font-weight: 700; }
    .nav a:not(.nav-contact):hover { color: #688438; }
    .nav .nav-contact { border: 1px solid var(--ink); padding: 10px 15px; border-radius: 2px; }
    .nav .nav-contact:hover { background: var(--ink); color: white; }
    .menu-toggle { display: none; border: 1px solid var(--ink); background: transparent; padding: 8px 12px; color: var(--ink); cursor: pointer; }
    .hero { background: var(--deep); color: white; overflow: hidden; }
    .hero-grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 615px; }
    .hero-copy { padding: 94px max(50px, calc((100vw - var(--max)) / 2)) 70px; padding-right: 8%; display: flex; flex-direction: column; justify-content: center; }
    .hero .eyebrow { color: var(--accent); }
    .hero h1 { max-width: 650px; margin-bottom: 27px; font-size: clamp(3.4rem, 6vw, 6.3rem); line-height: 1.02; }
    .hero h1 em { font-style: normal; color: var(--accent); }
    .hero-copy > p { max-width: 505px; color: #c4d0c5; font-size: 1.08rem; line-height: 1.75; }
    .hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 21px; }
    .hero-actions .text-link { color: white; }
    .hero-visual { position: relative; min-height: 500px; background: #75847c; }
    .hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16,36,29,.24), transparent 50%), linear-gradient(0deg, rgba(16,36,29,.42), transparent 55%); pointer-events: none; }
    .hero-visual img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; filter: saturate(.7); }
    .image-note { position: absolute; z-index: 1; right: 35px; bottom: 32px; color: #fff; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
    .hero-bottom { background: #1b3529; color: #dbe5d9; }
    .hero-bottom .container { display: flex; align-items: center; gap: 32px; min-height: 75px; }
    .hero-bottom .label { color: var(--accent); font-size: .68rem; text-transform: uppercase; letter-spacing: .14em; white-space: nowrap; font-weight: 700; }
    .hero-bottom p { margin: 0; color: #dbe5d9; font-size: .86rem; }
    .hero-bottom a { margin-left: auto; white-space: nowrap; font-size: .8rem; font-weight: 700; }
    .intro { display: grid; grid-template-columns: 1fr 1fr; gap: 12%; align-items: start; }
    .intro h2 { margin-bottom: 0; }
    .intro-copy { padding-top: 37px; }
    .intro-copy p { font-size: 1.05rem; }
    .intro-copy .text-link { margin-top: 12px; }
    .services { background: var(--cream); }
    .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #c8d0c4; border-bottom: 1px solid #c8d0c4; }
    .service-card { padding: 32px 38px 38px 0; }
    .service-card + .service-card { border-left: 1px solid #c8d0c4; padding-left: 38px; }
    .service-number { display: flex; justify-content: space-between; align-items: center; margin-bottom: 65px; color: #697a6c; font-size: .75rem; font-weight: 700; }
    .service-icon { font-size: 1.8rem; font-weight: 400; color: var(--ink); }
    .service-card h3 { margin-bottom: 16px; }
    .service-card p { min-height: 110px; margin-bottom: 26px; font-size: .94rem; }
    .pricing-note { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-top: 35px; }
    .pricing-note p { margin: 0; font-size: .9rem; }
    .pricing-note strong { color: var(--ink); }
    .insights { background: #fbfbf7; }
    .article-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 24px; }
    .article-card { display: flex; flex-direction: column; }
    .article-image { overflow: hidden; background: #dfe4db; aspect-ratio: 1.5; margin-bottom: 24px; }
    .article-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.65); transition: transform .4s; }
    .article-card:hover img { transform: scale(1.04); }
    .article-meta { display: flex; gap: 12px; align-items: center; color: #708075; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
    .article-meta span:first-child { color: #52723b; }
    .article-card h3 { margin: 14px 0 12px; font-size: clamp(1.3rem, 1.8vw, 1.7rem); line-height: 1.25; }
    .article-card p { font-size: .91rem; margin-bottom: 23px; }
    .article-card .text-link { align-self: flex-start; margin-top: auto; }
    .feature { background: var(--deep); color: white; }
    .feature-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: center; }
    .feature-image { position: relative; }
    .feature-image img { width: 100%; aspect-ratio: 1 / 1.08; object-fit: cover; filter: saturate(.65); }
    .image-stamp { position: absolute; right: -25px; bottom: 30px; background: var(--accent); color: var(--deep); padding: 20px 24px; max-width: 190px; font-size: .76rem; line-height: 1.4; font-weight: 700; }
    .image-stamp strong { display: block; font-family: Manrope, sans-serif; font-size: 2rem; letter-spacing: -.06em; }
    .feature .eyebrow { color: var(--accent); }
    .feature h2 { margin-bottom: 25px; }
    .feature p { color: #c2d0c4; }
    .quote { border-top: 1px solid #52675a; margin: 35px 0 0; padding-top: 30px; }
    .quote blockquote { margin: 0 0 22px; font-family: Manrope, sans-serif; font-size: 1.2rem; line-height: 1.5; letter-spacing: -.02em; }
    .quote cite { font-style: normal; font-size: .82rem; color: #c2d0c4; }
    .quote cite strong { display: block; color: white; }
    .assessment { background: #dfe9d5; }
    .assessment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
    .assessment h2 { margin-bottom: 25px; }
    .assessment-copy p { max-width: 510px; }
    .assessment-box { background: #f8faf4; padding: 38px; box-shadow: 0 15px 40px rgba(24, 54, 33, .06); }
    .assessment-box .step { color: #61765d; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
    .assessment-box h3 { margin: 12px 0; }
    .assessment-box p { font-size: .9rem; }
    .assessment-box label { display: block; margin: 22px 0 8px; font-size: .8rem; font-weight: 700; }
    .assessment-box select { width: 100%; padding: 14px; border: 1px solid #bfcbbd; background: white; color: var(--ink); border-radius: 2px; }
    .assessment-box button { width: 100%; margin-top: 15px; }
    .result { margin-top: 20px; padding: 18px; border-left: 3px solid #83a545; background: #e9f0df; }
    .result[hidden] { display: none; }
    .result strong { display: block; margin-bottom: 5px; }
    .result p { margin: 0; }
    .partners { border-bottom: 1px solid var(--line); padding: 68px 0; }
    .partners-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; align-items: center; }
    .partners h3 { font-size: 1.5rem; margin-bottom: 10px; }
    .partners p { margin-bottom: 0; font-size: .9rem; }
    .partner-list { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 25px; color: #718176; font-family: Manrope, sans-serif; font-size: clamp(1rem, 1.7vw, 1.35rem); font-weight: 800; letter-spacing: -.05em; }
    .faq-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 12%; }
    .faq-grid h2 { margin-bottom: 20px; }
    .faq-grid > div:first-child p { max-width: 380px; }
    .faq-list { border-top: 1px solid var(--line); }
    details { border-bottom: 1px solid var(--line); }
    summary { list-style: none; cursor: pointer; padding: 22px 36px 22px 0; position: relative; font-family: Manrope, sans-serif; font-weight: 700; font-size: .98rem; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; position: absolute; right: 2px; top: 17px; font-size: 1.5rem; font-weight: 400; }
    details[open] summary::after { content: "−"; }
    details p { max-width: 630px; margin: 0 0 22px; font-size: .92rem; }
    .contact-band { background: var(--accent); padding: 75px 0; }
    .contact-band .container { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
    .contact-band h2 { max-width: 750px; margin-bottom: 12px; font-size: clamp(2rem, 4vw, 3.7rem); }
    .contact-band p { color: #40523a; margin: 0; }
    footer { background: #0c1d17; color: white; padding: 75px 0 25px; }
    .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.3fr; gap: 45px; padding-bottom: 65px; }
    footer .brand-tagline { color: #a9b9ad; }
    .footer-about p { max-width: 310px; margin: 25px 0 0; color: #a9b9ad; font-size: .88rem; }
    footer h4 { margin: 0 0 20px; color: #d9e8d7; font-family: "DM Sans", sans-serif; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
    .footer-links { display: grid; gap: 10px; align-content: start; }
    .footer-links a, .footer-links span { color: #a9b9ad; font-size: .85rem; }
    .footer-links a:hover { color: var(--accent); }
    .footer-bottom { border-top: 1px solid #314239; padding-top: 23px; display: flex; justify-content: space-between; gap: 20px; color: #91a599; font-size: .72rem; }
    .footer-bottom div { display: flex; gap: 24px; }
    @media (max-width: 1050px) {
      .container { width: min(var(--max), calc(100% - 48px)); }
      .header-inner { min-height: 80px; }
      .menu-toggle { display: block; }
      .nav { display: none; position: absolute; z-index: 10; left: 0; right: 0; top: 112px; background: var(--paper); padding: 20px 24px 28px; border-bottom: 1px solid var(--line); box-shadow: 0 12px 18px rgba(0,0,0,.08); }
      .nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
      .nav a { padding: 12px 0; }
      .nav .nav-contact { margin-top: 8px; text-align: center; }
      .hero-copy { padding: 75px 35px 75px 24px; }
      .hero h1 { font-size: clamp(3.3rem, 6.5vw, 5rem); }
      .section { padding: 90px 0; }
      .service-card p { min-height: 150px; }
    }
    @media (max-width: 720px) {
      .container { width: calc(100% - 36px); }
      .topline .container { justify-content: center; text-align: center; }
      .topline .topline-right { display: none; }
      .nav { top: 112px; }
      .hero-grid { display: flex; flex-direction: column; }
      .hero-copy { padding: 70px 18px 65px; }
      .hero h1 { font-size: clamp(3.1rem, 12vw, 4.6rem); }
      .hero-visual { min-height: 340px; }
      .hero-bottom .container { padding: 20px 0; align-items: flex-start; flex-direction: column; gap: 8px; }
      .hero-bottom a { margin-left: 0; }
      .section { padding: 72px 0; }
      .section-heading, .contact-band .container { align-items: flex-start; flex-direction: column; }
      .section-heading { gap: 20px; margin-bottom: 35px; }
      .intro, .feature-grid, .assessment-grid, .faq-grid, .partners-inner { grid-template-columns: 1fr; gap: 35px; }
      .intro-copy { padding-top: 0; }
      .service-grid, .article-grid { grid-template-columns: 1fr; }
      .service-card, .service-card + .service-card { padding: 25px 0 30px; border-left: 0; }
      .service-card + .service-card { border-top: 1px solid #c8d0c4; }
      .service-number { margin-bottom: 25px; }
      .service-card p { min-height: 0; }
      .pricing-note { align-items: flex-start; flex-direction: column; }
      .article-grid { gap: 45px; }
      .feature-image img { aspect-ratio: 1.1; }
      .image-stamp { right: 0; }
      .assessment-box { padding: 26px; }
      .partners-inner { gap: 25px; }
      .partner-list { justify-content: flex-start; gap: 25px 35px; }
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 25px; }
      .footer-about { grid-column: 1 / -1; }
      .footer-bottom { flex-direction: column; }
    }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition-duration: .01ms !important; }
    }
  </style>
</head>
<body>
  <div class="topline">
    <div class="container">
      <span><strong>THE NORTHLINE BRIEF</strong> &nbsp; A sharper perspective for business leaders.</span>
      <span class="topline-right">Independent thinking. Practical momentum.</span>
    </div>
  </div>

  <header class="site-header">
    <div class="container header-inner">
      <a class="brand" href="#top" aria-label="Northline Ledger home">
        <img src="https://placehold.co/86x86/17372a/d8ef74?text=N&amp;font=montserrat" alt="" width="43" height="43">
        <span><span class="brand-name">northline ledger</span><span class="brand-tagline">Clarity for what comes next.</span></span>
      </a>
      <button class="menu-toggle" type="button" aria-expanded="false" aria-controls="primary-nav">Menu ☰</button>
      <nav class="nav" id="primary-nav" aria-label="Primary navigation">
        <a href="#insights">Insights</a>
        <a href="#services">Services</a>
        <a href="#success">Client Success</a>
        <a href="#partners">Partners</a>
        <a href="#faq">FAQ</a>
        <a class="nav-contact" href="#contact">Contact Us ↗</a>
      </nav>
    </div>
  </header>

  <main id="top">
    <section class="hero" aria-labelledby="hero-title">
      <div class="hero-grid">
        <div class="hero-copy">
          <div class="eyebrow">Intelligence for the ambitious</div>
          <h1 id="hero-title">Good business starts with <em>better perspective.</em></h1>
          <p>From market signals to meaningful action, we help leaders make sense of change and move forward with confidence.</p>
          <div class="hero-actions">
            <a class="button" href="#services">Explore our services <span class="arrow">↗</span></a>
            <a class="text-link" href="#insights">Read the latest <span class="arrow">→</span></a>
          </div>
        </div>
        <div class="hero-visual">
          <img src="https://picsum.photos/id/180/1200/1000" alt="A workspace seen from above" width="1200" height="1000">
          <span class="image-note">A clearer view of business &nbsp; / &nbsp; 01</span>
        </div>
      </div>
      <div class="hero-bottom">
        <div class="container">
          <span class="label">The big picture</span>
          <p>Better decisions begin when insight and execution work together.</p>
          <a href="#approach">Discover our approach &nbsp; ↗</a>
        </div>
      </div>
    </section>

    <section class="section" id="approach">
      <div class="container intro">
        <div>
          <div class="eyebrow">A different kind of business resource</div>
          <h2>Perspective that moves business forward.</h2>
        </div>
        <div class="intro-copy">
          <p>Leadership today means navigating shifting markets, evolving technology, and rising expectations—all at once. Northline Ledger brings the signal into focus, so you can spend less time reacting and more time building.</p>
          <p>We pair independent industry insights with hands-on advisory support. Whether you are refining your value proposition or bringing a new strategy to life, our work is grounded in your business realities and the people behind them.</p>
          <a class="text-link" href="#services">Get to know our work <span class="arrow">↗</span></a>
        </div>
      </div>
    </section>

    <section class="section services" id="services">
      <div class="container">
        <div class="section-heading">
          <div>
            <div class="eyebrow">What we do / 01</div>
            <h2>Insight is only the beginning.</h2>
          </div>
          <p>Practical support for the decisions that shape your next chapter, from the first question to the final plan.</p>
        </div>
        <div class="service-grid">
          <article class="service-card">
            <div class="service-number"><span>01 / UNDERSTAND</span><span class="service-icon">◉</span></div>
            <h3>Market intelligence</h3>
            <p>See the forces shaping your sector. We translate competitor activity, customer behavior, and economic trends into a clear picture of opportunity and risk.</p>
            <a class="text-link" href="mailto:hello@northlineledger.example?subject=Market%20intelligence%20inquiry">Discuss your market <span class="arrow">↗</span></a>
          </article>
          <article class="service-card">
            <div class="service-number"><span>02 / DEFINE</span><span class="service-icon">✳</span></div>
            <h3>Strategy &amp; growth</h3>
            <p>Turn ambition into a focused roadmap. Together, we sharpen your value proposition, prioritize growth opportunities, and build stakeholder alignment around what matters most.</p>
            <a class="text-link" href="mailto:hello@northlineledger.example?subject=Strategy%20and%20growth%20inquiry">Build your roadmap <span class="arrow">↗</span></a>
          </article>
          <article class="service-card">
            <div class="service-number"><span>03 / DELIVER</span><span class="service-icon">↗</span></div>
            <h3>Transformation support</h3>
            <p>Make change work in practice. From digital transformation to operating model design, we help teams connect initiatives to measurable outcomes and sustainable ways of working.</p>
            <a class="text-link" href="mailto:hello@northlineledger.example?subject=Transformation%20support%20inquiry">Make change happen <span class="arrow">↗</span></a>
          </article>
        </div>
        <div class="pricing-note">
          <p><strong>Built around your needs.</strong> Engagements are scoped to your goals, team, and timeline.</p>
          <a class="button outline" href="mailto:hello@northlineledger.example?subject=Request%20pricing">Request pricing <span class="arrow">↗</span></a>
        </div>
      </div>
    </section>

    <section class="section insights" id="insights">
      <div class="container">
        <div class="section-heading">
          <div>
            <div class="eyebrow">The Northline brief / 02</div>
            <h2>Ideas worth your attention.</h2>
          </div>
          <p>Clear-eyed perspectives on the forces changing how businesses compete, grow, and lead.</p>
        </div>
        <div class="article-grid">
          <article class="article-card">
            <div class="article-image"><img src="https://picsum.photos/id/48/800/550" alt="Architectural detail in an urban setting" width="800" height="550" loading="lazy"></div>
            <div class="article-meta"><span>Market analysis</span><span>•</span><span>6 min read</span></div>
            <h3>Planning for growth when the outlook keeps changing</h3>
            <p>A practical look at scenario planning, resilient budgets, and the indicators that deserve a place on your leadership agenda.</p>
            <a class="text-link" href="#market-analysis">Read the perspective <span class="arrow">↗</span></a>
          </article>
          <article class="article-card">
            <div class="article-image"><img src="https://picsum.photos/id/1/700/500" alt="A laptop on a desk" width="700" height="500" loading="lazy"></div>
            <div class="article-meta"><span>Digital transformation</span><span>•</span><span>5 min read</span></div>
            <h3>Technology is a people strategy, too</h3>
            <p>Why the most effective digital initiatives start with the work your people need to do—not just the tools they use.</p>
            <a class="text-link" href="#digital-perspective">Read the perspective <span class="arrow">↗</span></a>
          </article>
          <article class="article-card">
            <div class="article-image"><img src="https://picsum.photos/id/20/700/500" alt="A desk and a screen in a workspace" width="700" height="500" loading="lazy"></div>
            <div class="article-meta"><span>Leadership</span><span>•</span><span>4 min read</span></div>
            <h3>The case for fewer, better priorities</h3>
            <p>How a shared decision framework can help leadership teams protect focus and make meaningful progress.</p>
            <a class="text-link" href="#leadership-perspective">Read the perspective <span class="arrow">↗</span></a>
          </article>
        </div>
        <div style="margin-top:55px; border-top:1px solid var(--line); padding-top:30px; display:grid; gap:20px;">
          <div id="market-analysis"><strong>Market analysis:</strong> Build a base case, an upside case, and a downside case around a small set of leading indicators. Revisit the assumptions regularly, and connect each scenario to a clear decision rather than a static forecast.</div>
          <div id="digital-perspective"><strong>Digital transformation:</strong> Start by mapping workflows and listening to the people closest to the work. A successful rollout pairs the right technology with training, ownership, and measures of adoption—not just implementation milestones.</div>
          <div id="leadership-perspective"><strong>Leadership:</strong> Agree on what will not be pursued as well as what will. A short list of accountable owners, explicit trade-offs, and a regular review cadence helps turn a strategy into shared action.</div>
        </div>
      </div>
    </section>

    <section class="section feature" id="success">
      <div class="container feature-grid">
        <div class="feature-image">
          <img src="https://picsum.photos/id/160/850/900" alt="A considered workspace" width="850" height="900" loading="lazy">
          <div class="image-stamp"><strong>01 → 03</strong> From insight to a plan your team can own.</div>
        </div>
        <div>
          <div class="eyebrow">Client success / 03</div>
          <h2>Better alignment. More meaningful progress.</h2>
          <p>When a growing professional services firm needed to clarify its next move, its leadership team had no shortage of ideas. What it needed was a common view of the market and a practical way to choose between them.</p>
          <p>Our team brought customer research, financial considerations, and stakeholder perspectives into one decision framework. The result: a focused set of growth priorities, a clearer service proposition, and a roadmap the leadership team could take forward together.</p>
          <div class="quote">
            <blockquote>“Northline helped us step back, ask better questions, and get our team moving in the same direction.”</blockquote>
            <cite><strong>Managing Director</strong> Professional services client</cite>
          </div>
          <a class="button" style="margin-top:32px" href="#contact">Start a conversation <span class="arrow">↗</span></a>
        </div>
      </div>
    </section>

    <section class="section assessment" aria-labelledby="assessment-title">
      <div class="container assessment-grid">
        <div class="assessment-copy">
          <div class="eyebrow">A useful place to start</div>
          <h2 id="assessment-title">What’s your next business priority?</h2>
          <p>Every meaningful change starts with the right question. Tell us where your attention is focused and we’ll suggest a useful first step.</p>
          <p>No forms, no inbox required—just a little clarity to take with you.</p>
        </div>
        <div class="assessment-box">
          <span class="step">A quick self-assessment / 1 question</span>
          <h3>Where could you use more clarity?</h3>
          <p>Choose the challenge that feels most pressing right now.</p>
          <form id="assessment-form">
            <label for="priority">Your current priority</label>
            <select id="priority" required>
              <option value="">Select a priority</option>
              <option value="market">Understanding our market</option>
              <option value="growth">Choosing where to grow</option>
              <option value="change">Making change stick</option>
              <option value="alignment">Aligning our leadership team</option>
            </select>
            <button class="button dark" type="submit">Show my next step <span class="arrow">→</span></button>
          </form>
          <div class="result" id="assessment-result" role="status" aria-live="polite" hidden>
            <strong id="result-title"></strong>
            <p id="result-text"></p>
            <a class="text-link" style="margin-top:15px" href="#contact">Talk it through with us <span class="arrow">↗</span></a>
          </div>
        </div>
      </div>
    </section>

    <section class="partners" id="partners">
      <div class="container partners-inner">
        <div>
          <div class="eyebrow">Better together</div>
          <h3>Good work is a team sport.</h3>
          <p>We collaborate with a network of specialists to bring the right perspective to every challenge.</p>
        </div>
        <div class="partner-list" aria-label="Our areas of collaboration">
          <span>Research &amp; data</span>
          <span>Technology</span>
          <span>Finance</span>
          <span>Creative</span>
        </div>
      </div>
    </section>

    <section class="section" id="faq">
      <div class="container faq-grid">
        <div>
          <div class="eyebrow">The details</div>
          <h2>Questions, answered.</h2>
          <p>Thinking about working together? Here are a few things that are useful to know before we begin.</p>
          <a class="text-link" href="mailto:hello@northlineledger.example">Ask us a question <span class="arrow">↗</span></a>
        </div>
        <div class="faq-list">
          <details>
            <summary>Who do you work with?</summary>
            <p>We work with leadership teams at growing businesses, established organizations, and professional services firms. Our work is especially useful when a team is facing a strategic decision, entering a new market, or navigating significant change.</p>
          </details>
          <details>
            <summary>What does an engagement look like?</summary>
            <p>We start with a conversation about your goals and constraints, then recommend a scope with clear deliverables and milestones. Depending on the challenge, that might be a focused research project, a strategy workshop, or ongoing advisory support.</p>
          </details>
          <details>
            <summary>How is your work priced?</summary>
            <p>Pricing depends on the scope, research required, and level of support. We provide a written proposal before any work begins, so you can make an informed decision with no surprises.</p>
          </details>
          <details>
            <summary>Can you work alongside our existing team?</summary>
            <p>Absolutely. We design engagements to complement your team’s expertise and capacity, collaborating with internal stakeholders and external partners as needed. The goal is to leave your people with clarity and tools they can use.</p>
          </details>
        </div>
      </div>
    </section>

    <section class="contact-band" id="contact">
      <div class="container">
        <div>
          <div class="eyebrow">Let’s get to work</div>
          <h2>Ready for a clearer way forward?</h2>
          <p>Tell us what’s on your mind. We’ll find the right place to start.</p>
        </div>
        <a class="button dark" href="mailto:hello@northlineledger.example?subject=Consultation%20inquiry">Schedule a consultation <span class="arrow">↗</span></a>
      </div>
    </section>
  </main>

  <footer>
    <div class="container">
      <div class="footer-grid">
        <div class="footer-about">
          <a class="brand" href="#top">
            <img src="https://placehold.co/86x86/d8ef74/17372a?text=N&amp;font=montserrat" alt="" width="43" height="43" loading="lazy">
            <span><span class="brand-name">northline ledger</span><span class="brand-tagline">Clarity for what comes next.</span></span>
          </a>
          <p>Business intelligence and practical advice for leaders who believe a better perspective leads to better progress.</p>
        </div>
        <div>
          <h4>Explore</h4>
          <div class="footer-links">
            <a href="#insights">Insights</a><a href="#services">Services</a><a href="#success">Client success</a><a href="#partners">Partners</a><a href="#faq">FAQ</a>
          </div>
        </div>
        <div>
          <h4>Connect</h4>
          <div class="footer-links">
            <a href="https://www.linkedin.com/" target="_blank" rel="noopener noreferrer">LinkedIn ↗</a>
            <a href="https://www.instagram.com/" target="_blank" rel="noopener noreferrer">Instagram ↗</a>
            <a href="https://www.youtube.com/" target="_blank" rel="noopener noreferrer">YouTube ↗</a>
          </div>
        </div>
        <div>
          <h4>Get in touch</h4>
          <div class="footer-links">
            <a href="mailto:hello@northlineledger.example">hello@northlineledger.example</a>
            <a href="tel:+12125550148">+1 (212) 555-0148</a>
            <span>120 Mercer Street, Suite 400<br>New York, NY 10012</span>
          </div>
        </div>
      </div>
      <div class="footer-bottom">
        <span>© <span id="year">2026</span> Northline Ledger. All rights reserved.</span>
        <div><a href="#privacy">Privacy</a><a href="#terms">Terms</a></div>
      </div>
      <div style="padding-top:18px; color:#91a599; font-size:.72rem; line-height:1.6">
        <span id="privacy"><strong>Privacy:</strong> This page does not collect or store assessment responses. Email inquiries are handled through your email provider.</span>
        <span id="terms"> &nbsp; <strong>Terms:</strong> Content is for general information and is not financial, legal, or investment advice.</span>
      </div>
    </div>
  </footer>

  <script>
    const menuButton = document.querySelector('.menu-toggle');
    const navigation = document.querySelector('#primary-nav');
    menuButton.addEventListener('click', () => {
      const isOpen = navigation.classList.toggle('is-open');
      menuButton.setAttribute('aria-expanded', String(isOpen));
      menuButton.textContent = isOpen ? 'Close ×' : 'Menu ☰';
    });
    navigation.addEventListener('click', (event) => {
      if (event.target.closest('a')) {
        navigation.classList.remove('is-open');
        menuButton.setAttribute('aria-expanded', 'false');
        menuButton.textContent = 'Menu ☰';
      }
    });

    const suggestions = {
      market: {
        title: 'Start with a market snapshot.',
        text: 'Identify your three most important customer segments, compare your closest alternatives, and note the external signals that could change demand. Use the gaps in that picture to guide your research.'
      },
      growth: {
        title: 'Make your options comparable.',
        text: 'List your growth opportunities and assess each against customer need, strategic fit, investment, and execution capability. A shared set of criteria makes the trade-offs easier to discuss.'
      },
      change: {
        title: 'Map the change to the work.',
        text: 'Choose one important workflow and identify who it affects, what will change, and how adoption will be measured. Start small, listen to feedback, and build from what works.'
      },
      alignment: {
        title: 'Put the decisions on the table.',
        text: 'Ask each leader to name the top three priorities and the trade-offs they imply. Compare the answers, resolve the differences, and agree on owners and a regular review cadence.'
      }
    };
    document.querySelector('#assessment-form').addEventListener('submit', (event) => {
      event.preventDefault();
      const suggestion = suggestions[document.querySelector('#priority').value];
      if (!suggestion) return;
      document.querySelector('#result-title').textContent = suggestion.title;
      document.querySelector('#result-text').textContent = suggestion.text;
      document.querySelector('#assessment-result').hidden = false;
    });
    document.querySelector('#year').textContent = new Date().getFullYear();
  </script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T10:17:06.781Z",
  "url": "https://benchmark.aimac.invalid/41697be06d1929d2c41737a17db3ad25b0de1e8865ba5ab6365a86f2cf7dd5b8.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": "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": []
    },
    {
      "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": []
    },
    {
      "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": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "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 class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "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 class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "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 style=\"margin-top:55px; border-top:1px solid var(--line); padding-top:30px; display:grid; gap:20px;\">",
          "target": [
            "#insights > .container > div:nth-child(3)"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button class=\"button dark\" type=\"submit\">Show my next step <span class=\"arrow\">\u2192</span></button>",
          "target": [
            "button[type=\"submit\"]"
          ]
        }
      ]
    },
    {
      "id": "bypass",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag241",
        "section508",
        "section508.22.o",
        "TTv5",
        "TT9.a",
        "EN-301-549",
        "EN-9.2.4.1"
      ],
      "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
      "help": "Page must have means to bypass repeated blocks",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "internal-link-present",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Valid skip link found"
            },
            {
              "id": "header-present",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<h1 id=\"hero-title\">Good business starts with <em>better perspective.</em></h1>",
                  "target": [
                    "#hero-title"
                  ]
                },
                {
                  "html": "<h2>Perspective that moves business forward.</h2>",
                  "target": [
                    ".intro > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h2>Insight is only the beginning.</h2>",
                  "target": [
                    "#services > .container > .section-heading > div > h2"
                  ]
                },
                {
                  "html": "<h3>Market intelligence</h3>",
                  "target": [
                    ".service-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Strategy &amp; growth</h3>",
                  "target": [
                    ".service-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>Transformation support</h3>",
                  "target": [
                    ".service-card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h2>Ideas worth your attention.</h2>",
                  "target": [
                    "#insights > .container > .section-heading > div > h2"
                  ]
                },
                {
                  "html": "<h3>Planning for growth when the outlook keeps changing</h3>",
                  "target": [
                    ".article-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Technology is a people strategy, too</h3>",
                  "target": [
                    ".article-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>The case for fewer, better priorities</h3>",
                  "target": [
                    ".article-card:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h2>Better alignment. More meaningful progress.</h2>",
                  "target": [
                    "div:nth-child(2) > h2"
                  ]
                },
                {
                  "html": "<h2 id=\"assessment-title\">What\u2019s your next business priority?</h2>",
                  "target": [
                    "#assessment-title"
                  ]
                },
                {
                  "html": "<h3>Where could you use more clarity?</h3>",
                  "target": [
                    ".assessment-box > h3"
                  ]
                },
                {
                  "html": "<h3>Good work is a team sport.</h3>",
                  "target": [
                    "div:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h2>Questions, answered.</h2>",
                  "target": [
                    ".faq-grid > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h2>Ready for a clearer way forward?</h2>",
                  "target": [
                    "#contact > .container > div > h2"
                  ]
                },
                {
                  "html": "<h4>Explore</h4>",
                  "target": [
                    "div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Connect</h4>",
                  "target": [
                    "div:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Get in touch</h4>",
                  "target": [
                    "div:nth-child(4) > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main id=\"top\">",
                  "target": [
                    "#top"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#c4d1c4",
                "bgColor": "#10241d",
                "contrastRatio": 10.26,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 10.26"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span><strong>THE NORTHLINE BRIEF</strong> &nbsp; A sharper perspective for business leaders.</span>",
          "target": [
            ".topline > .container > span:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "duplicate-id-aria",
              "data": "primary-nav",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<nav class=\"nav\" id=\"primary-nav\" aria-label=\"Primary navigation\">",
          "target": [
            "#primary-nav"
          ]
        }
      ]
    },
    {
      "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=\"priority\">Your current priority</label>",
                  "target": [
                    "label"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<select id=\"priority\" required=\"\">",
          "target": [
            "#priority"
          ]
        }
      ]
    },
    {
      "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"
            },
            {
              "id": "presentational-role",
              "data": {
                "role": "presentation"
              },
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element's default semantics were overridden with role=\"presentation\""
            }
          ],
          "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/86x86/17372a/d8ef74?text=N&amp;font=montserrat\" alt=\"\" width=\"43\" height=\"43\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"] > img[alt=\"\"][width=\"43\"][height=\"43\"]"
          ]
        }
      ]
    },
    {
      "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=\"intro-copy\">",
                  "target": [
                    ".intro-copy"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"text-link\" href=\"#services\">Get to know our work <span class=\"arrow\">\u2197</span></a>",
          "target": [
            ".text-link[href$=\"#services\"]"
          ]
        }
      ]
    },
    {
      "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"
            },
            {
              "id": "aria-label",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute exists and is not empty"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://picsum.photos/id/180/1200/1000\" alt=\"A workspace seen from above\" width=\"1200\" height=\"1000\">",
          "target": [
            "img[alt=\"A workspace seen from above\"]"
          ]
        }
      ]
    },
    {
      "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": "Your current priority"
              },
              "relatedNodes": [
                {
                  "html": "<label for=\"priority\">Your current priority</label>",
                  "target": [
                    "label"
                  ]
                }
              ],
              "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=\"priority\" required=\"\">",
          "target": [
            "#priority"
          ]
        }
      ]
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<summary>Who do you work with?</summary>",
          "target": [
            "details:nth-child(1) > summary"
          ]
        }
      ]
    },
    {
      "id": "target-size",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 191.9,
                "height": 43
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (191.9px by 43px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"Northline Ledger home\">",
          "target": [
            "a[aria-label=\"Northline Ledger home\"]"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute is not well supported on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"partner-list\" aria-label=\"Our areas of collaboration\">\n          <span>Research &amp; data</span>\n          <span>Technology</span>\n          <span>Finance</span>\n          <span>Creative</span>\n        </div>",
          "target": [
            ".partner-list"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute is not well supported on a div with no valid role attribute."
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "messageKey": "nonBmp"
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element content contains only non-text characters"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"arrow\">\u2192</span>",
          "target": [
            ".text-link[href$=\"#insights\"] > .arrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element content contains only non-text characters"
        }
      ]
    }
  ],
  "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": "#66736b",
                "bgColor": "#eaece2",
                "contrastRatio": 4.15,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Practical support for the decisions that shape your next chapter, from the first question to the final plan.</p>",
          "target": [
            "#services > .container > .section-heading > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#697a6c",
                "bgColor": "#eaece2",
                "contrastRatio": 3.82,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>01 / UNDERSTAND</span>",
          "target": [
            ".service-card:nth-child(1) > .service-number > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#eaece2",
                "contrastRatio": 4.15,
                "fontSize": "11.3pt (15.04px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>See the forces shaping your sector. We translate competitor activity, customer behavior, and economic trends into a clear picture of opportunity and risk.</p>",
          "target": [
            ".service-card:nth-child(1) > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#697a6c",
                "bgColor": "#eaece2",
                "contrastRatio": 3.82,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>02 / DEFINE</span>",
          "target": [
            ".service-card:nth-child(2) > .service-number > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#eaece2",
                "contrastRatio": 4.15,
                "fontSize": "11.3pt (15.04px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Turn ambition into a focused roadmap. Together, we sharpen your value proposition, prioritize growth opportunities, and build stakeholder alignment around what matters most.</p>",
          "target": [
            ".service-card:nth-child(2) > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#697a6c",
                "bgColor": "#eaece2",
                "contrastRatio": 3.82,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>03 / DELIVER</span>",
          "target": [
            ".service-card:nth-child(3) > .service-number > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.82 (foreground color: #697a6c, background color: #eaece2, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#eaece2",
                "contrastRatio": 4.15,
                "fontSize": "11.3pt (15.04px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Make change work in practice. From digital transformation to operating model design, we help teams connect initiatives to measurable outcomes and sustainable ways of working.</p>",
          "target": [
            ".service-card:nth-child(3) > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 11.3pt (15.04px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#eaece2",
                "contrastRatio": 4.15,
                "fontSize": "10.8pt (14.4px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section services\" id=\"services\">",
                  "target": [
                    "#services"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p><strong>Built around your needs.</strong> Engagements are scoped to your goals, team, and timeline.</p>",
          "target": [
            ".pricing-note > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.15 (foreground color: #66736b, background color: #eaece2, font size: 10.8pt (14.4px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#708075",
                "bgColor": "#fbfbf7",
                "contrastRatio": 4.02,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section insights\" id=\"insights\">",
                  "target": [
                    "#insights"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>6 min read</span>",
          "target": [
            ".article-card:nth-child(1) > .article-meta > span:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#708075",
                "bgColor": "#fbfbf7",
                "contrastRatio": 4.02,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section insights\" id=\"insights\">",
                  "target": [
                    "#insights"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>5 min read</span>",
          "target": [
            ".article-card:nth-child(2) > .article-meta > span:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#708075",
                "bgColor": "#fbfbf7",
                "contrastRatio": 4.02,
                "fontSize": "8.4pt (11.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section insights\" id=\"insights\">",
                  "target": [
                    "#insights"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>4 min read</span>",
          "target": [
            ".article-card:nth-child(3) > .article-meta > span:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.02 (foreground color: #708075, background color: #fbfbf7, font size: 8.4pt (11.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#dfe9d5",
                "contrastRatio": 3.96,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section assessment\" aria-labelledby=\"assessment-title\">",
                  "target": [
                    ".assessment"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.96 (foreground color: #66736b, background color: #dfe9d5, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>Every meaningful change starts with the right question. Tell us where your attention is focused and we\u2019ll suggest a useful first step.</p>",
          "target": [
            ".assessment-copy > p:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.96 (foreground color: #66736b, background color: #dfe9d5, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#66736b",
                "bgColor": "#dfe9d5",
                "contrastRatio": 3.96,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section assessment\" aria-labelledby=\"assessment-title\">",
                  "target": [
                    ".assessment"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.96 (foreground color: #66736b, background color: #dfe9d5, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>No forms, no inbox required\u2014just a little clarity to take with you.</p>",
          "target": [
            ".assessment-copy > p:nth-child(4)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.96 (foreground color: #66736b, background color: #dfe9d5, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 7011
      },
      {
        "y": 576,
        "height": 7011
      },
      {
        "y": 1152,
        "height": 7011
      },
      {
        "y": 1728,
        "height": 7011
      },
      {
        "y": 2304,
        "height": 7011
      },
      {
        "y": 2880,
        "height": 7011
      },
      {
        "y": 3456,
        "height": 7011
      },
      {
        "y": 4032,
        "height": 7011
      },
      {
        "y": 4608,
        "height": 7011
      },
      {
        "y": 5184,
        "height": 7011
      },
      {
        "y": 5760,
        "height": 7011
      },
      {
        "y": 6291,
        "height": 7011
      }
    ],
    "scans": 13,
    "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 "Business" 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: "Business"
- Description: Business news, corporate resources, finance, and professional advice.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Business" 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: "Partners", "FAQ", "Services".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Business" category. Consider themes similar to: "Client Success", "Industry Insights", "Market Analysis".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "value proposition", "digital transformation", "stakeholder alignment".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Contact Us", "See Pricing", "Schedule Consultation".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Business" sector. Ideas similar but not limited to: "assessment quiz".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "market insights", "industry trends", "expert tips".
-   **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
-   **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.