.im-home {
  --im-ink: #102437;
  --im-muted: #42586b;
  --im-blue: #1556ae;
  --im-line: #c8d8df;
  color: var(--im-ink);
}
.im-home .im-wrap {
  width: min(1160px, calc(100% - 48px));
  margin-inline: auto;
}
.im-hero {
  padding: clamp(112px, 13vw, 186px) 0 clamp(56px, 8vw, 108px);
  background: radial-gradient(ellipse at 90% 30%, #c4eee5, transparent 56%), #eaf4fa;
  border-bottom: 1px solid var(--im-line);
}
.im-hero-grid, .im-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: center;
}
.im-home .im-label, .im-number, .im-report figcaption {
  font: 700 .75rem/1.5 ui-monospace, Consolas, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.im-home .im-label { color: #255778; margin-bottom: 16px; }
.im-home h1, .im-home h2, .im-home h3 {
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -.055em;
}
.im-home h1 { font-size: clamp(2.65rem, 5.25vw, 5rem); }
.im-home h1 span { color: var(--im-blue); }
.im-home h2 { font-size: clamp(2rem, 4vw, 3.65rem); }
.im-home h3 { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.im-home h1 + p, .im-home h2 + p, .im-home h3 + p {
  margin-top: 16px;
  color: var(--im-muted);
  line-height: 1.65;
}
.im-intro { font-size: 1.15rem; max-width: 42ch; }
.im-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin-top: 26px; }
.im-button {
  display: inline-flex;
  align-items: center;
  gap: .65em;
  border-radius: 6px;
  padding: .85rem 1.15rem;
  background: var(--im-blue);
  color: #fff;
  font-weight: 700;
}
.im-button:hover { background: #103e84; }
.im-link { color: var(--im-blue); font-weight: 700; text-underline-offset: .25em; }
.im-link:hover, .im-report a:hover { text-decoration: underline; }
.im-home a:focus-visible { outline: 3px solid #12629b; outline-offset: 4px; }
.im-note { margin-top: 12px; color: var(--im-muted); font-size: .875rem; }
.im-report {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--im-line);
  border-radius: 12px;
  box-shadow: 0 14px 36px #12374e16;
}
.im-report figcaption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 6px 12px;
  padding: 12px 16px;
  color: #d5ede9;
  background: #102f45;
}
.im-report img { display: block; width: 100%; height: auto; }
.im-section { padding-block: clamp(56px, 8vw, 104px); }
.im-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 34px;
  gap: 24px;
}
.im-steps article { border-top: 2px solid var(--im-line); padding-top: 18px; }
.im-number { display: inline-block; color: #236856; margin-bottom: 16px; }
.im-steps .im-link, .im-split .im-link { display: inline-block; margin-top: 16px; }
.im-band { background: #eef7f6; }
.im-proof { background: #102437; color: #fff; text-align: center; }
.im-proof .im-label { color: #a9dbcf; }
.im-platforms {
  margin: 24px auto 44px;
  width: min(100%, 700px);
  height: auto;
  padding: 18px;
  border-radius: 8px;
  background: #fff;
}
.im-quote { max-width: 680px; margin: auto; }
.im-quote blockquote { font-size: clamp(1.35rem, 3vw, 2.3rem); line-height: 1.3; letter-spacing: -.035em; }
.im-quote figcaption { margin-top: 24px; display: flex; justify-content: center; align-items: center; gap: 12px; text-align: left; }
.im-quote img { border-radius: 50%; }
.im-close { text-align: center; }
.im-close .im-actions { justify-content: center; }

@media (max-width: 760px) {
  .im-home .im-wrap { width: calc(100% - 36px); }
  .im-hero-grid, .im-split, .im-steps { grid-template-columns: minmax(0, 1fr); }
  .im-band .im-report { order: 1; }
}
