@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  --landing-indigo: #534ab7;
  --landing-indigo-dark: #3d348b;
  --landing-indigo-soft: #eeedfe;
  --landing-indigo-pale: #f7f6ff;
  --landing-ink: #242044;
  --landing-muted: #69657f;
  --landing-line: #d9d6ee;
}

body:has(.landing-page) {
  background: var(--landing-indigo-pale);
}

body:has(.landing-page) .md-main__inner {
  max-width: none;
  padding: 0;
}

body:has(.landing-page) .md-content__inner {
  margin: 0;
  padding: 0;
}

body:has(.landing-page) .md-content__inner::before {
  display: none;
}

.landing-page {
  color: var(--landing-ink);
  font-family: 'DM Sans', sans-serif;
  margin: 0 auto;
  max-width: 1360px;
  padding: 3.5rem 3.5rem 4rem;
}

.landing-hero {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  min-height: 530px;
}

.landing-eyebrow {
  color: var(--landing-indigo);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  margin: 0 0 1.35rem;
  text-transform: uppercase;
}

.landing-hero h1,
.landing-section-heading h2 {
  color: var(--landing-ink);
  font-family: 'Space Grotesk', sans-serif;
  letter-spacing: -.055em;
  line-height: .98;
  margin: 0;
}

.landing-hero h1 {
  font-size: clamp(2.6rem, 4.8vw, 4.8rem);
  font-weight: 600;
}

.landing-hero h1 em {
  color: var(--landing-indigo);
  font-style: normal;
}

.landing-hero__intro {
  color: var(--landing-muted);
  font-size: 1.08rem;
  line-height: 1.65;
  margin: 1.8rem 0 2rem;
  max-width: 34rem;
}

.landing-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.landing-button {
  border-radius: 999px;
  display: inline-flex;
  font-size: .86rem;
  font-weight: 700;
  padding: .85rem 1.25rem;
  text-decoration: none !important;
}

.landing-button--primary {
  background: var(--landing-indigo);
  color: #fff !important;
}

.landing-button--primary:hover {
  background: var(--landing-indigo-dark);
}

.landing-button--quiet {
  color: var(--landing-indigo) !important;
  gap: .55rem;
}

.landing-button--quiet:hover,
.landing-path__item:hover strong,
.landing-note a:hover {
  color: var(--landing-indigo-dark);
}

.landing-hero__art {
  background: var(--landing-indigo-soft);
  border: 1px solid var(--landing-line);
  min-height: 470px;
  overflow: hidden;
  padding: 2rem;
  position: relative;
}

.landing-hero__art::after {
  border: 1px solid rgba(83, 74, 183, .22);
  content: '';
  inset: 1rem;
  pointer-events: none;
  position: absolute;
}

.landing-hero__art img {
  bottom: -2rem;
  filter: saturate(.78) hue-rotate(4deg);
  height: 92%;
  object-fit: contain;
  position: absolute;
  right: -3rem;
  width: 122%;
}

.landing-hero__stamp {
  color: var(--landing-indigo);
  font-family: 'Space Grotesk', sans-serif;
  font-size: .7rem;
  font-weight: 700;
  left: 2.4rem;
  letter-spacing: .08em;
  line-height: 1.25;
  position: absolute;
  top: 2.4rem;
  z-index: 1;
}

.landing-path {
  border-top: 1px solid var(--landing-line);
  margin-top: 3rem;
  padding-top: 2.4rem;
}

.landing-section-heading h2 {
  font-size: clamp(2rem, 4vw, 3rem);
}

.landing-path__grid {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2rem;
}

.landing-path__item {
  align-items: start;
  border-left: 1px solid var(--landing-line);
  color: var(--landing-ink) !important;
  display: grid;
  gap: 1rem;
  grid-template-columns: auto 1fr auto;
  min-height: 130px;
  padding: 0 1.4rem;
  text-decoration: none !important;
}

.landing-path__item:first-child {
  border-left: 0;
  padding-left: 0;
}

.landing-path__number {
  color: var(--landing-indigo);
  font-family: 'Space Grotesk', sans-serif;
  font-size: .8rem;
  font-weight: 700;
}

.landing-path__item strong,
.landing-path__item small {
  display: block;
}

.landing-path__item strong {
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1rem;
  margin-bottom: .55rem;
}

.landing-path__item small {
  color: var(--landing-muted);
  font-size: .84rem;
  line-height: 1.45;
}

.landing-path__arrow {
  color: var(--landing-indigo);
  font-size: 1.2rem;
}

.landing-note {
  align-items: center;
  border-top: 1px solid var(--landing-line);
  display: flex;
  justify-content: space-between;
  margin-top: 3.5rem;
  padding-top: 1.2rem;
}

.landing-note p,
.landing-note a {
  font-size: .8rem;
  margin: 0;
}

.landing-note p {
  color: var(--landing-muted);
}

.landing-note a {
  color: var(--landing-indigo);
  font-weight: 700;
  text-decoration: none;
}

@media screen and (max-width: 760px) {
  .landing-page { padding: 2.5rem 1.25rem 3rem; }
  .landing-hero { grid-template-columns: 1fr; min-height: 0; }
  .landing-hero__art { min-height: 280px; }
  .landing-path__grid { grid-template-columns: 1fr; }
  .landing-path__item,
  .landing-path__item:first-child { border-left: 0; border-top: 1px solid var(--landing-line); min-height: 0; padding: 1.2rem 0; }
  .landing-note { align-items: start; flex-direction: column; gap: .6rem; }
}