.homepage {
  --ink: #122c2e;
  --muted: #465f5b;
  --blue: #12665d;
  --line: #d2e1dc;
  --ice: #edf5f0;
  font-family: "DM Sans", system-ui, sans-serif;
}
.homepage .top { display: none; }
.homepage header { min-height: 86px; }
.homepage .button { border-radius: 999px; }
.homepage .button:hover { background: #084d45; color: white; }
.homepage .hero.home {
  color: var(--ink);
  background: #eaf4ef;
}
.homepage .hero.home .wrap {
  padding-block: clamp(44px, 6vw, 86px);
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 5vw, 72px);
}
.homepage .hero.home h1 {
  font-size: clamp(2.8rem, 5.1vw, 5rem);
  font-weight: 690;
  letter-spacing: -.065em;
}
.homepage .hero.home .eyebrow,
.homepage .hero.home h1 strong { color: var(--blue); }
.homepage .hero.home p { color: var(--muted); }
.homepage .hero.home img {
  width: 100%;
  background: radial-gradient(circle at center, #fbfefd, #d4e9e2);
  border-radius: 42% 42% 12px 12px;
  padding: 20% 7%;
  filter: none;
}
.homepage .journey {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--line);
}
.journey a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 19px 16px;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.journey a + a { border-left: 1px solid var(--line); }
.journey a:hover { background: var(--ice); }
.homepage .band { padding-block: clamp(50px, 7vw, 95px); }
.homepage h2 { font-weight: 680; }
.homepage .eyebrow { font-family: inherit; }
.homepage #renewable video { background: #eaf4ef; }
.homepage #loop { background: #102e2d; color: white; }
.homepage #loop .eyebrow { color: #a2e6cc; }
.homepage #loop .lede { color: #d0e7dc; }
.state-list { margin-top: 32px; border-top: 1px solid #52726a; }
.state-list details { border-bottom: 1px solid #52726a; }
.state-list summary {
  cursor: pointer;
  padding: 20px 0;
  font-size: clamp(1rem, 2.3vw, 1.45rem);
  font-weight: 660;
}
.state-list summary::marker { color: #a2e6cc; }
.state-content {
  display: grid;
  grid-template-columns: minmax(150px, 320px) minmax(0, 50ch);
  align-items: center;
  gap: 30px;
  padding-bottom: 24px;
}
.state-content img {
  width: 100%;
  height: 180px;
  padding: 15px;
  object-fit: contain;
  background: #f6faf8;
  border-radius: 12px;
}
.state-content p { color: #e4f0eb; }
.homepage .agenda-heading { margin-top: 30px; }
.homepage .row-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  border: 0;
}
.homepage .row {
  grid-template-columns: 1fr auto;
  align-items: start;
  padding: 20px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 16px;
}
.homepage .row:hover { border-color: var(--blue); }
.homepage .row > .num { display: none; }
.homepage .row img {
  grid-column: 1 / -1;
  width: 95px;
  border-color: var(--line);
}
.homepage .row h3 { font-size: 1.4rem; }
.homepage .row .arrow { width: 32px; height: 32px; }
.homepage #road .grid { grid-template-columns: repeat(2, 1fr); }
.homepage #road .tile { border-radius: 15px; background: var(--ice); }
.homepage #about { background: #f9f6ee; }
.homepage .inverse { background: #102e2d; }
@media (max-width: 820px) {
  .homepage .hero.home .wrap { grid-template-columns: 1fr; }
  .homepage .hero.home img { padding: 12%; max-width: 500px; }
  .homepage .row-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 570px) {
  .homepage .journey, .homepage .row-list, .homepage #road .grid,
  .state-content { grid-template-columns: 1fr; }
  .journey a { padding-inline: 0; }
  .journey a + a { border-left: 0; border-top: 1px solid var(--line); }
  .state-content { gap: 13px; }
}

/* Neutral surfaces and the blue used in the SIS.BIO wordmark. */
.homepage {
  --ink: #122940;
  --muted: #445466;
  --blue: #006aab;
  --line: #dbe2e9;
  --ice: #f4f6f8;
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.homepage h1, .homepage h2 {
  font-family: "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.08;
}
.homepage .hero.home h1 { font-weight: 500; letter-spacing: -.04em; }
.homepage h3 { letter-spacing: -.02em; }
.homepage .hero.home, .homepage #about, .homepage #loop {
  background: var(--ice);
  color: var(--ink);
}
.homepage .hero.home img { background: none; padding: 0; border-radius: 0; }
.homepage .button:hover { background: #004e83; }
.homepage .brand img { width: 120px; }
.homepage #loop .eyebrow { color: var(--blue); }
.homepage #loop .lede { color: var(--muted); }
.homepage .inverse { background: #10283e; }
.homepage #renewable video { background: #17283a; }
.state-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  border: 0;
}
.state {
  padding: 19px;
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.state img { width: 100%; height: 130px; object-fit: contain; }
.state h3 { margin-block: 16px 8px; font-size: 1.17rem; line-height: 1.25; }
.state p { color: var(--muted); font-size: .94rem; }
.homepage .row { align-items: center; border-radius: 8px; }
.homepage .row h3 { line-height: 1.2; }
.agenda-art, .team-logos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 24px;
}
.agenda-art img { width: 100%; border: 1px solid var(--line); }
.team-logos img { max-height: 74px; margin: auto; object-fit: contain; }
.perspectives-art { width: min(34%, 355px); float: right; margin: 0 0 22px 35px; }
#perspectives .wrap { display: flow-root; }
.briefing-card { text-decoration: none; }
.briefing-card img { width: 100%; height: 155px; object-fit: cover; }
.briefing-card h3 { font-size: 1.25rem; line-height: 1.24; }
@media (max-width: 900px) {
  .state-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 570px) {
  .state-list, .agenda-art { grid-template-columns: 1fr; }
  .perspectives-art { float: none; width: min(100%, 330px); margin: 0 0 25px; }
}
