Qwen Qwen3.8 27B – Science

via Parasail · Generated

  • AIMAC Debt 5.90
  • Cost $0.16
  • Total Violations 60
  • HTML Size 71 KB
  • Em Dashes 39

Screenshot

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

Accessibility Issues Found

60 Serious

  • color-contrast serious 60 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <a class="btn solid" href="#updates">Get Updates</a>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>The Parallax Institute — Rigorous Science, Seen from Every Angle</title>
<meta name="description" content="The Parallax Institute is an independent, public-interest research organization. Open research, peer-reviewed publications, STEM education, and a live grant tracker.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=IBM+Plex+Mono:wght@400;500;600&family=Source+Sans+3:ital,opsz,wght@0,8..60,400..700;1,8..60,400..700&display=swap" rel="stylesheet">
<style>
/* ============ TOKENS & RESET ============ */
:root{
  --paper:#F4EEE1; --paper-2:#EBE3D0; --card:#FBF7EC;
  --ink:#141C26; --ink-2:#48545F;
  --line:rgba(20,28,38,.28); --line-soft:rgba(20,28,38,.14);
  --accent:#E0491F; --accent-deep:#B0360F;
  --dark:#121A24; --dark-line:rgba(244,238,225,.22);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Source Sans 3',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth} }
body{
  font:400 16.5px/1.65 var(--sans);
  background:var(--paper); color:var(--ink);
  overflow-x:hidden;
}
body::after{ /* grain */
  content:""; position:fixed; inset:0; z-index:2000; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
::selection{background:var(--accent);color:var(--paper)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
section{scroll-margin-top:96px}
.container{max-width:1240px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--paper);padding:10px 16px;z-index:3000;font:600 12px var(--mono)}
.skip:focus{left:12px;top:12px}

/* ============ TYPE UTILITIES ============ */
.label{font:500 11px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:12px}
.label::before{content:"";width:26px;height:1px;background:var(--accent);flex:none}
.label b{color:var(--accent);font-weight:600}
h2{font:600 clamp(34px,4.3vw,54px)/1.04 var(--serif);letter-spacing:-.015em}
h2 em{font-style:italic;color:var(--accent)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px 72px;align-items:end;margin-bottom:60px}
.sec-head p{color:var(--ink-2);justify-self:end;max-width:52ch;font-size:16px}

/* line-mask reveal */
.lines .line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.lines .line>span{display:block;transform:translateY(115%);transition:transform .9s cubic-bezier(.2,.65,.2,1)}
.lines.in .line>span{transform:translateY(0)}
.lines.in .line:nth-child(2)>span{transition-delay:.1s}
.lines.in .line:nth-child(3)>span{transition-delay:.2s}
/* fade-up reveal */
.io{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.6,.2,1);transition-delay:var(--d,0s)}
.io.in{opacity:1;transform:none}

/* ============ BUTTONS / CHIPS / FIELDS ============ */
.btn{display:inline-flex;align-items:center;gap:10px;font:600 12px/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;padding:16px 24px;border:1px solid var(--ink);background:transparent;color:var(--ink);transition:transform .22s,box-shadow .22s,background .22s,color .22s}
.btn:hover{background:var(--ink);color:var(--paper);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--accent)}
.btn.solid{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.btn.solid:hover{background:var(--ink);border-color:var(--ink)}
.btn.paperline{border-color:var(--dark-line);color:var(--paper)}
.btn.paperline:hover{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--accent)}
.arrow-link{font:600 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:gap .2s,border-color .2s,color .2s}
.arrow-link span{transition:transform .2s}
.arrow-link:hover{color:var(--accent);border-color:var(--accent)}
.arrow-link:hover span{transform:translateX(5px)}
.chip{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:9px 15px;border:1px solid var(--line);background:transparent;transition:.2s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.field input,.field select{width:100%;font:500 13px var(--mono);letter-spacing:.04em;padding:14px 15px;border:1px solid var(--line);background:var(--card);color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input::placeholder{color:var(--ink-2);opacity:.7}
.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(224,73,31,.16)}

/* ============ READOUT BAR ============ */
.readout{background:var(--dark);color:rgba(244,238,225,.75);font:500 10.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;display:flex;justify-content:space-between;gap:20px;padding:9px 28px}
.readout b{color:var(--paper);font-weight:600}
.readout .dot{color:var(--accent)}

/* ============ MASTHEAD ============ */
.masthead{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .3s}
.masthead.scrolled{box-shadow:0 14px 30px -20px rgba(20,28,38,.5)}
.masthead-in{display:flex;align-items:center;gap:22px;padding:16px 28px;max-width:1440px;margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;margin-right:auto}
.brand img{width:52px;height:52px;border:1px solid var(--ink);box-shadow:3px 3px 0 var(--accent)}
.brand-name{font:700 21px/1 var(--serif);letter-spacing:-.01em}
.brand-tag{font:500 9.5px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-top:5px}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font:600 11.5px var(--mono);letter-spacing:.13em;text-transform:uppercase;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.6,.2,1)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav .btn{padding:12px 18px}
#burger{display:none;width:44px;height:44px;border:1px solid var(--line);position:relative}
#burger span{position:absolute;left:11px;right:11px;height:2px;background:var(--ink);transition:.3s}
#burger span:nth-child(1){top:15px}#burger span:nth-child(2){top:21px}#burger span:nth-child(3){top:27px}
#burger.on span:nth-child(1){top:21px;transform:rotate(45deg)}
#burger.on span:nth-child(2){opacity:0}
#burger.on span:nth-child(3){top:21px;transform:rotate(-45deg)}
#menu{display:none}

/* ============ FRONT PAGE / HERO ============ */
.frontpage{padding:76px 0 84px}
.fp-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:64px;align-items:center}
.kicker{display:flex;align-items:center;gap:14px;font:600 11px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:26px}
.kicker i{width:9px;height:9px;background:var(--accent);flex:none;transform:rotate(45deg)}
.hero-h1{font:640 clamp(46px,6.2vw,88px)/.98 var(--serif);letter-spacing:-.02em;margin-bottom:30px}
.hero-h1 .scramble{display:block;min-height:1em}
.hero-h1 .accent-line .scramble{font-style:italic;font-weight:560;color:var(--accent)}
.hero-lead{max-width:54ch;color:var(--ink-2);font-size:17px;margin-bottom:36px}
.hero-lead strong{color:var(--ink)}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:14px}
.cta-note{font:500 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:44px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid var(--line);padding-top:26px}
.stat-n{display:block;font:600 clamp(26px,2.6vw,36px)/1 var(--serif);letter-spacing:-.01em}
.stat-n small{color:var(--accent)}
.stat-l{display:block;font:500 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}
.figure{position:relative;border:1px solid var(--ink);background:var(--card);padding:12px;box-shadow:16px 16px 0 rgba(224,73,31,.12)}
.figure .imgwrap{overflow:hidden;position:relative;aspect-ratio:5/6}
.figure .imgwrap::before,.figure .imgwrap::after{content:"+";position:absolute;z-index:2;font:600 15px var(--mono);color:var(--paper);mix-blend-mode:difference}
.figure .imgwrap::before{top:6px;left:8px}
.figure .imgwrap::after{bottom:6px;right:8px}
.figure img{width:100%;height:100%;object-fit:cover}
.kb-auto img{animation:kb 24s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.03)}to{transform:scale(1.13) translate(-1.6%,1.4%)}}
.fig-chip{position:absolute;top:26px;left:26px;z-index:3;background:rgba(18,26,36,.82);color:var(--paper);font:500 10px var(--mono);letter-spacing:.14em;padding:8px 12px}
.fig-chip b{color:var(--accent)}
.figure figcaption{display:flex;gap:10px;align-items:baseline;padding:14px 4px 4px;font:500 11px/1.6 var(--mono);color:var(--ink-2);letter-spacing:.03em}
.figure figcaption b{color:var(--accent);letter-spacing:.14em;flex:none}
.figure figcaption em{color:var(--accent);font-style:normal}

/* ============ TICKER ============ */
.ticker{background:var(--dark);border-top:1px solid var(--dark);border-bottom:1px solid var(--dark);display:flex;align-items:stretch;overflow:hidden}
.ticker-label{flex:none;background:var(--accent);color:var(--paper);font:600 10.5px var(--mono);letter-spacing:.2em;padding:13px 20px;display:flex;align-items:center;z-index:2}
.ticker-viewport{overflow:hidden;flex:1;display:flex;align-items:center;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ticker-track{display:flex;align-items:center;gap:34px;width:max-content;padding:13px 0;animation:tick 44s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker-track span{font:500 12px var(--mono);letter-spacing:.06em;color:rgba(244,238,225,.85);white-space:nowrap}
.ticker-track i{color:var(--accent);font-style:normal;font-size:9px}

/* ============ SECTION SHELL ============ */
.section{padding:100px 0}
.section.tinted{background:var(--paper-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}

/* ============ 01 FINDINGS ============ */
.find-grid{display:grid;grid-template-columns:360px minmax(0,1fr);gap:64px;align-items:start}
.rail{position:sticky;top:120px}
.rail h2{margin:20px 0 18px}
.rail>p{color:var(--ink-2);font-size:15.5px;margin-bottom:30px}
.widget{border:1px solid var(--line);background:var(--card);padding:18px 20px;margin-bottom:18px}
.widget h3{font:600 10.5px var(--mono);letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between;color:var(--ink);margin-bottom:6px}
.widget h3 span{color:var(--accent)}
.widget li{padding:11px 0;border-top:1px dashed var(--line-soft);font-size:14px;font-weight:600;line-height:1.45}
.widget li small{display:block;font:500 10px var(--mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-top:3px}
.rail .arrow-link{margin-top:14px}
.find-cards{display:flex;flex-direction:column;gap:44px}
.find-card{display:grid;grid-template-columns:330px minmax(0,1fr);background:var(--card);border:1px solid var(--line);box-shadow:9px 9px 0 rgba(20,28,38,.06);transition:transform .3s,box-shadow .3s}
.find-card:hover{transform:translate(-3px,-3px);box-shadow:13px 13px 0 rgba(224,73,31,.14)}
.find-img{border-right:1px solid var(--line);overflow:hidden;position:relative;min-height:270px}
.find-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.6,.2,1)}
.find-card:hover .find-img img{transform:scale(1.06)}
.find-img figcaption{position:absolute;bottom:10px;left:10px;background:rgba(18,26,36,.82);color:var(--paper);font:500 9.5px var(--mono);letter-spacing:.12em;padding:6px 10px}
.find-body{padding:30px 32px 26px}
.tag{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;padding:6px 11px;border:1px solid var(--ink);display:inline-block;margin-bottom:16px}
.tag.hot{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.find-body h3{font:600 25px/1.2 var(--serif);letter-spacing:-.01em;margin-bottom:12px}
.find-body>p{font-size:15px;color:var(--ink-2);margin-bottom:20px}
.metrics{display:flex;flex-wrap:wrap;gap:12px 30px;border-top:1px solid var(--line-soft);padding-top:16px;margin-bottom:20px}
.metrics b{display:block;font:600 16px var(--serif)}
.metrics span{font:500 9.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}

/* ============ 02 SPOTLIGHT (dark) ============ */
.dark-sec{background:var(--dark);color:var(--paper)}
.dark-sec .label{color:rgba(244,238,225,.6)}
.dark-sec h2 em{color:var(--accent)}
.spot-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.spot-name{font:640 clamp(52px,6vw,84px)/1 var(--serif);font-style:italic;letter-spacing:-.02em;margin:22px 0 24px}
.spot-name sup{font:600 12px var(--mono);letter-spacing:.14em;color:var(--accent);font-style:normal;vertical-align:super}
.spot-grid .lead{color:rgba(244,238,225,.78);max-width:56ch;margin-bottom:10px}
.pull{border-left:3px solid var(--accent);padding:8px 0 8px 26px;margin:32px 0}
.pull p{font:italic 500 22px/1.45 var(--serif)}
.pull cite{display:block;margin-top:14px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;font-style:normal;color:rgba(244,238,225,.55)}
.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dark-line);border:1px solid var(--dark-line);margin:34px 0 36px}
.specs div{background:var(--dark);padding:16px 16px 14px}
.specs b{display:block;font:600 25px var(--serif)}
.specs b small{font:600 13px var(--mono);color:var(--accent)}
.specs span{font:500 9.5px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:rgba(244,238,225,.5)}
.spot-figure{position:relative}
.spot-figure .frame{border:1px solid var(--dark-line);padding:12px;background:var(--dark-2,#18222E)}
.spot-figure .imgwrap{overflow:hidden;aspect-ratio:4/4.4}
.spot-figure img{width:100%;height:100%;object-fit:cover}
.spot-figure figcaption{padding:14px 4px 4px;font:500 11px var(--mono);color:rgba(244,238,225,.55);letter-spacing:.03em}
.spot-figure figcaption b{color:var(--accent)}
.stamp{position:absolute;top:-16px;right:22px;background:var(--dark);border:2px solid var(--accent);color:var(--accent);font:600 10px var(--mono);letter-spacing:.22em;padding:12px 16px;transform:rotate(3deg);z-index:3}

/* ============ 03 GRANT TRACKER ============ */
.tracker-controls{display:grid;grid-template-columns:minmax(220px,320px) auto minmax(180px,240px);gap:16px;align-items:center;margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.tracker-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);border-bottom:2px solid var(--ink);padding:12px 2px}
#grantSummary b{color:var(--accent)}
.grant-list{border-bottom:1px solid var(--line)}
.grant{display:grid;grid-template-columns:96px minmax(0,1fr) 120px 175px;gap:22px;align-items:center;padding:26px 10px;border-top:1px solid var(--line);transition:background .25s,padding .25s}
.grant:hover{background:var(--card)}
.grant.watched{background:rgba(224,73,31,.05)}
.g-date{border:1px solid var(--line);text-align:center;padding:10px 6px;background:var(--card)}
.g-date b{display:block;font:600 30px/1 var(--serif)}
.g-date span{display:block;font:600 10px var(--mono);letter-spacing:.24em;margin-top:5px}
.g-date small{display:block;font:500 9.5px var(--mono);color:var(--ink-2);margin-top:2px}
.g-main h3{font:600 21px/1.25 var(--serif);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.badge{font:600 9px var(--mono);letter-spacing:.18em;background:var(--accent);color:var(--paper);padding:4px 8px;font-style:normal}
.g-sub{font:500 11px var(--mono);letter-spacing:.08em;color:var(--ink-2);margin:6px 0 5px;text-transform:uppercase}
.g-sub .g-field{color:var(--accent);font-weight:600;margin-right:8px}
.g-desc{font-size:14px;color:var(--ink-2)}
.g-due{font:600 12px var(--mono);letter-spacing:.12em;text-align:right;white-space:nowrap}
.g-due.urgent{color:var(--accent)}
.g-watch{font:600 11px var(--mono);letter-spacing:.14em;padding:13px 10px;border:1px solid var(--line);text-align:center;justify-self:end;transition:.2s;white-space:nowrap}
.g-watch:hover{border-color:var(--ink)}
.g-watch.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.grant-empty{padding:56px 20px;font:500 14px var(--mono);color:var(--ink-2);text-align:center;letter-spacing:.04em}
.tracker-cta{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:34px}
.tracker-cta .fine{font:500 10.5px var(--mono);letter-spacing:.1em;color:var(--ink-2);text-transform:uppercase}

/* ============ 04 EDUCATION ============ */
.edu-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border:1px solid var(--line);background:var(--card);box-shadow:10px 10px 0 rgba(20,28,38,.06);margin-bottom:28px}
.edu-feature .imgwrap{overflow:hidden;min-height:320px;border-right:1px solid var(--line)}
.edu-feature img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.6,.2,1)}
.edu-feature:hover img{transform:scale(1.05)}
.edu-feature .body{padding:38px 40px}
.edu-feature h3{font:600 30px var(--serif);margin:14px 0 14px}
.edu-feature p{color:var(--ink-2);font-size:15.5px;margin-bottom:26px}
.edu-duo{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:44px}
.edu-card{border:1px solid var(--line);background:var(--card);padding:30px 32px;box-shadow:8px 8px 0 rgba(20,28,38,.05);transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.edu-card:hover{transform:translate(-3px,-3px);box-shadow:12px 12px 0 rgba(224,73,31,.14)}
.edu-card h3{font:600 23px var(--serif);margin:14px 0 12px}
.edu-card p{font-size:14.5px;color:var(--ink-2);margin-bottom:24px}
.edu-card .btn{margin-top:auto;align-self:flex-start}
.edu-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px dashed var(--line);margin-bottom:64px}
.edu-stats div{padding:20px 24px;border-right:1px dashed var(--line)}
.edu-stats div:last-child{border-right:0}
.edu-stats b{font:600 30px var(--serif)}
.edu-stats span{display:block;font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-top:6px}
.shelf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:24px}
.shelf-head p{font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shelf-item{border:1px solid var(--line);background:var(--card);padding:22px;display:flex;flex-direction:column;gap:10px;transition:transform .25s,box-shadow .25s}
.shelf-item:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 rgba(20,28,38,.1)}
.shelf-item .sq{width:38px;height:38px;border:1px solid var(--ink);display:grid;place-items:center;font:600 15px var(--serif);background:var(--paper)}
.shelf-item b{font:600 15.5px/1.35 var(--sans)}
.shelf-item small{font:500 10px var(--mono);letter-spacing:.12em;color:var(--ink-2);text-transform:uppercase}
.shelf-item .dl{margin-top:auto;font:600 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;gap:8px}

/* ============ 05 PUBLICATIONS ============ */
.pub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.pub-card{border:1px solid var(--line);background:var(--card);transition:transform .3s,box-shadow .3s}
.pub-card:hover{transform:translateY(-6px);box-shadow:0 22px 34px -22px rgba(20,28,38,.5)}
.pub-cover{border-bottom:1px solid var(--line);overflow:hidden;aspect-ratio:4/5;background:var(--paper-2)}
.pub-cover img{width:100%;height:100%;object-fit:cover}
.pub-body{padding:24px 26px 26px}
.pub-body h3{font:600 21px/1.25 var(--serif);margin-bottom:10px}
.pub-meta{font:500 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.pub-body p{font-size:14.5px;color:var(--ink-2);margin-bottom:18px}

/* ============ 06 VOICES ============ */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;align-items:start}
.voice{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--accent);padding:32px 30px 30px;box-shadow:10px 10px 0 rgba(20,28,38,.07);transition:transform .35s cubic-bezier(.2,.6,.2,1),box-shadow .35s}
.voice:nth-child(1){transform:rotate(-1.4deg)}
.voice:nth-child(2){transform:rotate(.9deg) translateY(18px)}
.voice:nth-child(3){transform:rotate(-.6deg)}
.voice:hover{transform:rotate(0) translateY(-6px);box-shadow:14px 14px 0 rgba(224,73,31,.15)}
.qmark{font:700 58px/0.55 var(--serif);color:var(--accent);display:block;margin-bottom:20px}
.voice blockquote{font:italic 500 18px/1.55 var(--serif);letter-spacing:-.005em}
.v-person{display:flex;align-items:center;gap:14px;margin-top:26px;padding-top:20px;border-top:1px dashed var(--line-soft)}
.v-person img{width:50px;height:50px;border-radius:50%;border:1px solid var(--line)}
.v-person b{display:block;font:700 14.5px var(--sans)}
.v-person span{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}

/* ============ 07 LECTURES ============ */
.lecture{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:30px;align-items:center;padding:28px 12px;border-top:1px solid var(--line);transition:background .25s}
.lecture:last-of-type{border-bottom:1px solid var(--line)}
.lecture:hover{background:var(--card)}
.l-date{border:1px solid var(--ink);text-align:center;padding:12px 8px;background:var(--card)}
.l-date b{display:block;font:600 32px/1 var(--serif)}
.l-date span{display:block;font:600 10px var(--mono);letter-spacing:.26em;margin-top:5px}
.l-date small{display:block;font:500 9.5px var(--mono);color:var(--ink-2);margin-top:2px}
.l-main h3{font:600 22px var(--serif);margin-bottom:6px}
.l-meta{font:500 11px var(--mono);letter-spacing:.1em;color:var(--ink-2);text-transform:uppercase}
.l-meta i{color:var(--accent);font-style:normal;margin:0 8px}
.lect-note{margin-top:26px;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.lect-note b{color:var(--accent)}

/* ============ FAQ ============ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:72px;align-items:start}
.faq-grid .left h2{margin:20px 0 18px}
.faq-grid .left p{color:var(--ink-2);margin-bottom:28px}
.acc-item{border-top:1px solid var(--line)}
.acc-item:last-child{border-bottom:1px solid var(--line)}
.acc-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;text-align:left;padding:24px 4px;font:600 19px/1.35 var(--serif);letter-spacing:-.005em;transition:color .2s}
.acc-q:hover{color:var(--accent)}
.acc-ic{flex:none;width:30px;height:30px;border:1px solid var(--line);position:relative;transition:transform .35s,border-color .35s,background .35s}
.acc-ic::before,.acc-ic::after{content:"";position:absolute;background:currentColor;left:50%;top:50%}
.acc-ic::before{width:12px;height:1.5px;transform:translate(-50%,-50%)}
.acc-ic::after{width:1.5px;height:12px;transform:translate(-50%,-50%)}
.acc-item.open .acc-ic{transform:rotate(135deg);background:var(--accent);border-color:var(--accent);color:var(--paper)}
.acc-a{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.2,.6,.2,1)}
.acc-a p{padding:0 44px 26px 4px;color:var(--ink-2);font-size:15.5px;max-width:62ch}

/* ============ UPDATES BAND ============ */
.band{background:var(--accent);color:var(--paper)}
.band-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;padding:84px 0}
.band h2{color:var(--paper);font-size:clamp(36px,4.4vw,58px)}
.band .label{color:rgba(244,238,225,.8)}
.band p{color:rgba(251,247,236,.9);margin-top:18px;max-width:48ch}
.band form{display:flex;gap:14px}
.band input{flex:1;min-width:0;padding:17px 16px;font:500 14px var(--mono);border:1px solid var(--ink);background:var(--card);color:var(--ink)}
.band input::placeholder{color:var(--ink-2)}
.band input:focus{outline:none;box-shadow:0 0 0 3px rgba(18,26,36,.3)}
.band .btn{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.band .btn:hover{background:var(--paper);color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.form-msg{margin-top:14px;font:500 12px var(--mono);letter-spacing:.06em;min-height:1.4em}
.form-msg.err{color:var(--paper);text-decoration:underline}
.band .fine{margin-top:10px;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(251,247,236,.75)}

/* ============ FOOTER ============ */
footer{background:var(--dark);color:rgba(244,238,225,.75)}
.f-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:52px;padding:72px 0 56px}
.f-brand .brand img{box-shadow:3px 3px 0 var(--accent);border-color:var(--dark-line)}
.f-brand .brand-name{color:var(--paper)}
.f-brand .brand-tag{color:rgba(244,238,225,.5)}
.f-brand p{font-size:14px;line-height:1.75;margin:20px 0;max-width:34ch}
.f-contact{font:500 11.5px/2.1 var(--mono);letter-spacing:.05em}
.f-contact a:hover{color:var(--accent)}
footer h4{font:600 10.5px var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}
.f-col a{display:block;padding:5.5px 0;font-size:14.5px;transition:color .2s,transform .2s}
.f-col a:hover{color:var(--paper);transform:translateX(4px)}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid rgba(244,238,225,.14);padding:22px 0;font:500 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(244,238,225,.45)}
.f-bottom .ok{color:var(--accent)}

/* ============ RESPONSIVE ============ */
@media (max-width:1120px){
  .find-grid{grid-template-columns:1fr;gap:52px}
  .rail{position:static}
  .rail .widgets{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .rail .arrow-link{grid-column:1/-1}
  .spot-grid{gap:48px}
}
@media (max-width:980px){
  .nav{display:none}
  #burger{display:block}
  #menu{display:block;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 28px 26px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.3s}
  #menu.open{transform:none;opacity:1;visibility:visible}
  #menu a{display:block;font:600 15px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:14px 0;border-bottom:1px dashed var(--line-soft)}
  #menu .btn{margin-top:18px}
  .fp-grid,.spot-grid,.faq-grid,.band-in{grid-template-columns:1fr;gap:48px}
  .sec-head{grid-template-columns:1fr;gap:16px}
  .sec-head p{justify-self:start}
  .stats{grid-template-columns:repeat(2,1fr)}
  .specs{grid-template-columns:repeat(2,1fr)}
  .edu-feature{grid-template-columns:1fr}
  .edu-feature .imgwrap{border-right:0;border-bottom:1px solid var(--line);min-height:240px}
  .shelf{grid-template-columns:repeat(2,1fr)}
  .pub-grid,.voice-grid{grid-template-columns:1fr;max-width:560px}
  .voice:nth-child(2){transform:rotate(.9deg)}
  .f-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:720px){
  .readout span:nth-child(2){display:none}
  .find-card{grid-template-columns:1fr}
  .find-img{border-right:0;border-bottom:1px solid var(--line);min-height:220px}
  .edu-duo{grid-template-columns:1fr}
  .edu-stats{grid-template-columns:repeat(2,1fr)}
  .edu-stats div:nth-child(2){border-right:0}
  .edu-stats div:nth-child(-n+2){border-bottom:1px dashed var(--line)}
  .shelf{grid-template-columns:1fr}
  .tracker-controls{grid-template-columns:1fr}
  .grant{grid-template-columns:74px minmax(0,1fr);gap:16px}
  .g-due{grid-column:1;grid-row:2;text-align:left}
  .g-watch{grid-column:2;grid-row:2;justify-self:end}
  .g-date b{font-size:24px}
  .lecture{grid-template-columns:78px minmax(0,1fr)}
  .lecture .btn{grid-column:1/-1;justify-self:start}
  .band form{flex-direction:column}
  .f-top{grid-template-columns:1fr}
  .section{padding:76px 0}
  .frontpage{padding:56px 0 64px}
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .io{opacity:1;transform:none}
  .lines .line>span{transform:none}
  .ticker-viewport{overflow-x:auto;mask-image:none}
  html{scroll-behavior:auto}
}
</style>
</head>
<body>
<a class="skip" href="#main">Skip to content</a>

<!-- Station readout -->
<div class="readout" role="status">
  <span>STATION <b>40.015° N — 105.270° W</b> · BOULDER, CO</span>
  <span>LOCAL TIME <b id="clock">00:00:00</b> <span class="dot">●</span> ALL SYSTEMS NOMINAL</span>
  <span>OPEN DATA · DOUBLE-BLIND PEER REVIEW · EST. 1998</span>
</div>

<!-- Masthead -->
<header class="masthead" id="masthead">
  <div class="masthead-in">
    <a class="brand" href="#top" aria-label="The Parallax Institute — home">
      <img src="https://placehold.co/84x84/141C26/F4EEE1?text=P&font=playfair+display" alt="The Parallax Institute logomark" width="52" height="52">
      <span>
        <span class="brand-name">The Parallax Institute</span>
        <span class="brand-tag" style="display:block">Rigorous science, seen from every angle</span>
      </span>
    </a>
    <nav class="nav" aria-label="Primary">
      <a href="#findings">Research</a>
      <a href="#spotlight">Discovery</a>
      <a href="#education">Education</a>
      <a href="#resources">Resources</a>
      <a href="#publications">Publications</a>
      <a href="#grants">Grants</a>
      <a href="#lectures">Lectures</a>
      <a class="btn solid" href="#updates">Get Updates</a>
    </nav>
    <button id="burger" aria-label="Toggle menu" aria-expanded="false"><span></span><span></span><span></span></button>
  </div>
  <nav id="menu" aria-label="Mobile">
    <a href="#findings">Research</a>
    <a href="#spotlight">Discovery</a>
    <a href="#education">Education</a>
    <a href="#resources">Resources</a>
    <a href="#publications">Publications</a>
    <a href="#grants">Grants</a>
    <a href="#lectures">Lectures</a>
    <a class="btn solid" href="#updates">Get Updates</a>
  </nav>
</header>

<main id="main">

<!-- ============ FRONT PAGE ============ -->
<section class="frontpage" id="top">
  <div class="container fp-grid">
    <div>
      <p class="kicker"><i aria-hidden="true"></i> Field Notebook — Vol. 47 · Issue 12 · Spring</p>
      <h1 class="hero-h1">
        <span class="scramble" data-text="Science, seen from">Science, seen from</span>
        <span class="accent-line"><span class="scramble" data-text="every angle.">every angle.</span></span>
      </h1>
      <p class="hero-lead">The Parallax Institute is an independent, public-interest research organization. Since 1998 we've run field stations, open labs, and a peer-reviewed quarterly — and we publish everything we can: <strong>datasets, methods, and our dead ends</strong>, because replication is how confidence compounds. This page is our living notebook: what the labs found this quarter, what we're funding, and how schools and citizen scientists can join in.</p>
      <div class="cta-row">
        <a class="btn solid" href="#publications">Read the spring issue</a>
        <a class="btn" href="#resources">Explore open data</a>
      </div>
      <p class="cta-note">No paywall · No tracking · CC-BY everywhere</p>
      <div class="stats">
        <div class="stat io" style="--d:.05s"><span class="stat-n"><span class="count" data-count="1284">0</span></span><span class="stat-l">Peer-reviewed papers</span></div>
        <div class="stat io" style="--d:.15s"><span class="stat-n"><span class="count" data-count="96">0</span></span><span class="stat-l">Open datasets</span></div>
        <div class="stat io" style="--d:.25s"><span class="stat-n"><span class="count" data-count="18400">0</span></span><span class="stat-l">Students mentored</span></div>
        <div class="stat io" style="--d:.35s"><span class="stat-n"><span class="count" data-count="97" data-suffix="%">0</span></span><span class="stat-l">Replication success</span></div>
      </div>
    </div>
    <figure class="figure io" style="--d:.15s">
      <span class="fig-chip"><b>LIVE FEED</b> · CEDAR RIDGE STATION</span>
      <div class="imgwrap kb-auto">
        <img src="https://picsum.photos/seed/parallax-night-sky/900/1080" alt="Long-exposure photograph of a meteor stream over the Cedar Ridge observatory" fetchpriority="high">
      </div>
      <figcaption><b>FIG. 01</b> Night observation, Cedar Ridge Station — long-exposure capture of the Perseid stream, 21 Aug 2025. <em>Data published same night.</em></figcaption>
    </figure>
  </div>
</section>

<!-- ============ TICKER ============ -->
<div class="ticker" aria-label="Latest from the labs">
  <div class="ticker-label">LATEST FROM THE LABS</div>
  <div class="ticker-viewport">
    <div class="ticker-track" id="tickerTrack">
      <span>Cedar Ridge Station logs a record 214-meteor hour</span><i>◆</i>
      <span>New meta-analysis links sleep regularity to memory consolidation (n = 4,212)</span><i>◆</i>
      <span>12 atmospheric datasets join the Open Archive</span><i>◆</i>
      <span>SepsisScreen earns Breakthrough Device designation</span><i>◆</i>
      <span>Spring grant cycle closes 30 June — 7 open calls</span><i>◆</i>
      <span>Open Lab Saturdays return to 40 classrooms in May</span><i>◆</i>
      <span>Replication Report R-114: positive, 96% effect agreement</span><i>◆</i>
    </div>
  </div>
</div>

<!-- ============ 01 RESEARCH FINDINGS ============ -->
<section class="section" id="findings">
  <div class="container find-grid">
    <aside class="rail">
      <p class="label"><b>SEC. 01</b> Research Findings</p>
      <h2 class="lines"><span class="line"><span>What the labs</span></span><span class="line"><span>are telling us</span></span><span class="line"><span><em>this quarter.</em></span></span></h2>
      <p>Every finding below has passed internal peer review and a replication screen. We report effect sizes, sample sizes, and confidence intervals the way we'd want them reported to us — because the interesting number is rarely the headline.</p>
      <div class="widgets">
        <div class="widget io">
          <h3>Journal Notes <span>↓</span></h3>
          <ul>
            <li>47·12 Spring issue — 28 papers, now open access<small>Published 02 Mar</small></li>
            <li>Open Archive Vol. 9 — 12 atmospheric datasets<small>Updated 24 Apr</small></li>
            <li>Replication Report R-114 — positive result<small>96% effect agreement</small></li>
          </ul>
        </div>
        <div class="widget io" style="--d:.12s">
          <h3>Grant Deadlines <span>↓</span></h3>
          <ul>
            <li>Climatic Futures Seed Grant<small>Closes 15 Aug</small></li>
            <li>Open Replication Challenge<small>Closes 01 Sep</small></li>
          </ul>
          <a class="arrow-link" href="#grants" style="margin-top:12px">Open the tracker <span>→</span></a>
        </div>
      </div>
      <a class="arrow-link io" href="#publications" style="--d:.2s">Browse all publications <span>→</span></a>
    </aside>

    <div class="find-cards">
      <article class="find-card io">
        <figure class="find-img">
          <img src="https://picsum.photos/seed/neuro-cohort-lab/660/540" alt="Researcher reviewing cognitive task data in the behavioral lab" loading="lazy">
          <figcaption>FIG. 02 · BEHAVIORAL LAB</figcaption>
        </figure>
        <div class="find-body">
          <span class="tag hot">Biology · Flagship</span>
          <h3>A 30-year longitudinal cohort reframes adult neurogenesis</h3>
          <p>Following 1,847 adults from age 18 to 48 — the longest cohort of its kind in the region — we found measurable neuroplastic markers persisting far beyond the ages where most controlled studies assume they fade. A paired meta-analysis of eleven earlier trials suggests prior estimates were biased by self-selected, high-activity samples. The full protocol, raw scores, and analysis notebooks are in the Open Archive.</p>
          <div class="metrics">
            <div><b>1,847</b><span>Participants</span></div>
            <div><b>30-yr</b><span>Cohort span</span></div>
            <div><b>99.2%</b><span>Confidence</span></div>
            <div><b>47·12</b><span>Journal ref.</span></div>
          </div>
          <a class="arrow-link" href="#publications">Read the paper <span>→</span></a>
        </div>
      </article>

      <article class="find-card io">
        <figure class="find-img">
          <img src="https://picsum.photos/seed/canopy-soil-study/660/540" alt="Researcher collecting a soil core beneath a restored forest canopy" loading="lazy">
          <figcaption>FIG. 03 · PLOT 41, WATERSHED SITE</figcaption>
        </figure>
        <div class="find-body">
          <span class="tag">Climate &amp; Ecology</span>
          <h3>A controlled canopy study quantifies carbon drawdown in degraded soil</h3>
          <p>Across 60 paired plots in the Cedar Ridge watershed, 24 months of controlled canopy restoration moved soil organic carbon up 11.4% on average — with the steepest gains arriving in the first year, contradicting the slow-linear model most policy guidance assumes. Every soil core is catalogued in the Open Archive, and the monitoring protocol is freely licensed for reuse by other watersheds.</p>
          <div class="metrics">
            <div><b>60</b><span>Paired plots</span></div>
            <div><b>24-mo</b><span>Treatment</span></div>
            <div><b>+11.4%</b><span>Δ Soil carbon</span></div>
            <div><b>CC-BY</b><span>Protocol license</span></div>
          </div>
          <a class="arrow-link" href="#publications">Read the paper <span>→</span></a>
        </div>
      </article>

      <article class="find-card io">
        <figure class="find-img">
          <img src="https://picsum.photos/seed/grid-telemetry-bench/660/540" alt="Telemetry dashboards displaying regional power grid load curves" loading="lazy">
          <figcaption>FIG. 05 · TELEMETRY BENCH, LAB 1</figcaption>
        </figure>
        <div class="find-body">
          <span class="tag">Data &amp; Energy Systems</span>
          <h3>Open telemetry reveals micro-fluctuations in regional grid load</h3>
          <p>Four point two million anonymized load points, streamed from 38 municipal substations, show a repeating 94-minute micro-fluctuation previously attributed to sensor drift. A controlled replay of the data rules out drift, pointing instead to a coordination artifact in regional demand-response software. The dataset and the notebook that found the pattern are public — and two independent groups have already reproduced the finding.</p>
          <div class="metrics">
            <div><b>4.2M</b><span>Data points</span></div>
            <div><b>38</b><span>Substations</span></div>
            <div><b>94-min</b><span>Cycle length</span></div>
            <div><b>×2</b><span>Replicated</span></div>
          </div>
          <a class="arrow-link" href="#publications">Read the paper <span>→</span></a>
        </div>
      </article>
    </div>
  </div>
</section>

<!-- ============ 02 INNOVATION SPOTLIGHT ============ -->
<section class="section dark-sec" id="spotlight">
  <div class="container">
    <div class="spot-grid">
      <div>
        <p class="label"><b>SEC. 02</b> Innovation Spotlight</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>Breakthrough</span></span><span class="line"><span>of the <em>quarter.</em></span></span></h2>
        <p class="spot-name">SepsisScreen<sup>™</sup></p>
        <p class="lead">A point-of-care biosensor that flags early sepsis from a single drop of blood for eleven dollars. Built by a four-person team in Lab 3 over fourteen months, it refracts a color strip through a paper-thin diffraction array — no reagents, no cold chain, no cloud. The math happens on the strip.</p>
        <blockquote class="pull io">
          <p>"We didn't set out to reinvent diagnostics. We set out to make the math cheap — and the breakthrough was realizing a piece of paper could do it."</p>
          <cite>Dr. Amara Osei — Principal Investigator, Lab 3</cite>
        </blockquote>
        <div class="specs io">
          <div><b>$11<small>.00</small></b><span>Unit cost</span></div>
          <div><b>8 <small>MIN</small></b><span>Time to result</span></div>
          <div><b>94.1<small>%</small></b><span>Sensitivity · n=1,860</span></div>
          <div><b>04<small>·25</small></b><span>FDA Breakthrough</span></div>
        </div>
        <div class="cta-row">
          <a class="btn solid" href="#lectures">Watch the keynote</a>
          <a class="btn paperline" href="#resources">Request the protocol</a>
        </div>
      </div>
      <figure class="spot-figure io" style="--d:.15s">
        <span class="stamp">PATENT PENDING — US 2025/014</span>
        <div class="frame">
          <div class="imgwrap kb-auto">
            <img src="https://picsum.photos/seed/biosensor-bench-lamp/920/1040" alt="Diffraction paper strip glowing under a bench lamp in Lab 3" loading="lazy">
          </div>
          <figcaption><b>FIG. 04</b> — Diffraction strip under the bench lamp, Lab 3. 12 Apr 2025. Batch 7, sensitivity re-check.</figcaption>
        </div>
      </figure>
    </div>
  </div>
</section>

<!-- ============ 03 GRANTS TRACKER ============ -->
<section class="section" id="grants">
  <div class="container">
    <div class="sec-head">
      <div>
        <p class="label"><b>SEC. 03</b> Grants &amp; Funding</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>Funding,</span></span><span class="line"><span>tracked <em>live.</em></span></span></h2>
      </div>
      <p>We track every open call our researchers, students, and partner schools can apply to — internal and external — and refresh the list every Tuesday. Filter by field, sort by deadline, and mark the calls you're preparing; the tracker keeps your shortlist for the session.</p>
    </div>

    <div class="tracker-controls io">
      <div class="field"><label class="skip" for="grantSearch">Search grants</label>
        <input type="search" id="grantSearch" placeholder="SEARCH CALLS, FUNDERS, TOPICS…" autocomplete="off">
      </div>
      <div class="chips" role="group" aria-label="Filter by field">
        <button class="chip on" data-field="All">All</button>
        <button class="chip" data-field="Climate">Climate</button>
        <button class="chip" data-field="Biology">Biology</button>
        <button class="chip" data-field="Physics">Physics</button>
        <button class="chip" data-field="Data">Data</button>
        <button class="chip" data-field="Education">Education</button>
      </div>
      <div class="field"><label class="skip" for="grantSort">Sort grants</label>
        <select id="grantSort">
          <option value="deadline">SORT: DEADLINE ↑</option>
          <option value="amount-asc">SORT: AMOUNT ↑</option>
          <option value="amount-desc">SORT: AMOUNT ↓</option>
        </select>
      </div>
    </div>

    <div class="tracker-meta io">
      <span id="grantSummary">LOADING…</span>
      <span>REFRESHED TUESDAYS · DEADLINES 23:59 FUNDER LOCAL TIME</span>
    </div>

    <ul class="grant-list io" id="grantList" aria-live="polite"></ul>

    <div class="tracker-cta io">
      <a class="btn solid" href="#updates">Apply to a grant call</a>
      <a class="arrow-link" href="#publications">Read the two-page common application <span>→</span></a>
      <span class="fine">Watchlist syncs with a free Institute account.</span>
    </div>
  </div>
</section>

<!-- ============ 04 EDUCATION ============ -->
<section class="section tinted" id="education">
  <div class="container">
    <div class="sec-head">
      <div>
        <p class="label"><b>SEC. 04</b> STEM Education</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>Curiosity, with</span></span><span class="line"><span>a <em>curriculum.</em></span></span></h2>
      </div>
      <p>Our education wing exists because discovery without transmission is just a rumor. Every program below is co-designed with classroom teachers, free for K–12 schools, and built around the same materials the research labs actually use — scaled, safety-checked, and graded with rubrics you can print.</p>
    </div>

    <div class="edu-feature io">
      <div class="imgwrap">
        <img src="https://picsum.photos/seed/open-lab-saturdays/900/640" alt="Middle school students setting up a spectroscope in a working research lab" loading="lazy">
      </div>
      <div class="body">
        <span class="tag hot">Flagship Program</span>
        <h3>Open Lab Saturdays</h3>
        <p>A monthly morning where students work inside live research labs alongside a staff scientist — setting up the instrument, logging the data, and arguing about the results. 312 schools, 40 new classrooms joining this May, and a waitlist we're genuinely sorry about. Every session ends with the student holding the actual data file.</p>
        <div class="cta-row">
          <a class="btn solid" href="#resources">Download the syllabus</a>
          <a class="arrow-link" href="#lectures">See the May schedule <span>→</span></a>
        </div>
      </div>
    </div>

    <div class="edu-duo">
      <article class="edu-card io">
        <span class="tag">Grades 7–10</span>
        <h3>Data Literacy Curriculum</h3>
        <p>Six 50-minute lessons that take students from a raw CSV to a defensible claim — including the uncomfortable part: what to do when the data argues back. Every lesson runs in a free browser environment; teachers keep the slides, rubrics, and a 40-minute onboarding webinar.</p>
        <a class="btn" href="#resources">Get the lesson pack</a>
      </article>
      <article class="edu-card io" style="--d:.12s">
        <span class="tag">Grades 11–12 · 40 seats</span>
        <h3>Research Mentorship Cohort</h3>
        <p>Forty rising seniors are paired one-to-one with a Parallax researcher for a full academic year, from literature review to a poster they present at the Winter Field Colloquium. Cohort '26 applications open 1 June; last year's cohort produced three preprints.</p>
        <a class="btn" href="#updates">Apply for the cohort</a>
      </article>
    </div>

    <div class="edu-stats io">
      <div><b>312</b><span>Partner schools</span></div>
      <div><b>41</b><span>States served</span></div>
      <div><b>6</b><span>Curriculum languages</span></div>
      <div><b>98%</b><span>Teacher retention</span></div>
    </div>

    <div id="resources">
      <div class="shelf-head io">
        <h3 style="font:600 26px var(--serif)">Resource Shelf</h3>
        <p>Free to download · Free to adapt · CC-BY 4.0</p>
      </div>
      <div class="shelf">
        <div class="shelf-item io">
          <span class="sq">SL</span>
          <b>Data Literacy — Teacher Slide Decks</b>
          <small>PPTX · 6.1 MB · 6 LESSONS</small>
          <a class="dl" href="#resources">Download ↓</a>
        </div>
        <div class="shelf-item io" style="--d:.08s">
          <span class="sq">SP</span>
          <b>Lab Safety Protocol Handbook</b>
          <small>PDF · 4.8 MB · 132 PAGES</small>
          <a class="dl" href="#resources">Download ↓</a>
        </div>
        <div class="shelf-item io" style="--d:.16s">
          <span class="sq">OK</span>
          <b>Open Data Starter Kit</b>
          <small>ZIP · 22.4 MB · NOTEBOOKS + SAMPLES</small>
          <a class="dl" href="#resources">Download ↓</a>
        </div>
        <div class="shelf-item io" style="--d:.24s">
          <span class="sq">PS</span>
          <b>Poster Set — "How We Know"</b>
          <small>PDF · 8.3 MB · 12 POSTERS</small>
          <a class="dl" href="#resources">Download ↓</a>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============ 05 PUBLICATIONS ============ -->
<section class="section" id="publications">
  <div class="container">
    <div class="sec-head">
      <div>
        <p class="label"><b>SEC. 05</b> Publications</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>From</span></span><span class="line"><span>the <em>press.</em></span></span></h2>
      </div>
      <p>The Parallax Review is a double-blind, open-access quarterly. Every paper ships with its data, its code, and — starting with this spring — a pre-registered analysis plan, so readers can tell what was decided before the data was seen.</p>
    </div>
    <div class="pub-grid">
      <article class="pub-card io">
        <div class="pub-cover"><img src="https://placehold.co/400x520/141C26/F4EEE1?text=47.12&font=playfair+display" alt="Cover of The Parallax Review, volume 47 issue 12" loading="lazy"></div>
        <div class="pub-body">
          <p class="pub-meta">The Parallax Review · Open Access</p>
          <h3>Vol. 47, Issue 12 — Spring</h3>
          <p>Headlines: adult neurogenesis at 48, canopy carbon drawdown, and the 94-minute grid micro-cycle. Plus a letter section we are proud to say got genuinely heated.</p>
          <a class="arrow-link" href="#publications">Read online <span>→</span></a>
        </div>
      </article>
      <article class="pub-card io" style="--d:.1s">
        <div class="pub-cover"><img src="https://placehold.co/400x520/E0491F/F4EEE1?text=47.11&font=playfair+display" alt="Cover of The Parallax Review, volume 47 issue 11" loading="lazy"></div>
        <div class="pub-body">
          <p class="pub-meta">The Parallax Review · Open Access</p>
          <h3>Vol. 47, Issue 11 — Winter</h3>
          <p>A special section on dark-sky preservation and citizen photometry, with 24 papers spanning astronomy, optics, and the economics of light pollution.</p>
          <a class="arrow-link" href="#publications">Read online <span>→</span></a>
        </div>
      </article>
      <article class="pub-card io" style="--d:.2s">
        <div class="pub-cover"><img src="https://placehold.co/400x520/EBE3D0/141C26?text=R-114&font=playfair+display" alt="Cover of Replication Report 114" loading="lazy"></div>
        <div class="pub-body">
          <p class="pub-meta">Replication Series · Open Access</p>
          <h3>Replication Report R-114</h3>
          <p>Independent replication of the 2023 sleep-regularity finding under our Open Replication Challenge. Result: positive, 96% effect agreement, and a useful lesson about naps.</p>
          <a class="arrow-link" href="#publications">Read the report <span>→</span></a>
        </div>
      </article>
    </div>
  </div>
</section>

<!-- ============ 06 VOICES ============ -->
<section class="section tinted" id="voices">
  <div class="container">
    <div class="sec-head">
      <div>
        <p class="label"><b>SEC. 06</b> Field Notes</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>Voices from</span></span><span class="line"><span>the <em>community.</em></span></span></h2>
      </div>
      <p>Researchers, engineers, and students on what open practice actually does to the work — unedited, and occasionally self-deprecating, as good science should be.</p>
    </div>
    <div class="voice-grid">
      <figure class="voice io">
        <span class="qmark" aria-hidden="true">"</span>
        <blockquote>I've sent three of my atmospheric-modeling students through the cohort, and each came back reading primary literature unprompted. No other program I've found gets undergraduates to that level in a semester.</blockquote>
        <figcaption class="v-person">
          <img src="https://i.pravatar.cc/96?u=lena-hartwig" alt="Portrait of Dr. Lena Hartwig" loading="lazy">
          <span><b>Dr. Lena Hartwig</b><span>Prof. of Atmospheric Science</span></span>
        </figcaption>
      </figure>
      <figure class="voice io" style="--d:.12s">
        <span class="qmark" aria-hidden="true">"</span>
        <blockquote>The Open Archive paid for my lab's first year. We pulled the Cedar Ridge soil series, checked our model against it, and found our calibration was off by a full season. That's what open data is for.</blockquote>
        <figcaption class="v-person">
          <img src="https://i.pravatar.cc/96?u=marcus-bell" alt="Portrait of Marcus Bell" loading="lazy">
          <span><b>Marcus Bell</b><span>Senior Research Engineer, Cascade Dynamics</span></span>
        </figcaption>
      </figure>
      <figure class="voice io" style="--d:.24s">
        <span class="qmark" aria-hidden="true">"</span>
        <blockquote>I applied to the Mentorship Cohort because the word "replication" showed up in the application form. My mentor has me version-controlling my lab notebook. I didn't know that was a thing.</blockquote>
        <figcaption class="v-person">
          <img src="https://i.pravatar.cc/96?u=priya-raman" alt="Portrait of Priya Raman" loading="lazy">
          <span><b>Priya Raman</b><span>Cohort '25 · 11th Grade</span></span>
        </figcaption>
      </figure>
    </div>
  </div>
</section>

<!-- ============ 07 LECTURES ============ -->
<section class="section" id="lectures">
  <div class="container">
    <div class="sec-head">
      <div>
        <p class="label"><b>SEC. 07</b> Lectures &amp; Seminars</p>
        <h2 class="lines" style="margin-top:20px"><span class="line"><span>On</span></span><span class="line"><span>the <em>calendar.</em></span></span></h2>
      </div>
      <p>Public lectures run monthly in the Main Auditorium and online. Every talk ends with twenty minutes of unscripted Q&amp;A — where, if you've attended, you already know the best questions come from the front row of high schoolers.</p>
    </div>

    <div class="io">
      <article class="lecture">
        <div class="l-date"><b>14</b><span>MAY</span><small>2025</small></div>
        <div class="l-main">
          <h3>Triangulating Uncertainty: Error Bars &amp; Honest Numbers</h3>
          <p class="l-meta">Dr. Elias Vantre, Director of Data <i>◆</i> 6:00 PM <i>◆</i> Main Auditorium · Live</p>
        </div>
        <a class="btn" href="#updates">Attend lecture</a>
      </article>
      <article class="lecture">
        <div class="l-date"><b>28</b><span>MAY</span><small>2025</small></div>
        <div class="l-main">
          <h3>Reading the Sky: A Citizen Astronomy Primer</h3>
          <p class="l-meta">Dr. Noor Qabaha, Cedar Ridge Station <i>◆</i> 7:00 PM <i>◆</i> Online · Livestream</p>
        </div>
        <a class="btn" href="#updates">Attend lecture</a>
      </article>
      <article class="lecture">
        <div class="l-date"><b>10</b><span>JUN</span><small>2025</small></div>
        <div class="l-main">
          <h3>From Cohort to Classroom: Teaching with Long Data</h3>
          <p class="l-meta">Priya Raman &amp; Prof. D. Okonkwo <i>◆</i> 4:30 PM <i>◆</i> Education Wing · Live</p>
        </div>
        <a class="btn" href="#updates">Attend lecture</a>
      </article>
      <article class="lecture">
        <div class="l-date"><b>21</b><span>JUN</span><small>2025</small></div>
        <div class="l-main">
          <h3>Protocol Review: The SepsisScreen Breakthrough, Open Q&amp;A</h3>
          <p class="l-meta">Dr. Amara Osei, Lab 3 <i>◆</i> 5:00 PM <i>◆</i> Lab 3 Demo Bay · Live + Stream</p>
        </div>
        <a class="btn" href="#updates">Attend lecture</a>
      </article>
      <p class="lect-note">All lectures are <b>free</b> with a free Institute account · Recordings published within 72 hours · Captioned.</p>
    </div>
  </div>
</section>

<!-- ============ FAQ ============ -->
<section class="section" id="faq" style="padding-top:0">
  <div class="container faq-grid">
    <div class="left">
      <p class="label"><b>APP. A</b> Questions</p>
      <h2 class="lines"><span class="line"><span>Asked,</span></span><span class="line"><span><em>answered.</em></span></span></h2>
      <p>The five questions our front desk hears most, answered the way we'd answer them in person — including the funding one, which we're asked about more than any other.</p>
      <a class="arrow-link" href="#updates">Ask us directly <span>→</span></a>
    </div>
    <div>
      <div class="acc-item">
        <button class="acc-q" aria-expanded="false" aria-controls="a1" id="q1">Who can access the open datasets?<span class="acc-ic" aria-hidden="true"></span></button>
        <div class="acc-a" id="a1" role="region" aria-labelledby="q1"><p>Everyone, with no account and no permission slip. Every dataset in the Open Archive is CC-BY 4.0 and ships with a README that documents units, gaps, and known biases. Researchers who need the raw sensor feeds can request them with a two-line email, and most requests are answered within a day.</p></div>
      </div>
      <div class="acc-item">
        <button class="acc-q" aria-expanded="false" aria-controls="a2" id="q2">How is The Parallax Review peer reviewed?<span class="acc-ic" aria-hidden="true"></span></button>
        <div class="acc-a" id="a2" role="region" aria-labelledby="q2"><p>Double-blind review: at least two internal reviewers plus one external, with review scores published alongside the paper so readers can see the deliberation, not just the verdict. From this spring's issue, papers also ship with pre-registered analysis plans, which is how readers tell what was decided before the data was seen.</p></div>
      </div>
      <div class="acc-item">
        <button class="acc-q" aria-expanded="false" aria-controls="a3" id="q3">Can my school join Open Lab Saturdays?<span class="acc-ic" aria-hidden="true"></span></button>
        <div class="acc-a" id="a3" role="region" aria-labelledby="q3"><p>Any K–12 school in our service region, at no cost. Capacity is the constraint — labs hold twelve students per morning for safety and attention reasons. Apply through the education portal; the current waitlist is about six weeks, and returning schools are never displaced.</p></div>
      </div>
      <div class="acc-item">
        <button class="acc-q" aria-expanded="false" aria-controls="a4" id="q4">Do I need an account to use the grant tracker?<span class="acc-ic" aria-hidden="true"></span></button>
        <div class="acc-a" id="a4" role="region" aria-labelledby="q4"><p>No. The tracker runs entirely in your browser, and the watchlist lasts for your session. If you create a free Institute account, the shortlist syncs across devices and you get a heads-up when a funder moves a deadline — which, historically, happens more often than funders would like you to know.</p></div>
      </div>
      <div class="acc-item">
        <button class="acc-q" aria-expanded="false" aria-controls="a5" id="q5">How is the Institute funded?<span class="acc-ic" aria-hidden="true"></span></button>
        <div class="acc-a" id="a5" role="region" aria-labelledby="q5"><p>Endowments, grant pass-throughs, and a modest subscription to our industry briefings — never from the research we publish, and never from the data we release. Every dollar is line-itemed in the annual report, which is open access like everything else we do.</p></div>
      </div>
    </div>
  </div>
</section>

<!-- ============ UPDATES ============ -->
<section class="band" id="updates">
  <div class="container band-in">
    <div>
      <p class="label">Dispatch 047</p>
      <h2 class="lines"><span class="line"><span>Get the</span></span><span class="line"><span>field <em style="color:var(--dark)">memo.</em></span></span></h2>
      <p>One email every Friday: new papers, open calls, and one thing worth arguing about over coffee. Read by 40,000 researchers, teachers, and stubbornly curious people in 61 countries.</p>
    </div>
    <div>
      <form data-news novalidate>
        <label class="skip" for="nl-email">Email address</label>
        <input type="email" id="nl-email" name="email" placeholder="you@institution.org" autocomplete="email">
        <button class="btn" type="submit">Get updates</button>
      </form>
      <p class="form-msg" role="status" aria-live="polite"></p>
      <p class="fine">No spam · Unsubscribe in one click · We never sell addresses</p>
    </div>
  </div>
</section>

</main>

<!-- ============ FOOTER ============ -->
<footer>
  <div class="container">
    <div class="f-top">
      <div class="f-brand">
        <div class="brand">
          <img src="https://placehold.co/84x84/141C26/F4EEE1?text=P&font=playfair+display" alt="The Parallax Institute logomark" width="52" height="52">
          <span>
            <span class="brand-name">The Parallax Institute</span>
            <span class="brand-tag" style="display:block">Rigorous science, seen from every angle</span>
          </span>
        </div>
        <p>An independent, public-interest research organization. We measure, we publish, we replicate, and we teach — in the open, since 1998.</p>
        <p class="f-contact">
          1120 Meridian Way, Boulder, CO 80302<br>
          <a href="tel:+13035550147">+1 (303) 555-0147</a><br>
          <a href="mailto:hello@parallax.org">hello@parallax.org</a> · <a href="mailto:press@parallax.org">press@parallax.org</a>
        </p>
      </div>
      <div class="f-col">
        <h4>Explore</h4>
        <a href="#findings">Research</a>
        <a href="#spotlight">Discovery</a>
        <a href="#education">Education</a>
        <a href="#resources">Resources</a>
        <a href="#publications">Publications</a>
        <a href="#grants">Grants</a>
        <a href="#lectures">Lectures</a>
      </div>
      <div class="f-col">
        <h4>Legal &amp; Standards</h4>
        <a href="#">Privacy Policy</a>
        <a href="#">Terms of Use</a>
        <a href="#">Cookie Policy</a>
        <a href="#">Accessibility Statement</a>
        <a href="#">Data &amp; Ethics Charter</a>
        <a href="#">Press Kit</a>
      </div>
      <div class="f-col">
        <h4>Connect</h4>
        <a href="#">X / Twitter ↗</a>
        <a href="#">GitHub ↗</a>
        <a href="#">YouTube ↗</a>
        <a href="#">RSS Feed ↗</a>
        <a href="#updates">Get updates →</a>
      </div>
    </div>
    <div class="f-bottom">
      <span>© <span id="year">2025</span> The Parallax Institute · An independent 501(c)(3) · All rights reserved</span>
      <span>Set in Fraunces &amp; IBM Plex Mono · All data open <span class="ok">●</span> Station nominal</span>
    </div>
  </div>
</footer>

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

/* ---- Footer year ---- */
var yEl=$('#year'); if(yEl) yEl.textContent=new Date().getFullYear();

/* ---- Live station clock ---- */
var clock=$('#clock');
function tickClock(){ if(clock) clock.textContent=new Date().toLocaleTimeString('en-GB',{hour12:false}); }
tickClock(); setInterval(tickClock,1000);

/* ---- Masthead scroll state ---- */
var header=$('#masthead');
function onScroll(){ if(header) header.classList.toggle('scrolled', window.scrollY>8); }
window.addEventListener('scroll',onScroll,{passive:true}); onScroll();

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

/* ---- Scramble-decode headline ---- */
var GLYPHS='█▓▒░<>/+*=#%0123456789';
function scramble(el,delay){
  var text=el.getAttribute('data-text')||el.textContent;
  if(reduced){ el.textContent=text; return; }
  el.textContent='';
  setTimeout(function(){
    var f=0, dur=Math.max(28,text.length*2);
    var iv=setInterval(function(){
      f++;
      var solved=Math.floor((f/dur)*text.length*1.08), out='';
      for(var i=0;i<text.length;i++){
        out += i<solved ? text[i] : (text[i]===' ' ? ' ' : GLYPHS[Math.floor(Math.random()*GLYPHS.length)]);
      }
      el.textContent=out;
      if(f>=dur){ clearInterval(iv); el.textContent=text; }
    },32);
  },delay);
}
$$('.scramble').forEach(function(el,i){ scramble(el, 300+i*480); });

/* ---- Scroll reveals (fade + line-mask) ---- */
var io=new IntersectionObserver(function(es){
  es.forEach(function(e){ if(e.isIntersecting){ e.target.classList.add('in'); io.unobserve(e.target); } });
},{threshold:.15,rootMargin:'0px 0px -6% 0px'});
$$('.io,.lines').forEach(function(el){ reduced ? el.classList.add('in') : io.observe(el); });

/* ---- Count-up stats ---- */
var cio=new IntersectionObserver(function(es){
  es.forEach(function(e){
    if(!e.isIntersecting) return;
    cio.unobserve(e.target);
    var el=e.target, target=parseFloat(el.getAttribute('data-count')), suf=el.getAttribute('data-suffix')||'';
    if(reduced){ el.textContent=target.toLocaleString('en-US')+suf; return; }
    var t0=performance.now(), dur=1500;
    (function step(now){
      var p=Math.min((now-t0)/dur,1), v=Math.round(target*(1-Math.pow(1-p,3)));
      el.textContent=v.toLocaleString('en-US')+suf;
      if(p<1) requestAnimationFrame(step);
    })(t0);
  });
},{threshold:.5});
$$('.count').forEach(function(el){ cio.observe(el); });

/* ---- Ticker: duplicate track for seamless loop ---- */
var track=$('#tickerTrack');
if(track) track.innerHTML += track.innerHTML;

/* ---- Grant tracker (interactive) ---- */
var GRANTS=[
  {id:'g1',title:'Climatic Futures Seed Grant',funder:'Meridian Climate Consortium',amount:'$50K–$150K',min:50000,deadline:'2025-08-15',field:'Climate',desc:'Early-stage atmospheric and soil-modeling teams; travel and instrument time eligible.'},
  {id:'g2',title:'Open Replication Challenge',funder:'The Parallax Institute · Internal',amount:'$25,000 flat',min:25000,deadline:'2025-09-01',field:'Data',desc:'Fund one replication of any study in our archive. Preregister your plan before you run it.',badge:'NEW'},
  {id:'g3',title:'Classroom Instrumentation Fund',funder:'Cascade Education Trust',amount:'$10K–$60K',min:10000,deadline:'2025-10-31',field:'Education',desc:'Lab equipment and curriculum grants for K–12 STEM classrooms in the region.'},
  {id:'g4',title:'Biomedical Breakthrough Award',funder:'Harborview Health Foundation',amount:'$400K–$1.2M',min:400000,deadline:'2025-11-20',field:'Biology',desc:'Point-of-care diagnostics and biosensing prototypes moving from bench to pilot.'},
  {id:'g5',title:'Gravitational Sensing Research Grant',funder:'National Endowment for Discovery',amount:'$200K–$500K',min:200000,deadline:'2025-12-15',field:'Physics',desc:'Low-cost sensing systems for geophysical survey and planetary monitoring.'},
  {id:'g6',title:'Longitudinal Cohort Data Grant',funder:'Meridian Climate Consortium',amount:'$75K–$220K',min:75000,deadline:'2026-01-30',field:'Data',desc:'Keep decade-plus cohorts alive and open: maintenance, re-survey, and archive fees.'},
  {id:'g7',title:'Night-Sky Preservation Grant',funder:'Aarke & Voss Foundation',amount:'$15K–$45K',min:15000,deadline:'2026-02-28',field:'Physics',desc:'Dark-sky monitoring stations and citizen photometry networks.'}
];
var state={q:'',field:'All',sort:'deadline',watched:{}};
var list=$('#grantList'), summary=$('#grantSummary');
var MONTHS=['JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'];
function daysLeft(d){ return Math.ceil((new Date(d+'T23:59:00')-Date.now())/864e5); }
function isWatched(id){ return !!state.watched[id]; }
function watchCount(){ return Object.keys(state.watched).length; }

function render(){
  var q=state.q.toLowerCase();
  var items=GRANTS.filter(function(g){
    var okF = state.field==='All' || g.field===state.field;
    var okQ = !q || (g.title+' '+g.funder+' '+g.desc+' '+g.field).toLowerCase().indexOf(q)>-1;
    return okF && okQ;
  });
  items.sort(function(a,b){
    if(state.sort==='amount-asc')  return a.min-b.min;
    if(state.sort==='amount-desc') return b.min-a.min;
    return new Date(a.deadline)-new Date(b.deadline);
  });
  if(!items.length){
    list.innerHTML='<li class="grant-empty">No calls match those filters. Clear the search or pick another field — the list refreshes every Tuesday.</li>';
  } else {
    list.innerHTML=items.map(function(g){
      var d=new Date(g.deadline+'T23:59:00'), dl=daysLeft(g.deadline);
      var due = dl<0 ? 'CLOSED' : dl+'D LEFT';
      var w=isWatched(g.id);
      return '<li class="grant'+(w?' watched':'')+'">'
        +'<div class="g-date"><b>'+String(d.getDate()).padStart(2,'0')+'</b><span>'+MONTHS[d.getMonth()]+'</span><small>\u2019'+String(d.getFullYear()).slice(2)+'</small></div>'
        +'<div class="g-main"><h3>'+g.title+(g.badge?'<em class="badge">'+g.badge+'</em>':'')+'</h3>'
        +'<p class="g-sub"><span class="g-field">'+g.field+'</span>'+g.funder+' · '+g.amount+'</p>'
        +'<p class="g-desc">'+g.desc+'</p></div>'
        +'<div class="g-due'+(dl>=0&&dl<=30?' urgent':'')+'">'+due+'</div>'
        +'<button class="g-watch'+(w?' on':'')+'" data-id="'+g.id+'" aria-pressed="'+w+'" aria-label="'+(w?'Remove':'Add')+' '+g.title+' to watchlist">'+(w?'◉ WATCHING':'○ WATCH')+'</button>'
        +'</li>';
    }).join('');
  }
  if(summary){
    var wc=watchCount();
    summary.innerHTML='SHOWING '+items.length+' OF '+GRANTS.length+' CALLS'+(wc?' · <b>'+wc+' IN WATCHLIST</b>':'');
  }
}
var gSearch=$('#grantSearch');
if(gSearch) gSearch.addEventListener('input',function(e){ state.q=e.target.value; render(); });
$$('.chip[data-field]').forEach(function(c){
  c.addEventListener('click',function(){
    $$('.chip[data-field]').forEach(function(x){ x.classList.remove('on'); });
    c.classList.add('on'); state.field=c.getAttribute('data-field'); render();
  });
});
var gSort=$('#grantSort');
if(gSort) gSort.addEventListener('change',function(e){ state.sort=e.target.value; render(); });
if(list) list.addEventListener('click',function(e){
  var b=e.target.closest('.g-watch'); if(!b) return;
  var id=b.getAttribute('data-id');
  state.watched[id] ? delete state.watched[id] : (state.watched[id]=true);
  render();
});
render();

/* ---- FAQ accordion (single open) ---- */
$$('.acc-item').forEach(function(it){
  var btn=$('.acc-q',it), panel=$('.acc-a',it);
  if(!btn||!panel) return;
  btn.addEventListener('click',function(){
    var open=it.classList.contains('open');
    $$('.acc-item.open').forEach(function(o){
      if(o!==it){ o.classList.remove('open'); var p=$('.acc-a',o); if(p) p.style.maxHeight='0px'; var b=$('.acc-q',o); if(b) b.setAttribute('aria-expanded','false'); }
    });
    it.classList.toggle('open',!open);
    panel.style.maxHeight = !open ? panel.scrollHeight+'px' : '0px';
    btn.setAttribute('aria-expanded',String(!open));
  });
});

/* ---- Newsletter forms ---- */
$$('form[data-news]').forEach(function(f){
  f.addEventListener('submit',function(e){
    e.preventDefault();
    var input=$('input[type=email]',f), msg=$('.form-msg',f.parentElement);
    var v=input.value.trim();
    if(!v || v.indexOf('@')<0){
      if(msg){ msg.textContent='Please enter a valid email address.'; msg.classList.add('err'); }
      input.focus(); return;
    }
    if(msg){ msg.classList.remove('err'); msg.textContent='✓ You\u2019re on the list. The first memo lands this Friday, 07:00.'; }
    f.reset();
  });
});
})();
</script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:49:40.386Z",
  "url": "https://benchmark.aimac.invalid/c447cd8b0dde6c20af9f60a524f29a9cac6e9e6cc9c7f5de14bfe6749ff55769.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": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"The Parallax Institute \u2014 home\">",
          "target": [
            "a[href$=\"#top\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"The Parallax Institute \u2014 home\">",
          "target": [
            "a[href$=\"#top\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "deprecatedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "minor",
              "message": "ARIA role is not deprecated"
            }
          ],
          "impact": null,
          "html": "<div class=\"readout\" role=\"status\">\n  <span>STATION <b>40.015\u00b0 N \u2014 105.270\u00b0 W</b> \u00b7 BOULDER, CO</span>\n  <span>LOCAL TIME <b id=\"clock\">09:49:40</b> <span class=\"dot\">\u25cf</span> ALL SYSTEMS NOMINAL</span>\n  <span>OPEN DATA \u00b7 DOUBLE-BLIND PEER REVIEW \u00b7 EST. 1998</span>\n</div>",
          "target": [
            ".readout"
          ]
        }
      ]
    },
    {
      "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": "<i aria-hidden=\"true\"></i>",
          "target": [
            "i[aria-hidden=\"true\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": "serious",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"The Parallax Institute \u2014 home\">",
          "target": [
            "a[href$=\"#top\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "All required ARIA attributes are present"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"readout\" role=\"status\">\n  <span>STATION <b>40.015\u00b0 N \u2014 105.270\u00b0 W</b> \u00b7 BOULDER, CO</span>\n  <span>LOCAL TIME <b id=\"clock\">09:49:40</b> <span class=\"dot\">\u25cf</span> ALL SYSTEMS NOMINAL</span>\n  <span>OPEN DATA \u00b7 DOUBLE-BLIND PEER REVIEW \u00b7 EST. 1998</span>\n</div>",
          "target": [
            ".readout"
          ]
        }
      ]
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "invalidrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is valid"
            },
            {
              "id": "abstractrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Abstract roles are not used"
            },
            {
              "id": "unsupportedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is supported"
            }
          ],
          "impact": null,
          "html": "<div class=\"readout\" role=\"status\">\n  <span>STATION <b>40.015\u00b0 N \u2014 105.270\u00b0 W</b> \u00b7 BOULDER, CO</span>\n  <span>LOCAL TIME <b id=\"clock\">09:49:40</b> <span class=\"dot\">\u25cf</span> ALL SYSTEMS NOMINAL</span>\n  <span>OPEN DATA \u00b7 DOUBLE-BLIND PEER REVIEW \u00b7 EST. 1998</span>\n</div>",
          "target": [
            ".readout"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"The Parallax Institute \u2014 home\">",
          "target": [
            "a[href$=\"#top\"]"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"brand\" href=\"#top\" aria-label=\"The Parallax Institute \u2014 home\">",
          "target": [
            "a[href$=\"#top\"]"
          ]
        }
      ]
    },
    {
      "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=\"search\" id=\"grantSearch\" placeholder=\"SEARCH CALLS, FUNDERS, TOPICS\u2026\" autocomplete=\"off\">",
          "target": [
            "#grantSearch"
          ]
        }
      ]
    },
    {
      "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": "<span class=\"brand-tag\" style=\"display:block\">Rigorous science, seen from every angle</span>",
          "target": [
            "a[href$=\"#top\"] > span > .brand-tag"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button class=\"chip on\" data-field=\"All\">All</button>",
          "target": [
            ".on"
          ]
        }
      ]
    },
    {
      "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=\"hero-h1\">\n        <span class=\"scramble\" data-text=\"Science, seen from\">Science, seen from</span>\n        <span class=\"accent-line\"><span class=\"scramble\" data-text=\"every angle.\">every angle.</span></span>\n      </h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\"><span class=\"line\"><span>What the labs</span></span><span class=\"line\"><span>are telling us</span></span><span class=\"line\"><span><em>this quarter.</em></span></span></h2>",
                  "target": [
                    "aside > h2"
                  ]
                },
                {
                  "html": "<h3>Journal Notes <span>\u2193</span></h3>",
                  "target": [
                    ".widget.io:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Grant Deadlines <span>\u2193</span></h3>",
                  "target": [
                    ".widget.io:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3>A 30-year longitudinal cohort reframes adult neurogenesis</h3>",
                  "target": [
                    ".find-card:nth-child(1) > .find-body > h3"
                  ]
                },
                {
                  "html": "<h3>A controlled canopy study quantifies carbon drawdown in degraded soil</h3>",
                  "target": [
                    ".find-card:nth-child(2) > .find-body > h3"
                  ]
                },
                {
                  "html": "<h3>Open telemetry reveals micro-fluctuations in regional grid load</h3>",
                  "target": [
                    ".find-card:nth-child(3) > .find-body > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>Breakthrough</span></span><span class=\"line\"><span>of the <em>quarter.</em></span></span></h2>",
                  "target": [
                    ".spot-grid > div > h2"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>Funding,</span></span><span class=\"line\"><span>tracked <em>live.</em></span></span></h2>",
                  "target": [
                    "#grants > .container > .sec-head > div > h2"
                  ]
                },
                {
                  "html": "<h3>Climatic Futures Seed Grant</h3>",
                  "target": [
                    ".grant:nth-child(1) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Open Replication Challenge<em class=\"badge\">NEW</em></h3>",
                  "target": [
                    ".grant:nth-child(2) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Classroom Instrumentation Fund</h3>",
                  "target": [
                    ".grant:nth-child(3) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Biomedical Breakthrough Award</h3>",
                  "target": [
                    ".grant:nth-child(4) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Gravitational Sensing Research Grant</h3>",
                  "target": [
                    ".grant:nth-child(5) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Longitudinal Cohort Data Grant</h3>",
                  "target": [
                    ".grant:nth-child(6) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h3>Night-Sky Preservation Grant</h3>",
                  "target": [
                    ".grant:nth-child(7) > .g-main > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>Curiosity, with</span></span><span class=\"line\"><span>a <em>curriculum.</em></span></span></h2>",
                  "target": [
                    "#education > .container > .sec-head > div > h2"
                  ]
                },
                {
                  "html": "<h3>Open Lab Saturdays</h3>",
                  "target": [
                    ".body > h3"
                  ]
                },
                {
                  "html": "<h3>Data Literacy Curriculum</h3>",
                  "target": [
                    ".edu-card:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3>Research Mentorship Cohort</h3>",
                  "target": [
                    ".edu-card:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3 style=\"font:600 26px var(--serif)\">Resource Shelf</h3>",
                  "target": [
                    ".shelf-head > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>From</span></span><span class=\"line\"><span>the <em>press.</em></span></span></h2>",
                  "target": [
                    "#publications > .container > .sec-head > div > h2"
                  ]
                },
                {
                  "html": "<h3>Vol. 47, Issue 12 \u2014 Spring</h3>",
                  "target": [
                    ".pub-card:nth-child(1) > .pub-body > h3"
                  ]
                },
                {
                  "html": "<h3>Vol. 47, Issue 11 \u2014 Winter</h3>",
                  "target": [
                    ".pub-card:nth-child(2) > .pub-body > h3"
                  ]
                },
                {
                  "html": "<h3>Replication Report R-114</h3>",
                  "target": [
                    ".pub-card:nth-child(3) > .pub-body > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>Voices from</span></span><span class=\"line\"><span>the <em>community.</em></span></span></h2>",
                  "target": [
                    "#voices > .container > .sec-head > div > h2"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\" style=\"margin-top:20px\"><span class=\"line\"><span>On</span></span><span class=\"line\"><span>the <em>calendar.</em></span></span></h2>",
                  "target": [
                    "#lectures > .container > .sec-head > div > h2"
                  ]
                },
                {
                  "html": "<h3>Triangulating Uncertainty: Error Bars &amp; Honest Numbers</h3>",
                  "target": [
                    ".lecture:nth-child(1) > .l-main > h3"
                  ]
                },
                {
                  "html": "<h3>Reading the Sky: A Citizen Astronomy Primer</h3>",
                  "target": [
                    ".lecture:nth-child(2) > .l-main > h3"
                  ]
                },
                {
                  "html": "<h3>From Cohort to Classroom: Teaching with Long Data</h3>",
                  "target": [
                    ".lecture:nth-child(3) > .l-main > h3"
                  ]
                },
                {
                  "html": "<h3>Protocol Review: The SepsisScreen Breakthrough, Open Q&amp;A</h3>",
                  "target": [
                    ".lecture:nth-child(4) > .l-main > h3"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\"><span class=\"line\"><span>Asked,</span></span><span class=\"line\"><span><em>answered.</em></span></span></h2>",
                  "target": [
                    ".left > h2"
                  ]
                },
                {
                  "html": "<h2 class=\"lines\"><span class=\"line\"><span>Get the</span></span><span class=\"line\"><span>field <em style=\"color:var(--dark)\">memo.</em></span></span></h2>",
                  "target": [
                    ".band-in > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h4>Explore</h4>",
                  "target": [
                    ".f-col:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Legal &amp; Standards</h4>",
                  "target": [
                    ".f-col:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Connect</h4>",
                  "target": [
                    ".f-col:nth-child(4) > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main id=\"main\">",
                  "target": [
                    "#main"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#bcb9b2",
                "bgColor": "#121a24",
                "contrastRatio": 8.94,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 8.94"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<span>STATION <b>40.015\u00b0 N \u2014 105.270\u00b0 W</b> \u00b7 BOULDER, CO</span>",
          "target": [
            ".readout > span:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "duplicate-id-aria",
              "data": "grantSearch",
              "relatedNodes": [],
              "impact": "critical",
              "message": "Document has no elements referenced with ARIA or labels that share the same id attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<input type=\"search\" id=\"grantSearch\" placeholder=\"SEARCH CALLS, FUNDERS, TOPICS\u2026\" autocomplete=\"off\">",
          "target": [
            "#grantSearch"
          ]
        }
      ]
    },
    {
      "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 class=\"skip\" for=\"grantSearch\">Search grants</label>",
                  "target": [
                    "label[for=\"grantSearch\"]"
                  ]
                }
              ],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input type=\"search\" id=\"grantSearch\" placeholder=\"SEARCH CALLS, FUNDERS, TOPICS\u2026\" autocomplete=\"off\">",
          "target": [
            "#grantSearch"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://placehold.co/84x84/141C26/F4EEE1?text=P&amp;font=playfair+display\" alt=\"The Parallax Institute logomark\" width=\"52\" height=\"52\">",
          "target": [
            "a[href$=\"#top\"] > img[width=\"52\"][height=\"52\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label class=\"skip\" for=\"grantSearch\">Search grants</label>",
                  "target": [
                    "label[for=\"grantSearch\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has an explicit <label>"
            },
            {
              "id": "non-empty-placeholder",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a placeholder attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"search\" id=\"grantSearch\" placeholder=\"SEARCH CALLS, FUNDERS, TOPICS\u2026\" autocomplete=\"off\">",
          "target": [
            "#grantSearch"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "link-in-text-block-style",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<div class=\"left\">",
                  "target": [
                    ".left"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a class=\"arrow-link\" href=\"#updates\">Ask us directly <span>\u2192</span></a>",
          "target": [
            ".arrow-link[href$=\"#updates\"]"
          ]
        }
      ]
    },
    {
      "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": [
            "a[href$=\"#main\"]"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul>",
          "target": [
            ".widget.io:nth-child(1) > ul"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li>47\u00b712 Spring issue \u2014 28 papers, now open access<small>Published 02 Mar</small></li>",
          "target": [
            ".widget.io:nth-child(1) > ul > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/84x84/141C26/F4EEE1?text=P&amp;font=playfair+display\" alt=\"The Parallax Institute logomark\" width=\"52\" height=\"52\">",
          "target": [
            "a[href$=\"#top\"] > img[width=\"52\"][height=\"52\"]"
          ]
        }
      ]
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "explicit-label",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<label class=\"skip\" for=\"grantSort\">Sort grants</label>",
                  "target": [
                    "label[for=\"grantSort\"]"
                  ]
                }
              ],
              "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=\"grantSort\">\n          <option value=\"deadline\">SORT: DEADLINE \u2191</option>\n          <option value=\"amount-asc\">SORT: AMOUNT \u2191</option>\n          <option value=\"amount-desc\">SORT: AMOUNT \u2193</option>\n        </select>",
          "target": [
            "#grantSort"
          ]
        }
      ]
    },
    {
      "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": 140,
                "height": 35
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (140px by 35px, 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": [
            "a[href$=\"#main\"]"
          ]
        }
      ]
    }
  ],
  "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=\"ticker\" aria-label=\"Latest from the labs\">",
          "target": [
            ".ticker"
          ],
          "failureSummary": "Fix all of the following:\n  aria-label attribute is not well supported on a div with no valid role attribute."
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "messageKey": "nonBmp"
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element content contains only non-text characters"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"dot\">\u25cf</span>",
          "target": [
            ".dot"
          ],
          "failureSummary": "Fix any of the following:\n  Element content contains only non-text characters"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "8.6pt (11.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn solid\" href=\"#updates\">Get Updates</a>",
                  "target": [
                    ".nav > .solid.btn[href$=\"#updates\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 8.6pt (11.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn solid\" href=\"#updates\">Get Updates</a>",
          "target": [
            ".nav > .solid.btn[href$=\"#updates\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 8.6pt (11.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn solid\" href=\"#publications\">Read the spring issue</a>",
                  "target": [
                    ".solid.btn[href$=\"#publications\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn solid\" href=\"#publications\">Read the spring issue</a>",
          "target": [
            ".solid.btn[href$=\"#publications\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<figure class=\"figure io in\" style=\"--d:.15s\">",
                  "target": [
                    ".figure"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>FIG. 01</b>",
          "target": [
            ".figure > figcaption > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<figure class=\"figure io in\" style=\"--d:.15s\">",
                  "target": [
                    ".figure"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<em>Data published same night.</em>",
          "target": [
            "figcaption > em"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"ticker-label\">LATEST FROM THE LABS</div>",
                  "target": [
                    ".ticker-label"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"ticker-label\">LATEST FROM THE LABS</div>",
          "target": [
            ".ticker-label"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "11.6pt (15.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 11.6pt (15.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 01</b>",
          "target": [
            "aside > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 11.6pt (15.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section dark-sec\" id=\"spotlight\">",
                  "target": [
                    "#spotlight"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 02</b>",
          "target": [
            ".spot-grid > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn solid\" href=\"#lectures\">Watch the keynote</a>",
                  "target": [
                    ".solid.btn[href$=\"#lectures\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn solid\" href=\"#lectures\">Watch the keynote</a>",
          "target": [
            ".solid.btn[href$=\"#lectures\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 03</b>",
          "target": [
            "#grants > .container > .sec-head > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#ebe3d0",
                "contrastRatio": 3.19,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section tinted\" id=\"education\">",
                  "target": [
                    "#education"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.19 (foreground color: #e0491f, background color: #ebe3d0, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 04</b>",
          "target": [
            "#education > .container > .sec-head > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.19 (foreground color: #e0491f, background color: #ebe3d0, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 05</b>",
          "target": [
            "#publications > .container > .sec-head > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#ebe3d0",
                "contrastRatio": 3.19,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"section tinted\" id=\"voices\">",
                  "target": [
                    "#voices"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.19 (foreground color: #e0491f, background color: #ebe3d0, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 06</b>",
          "target": [
            "#voices > .container > .sec-head > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.19 (foreground color: #e0491f, background color: #ebe3d0, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>SEC. 07</b>",
          "target": [
            "#lectures > .container > .sec-head > div > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>APP. A</b>",
          "target": [
            ".left > .label > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f0cdba",
                "bgColor": "#e0491f",
                "contrastRatio": 2.75,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"band\" id=\"updates\">",
                  "target": [
                    "#updates"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.75 (foreground color: #f0cdba, background color: #e0491f, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p class=\"label\">Dispatch 047</p>",
          "target": [
            ".band-in > div:nth-child(1) > .label"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.75 (foreground color: #f0cdba, background color: #e0491f, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4ccb9",
                "bgColor": "#e0491f",
                "contrastRatio": 2.75,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"band\" id=\"updates\">",
                  "target": [
                    "#updates"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 2.75 (foreground color: #f4ccb9, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p class=\"fine\">No spam \u00b7 Unsubscribe in one click \u00b7 We never sell addresses</p>",
          "target": [
            "div:nth-child(2) > .fine"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 2.75 (foreground color: #f4ccb9, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Explore</h4>",
          "target": [
            ".f-col:nth-child(2) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Legal &amp; Standards</h4>",
          "target": [
            ".f-col:nth-child(3) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<h4>Connect</h4>",
          "target": [
            ".f-col:nth-child(4) > h4"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#787979",
                "bgColor": "#121a24",
                "contrastRatio": 4.01,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>\u00a9 <span id=\"year\">2026</span> The Parallax Institute \u00b7 An independent 501(c)(3) \u00b7 All rights reserved</span>",
          "target": [
            ".f-bottom > span:nth-child(1)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#787979",
                "bgColor": "#121a24",
                "contrastRatio": 4.01,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span id=\"year\">2026</span>",
          "target": [
            "#year"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#787979",
                "bgColor": "#121a24",
                "contrastRatio": 4.01,
                "fontSize": "7.9pt (10.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<footer>",
                  "target": [
                    "footer"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span>Set in Fraunces &amp; IBM Plex Mono \u00b7 All data open <span class=\"ok\">\u25cf</span> Station nominal</span>",
          "target": [
            ".f-bottom > span:nth-child(2)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.01 (foreground color: #787979, background color: #121a24, font size: 7.9pt (10.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"tag hot\">Biology \u00b7 Flagship</span>",
                  "target": [
                    ".find-body > .hot.tag"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"tag hot\">Biology \u00b7 Flagship</span>",
          "target": [
            ".find-body > .hot.tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.in.io"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Published 02 Mar</small>",
          "target": [
            ".widget.in.io > ul > li:nth-child(1) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.in.io"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Updated 24 Apr</small>",
          "target": [
            ".widget.in.io > ul > li:nth-child(2) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.in.io"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>96% effect agreement</small>",
          "target": [
            "li:nth-child(3) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.in.io:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Published 02 Mar</small>",
          "target": [
            ".widget.in.io:nth-child(1) > ul > li:nth-child(1) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.in.io:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Updated 24 Apr</small>",
          "target": [
            ".widget.in.io:nth-child(1) > ul > li:nth-child(2) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\" style=\"--d:.12s\">",
                  "target": [
                    ".widget.in.io:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Closes 15 Aug</small>",
          "target": [
            ".widget.in.io:nth-child(2) > ul > li:nth-child(1) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\" style=\"--d:.12s\">",
                  "target": [
                    ".widget.in.io:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Closes 01 Sep</small>",
          "target": [
            ".widget.in.io:nth-child(2) > ul > li:nth-child(2) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"stamp\">PATENT PENDING \u2014 US 2025/014</span>",
                  "target": [
                    ".stamp"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"stamp\">PATENT PENDING \u2014 US 2025/014</span>",
          "target": [
            ".stamp"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f8e6d8",
                "bgColor": "#e0491f",
                "contrastRatio": 3.36,
                "fontSize": "12.4pt (16.5px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<section class=\"band\" id=\"updates\">",
                  "target": [
                    "#updates"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.36 (foreground color: #f8e6d8, background color: #e0491f, font size: 12.4pt (16.5px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p>One email every Friday: new papers, open calls, and one thing worth arguing about over coffee. Read by 40,000 researchers, teachers, and stubbornly curious people in 61 countries.</p>",
          "target": [
            ".band-in > div:nth-child(1) > p:nth-child(3)"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.36 (foreground color: #f8e6d8, background color: #e0491f, font size: 12.4pt (16.5px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "9.8pt (13px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div><b>$11<small>.00</small></b><span>Unit cost</span></div>",
                  "target": [
                    ".specs > div:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>.00</small>",
          "target": [
            "div:nth-child(1) > b > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "9.8pt (13px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div><b>8 <small>MIN</small></b><span>Time to result</span></div>",
                  "target": [
                    ".specs > div:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>MIN</small>",
          "target": [
            "div:nth-child(2) > b > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#121a24",
                "contrastRatio": 4.28,
                "fontSize": "9.8pt (13px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div><b>04<small>\u00b725</small></b><span>FDA Breakthrough</span></div>",
                  "target": [
                    ".specs > div:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>\u00b725</small>",
          "target": [
            "div:nth-child(4) > b > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.28 (foreground color: #e0491f, background color: #121a24, font size: 9.8pt (13px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#18222e",
                "contrastRatio": 3.93,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"frame\">",
                  "target": [
                    ".frame"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.93 (foreground color: #e0491f, background color: #18222e, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>FIG. 04</b>",
          "target": [
            ".frame > figcaption > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.93 (foreground color: #e0491f, background color: #18222e, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Climate</span>",
          "target": [
            ".grant:nth-child(1) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "6.8pt (9px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<em class=\"badge\">NEW</em>",
                  "target": [
                    ".badge"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 6.8pt (9px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<em class=\"badge\">NEW</em>",
          "target": [
            ".badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 6.8pt (9px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Data</span>",
          "target": [
            ".grant:nth-child(2) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Education</span>",
          "target": [
            ".grant:nth-child(3) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Biology</span>",
          "target": [
            ".grant:nth-child(4) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Physics</span>",
          "target": [
            ".grant:nth-child(5) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Data</span>",
          "target": [
            ".grant:nth-child(6) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"g-field\">Physics</span>",
          "target": [
            ".grant:nth-child(7) > .g-main > .g-sub > .g-field"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn solid\" href=\"#updates\">Apply to a grant call</a>",
                  "target": [
                    ".tracker-cta > .solid.btn[href$=\"#updates\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn solid\" href=\"#updates\">Apply to a grant call</a>",
          "target": [
            ".tracker-cta > .solid.btn[href$=\"#updates\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"tag hot\">Flagship Program</span>",
                  "target": [
                    ".body > .hot.tag"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"tag hot\">Flagship Program</span>",
          "target": [
            ".body > .hot.tag"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f4eee1",
                "bgColor": "#e0491f",
                "contrastRatio": 3.53,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a class=\"btn solid\" href=\"#resources\">Download the syllabus</a>",
                  "target": [
                    ".solid.btn[href$=\"#resources\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"btn solid\" href=\"#resources\">Download the syllabus</a>",
          "target": [
            ".solid.btn[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #f4eee1, background color: #e0491f, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\">\n          <span class=\"sq\">SL</span>\n          <b>Data Literacy \u2014 Teacher Slide Decks</b>\n          <small>PPTX \u00b7 6.1 MB \u00b7 6 LESSONS</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.in.io:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.in.io:nth-child(1) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.08s\">\n          <span class=\"sq\">SP</span>\n          <b>Lab Safety Protocol Handbook</b>\n          <small>PDF \u00b7 4.8 MB \u00b7 132 PAGES</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.in.io:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.in.io:nth-child(2) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.16s\">\n          <span class=\"sq\">OK</span>\n          <b>Open Data Starter Kit</b>\n          <small>ZIP \u00b7 22.4 MB \u00b7 NOTEBOOKS + SAMPLES</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.in.io:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.in.io:nth-child(3) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.24s\">\n          <span class=\"sq\">PS</span>\n          <b>Poster Set \u2014 \"How We Know\"</b>\n          <small>PDF \u00b7 8.3 MB \u00b7 12 POSTERS</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.in.io:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.in.io:nth-child(4) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.io.in:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Published 02 Mar</small>",
          "target": [
            ".widget.io.in:nth-child(1) > ul > li:nth-child(1) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\">",
                  "target": [
                    ".widget.io.in:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Updated 24 Apr</small>",
          "target": [
            ".widget.io.in:nth-child(1) > ul > li:nth-child(2) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\" style=\"--d:.12s\">",
                  "target": [
                    ".widget.io.in:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Closes 15 Aug</small>",
          "target": [
            ".widget.io.in:nth-child(2) > ul > li:nth-child(1) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "7.5pt (10px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"widget io in\" style=\"--d:.12s\">",
                  "target": [
                    ".widget.io.in:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>Closes 01 Sep</small>",
          "target": [
            ".widget.io.in:nth-child(2) > ul > li:nth-child(2) > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 7.5pt (10px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\">\n          <span class=\"sq\">SL</span>\n          <b>Data Literacy \u2014 Teacher Slide Decks</b>\n          <small>PPTX \u00b7 6.1 MB \u00b7 6 LESSONS</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.io.in:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.io.in:nth-child(1) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.08s\">\n          <span class=\"sq\">SP</span>\n          <b>Lab Safety Protocol Handbook</b>\n          <small>PDF \u00b7 4.8 MB \u00b7 132 PAGES</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.io.in:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.io.in:nth-child(2) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.16s\">\n          <span class=\"sq\">OK</span>\n          <b>Open Data Starter Kit</b>\n          <small>ZIP \u00b7 22.4 MB \u00b7 NOTEBOOKS + SAMPLES</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.io.in:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.io.in:nth-child(3) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#fbf7ec",
                "contrastRatio": 3.81,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shelf-item io in\" style=\"--d:.24s\">\n          <span class=\"sq\">PS</span>\n          <b>Poster Set \u2014 \"How We Know\"</b>\n          <small>PDF \u00b7 8.3 MB \u00b7 12 POSTERS</small>\n          <a class=\"dl\" href=\"#resources\">Download \u2193</a>\n        </div>",
                  "target": [
                    ".shelf-item.io.in:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a class=\"dl\" href=\"#resources\">Download \u2193</a>",
          "target": [
            ".shelf-item.io.in:nth-child(4) > .dl[href$=\"#resources\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.81 (foreground color: #e0491f, background color: #fbf7ec, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#e0491f",
                "bgColor": "#f4eee1",
                "contrastRatio": 3.53,
                "fontSize": "8.3pt (11px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>free</b>",
          "target": [
            ".lect-note > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.53 (foreground color: #e0491f, background color: #f4eee1, font size: 8.3pt (11px), font weight: bold). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 11742
      },
      {
        "y": 576,
        "height": 11742
      },
      {
        "y": 1152,
        "height": 11742
      },
      {
        "y": 1728,
        "height": 11742
      },
      {
        "y": 2304,
        "height": 11761
      },
      {
        "y": 2880,
        "height": 11761
      },
      {
        "y": 3456,
        "height": 11761
      },
      {
        "y": 4032,
        "height": 11761
      },
      {
        "y": 4608,
        "height": 11761
      },
      {
        "y": 5184,
        "height": 11761
      },
      {
        "y": 5760,
        "height": 11761
      },
      {
        "y": 6336,
        "height": 11761
      },
      {
        "y": 6912,
        "height": 11761
      },
      {
        "y": 7488,
        "height": 11761
      },
      {
        "y": 8064,
        "height": 11761
      },
      {
        "y": 8640,
        "height": 11761
      },
      {
        "y": 9216,
        "height": 11761
      },
      {
        "y": 9792,
        "height": 11761
      },
      {
        "y": 10368,
        "height": 11761
      },
      {
        "y": 10944,
        "height": 11761
      },
      {
        "y": 11041,
        "height": 11761
      }
    ],
    "scans": 22,
    "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 "Science" 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: "Science"
- Description: Scientific research, discoveries, STEM education, and science news.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Science" 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: "Research", "Resources", "Publications".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Science" category. Consider themes similar to: "STEM Resources", "Research Findings", "Innovation Spotlight".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "breakthrough", "meta-analysis", "controlled study".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Attend Lecture", "Apply Grant", "Get Updates".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Science" sector. Ideas similar but not limited to: "funding opportunity tracker".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "career opportunities", "publication highlights", "grant deadlines".
-   **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.