Qwen Qwen3.8 27B – Automotive

via Reka · Generated

  • AIMAC Debt 5.06
  • Cost $0.16
  • Total Violations 25
  • HTML Size 82 KB
  • Em Dashes 50

Screenshot

View Qwen Qwen3.8 27B Automotive page View Live Page

Accessibility Issues Found

25 Serious

  • color-contrast serious 25 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <b>01</b>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TorqLine — Every Car Measured. Every Dollar Tracked.</title>
<meta name="description" content="TorqLine is the driver's desk: independent car reviews, shop-floor repair guides, live pricing, financing and lease terms, and a certified inventory — all under one roof in Detroit.">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' fill='%23FF4D00'/%3E%3Ctext x='32' y='45' font-family='Arial, sans-serif' font-size='38' font-weight='900' text-anchor='middle' fill='%23101216'%3ET%3C/text%3E%3C/svg%3E">
<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=Anton&family=Archivo:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500;600&display=swap" rel="stylesheet">
<script>document.documentElement.classList.add('js');</script>
<style>
/* ============ TOKENS ============ */
:root{
  --ink:#101216; --ink-2:#0B0D11;
  --paper:#F3EFE6; --paper-2:#EAE3D3; --card:#FBF8F0;
  --orange:#FF4D00; --steel:#59616E;
  --steel-d:rgba(243,239,230,.6);
  --line-p:rgba(16,18,22,.16); --line-d:rgba(243,239,230,.16);
  --f-d:'Anton',Impact,sans-serif;
  --f-b:'Archivo',Helvetica,sans-serif;
  --f-m:'IBM Plex Mono',Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--f-b);background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--orange);color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.container{width:min(1210px,92%);margin-inline:auto}
section{scroll-margin-top:84px}
.section{padding:clamp(72px,9vw,112px) 0}
.bg-ink{background:var(--ink);color:var(--paper)}
.bg-ink-2{background:var(--ink-2);color:var(--paper)}
.bg-paper2{background:var(--paper-2)}

/* ============ TYPE UTILITIES ============ */
.kicker{font-family:var(--f-m);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.7rem;color:var(--steel);margin-bottom:1.1rem}
.kicker b{color:var(--orange);font-weight:600}
.kicker::after{content:"";width:38px;height:1.5px;background:var(--orange)}
.bg-ink .kicker,.bg-ink-2 .kicker{color:var(--steel-d)}
.title{font-family:var(--f-d);font-weight:400;font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:.95;text-transform:uppercase;letter-spacing:.01em}
.lm{display:block;overflow:hidden}
.js .lm>span{display:block;transform:translateY(112%);transition:transform 1s cubic-bezier(.19,1,.22,1)}
.js .in-view .lm>span{transform:translateY(0)}
.lede{font-size:1.06rem;color:var(--steel);max-width:56ch}
.bg-ink .lede{color:var(--steel-d)}
.ulink{position:relative;text-decoration:none;font-weight:700;display:inline-block}
.ulink::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ulink:hover::after{transform:scaleX(1);transform-origin:left}

/* reveal */
.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-reveal].in-view{opacity:1;transform:none}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:var(--f-m);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1rem 1.5rem;border:1.5px solid var(--ink);background:transparent;color:var(--ink);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}
.btn:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--ink)}
.btn:active{transform:translate(0,0);box-shadow:none}
.btn-solid{background:var(--orange)}
.btn-sm{padding:.72rem 1rem;font-size:.68rem}
.btn-block{width:100%}
.bg-ink .btn,.bg-ink-2 .btn{border-color:var(--paper);color:var(--paper)}
.bg-ink .btn-solid{color:var(--ink);border-color:var(--orange)}
.bg-ink .btn:hover{box-shadow:5px 5px 0 var(--orange)}
.btn-ink{background:var(--ink);color:var(--paper)!important;border-color:var(--ink)}
.btn-ink:hover{box-shadow:5px 5px 0 rgba(16,18,22,.4)!important}

/* ============ NOISE / PROGRESS ============ */
.noise{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}
.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--orange);z-index:200}
.skip{position:absolute;left:16px;top:-60px;z-index:300;background:var(--ink);color:var(--paper);padding:.8rem 1.2rem;font-family:var(--f-m);font-size:.75rem;transition:top .2s}
.skip:focus{top:12px}

/* ============ TOP STRIP + WIRE ============ */
.topstrip{background:var(--paper);border-bottom:1px solid var(--line-p);display:flex;justify-content:space-between;align-items:center;padding:.5rem 24px;font-family:var(--f-m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.topstrip b{color:var(--ink);font-weight:600}
.topstrip .dot{color:var(--orange);padding:0 .6rem}
.wire{background:var(--ink);color:var(--paper);overflow:hidden;border-bottom:1px solid var(--ink)}
.wire-track{display:flex;width:max-content;animation:wire 42s linear infinite}
.wire:hover .wire-track{animation-play-state:paused}
.wire-set{display:flex;align-items:center;padding:.55rem 0}
.w-item{font-family:var(--f-m);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:0 .4rem}
.w-item em{font-style:normal;color:var(--orange);font-weight:600}
.w-sep{color:var(--orange);padding:0 1.3rem;font-family:var(--f-m);font-size:.66rem}
@keyframes wire{to{transform:translateX(-50%)}}

/* ============ MASTHEAD ============ */
.masthead{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;padding:2.2rem 0 1.6rem;border-bottom:1px solid var(--line-p)}
.mast-brand{display:flex;align-items:center;gap:18px}
.mast-brand img{width:62px;height:62px;image-rendering:pixelated;border:1.5px solid var(--ink)}
.mast-name{font-family:var(--f-d);font-size:clamp(2.6rem,7vw,4.6rem);line-height:.85;letter-spacing:.01em;text-transform:uppercase}
.mast-name .tm{color:var(--orange)}
.tagline{font-family:var(--f-m);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--steel);margin-top:.55rem}
.mast-meta{text-align:right;font-family:var(--f-m);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel);line-height:1.9}
.mast-meta b{color:var(--ink);font-weight:600}
.checker{height:12px;background:repeating-conic-gradient(var(--ink) 0 25%,var(--paper) 0 50%);background-size:12px 12px}
.checker-ink{background:repeating-conic-gradient(var(--ink) 0 25%,var(--orange) 0 50%);background-size:12px 12px}

/* ============ NAV ============ */
.mainnav{position:sticky;top:0;z-index:120;background:var(--paper);border-bottom:2px solid var(--ink);transition:box-shadow .3s}
.mainnav.scrolled{box-shadow:0 12px 32px rgba(16,18,22,.18)}
.nav-inner{display:flex;align-items:center;gap:26px;padding:.8rem 0}
.nav-brand{font-family:var(--f-d);font-size:1.25rem;text-transform:uppercase;letter-spacing:.02em;text-decoration:none;display:flex;align-items:center;gap:.5rem}
.nav-brand i{width:9px;height:9px;background:var(--orange);display:inline-block}
.nav-links{display:flex;align-items:center;gap:22px;margin-left:auto;list-style:none}
.nav-links a{font-family:var(--f-b);font-weight:600;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.3rem 0;position:relative}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{margin-left:8px}
.burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--ink);width:44px;height:40px;position:relative}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--ink);transition:.3s}
.burger span:nth-child(1){top:12px}
.burger span:nth-child(2){top:19px}
.burger span:nth-child(3){top:26px}
.nav-open .burger span:nth-child(1){top:19px;transform:rotate(45deg)}
.nav-open .burger span:nth-child(2){opacity:0}
.nav-open .burger span:nth-child(3){top:19px;transform:rotate(-45deg)}

/* ============ HERO ============ */
.hero{padding:clamp(56px,7vw,88px) 0 clamp(72px,8vw,104px)}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero h1{font-family:var(--f-d);font-weight:400;font-size:clamp(2.5rem,5.2vw,4.7rem);line-height:.94;text-transform:uppercase;letter-spacing:.005em;margin:.4rem 0 1.4rem}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero .lede{max-width:52ch;margin-bottom:1.1rem}
.hero .lede:last-of-type{margin-bottom:1.8rem}
.spec-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line-d);margin:1.9rem 0 2.1rem}
.spec{padding:.9rem 0 .4rem 14px;border-left:1px solid var(--line-d)}
.spec small{display:block;font-family:var(--f-m);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-d);margin-bottom:.35rem}
.spec strong{font-family:var(--f-d);font-weight:400;font-size:1.55rem;letter-spacing:.02em}
.spec strong i{font-style:normal;font-size:.85rem;color:var(--steel-d)}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-fig{position:relative;aspect-ratio:4/4.4;max-height:640px}
.hero-fig .kb{position:absolute;inset:0;border:1px solid var(--line-d)}
.kb{overflow:hidden}
.kb img{width:100%;height:100%;object-fit:cover;animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09) translate(-1.5%,1%)}}
.fig-cap{position:absolute;left:12px;bottom:12px;background:var(--ink);color:var(--paper);font-family:var(--f-m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.45rem .7rem}
.stamp{position:absolute;top:-22px;right:-14px;width:92px;height:92px;background:var(--orange);color:var(--ink);display:grid;place-content:center;text-align:center;transform:rotate(8deg);box-shadow:7px 7px 0 rgba(0,0,0,.35);z-index:2}
.stamp b{font-family:var(--f-d);font-weight:400;font-size:2.1rem;line-height:1}
.stamp small{font-family:var(--f-m);font-size:.58rem;letter-spacing:.18em}

/* ============ NEWS ============ */
.news-grid{display:grid;grid-template-columns:1fr 320px;gap:clamp(32px,4vw,56px);margin-top:2.6rem}
.news-main{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ncard{background:var(--card);border:1px solid var(--line-p);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.ncard:hover{transform:translateY(-5px);box-shadow:10px 10px 0 rgba(16,18,22,.08)}
.ncard .thumb{overflow:hidden;aspect-ratio:16/9}
.ncard .thumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ncard:hover .thumb img{transform:scale(1.06)}
.ncard .body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.cat{align-self:flex-start;font-family:var(--f-m);font-size:.6rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.28rem .6rem;border:1px solid var(--ink)}
.cat.hot{background:var(--orange);border-color:var(--orange)}
.ncard h3{font-size:1.16rem;line-height:1.25;font-weight:700}
.ncard h3 a{text-decoration:none}
.ncard h3 a:hover{color:var(--orange)}
.ncard .dek{font-size:.9rem;color:var(--steel)}
.ncard .meta{margin-top:auto;font-family:var(--f-m);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.ncard.featured{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr}
.ncard.featured .thumb{aspect-ratio:auto;height:100%;min-height:280px}
.ncard.featured h3{font-size:1.6rem}
.ncard.wide{grid-column:1/-1;flex-direction:row}
.ncard.wide .thumb{width:42%;aspect-ratio:auto;min-height:220px}
.ncard.wide .body{width:58%}
/* aside */
.news-aside{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:1.8rem}
.aside-block{border-top:2px solid var(--ink);padding-top:1rem}
.aside-block h4{font-family:var(--f-m);font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;display:flex;justify-content:space-between}
.aside-block h4 span{color:var(--orange)}
.mr-list{list-style:none}
.mr-list li{display:flex;gap:.8rem;align-items:baseline;padding:.65rem 0;border-bottom:1px solid var(--line-p);font-weight:600;font-size:.9rem;line-height:1.35}
.mr-list li a{text-decoration:none}
.mr-list li a:hover{color:var(--orange)}
.mr-list .idx{font-family:var(--f-d);font-size:1.15rem;color:var(--orange);min-width:1.4rem}
.dotrow{display:flex;align-items:baseline;gap:10px;padding:.5rem 0;font-size:.88rem}
.dotrow .dots{flex:1;border-bottom:2px dotted rgba(16,18,22,.3)}
.dotrow .price{font-family:var(--f-m);font-weight:600;font-size:.82rem}
.dotrow .free{color:var(--orange)}
.honor{display:flex;gap:.7rem;padding:.6rem 0;border-bottom:1px solid var(--line-p);font-size:.85rem;line-height:1.4}
.honor b{color:var(--orange)}

/* ============ REVIEWS ============ */
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.sec-idx{font-family:var(--f-d);font-size:clamp(2.6rem,5vw,4rem);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--line-p)}
.bg-ink .sec-idx{-webkit-text-stroke:1.5px var(--line-d)}
.review-feature{display:grid;grid-template-columns:440px 1fr;gap:clamp(28px,4vw,52px);margin-top:2.6rem;align-items:start}
.rf-fig{position:relative}
.rf-fig .kb{aspect-ratio:4/3;border:1px solid var(--line-p)}
.rf-fig .fig-cap{background:var(--paper)}
.stamp.s2{width:76px;height:76px;top:-16px;left:auto;right:-12px;transform:rotate(-7deg)}
.stamp.s2 b{font-size:1.6rem}
.rf-body h3{font-family:var(--f-d);font-weight:400;font-size:clamp(1.7rem,3vw,2.5rem);line-height:.98;text-transform:uppercase;margin-bottom:1.1rem}
.rf-body p{color:var(--steel);margin-bottom:1rem;max-width:60ch}
.bars{margin:1.6rem 0;border-top:1px solid var(--line-p)}
.bar{display:grid;grid-template-columns:96px 1fr 46px;align-items:center;gap:14px;padding:.85rem 0;border-bottom:1px solid var(--line-p)}
.bar small{font-family:var(--f-m);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel)}
.bar .track{height:8px;background:rgba(16,18,22,.08)}
.bar .track i{display:block;height:100%;width:0;background:var(--orange);transition:width 1.2s cubic-bezier(.2,.7,.2,1) .3s}
.in-view .bar .track i{width:var(--w)}
.bar b{font-family:var(--f-m);font-size:.8rem}
.verdict-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.chip{font-family:var(--f-m);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.35rem .7rem;border:1.5px solid currentColor}
.chip.buy{color:var(--orange)}
.chip.wait{color:var(--steel)}
/* verdict board */
.board{margin-top:3.4rem;border-top:2px solid var(--ink)}
.board-row{display:grid;grid-template-columns:1.5fr .5fr 2fr .7fr;gap:16px;align-items:center;padding:1rem 8px;border-bottom:1px solid var(--line-p);transition:background .25s}
.board-row:hover{background:rgba(251,248,240,.9)}
.board-row .m{font-weight:700}
.board-row .m small{display:block;font-weight:400;font-family:var(--f-m);font-size:.62rem;letter-spacing:.12em;color:var(--steel);text-transform:uppercase}
.board-row .s{font-family:var(--f-d);font-size:1.4rem}
.board-row .n{font-size:.9rem;color:var(--steel)}
.board-head{font-family:var(--f-m);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel);padding:.8rem 8px}

/* ============ SHOP NOTES ============ */
.guides{margin-top:2.8rem;border-top:1px solid var(--line-d)}
.guide{display:grid;grid-template-columns:70px 1fr 210px 96px;gap:clamp(16px,3vw,36px);align-items:center;padding:1.8rem 8px;border-bottom:1px solid var(--line-d);transition:background .3s,padding-left .3s}
.guide:hover{background:rgba(243,239,230,.045);padding-left:20px}
.guide .g-idx{font-family:var(--f-d);font-size:2.2rem;color:transparent;-webkit-text-stroke:1.2px var(--steel-d);transition:.3s}
.guide:hover .g-idx{color:var(--orange);-webkit-text-stroke:1.2px var(--orange)}
.guide h3{font-size:1.25rem;line-height:1.25;margin-bottom:.5rem}
.guide h3 a{text-decoration:none}
.guide:hover h3 a{color:var(--orange)}
.guide p{color:var(--steel-d);font-size:.92rem;max-width:58ch}
.g-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.g-chips span{font-family:var(--f-m);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-d);padding:.3rem .55rem;color:var(--steel-d)}
.guide .g-thumb{width:96px;height:72px;object-fit:cover;border:1px solid var(--line-d)}
.shop-cta{margin-top:2.4rem}

/* ============ TRADE-IN ============ */
.ti-grid{display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(36px,5vw,72px);align-items:start;margin-top:2.6rem}
.ti-copy p{color:var(--steel);margin-bottom:1.1rem;max-width:52ch}
.ti-list{list-style:none;margin-top:1.6rem;border-top:1px solid var(--line-p)}
.ti-list li{font-family:var(--f-m);font-size:.78rem;letter-spacing:.06em;padding:.75rem 0;border-bottom:1px solid var(--line-p);display:flex;gap:.8rem}
.ti-list li::before{content:"▸";color:var(--orange)}
.tool{background:var(--card);border:1.5px solid var(--ink);box-shadow:12px 12px 0 var(--ink);padding:clamp(20px,2.6vw,32px)}
.tool-head{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-m);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;border-bottom:1.5px solid var(--ink);padding-bottom:.9rem;margin-bottom:1.4rem}
.live-dot{display:inline-flex;align-items:center;gap:.5rem;color:var(--orange)}
.live-dot i{width:8px;height:8px;background:var(--orange);border-radius:50%;animation:pulse 1.8s ease infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.gauge-wrap{text-align:center;margin-bottom:.4rem}
.gauge-wrap svg{width:100%;max-width:340px}
#needle{transform:rotate(-90deg);transform-origin:150px 150px;transition:transform 1s cubic-bezier(.3,1.4,.35,1)}
.ti-value{display:flex;align-items:baseline;justify-content:center;gap:14px;flex-wrap:wrap;margin:.4rem 0 1.6rem}
.ti-value .big{font-family:var(--f-d);font-size:clamp(2.4rem,4vw,3.2rem);line-height:1}
.ti-value .range{font-family:var(--f-m);font-size:.72rem;letter-spacing:.08em;color:var(--steel)}
.tool form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field label{display:block;font-family:var(--f-m);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--steel);margin-bottom:.45rem}
.field.full{grid-column:1/-1}
.sel{position:relative}
.sel select{width:100%;appearance:none;-webkit-appearance:none;background:var(--paper);border:1.5px solid var(--ink);padding:.85rem 2.2rem .85rem .9rem;font-family:var(--f-m);font-size:.82rem;letter-spacing:.04em;cursor:pointer}
.sel::after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.8rem}
.mile-row{display:flex;align-items:center;gap:16px}
.mile-row input[type=range]{flex:1;accent-color:var(--orange);cursor:pointer}
.mile-val{font-family:var(--f-m);font-size:.78rem;font-weight:600;min-width:96px;text-align:right}
.cond-row{display:flex;gap:8px}
.cond-row label{flex:1;position:relative}
.cond-row input{position:absolute;opacity:0;pointer-events:none}
.cond-row .pill{display:block;text-align:center;font-family:var(--f-m);font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border:1.5px solid var(--ink);padding:.7rem .4rem;cursor:pointer;transition:.2s}
.cond-row input:checked+.pill{background:var(--ink);color:var(--paper)}
.cond-row input:focus-visible+.pill{outline:2px solid var(--orange);outline-offset:2px}
.tool .btn-block{margin-top:4px}
.lock-msg{display:none;margin-top:.9rem;font-family:var(--f-m);font-size:.74rem;letter-spacing:.08em;background:var(--ink);color:var(--paper);padding:.8rem 1rem;border-left:4px solid var(--orange)}
.lock-msg.show{display:block}
.tool-note{margin-top:1rem;font-family:var(--f-m);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}

/* ============ FINANCING ============ */
.fin-grid{display:grid;grid-template-columns:1fr 460px;gap:clamp(36px,5vw,72px);margin-top:2.6rem;align-items:start}
.fin-copy p{color:var(--steel);margin-bottom:1.1rem;max-width:56ch}
.fin-copy .drop::first-letter{font-family:var(--f-d);font-size:3.2rem;float:left;line-height:.85;padding-right:.55rem;color:var(--orange)}
.fin-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.6rem}
.pay-card{border:1.5px solid var(--ink);background:var(--card);box-shadow:10px 10px 0 rgba(16,18,22,.1)}
.pay-head{background:var(--ink);color:var(--paper);padding:1rem 1.2rem;font-family:var(--f-m);font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between}
.pay-head span{color:var(--orange)}
.pay-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:.95rem 1.2rem;border-bottom:1px solid var(--line-p);font-family:var(--f-m);font-size:.78rem}
.pay-row b{font-weight:600;letter-spacing:.04em}
.pay-row .amt{font-family:var(--f-d);font-size:1.25rem;letter-spacing:.02em}
.pay-row .sub{display:block;font-family:var(--f-m);font-size:.62rem;color:var(--steel);letter-spacing:.08em;margin-top:.15rem}
.pay-foot{padding:.9rem 1.2rem;font-family:var(--f-m);font-size:.62rem;letter-spacing:.08em;color:var(--steel);line-height:1.7}

/* ============ SPECIALS ============ */
.specials{background:var(--orange);color:var(--ink)}
.specials .kicker{color:rgba(16,18,22,.7)}
.specials .kicker::after{background:var(--ink)}
.cd-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:1.8rem 0 2.6rem}
.cd-label{font-family:var(--f-m);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.cd-boxes{display:flex;gap:10px;align-items:flex-start}
.cd-box{border:2px solid var(--ink);min-width:74px;padding:.55rem .5rem .45rem;text-align:center}
.cd-box b{display:block;font-family:var(--f-d);font-weight:400;font-size:2.2rem;line-height:1}
.cd-box small{font-family:var(--f-m);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}
.cd-colon{font-family:var(--f-d);font-size:2rem;line-height:1.4}
.deals{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.deal{background:var(--paper);border:1.5px solid var(--ink);padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.deal:hover{transform:translate(-4px,-4px);box-shadow:8px 8px 0 var(--ink)}
.deal .d-tag{align-self:flex-start;font-family:var(--f-m);font-size:.58rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:.3rem .6rem}
.deal h3{font-size:1.05rem;line-height:1.3;font-weight:700}
.deal .was{font-family:var(--f-m);font-size:.8rem;color:var(--steel);text-decoration:line-through}
.deal .now{font-family:var(--f-d);font-size:2rem;line-height:1}
.deal .d-meta{font-family:var(--f-m);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-top:auto}
.deal-note{margin:1.6rem 0;font-family:var(--f-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}

/* ============ INVENTORY ============ */
.inv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.inv-arrows{display:flex;gap:10px}
.arrow{width:46px;height:46px;border:1.5px solid var(--ink);background:transparent;font-size:1.15rem;transition:.2s}
.arrow:hover{background:var(--ink);color:var(--paper)}
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:min(300px,76vw);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2rem 4px 1rem;margin-top:1rem;scrollbar-width:none}
.scroller::-webkit-scrollbar{display:none}
.vcard{scroll-snap-align:start;background:var(--card);border:1px solid var(--line-p);display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.vcard:hover{transform:translateY(-6px);box-shadow:10px 10px 0 rgba(16,18,22,.08)}
.vcard .vthumb{position:relative;aspect-ratio:3/2;overflow:hidden}
.vcard .vthumb img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s}
.vcard:hover .vthumb img{transform:scale(1.06)}
.vbadge{position:absolute;top:10px;left:10px;background:var(--orange);font-family:var(--f-m);font-size:.58rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.32rem .6rem}
.vcard .vbody{padding:1.2rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.vcard h3{font-size:1.05rem;font-weight:700;line-height:1.25}
.vcard .vspec{font-family:var(--f-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}
.vcard .vprice{font-family:var(--f-d);font-size:1.6rem;margin:.4rem 0 .8rem}
.vcard .btn{margin-top:auto}

/* ============ VOICES ============ */
.voices-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:2.8rem}
.voice{background:var(--card);border:1px solid var(--line-p);padding:1.6rem;box-shadow:8px 8px 0 rgba(16,18,22,.08);display:flex;flex-direction:column;gap:1rem;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.voice:nth-child(1){transform:rotate(-1.3deg)}
.voice:nth-child(2){transform:rotate(.9deg) translateY(12px)}
.voice:nth-child(3){transform:rotate(-.6deg)}
.voice:hover{transform:rotate(0) translateY(-4px)}
.voice .q{font-family:var(--f-d);font-size:2.6rem;line-height:.6;color:var(--orange)}
.voice blockquote{font-size:.95rem;line-height:1.6}
.voice .v-foot{margin-top:auto;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line-p);padding-top:1rem}
.voice .v-foot img{width:44px;height:44px;border:1.5px solid var(--ink)}
.voice .v-foot b{display:block;font-size:.9rem}
.voice .v-foot small{font-family:var(--f-m);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.voice .v-tag{font-family:var(--f-m);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);border:1px solid var(--orange);align-self:flex-start;padding:.28rem .55rem}

/* ============ FAQ ============ */
.faq-wrap{display:grid;grid-template-columns:1fr 300px;gap:clamp(32px,5vw,72px);margin-top:2.6rem}
.faq-item{border-bottom:1px solid var(--line-p)}
.faq-item:first-child{border-top:2px solid var(--ink)}
.faq-q{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;gap:20px;text-align:left;padding:1.15rem 4px;font-family:var(--f-b);font-weight:700;font-size:1rem;transition:color .2s,padding-left .25s}
.faq-q:hover{color:var(--orange);padding-left:12px}
.plus{position:relative;width:14px;height:14px;flex:none;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.plus::before,.plus::after{content:"";position:absolute;background:var(--orange)}
.plus::before{left:0;right:0;top:6px;height:2px}
.plus::after{top:0;bottom:0;left:6px;width:2px}
.faq-item.open .plus{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.7,.2,1)}
.faq-a p{padding:0 4px 1.3rem;color:var(--steel);max-width:62ch}
.faq-side{border:1.5px solid var(--ink);background:var(--card);padding:1.6rem;height:fit-content}
.faq-side h4{font-family:var(--f-d);font-weight:400;font-size:1.5rem;text-transform:uppercase;line-height:1;margin-bottom:.8rem}
.faq-side p{font-size:.9rem;color:var(--steel);margin-bottom:1.2rem}
.faq-side .tel{font-family:var(--f-d);font-size:1.4rem;display:block;margin-bottom:1rem;text-decoration:none}
.faq-side .tel:hover{color:var(--orange)}
.faq-side .hrs{font-family:var(--f-m);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);border-top:1px solid var(--line-p);padding-top:.9rem}

/* ============ NEWSLETTER ============ */
.nl-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.nl-grid h2{font-family:var(--f-d);font-weight:400;font-size:clamp(2.4rem,5vw,4rem);line-height:.95;text-transform:uppercase}
.nl-grid h2 em{font-style:normal;color:var(--orange)}
.nl-grid .lede{margin-top:1rem}
.nl-form{display:flex;gap:0}
.nl-form input{flex:1;min-width:0;background:transparent;border:none;border-bottom:2px solid var(--paper);color:var(--paper);font-family:var(--f-m);font-size:.9rem;padding:1rem .2rem;letter-spacing:.04em}
.nl-form input::placeholder{color:var(--steel-d)}
.nl-form input:focus{outline:none;border-color:var(--orange)}
.nl-note{margin-top:1rem;font-family:var(--f-m);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-d)}
.nl-done{font-family:var(--f-m);font-size:.9rem;color:var(--orange);letter-spacing:.06em;border-left:4px solid var(--orange);padding:.6rem 0 .6rem 1rem}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--ink)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1.25fr 1fr;gap:40px;padding:64px 0 48px}
.foot-brand{display:flex;gap:16px;align-items:flex-start}
.foot-brand img{width:48px;height:48px;border:1.5px solid var(--paper)}
.foot-brand .fn{font-family:var(--f-d);font-size:1.7rem;text-transform:uppercase;line-height:1}
.foot-brand p{color:var(--steel-d);font-size:.88rem;margin-top:.8rem;max-width:36ch}
.foot-brand .est{font-family:var(--f-m);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);margin-top:.9rem}
.foot-col h5{font-family:var(--f-m);font-size:.64rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);margin-bottom:1.1rem}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:.6rem}
.foot-col a{text-decoration:none;font-size:.9rem;color:var(--steel-d);transition:color .2s,padding-left .2s}
.foot-col a:hover{color:var(--paper);padding-left:6px}
.contact li{font-family:var(--f-m);font-size:.74rem;letter-spacing:.05em;color:var(--steel-d);display:flex;gap:.8rem}
.contact li b{color:var(--paper);font-weight:600;min-width:56px;text-transform:uppercase;font-size:.62rem;letter-spacing:.14em;padding-top:.2rem}
.foot-bottom{border-top:1px solid var(--line-d);padding:1.2rem 0 1.6rem;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--f-m);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel-d)}
.foot-bottom .fl{display:flex;gap:20px}
.foot-bottom a{text-decoration:none;color:var(--steel-d)}
.foot-bottom a:hover{color:var(--orange)}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .news-grid{grid-template-columns:1fr}
  .news-aside{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}
  .review-feature{grid-template-columns:1fr}
  .rf-fig{max-width:560px}
  .ti-grid,.fin-grid,.faq-wrap{grid-template-columns:1fr}
  .faq-side{max-width:440px}
  .deals{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  .burger{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;align-items:flex-start;gap:0;padding:10px 4%;border-bottom:3px solid var(--orange)}
  .nav-links a{color:var(--paper);display:block;width:100%;padding:.9rem 0;border-bottom:1px solid var(--line-d)}
  .nav-links li:last-child{border-bottom:none}
  .nav-open .nav-links{display:flex}
  .nav-cta{margin:14px 0 8px}
  .hero-grid{grid-template-columns:1fr}
  .hero-fig{aspect-ratio:16/10;max-height:none}
  .ncard.featured{grid-template-columns:1fr}
  .ncard.wide{flex-direction:column}
  .ncard.wide .thumb,.ncard.wide .body{width:100%}
  .ncard.wide .thumb{aspect-ratio:16/9;min-height:0}
  .guide{grid-template-columns:52px 1fr;grid-template-rows:auto auto}
  .guide .g-chips{grid-column:2;justify-content:flex-start}
  .guide .g-thumb{display:none}
  .nl-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr;padding:48px 0 36px}
  .topstrip .right{display:none}
}
@media (max-width:600px){
  .news-main{grid-template-columns:1fr}
  .spec-strip{grid-template-columns:1fr 1fr;row-gap:14px}
  .deals{grid-template-columns:1fr}
  .voices-grid{grid-template-columns:1fr}
  .voice,.voice:nth-child(2){transform:none}
  .board-row{grid-template-columns:1fr .7fr}
  .board-row .n,.board-row .chip{display:none}
  .tool form{grid-template-columns:1fr}
  .cd-box{min-width:60px}
  .cd-box b{font-size:1.7rem}
  .nl-form{flex-direction:column;gap:14px}
  .nl-form input{border:1.5px solid var(--line-d)}
  .foot-grid{grid-template-columns:1fr}
  .mast-meta{display:none}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .wire{overflow-x:auto}
  .wire-track{animation:none;width:auto}
  .kb img{animation:none}
  .js [data-reveal]{opacity:1;transform:none}
  .js .lm>span{transform:none}
}
</style>
</head>
<body>

<div class="progress" id="progress" aria-hidden="true"></div>
<div class="noise" aria-hidden="true"></div>
<a class="skip" href="#main">Skip to content</a>

<!-- TOP STRIP -->
<div class="topstrip">
  <span><b id="topDate">THU — APR 17, 2025</b><span class="dot">·</span>VOL. 09 — ISS. 214</span>
  <span class="right">FUEL <b>$3.12/GAL</b><span class="dot">·</span>PRICE INDEX <b>102.4</b><span class="dot">·</span>DETROIT 41°F</span>
</div>

<!-- NEWS WIRE -->
<div class="wire" aria-label="Headline wire">
  <div class="wire-track">
    <div class="wire-set">
      <span class="w-item"><em>⚑ 2025 CIVIC TYPE R</em> PRICING CONFIRMED AT $48,099 MSRP</span><span class="w-sep">///</span>
      <span class="w-item">FUEL INDEX: <em>$3.12/GAL</em> NAT'L AVG (▼ 4¢ WK/WK)</span><span class="w-sep">///</span>
      <span class="w-item">RECALL: <em>12,400 UNITS</em> — POWER-STEERING SOFTWARE, VIN 5YJ*</span><span class="w-sep">///</span>
      <span class="w-item">NACS CHARGING STANDARD NOW IN <em>97%</em> OF 2026 LINEUPS</span><span class="w-sep">///</span>
      <span class="w-item">MIDSIZE SUV MSRP SLIDES <em>1.9% Y/Y</em> AS INVENTORY STRETCHES TO 78 DAYS</span><span class="w-sep">///</span>
      <span class="w-item">WHOLESALE: BRAKE LINES UP <em>6% Q/Q</em> — SHOP BUDGETS ADJUSTED</span><span class="w-sep">///</span>
      <span class="w-item">TRADE-TALK: HYBRID RESALE VALUES <em>+4.2%</em> IN THE LAST QUARTER</span><span class="w-sep">///</span>
    </div>
    <div class="wire-set" aria-hidden="true">
      <span class="w-item"><em>⚑ 2025 CIVIC TYPE R</em> PRICING CONFIRMED AT $48,099 MSRP</span><span class="w-sep">///</span>
      <span class="w-item">FUEL INDEX: <em>$3.12/GAL</em> NAT'L AVG (▼ 4¢ WK/WK)</span><span class="w-sep">///</span>
      <span class="w-item">RECALL: <em>12,400 UNITS</em> — POWER-STEERING SOFTWARE, VIN 5YJ*</span><span class="w-sep">///</span>
      <span class="w-item">NACS CHARGING STANDARD NOW IN <em>97%</em> OF 2026 LINEUPS</span><span class="w-sep">///</span>
      <span class="w-item">MIDSIZE SUV MSRP SLIDES <em>1.9% Y/Y</em> AS INVENTORY STRETCHES TO 78 DAYS</span><span class="w-sep">///</span>
      <span class="w-item">WHOLESALE: BRAKE LINES UP <em>6% Q/Q</em> — SHOP BUDGETS ADJUSTED</span><span class="w-sep">///</span>
      <span class="w-item">TRADE-TALK: HYBRID RESALE VALUES <em>+4.2%</em> IN THE LAST QUARTER</span><span class="w-sep">///</span>
    </div>
  </div>
</div>

<!-- MASTHEAD -->
<header class="masthead container">
  <div class="mast-brand">
    <img src="https://placehold.co/56x56/FF4D00/101216?text=T&font=oswald" alt="TorqLine logo" width="56" height="56">
    <div>
      <h1 class="mast-name">
        <span class="scr" data-text="TORQ">TORQ</span><span class="scr" data-text="LINE">LINE</span><span class="tm">.</span>
      </h1>
      <p class="tagline">Every car measured. Every dollar tracked.</p>
    </div>
  </div>
  <div class="mast-meta">
    <b>Thursday Edition</b><br>
    The driver's desk for reviews, repair &amp; dealer intel<br>
    Detroit, MI — Est. 2016
  </div>
</header>
<div class="checker" aria-hidden="true"></div>

<!-- NAV -->
<nav class="mainnav" id="mainNav" aria-label="Primary">
  <div class="container nav-inner">
    <a class="nav-brand" href="#top">TorqLine<i></i></a>
    <button class="burger" id="burger" aria-expanded="false" aria-controls="navLinks" aria-label="Toggle menu">
      <span></span><span></span><span></span>
    </button>
    <ul class="nav-links" id="navLinks">
      <li><a href="#news">The Wire</a></li>
      <li><a href="#reviews">Reviews</a></li>
      <li><a href="#shop">Shop Notes</a></li>
      <li><a href="#financing">Financing</a></li>
      <li><a href="#specials">Specials</a></li>
      <li><a href="#inventory">Inventory</a></li>
      <li><a href="#about">About</a></li>
      <li><a class="btn btn-solid btn-sm nav-cta" href="#financing">Get Pre-Approved</a></li>
    </ul>
  </div>
</nav>

<main id="main">

<!-- ============ HERO: FEATURED BENCH TEST ============ -->
<section class="hero bg-ink" id="top">
  <div class="container hero-grid">
    <div data-reveal>
      <span class="kicker"><b>00</b> Bench Test · Nº 412 · 6 min read</span>
      <h1 class="lm"><span>The Solstice GT Is the Best <em>$58,000</em> You Can Spend on a Car</span></h1>
      <p class="lede">Four years ago the Solstice was a sketch on a coffee-stained napkin in Aichi. The 2025 GT is what happens when that sketch gets a $58,000 budget and a team that doesn't do press kits: a rear-drive liftback that corners like a car twice its price and still parks in a regular spot.</p>
      <p class="lede">We spent 1,142 miles and three weekends with it — including a 6:12 lap at our own wet track day. It earns a 9.1, and it's the rare car we'd buy with our own money. Here's exactly why.</p>
      <div class="spec-strip">
        <div class="spec"><small>0–60 mph</small><strong>4.4<i> s</i></strong></div>
        <div class="spec"><small>Power</small><strong>355<i> hp</i></strong></div>
        <div class="spec"><small>MSRP</small><strong>$57,990</strong></div>
        <div class="spec"><small>TorqLine Score</small><strong>9.1<i>/10</i></strong></div>
      </div>
      <div class="hero-ctas">
        <a class="btn btn-solid" href="#reviews">Read the Full Review</a>
        <a class="btn" href="#inventory">Book a Test Drive</a>
      </div>
    </div>
    <div class="hero-fig" data-reveal style="--d:.15s">
      <div class="kb">
        <img src="https://picsum.photos/seed/solstice-gt-bench/900/1080" alt="2025 Solstice GT liftback on the TorqLine test track" loading="eager">
      </div>
      <span class="fig-cap">Solstice GT Liftback — Bench Car Nº 7 · Photo: T. Okafor / TorqLine</span>
      <div class="stamp" aria-hidden="true"><b>9.1</b><small>/ 10</small></div>
    </div>
  </div>
</section>

<!-- ============ 01 · THE DAILY TORQ (NEWS + SIDEBAR) ============ -->
<section class="section" id="news">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>01</b> News Wire</span>
        <h2 class="title lm"><span>The Daily Torq</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">01</span>
    </div>

    <div class="news-grid">
      <div class="news-main">
        <article class="ncard featured" data-reveal>
          <div class="thumb"><img src="https://picsum.photos/seed/ev-charging-network/980/620" alt="Fast-charging corridor with a row of EVs plugged in" loading="lazy"></div>
          <div class="body">
            <span class="cat hot">EV / Industry</span>
            <h3><a href="#">NACS Wins: Nearly Every 2026 EV Lineup Will Share One Charging Port</a></h3>
            <p class="dek">The coalition vote ends a two-standard war that's been dragging on since 2022. If you own a pre-2024 Tesla — or anything in the gap — here's what the transition actually means for your cables, your home charger, and your resale value when you're ready to move on.</p>
            <span class="meta">7 min read · Today, 06:00 ET</span>
          </div>
        </article>

        <article class="ncard" data-reveal style="--d:.08s">
          <div class="thumb"><img src="https://picsum.photos/seed/suv-price-drop/640/400" alt="Row of midsize SUVs on a dealer lot at dusk" loading="lazy"></div>
          <div class="body">
            <span class="cat">Market</span>
            <h3><a href="#">Price Watch: Midsize SUV MSRP Slides 1.9% as Inventory Stretches to 78 Days</a></h3>
            <p class="dek">Dealers are quietly giving back the war-year premiums. The window for a genuinely good deal may be the widest it's been since 2019 — and it won't stay open.</p>
            <span class="meta">4 min read · Today, 07:30 ET</span>
          </div>
        </article>

        <article class="ncard" data-reveal style="--d:.16s">
          <div class="thumb"><img src="https://picsum.photos/seed/recall-service-bay/640/400" alt="Technician running a diagnostic scan in a service bay" loading="lazy"></div>
          <div class="body">
            <span class="cat">Safety</span>
            <h3><a href="#">Recall Watch: 12,400 Vehicles Affected by Power-Steering Software Flaw</a></h3>
            <p class="dek">A 20-second OTA update fixes it. If your VIN is on the list, don't wait for the postcard — and here's exactly what to say when the service desk asks what's wrong.</p>
            <span class="meta">5 min read · Yesterday</span>
          </div>
        </article>

        <article class="ncard wide" data-reveal style="--d:.1s">
          <div class="thumb"><img src="https://picsum.photos/seed/v8-last-engine/980/460" alt="V8 engine block on an assembly line fixture" loading="lazy"></div>
          <div class="body">
            <span class="cat">Opinion</span>
            <h3><a href="#">The Last New V8 Is Scheduled for 2027. What Happens to the Sound of Driving?</a></h3>
            <p class="dek">Engineers have quietly agreed on a timeline that almost nobody will ever announce. We went through the factory build calendars to see how fast the rev line is going quiet — and why the change matters more to daily drivers than the horsepower charts suggest.</p>
            <span class="meta">9 min read · Tuesday</span>
          </div>
        </article>
      </div>

      <aside class="news-aside" data-reveal style="--d:.1s">
        <div class="aside-block">
          <h4>Most Read <span>7 days</span></h4>
          <ol class="mr-list">
            <li><span class="idx">1</span><a href="#">Is a 72-month loan a bad idea for a first car? We ran the numbers.</a></li>
            <li><span class="idx">2</span><a href="#">What "cap reduction" actually means on your lease agreement</a></li>
            <li><span class="idx">3</span><a href="#">Our $180 winter checklist, tested on a real winter</a></li>
            <li><span class="idx">4</span><a href="#">The six noises your brakes make (and the one that's free to fix)</a></li>
            <li><span class="idx">5</span><a href="#">Hybrid resale jumped 4.2% — should you chase it?</a></li>
          </ol>
        </div>
        <div class="aside-block">
          <h4>Service Specials <span>This week</span></h4>
          <div class="dotrow"><span>Oil + filter change</span><span class="dots"></span><span class="price">$79.99</span></div>
          <div class="dotrow"><span>4-wheel alignment</span><span class="dots"></span><span class="price">$99.00</span></div>
          <div class="dotrow"><span>Brake inspection</span><span class="dots"></span><span class="price free">FREE</span></div>
          <div class="dotrow"><span>34-point inspection</span><span class="dots"></span><span class="price free">$0 · $119</span></div>
        </div>
        <div class="aside-block">
          <h4>Shop Honors <span>2024–25</span></h4>
          <div class="honor"><b>★</b><span>J.D. Power — #4 regional service quality, 2024</span></div>
          <div class="honor"><b>★</b><span>AAA PLUS Approved Dealer, 11th consecutive year</span></div>
          <div class="honor"><b>★</b><span>4.8 across 1,932 verified owner reviews</span></div>
        </div>
      </aside>
    </div>
  </div>
</section>

<!-- ============ 02 · BENCH TESTS / REVIEWS ============ -->
<section class="section bg-paper2" id="reviews">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>02</b> Bench Tests</span>
        <h2 class="title lm"><span>Reviewed on Our Own Track, With Our Own Money</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">02</span>
    </div>

    <div class="review-feature">
      <div class="rf-fig" data-reveal>
        <div class="kb"><img src="https://picsum.photos/seed/bench-test-track/880/660" alt="Solstice GT cornering hard on the TorqLine 2.1-mile test track" loading="lazy"></div>
        <span class="fig-cap">Lap 47, wet surface — 6:12.4</span>
        <div class="stamp s2" aria-hidden="true"><b>9.1</b><small>/ 10</small></div>
      </div>
      <div class="rf-body" data-reveal style="--d:.1s">
        <h3>2025 Solstice GT Liftback</h3>
        <p>The GT's argument is simple: delete the sixth cylinder, the third row, and the apology. What's left is a 355-horsepower inline-six with a dual-clutch that shifts faster than you can blink, wrapped in a chassis with the kind of dry-grip confidence usually reserved for cars with a "track package" line item that adds $8,000.</p>
        <p>Where it costs you: the cabin is utilitarian where the rivals are soft, and the infotainment takes a full minute to boot — every single time, in every temperature. But the torque curve is honest, the brakes recover like they've had coffee, and at $57,990 MSRP with the drive package it is the cheapest way to feel this alive. Buy it.</p>
        <div class="bars">
          <div class="bar"><small>Driving</small><div class="track"><i style="--w:94%"></i></div><b>9.4</b></div>
          <div class="bar"><small>Comfort</small><div class="track"><i style="--w:82%"></i></div><b>8.2</b></div>
          <div class="bar"><small>Value</small><div class="track"><i style="--w:88%"></i></div><b>8.8</b></div>
          <div class="bar"><small>Tech</small><div class="track"><i style="--w:79%"></i></div><b>7.9</b></div>
        </div>
        <div class="verdict-row">
          <span class="chip buy">Verdict: Buy it</span>
          <a class="ulink" href="#">Read the full 4,200-word review →</a>
        </div>
      </div>
    </div>

    <div class="board" data-reveal>
      <div class="board-head board-row"><span>Model</span><span>Score</span><span>One-line verdict</span><span>Call</span></div>
      <div class="board-row"><div class="m">Solstice GT '25<small>RWD · Dual-clutch · Inline-6</small></div><div class="s">9.1</div><div class="n">Best money on a car under $58k, full stop.</div><div><span class="chip buy">Buy</span></div></div>
      <div class="board-row"><div class="m">Pike F-150 XLT '23<small>4x4 · 10spd · SuperCab</small></div><div class="s">8.9</div><div class="n">The workhorse that genuinely hauls itself.</div><div><span class="chip buy">Buy</span></div></div>
      <div class="board-row"><div class="m">Astra SE Wagon '24<small>FWD · 1.5T · 6spd auto</small></div><div class="s">8.4</div><div class="n">The boring, brilliant default we keep recommending.</div><div><span class="chip buy">Buy</span></div></div>
      <div class="board-row"><div class="m">Crosstrek AWD '24<small>AWD · CVT · 2.0 boxer</small></div><div class="s">8.1</div><div class="n">The value pick we keep buying for staff.</div><div><span class="chip buy">Buy</span></div></div>
      <div class="board-row"><div class="m">Halo 4EV '24<small>AWD · 77kWh · 312 mi est.</small></div><div class="s">7.6</div><div class="n">Great car, wrong price — wait for the refresh.</div><div><span class="chip wait">Wait</span></div></div>
    </div>
  </div>
</section>

<!-- ============ 03 · SHOP NOTES ============ -->
<section class="section bg-ink" id="shop">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>03</b> Shop Notes</span>
        <h2 class="title lm"><span>Repair Tips From a Working Shop</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">03</span>
    </div>
    <p class="lede" data-reveal style="margin-top:1.6rem;max-width:64ch">We run a working shop, so our advice comes with torque specs, not vibes. These three are the most-saved guides on the site — each one tested on real cars, with parts costs pulled from actual invoices. If a fix is going to cost you money, we'll tell you what it costs, and when it isn't worth it yet.</p>

    <div class="guides">
      <article class="guide" data-reveal>
        <div class="g-idx" aria-hidden="true">01</div>
        <div>
          <h3><a href="#">Swap a Rotor &amp; Pad Set Before the Dealer Does It for You</a></h3>
          <p>Most shops charge $380–$520 in labor for a job that takes an experienced DIYer under two hours. Here's the exact sequence, the torque specs for three popular calipers, and the one mistake that ruins a $90 rotor: letting it sit in the caliper overnight and rusting the surface you just paid for.</p>
        </div>
        <div class="g-chips"><span>Level: Moderate</span><span>90 min</span><span>Parts ~$118</span></div>
        <img class="g-thumb" src="https://picsum.photos/seed/brakes-job/240/160" alt="Brake rotor and pad set on a workbench" loading="lazy">
      </article>
      <article class="guide" data-reveal style="--d:.08s">
        <div class="g-idx" aria-hidden="true">02</div>
        <div>
          <h3><a href="#">Why Your CVT Whines — and When It's a $600 Fix vs. $4,200</a></h3>
          <p>A CVT whine at highway speed has three common causes, in rough order of cost: fluid that's overdue, a belt slipping on wet pavement, and a pump that's tired. We walk through the ten-minute test that separates all three — because the difference between "do it" and "wait" is a fluid change versus a new transmission.</p>
        </div>
        <div class="g-chips"><span>Level: Moderate</span><span>45 min diag</span><span>From $60</span></div>
        <img class="g-thumb" src="https://picsum.photos/seed/cvt-transmission/240/160" alt="Continuous variable transmission unit on a hoist" loading="lazy">
      </article>
      <article class="guide" data-reveal style="--d:.16s">
        <div class="g-idx" aria-hidden="true">03</div>
        <div>
          <h3><a href="#">The $180 Winter Checklist That Saves You Thousands</a></h3>
          <p>New wipers, fresh battery terminals, a coolant top-off, and fifteen minutes with the tires. This is the full seasonal checklist we run on our own staff cars every November, with the receipts attached to prove what each line item actually costs — and the two "saves" we stopped doing because they never paid for themselves.</p>
        </div>
        <div class="g-chips"><span>Level: Easy</span><span>2 hrs</span><span>~$180 all-in</span></div>
        <img class="g-thumb" src="https://picsum.photos/seed/winter-prep-car/240/160" alt="Winter tire on a car lifted for a seasonal service" loading="lazy">
      </article>
    </div>
    <div class="shop-cta" data-reveal>
      <a class="ulink" href="#">Browse the full guide library — 214 entries, all tested →</a>
    </div>
  </div>
</section>

<!-- ============ 04 · TRADE-IN DESK (INTERACTIVE) ============ -->
<section class="section" id="tradein">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>04</b> Trade-In Desk</span>
        <h2 class="title lm"><span>Your Trade Deserves a Number, Not a Vibe</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">04</span>
    </div>

    <div class="ti-grid">
      <div class="ti-copy" data-reveal>
        <p>Every dealer can quote you a trade-in number. Almost none of them will show you how they got it. Our estimator pulls from 38,000 wholesale auction results — refreshed hourly and weighted for the region — so you walk in knowing the floor <em>before</em> anyone asks "what would you like to owe on the next one?"</p>
        <p>The range is real: it reflects the spread between a wholesale auction and a retail sale of the same car. Lock the estimate for 14 days and we'll confirm it in writing within one business day. If the final appraisal comes in below your locked range, the difference comes off your payment. In writing.</p>
        <ul class="ti-list">
          <li>Based on 38,000 wholesale auction results</li>
          <li>Refreshed hourly, regionally weighted</li>
          <li>Locked estimates honored for 14 days — in writing</li>
        </ul>
      </div>

      <div class="tool" id="toolPanel" data-reveal style="--d:.12s">
        <div class="tool-head"><span>Trade-In Estimator</span><span class="live-dot"><i></i>Live data</span></div>

        <div class="gauge-wrap">
          <svg viewBox="0 0 300 172" role="img" aria-label="Estimated trade-in value gauge">
            <path d="M 30 150 A 120 120 0 0 1 270 150" fill="none" stroke="rgba(16,18,22,.14)" stroke-width="10" stroke-linecap="round"/>
            <g id="ticks"></g>
            <line id="needle" x1="150" y1="150" x2="150" y2="46" stroke="#FF4D00" stroke-width="4" stroke-linecap="round"/>
            <circle cx="150" cy="150" r="8" fill="#101216"/>
            <circle cx="150" cy="150" r="3" fill="#FF4D00"/>
          </svg>
        </div>
        <div class="ti-value">
          <span class="big" id="tiValue">$0</span>
          <span class="range" id="tiRange">est. range — </span>
        </div>

        <form id="tiForm">
          <div class="field">
            <label for="tiMake">Make</label>
            <div class="sel"><select id="tiMake">
              <option value="astra">Astra</option>
              <option value="crosstrek" selected>Crosstrek</option>
              <option value="halo">Halo 4EV</option>
              <option value="legacy">Legacy</option>
              <option value="pike">Pike F-150</option>
              <option value="solstice">Solstice GT</option>
            </select></div>
          </div>
          <div class="field">
            <label for="tiYear">Model year</label>
            <div class="sel"><select id="tiYear">
              <option>2025</option><option>2024</option><option selected>2022</option><option>2021</option><option>2020</option><option>2019</option><option>2018</option><option>2017</option><option>2016</option>
            </select></div>
          </div>
          <div class="field full">
            <label for="tiMiles">Mileage</label>
            <div class="mile-row">
              <input type="range" id="tiMiles" min="0" max="150000" step="2500" value="45000">
              <span class="mile-val" id="tiMilesVal">45,000 mi</span>
            </div>
          </div>
          <div class="field full">
            <label id="condLabel">Condition</label>
            <div class="cond-row" role="radiogroup" aria-labelledby="condLabel">
              <label><input type="radio" name="cond" value="1"><span class="pill">Showroom</span></label>
              <label><input type="radio" name="cond" value="0.93" checked><span class="pill">Good</span></label>
              <label><input type="radio" name="cond" value="0.84"><span class="pill">Lived-in</span></label>
            </div>
          </div>
          <div class="field full">
            <button type="button" class="btn btn-solid btn-block" id="lockBtn">Lock In This Estimate — Free</button>
          </div>
        </form>
        <div class="lock-msg" id="lockMsg" role="status"></div>
        <p class="tool-note">Instant estimate · No email required · Confirmed in writing within 1 business day</p>
      </div>
    </div>
  </div>
</section>

<!-- ============ 05 · FINANCING ============ -->
<section class="section bg-paper2" id="financing">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>05</b> Financing Desk</span>
        <h2 class="title lm"><span>APR, Lease Terms &amp; MSRP — In Plain English</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">05</span>
    </div>

    <div class="fin-grid">
      <div class="fin-copy" data-reveal>
        <p class="drop">Our lending desk works on tiers, not scripts. Depending on your credit band, financing runs from 0.9% to 6.9% APR over 36 to 72 months, and every quote is anchored to the MSRP you saw advertised. If there's a special, it shows up as a number on the page — not a favor that evaporates when you reach the finance office.</p>
        <p>Lease terms come in 24, 36, and 48 months, with a $2,500 cap-reduction standard on every 36-month deal this year. Most inventory carries zero money due at signing, and gap, wear-and-tear, and key-fob add-ons never bundle in by default. You see the total of payments before you see the signature line, every time.</p>
        <p>Pre-approval takes about four minutes and uses a soft inquiry — it doesn't touch your score. Bring the pre-approval to any dealership in the country, including ours, and we'll match it or beat it in writing within one business day.</p>
        <div class="fin-ctas">
          <a class="btn btn-solid" href="#">Get Pre-Approved — 4 Minutes</a>
          <a class="btn" href="#about">Talk to the Lending Desk</a>
        </div>
      </div>

      <div class="pay-card" data-reveal style="--d:.12s">
        <div class="pay-head"><span>Sample payments</span><span>2024 Crosstrek AWD</span></div>
        <div class="pay-row"><span>MSRP</span><b class="amt">$28,990</b></div>
        <div class="pay-row"><span>Cash <em class="sub">this week's special</em></span><b class="amt">$27,490</b></div>
        <div class="pay-row"><span>60-mo @ 5.9% APR<span class="sub">$2,995 down · $0 gap</span></span><b class="amt">$542<small style="font-size:.7rem">/mo</small></b></div>
        <div class="pay-row"><span>72-mo @ 4.9% APR<span class="sub">$1,995 down · best rate band</span></span><b class="amt">$459<small style="font-size:.7rem">/mo</small></b></div>
        <div class="pay-row"><span>36-mo lease<span class="sub">$0 due at signing · $2,500 cap reduction</span></span><b class="amt">$319<small style="font-size:.7rem">/mo</small></b></div>
        <p class="pay-foot">Figures exclude tax, title &amp; registration. Rates shown reflect our mid credit band; your tier is confirmed during pre-approval with a soft inquiry only. Full payment schedule available at the desk.</p>
      </div>
    </div>
  </div>
</section>

<!-- ============ 06 · SPECIALS ============ -->
<section class="section specials" id="specials">
  <div class="checker checker-ink" aria-hidden="true"></div>
  <div class="container" style="padding-top:clamp(56px,7vw,80px)">
    <div data-reveal>
      <span class="kicker"><b>06</b> This Week on the Lot</span>
      <h2 class="title lm"><span>The Weekly Drop</span></h2>
    </div>
    <div class="cd-row" data-reveal style="--d:.1s">
      <span class="cd-label">Specials reset in</span>
      <div class="cd-boxes" aria-live="off">
        <div class="cd-box"><b id="cdD">00</b><small>Days</small></div><span class="cd-colon">:</span>
        <div class="cd-box"><b id="cdH">00</b><small>Hrs</small></div><span class="cd-colon">:</span>
        <div class="cd-box"><b id="cdM">00</b><small>Min</small></div><span class="cd-colon">:</span>
        <div class="cd-box"><b id="cdS">00</b><small>Sec</small></div>
      </div>
    </div>

    <div class="deals">
      <div class="deal" data-reveal>
        <span class="d-tag">CPO</span>
        <h3>2024 Astra SE 4dr</h3>
        <span class="was">$21,450</span>
        <span class="now">$19,895</span>
        <span class="d-meta">11,240 mi · 5yr / 60k coverage</span>
      </div>
      <div class="deal" data-reveal style="--d:.08s">
        <span class="d-tag">1-Owner</span>
        <h3>2022 Pike F-150 XLT</h3>
        <span class="was">$36,790</span>
        <span class="now">$34,900</span>
        <span class="d-meta">38,900 mi · New tire set</span>
      </div>
      <div class="deal" data-reveal style="--d:.16s">
        <span class="d-tag">CPO · EV</span>
        <h3>2024 Halo 4EV</h3>
        <span class="was">$39,990</span>
        <span class="now">$38,250</span>
        <span class="d-meta">6,820 mi · 98% battery health</span>
      </div>
      <div class="deal" data-reveal style="--d:.24s">
        <span class="d-tag">Service</span>
        <h3>The 34-Point Inspection</h3>
        <span class="was">$119.00</span>
        <span class="now">$0</span>
        <span class="d-meta">A/C check $19.99 while you're here</span>
      </div>
    </div>
    <p class="deal-note" data-reveal>Advertised price includes the doc fee. One per customer, while the unit is on the lot.</p>
    <div data-reveal><a class="btn btn-ink" href="#inventory">Claim a Special</a></div>
  </div>
</section>

<!-- ============ 07 · INVENTORY ============ -->
<section class="section" id="inventory">
  <div class="container">
    <div class="inv-head" data-reveal>
      <div>
        <span class="kicker"><b>07</b> Certified Selection</span>
        <h2 class="title lm"><span>What's on the Lot This Week</span></h2>
      </div>
      <div class="inv-arrows">
        <button class="arrow" id="invPrev" aria-label="Scroll inventory left">←</button>
        <button class="arrow" id="invNext" aria-label="Scroll inventory right">→</button>
      </div>
    </div>

    <div class="scroller" id="invScroller" data-reveal>
      <article class="vcard">
        <div class="vthumb"><img src="https://picsum.photos/seed/certified-crosstrek/640/440" alt="2024 Crosstrek AWD on the front of the lot" loading="lazy"><span class="vbadge">Certified</span></div>
        <div class="vbody"><h3>2024 Crosstrek AWD</h3><span class="vspec">8,420 mi · CVT · AWD</span><span class="vprice">$27,490</span><a class="btn btn-sm" href="#">Book a Test Drive</a></div>
      </article>
      <article class="vcard">
        <div class="vthumb"><img src="https://picsum.photos/seed/astra-fourdoor/640/440" alt="2024 Astra SE four-door in the service courtyard" loading="lazy"><span class="vbadge">CPO</span></div>
        <div class="vbody"><h3>2024 Astra SE 4dr</h3><span class="vspec">11,240 mi · 6spd · FWD</span><span class="vprice">$19,895</span><a class="btn btn-sm" href="#">Book a Test Drive</a></div>
      </article>
      <article class="vcard">
        <div class="vthumb"><img src="https://picsum.photos/seed/halo-ev-charger/640/440" alt="2024 Halo 4EV plugged into a DC fast charger" loading="lazy"><span class="vbadge">Certified</span></div>
        <div class="vbody"><h3>2024 Halo 4EV</h3><span class="vspec">6,820 mi · Single-motor · AWD</span><span class="vprice">$38,250</span><a class="btn btn-sm" href="#">Book a Test Drive</a></div>
      </article>
      <article class="vcard">
        <div class="vthumb"><img src="https://picsum.photos/seed/solstice-liftback/640/440" alt="2025 Solstice GT liftback under the lot lights" loading="lazy"><span class="vbadge">New · 0 mi</span></div>
        <div class="vbody"><h3>2025 Solstice GT</h3><span class="vspec">0 mi · Dual-clutch · RWD</span><span class="vprice">$57,990</span><a class="btn btn-sm" href="#">Book a Test Drive</a></div>
      </article>
      <article class="vcard">
        <div class="vthumb"><img src="https://picsum.photos/seed/pike-pickup-truck/640/440" alt="2022 Pike F-150 XLT with a fresh tire set" loading="lazy"><span class="vbadge">1-Owner</span></div>
        <div class="vbody"><h3>2022 Pike F-150 XLT</h3><span class="vspec">38,900 mi · 10spd · 4x4</span><span class="vprice">$34,900</span><a class="btn btn-sm" href="#">Book a Test Drive</a></div>
      </article>
    </div>
  </div>
</section>

<!-- ============ 08 · OWNER REPORTS ============ -->
<section class="section bg-paper2" id="voices">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>08</b> Owner Reports</span>
        <h2 class="title lm"><span>Word From the Drivers</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">08</span>
    </div>
    <div class="voices-grid">
      <article class="voice" data-reveal>
        <span class="v-tag">Verified — Trade-in</span>
        <span class="q" aria-hidden="true">"</span>
        <blockquote>I ran the trade-in estimator on my phone in the parking lot of a competitor's lot. Our number came back $2,100 higher than the shop across the street — in writing, fourteen days before I even showed up. I've never seen an appraisal do that, and it changed how I negotiated the whole deal.</blockquote>
        <div class="v-foot"><img src="https://i.pravatar.cc/96?u=marcus-reeve" alt="Portrait of Marcus R."><div><b>Marcus R.</b><small>Traded in a 2019 Crosstrek</small></div></div>
      </article>
      <article class="voice" data-reveal style="--d:.1s">
        <span class="v-tag">Verified — 36-mo Lease</span>
        <span class="q" aria-hidden="true">"</span>
        <blockquote>They walked me through the lease in a spreadsheet: cap reduction, wear rate, what happens if I keep it at the end. I've signed four leases in fifteen years and nobody had ever shown me the math. Paid $319 a month for three years, then bought it out at 5% over cap because the numbers made it obvious.</blockquote>
        <div class="v-foot"><img src="https://i.pravatar.cc/96?u=dana-kessler" alt="Portrait of Dana K."><div><b>Dana K.</b><small>Leased a 2024 Halo 4EV</small></div></div>
      </article>
      <article class="voice" data-reveal style="--d:.2s">
        <span class="v-tag">Verified — Service</span>
        <span class="q" aria-hidden="true">"</span>
        <blockquote>The shop did a brake job I'd priced at three other places. They walked me through the rotors on the lift, showed me the parts on the invoice at cost, and handed me forty minutes of my life back. The repair guides on their site are honestly what sold me first.</blockquote>
        <div class="v-foot"><img src="https://i.pravatar.cc/96?u=elise-tran" alt="Portrait of Elise T."><div><b>Elise T.</b><small>2023 Crosstrek owner, 2 yrs</small></div></div>
      </article>
    </div>
  </div>
</section>

<!-- ============ 09 · FAQ ============ -->
<section class="section" id="faq">
  <div class="container">
    <div class="sec-head" data-reveal>
      <div>
        <span class="kicker"><b>09</b> Straight Answers</span>
        <h2 class="title lm"><span>Asked at the Desk, Answered Here</span></h2>
      </div>
      <span class="sec-idx" aria-hidden="true">09</span>
    </div>

    <div class="faq-wrap">
      <div data-reveal>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">Does the pre-approval check my credit?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>No. Pre-approval uses a soft inquiry, which does not change your score. A hard pull only happens if you accept a specific rate and sign for it — and we'll always tell you, in plain language, what each step does before it does it.</p></div>
        </div>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">Can I roll my current lease equity into a new deal?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>Usually, yes. If you're above cap, that equity comes off the trade value. If you're under cap, we show you the exact number in writing before it goes on any paper — no surprise negative equity quietly folded into a higher APR. That's the line we don't cross.</p></div>
        </div>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">How accurate is the trade-in estimator, really?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>It pulls from the same wholesale auction data our appraisers use daily, refreshed hourly and weighted for this region. The guarantee is simple: if your final appraisal lands below a locked estimate, the difference comes off your payment, in writing. That guarantee is printed on every lock confirmation.</p></div>
        </div>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">Do you honor the advertised specials on this site?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>The price on this page is the price on the car, doc fee included. One per customer, while the unit is on the lot. When one sells, the special usually rolls to the next unit in the lineup — ask at the desk and we'll point you to it.</p></div>
        </div>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">What's actually in the certified warranty?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>Every certified car carries the remainder of the factory warranty plus our 7-year / 70,000-mile powertrain coverage, a 34-point inspection report you can keep, and a 7-day / 300-mile return window. If it breaks, you call the desk — not a call center in another time zone.</p></div>
        </div>
        <div class="faq-item">
          <button class="faq-q" aria-expanded="false">Can I bring my own parts to the shop?<span class="plus" aria-hidden="true"></span></button>
          <div class="faq-a"><p>Yes — labor only, billed hourly, with your parts listed on the invoice. We'll also sell you the part at our invoice price if you'd rather we handle the whole job. Either way you get the same torque specs, the same inspection, and the same workmanship.</p></div>
        </div>
      </div>

      <aside class="faq-side" data-reveal style="--d:.15s">
        <h4>Still stuck?</h4>
        <p>Call the desk and ask for a human, not a menu. We answer about as fast as we'd answer a phone in the parts counter — usually three rings.</p>
        <a class="tel" href="tel:+13135550148">(313) 555-0148</a>
        <p class="hrs">Mon–Sat 8a–7p · Sun 10a–4p<br>Lending desk: Mon–Fri 9a–6p</p>
      </aside>
    </div>
  </div>
</section>

<!-- ============ NEWSLETTER ============ -->
<section class="section bg-ink" id="subscribe">
  <div class="container nl-grid">
    <div data-reveal>
      <h2 class="lm"><span>The Weekly <em>Torq</em></span></h2>
      <p class="lede">One email, every Thursday at 7 AM. One review worth your time, one repair tip from the shop floor, and one price movement worth knowing about. Read by 41,000 drivers — including, allegedly, three engineers who pretend they're anonymous.</p>
    </div>
    <div data-reveal style="--d:.12s">
      <form class="nl-form" id="nlForm" novalidate>
        <label class="sr-only" for="nlEmail">Email address</label>
        <input type="email" id="nlEmail" placeholder="you@example.com" autocomplete="email" required>
        <button class="btn btn-solid" type="submit">Subscribe</button>
      </form>
      <p class="nl-note">One email · Thursdays 7 AM · Unsubscribe whenever</p>
    </div>
  </div>
</section>

</main>

<!-- ============ FOOTER ============ -->
<footer class="bg-ink-2" id="about">
  <div class="checker checker-ink" aria-hidden="true"></div>
  <div class="container">
    <div class="foot-grid">
      <div class="foot-brand">
        <img src="https://placehold.co/48x48/FF4D00/101216?text=T&font=oswald" alt="TorqLine logo" width="48" height="48">
        <div>
          <div class="fn">TorqLine<span style="color:var(--orange)">.</span></div>
          <p>TorqLine started in 2016 as a 40-subscriber newsletter about cars under $30,000 that nobody was covering. Today we're a working shop, a certified lot, and a lending desk under one roof — and the reviews still don't take money.</p>
          <p class="est">Est. 2016 — Detroit, Michigan</p>
        </div>
      </div>
      <div class="foot-col">
        <h5>Explore</h5>
        <ul>
          <li><a href="#news">The Daily Torq</a></li>
          <li><a href="#reviews">Bench Tests</a></li>
          <li><a href="#shop">Shop Notes</a></li>
          <li><a href="#tradein">Trade-In Estimator</a></li>
          <li><a href="#financing">Financing &amp; Leasing</a></li>
          <li><a href="#specials">Weekly Specials</a></li>
          <li><a href="#inventory">Certified Selection</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h5>The Desk</h5>
        <ul class="contact">
          <li><b>Visit</b><span>4180 Motor Row, Detroit, MI 48201</span></li>
          <li><b>Call</b><span>(313) 555-0148</span></li>
          <li><b>Email</b><span>desk@torqline.co</span></li>
          <li><b>Lot</b><span>Mon–Sat 8a–7p · Sun 10a–4p</span></li>
          <li><b>Lending</b><span>Mon–Fri 9a–6p</span></li>
        </ul>
      </div>
      <div class="foot-col">
        <h5>Follow the Wire</h5>
        <ul>
          <li><a href="#">Instagram ↗</a></li>
          <li><a href="#">YouTube ↗</a></li>
          <li><a href="#">X / Twitter ↗</a></li>
          <li><a href="#">TikTok ↗</a></li>
          <li><a href="#subscribe">The Weekly Torq ↗</a></li>
        </ul>
      </div>
    </div>
    <div class="foot-bottom">
      <span>© <span id="year">2025</span> TorqLine Automotive Media LLC · No sponsored scores. Ever.</span>
      <span class="fl"><a href="#">Privacy Policy</a><a href="#">Terms of Use</a><a href="#top">Back to Top ↑</a></span>
    </div>
  </div>
</footer>

<script>
(function(){
  "use strict";
  var $ = function(s){ return document.querySelector(s); };
  var $$ = function(s){ return Array.prototype.slice.call(document.querySelectorAll(s)); };
  var RM = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

  /* ---- Year + date ---- */
  var now = new Date();
  var yEl = $('#year'); if(yEl) yEl.textContent = now.getFullYear();
  var dEl = $('#topDate');
  if(dEl){ dEl.textContent = now.toLocaleDateString('en-US',{weekday:'short',month:'short',day:'numeric',year:'numeric'}).toUpperCase(); }

  /* ---- Scroll progress + nav shadow ---- */
  var prog = $('#progress'), nav = $('#mainNav'), ticking = false;
  function onScroll(){
    var st = window.scrollY || document.documentElement.scrollTop;
    var h = document.documentElement.scrollHeight - window.innerHeight;
    prog.style.width = (h>0 ? (st/h*100) : 0) + '%';
    nav.classList.toggle('scrolled', st > 8);
    ticking = false;
  }
  window.addEventListener('scroll', function(){ if(!ticking){ requestAnimationFrame(onScroll); ticking = true; } }, {passive:true});
  onScroll();

  /* ---- Mobile nav ---- */
  var burger = $('#burger');
  burger.addEventListener('click', function(){
    var open = nav.classList.toggle('nav-open');
    burger.setAttribute('aria-expanded', open);
  });
  $$('#navLinks a').forEach(function(a){ a.addEventListener('click', function(){ nav.classList.remove('nav-open'); burger.setAttribute('aria-expanded','false'); }); });

  /* ---- Masthead scramble decode ---- */
  var CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ#/0123456789';
  function scramble(el, dur){
    var fin = el.dataset.text || el.textContent;
    if(RM){ el.textContent = fin; return; }
    var t0 = performance.now();
    (function tick(t){
      var p = Math.min(1,(t - t0)/dur);
      var done = Math.floor(p * fin.length), out = fin.slice(0, done);
      for(var i=done;i<fin.length;i++){ out += fin[i]===' ' ? ' ' : CHARS[Math.floor(Math.random()*CHARS.length)]; }
      el.textContent = out;
      if(p < 1) requestAnimationFrame(tick);
    })(t0);
  }
  $$('.scr').forEach(function(el, i){ setTimeout(function(){ scramble(el, 950); }, 200 + i*180); });

  /* ---- Reveal on scroll ---- */
  if('IntersectionObserver' in window){
    var io = new IntersectionObserver(function(es){
      es.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in-view'); io.unobserve(e.target); } });
    }, {threshold:.16, rootMargin:'0px 0px -6% 0px'});
    $$('[data-reveal]').forEach(function(el){ io.observe(el); });
  } else {
    $$('[data-reveal]').forEach(function(el){ el.classList.add('in-view'); });
  }

  /* ---- Gauge ticks ---- */
  var ticksG = $('#ticks'), NS = 'http://www.w3.org/2000/svg';
  if(ticksG){
    for(var i=0;i<=16;i++){
      var a = (180 - i*11.25) * Math.PI/180;
      var major = (i % 4 === 0);
      var r1 = 118, r2 = major ? 102 : 108;
      var ln = document.createElementNS(NS,'line');
      ln.setAttribute('x1', (150 + r1*Math.cos(a)).toFixed(1));
      ln.setAttribute('y1', (150 - r1*Math.sin(a)).toFixed(1));
      ln.setAttribute('x2', (150 + r2*Math.cos(a)).toFixed(1));
      ln.setAttribute('y2', (150 - r2*Math.sin(a)).toFixed(1));
      ln.setAttribute('stroke', '#101216');
      ln.setAttribute('stroke-width', major ? 2 : 1);
      ln.setAttribute('opacity', major ? .55 : .28);
      ticksG.appendChild(ln);
    }
    [[0,'0'],[4,'20K'],[8,'40K'],[12,'60K'],[16,'80K']].forEach(function(pt){
      var ang = (180 - pt[0]*11.25) * Math.PI/180, r = 86;
      var tx = document.createElementNS(NS,'text');
      tx.setAttribute('x', (150 + r*Math.cos(ang)).toFixed(1));
      tx.setAttribute('y', (150 - r*Math.sin(ang) + 4).toFixed(1));
      tx.setAttribute('text-anchor','middle');
      tx.setAttribute('font-family','IBM Plex Mono, monospace');
      tx.setAttribute('font-size','11');
      tx.setAttribute('fill','#59616E');
      tx.textContent = pt[1];
      ticksG.appendChild(tx);
    });
  }

  /* ---- Trade-in estimator ---- */
  var BASE = { astra:32500, crosstrek:29200, halo:43800, legacy:21900, pike:56900, solstice:57990 };
  var makeSel = $('#tiMake'), yearSel = $('#tiYear'), mileIn = $('#tiMiles'),
      mileVal = $('#tiMilesVal'), valEl = $('#tiValue'), rangeEl = $('#tiRange'),
      needle = $('#needle'), lockBtn = $('#lockBtn'), lockMsg = $('#lockMsg');
  var lastVal = 0, toolInit = false;
  function fmt(n){ return '$' + Math.round(n).toLocaleString('en-US'); }
  function condFactor(){
    var c = document.querySelector('input[name="cond"]:checked');
    return c ? parseFloat(c.value) : 0.93;
  }
  function compute(){
    var base = BASE[makeSel.value] || 30000;
    var age = Math.max(0, now.getFullYear() - parseInt(yearSel.value,10));
    var ageF = Math.max(.18, Math.pow(.885, age));
    var miles = parseInt(mileIn.value,10);
    var mileF = Math.max(.72, 1 - miles/220000);
    return Math.round(base * ageF * mileF * condFactor() / 50) * 50;
  }
  function animateNum(from, to){
    if(RM){ valEl.textContent = fmt(to); return; }
    var t0 = performance.now(), dur = 550;
    (function step(t){
      var p = Math.min(1,(t - t0)/dur), e = 1 - Math.pow(1-p,3);
      valEl.textContent = fmt(Math.round(from + (to - from)*e));
      if(p < 1) requestAnimationFrame(step);
    })(t0);
  }
  function updateTI(){
    var v = compute();
    var pct = Math.min(1, v/80000);
    needle.style.transform = 'rotate(' + (-90 + pct*180) + 'deg)';
    rangeEl.textContent = 'est. range ' + fmt(v*.94) + ' – ' + fmt(v*1.06);
    mileVal.textContent = parseInt(mileIn.value,10).toLocaleString('en-US') + ' mi';
    animateNum(lastVal, v);
    lastVal = v;
  }
  function resetLock(){
    if(lockMsg.classList.contains('show')){
      lockMsg.classList.remove('show');
      lockBtn.disabled = false;
      lockBtn.textContent = 'Lock In This Estimate — Free';
    }
  }
  [makeSel, yearSel, mileIn].forEach(function(el){ el.addEventListener('input', function(){ resetLock(); updateTI(); }); });
  $$('input[name="cond"]').forEach(function(el){ el.addEventListener('change', function(){ resetLock(); updateTI(); }); });
  lockBtn.addEventListener('click', function(){
    var id = 'TL-' + (1000 + Math.floor(Math.random()*9000));
    lockMsg.innerHTML = '✓ Estimate locked — quote <b>' + id + '</b> · valid 14 days · confirmed in writing within 1 business day.';
    lockMsg.classList.add('show');
    lockBtn.disabled = true;
    lockBtn.textContent = 'Estimate Locked ✓';
  });
  if('IntersectionObserver' in window && toolInit === false){
    var tio = new IntersectionObserver(function(es){
      es.forEach(function(e){
        if(e.isIntersecting && toolInit === false){ toolInit = true; setTimeout(updateTI, 300); tio.disconnect(); }
      });
    }, {threshold:.3});
    tio.observe($('#toolPanel'));
  } else { updateTI(); }

  /* ---- Specials countdown (next Sunday 23:59:59 local) ---- */
  var cdD=$('#cdD'), cdH=$('#cdH'), cdM=$('#cdM'), cdS=$('#cdS');
  function target(){
    var d = new Date();
    var add = (7 - d.getDay()) % 7;
    var t = new Date(d);
    t.setDate(d.getDate() + add);
    t.setHours(23,59,59,0);
    if(t <= new Date()) t.setDate(t.getDate() + 7);
    return t;
  }
  var tgt = target();
  function pad(n){ return String(n).padStart(2,'0'); }
  function tickCD(){
    var ms = tgt - new Date();
    if(ms < 0){ tgt = target(); ms = tgt - new Date(); }
    var s = Math.floor(ms/1000);
    cdD.textContent = pad(Math.floor(s/86400));
    cdH.textContent = pad(Math.floor(s%86400/3600));
    cdM.textContent = pad(Math.floor(s%3600/60));
    cdS.textContent = pad(s%60);
  }
  tickCD(); setInterval(tickCD, 1000);

  /* ---- Inventory scroller arrows ---- */
  var sc = $('#invScroller');
  $('#invPrev').addEventListener('click', function(){ sc.scrollBy({left:-340, behavior: RM ? 'auto':'smooth'}); });
  $('#invNext').addEventListener('click', function(){ sc.scrollBy({left:340, behavior: RM ? 'auto':'smooth'}); });

  /* ---- FAQ accordion (single open) ---- */
  var items = $$('.faq-item');
  items.forEach(function(item){
    var q = item.querySelector('.faq-q'), a = item.querySelector('.faq-a');
    q.addEventListener('click', function(){
      var isOpen = item.classList.contains('open');
      items.forEach(function(other){
        other.classList.remove('open');
        other.querySelector('.faq-a').style.maxHeight = null;
        other.querySelector('.faq-q').setAttribute('aria-expanded','false');
      });
      if(!isOpen){
        item.classList.add('open');
        a.style.maxHeight = a.scrollHeight + 'px';
        q.setAttribute('aria-expanded','true');
      }
    });
  });

  /* ---- Newsletter ---- */
  var nl = $('#nlForm');
  nl.addEventListener('submit', function(e){
    e.preventDefault();
    var input = $('#nlEmail'), v = input.value.trim();
    if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v)){
      input.style.borderColor = '#FF4D00';
      input.focus();
      return;
    }
    var done = document.createElement('p');
    done.className = 'nl-done';
    done.setAttribute('role','status');
    done.textContent = "You're on the list. First issue lands Thursday, 7 AM sharp.";
    nl.replaceWith(done);
  });
})();
</script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:48:32.857Z",
  "url": "https://benchmark.aimac.invalid/e19ebca73075323dbf9cd38ed1ea933e10c83fa8e6866d570994346a99a66402.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-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-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "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": "<div class=\"wire\" aria-label=\"Headline wire\">",
          "target": [
            ".wire"
          ]
        }
      ]
    },
    {
      "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": "<div class=\"wire\" aria-label=\"Headline wire\">",
          "target": [
            ".wire"
          ]
        }
      ]
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "deprecatedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "minor",
              "message": "ARIA role is not deprecated"
            }
          ],
          "impact": null,
          "html": "<svg viewBox=\"0 0 300 172\" role=\"img\" aria-label=\"Estimated trade-in value gauge\">",
          "target": [
            "svg"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "focusable-modal-open",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements while a modal is open"
            },
            {
              "id": "focusable-disabled",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            },
            {
              "id": "focusable-not-tabbable",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "No focusable elements contained within element"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<div class=\"progress\" id=\"progress\" aria-hidden=\"true\" style=\"width: 0%;\"></div>",
          "target": [
            "#progress"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<nav class=\"mainnav\" id=\"mainNav\" aria-label=\"Primary\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "All required ARIA attributes are present"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<svg viewBox=\"0 0 300 172\" role=\"img\" aria-label=\"Estimated trade-in value gauge\">",
          "target": [
            "svg"
          ]
        }
      ]
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "invalidrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is valid"
            },
            {
              "id": "abstractrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Abstract roles are not used"
            },
            {
              "id": "unsupportedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is supported"
            }
          ],
          "impact": null,
          "html": "<svg viewBox=\"0 0 300 172\" role=\"img\" aria-label=\"Estimated trade-in value gauge\">",
          "target": [
            "svg"
          ]
        }
      ]
    },
    {
      "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": "<div class=\"wire\" aria-label=\"Headline wire\">",
          "target": [
            ".wire"
          ]
        }
      ]
    },
    {
      "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": "<div class=\"wire\" aria-label=\"Headline wire\">",
          "target": [
            ".wire"
          ]
        }
      ]
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "autocomplete-valid",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "the autocomplete attribute is correctly formatted"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<input type=\"email\" id=\"nlEmail\" placeholder=\"you@example.com\" autocomplete=\"email\" required=\"\">",
          "target": [
            "#nlEmail"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<div class=\"hero-fig in-view\" data-reveal=\"\" style=\"--d:.15s\">",
          "target": [
            ".hero-fig"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button type=\"button\" class=\"btn btn-solid btn-block\" id=\"lockBtn\">Lock In This Estimate \u2014 Free</button>",
          "target": [
            "#lockBtn"
          ]
        }
      ]
    },
    {
      "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 class=\"mast-name\">\n        <span class=\"scr\" data-text=\"TORQ\">TORQ</span><span class=\"scr\" data-text=\"LINE\">LINE</span><span class=\"tm\">.</span>\n      </h1>",
                  "target": [
                    ".mast-name"
                  ]
                },
                {
                  "html": "<h1 class=\"lm\"><span>The Solstice GT Is the Best <em>$58,000</em> You Can Spend on a Car</span></h1>",
                  "target": [
                    ".in-view[data-reveal=\"\"]:nth-child(1) > h1"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>The Daily Torq</span></h2>",
                  "target": [
                    "#news > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">NACS Wins: Nearly Every 2026 EV Lineup Will Share One Charging Port</a></h3>",
                  "target": [
                    ".featured > .body > h3"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">Price Watch: Midsize SUV MSRP Slides 1.9% as Inventory Stretches to 78 Days</a></h3>",
                  "target": [
                    ".ncard:nth-child(2) > .body > h3"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">Recall Watch: 12,400 Vehicles Affected by Power-Steering Software Flaw</a></h3>",
                  "target": [
                    ".ncard:nth-child(3) > .body > h3"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">The Last New V8 Is Scheduled for 2027. What Happens to the Sound of Driving?</a></h3>",
                  "target": [
                    ".wide > .body > h3"
                  ]
                },
                {
                  "html": "<h4>Most Read <span>7 days</span></h4>",
                  "target": [
                    ".aside-block:nth-child(1) > h4"
                  ]
                },
                {
                  "html": "<h4>Service Specials <span>This week</span></h4>",
                  "target": [
                    ".aside-block:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Shop Honors <span>2024\u201325</span></h4>",
                  "target": [
                    ".aside-block:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>Reviewed on Our Own Track, With Our Own Money</span></h2>",
                  "target": [
                    "#reviews > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h3>2025 Solstice GT Liftback</h3>",
                  "target": [
                    ".rf-body > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>Repair Tips From a Working Shop</span></h2>",
                  "target": [
                    "#shop > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">Swap a Rotor &amp; Pad Set Before the Dealer Does It for You</a></h3>",
                  "target": [
                    ".guide:nth-child(1) > div:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">Why Your CVT Whines \u2014 and When It's a $600 Fix vs. $4,200</a></h3>",
                  "target": [
                    ".guide:nth-child(2) > div:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3><a href=\"#\">The $180 Winter Checklist That Saves You Thousands</a></h3>",
                  "target": [
                    ".guide:nth-child(3) > div:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>Your Trade Deserves a Number, Not a Vibe</span></h2>",
                  "target": [
                    "#tradein > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>APR, Lease Terms &amp; MSRP \u2014 In Plain English</span></h2>",
                  "target": [
                    "#financing > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>The Weekly Drop</span></h2>",
                  "target": [
                    "div[data-reveal=\"\"]:nth-child(1) > .title"
                  ]
                },
                {
                  "html": "<h3>2024 Astra SE 4dr</h3>",
                  "target": [
                    ".deal[data-reveal=\"\"]:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>2022 Pike F-150 XLT</h3>",
                  "target": [
                    ".deal[data-reveal=\"\"]:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>2024 Halo 4EV</h3>",
                  "target": [
                    ".deal[data-reveal=\"\"]:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3>The 34-Point Inspection</h3>",
                  "target": [
                    ".deal[data-reveal=\"\"]:nth-child(4) > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>What's on the Lot This Week</span></h2>",
                  "target": [
                    ".inv-head > div:nth-child(1) > .title"
                  ]
                },
                {
                  "html": "<h3>2024 Crosstrek AWD</h3>",
                  "target": [
                    ".vcard:nth-child(1) > .vbody > h3"
                  ]
                },
                {
                  "html": "<h3>2024 Astra SE 4dr</h3>",
                  "target": [
                    ".vcard:nth-child(2) > .vbody > h3"
                  ]
                },
                {
                  "html": "<h3>2024 Halo 4EV</h3>",
                  "target": [
                    ".vcard:nth-child(3) > .vbody > h3"
                  ]
                },
                {
                  "html": "<h3>2025 Solstice GT</h3>",
                  "target": [
                    ".vcard:nth-child(4) > .vbody > h3"
                  ]
                },
                {
                  "html": "<h3>2022 Pike F-150 XLT</h3>",
                  "target": [
                    ".vcard:nth-child(5) > .vbody > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>Word From the Drivers</span></h2>",
                  "target": [
                    "#voices > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h2 class=\"title lm\"><span>Asked at the Desk, Answered Here</span></h2>",
                  "target": [
                    "#faq > .container > .sec-head[data-reveal=\"\"] > div > .title"
                  ]
                },
                {
                  "html": "<h4>Still stuck?</h4>",
                  "target": [
                    ".faq-side > h4"
                  ]
                },
                {
                  "html": "<h2 class=\"lm\"><span>The Weekly <em>Torq</em></span></h2>",
                  "target": [
                    ".nl-grid > div[data-reveal=\"\"]:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h5>Explore</h5>",
                  "target": [
                    ".foot-col:nth-child(2) > h5"
                  ]
                },
                {
                  "html": "<h5>The Desk</h5>",
                  "target": [
                    ".foot-col:nth-child(3) > h5"
                  ]
                },
                {
                  "html": "<h5>Follow the Wire</h5>",
                  "target": [
                    ".foot-col:nth-child(4) > h5"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main id=\"main\">",
                  "target": [
                    "#main"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\" class=\"js\">",
          "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": "#59616e",
                "bgColor": "#f3efe6",
                "contrastRatio": 5.44,
                "fontSize": "7.9pt (10.56px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 5.44"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span><b id=\"topDate\">THU, NOV 12, 2026</b><span class=\"dot\">\u00b7</span>VOL. 09 \u2014 ISS. 214</span>",
          "target": [
            ".topstrip > 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\" class=\"js\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "duplicate-id-aria",
              "data": "navLinks",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<ul class=\"nav-links\" id=\"navLinks\">",
          "target": [
            "#navLinks"
          ]
        }
      ]
    },
    {
      "id": "form-field-multiple-labels",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag332",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.3.3.2"
      ],
      "description": "Ensure form field does not have multiple label elements",
      "help": "Form field must not have multiple label elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "multiple-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"tiMake\">Make</label>",
                  "target": [
                    "label[for=\"tiMake\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<select id=\"tiMake\">",
          "target": [
            "#tiMake"
          ]
        }
      ]
    },
    {
      "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\" class=\"js\">",
          "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\" class=\"js\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://placehold.co/56x56/FF4D00/101216?text=T&amp;font=oswald\" alt=\"TorqLine logo\" width=\"56\" height=\"56\">",
          "target": [
            "img[width=\"56\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"tiMiles\">Mileage</label>",
                  "target": [
                    "label[for=\"tiMiles\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"range\" id=\"tiMiles\" min=\"0\" max=\"150000\" step=\"2500\" value=\"45000\">",
          "target": [
            "#tiMiles"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a class=\"skip\" href=\"#main\">Skip to content</a>",
          "target": [
            ".skip"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul class=\"nav-links\" id=\"navLinks\">",
          "target": [
            "#navLinks"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><a href=\"#news\">The Wire</a></li>",
          "target": [
            "#navLinks > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/56x56/FF4D00/101216?text=T&amp;font=oswald\" alt=\"TorqLine logo\" width=\"56\" height=\"56\">",
          "target": [
            "img[width=\"56\"]"
          ]
        }
      ]
    },
    {
      "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": [
        {
          "any": [
            {
              "id": "focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element contains focusable elements"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"scroller\" id=\"invScroller\" data-reveal=\"\">",
          "target": [
            "#invScroller"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label for=\"tiMake\">Make</label>",
                  "target": [
                    "label[for=\"tiMake\"]"
                  ]
                }
              ],
              "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=\"tiMake\">",
          "target": [
            "#tiMake"
          ]
        }
      ]
    },
    {
      "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": [
        {
          "any": [
            {
              "id": "aria-label",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute exists and is not empty"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<svg viewBox=\"0 0 300 172\" role=\"img\" aria-label=\"Estimated trade-in value gauge\">",
          "target": [
            "svg"
          ]
        }
      ]
    },
    {
      "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": 146.4,
                "height": 44.8
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (146.4px by 44.8px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"skip\" href=\"#main\">Skip to content</a>",
          "target": [
            ".skip"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": {
                "role": null,
                "nodeName": "div",
                "messageKey": "noRoleSingular",
                "prohibited": [
                  "aria-label"
                ]
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "aria-label attribute is not well supported on a div with no valid role attribute."
            }
          ],
          "impact": "serious",
          "html": "<div class=\"wire\" aria-label=\"Headline wire\">",
          "target": [
            ".wire"
          ],
          "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": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "7.9pt (10.56px)",
                "fontWeight": "normal",
                "messageKey": "shortTextContent",
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"topstrip\">\n  <span><b id=\"topDate\">THU, NOV 12, 2026</b><span class=\"dot\">\u00b7</span>VOL. 09 \u2014 ISS. 214</span>\n  <span class=\"right\">FUEL <b>$3.12/GAL</b><span class=\"dot\">\u00b7</span>PRICE INDEX <b>102.4</b><span class=\"dot\">\u00b7</span>DETROIT 41\u00b0F</span>\n</div>",
                  "target": [
                    ".topstrip"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element content is too short to determine if it is actual text content"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"dot\">\u00b7</span>",
          "target": [
            "span:nth-child(1) > .dot"
          ],
          "failureSummary": "Fix any of the following:\n  Element content is too short to determine if it is actual text content"
        }
      ]
    }
  ],
  "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": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>01</b>",
          "target": [
            ".in-view.sec-head[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.2pt (10.88px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>7 days</span>",
          "target": [
            ".aside-block:nth-child(1) > h4 > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.2pt (10.88px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>This week</span>",
          "target": [
            ".aside-block:nth-child(2) > h4 > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"price free\">FREE</span>",
          "target": [
            ".dotrow:nth-child(4) > .free.price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"price free\">$0 \u00b7 $119</span>",
          "target": [
            ".dotrow:nth-child(5) > .free.price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 9.8pt (13.12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.2pt (10.88px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>2024\u201325</span>",
          "target": [
            ".aside-block:nth-child(3) > h4 > span"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.2pt (10.88px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>01</b>",
          "target": [
            ".sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>01</b>",
          "target": [
            "#news > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>02</b>",
          "target": [
            "#reviews > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "7.4pt (9.92px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"chip buy\">Verdict: Buy it</span>",
          "target": [
            ".verdict-row > .buy.chip"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "7.4pt (9.92px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"chip buy\">Buy</span>",
          "target": [
            ".board-row:nth-child(2) > div:nth-child(4) > .buy.chip"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "7.4pt (9.92px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"chip buy\">Buy</span>",
          "target": [
            ".board-row:nth-child(3) > div:nth-child(4) > .buy.chip"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "7.4pt (9.92px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"chip buy\">Buy</span>",
          "target": [
            ".board-row:nth-child(4) > div:nth-child(4) > .buy.chip"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "7.4pt (9.92px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"reviews\">",
                  "target": [
                    "#reviews"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"chip buy\">Buy</span>",
          "target": [
            ".board-row:nth-child(5) > div:nth-child(4) > .buy.chip"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 7.4pt (9.92px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>04</b>",
          "target": [
            "#tradein > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#fbf8f0",
                "contrastRatio": 3.13,
                "fontSize": "7.9pt (10.56px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"tool in-view\" id=\"toolPanel\" data-reveal=\"\" style=\"--d:.12s\">",
                  "target": [
                    "#toolPanel"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.9pt (10.56px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"live-dot\"><i></i>Live data</span>",
          "target": [
            ".live-dot"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.9pt (10.56px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"financing\">",
                  "target": [
                    "#financing"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>05</b>",
          "target": [
            "#financing > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#58240f",
                "bgColor": "#ff4d00",
                "contrastRatio": 3.77,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section specials\" id=\"specials\">",
                  "target": [
                    "#specials"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.77 (foreground color: #58240f, background color: #ff4d00, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"kicker\"><b>06</b> This Week on the Lot</span>",
          "target": [
            "#specials > .container > .in-view[data-reveal=\"\"] > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.77 (foreground color: #58240f, background color: #ff4d00, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#58240f",
                "bgColor": "#ff4d00",
                "contrastRatio": 3.77,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section specials\" id=\"specials\">",
                  "target": [
                    "#specials"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.77 (foreground color: #58240f, background color: #ff4d00, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"kicker\"><b>06</b> This Week on the Lot</span>",
          "target": [
            "#specials > .container > .in-view[data-reveal=\"\"]:nth-child(1) > .kicker"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.77 (foreground color: #58240f, background color: #ff4d00, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>07</b>",
          "target": [
            ".inv-head > div:nth-child(1) > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#eae3d3",
                "contrastRatio": 2.6,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section bg-paper2\" id=\"voices\">",
                  "target": [
                    "#voices"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>08</b>",
          "target": [
            "#voices > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.6 (foreground color: #ff4d00, background color: #eae3d3, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#fbf8f0",
                "contrastRatio": 3.13,
                "fontSize": "7.0pt (9.28px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"voice in-view\" data-reveal=\"\">",
                  "target": [
                    ".voice:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"v-tag\">Verified \u2014 Trade-in</span>",
          "target": [
            ".voice:nth-child(1) > .v-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#fbf8f0",
                "contrastRatio": 3.13,
                "fontSize": "7.0pt (9.28px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"voice in-view\" data-reveal=\"\" style=\"--d:.1s\">",
                  "target": [
                    ".voice:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"v-tag\">Verified \u2014 36-mo Lease</span>",
          "target": [
            ".voice:nth-child(2) > .v-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#fbf8f0",
                "contrastRatio": 3.13,
                "fontSize": "7.0pt (9.28px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"voice in-view\" data-reveal=\"\" style=\"--d:.2s\">",
                  "target": [
                    ".voice:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"v-tag\">Verified \u2014 Service</span>",
          "target": [
            ".voice:nth-child(3) > .v-tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.13 (foreground color: #ff4d00, background color: #fbf8f0, font size: 7.0pt (9.28px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff4d00",
                "bgColor": "#f3efe6",
                "contrastRatio": 2.89,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>09</b>",
          "target": [
            "#faq > .container > .sec-head.in-view[data-reveal=\"\"] > div > .kicker > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.89 (foreground color: #ff4d00, background color: #f3efe6, font size: 8.6pt (11.52px), font weight: normal). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 11298
      },
      {
        "y": 576,
        "height": 11298
      },
      {
        "y": 1152,
        "height": 11298
      },
      {
        "y": 1728,
        "height": 11298
      },
      {
        "y": 2304,
        "height": 11298
      },
      {
        "y": 2880,
        "height": 11298
      },
      {
        "y": 3456,
        "height": 11298
      },
      {
        "y": 4032,
        "height": 11298
      },
      {
        "y": 4608,
        "height": 11298
      },
      {
        "y": 5184,
        "height": 11298
      },
      {
        "y": 5760,
        "height": 11298
      },
      {
        "y": 6336,
        "height": 11298
      },
      {
        "y": 6912,
        "height": 11298
      },
      {
        "y": 7488,
        "height": 11298
      },
      {
        "y": 8064,
        "height": 11298
      },
      {
        "y": 8640,
        "height": 11298
      },
      {
        "y": 9216,
        "height": 11298
      },
      {
        "y": 9792,
        "height": 11298
      },
      {
        "y": 10368,
        "height": 11298
      },
      {
        "y": 10578,
        "height": 11298
      }
    ],
    "scans": 21,
    "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 "Automotive" 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: "Automotive"
- Description: Automotive news, car reviews, repair tips, and dealership resources.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Automotive" 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: "Financing", "About", "Specials".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Automotive" category. Consider themes similar to: "Parts Department", "Financing Options", "Service Specials".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "APR financing", "lease terms", "MSRP".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Get Pre-Approved", "Trade In", "Schedule Test Drive".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Automotive" sector. Ideas similar but not limited to: "trade-in calculator".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "certified selection", "service specials", "dealer awards".
-   **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.