/* Homepage projection from accepted R10. All selectors are confined to the home consumer. */
.r2-home {
  --r2-focus: #185cdc;
  --r2-paper: #fff;
  --r2-ink: #191c24;
  --r2-primary: #225fe7;
  --r2-muted: #5a6373;
  --r2-shadow: #1d5cd51a;
  --r2-line: #e2e7ef;
  --r2-surface: #f7f9fc;
  --r2-accent: #2864e8;
  --r2-dark: #1a2a4d;
  --r2-surface2: #edf1fc;
  --r2-glow: #dbe4ff;
  --r3-ease: cubic-bezier(0.2, 0.65, 0.3, 1);
  --r6-foot: #f5f7fb;
}

:where(.r2-home) * {
  box-sizing: border-box;
}

:where(.r2-home) button,
:where(.r2-home) a {
  touch-action: manipulation;
}

:where(.r2-home) a {
  color: rgb(22, 76, 84);
  text-underline-offset: 4px;
}

:where(.r2-home) a:hover {
  color: rgb(11, 53, 62);
}

:where(.r2-home) button {
  font: inherit;
  cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  :where(.r2-home) * {
    scroll-behavior: auto !important;
    animation: auto ease 0s 1 normal none running none !important;
    transition: none !important;
  }
}

body:has(.r2-home) :where(.r2-home) a:focus-visible,
body:has(.r2-home) :where(.r2-home) button:focus-visible {
  outline: 3px solid var(--r2-focus);
  outline-offset: 4px;
}

body:has(.r2-home) .r2-home {
  background: var(--r2-paper);
  color: var(--r2-ink);
}

.r2-home * {
  box-sizing: border-box;
}

.r2-home h1,
.r2-home h2,
.r2-home h3,
.r2-home p,
.r2-home ul,
.r2-home figure {
  margin: 0px;
}

.r2-home a {
  color: inherit;
  text-decoration: none;
}

.r2-home img {
  display: block;
  max-width: 100%;
}

:where(.r2-home) .r2-wrap {
  width: 91%;
  max-width: 1312px;
  margin: 0px auto;
}

:where(.r2-home) .r2-section {
  position: relative;
  scroll-margin-top: 95px;
}

.r2-home .r2-eyebrow {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0.045em;
  color: var(--r2-primary);
}

.r2-home .r2-h2 {
  font-size: clamp(30px, 3.05vw, 44px);
  font-weight: 650;
  letter-spacing: -0.045em;
  line-height: 1.35;
  text-wrap: pretty;
}

:where(.r2-home) .r2-heading {
  margin-bottom: 34px;
}

:where(.r2-home) .r2-heading .r2-eyebrow {
  margin-bottom: 12px;
}

:where(.r2-home) .r2-heading-split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
}

:where(.r2-home) .r2-heading-split .r2-h2 {
  max-width: 24em;
}

:where(.r2-home) .r2-subhead {
  font-size: 16px;
  line-height: 1.7;
  color: var(--r2-muted);
  margin-top: 15px !important;
}

.r2-home .r2-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  padding: 15px 22px;
  min-height: 50px;
  background: var(--r2-primary);
  color: white;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
}

:where(.r2-home) .r2-button svg,
:where(.r2-home) .r2-text-link svg,
:where(.r2-home) .r2-domain-cta svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.r2-home .r2-button:hover {
  box-shadow: 0 8px 22px var(--r2-shadow);
  transform: translateY(-2px);
}

.r2-home .r2-button-quiet {
  background: var(--r2-paper);
  border: 1px solid var(--r2-line);
  color: var(--r2-primary);
}

.r2-home .r2-text-link {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  min-height: 44px;
  font-size: 15px;
  font-weight: 600;
  color: var(--r2-primary);
}

:where(.r2-home) .r2-text-link:hover span {
  text-decoration: underline;
  text-underline-offset: 5px;
}

:where(.r2-home) .r2-hero {
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(
    180deg,
    var(--r2-paper) 0%,
    var(--r2-surface) 100%
  );
}

:where(.r2-home) .r2-hero-grid {
  display: grid;
  grid-template-columns: 49% 51%;
  align-items: center;
  min-height: 590px;
  padding: 65px 0px 42px;
  gap: 0px;
}

:where(.r2-home) .r2-hero-copy {
  position: relative;
  z-index: 1;
}

:where(.r2-home) .r2-hero h1 {
  font-size: clamp(40px, 4.15vw, 60px);
  font-weight: 650;
  line-height: 1.28;
  letter-spacing: -0.055em;
  margin-block: 22px 23px;
  margin-inline: 0px -18px;
  text-wrap: pretty;
}

:where(.r2-home) .r2-hero h1 > span {
  display: block;
}

:where(.r2-home) .r2-accent {
  color: var(--r2-accent);
}

:where(.r2-home) .r2-intro {
  max-width: 31em;
  font-size: 17px;
  line-height: 1.85;
  color: var(--r2-muted);
}

:where(.r2-home) .r2-actions {
  margin: 26px 0px 20px;
}

:where(.r2-home) .r2-capline {
  font-size: 12px;
  line-height: 1.8;
  color: var(--r2-muted);
}

body:lang(en) :where(.r2-home) .r2-hero h1 {
  font-size: clamp(40px, 3.85vw, 56px);
  line-height: 1.14;
  letter-spacing: -0.045em;
}

body:lang(en) :where(.r2-home) .r2-hero h1 .r2-accent {
  margin-top: 8px;
}

:where(.r2-home) .r2-domains {
  padding: 82px 0px 90px;
}

:where(.r2-home) .r2-atlas {
  display: grid;
  grid-template-columns: repeat(12, minmax(0px, 1fr));
  gap: 22px;
}

:where(.r2-home) .r2-domain {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: var(--r2-surface);
  min-height: 365px;
  isolation: isolate;
  transition:
    box-shadow 0.2s,
    transform 0.2s;
  min-width: 0px;
}

:where(.r2-home) .r2-domain:hover {
  box-shadow: 0 12px 28px var(--r2-shadow);
  transform: translateY(-3px);
}

:where(.r2-home) .r2-domain-0 {
  grid-column: 1 / 8;
}

:where(.r2-home) .r2-domain-1 {
  grid-column: 8 / 13;
}

:where(.r2-home) .r2-domain-2 {
  grid-column: 1 / 6;
}

:where(.r2-home) .r2-domain-3 {
  grid-column: 6 / 13;
  background: var(--r2-dark);
  color: white !important;
}

:where(.r2-home) .r2-domain-copy {
  position: relative;
  z-index: 2;
  padding: 28px;
  max-width: 100%;
}

:where(.r2-home) .r2-domain-label {
  display: flex;
  gap: 9px;
  align-items: baseline;
  margin-bottom: 16px;
  font-size: 12px;
  color: var(--r2-muted);
}

:where(.r2-home) .r2-domain-label h3 {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0px;
  color: var(--r2-ink);
}

:where(.r2-home) .r2-domain-value {
  font-size: 25px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: -0.04em;
  text-wrap: pretty;
  margin-bottom: 14px !important;
}

:where(.r2-home) .r2-domain-desc {
  font-size: 14px;
  line-height: 1.85;
  color: var(--r2-muted);
}

:where(.r2-home) .r2-domain-products {
  font-size: 11px;
  line-height: 1.75;
  color: var(--r2-muted);
  margin-top: 18px !important;
}

:where(.r2-home) .r2-domain-cta {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 13px;
  font-weight: 600;
  margin-top: 22px;
  min-height: 30px;
  color: var(--r2-primary);
}

:where(.r2-home) .r2-domain-visual {
  position: absolute;
  z-index: 0;
  inset: 0px;
  overflow: hidden;
}

:where(.r2-home) .r2-domain-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s;
}

:where(.r2-home) .r2-domain:hover .r2-domain-visual img {
  transform: scale(1.025);
}

:where(.r2-home) .r2-domain-0 .r2-domain-copy {
  width: 54%;
  padding-inline-end: 18px;
  background: none;
}

:where(.r2-home) .r2-domain-0 .r2-domain-visual {
  left: 40%;
}

:where(.r2-home) .r2-domain-0 .r2-domain-visual::after {
  content: "";
  position: absolute;
  inset: 0px;
  background: linear-gradient(90deg, var(--r2-surface), transparent 37%);
}

:where(.r2-home) .r2-domain-0 .r2-domain-visual img {
  object-position: 46% 50%;
}

:where(.r2-home) .r2-domain-2 .r2-domain-copy {
  width: 66%;
  padding-inline-end: 4px;
}

:where(.r2-home) .r2-domain-2 .r2-domain-desc,
:where(.r2-home) .r2-domain-2 .r2-domain-products {
  max-width: 78%;
}

:where(.r2-home) .r2-domain-2 .r2-domain-visual {
  inset: 70px -18% 0px 48%;
  display: flex;
  align-items: center;
}

:where(.r2-home) .r2-domain-2 .r2-domain-visual img {
  object-fit: contain;
  transform: rotate(-12deg);
  height: auto;
}

:where(.r2-home) .r2-domain-2:hover .r2-domain-visual img {
  transform: rotate(-8deg) scale(1.025);
}

:where(.r2-home) .r2-domain-1 {
  min-height: 480px;
}

:where(.r2-home) .r2-domain-1 .r2-domain-visual {
  inset: 54% 0px 0px;
  opacity: 1;
}

:where(.r2-home) .r2-domain-1 .r2-domain-visual::after {
  display: none;
}

:where(.r2-home) .r2-domain-1 .r2-domain-copy {
  width: 100%;
  background: none;
}

:where(.r2-home) .r2-domain-1 .r2-domain-visual img {
  object-position: 50% 12%;
}

:where(.r2-home) .r2-domain-3 .r2-domain-copy {
  width: 55%;
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual {
  left: 35%;
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual::after {
  content: "";
  position: absolute;
  inset: 0px;
  background: linear-gradient(90deg, var(--r2-dark), transparent 80%);
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual img {
  object-position: 52% center;
  opacity: 0.75;
}

:where(.r2-home) .r2-domain-3 .r2-domain-label,
:where(.r2-home) .r2-domain-3 .r2-domain-label h3,
:where(.r2-home) .r2-domain-3 .r2-domain-desc,
:where(.r2-home) .r2-domain-3 .r2-domain-products {
  color: rgb(228, 235, 242);
}

:where(.r2-home) .r2-domain-3 .r2-domain-cta {
  color: white;
}

:where(.r2-home) .r2-lumi {
  padding: 70px 0px 60px;
  background: var(--r2-surface);
}

:where(.r2-home) .r2-lumi-story {
  display: grid;
  grid-template-columns: 43% 57%;
  align-items: center;
  gap: 0px;
}

:where(.r2-home) .r2-lumi-copy {
  padding-block: 0px;
  padding-inline: 0px 42px;
}

:where(.r2-home) .r2-lumi .r2-eyebrow {
  margin-bottom: 20px;
}

:where(.r2-home) .r2-prelude {
  font-size: 15px;
  line-height: 1.7;
  color: var(--r2-primary);
  margin-bottom: 9px !important;
}

:where(.r2-home) .r2-lumi .r2-h2 {
  font-size: 36px;
  line-height: 1.4;
  letter-spacing: -0.04em;
  margin-bottom: 25px;
}

:where(.r2-home) .r2-body {
  font-size: 15px;
  line-height: 1.9;
  color: var(--r2-muted);
  margin-bottom: 17px !important;
}

:where(.r2-home) .r2-lumi-photo {
  border-radius: 10px;
  overflow: hidden;
  min-width: 0px;
  align-self: stretch;
}

:where(.r2-home) .r2-lumi-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 500px;
  object-position: center center;
}

:where(.r2-home) .r2-moments {
  padding-top: 32px;
  margin-top: 34px;
  border-top: 1px solid var(--r2-line);
}

:where(.r2-home) .r2-moments > .r2-eyebrow {
  margin-bottom: 20px;
}

:where(.r2-home) .r2-moments ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 30px;
  list-style: none;
  padding: 0px;
}

:where(.r2-home) .r2-moments li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  min-width: 0px;
}

:where(.r2-home) .r2-moments svg {
  width: 27px;
  height: 27px;
  color: var(--r2-primary);
  flex: 0 0 27px;
}

:where(.r2-home) .r2-moment-text {
  font-size: 14px;
  line-height: 1.9;
  color: var(--r2-ink);
}

:where(.r2-home) .r2-cooperate {
  padding: 90px 0px;
  background: linear-gradient(180deg, var(--r2-paper), var(--r2-surface));
}

:where(.r2-home) .r2-coop-grid {
  display: grid;
  grid-template-columns: 46% 54%;
  gap: 0px;
  margin-top: 42px;
}

:where(.r2-home) .r2-foundation {
  position: relative;
  padding-block: 26px 24px;
  padding-inline: 30px 42px;
  background: var(--r2-surface2);
  border-radius: 10px;
  overflow: hidden;
}

:where(.r2-home) .r2-practice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

:where(.r2-home) .r2-practice > div {
  position: relative;
  z-index: 1;
  flex: 1 1 0%;
}

:where(.r2-home) .r2-practice strong {
  display: block;
  font-size: 17px;
  line-height: 1.6;
  margin-top: 8px;
}

:where(.r2-home) .r2-practice p {
  font-size: 12px;
  color: var(--r2-muted);
  line-height: 1.7;
  margin-top: 5px;
}

:where(.r2-home) .r2-practice .r2-mini-products {
  width: 38%;
  height: 90px;
  object-fit: contain;
}

:where(.r2-home) .r2-flow-arrow {
  color: var(--r2-accent);
  text-align: center;
  font-size: 22px;
  line-height: 1.2;
  margin: 8px 0px;
}

:where(.r2-home) .r2-core-desc {
  text-align: center;
  font-size: 14px;
  line-height: 1.85;
  max-width: 28em;
  color: var(--r2-muted);
  margin: 6px auto 22px !important;
}

:where(.r2-home) .r2-foundation > .r2-text-link {
  margin-top: 13px;
  font-size: 13px;
}

:where(.r2-home) .r2-delivery {
  text-align: center;
  font-size: 12px;
  line-height: 1.8;
  color: var(--r2-primary);
}

:where(.r2-home) .r2-paths {
  padding-inline-start: 46px;
  display: flex;
  flex-direction: column;
  min-width: 0px;
}

:where(.r2-home) .r2-path-labels {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  font-size: 12px;
  color: var(--r2-muted);
  padding: 10px 0px 20px;
  border-bottom: 1px solid var(--r2-line);
}

:where(.r2-home) .r2-path {
  display: grid;
  grid-template-columns: minmax(0px, 1fr) 28px minmax(0px, 1fr);
  align-items: center;
  gap: 18px;
  flex: 1 1 0%;
  padding: 28px 0px;
  border-bottom: 1px solid var(--r2-line);
}

:where(.r2-home) .r2-path-start {
  display: flex;
  align-items: flex-start;
  gap: 11px;
}

:where(.r2-home) .r2-path-number {
  font-size: 11px;
  line-height: 2;
  color: var(--r2-muted);
  font-variant-numeric: tabular-nums;
}

:where(.r2-home) .r2-start,
:where(.r2-home) .r2-outcome {
  font-size: 13px;
  line-height: 1.85;
  color: var(--r2-muted);
}

:where(.r2-home) .r2-start strong,
:where(.r2-home) .r2-outcome strong {
  display: block;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 600;
  color: var(--r2-ink);
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

:where(.r2-home) .r2-outcome strong {
  color: var(--r2-primary);
}

:where(.r2-home) .r2-path-arrow svg {
  width: 24px;
  height: 24px;
  color: var(--r2-accent);
}

:where(.r2-home) .r2-engineering {
  padding-top: 30px;
  margin-top: 32px;
  border-top: 1px solid var(--r2-line);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  align-items: baseline;
}

:where(.r2-home) .r2-engineering ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 12px 25px;
  padding: 0px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--r2-ink);
}

:where(.r2-home) .r2-scope {
  width: 100%;
  text-align: end;
  font-size: 11px;
  line-height: 1.6;
  color: var(--r2-muted);
}

:where(.r2-home) .r2-close {
  padding: 60px 0px 36px;
  background: var(--r2-paper);
}

:where(.r2-home) .r2-close .r2-wrap {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 25px;
}

:where(.r2-home) .r2-close h2 {
  font-size: 28px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -0.035em;
}
@media (min-width: 1600px) {
  :where(.r2-home) .r2-hero-grid {
    min-height: 640px;
  }
}
@media (min-width: 1600px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 64px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-hero-grid {
    padding: 50px 0px 35px;
    min-height: 520px;
    grid-template-columns: 51% 49%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 44px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-intro {
    font-size: 16px;
  }
}
@media (max-width: 1100px) {
  body:lang(en) :where(.r2-home) .r2-hero h1 {
    font-size: 42px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 23px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-copy {
    padding: 23px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain {
    min-height: 390px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-0,
  :where(.r2-home) .r2-domain-2 {
    grid-column: 1 / 7;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-1,
  :where(.r2-home) .r2-domain-3 {
    grid-column: 7 / 13;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-0 .r2-domain-copy,
  :where(.r2-home) .r2-domain-3 .r2-domain-copy {
    width: 69%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-copy,
  :where(.r2-home) .r2-domain-1 .r2-domain-copy {
    width: 72%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    left: 55%;
    right: -22%;
    top: 110px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-lumi-copy {
    padding-inline-end: 30px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-lumi .r2-h2 {
    font-size: 30px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-lumi-story {
    grid-template-columns: 47% 53%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-lumi-photo img {
    min-height: 580px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-coop-grid {
    grid-template-columns: 43% 57%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-foundation {
    padding: 22px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-paths {
    padding-inline-start: 28px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-path {
    gap: 12px;
    grid-template-columns: minmax(0px, 1fr) 20px minmax(0px, 1fr);
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 16px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    display: none;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-heading-split {
    align-items: flex-start;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-heading-split > .r2-button {
    margin-top: 30px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 39px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero-grid {
    grid-template-columns: 54% 46%;
    min-height: 500px;
  }
}
@media (max-width: 900px) {
  body:lang(en) :where(.r2-home) .r2-hero h1 {
    font-size: 38px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero .r2-eyebrow {
    font-size: 12px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-capline {
    font-size: 11px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domains {
    padding: 60px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-copy {
    padding: 22px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-desc {
    font-size: 13px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 22px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-0 .r2-domain-copy,
  :where(.r2-home) .r2-domain-1 .r2-domain-copy,
  :where(.r2-home) .r2-domain-2 .r2-domain-copy,
  :where(.r2-home) .r2-domain-3 .r2-domain-copy {
    width: 82%;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-0 .r2-domain-visual,
  :where(.r2-home) .r2-domain-1 .r2-domain-visual,
  :where(.r2-home) .r2-domain-3 .r2-domain-visual {
    left: 47%;
    opacity: 0.5;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    left: 58%;
    right: -26%;
    top: 140px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-lumi {
    padding: 55px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-lumi-story {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-lumi-copy {
    padding-inline-end: 25px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-lumi .r2-h2 {
    font-size: 28px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-body {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-lumi-photo img {
    min-height: 620px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-moments ul {
    gap: 20px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-moment-text {
    font-size: 13px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-cooperate {
    padding: 60px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-heading-split {
    display: block;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-heading-split > .r2-button {
    margin-top: 22px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-coop-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
    padding: 25px 30px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-practice {
    grid-column: 1;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    display: block;
    width: 38%;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation > .r2-flow-arrow {
    display: none;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-core-desc {
    grid-area: 1 / 2;
    text-align: start;
    margin: 0px 0px 18px !important;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation > .r2-text-link {
    grid-column: 2;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-delivery {
    grid-column: 1 / -1;
    padding-top: 18px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-paths {
    padding: 30px 0px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-path {
    padding: 24px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-path-labels {
    gap: 50px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-engineering {
    gap: 18px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-scope {
    text-align: start;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-wrap {
    width: auto;
    margin: 0px 22px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 38px 0px 17px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 38px;
    letter-spacing: -0.05em;
    line-height: 1.3;
    margin: 18px 0px 20px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 > span:first-child {
    max-width: 9.4em;
  }
}
@media (max-width: 600px) {
  body:lang(en) :where(.r2-home) .r2-hero h1 {
    font-size: 38px;
    line-height: 1.15;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 15px;
    line-height: 1.8;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-actions {
    margin: 23px 0px 17px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-button {
    font-size: 14px !important;
    padding: 13px 19px !important;
    gap: 22px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domains {
    padding: 48px 0px;
  }
}
@media (max-width: 600px) {
  .r2-home .r2-h2 {
    font-size: 29px;
    line-height: 1.4;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-heading {
    margin-bottom: 25px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-atlas {
    display: flex;
    flex-direction: column;
    gap: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain {
    min-height: 360px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-copy {
    padding: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-0 .r2-domain-copy {
    width: 78%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-copy {
    width: 80%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-1 .r2-domain-copy {
    width: 80%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-3 .r2-domain-copy {
    width: 80%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-0 .r2-domain-visual,
  :where(.r2-home) .r2-domain-1 .r2-domain-visual,
  :where(.r2-home) .r2-domain-3 .r2-domain-visual {
    left: 40%;
    opacity: 0.75;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    left: 52%;
    right: -19%;
    top: 110px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 24px;
    line-height: 1.45;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-desc {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-products {
    font-size: 11px;
    max-width: 19em;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-label h3 {
    font-size: 13px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-cta {
    margin-top: 20px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi {
    padding: 45px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-story {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 25px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-copy {
    padding: 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi .r2-h2 {
    font-size: 29px;
    line-height: 1.45;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-body {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-photo img {
    min-height: 0px;
    aspect-ratio: 1.15 / 1;
    object-position: center center;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-moments {
    margin-top: 28px;
    padding-top: 23px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-moments ul {
    grid-template-columns: 1fr;
    gap: 19px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-moment-text {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-cooperate {
    padding: 48px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-coop-grid {
    margin-top: 28px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation {
    display: block;
    padding: 22px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    display: block;
    width: 36%;
    height: 95px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice strong {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice .r2-eyebrow {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-core-desc {
    text-align: center;
    margin: 3px 0px 22px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation > .r2-flow-arrow {
    display: block;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-delivery {
    padding: 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-paths {
    padding-top: 25px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path {
    gap: 10px;
    padding: 24px 0px;
    grid-template-columns: minmax(0px, 1fr) 18px minmax(0px, 1fr);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-start {
    gap: 6px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-number {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 16px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start,
  :where(.r2-home) .r2-outcome {
    font-size: 12px;
    line-height: 1.85;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-arrow svg {
    width: 18px;
    height: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-labels {
    font-size: 11px;
    gap: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-engineering {
    padding-top: 24px;
    margin-top: 26px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-engineering ul {
    gap: 10px 20px;
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-close {
    padding: 35px 0px 20px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-close .r2-wrap {
    display: block;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-close h2 {
    font-size: 23px;
    line-height: 1.5;
    margin-top: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r2-home * {
    animation: auto ease 0s 1 normal none running none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain {
    display: flex;
    flex-direction: column;
    min-height: 0px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-copy {
    width: 100%;
    background: none;
    padding: 25px;
    flex: 1 1 0%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-desc,
  :where(.r2-home) .r2-domain-2 .r2-domain-products {
    max-width: none;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    position: relative;
    inset: auto;
    height: 220px;
    width: 100%;
    order: 2;
    opacity: 1;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-visual::after {
    display: none;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-visual img {
    object-position: center center;
    opacity: 1;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    padding: 6px 25px 20px;
    background: radial-gradient(ellipse, var(--r2-glow), transparent 70%);
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    transform: rotate(-10deg);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-copy {
    padding: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    height: 210px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-products {
    max-width: none;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    height: 185px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 25px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    height: 78px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation .r2-flow-arrow {
    margin: 5px 0px;
  }
}

.r2-home .r2-button:not(.r2-button-quiet) {
  background: linear-gradient(
    110deg,
    rgb(60, 92, 219) 0%,
    rgb(65, 111, 240) 60%,
    rgb(92, 101, 227) 100%
  );
  box-shadow:
    rgba(54, 92, 222, 0.125) 0px 8px 22px,
    rgba(255, 255, 255, 0.376) 0px 1px 0px inset;
  border: 1px solid rgb(64, 98, 212);
}

.r2-home .r2-button:not(.r2-button-quiet):hover {
  box-shadow:
    rgba(54, 92, 222, 0.22) 0px 12px 30px,
    rgba(255, 255, 255, 0.5) 0px 1px 0px inset;
  transform: translateY(-2px);
}

:where(.r2-home) .r2-button svg,
:where(.r2-home) .r2-text-link svg,
:where(.r2-home) .r2-domain-cta svg {
  transition: transform 0.25s;
}

:where(.r2-home) .r2-button:hover svg,
:where(.r2-home) .r2-text-link:hover svg,
:where(.r2-home) .r2-domain:hover .r2-domain-cta svg {
  transform: translateX(4px);
}

:where(.r2-home) .r2-hero {
  background: linear-gradient(
    125deg,
    rgb(255, 255, 255) 12%,
    rgb(247, 249, 255) 55%,
    rgb(240, 244, 255) 100%
  );
}

:where(.r2-home) .r2-hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: auto 0px 0px;
  height: 90px;
  background: linear-gradient(transparent, rgb(255, 255, 255));
  pointer-events: none;
}

:where(.r2-home) .r2-hero-grid {
  position: relative;
  z-index: 1;
  grid-template-columns: 48% 52%;
  min-height: 650px;
  padding: 78px 0px 70px;
}

:where(.r2-home) .r2-hero-copy {
  z-index: 4;
}

:where(.r2-home) .r2-hero h1 {
  font-size: clamp(42px, 4.2vw, 61px);
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -0.055em;
  margin-block: 22px 24px;
  margin-inline: 0px -20px;
}

:where(.r2-home) .r2-hero h1 .r2-accent {
  background: linear-gradient(
      100deg,
      rgb(49, 95, 220) 5%,
      rgb(83, 104, 230) 55%,
      rgb(130, 101, 213) 100%
    )
    text;
  color: transparent;
}

:where(.r2-home) .r2-hero .r2-intro {
  max-width: 30em;
  font-size: 16px;
  line-height: 1.9;
}

:where(.r2-home) .r2-capline {
  font-size: 11px;
  letter-spacing: 0.01em;
  max-width: 45em;
  color: rgb(101, 115, 138);
}

:where(.r2-home) .r3-hero-stage {
  position: relative;
  z-index: 2;
  perspective: 1000px;
  min-width: 0px;
  --px: 0px;
  --py: 0px;
}

:where(.r2-home) .r3-field {
  position: absolute;
  inset: 0px 0px 0px 35%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, rgb(0, 0, 0) 18%);
}

:where(.r2-home) .r3-field::before {
  content: "";
  position: absolute;
  inset: 5% -15% 0px 0px;
  background: radial-gradient(
    at 58% 43%,
    rgba(168, 189, 241, 0.36) 0%,
    rgba(200, 215, 255, 0.333) 25%,
    transparent 62%
  );
}

:where(.r2-home) .r3-aurora {
  position: absolute;
  inset: -30% -5%;
  background: conic-gradient(
    from 10deg at 62% 50%,
    transparent 0deg,
    rgba(201, 230, 255, 0.333) 45deg,
    transparent 90deg,
    rgba(198, 197, 255, 0.333) 180deg,
    transparent 230deg,
    rgba(213, 234, 255, 0.533) 300deg,
    transparent 360deg
  );
  filter: blur(38px);
  transform-origin: 62% 50%;
}

:where(.r2-home) .r3-hero-orbits {
  position: absolute;
  width: 120%;
  height: 120%;
  left: -8%;
  top: -7%;
  overflow: visible;
  opacity: 0.75;
}

:where(.r2-home) .r3-orbit-track {
  fill: none;
  stroke: rgb(140, 167, 237);
  stroke-width: 1;
  opacity: 0.45;
}

:where(.r2-home) .r3-orbit-light {
  fill: none;
  stroke: url("#h3-orbit-color");
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 100, 900;
  filter: drop-shadow(rgb(73, 124, 245) 0px 0px 5px);
}

:where(.r2-home) .r3-orbit-light.second {
  stroke-width: 1.5;
  stroke-dasharray: 60, 940;
  opacity: 0.7;
}

:where(.r2-home) .r3-orbit-grid {
  stroke: rgb(116, 142, 219);
  stroke-width: 0.6;
  fill: none;
  opacity: 0.15;
}

:where(.r2-home) .r2-domains {
  padding: 80px 0px 94px;
  background: white;
}

:where(.r2-home) .r2-domain {
  border-radius: 14px;
  border: 1px solid rgb(229, 234, 245);
  background: rgb(246, 248, 252);
  box-shadow: rgba(20, 38, 89, 0.01) 0px 3px 12px;
  transition:
    transform 0.35s,
    box-shadow 0.35s,
    border-color 0.35s;
}

:where(.r2-home) .r2-domain:hover,
:where(.r2-home) .r2-domain:focus-visible {
  border-color: rgb(169, 187, 232);
  box-shadow: rgba(37, 59, 104, 0.08) 0px 16px 38px;
  transform: translateY(-4px);
}

:where(.r2-home) .r2-domain-visual img {
  transition: transform 0.8s cubic-bezier(0.2, 0.65, 0.3, 1);
}

:where(.r2-home) .r2-domain:hover .r2-domain-visual img,
:where(.r2-home) .r2-domain:focus-visible .r2-domain-visual img {
  transform: scale(1.045);
}

:where(.r2-home) .r2-domain-2:hover .r2-domain-visual img,
:where(.r2-home) .r2-domain-2:focus-visible .r2-domain-visual img {
  transform: rotate(-8deg) scale(1.04);
}

:where(.r2-home) .r2-domain-value {
  font-size: 26px;
  line-height: 1.5;
  letter-spacing: -0.035em;
}

:where(.r2-home) .r2-domain-copy {
  padding: 30px;
}

:where(.r2-home) .r2-domain-desc {
  font-size: 14px;
  line-height: 1.9;
}

:where(.r2-home) .r2-domain-products {
  font-size: 11px;
  color: rgb(103, 118, 139);
  line-height: 1.9;
}

:where(.r2-home) .r2-domain-label {
  margin-bottom: 14px;
}

:where(.r2-home) .r2-domain-label > span {
  font-size: 11px;
  color: rgb(140, 153, 173);
  font-variant-numeric: tabular-nums;
}

:where(.r2-home) .r2-domain-cta {
  margin-top: 22px;
  min-height: 34px;
  gap: 22px;
}

:where(.r2-home) .r2-domain-0 .r2-domain-visual::after {
  background: linear-gradient(
    90deg,
    rgb(246, 248, 252) 0%,
    rgba(246, 248, 252, 0) 37%
  );
}

:where(.r2-home) .r2-domain-1 .r2-domain-visual {
  inset: 55% 0px 0px;
}

:where(.r2-home) .r2-domain-1 .r2-domain-visual img {
  object-position: 50% 20%;
}

:where(.r2-home) .r2-domain-3 {
  background: rgb(23, 38, 67);
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual::after {
  background: linear-gradient(
    90deg,
    rgb(23, 38, 67) 0%,
    rgba(23, 38, 67, 0.733) 22%,
    transparent 75%
  );
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual img {
  opacity: 0.92;
}

:where(.r2-home) .r2-domain-3 .r2-domain-products {
  color: rgb(224, 232, 246);
}

:where(.r2-home) .r2-lumi {
  background: linear-gradient(rgb(247, 249, 254), rgb(243, 246, 252));
}

:where(.r2-home) .r2-lumi-photo {
  border-radius: 15px;
  box-shadow: rgba(25, 46, 79, 0.07) 0px 22px 50px;
}

:where(.r2-home) .r2-cooperate {
  padding: 96px 0px 80px;
  background: linear-gradient(rgb(255, 255, 255) 0%, rgb(245, 247, 252) 100%);
}

:where(.r2-home) .r2-coop-grid {
  grid-template-columns: 46% 54%;
  gap: 0px;
  align-items: stretch;
  margin-top: 42px;
}

:where(.r2-home) .r2-foundation {
  display: block;
  position: relative;
  padding: 28px 30px 24px;
  background: linear-gradient(
    155deg,
    rgb(244, 247, 255),
    rgb(235, 240, 252) 65%,
    rgb(232, 236, 250)
  );
  border: 1px solid rgb(220, 229, 245);
  border-radius: 16px;
  box-shadow: white 0px 1px 0px inset;
  overflow: hidden;
}

:where(.r2-home) .r2-foundation::before {
  content: "";
  position: absolute;
  inset: 20% -30% 10%;
  background: radial-gradient(rgba(255, 255, 255, 0.533), transparent 65%);
  pointer-events: none;
}

:where(.r2-home) .r2-practice {
  position: relative;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(200, 214, 240, 0.5);
}

:where(.r2-home) .r2-practice strong {
  font-size: 17px;
}

:where(.r2-home) .r2-practice p {
  font-size: 12px;
}

:where(.r2-home) .r2-practice .r2-mini-products {
  width: 36%;
  height: 90px;
  display: block;
}

:where(.r2-home) .r2-foundation > .r2-flow-arrow {
  display: block;
  position: relative;
  margin: 12px 0px 0px;
  font-size: 22px;
  color: rgb(128, 154, 212);
}

:where(.r2-home) .r3-core-visual {
  position: relative;
  height: 260px;
  display: grid;
  place-items: center;
  isolation: isolate;
}

:where(.r2-home) .r3-core-drawing {
  position: absolute;
  inset: 0px;
  width: 100%;
  height: 100%;
  overflow: visible;
  z-index: -1;
}

:where(.r2-home) .r3-core-plate {
  fill: url("#h3-core-glass");
  stroke: rgb(198, 216, 255);
  stroke-width: 1;
}

:where(.r2-home) .r3-core-trace {
  fill: none;
  stroke: rgb(119, 156, 233);
  stroke-width: 1;
  opacity: 0.45;
}

:where(.r2-home) .r3-core-stream {
  fill: none;
  stroke: rgb(88, 128, 229);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 25, 175;
  filter: drop-shadow(rgb(103, 154, 255) 0px 0px 4px);
}

:where(.r2-home) .r3-core-lines {
  fill: none;
  stroke: rgb(140, 166, 227);
  stroke-width: 1;
}

:where(.r2-home) .r3-core-symbol {
  fill: none;
  stroke: rgb(59, 99, 199);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

:where(.r2-home) .r3-core-symbol[data-symbol] {
  opacity: 0;
  transition: opacity 0.25s;
}

:where(.r2-home) .r3-core-visual[data-capability="0"] [data-symbol="0"],
:where(.r2-home) .r3-core-visual[data-capability="1"] [data-symbol="1"],
:where(.r2-home) .r3-core-visual[data-capability="2"] [data-symbol="2"] {
  opacity: 1;
}

:where(.r2-home) .r3-core-title {
  position: absolute;
  left: 0px;
  right: 0px;
  top: 188px;
  text-align: center;
}

:where(.r2-home) .r3-core-title small {
  font-size: 10px;
  letter-spacing: 0.16em;
  color: rgb(102, 128, 178);
}

:where(.r2-home) .r3-core-title h3 {
  font-size: 24px;
  line-height: 1.45;
  margin: 5px 0px 0px;
  letter-spacing: -0.025em;
  font-weight: 650;
}

:where(.r2-home) .r2-core-desc {
  position: relative;
  text-align: center;
  font-size: 13px;
  line-height: 1.85;
  max-width: 30em;
  margin: 0px auto 20px !important;
}

:where(.r2-home) .r3-capabilities {
  list-style: none;
  padding: 0px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 8px;
  position: relative;
  margin: 0px !important;
}

:where(.r2-home) .r3-capabilities button {
  font: inherit;
  text-align: start;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  height: 100%;
  padding: 15px 12px;
  border-radius: 10px;
  border: 1px solid rgb(204, 218, 240);
  background: rgba(255, 255, 255, 0.44);
  color: rgb(39, 59, 96);
  cursor: pointer;
  transition:
    background 0.2s,
    box-shadow 0.2s,
    border-color 0.2s;
}

:where(.r2-home) .r3-capabilities button[aria-pressed="true"] {
  background: white;
  border-color: rgb(127, 156, 224);
  box-shadow: rgba(69, 100, 164, 0.082) 0px 5px 15px;
}

:where(.r2-home) .r3-capabilities button:hover {
  background: rgb(255, 255, 255);
  border-color: rgb(155, 178, 225);
}

:where(.r2-home) .r3-capabilities svg {
  width: 23px;
  height: 23px;
  color: rgb(80, 118, 203);
}

:where(.r2-home) .r3-capabilities strong {
  display: block;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 600;
}

:where(.r2-home) .r3-capabilities span {
  display: block;
  font-size: 11px;
  line-height: 1.75;
  margin-top: 6px;
  color: rgb(97, 113, 139);
}

:where(.r2-home) .r3-capability-live {
  position: relative;
  min-height: 42px;
  padding: 11px 0px 0px;
  font-size: 11px;
  line-height: 1.8;
  color: rgb(86, 116, 169);
  text-align: center;
}

:where(.r2-home) .r2-foundation > .r2-text-link {
  position: relative;
  font-size: 13px;
  margin-top: 10px;
}

:where(.r2-home) .r2-delivery {
  position: relative;
  color: rgb(74, 99, 141);
  font-size: 11px;
  margin-top: 12px !important;
}

:where(.r2-home) .r2-paths {
  padding-inline-start: 44px;
}

:where(.r2-home) .r2-path-labels {
  font-size: 12px;
  color: rgb(119, 134, 158);
  padding-top: 7px;
  padding-bottom: 22px;
}

:where(.r2-home) .r2-path {
  position: relative;
  padding-block: 28px;
  padding-inline: 0px 10px;
  transition: background 0.3s;
  min-width: 0px;
}

:where(.r2-home) .r2-path:hover {
  background: linear-gradient(90deg, transparent, rgba(233, 239, 251, 0.5));
}

:where(.r2-home) .r2-start strong,
:where(.r2-home) .r2-outcome strong {
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: 11px;
}

:where(.r2-home) .r2-start,
:where(.r2-home) .r2-outcome {
  font-size: 13px;
  line-height: 1.9;
}

:where(.r2-home) .r2-path-arrow svg {
  width: 22px;
  transition: transform 0.3s;
}

:where(.r2-home) .r2-path:hover .r2-path-arrow svg {
  transform: translateX(5px);
}

:where(.r2-home) .r2-outcome strong {
  color: rgb(52, 92, 186);
}

:where(.r2-home) .r2-engineering {
  margin-top: 36px;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-aurora {
  animation: 24s linear 0s infinite normal none running h3-aurora;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-orbit-light {
  animation: 9s linear 0s infinite normal none running h3-orbit;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-orbit-light.second {
  animation-duration: 13s;
  animation-direction: reverse;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-core-stream {
  animation: 4.5s linear 0s infinite normal none running h3-stream;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-core-stream.second {
  animation-delay: -2.25s;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-wave {
  transform-box: fill-box;
  transform-origin: center center;
  animation: 1.7s ease-in-out 0s infinite alternate none running h3-wave;
}

body:has(.r2-home[data-motion]) :where(.r2-home) .r3-wave:nth-child(2n) {
  animation-delay: -0.8s;
}

body:has(.r2-home[data-motion="paused"]) .r2-home *,
body:has(.r2-home[data-motion="paused"]) .r2-home ::before,
body:has(.r2-home[data-motion="paused"]) .r2-home ::after {
  animation-play-state: paused !important;
}

:where(.r2-home) .r2-section[data-in-view="false"] * {
  animation-play-state: paused !important;
}
@media (min-width: 1600px) {
  :where(.r2-home) .r2-hero-grid {
    min-height: 690px;
  }
}
@media (min-width: 1600px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 64px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-hero-grid {
    min-height: 570px;
    grid-template-columns: 51% 49%;
    padding: 58px 0px 64px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 44px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 15px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    inset: auto;
    opacity: 1;
    height: 230px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain .r2-domain-visual img {
    opacity: 1;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 24px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-coop-grid {
    grid-template-columns: 46% 54%;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-foundation {
    padding: 24px 22px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-paths {
    padding-inline-start: 26px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r3-capabilities {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r3-capabilities button {
    flex-direction: row;
    gap: 12px;
    padding: 12px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r3-capabilities svg {
    flex: 0 0 23px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r3-capabilities span {
    margin-top: 2px;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 16px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero-grid {
    min-height: 555px;
    grid-template-columns: 54% 46%;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 39px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-field {
    left: 30%;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-hero-stage {
    margin-left: -8%;
    margin-right: -5%;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-coop-grid {
    display: block;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    padding: 28px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-practice {
    grid-area: 1 / 1;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-core-visual {
    grid-area: 2 / 1 / 5;
    height: 270px;
    align-self: center;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-core-desc {
    grid-area: 1 / 2;
    text-align: start;
    margin: 0px 0px 18px !important;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-capabilities {
    grid-area: 2 / 2;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-capability-live {
    grid-area: 3 / 2;
    text-align: start;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation > .r2-text-link {
    grid-area: 4 / 2;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-foundation > .r2-flow-arrow {
    display: none;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-delivery {
    grid-column: 1 / -1;
    text-align: start;
    margin-top: 24px !important;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-paths {
    padding: 28px 0px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 18px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-path {
    padding: 26px 0px;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r2-domains,
  :where(.r2-home) .r2-cooperate {
    padding-top: 65px;
    padding-bottom: 65px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero-grid {
    display: flex;
    min-height: 0px;
    padding: 38px 0px 52px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 38px;
    margin: 19px 0px 21px;
    line-height: 1.3;
    letter-spacing: -0.05em;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 > span:first-child {
    max-width: 9.4em;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 15px;
    line-height: 1.85;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-capline {
    font-size: 10px;
    line-height: 1.8;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-hero-stage {
    margin: 26px -8px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-field {
    inset: 36% -25% -9% -24%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-hero-orbits {
    opacity: 0.5;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domains {
    padding: 48px 0px 52px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain {
    border-radius: 13px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-copy {
    padding: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    height: 220px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    height: 190px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 25px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-products {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-cooperate {
    padding: 50px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation {
    display: block;
    padding: 22px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-visual {
    height: 260px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-title h3 {
    font-size: 23px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-core-desc {
    text-align: center;
    margin: 0px auto 18px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation > .r2-flow-arrow {
    display: block;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-capability-live {
    text-align: center;
    min-height: 38px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-delivery {
    text-align: center;
    margin-top: 12px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    height: 78px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-labels {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path {
    padding: 24px 0px;
    gap: 9px;
    grid-template-columns: minmax(0px, 1fr) 18px minmax(0px, 1fr);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 16px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start,
  :where(.r2-home) .r2-outcome {
    font-size: 12px;
    line-height: 1.85;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-paths {
    padding-top: 28px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path-arrow svg {
    width: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-engineering {
    margin-top: 26px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 34px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-wrap {
    margin-left: 18px;
    margin-right: 18px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-domain-value {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r2-home *,
  .r2-home ::before,
  .r2-home ::after {
    animation: auto ease 0s 1 normal none running none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

:where(.r2-home) .r3-capability-live {
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0px !important;
  padding: 0px !important;
}
@media (max-width: 900px) {
  body:lang(en) :where(.r2-home) .r3-core-title h3 {
    font-size: 21px;
    line-height: 1.25;
  }
}
@media (max-width: 900px) {
  :where(.r2-home) .r3-core-title {
    top: 182px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-field {
    mask-image: linear-gradient(
      transparent,
      rgb(0, 0, 0) 23%,
      rgb(0, 0, 0) 85%,
      transparent
    );
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-wrap {
    margin-left: 20px;
    margin-right: 20px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero-grid {
    padding: 8px 0px 32px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-hero-stage {
    order: -1;
    margin: 0px -10px 8px;
    height: 232px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-field {
    inset: -50px -30% auto;
    height: 420px;
    mask-image: linear-gradient(rgb(0, 0, 0) 50%, transparent);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-field::before {
    inset: 0px;
    background: radial-gradient(
      at 60% 38%,
      rgba(180, 199, 245, 0.55),
      transparent 64%
    );
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-hero-orbits {
    top: -4%;
    left: -8%;
    width: 120%;
    height: 110%;
    opacity: 0.48;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero .r2-eyebrow {
    font-size: 10px;
    line-height: 1.6;
    letter-spacing: 0.035em;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: -0.045em;
    margin: 12px 0px 14px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero h1 > span:first-child {
    max-width: none;
  }
}
@media (max-width: 600px) {
  body:lang(en) :where(.r2-home) .r2-hero h1 {
    font-size: 31px;
    line-height: 1.18;
    letter-spacing: -0.045em;
  }
}
@media (max-width: 600px) {
  body:lang(en) :where(.r2-home) .r2-hero h1 .r2-accent {
    margin-top: 4px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero .r2-intro {
    font-size: 14px;
    line-height: 1.8;
    max-width: none;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-actions {
    margin: 20px 0px 12px;
  }
}
@media (max-width: 600px) {
  .r2-home .r2-button {
    min-height: 44px;
    padding: 12px 18px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-capline {
    font-size: 9px;
    line-height: 1.7;
    color: rgb(96, 112, 135);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domains {
    padding: 32px 0px 42px;
  }
}
@media (max-width: 600px) {
  .r2-home .r2-h2 {
    font-size: 27px;
    line-height: 1.4;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-heading {
    margin-bottom: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-atlas {
    gap: 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain {
    display: block;
    min-height: 0px;
    padding: 24px 0px;
    border-radius: 0px;
    border-width: 0px 0px 1px;
    border-style: none none solid;
    border-color: currentcolor currentcolor rgb(227, 232, 243);
    border-image: none;
    overflow: visible;
    background: rgb(255, 255, 255) !important;
    box-shadow: none !important;
    color: rgb(24, 34, 54) !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain:first-child {
    padding-top: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain:hover,
  :where(.r2-home) .r2-domain:focus-visible {
    transform: none;
    background: rgb(248, 250, 255) !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    position: relative;
    inset: auto;
    float: inline-end;
    width: 110px;
    height: 154px;
    margin-block: 2px 12px;
  margin-inline: 18px 0px;
    overflow: hidden;
    border-radius: 10px;
    background: rgb(237, 242, 253);
    opacity: 1;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-visual img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 60% 50%;
    opacity: 1;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-visual::after {
    display: none;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-1 .r2-domain-visual {
    height: 120px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-1 .r2-domain-visual img {
    object-position: 53% 50%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual {
    height: 154px;
    padding: 8px 0px;
    background: radial-gradient(rgb(216, 226, 255), rgb(244, 247, 254) 75%);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2 .r2-domain-visual img {
    height: 100%;
    object-fit: contain;
    transform: rotate(-10deg) scale(1.2);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-3 .r2-domain-visual img {
    object-position: 52% 50%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-copy {
    display: contents;
    padding: 0px;
    width: auto;
    max-width: none;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-label {
    font-size: 11px;
    line-height: 1.5;
    gap: 6px;
    margin-bottom: 10px;
    color: rgb(101, 116, 140);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-label h3 {
    font-size: 11px;
    line-height: 1.5;
    color: rgb(82, 101, 132);
    letter-spacing: 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-label > span {
    font-size: 9px;
    color: rgb(139, 155, 180);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-value {
    font-size: 22px;
    line-height: 1.42;
    letter-spacing: -0.03em;
    color: rgb(24, 34, 54);
    margin-bottom: 10px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-desc {
    font-size: 13px;
    line-height: 1.8;
    max-width: none;
    color: rgb(88, 103, 125);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-products {
    clear: both;
    padding-top: 8px;
    font-size: 10px;
    line-height: 1.75;
    max-width: none;
    color: rgb(120, 132, 154);
    margin-top: 0px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-cta {
    min-height: 30px;
    font-size: 12px;
    margin-top: 8px;
    gap: 16px;
    color: rgb(53, 87, 215);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi {
    padding: 36px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-story {
    gap: 22px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-photo {
    order: -1;
    border-radius: 10px;
    box-shadow: none;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi-photo img {
    aspect-ratio: 1.5 / 1;
    min-height: 0px;
    object-position: 50% 48%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi .r2-h2 {
    font-size: 27px;
    margin-bottom: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi .r2-eyebrow {
    font-size: 11px;
    margin-bottom: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-lumi .r2-body {
    font-size: 14px;
    line-height: 1.85;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-cooperate {
    padding: 38px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-subhead {
    font-size: 14px;
    margin-top: 12px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-heading-split > .r2-button {
    margin-top: 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-coop-grid {
    margin-top: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation {
    padding: 20px;
    border-radius: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice {
    padding-bottom: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice strong {
    font-size: 15px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice p {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-practice .r2-mini-products {
    width: 30%;
    height: 66px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-visual {
    height: 205px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-drawing {
    height: 205px;
    top: -15px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-title {
    top: 135px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-title small {
    font-size: 9px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-core-title h3 {
    font-size: 21px;
  }
}
@media (max-width: 600px) {
  body:lang(en) :where(.r2-home) .r3-core-title h3 {
    font-size: 19px;
    line-height: 1.25;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-core-desc {
    font-size: 12px;
    line-height: 1.8;
    margin-bottom: 16px !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-capabilities button {
    padding: 10px 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-capabilities strong {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-capabilities span {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation > .r2-text-link {
    font-size: 12px;
    min-height: 42px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-delivery {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-paths {
    padding-top: 24px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-path {
    padding: 22px 0px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start strong,
  :where(.r2-home) .r2-outcome strong {
    font-size: 15px;
    line-height: 1.5;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-start,
  :where(.r2-home) .r2-outcome {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-engineering {
    padding-top: 22px;
    gap: 16px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-engineering ul {
    font-size: 12px;
    gap: 10px 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-close {
    padding: 34px 0px 18px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-close h2 {
    font-size: 24px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-hero h1 {
    font-size: 29px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r3-hero-stage {
    height: 216px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-domain .r2-domain-visual {
    width: 96px;
    margin-inline-start: 14px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .r2-domain .r2-domain-value {
    font-size: 20px;
  }
}

:where(.r2-home) .r2-hero {
  background: linear-gradient(
    115deg,
    rgb(255, 255, 255) 25%,
    rgb(251, 252, 255) 60%,
    rgb(245, 248, 255)
  );
}

:where(.r2-home) .r2-hero h1 .r2-accent {
  background-image: linear-gradient(
    100deg,
    rgb(34, 102, 223) 0%,
    rgb(68, 110, 231) 48%,
    rgb(133, 96, 223) 100%
  );
}

:where(.r2-home) .r3-field::before {
  background: radial-gradient(
    at 60% 42%,
    rgba(153, 186, 255, 0.467) 0%,
    rgba(193, 215, 255, 0.333) 28%,
    transparent 63%
  );
}

:where(.r2-home) .r3-orbit-track {
  stroke: rgb(145, 175, 240);
  opacity: 0.32;
}

:where(.r2-home) .r3-orbit-grid {
  opacity: 0.1;
}

:where(.r2-home) .r2-domain {
  background: rgb(248, 250, 255);
  border-color: rgb(231, 235, 243);
  box-shadow: none;
  transition:
    box-shadow 0.28s var(--r3-ease),
    border-color 0.28s,
    color 0.2s;
}

:where(.r2-home) .r2-domain-0 .r2-domain-visual::after {
  background: linear-gradient(90deg, rgb(248, 250, 255), transparent 38%);
}

:where(.r2-home) .r2-domain-3 {
  background: rgb(20, 36, 62);
  border-color: rgb(33, 52, 81);
}

:where(.r2-home) .r2-domain-3 .r2-domain-visual::after {
  background: linear-gradient(
    90deg,
    rgb(20, 36, 62),
    rgba(20, 36, 62, 0.733) 24%,
    transparent 77%
  );
}

:where(.r2-home) .r2-lumi {
  background: linear-gradient(rgb(248, 250, 252), rgb(243, 247, 253));
}

:where(.r2-home) .r2-cooperate {
  background: rgb(255, 255, 255);
}

:where(.r2-home) .r2-foundation {
  background:
    radial-gradient(at 50% 32%, rgba(224, 234, 255, 0.72), transparent 57%)
      padding-box padding-box,
    linear-gradient(
        150deg,
        rgb(250, 252, 255),
        rgb(241, 246, 255) 58%,
        rgb(249, 251, 255)
      )
      padding-box padding-box,
    linear-gradient(
        145deg,
        rgb(225, 234, 250),
        rgb(184, 211, 250) 55%,
        rgb(214, 205, 244)
      )
      border-box border-box;
  border: 1px solid transparent;
  box-shadow:
    rgb(255, 255, 255) 0px 1px 0px inset,
    rgba(37, 101, 218, 0.14) 0px 12px 40px -22px;
}

:where(.r2-home) .r3-core-stream {
  stroke: url("#h3-core-signal");
  filter: drop-shadow(rgba(99, 165, 247, 0.5) 0px 0px 3px);
}

:where(.r2-home) .r2-path {
  border-bottom: 0px;
}

:where(.r2-home) .r2-path::after {
  content: "";
  position: absolute;
  left: 0px;
  right: 0px;
  bottom: 0px;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgb(229, 234, 243),
    rgba(185, 207, 242, 0.3) 65%,
    rgba(219, 213, 243, 0.2)
  );
}

:where(.r2-home) .r2-practice {
  border-color: rgb(217, 227, 243);
}

:where(.r2-home) .r2-outcome strong {
  color: rgb(33, 93, 201);
}

:where(.r2-home) .r2-path-labels,
:where(.r2-home) .r2-domain-products {
  color: rgb(103, 114, 134);
}

.r2-home .r2-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 0px;
  border-radius: 8px;
  font-weight: 500;
  transition:
    box-shadow 0.24s var(--r3-ease),
    background 0.24s,
    color 0.2s,
    transform 0.2s;
}

.r2-home .r2-button {
  min-height: 52px;
  padding: 14px 24px;
}

.r2-home .r2-button:not(.r2-button-quiet) {
  border: 0px;
  box-shadow:
    rgba(255, 255, 255, 0.6) 0px 1px 1px inset,
    rgb(255, 255, 255) 0px 7px 18px -12px inset,
    rgba(39, 106, 227, 0.333) 0px 8px 24px -9px;
  background:
    radial-gradient(at 0px 100%, rgba(120, 79, 237, 0.333), transparent 62%),
    radial-gradient(at 100% 0px, rgba(114, 187, 255, 0.44), transparent 68%),
    linear-gradient(
      110deg,
      rgb(36, 89, 217),
      rgb(19, 92, 223) 60%,
      rgb(38, 98, 219)
    ) !important;
  color: rgb(255, 255, 255) !important;
}

.r2-home .r2-button:not(.r2-button-quiet)::before {
  content: "";
  position: absolute;
  inset: 0px;
  z-index: -1;
  border-radius: inherit;
  background:
    radial-gradient(at 8% 125%, rgba(169, 172, 255, 0.565), transparent 42%),
    linear-gradient(rgba(255, 255, 255, 0.19), transparent 18%);
  opacity: 0.28;
  transition: opacity 0.24s;
}

.r2-home .r2-button-quiet {
  color: rgb(34, 41, 54);
  background: linear-gradient(rgb(255, 255, 255), rgb(246, 249, 255));
  box-shadow:
    rgba(43, 116, 233, 0.204) 0px 12px 28px -12px,
    rgba(31, 84, 163, 0.04) 0px 2px 10px,
    rgba(231, 237, 247, 0.5) 0px 0px 0px 1px inset;
}

:where(.r2-home) .r2-button svg,
:where(.r2-home) .r2-text-link svg,
:where(.r2-home) .r2-domain-cta svg {
  transition: transform 0.24s var(--r3-ease);
}

.r2-home .r2-button:hover {
  transform: none;
}

:where(.r2-home) .r2-domain:hover,
:where(.r2-home) .r2-domain:focus-visible {
  transform: none;
}

:where(.r2-home) .r2-domain:hover .r2-domain-visual img,
:where(.r2-home) .r2-domain:focus-visible .r2-domain-visual img {
  transform: none;
}

:where(.r2-home) .r2-domain-2:hover .r2-domain-visual img,
:where(.r2-home) .r2-domain-2:focus-visible .r2-domain-visual img {
  transform: rotate(-12deg);
}

:where(.r2-home) .r2-path:hover {
  background: none;
}

:where(.r2-home) .r2-path:hover .r2-path-arrow svg {
  transform: none;
}

.r2-home .r2-text-link {
  font-weight: 500;
  gap: 18px;
}

:where(.r2-home) .r2-text-link span {
  background: linear-gradient(currentcolor, currentcolor) 0px 100% / 0px 1px
    no-repeat;
  padding-bottom: 2px;
  transition: background-size 0.22s;
  text-decoration: none !important;
}

:where(.r2-home) .r3-capabilities button {
  position: relative;
  background: rgba(255, 255, 255, 0.6);
  border-color: rgb(220, 229, 242);
  border-radius: 9px;
  box-shadow: none;
  color: rgb(38, 53, 76);
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.24s,
    transform 0.16s;
}

:where(.r2-home) .r3-capabilities button::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgb(44, 116, 237), rgb(134, 112, 219));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.22s;
}

:where(.r2-home) .r3-capabilities button[aria-pressed="true"] {
  background: rgb(255, 255, 255);
  border-color: rgb(116, 160, 239);
  box-shadow: rgba(59, 109, 215, 0.27) 0px 6px 18px -8px;
}

:where(.r2-home) .r3-capabilities button[aria-pressed="true"]::after {
  transform: scaleX(1);
}

:where(.r2-home) .r3-capabilities button[aria-pressed="true"] strong,
:where(.r2-home) .r3-capabilities button[aria-pressed="true"] svg {
  color: rgb(34, 95, 231);
}

:where(.r2-home) .r3-capabilities span {
  color: rgb(94, 107, 128);
}

.r2-home :is(a, button) {
  -webkit-tap-highlight-color: rgba(43, 106, 245, 0.133);
  touch-action: manipulation;
}

body:has(.r2-home) :where(.r2-home) :is(a, button, summary):focus-visible {
  outline: rgb(34, 103, 229) solid 3px;
  outline-offset: 4px;
}

.r2-home .r2-domain:focus-visible {
  outline-offset: 5px;
}
@media (hover: hover) and (pointer: fine) {
  .r2-home .r2-button:not(.r2-button-quiet):hover {
    box-shadow:
      rgba(255, 255, 255, 0.7) 0px 1px 2px inset,
      rgb(255, 255, 255) 0px 9px 22px -12px inset,
      rgba(38, 106, 237, 0.4) 0px 12px 28px -8px;
    transform: translateY(-1px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .r2-home .r2-button:not(.r2-button-quiet):hover::before {
    opacity: 0.8;
  }
}
@media (hover: hover) and (pointer: fine) {
  .r2-home .r2-button-quiet:hover {
    background: linear-gradient(rgb(255, 255, 255), rgb(237, 245, 255));
    box-shadow:
      rgba(43, 116, 233, 0.314) 0px 15px 30px -12px,
      rgba(31, 84, 163, 0.043) 0px 2px 10px,
      rgb(217, 230, 251) 0px 0px 0px 1px inset;
    transform: translateY(-1px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .r2-home .r2-button:hover svg,
  :where(.r2-home) .r2-text-link:hover svg {
    transform: translateX(3px);
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(.r2-home) .r2-text-link:hover span {
    background-size: 100% 1px;
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(.r2-home) .r2-domain:hover {
    border-color: rgb(178, 201, 242);
    box-shadow: rgba(24, 77, 159, 0.19) 0px 14px 30px -14px;
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(.r2-home) .r2-domain:hover .r2-domain-visual img {
    transform: scale(1.025);
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(.r2-home) .r2-domain-2:hover .r2-domain-visual img {
    transform: rotate(-10deg) scale(1.025);
  }
}
@media (hover: hover) and (pointer: fine) {
  :where(.r2-home) .r2-domain:hover .r2-domain-cta svg {
    transform: translateX(4px);
  }
}

.r2-home .r2-button:active {
  transform: translateY(0px);
  box-shadow: rgba(19, 63, 154, 0.145) 0px 2px 8px inset;
}

:where(.r2-home) .r3-capabilities button:active {
  background: rgb(234, 242, 255);
  transform: scale(0.99);
}

:where(.r2-home) .r2-domain:active {
  box-shadow: rgb(142, 181, 243) 0px 0px 0px 1px inset;
}
@media (max-width: 1100px) {
  :where(.r2-home) .r2-domain-2:hover .r2-domain-visual img,
  :where(.r2-home) .r2-domain-2:focus-visible .r2-domain-visual img {
    transform: rotate(-10deg);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-field::before {
    background: radial-gradient(
      at 60% 38%,
      rgba(166, 199, 255, 0.6),
      transparent 64%
    );
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-hero {
    background: linear-gradient(rgb(247, 250, 255), rgb(255, 255, 255) 85%);
  }
}
@media (max-width: 600px) {
  .r2-home .r2-button {
    min-height: 44px;
    border-radius: 7px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain:hover {
    background: rgb(255, 255, 255) !important;
    box-shadow: none !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-3 {
    border-color: rgb(231, 235, 243);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-1 .r2-domain-visual {
    width: 130px;
    height: 96px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-1 .r2-domain-visual img {
    object-position: 50% 50%;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain:active {
    background: rgb(243, 247, 255) !important;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-value {
    color: rgb(25, 28, 36);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-desc {
    color: rgb(90, 99, 115);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-cta {
    color: rgb(34, 95, 231);
    min-height: 36px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain-2:hover .r2-domain-visual img,
  :where(.r2-home) .r2-domain-2:focus-visible .r2-domain-visual img {
    transform: rotate(-10deg) scale(1.2);
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-foundation {
    background:
      radial-gradient(at 50% 28%, rgba(221, 233, 255, 0.68), transparent 60%)
        padding-box padding-box,
      linear-gradient(160deg, rgb(250, 252, 255), rgb(242, 247, 255))
        padding-box padding-box,
      linear-gradient(
          145deg,
          rgb(225, 234, 250),
          rgb(184, 211, 250) 55%,
          rgb(214, 205, 244)
        )
        border-box border-box;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r3-capabilities button {
    min-height: 62px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-capline {
    font-size: 10px;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .r2-domain .r2-domain-products {
    color: rgb(104, 116, 135);
  }
}
@media (hover: none) {
  :where(.r2-home) .r2-button:hover svg,
  :where(.r2-home) .r2-text-link:hover svg,
  :where(.r2-home) .r2-domain:hover .r2-domain-cta svg {
    transform: none;
  }
}
@media (hover: none) {
  :where(.r2-home) .r2-domain:hover .r2-domain-visual img {
    transform: none;
  }
}
@media (hover: none) {
  :where(.r2-home) .r2-domain-2:hover .r2-domain-visual img {
    transform: rotate(-10deg) scale(1.2);
  }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.r2-home) :where(.r2-home) * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r2-home .r2-button:hover,
  :where(.r2-home) .r2-domain:hover .r2-domain-visual img {
    transform: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  :where(.r2-home) .r2-domain-2:hover .r2-domain-visual img {
    transform: rotate(-10deg);
  }
}

.r2-home.r2-home .r2-domain-2 .r2-domain-visual img,
.r2-home.r2-home .r2-domain-2:focus-visible .r2-domain-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transform: none;
}
@media (min-width: 1101px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual {
    inset: 88px 12px 12px 51%;
    height: auto;
    padding: 0px;
    background: radial-gradient(
      at 65% 62%,
      rgba(226, 234, 255, 0.533),
      transparent 67%
    );
  }
}
@media (min-width: 1101px) {
  .r2-home.r2-home .r2-domain-1 {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 1101px) {
  .r2-home.r2-home .r2-domain-1 .r2-domain-copy {
    order: 1;
    flex: 0 0 auto;
    padding-bottom: 20px;
  }
}
@media (min-width: 1101px) {
  .r2-home.r2-home .r2-domain-1 .r2-domain-visual {
    order: 2;
    position: relative;
    inset: auto;
    flex: 1 0 180px;
    height: auto;
  }
}
@media (min-width: 1101px) {
  .r2-home.r2-home .r2-domain-1 .r2-domain-visual img {
    position: absolute;
    inset: 0px;
    width: 100%;
    height: 100%;
  }
}
@media (min-width: 601px) and (max-width: 1100px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual {
    padding: 12px 20px;
    height: 230px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual {
    width: 130px;
    height: 154px;
    padding: 4px;
    margin-inline-start: 14px;
    background: radial-gradient(
      at 50% 60%,
      rgb(233, 239, 252),
      transparent 75%
    );
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .r2-home.r2-home .r2-domain-2:hover .r2-domain-visual img {
    transform: scale(1.018);
  }
}
@media (hover: none), (prefers-reduced-motion: reduce) {
  .r2-home.r2-home .r2-domain-2:hover .r2-domain-visual img {
    transform: none;
  }
}

.r2-home.r2-home :is(h1, .r2-h2, .r2-domain-value) {
  text-wrap: balance;
}

.r2-home.r2-home .r2-capline {
  font-size: 12px;
  line-height: 1.8;
  color: rgb(90, 104, 124);
}

.r2-home.r2-home .r2-domain-products {
  font-size: 12px;
  color: rgb(94, 106, 124);
}

.r2-home.r2-home .r2-domain-3 .r2-domain-products {
  color: rgb(223, 232, 246);
}

.r2-home.r2-home .r2-heading-split > .r2-button {
  flex-shrink: 0;
}

.r2-home.r2-home .r2-foundation {
  --r5-core: #245fda;
  --r5-tint: #eaf1ff;
  --r5-edge: #bad0f9;
}

.r2-home.r2-home .r2-foundation[data-active-capability="1"] {
  --r5-core: #176d83;
  --r5-tint: #e8f5f7;
  --r5-edge: #b4dbe3;
}

.r2-home.r2-home .r2-foundation[data-active-capability="2"] {
  --r5-core: #674ec0;
  --r5-tint: #f1edfc;
  --r5-edge: #d0c6ee;
}

.r2-home.r2-home .r3-core-symbol {
  stroke: var(--r5-core);
  stroke-width: 2.5;
}

.r2-home.r2-home .r3-core-plate {
  stroke: rgb(166, 192, 239);
  stroke-width: 1.1;
}

.r2-home.r2-home .r3-core-stream {
  stroke: var(--r5-core);
  opacity: 0.8;
  filter: drop-shadow(rgba(113, 157, 231, 0.45) 0px 0px 3px);
}

.r2-home.r2-home .r3-core-lines {
  stroke: rgb(111, 148, 216);
  opacity: 0.65;
}

.r2-home.r2-home .r3-core-visual {
  height: 248px;
}

.r2-home.r2-home .r3-core-title {
  top: 176px;
}

.r2-home.r2-home .r3-capabilities button[aria-pressed="true"] {
  border-color: var(--r5-edge);
  box-shadow: 0 5px 14px -8px var(--r5-core);
}

.r2-home.r2-home .r3-capabilities button[aria-pressed="true"] :is(strong, svg) {
  color: var(--r5-core);
}

.r2-home.r2-home .r3-capabilities button[aria-pressed="true"]::after {
  background: linear-gradient(90deg, var(--r5-core), var(--r5-edge));
}

:where(.r2-home) .r5-capability-panel {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 72px;
  margin: 16px 0px 3px;
  padding: 12px 16px;
  border-top: 0px;
  border-inline-end: 0px;
  border-bottom: 0px;
  border-image: none;
  border-inline-start: 2px solid var(--r5-edge);
  background: linear-gradient(90deg, var(--r5-tint), transparent);
  font-size: 13px;
  line-height: 1.8;
  color: rgb(59, 76, 100);
  transition:
    border-color 0.25s,
    background-color 0.25s;
}

body:lang(en) :where(.r2-home) .r5-capability-panel {
  min-height: 92px;
}

:where(.r2-home) .r5-phrase {
  display: inline-block;
  white-space: nowrap;
}

:where(.r2-home) .r5-capability-panel p {
  grid-area: 1 / 1;
}

:where(.r2-home) .r5-capability-panel p[hidden] {
  display: none;
}

.r2-home.r2-home .r2-close {
  padding: 48px 0px;
  background: linear-gradient(
    112deg,
    rgb(248, 251, 255),
    rgb(241, 245, 255) 64%,
    rgb(246, 243, 252)
  );
  border-top: 1px solid rgb(231, 237, 248);
}

.r2-home.r2-home .r2-close .r2-wrap {
  align-items: center;
}

.r2-home.r2-home .r2-close .r2-button {
  flex: 0 0 auto;
}
@media (min-width: 901px) {
  .r2-home.r2-home .r2-foundation > .r2-text-link {
    margin-top: 8px;
    min-height: 44px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r2-foundation {
    grid-template-rows: auto auto auto auto auto;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r3-core-visual {
    grid-area: 2 / 1 / 5;
    align-self: start;
    height: 270px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r3-core-title {
    top: 183px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r5-capability-panel {
    grid-area: 3 / 2;
    min-height: 108px;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r2-foundation > .r2-text-link {
    grid-area: 4 / 2;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r2-delivery {
    grid-area: 5 / 1 / auto / -1;
  }
}
@media (min-width: 601px) and (max-width: 900px) {
  .r2-home.r2-home .r2-hero h1 {
    font-size: clamp(34px, 4.7vw, 42px);
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-hero-grid {
    padding-bottom: 30px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-hero-stage {
    height: 230px;
    margin-bottom: 12px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-capline {
    font-size: 11px;
    line-height: 1.85;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-h2 {
    font-size: 28px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-heading {
    margin-bottom: 18px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain {
    display: grid;
    grid-template-columns: minmax(0px, 1fr) 144px;
    gap: 0px 16px;
    padding: 26px 0px;
    align-items: start;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain:first-child {
    padding-top: 12px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain .r2-domain-copy {
    display: contents;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-label {
    grid-area: 1 / 1 / auto / -1;
    margin-bottom: 10px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-label h3 {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home [id^="r2-domain-value-"] {
    grid-area: 2 / 1 / auto / -1;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-value {
    font-size: 23px;
    line-height: 1.4;
    margin-bottom: 16px !important;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-desc {
    grid-area: 3 / 1;
    font-size: 14px;
    line-height: 1.8;
    max-width: none;
    margin: 0px !important;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain .r2-domain-visual {
    grid-area: 3 / 2;
    float: none;
    position: relative;
    inset: auto;
    width: 144px;
    height: 108px;
    margin: 0px;
    padding: 0px;
    border-radius: 9px;
    overflow: hidden;
    background: rgb(242, 246, 252);
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain .r2-domain-visual img {
    object-fit: cover;
    object-position: center center;
    opacity: 1;
    transform: none !important;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-0 .r2-domain-visual img {
    object-position: 52% 50%;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual {
    background: radial-gradient(rgba(229, 237, 255, 0.2), transparent 74%);
    overflow: visible;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual img {
    object-fit: contain;
    height: 126px;
    max-width: none;
    position: relative;
    top: -9px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-products {
    grid-area: 4 / 1 / auto / -1;
    clear: none;
    padding-top: 14px;
    font-size: 11px;
    line-height: 1.8;
    color: rgb(94, 106, 124);
    margin: 0px !important;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-3 .r2-domain-products {
    color: rgb(94, 106, 124);
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-domain-cta {
    grid-area: 5 / 1 / auto / -1;
    min-height: 44px;
    margin-top: 4px;
    font-size: 13px;
    gap: 18px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-core-visual {
    height: 210px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-core-title {
    top: 138px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-practice p {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-core-desc {
    font-size: 13px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-capabilities strong {
    font-size: 13px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-capabilities span {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r3-capabilities button {
    min-height: 68px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r5-capability-panel {
    min-height: 80px;
    font-size: 13px;
    padding: 12px 14px;
  }
}
@media (max-width: 600px) {
  body:lang(en) .r2-home.r2-home .r5-capability-panel {
    min-height: 118px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-delivery {
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-path-labels {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
    padding-bottom: 15px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-path {
    grid-template-columns: 22px minmax(0px, 1fr);
    gap: 12px 10px;
    padding: 23px 0px;
    align-items: start;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-path-start {
    grid-area: 1 / 1 / auto / -1;
    gap: 12px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-path-number {
    font-size: 11px;
    min-width: 20px;
    padding-top: 2px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-start,
  .r2-home.r2-home .r2-outcome {
    font-size: 13px;
    line-height: 1.8;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-start strong,
  .r2-home.r2-home .r2-outcome strong {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 6px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-path-arrow {
    grid-area: 2 / 1;
    place-self: center;
    transform: rotate(90deg);
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-outcome {
    grid-area: 2 / 2;
    padding: 12px 15px;
    background: linear-gradient(110deg, rgb(240, 245, 255), rgb(248, 250, 255));
    border-radius: 8px;
    border: 1px solid rgb(230, 237, 250);
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-close {
    padding: 34px 0px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-close h2 {
    font-size: 25px;
    margin-top: 0px;
  }
}
@media (max-width: 600px) {
  .r2-home.r2-home .r2-close .r2-button {
    margin-top: 22px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-domain {
    grid-template-columns: minmax(0px, 1fr) 116px;
    gap: 0px 14px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-domain .r2-domain-visual {
    width: 116px;
    height: 96px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-domain-2 .r2-domain-visual img {
    height: 110px;
    top: -7px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-domain-value {
    font-size: 22px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-domain-desc {
    font-size: 13px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r3-hero-stage {
    height: 212px;
  }
}
@media (max-width: 360px) {
  body:lang(en) .r2-home.r2-home .r5-capability-panel {
    min-height: 140px;
  }
}
@media (max-width: 360px) {
  .r2-home.r2-home .r2-button {
    max-width: 100%;
    white-space: normal;
    text-align: start;
    gap: 14px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .r2-home.r2-home .r5-capability-panel p {
    animation: auto ease 0s 1 normal none running none !important;
  }
}

body:has(.r2-home):has(.r2-home[data-motion="paused"])
  :where(.r2-home)
  .r5-capability-panel
  p {
  opacity: 1;
  transform: none;
  animation: auto ease 0s 1 normal none running none !important;
}

body:has(.r2-home) .r2-home .r2-button {
  border-radius: 8px;
  box-sizing: border-box;
  transition:
    background 0.22s,
    box-shadow 0.22s,
    transform 0.18s,
    color 0.18s;
  font-weight: 550;
}

body:has(.r2-home) .r2-home .r2-button {
  font-size: 15px;
  line-height: 24px;
  min-height: 52px;
  gap: 28px;
  padding: 14px 24px;
}

body:has(.r2-home) .r2-home .r2-button:not(.r2-button-quiet) {
  box-shadow:
    rgba(255, 255, 255, 0.16) 0px 0px 0px 1px inset,
    rgba(255, 255, 255, 0.2) 0px 1px 2px inset,
    rgba(77, 89, 229, 0.6) 0px 8px 20px -12px;
  background:
    radial-gradient(at 96% 100%, rgba(141, 189, 255, 0.17), transparent 55%),
    linear-gradient(
      108deg,
      rgb(101, 80, 229) 0%,
      rgb(61, 85, 233) 40%,
      rgb(24, 95, 220) 100%
    ) !important;
  color: rgb(255, 255, 255) !important;
}

body:has(.r2-home) .r2-home .r2-button:not(.r2-button-quiet)::before {
  content: "";
  inset: -60% -30%;
  background:
    radial-gradient(at 12% 75%, rgba(180, 162, 255, 0.27), transparent 42%),
    radial-gradient(at 88% 80%, rgba(155, 221, 255, 0.22), transparent 44%);
  opacity: 0.45;
  transform: translateX(-5%);
  transition:
    opacity 0.25s,
    transform 0.35s;
}

body:has(.r2-home) :where(.r2-home) .r2-actions > .r2-button {
  min-width: 226px;
  justify-content: space-between;
  font-size: 16px;
  min-height: 54px;
}

body:has(.r2-home) .r2-home .r2-button-quiet {
  background: linear-gradient(rgb(255, 255, 255), rgb(246, 248, 253));
  color: rgb(36, 48, 71);
  border: 1px solid rgb(223, 230, 241);
  box-shadow: rgba(39, 104, 199, 0.333) 0px 8px 20px -16px;
}

body:has(.r2-home) :where(.r2-home) .r2-button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

body:has(.r2-home) :where(.r2-home) .r2-text-link {
  min-height: 44px;
  line-height: 1.6;
}

body:has(.r2-home) :where(.r2-home) .r2-text-link,
.r2-home.r2-home .r2-domain-cta {
  color: rgb(36, 91, 209);
}

body:has(.r2-home) :where(.r2-home) .r2-domain-3 .r2-domain-cta {
  color: rgb(223, 234, 255);
}

body:has(.r2-home) :where(.r2-home) .r3-capabilities button {
  border-radius: 10px;
}

body:has(.r2-home) :where(.r2-home) :is(a, button, summary):focus-visible {
  outline: rgb(37, 94, 228) solid 3px;
  outline-offset: 4px;
}

body:has(.r2-home) :where(.r2-home) .r2-button:focus-visible {
  outline-offset: 5px;
  box-shadow: rgb(255, 255, 255) 0px 0px 0px 2px;
}

body:has(.r2-home) .r2-home .r2-close {
  background: var(--r6-foot);
  border: 0px;
  padding: 48px 0px 0px;
}

body:has(.r2-home) :where(.r2-home) .r2-close > .r2-wrap {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 204px;
  padding: 44px 48px;
  border-radius: 20px;
  background:
    radial-gradient(at 89% 115%, rgba(133, 151, 255, 0.46), transparent 56%),
    radial-gradient(at 8% 0px, rgba(158, 144, 255, 0.33), transparent 55%),
    linear-gradient(
      113deg,
      rgb(80, 65, 200),
      rgb(41, 91, 219) 67%,
      rgb(29, 100, 218)
    );
  box-shadow: rgba(255, 255, 255, 0.2) 0px 0px 0px 1px inset;
  align-items: center;
}

body:has(.r2-home) :where(.r2-home) .r2-close > .r2-wrap::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 62%;
  height: 140%;
  right: -8%;
  bottom: -88%;
  border: 1px solid rgba(197, 214, 255, 0.25);
  border-radius: 50%;
  transform: rotate(-15deg);
  pointer-events: none;
}

body:has(.r2-home) :where(.r2-home) .r2-close h2 {
  text-wrap: balance;
  color: rgb(255, 255, 255);
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: -0.025em;
  max-width: 24em;
}

body:has(.r2-home) .r2-home .r2-close .r2-button:not(.r2-button-quiet) {
  border: 1px solid rgba(255, 255, 255, 0.733);
  box-shadow: rgba(16, 43, 139, 0.533) 0px 8px 24px -12px;
  min-width: 222px;
  justify-content: space-between;
  background: linear-gradient(
    rgb(255, 255, 255),
    rgb(241, 245, 255)
  ) !important;
  color: rgb(35, 70, 178) !important;
}

body:has(.r2-home) :where(.r2-home) .r2-close .r2-button::before {
  display: none;
}

body:has(.r2-home) :where(.r2-home) .r2-close .r2-button:focus-visible {
  outline-color: rgb(255, 255, 255);
  box-shadow: rgb(35, 70, 178) 0px 0px 0px 2px;
}
@media (hover: hover) and (pointer: fine) {
  body:has(.r2-home) .r2-home .r2-button:not(.r2-button-quiet):hover {
    box-shadow:
      rgba(255, 255, 255, 0.22) 0px 0px 0px 1px inset,
      rgba(77, 89, 229, 0.667) 0px 10px 24px -12px;
    transform: translateY(-1px);
    background:
      radial-gradient(at 100% 100%, rgba(117, 196, 255, 0.19), transparent 58%),
      linear-gradient(
        108deg,
        rgb(89, 68, 216),
        rgb(50, 75, 220) 42%,
        rgb(17, 88, 209)
      ) !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  body:has(.r2-home) .r2-home .r2-button:not(.r2-button-quiet):hover::before {
    opacity: 0.85;
    transform: translateX(8%);
  }
}
@media (hover: hover) and (pointer: fine) {
  body:has(.r2-home) .r2-home .r2-button-quiet:hover {
    background: linear-gradient(rgb(255, 255, 255), rgb(237, 243, 255));
    border-color: rgb(191, 208, 238);
    box-shadow: rgba(39, 104, 199, 0.533) 0px 10px 22px -16px;
  }
}
@media (hover: hover) and (pointer: fine) {
  body:has(.r2-home) .r2-home .r2-close .r2-button:not(.r2-button-quiet):hover {
    box-shadow: rgba(17, 45, 151, 0.4) 0px 12px 28px -12px;
    background: rgb(255, 255, 255) !important;
    color: rgb(23, 61, 165) !important;
  }
}

body:has(.r2-home) .r2-home .r2-button:active {
  transform: translateY(0px);
  box-shadow: rgba(22, 39, 123, 0.208) 0px 2px 5px inset;
}
@media (max-width: 900px) {
  body:has(.r2-home) :where(.r2-home) .r2-close > .r2-wrap {
    padding: 36px;
    min-height: 210px;
  }
}
@media (max-width: 900px) {
  body:has(.r2-home) :where(.r2-home) .r2-close h2 {
    max-width: 24em;
  }
}
@media (max-width: 900px) {
  body:has(.r2-home) :where(.r2-home) .r2-close .r2-button {
    margin-top: 24px;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) .r2-home .r2-button {
    min-height: 48px;
    padding: 12px 20px;
    font-size: 14px;
    gap: 22px;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) :where(.r2-home) .r2-actions > .r2-button {
    min-height: 48px;
    min-width: 210px;
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) :where(.r2-home) .r2-domain-3 .r2-domain-cta {
    color: rgb(36, 91, 209);
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) .r2-home .r2-close {
    padding: 28px 0px 0px;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) :where(.r2-home) .r2-close > .r2-wrap {
    width: calc(100% - 40px);
    padding: 28px 24px;
    border-radius: 16px;
    min-height: 230px;
    display: block;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) :where(.r2-home) .r2-close h2 {
    font-size: 25px;
    line-height: 1.5;
    max-width: 13em;
  }
}
@media (max-width: 600px) {
  body:has(.r2-home) .r2-home .r2-close .r2-button {
    min-width: 0px;
    width: 100%;
    margin-top: 26px;
    justify-content: space-between;
  }
}
@media (max-width: 360px) {
  body:has(.r2-home) :where(.r2-home) .r2-close > .r2-wrap {
    padding: 24px 20px;
  }
}
@media (max-width: 360px) {
  body:has(.r2-home) :where(.r2-home) .r2-close h2 {
    font-size: 23px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.r2-home) :where(.r2-home) .r2-button::before {
    transition: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.r2-home) :where(.r2-home) .r2-button:hover {
    transform: none;
  }
}

:where(.r2-home) .k1-family {
  display: grid;
  grid-template-columns: 0.55fr 1fr;
  gap: 38px;
  align-items: center;
  background: rgb(255, 255, 255);
  border: 1px solid rgb(220, 230, 244);
  border-radius: 14px;
  padding: 30px;
}
@media (max-width: 900px) {
  :where(.r2-home) .k1-family {
    padding: 25px;
    gap: 25px;
    grid-template-columns: 0.65fr 1fr;
  }
}
@media (max-width: 600px) {
  :where(.r2-home) .k1-family {
    grid-template-columns: 1fr;
    gap: 22px;
    padding: 24px 19px;
  }
}
@media (min-width: 601px) and (max-width: 1100px) {
  body:has(.r2-home) :where(.r2-home) .r2-lumi-photo {
    align-self: center;
  }
}
@media (min-width: 601px) and (max-width: 1100px) {
  body:has(.r2-home) :where(.r2-home) .r2-lumi-photo img {
    height: auto;
    min-height: 0px;
    aspect-ratio: 1.5 / 1;
    object-position: 50% 48%;
  }
}

body:has(.r2-home) .r2-home .r2-hero {
  background:
    radial-gradient(at 80% 24%, rgb(232, 237, 255) 0px, transparent 55%),
    linear-gradient(150deg, rgb(255, 255, 255) 18%, rgb(244, 247, 255) 100%);
}

body:has(.r2-home) .r2-home .r2-domains {
  background: linear-gradient(rgb(244, 247, 255) 0px, rgb(255, 255, 255) 220px);
}

body:has(.r2-home) .r2-home .r2-cooperate {
  background:
    radial-gradient(at 89% 45%, rgb(237, 241, 255) 0px, transparent 58%),
    rgb(255, 255, 255);
}

body:has(.r2-home):has(.r2-home) .r2-home .r2-close {
  background: rgb(255, 255, 255);
  padding-bottom: 48px;
}
@media (max-width: 600px) {
  body:has(.r2-home):has(.r2-home) .r2-home .r2-close {
    padding-bottom: 28px;
  }
}

body main.r2-home.r4-home-ending #r2-why-pipipt {
  padding-bottom: 0px;
}

body main.r2-home.r4-home-ending .r2-engineering {
  display: grid;
  grid-template-columns: minmax(0px, 1fr);
  justify-content: start;
  align-items: start;
  gap: 14px;
  margin-top: 36px;
  padding-top: 28px;
}

body main.r2-home.r4-home-ending .r2-engineering > .r2-eyebrow {
  margin: 0px;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 650;
  letter-spacing: 0px;
}

body main.r2-home.r4-home-ending .r2-engineering > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px 28px;
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-size: 14px;
  line-height: 1.8;
  font-weight: 500;
  color: rgb(48, 60, 82);
}

body main.r2-home.r4-home-ending .r2-engineering > .r2-scope {
  width: auto;
  flex-basis: auto;
  text-align: start;
  margin: 0px;
  font-size: 12px;
  line-height: 1.7;
  color: rgb(89, 103, 125);
}

body main.r2-home.r4-home-ending #r2-contact {
  padding-top: 56px;
  padding-bottom: 48px;
}

body main.r2-home.r4-home-ending #r2-contact > .r2-wrap {
  display: grid;
  grid-template-columns: minmax(0px, 1fr) auto;
  gap: 36px;
  align-items: center;
  min-height: 168px;
  padding: 36px 48px;
}

body main.r2-home.r4-home-ending #r2-contact .r5-close-copy {
  min-width: 0px;
}

body main.r2-home.r4-home-ending #r2-contact h2 {
  margin: 0px;
  max-width: 25em;
  font-size: clamp(26px, 2.3vw, 32px);
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

body main.r2-home.r4-home-ending #r2-contact .r2-button {
  margin: 0px;
  min-width: 204px;
  min-height: 54px;
  align-self: center;
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending .r2-engineering {
    margin-top: 28px;
    padding-top: 24px;
  }
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending .r2-engineering > ul {
    gap: 10px 24px;
  }
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending #r2-contact {
    padding-top: 48px;
    padding-bottom: 36px;
  }
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending #r2-contact > .r2-wrap {
    grid-template-columns: minmax(0px, 1fr) auto;
    gap: 28px;
    min-height: 168px;
    padding: 32px;
  }
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending #r2-contact h2 {
    font-size: 28px;
  }
}
@media (max-width: 900px) {
  body main.r2-home.r4-home-ending #r2-contact .r2-button {
    width: auto;
    min-width: 190px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending .r2-engineering {
    gap: 12px;
    margin-top: 24px;
    padding-top: 22px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending .r2-engineering > .r2-eyebrow {
    font-size: 13px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending .r2-engineering > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 10px 18px;
    font-size: 13px;
    line-height: 1.7;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending .r2-engineering > .r2-scope {
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending #r2-contact {
    padding-top: 32px;
    padding-bottom: 28px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending #r2-contact > .r2-wrap {
    display: grid;
    grid-template-columns: minmax(0px, 1fr);
    gap: 24px;
    min-height: 0px;
    padding: 28px 24px;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending #r2-contact h2 {
    max-width: none;
    font-size: 25px;
    line-height: 1.5;
  }
}
@media (max-width: 600px) {
  body main.r2-home.r4-home-ending #r2-contact .r2-button {
    width: 100%;
    min-width: 0px;
    min-height: 52px;
    margin: 0px;
  }
}
@media (max-width: 360px) {
  body main.r2-home.r4-home-ending #r2-contact > .r2-wrap {
    padding: 24px 20px;
  }
}
@media (max-width: 360px) {
  body main.r2-home.r4-home-ending #r2-contact h2 {
    font-size: 23px;
  }
}

.r2-home.m5-home {
  background: rgb(245, 247, 255);
  --m5-ink: #19243d;
  --m5-blue: #3862e7;
  --m5-purple: #7055e8;
}

body:has(.r2-home) .m5-home .r2-hero {
  background:
    radial-gradient(at 86% 24%, rgba(180, 188, 244, 0.506), transparent 48%),
    radial-gradient(at 56% 92%, rgba(178, 216, 255, 0.475), transparent 45%),
    linear-gradient(
      124deg,
      rgb(255, 255, 255) 13%,
      rgb(246, 247, 255) 43%,
      rgb(231, 237, 255) 78%,
      rgb(242, 237, 255)
    );
  isolation: isolate;
}

.m5-home .r2-hero::after {
  content: "";
  position: absolute;
  inset: 0px;
  height: auto;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(transparent 78%, rgb(243, 246, 255));
}

.m5-home .r2-hero-grid {
  grid-template-columns: 45% 55%;
  min-height: 720px;
  padding: 48px 0px 44px;
  align-items: center;
}

.m5-home .r2-hero-copy {
  padding-inline-end: 22px;
  position: relative;
  z-index: 5;
}

.m5-home .r2-hero h1 {
  font-size: clamp(42px, 4vw, 60px);
  line-height: 1.24;
  letter-spacing: -0.045em;
}

.m5-home .r2-hero .r2-intro {
  max-width: 32em;
  line-height: 1.9;
  color: rgb(83, 97, 122);
}

.m5-home .r3-field {
  left: 35%;
  opacity: 0.65;
}

.m5-home .r3-hero-orbits {
  opacity: 0.25;
}

.m5-home .r3-hero-stage {
  margin: 0px;
  min-width: 0px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

body:has(.r2-home) .m5-home .r2-domains {
  background:
    radial-gradient(at 14% 28%, rgba(215, 227, 255, 0.55), transparent 48%),
    radial-gradient(at 85% 70%, rgba(228, 220, 255, 0.48), transparent 44%),
    linear-gradient(
      rgb(243, 246, 255),
      rgb(246, 248, 255) 78%,
      rgb(249, 250, 252)
    );
  padding-top: 64px;
  padding-bottom: 88px;
}

.m5-home .r2-domain {
  border-color: rgb(216, 224, 242);
  box-shadow: rgba(56, 75, 141, 0.19) 0px 8px 26px -16px;
  transition:
    border-color 0.2s,
    box-shadow 0.2s,
    transform 0.24s;
}
@media (hover: hover) and (pointer: fine) {
  .m5-home .r2-domain:hover {
    border-color: rgb(158, 178, 241);
    box-shadow: rgba(55, 81, 163, 0.3) 0px 16px 36px -18px;
    transform: translateY(-3px);
  }
}

.m5-home .r2-domain:focus-visible {
  outline: rgb(79, 103, 230) solid 3px;
  outline-offset: 5px;
}

.m5-home .r2-lumi {
  background: linear-gradient(
    rgb(249, 250, 252),
    rgb(248, 249, 253) 72%,
    rgb(240, 244, 255)
  );
  padding: 76px 0px 80px;
}

.m5-home .r2-lumi-story {
  align-items: center;
  grid-template-columns: 56% 44%;
}

.m5-home .r2-lumi-copy {
  padding-block: 0px;
  padding-inline: 42px 0px;
}

.m5-home .r2-lumi-photo {
  order: -1;
}

.m5-home .r2-lumi-photo {
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgb(224, 228, 238);
  background: rgb(238, 241, 246);
  box-shadow: rgba(49, 69, 108, 0.333) 0px 18px 50px -28px;
  margin: 0px;
}

.m5-home .r2-lumi-photo img {
  display: block;
  aspect-ratio: 1.55 / 1;
  width: 100%;
  height: auto;
  min-height: 0px;
  object-fit: cover;
  transition: opacity 0.24s;
}

.m5-home .r2-moments {
  border-color: rgb(214, 222, 240);
  margin-top: 28px;
  padding-top: 25px;
}

.m5-home .r2-moments ul {
  grid-template-columns: 1fr;
  gap: 9px;
  margin-bottom: 0px;
}

.m5-home .r2-moments li {
  display: block;
}

:where(.r2-home) .m5-moment {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  text-align: start;
  border: 1px solid rgb(216, 224, 240);
  background: rgba(255, 255, 255, 0.65);
  padding: 17px 18px;
  border-radius: 12px;
  width: 100%;
  height: 100%;
  min-height: 70px;
  color: rgb(83, 97, 122);
  font: inherit;
  cursor: pointer;
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}

:where(.r2-home) .m5-moment[aria-pressed="true"] {
  border-color: rgb(143, 169, 237);
  background: rgb(237, 242, 255);
  box-shadow: rgb(81, 107, 221) 0px 2px 0px inset;
}

:where(.r2-home) .m5-moment:hover {
  background: rgb(240, 244, 255);
  border-color: rgb(168, 184, 228);
}

:where(.r2-home) .m5-moment:focus-visible,
:where(.r2-home) .m5-demo button:focus-visible {
  outline: rgb(69, 101, 219) solid 3px;
  outline-offset: 3px;
}

:where(.r2-home) .m5-moment strong {
  color: rgb(38, 62, 119);
}

body:has(.r2-home) .m5-home .r2-cooperate {
  background:
    radial-gradient(at 20% 34%, rgba(213, 217, 255, 0.74), transparent 50%),
    radial-gradient(at 83% 58%, rgba(195, 224, 255, 0.55), transparent 50%),
    linear-gradient(
      rgb(240, 244, 255),
      rgb(237, 242, 255) 68%,
      rgb(248, 250, 255)
    );
  padding-top: 78px;
  padding-bottom: 36px;
}

.m5-home .r2-coop-grid {
  grid-template-columns: 48% 52%;
  align-items: stretch;
}

.m5-home .r2-cooperation-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

@media (max-width: 900px) {
  .m5-home .r2-cooperation-heading {
    align-items: flex-start;
    text-align: start;
  }
}

.m5-home .r2-foundation {
  flex-direction: column;
  padding: 26px 28px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.86),
    rgba(244, 247, 255, 0.88)
  );
  border: 1px solid rgb(255, 255, 255);
  border-radius: 20px;
  box-shadow:
    rgba(56, 86, 181, 0.42) 0px 20px 55px -32px,
    rgba(201, 214, 245, 0.36) 0px 0px 0px 1px inset;
  gap: 0px;
  display: flex !important;
}

.m5-home .r2-foundation::before {
  display: none;
}

.m5-home .r2-practice {
  padding-bottom: 14px;
  border-bottom: 1px solid rgb(218, 227, 245);
  gap: 16px;
}

.m5-home .r2-practice .r2-mini-products {
  height: 65px;
  width: 100px;
  object-fit: contain;
}

.m5-home .r2-foundation > .r2-flow-arrow {
  display: none;
}

.m5-home .r3-core-visual {
  flex: 0 0 auto;
  height: 196px !important;
}

.m5-home .r3-core-drawing {
  height: 178px;
  top: 0px;
  opacity: 1;
}

.m5-home .r3-core-title {
  top: auto !important;
  bottom: 8px;
}

.m5-home .r3-core-title h3 {
  font-size: 24px;
}

.m5-home .r2-core-desc {
  font-size: 13px;
  max-width: 32em;
  color: rgb(83, 102, 129);
  text-align: center !important;
  margin: 0px auto 18px !important;
}

.m5-home .r3-capabilities {
  display: grid;
  grid-template-columns: repeat(3, minmax(0px, 1fr));
  gap: 7px;
  margin: 0px;
}

.m5-home .r3-capabilities button {
  padding: 12px 6px;
  min-height: 76px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  border-radius: 9px;
}

.m5-home .r3-capabilities button svg {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
}

.m5-home .r3-capabilities strong {
  font-size: 13px;
  line-height: 1.4;
}

.m5-home .r3-capabilities span {
  display: none;
}

.m5-home .r5-capability-panel {
  font-size: 12px;
  line-height: 1.8;
  min-height: 68px;
  padding: 11px 0px 6px;
  margin: 0px;
  border: 0px;
  background: none;
}

.m5-home .r5-capability-panel p {
  margin: 0px;
}

.m5-home .r2-delivery {
  font-size: 11px;
  text-align: start;
  color: rgb(95, 115, 148);
  margin-top: 8px !important;
}

.m5-home .r2-foundation > .r2-text-link {
  margin-top: 10px;
  min-height: 44px;
}

.m5-home .r2-paths {
  padding-inline-start: 38px;
}

.m5-home .r2-path {
  border-color: rgba(204, 215, 235, 0.57);
}

.m5-home .r2-engineering {
  border-color: rgb(203, 215, 238);
  background: transparent;
}

.m5-home .r2-close {
  background: linear-gradient(rgb(248, 250, 255), rgb(255, 255, 255));
  padding-top: 48px;
}

:where(.r2-home) .m5-demo {
  position: relative;
  min-width: 0px;
  --m5-flow: #5269e8;
}

:where(.r2-home) .m5-demo button {
  font-family: inherit;
}

:where(.r2-home) .m5-demo-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

:where(.r2-home) .m5-demo-kicker {
  font-size: 11px;
  color: rgb(94, 112, 143);
  line-height: 1.5;
  letter-spacing: 0.03em;
}

:where(.r2-home) .m5-demo-kicker b {
  display: block;
  color: rgb(49, 70, 111);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0px;
}

:where(.r2-home) .m5-play {
  min-height: 44px;
  flex: 0 0 auto;
  border: 1px solid rgb(187, 203, 237);
  border-radius: 8px;
  padding: 7px 12px;
  background: rgba(255, 255, 255, 0.79);
  color: rgb(51, 86, 191);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  transition:
    background 0.2s,
    border-color 0.2s,
    box-shadow 0.2s;
}

:where(.r2-home) .m5-play:hover {
  border-color: rgb(126, 153, 225);
  background: rgb(245, 247, 255);
  box-shadow: rgba(66, 103, 204, 0.086) 0px 3px 10px;
}

:where(.r2-home) .m5-play svg {
  width: 12px;
  height: 12px;
  fill: currentcolor;
}

:where(.r2-home) .m5-demo-output {
  display: flex;
  gap: 15px;
  align-items: center;
  min-width: 0px;
}

:where(.r2-home) .m5-demo-output small {
  display: block;
  color: rgb(96, 113, 140);
  font-size: 11px;
  margin-bottom: 4px;
  line-height: 1.5;
}

:where(.r2-home) .m5-demo-output p {
  font-size: 17px;
  line-height: 1.6;
  font-weight: 600;
  color: rgb(37, 56, 89);
  margin: 0px;
  text-wrap: pretty;
}

:where(.r2-home) .m5-demo-output span {
  display: block;
  font-size: 12px;
  line-height: 1.7;
  color: rgb(100, 114, 138);
  margin-top: 4px;
}

:where(.r2-home) .m5-signal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  color: rgb(99, 113, 218);
  background: rgb(232, 236, 255);
  border: 1px solid rgb(210, 217, 252);
  border-radius: 50%;
  transition:
    background 0.3s,
    color 0.3s;
}

:where(.r2-home) .m5-signal i {
  display: block;
  width: 3px;
  height: 8px;
  background: currentcolor;
  border-radius: 2px;
  animation: 0.8s ease-in-out 0s infinite alternate none paused m5-wave;
}

:where(.r2-home) .m5-signal i:nth-child(2n) {
  height: 17px;
  animation-delay: -0.25s;
}

:where(.r2-home) .m5-signal i:nth-child(3) {
  height: 23px;
  animation-delay: -0.5s;
}

:where(.r2-home) .m5-demo[data-play="playing"][data-phase="0"] .m5-signal i,
:where(.r2-home) .m5-demo[data-play="playing"][data-phase="1"] .m5-signal i {
  animation-play-state: running;
}

:where(.r2-home) .m5-demo[data-phase="1"] .m5-signal {
  background: rgb(232, 241, 255);
  color: rgb(57, 109, 221);
}

:where(.r2-home) .m5-demo[data-phase="2"] .m5-signal {
  background: rgb(238, 242, 246);
  color: rgb(138, 154, 175);
  border-color: rgb(221, 228, 238);
}

:where(.r2-home) .m5-demo[data-phase="2"] .m5-signal i {
  height: 3px;
  animation: auto ease 0s 1 normal none running none;
}

:where(.r2-home) .m5-steps {
  display: flex;
  gap: 0px;
  list-style: none;
  position: relative;
  padding: 0px !important;
  margin: 0px !important;
}

:where(.r2-home) .m5-steps li {
  flex: 1 1 0%;
  min-width: 0px;
  display: flex;
}

:where(.r2-home) .m5-steps button {
  position: relative;
  text-align: start;
  width: 100%;
  border-width: 2px 0px 0px;
  border-style: solid none none;
  border-color: rgb(219, 227, 243) currentcolor currentcolor;
  border-image: none;
  padding: 10px 5px 6px;
  background: transparent;
  min-height: 44px;
  font-size: 11px;
  line-height: 1.45;
  color: rgb(102, 120, 149);
  cursor: pointer;
  transition:
    border-color 0.22s,
    color 0.22s;
}

:where(.r2-home) .m5-steps button[aria-pressed="true"] {
  border-top-color: rgb(92, 112, 227);
  color: rgb(42, 77, 175);
  font-weight: 600;
}

:where(.r2-home) .m5-steps button:hover {
  color: rgb(37, 78, 180);
  background: rgba(255, 255, 255, 0.333);
}

:where(.r2-home) .m5-lumi-response {
  background: rgb(255, 255, 255);
  padding: 20px 24px 4px;
  border-top: 1px solid rgb(228, 232, 241);
}

:where(.r2-home) .m5-lumi-response .m5-demo-output {
  min-height: 126px;
  padding: 14px 0px;
}

:where(.r2-home) .m5-lumi-response .m5-demo-output p {
  font-size: 19px;
}

:where(.r2-home) .m5-lumi-response .m5-demo-output span {
  max-width: 35em;
}

:where(.r2-home) .m5-core-response {
  background: linear-gradient(135deg, rgb(241, 245, 255), rgb(255, 255, 255));
  border: 1px solid rgb(204, 217, 242);
  border-radius: 13px;
  padding: 14px 15px 5px;
  margin: 0px;
}

:where(.r2-home) .m5-chain {
  display: grid;
  grid-template-columns: 1fr 26px 1fr 26px 1fr;
  align-items: center;
  gap: 2px;
  padding: 18px 0px 12px;
}

:where(.r2-home) .m5-node {
  min-height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 8px 4px;
  border: 1px solid rgb(224, 230, 242);
  background: rgba(255, 255, 255, 0.65);
  border-radius: 9px;
  transition:
    background 0.25s,
    border-color 0.25s,
    box-shadow 0.25s;
}

:where(.r2-home) .m5-node small {
  font-size: 10px;
  color: rgb(102, 122, 151);
  line-height: 1.5;
}

:where(.r2-home) .m5-node b {
  font-size: 12px;
  line-height: 1.6;
  color: rgb(64, 84, 117);
  font-weight: 600;
  margin-top: 3px;
}

:where(.r2-home) .m5-chain-arrow {
  position: relative;
  height: 1px;
  background: rgb(198, 211, 238);
  margin: 0px 2px;
}

:where(.r2-home) .m5-chain-arrow::after {
  content: "";
  position: absolute;
  right: 0px;
  top: -3px;
  width: 6px;
  height: 6px;
  border-top: 1px solid rgb(167, 188, 228);
  border-right: 1px solid rgb(167, 188, 228);
  transform: rotate(45deg);
}

:where(.r2-home) .m5-chain-arrow i {
  display: block;
  position: absolute;
  width: 7px;
  height: 3px;
  top: -1px;
  background: rgb(96, 118, 229);
  border-radius: 3px;
  animation: 1.1s ease-in-out 0s infinite normal none paused m5-travel;
  opacity: 0;
}

:where(.r2-home) .m5-demo[data-play="playing"] .m5-chain-arrow i {
  animation-play-state: running;
  opacity: 1;
}

:where(.r2-home) .m5-demo[data-phase="0"] .m5-node:nth-child(1),
:where(.r2-home) .m5-demo[data-phase="1"] .m5-node:nth-child(3),
:where(.r2-home) .m5-demo[data-phase="2"] .m5-node:nth-child(5) {
  border-color: rgb(157, 178, 236);
  background: rgb(233, 239, 255);
  box-shadow: rgba(53, 91, 209, 0.08) 0px 3px 10px;
}

:where(.r2-home) .m5-core-response .m5-demo-output {
  min-height: 104px;
  border-top: 1px solid rgb(221, 229, 244);
  padding: 12px 0px;
}

:where(.r2-home) .m5-core-response .m5-demo-output p {
  font-size: 15px;
}

:where(.r2-home) .m5-core-response .m5-demo-output span {
  font-size: 11px;
}

body:has(.r2-home[data-motion="paused"]) .m5-home *,
body:has(.r2-home[data-motion="paused"]) .m5-home ::before,
body:has(.r2-home[data-motion="paused"]) .m5-home ::after {
  animation-play-state: paused !important;
}

.m5-home .r2-section[data-in-view="false"] *,
.m5-home .r2-section[data-in-view="false"] ::before,
.m5-home .r2-section[data-in-view="false"] ::after {
  animation-play-state: paused !important;
}
@media (min-width: 1600px) {
  .m5-home .r2-hero-grid {
    min-height: 750px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-hero-grid {
    grid-template-columns: 46% 54%;
    padding: 44px 0px 40px;
    min-height: 690px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-hero h1 {
    font-size: 43px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-hero .r2-intro {
    font-size: 15px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-hero-copy {
    padding-inline-end: 20px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-capline {
    font-size: 10px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-coop-grid {
    grid-template-columns: 1fr;
    display: grid;
    gap: 28px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-paths {
    padding: 0px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-foundation {
    grid-template-columns: 1fr 1fr;
    column-gap: 28px;
    align-items: start;
    display: grid !important;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-practice {
    grid-area: 1 / 1;
  }
}
@media (max-width: 1100px) {
  .m5-home .r3-core-visual {
    grid-area: 2 / 1;
    height: 230px !important;
  }
}
@media (max-width: 1100px) {
  .m5-home .r3-core-drawing {
    height: 225px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r3-core-title {
    bottom: 18px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-core-desc {
    grid-area: 3 / 1;
  }
}
@media (max-width: 1100px) {
  .m5-home .r3-capabilities {
    grid-area: 1 / 2;
  }
}
@media (min-width: 701px) and (max-width: 900px) {
  .m5-home .r3-capabilities {
    grid-template-columns: minmax(0, 1fr);
  }
  .m5-home .r3-capabilities button {
    flex-direction: row;
    justify-content: flex-start;
    min-height: 48px;
    padding: 10px 12px;
    gap: 8px;
    text-align: start;
  }
}
@media (max-width: 1100px) {
  .m5-home .r5-capability-panel {
    grid-area: 2 / 2;
    align-self: start;
    min-height: 74px;
  }
}
@media (max-width: 1100px) {
  .m5-home .m5-core-response {
    grid-area: 2 / 2 / 5;
    margin-top: 83px;
  }
}
@media (max-width: 1100px) {
  body:has(.r2-home) .m5-home .r2-foundation > .r2-text-link {
    grid-area: 4 / 1;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-delivery {
    grid-area: 5 / 1;
    align-self: start;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .m5-chain {
    grid-template-columns: 1fr 18px 1fr 18px 1fr;
  }
}
@media (max-width: 1100px) {
  :where(.r2-home) .m5-node b {
    font-size: 11px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-lumi-story {
    grid-template-columns: 50% 50%;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-lumi-copy {
    padding-inline-start: 28px;
  }
}
@media (max-width: 1100px) {
  .m5-home .r2-lumi-photo img {
    aspect-ratio: 1.28 / 1;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-hero-grid {
    display: flex;
    min-height: 0px;
    padding: 12px 0px 38px;
    gap: 20px;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-hero-stage {
    display: contents;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-hero-copy {
    order: -1;
    padding: 0px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-hero h1 {
    font-size: 34px;
    line-height: 1.28;
    margin: 14px 0px 16px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-hero .r2-intro {
    font-size: 14px;
    line-height: 1.85;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-capline {
    font-size: 10px;
    margin-bottom: 0px !important;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-hero .r2-actions {
    margin-top: 20px;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-field {
    inset: 0px -25% auto;
    height: 380px;
  }
}
@media (max-width: 700px) {
  body:has(.r2-home) .m5-home .r2-domains {
    padding: 40px 0px 48px;
    background:
      radial-gradient(at 105% 20%, rgba(223, 230, 255, 0.69), transparent 56%),
      linear-gradient(rgb(243, 246, 255), rgb(249, 250, 252));
  }
}
@media (max-width: 700px) {
  .m5-home .r2-domain {
    box-shadow: none;
    border-radius: 0px;
    border-color: rgb(212, 222, 240);
    transform: none !important;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-lumi {
    padding: 44px 0px 48px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-lumi-story {
    display: flex;
    gap: 22px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-lumi-copy {
    order: 0;
    padding: 0px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-lumi-photo {
    order: 1;
    border-radius: 14px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-lumi-photo img {
    aspect-ratio: 1.5 / 1;
    max-height: none;
    min-height: 0px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-moments {
    margin-top: 22px;
    padding-top: 20px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-moments ul {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-moment {
    min-height: 54px;
    padding: 12px 14px;
    align-items: center;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-moments svg {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-lumi-response {
    padding: 16px 18px 2px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-lumi-response .m5-demo-output {
    min-height: 136px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-lumi-response .m5-demo-output p {
    font-size: 17px;
  }
}
@media (max-width: 700px) {
  body:has(.r2-home) .m5-home .r2-cooperate {
    padding-top: 46px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-coop-grid {
    margin-top: 26px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-foundation {
    padding: 20px 17px;
    border-radius: 15px;
    align-items: stretch;
    display: flex !important;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-foundation > .r2-core-desc {
    max-width: none;
    inline-size: 100%;
  }
  .m5-home .r2-foundation > :is(.r5-capability-panel, .r2-delivery) {
    align-self: stretch;
  }
  .m5-home .r2-foundation > .r2-text-link {
    align-self: flex-start;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-core-visual {
    height: 192px !important;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-core-drawing {
    height: 184px;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-core-title {
    bottom: 6px;
  }
}
@media (max-width: 700px) {
  .m5-home .m5-core-response {
    margin-top: 0px;
  }
}
@media (max-width: 700px) {
  .m5-home .r5-capability-panel {
    min-height: 72px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-practice .r2-mini-products {
    height: 56px;
    width: 83px;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-capabilities button {
    min-height: 74px;
  }
}
@media (max-width: 700px) {
  .m5-home .r3-capabilities strong {
    font-size: 12px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-core-desc {
    font-size: 12px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-paths {
    padding-top: 0px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-foundation > .r2-text-link {
    margin-top: 10px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-delivery {
    font-size: 10px;
    text-align: start;
    margin-top: 6px !important;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-core-response {
    padding: 12px 11px 4px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-core-response .m5-demo-output {
    min-height: 122px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-core-response .m5-demo-output p {
    font-size: 14px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-play {
    font-size: 11px;
    padding: 7px 10px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-demo-kicker {
    font-size: 10px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-demo-kicker b {
    font-size: 11px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-chain {
    gap: 1px;
    padding: 14px 0px 12px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-node {
    min-height: 74px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-node b {
    font-size: 11px;
  }
}
@media (max-width: 700px) {
  :where(.r2-home) .m5-node small {
    font-size: 10px;
  }
}
@media (max-width: 700px) {
  .m5-home .r2-close {
    padding-top: 32px;
  }
}
@media (max-width: 360px) {
  .m5-home .r2-hero h1 {
    font-size: 30px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .m5-demo-head {
    gap: 6px;
  }
}
@media (max-width: 360px) {
  :where(.r2-home) .m5-play {
    font-size: 10px;
    padding: 7px;
  }
}
@media (max-width: 360px) {
  .m5-home .r2-foundation {
    padding: 17px 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .m5-home *,
  .m5-home ::before,
  .m5-home ::after {
    animation: auto ease 0s 1 normal none running none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body:has(.r2-home) .m5-home .r3-core-visual {
    grid-area: 2 / 1;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body:has(.r2-home) .m5-home .r5-capability-panel {
    grid-area: 2 / 2;
    min-height: 74px;
  }
}
@media (max-width: 700px) {
  body:has(.r2-home) .m5-home .r3-core-visual {
    width: 100%;
    align-self: stretch;
  }
}

.m6-home {
  min-height: 0px !important;
}

.m6-home .r2-hero {
  position: relative;
  overflow: hidden;
}

.m6-home .r2-hero-grid {
  align-items: center;
  min-height: 624px !important;
  padding: 38px 0px 44px !important;
  grid-template-columns: 45% 55% !important;
}

.m6-home .r2-hero-copy {
  padding-inline-end: 30px;
}

.m6-home .r2-hero h1 {
  font-size: 52px !important;
  line-height: 1.32 !important;
  letter-spacing: -0.045em !important;
  margin: 20px -20px 24px 0px !important;
}

.m6-home .r2-intro {
  font-size: 16px !important;
  line-height: 1.9 !important;
}

.m6-home .r2-capline {
  font-size: 11px !important;
  margin-top: 20px !important;
}

.m6-home .r2-actions {
  margin: 26px 0px 0px !important;
}

.m6-home .r3-field {
  opacity: 0.65 !important;
}

.m6-home .r3-aurora {
  transform: none !important;
}

.m6-home .r3-hero-orbits {
  opacity: 0.15 !important;
}

.m6-home .k1-stage {
  position: relative;
  min-width: 0px;
  width: 100%;
  height: 530px;
  isolation: isolate;
}

.m6-home .k1-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(rgba(39, 56, 115, 0.086) 0px 15px 14px);
}

.m6-home .k1-family {
  position: absolute;
  top: 34px;
  left: 0px;
  z-index: 3;
  height: 420px !important;
  width: 100% !important;
}

.m6-home .k1-ground {
  position: absolute;
  left: 15%;
  right: 2%;
  height: 70px;
  bottom: 77px;
  border-radius: 50%;
  background: radial-gradient(rgba(168, 182, 223, 0.22), transparent 70%);
  transform: rotate(-7deg);
}

.m6-home .k1-stage-copy {
  position: absolute;
  left: 4%;
  right: 3%;
  bottom: 22px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  z-index: 5;
}

.m6-home .k1-domain {
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: 0.08em;
  color: rgb(82, 105, 144);
}

.m6-home .k1-value {
  font-size: 23px;
  line-height: 1.4;
  letter-spacing: -0.025em;
  font-weight: 580;
  color: rgb(41, 57, 89);
}

.m6-home .k1-concept {
  position: absolute;
  right: 0px;
  bottom: 1px;
  font-size: 10px;
  color: rgb(103, 116, 138);
  line-height: 1.4;
}

.m6-home .k1-focus {
  position: absolute;
  top: 18px;
  left: 3%;
  width: 70%;
  height: 415px;
  z-index: 3;
}

.m6-home .k1-focus img {
  object-position: center bottom;
}

.m6-home .k1-neighbors {
  position: absolute;
  right: 0px;
  top: 80px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  z-index: 0;
  opacity: 0.3;
}

.m6-home .k1-neighbors img {
  width: 78px;
  height: 78px;
  filter: saturate(0.6);
}

.m6-home .k1-input {
  position: absolute;
  left: 0px;
  top: 8px;
  max-width: 300px;
  border: 1px solid rgba(255, 255, 255, 0.74);
  border-radius: 24px;
  background: linear-gradient(
    130deg,
    rgba(255, 255, 255, 0.8),
    rgba(241, 246, 255, 0.733)
  );
  box-shadow: rgba(69, 91, 144, 0.4) 0px 6px 16px -12px;
  padding: 11px 16px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: rgb(76, 93, 124);
  font-size: 13px;
  line-height: 1.6;
  z-index: 5;
}

.m6-home .k1-input svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  color: rgb(104, 133, 210);
}

.m6-home .k1-answer {
  position: absolute;
  right: 3%;
  top: 260px;
  z-index: 4;
  max-width: 235px;
  min-width: 180px;
  padding: 17px 20px;
  border: 1px solid rgb(255, 255, 255);
  border-radius: 15px 15px 15px 3px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.95),
    rgba(245, 248, 255, 0.91)
  );
  box-shadow: rgba(58, 85, 151, 0.533) 0px 18px 30px -24px;
  color: rgb(40, 78, 170);
  font-size: 18px;
  line-height: 1.6;
  font-weight: 550;
}

.m6-home .k1-answer::before {
  content: "";
  position: absolute;
  left: -25px;
  top: 31px;
  width: 24px;
  height: 1px;
  background: rgb(121, 159, 231);
}

.m6-home .k1-answer .k1-wave {
  display: flex;
  gap: 3px;
  align-items: center;
  height: 15px;
  margin-bottom: 8px;
}

.m6-home .k1-wave i {
  width: 3px;
  border-radius: 2px;
  background: rgb(109, 131, 223);
}

.m6-home .k1-wave i:nth-child(1) {
  height: 5px;
}

.m6-home .k1-wave i:nth-child(2) {
  height: 11px;
}

.m6-home .k1-wave i:nth-child(3) {
  height: 15px;
}

.m6-home .k1-wave i:nth-child(4) {
  height: 9px;
}

.m6-home .k1-wave i:nth-child(5) {
  height: 5px;
}

.m6-home .k1-swatches {
  display: flex;
  gap: 7px;
  margin-bottom: 9px;
}

.m6-home .k1-swatches i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: rgb(244, 157, 175);
}

.m6-home .k1-swatches i:nth-child(2) {
  background: rgb(166, 185, 243);
}

.m6-home .k1-swatches i:nth-child(3) {
  background: rgb(181, 209, 185);
}

.m6-home .k1-swatches i:first-child {
  outline: rgb(188, 108, 144) solid 1px;
  outline-offset: 3px;
}

.m6-home .k1-stage[data-frame="family"] .k1-stage-copy {
  align-items: center;
  bottom: 31px;
}

.m6-home .k1-stage[data-frame="family"] .k1-domain,
.m6-home .k1-stage[data-frame="family"] .k1-input,
.m6-home .k1-stage[data-frame="family"] .k1-answer,
.m6-home .k1-stage[data-frame="family"] .k1-focus,
.m6-home .k1-stage[data-frame="family"] .k1-neighbors {
  display: none;
}

.m6-home .k1-stage:not([data-frame="family"]) .k1-family {
  display: none;
}

.m6-home .k1-stage[data-frame="elder"] .k1-focus {
  left: 3%;
  width: 80%;
  height: 435px;
  top: 4px;
}

.m6-home .k1-stage[data-frame="spatial"] .k1-focus {
  width: 78%;
  height: 442px;
  left: 1%;
  top: 0px;
}

.m6-home .k1-stage[data-frame="young"] .k1-focus {
  width: 57%;
  height: 370px;
  left: 10%;
  top: 52px;
}

.m6-home .k1-stage[data-frame="young"] .k1-answer {
  top: 270px;
}

.m6-home .k1-stage[data-frame="elder"] .k1-answer {
  top: 261px;
}

.m6-home .k1-stage[data-frame="spatial"] .k1-answer {
  top: 268px;
}
@media (min-width: 1600px) {
  .m6-home .r2-hero-grid {
    min-height: 675px !important;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-stage {
    height: 565px;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-family {
    height: 460px !important;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-focus {
    height: 455px;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-stage[data-frame="elder"] .k1-focus,
  .m6-home .k1-stage[data-frame="spatial"] .k1-focus {
    height: 475px;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-stage[data-frame="young"] .k1-focus {
    height: 400px;
  }
}
@media (min-width: 1600px) {
  .m6-home .k1-answer {
    top: 285px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-hero-grid {
    grid-template-columns: 47% 53% !important;
    min-height: 560px !important;
    padding: 32px 0px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-hero-copy {
    padding-inline-end: 15px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-hero h1 {
    font-size: 36px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-intro {
    font-size: 14px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-capline {
    font-size: 10px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage {
    height: 470px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-family {
    top: 78px;
    left: -4%;
    height: 280px !important;
    width: 108% !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-focus {
    width: 86%;
    height: 320px;
    top: 38px;
    left: -2%;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-input {
    font-size: 11px;
    padding: 8px 12px;
    top: 8px;
    max-width: 90%;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-answer {
    font-size: 14px;
    min-width: 140px;
    max-width: 180px;
    right: 0px;
    padding: 12px 14px;
    top: 285px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-answer::before {
    display: none;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-neighbors {
    right: -2%;
    top: 60px;
    gap: 6px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-neighbors img {
    width: 51px;
    height: 64px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage-copy {
    left: 0px;
    bottom: 35px;
    gap: 5px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-domain {
    font-size: 10px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-value {
    font-size: 19px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage[data-frame="elder"] .k1-focus,
  .m6-home .k1-stage[data-frame="spatial"] .k1-focus {
    height: 350px;
    width: 100%;
    left: -7%;
    top: 24px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage[data-frame="young"] .k1-focus {
    width: 75%;
    height: 280px;
    left: 0px;
    top: 60px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage[data-frame="family"] .k1-stage-copy {
    bottom: 55px;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-hero-grid {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0px !important;
    padding: 9px 0px 28px !important;
    gap: 17px !important;
    margin: 0px 20px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage {
    order: -1;
    width: 100%;
    height: 314px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-family {
    top: 7px;
    left: -3%;
    width: 106% !important;
    height: 260px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-hero-copy {
    padding: 0px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-hero h1 {
    font-size: 31px !important;
    line-height: 1.3 !important;
    margin: 12px 0px 14px !important;
    letter-spacing: -0.05em !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-eyebrow {
    font-size: 10px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-intro {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-actions {
    margin-top: 20px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-capline {
    font-size: 9px !important;
    margin-top: 15px !important;
    line-height: 1.7 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-button {
    min-height: 46px !important;
    font-size: 13px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-focus {
    top: 18px;
    left: 2%;
    width: 70%;
    height: 236px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-input {
    font-size: 10px;
    padding: 7px 11px;
    top: 0px;
    max-width: 86%;
    gap: 5px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-input svg {
    width: 12px;
    height: 12px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-answer {
    right: 0px;
    max-width: 158px;
    min-width: 0px;
    padding: 9px 11px;
    font-size: 12px;
    line-height: 1.6;
    border-radius: 11px 11px 11px 2px;
    top: 158px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-answer::before {
    width: 12px;
    left: -13px;
    top: 20px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-answer .k1-wave {
    height: 10px;
    gap: 2px;
    margin-bottom: 4px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-wave i {
    width: 2px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage-copy {
    left: 3%;
    bottom: 22px;
    gap: 3px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-domain {
    font-size: 9px;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-value {
    font-size: 17px;
    line-height: 1.5;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-concept {
    font-size: 9px;
    right: 1%;
    bottom: 0px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-neighbors {
    right: 0px;
    top: 34px;
    gap: 5px;
    opacity: 0.23;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-neighbors img {
    width: 44px;
    height: 44px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-ground {
    bottom: 57px;
    height: 40px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="elder"] .k1-focus {
    height: 247px;
    width: 86%;
    left: -7%;
    top: 13px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="spatial"] .k1-focus {
    height: 255px;
    width: 86%;
    left: -8%;
    top: 5px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="young"] .k1-focus {
    height: 208px;
    width: 64%;
    left: 5%;
    top: 40px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="family"] .k1-stage-copy {
    bottom: 23px;
    left: 0px;
    right: 0px;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="family"] .k1-value {
    font-size: 16px;
  }
}
@media (max-width: 700px) {
  .m6-home .r3-field {
    top: 0px !important;
    height: 360px !important;
  }
}

.m6-home .k1-stage img {
  padding: 0px !important;
  border: 0px !important;
  border-radius: 0px !important;
  background: transparent !important;
  box-shadow: none !important;
  aspect-ratio: auto !important;
}

.m6-home .k1-answer {
  text-wrap: balance;
}

.m6-home .k1-neighbors {
  flex-direction: row;
  right: 1%;
  top: 14px;
  gap: 3px;
  opacity: 0.24;
}

.m6-home .k1-neighbors img {
  width: 62px;
  height: 62px;
}

body:lang(en) .m6-home .r2-hero h1 {
  font-size: 47px !important;
  line-height: 1.18 !important;
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-neighbors {
    top: 52px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-neighbors img {
    width: 43px;
    height: 43px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  body:lang(en) .m6-home .r2-hero h1 {
    font-size: 35px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .k1-stage[data-frame="family"] .k1-value {
    font-size: 18px;
    text-align: center;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage {
    order: -2 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-neighbors {
    display: none !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-hero-copy {
    order: -1 !important;
  }
}
@media (max-width: 700px) {
  body:lang(en) .m6-home .r2-hero h1 {
    font-size: 30px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .k1-stage[data-frame="family"] .k1-value {
    font-size: 16px;
  }
}
@media (max-width: 360px) {
  .m6-home .r2-hero-grid {
    margin: 0px 16px !important;
  }
}
@media (max-width: 360px) {
  .m6-home .r2-hero h1 {
    font-size: 28px !important;
  }
}
@media (max-width: 360px) {
  .m6-home .k1-value {
    font-size: 15px;
  }
}
@media (max-width: 360px) {
  .m6-home .k1-stage[data-frame="family"] .k1-value {
    font-size: 15px;
  }
}
@media (max-width: 360px) {
  .m6-home .k1-answer {
    max-width: 140px;
    font-size: 11px;
  }
}
@media (max-width: 360px) {
  body:lang(en) .m6-home .r2-hero h1 {
    font-size: 28px !important;
  }
}

.m6-home .m6-stage-shell {
  isolation: isolate;
  min-width: 0px;
  position: relative !important;
  display: block !important;
  min-height: 0px !important;
  margin: 0px !important;
  padding: 0px !important;
  background: none !important;
  border: 0px !important;
  border-radius: 0px !important;
  box-shadow: none !important;
  transform: none !important;
  width: 100% !important;
}

.m6-home .m6-canvas {
  height: 530px;
  position: relative;
  width: 100%;
  isolation: isolate;
}

.m6-home .m6-panel {
  inset: 0px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(14px, 0px, 0px);
  transition:
    opacity 650ms,
    transform 800ms cubic-bezier(0.22, 0.68, 0.2, 1),
    visibility 650ms;
  z-index: 0;
  position: absolute !important;
}

.m6-home .m6-panel[data-active="true"] {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
  z-index: 1;
}

.m6-home .m6-panel .k1-input {
  transition:
    opacity 400ms,
    transform 500ms;
}

.m6-home .m6-panel .k1-answer {
  transition:
    opacity 520ms,
    transform 650ms cubic-bezier(0.22, 0.68, 0.2, 1);
  transform: translateY(0px);
}

.m6-home .m6-panel .k1-focus {
  transition:
    filter 700ms,
    transform 850ms cubic-bezier(0.22, 0.68, 0.2, 1);
  transform: none;
}

.m6-home .m6-panel[data-phase="input"] .k1-answer {
  opacity: 0;
  transform: translateY(10px);
}

.m6-home .m6-panel[data-phase="input"] .k1-focus {
  filter: saturate(0.8);
  transform: translateY(3px);
}

.m6-home .m6-panel[data-phase="response"] .k1-input {
  opacity: 0.73;
}

.m6-home .m6-panel[data-phase="response"] .k1-answer::before {
  background: linear-gradient(90deg, rgb(164, 184, 239), rgb(82, 126, 224));
  height: 2px;
}

.m6-home
  .m6-stage-shell[data-play="playing"]
  .m6-panel[data-active="true"][data-phase="response"]
  .k1-wave
  i {
  animation: 850ms ease-in-out 0s 3 alternate none running m6-voice;
  transform-origin: center center;
}

.m6-home .k1-wave i:nth-child(2) {
  animation-delay: 100ms !important;
}

.m6-home .k1-wave i:nth-child(3) {
  animation-delay: 220ms !important;
}

.m6-home .k1-wave i:nth-child(4) {
  animation-delay: 330ms !important;
}

.m6-home
  .m6-stage-shell[data-play="playing"]
  .m6-panel[data-active="true"][data-phase="response"]
  .k1-swatches
  i:first-child {
  animation: 850ms ease-out 0s 1 normal none running m6-choice;
}

.m6-home .m6-stage-shell:not([data-play="playing"]) .k1-wave i,
.m6-home .m6-stage-shell:not([data-play="playing"]) .k1-swatches i {
  animation-play-state: paused !important;
}

.m6-home .m6-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 10;
  margin: 8px 0px 0px;
  min-height: 44px;
}

.m6-home .m6-selectors {
  display: flex;
  gap: 3px;
  align-items: center;
  padding: 3px;
  background: rgba(255, 255, 255, 0.396);
  border: 1px solid rgba(208, 218, 242, 0.5);
  border-radius: 25px;
}

.m6-home .m6-toolbar button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
  box-sizing: border-box;
  margin: 0px;
  padding: 8px 13px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  color: rgb(101, 116, 147);
  border: 1px solid transparent;
  border-radius: 22px;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 160ms,
    background 160ms,
    box-shadow 160ms;
}

.m6-home .m6-toolbar button[aria-pressed="true"] {
  background: rgb(255, 255, 255);
  color: rgb(53, 90, 200);
  box-shadow: rgba(54, 94, 165, 0.11) 0px 3px 10px;
  border-color: rgb(217, 226, 249);
}

.m6-home .m6-toolbar button:hover {
  background: rgb(255, 255, 255);
  color: rgb(40, 79, 187);
}

.m6-home .m6-toolbar .m6-play {
  background: rgba(255, 255, 255, 0.5);
  border-color: rgb(201, 214, 241);
  padding: 10px;
  width: 44px;
}

.m6-home .m6-toolbar .m6-replay {
  padding: 10px;
  width: 44px;
}

.m6-home .m6-toolbar svg {
  width: 15px;
  height: 15px;
  display: block;
  fill: currentcolor;
}

.m6-home .m6-replay svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentcolor;
  stroke-width: 1.6;
}

.m6-home .m6-progress {
  height: 2px;
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -5px;
  background: rgba(199, 213, 240, 0.27);
  overflow: hidden;
  border-radius: 2px;
}

.m6-home .m6-progress::after {
  content: "";
  display: block;
  height: 100%;
  background: linear-gradient(90deg, rgb(143, 137, 223), rgb(81, 122, 220));
  transform: scaleX(var(--m6-progress, 0));
  transform-origin: left center;
}

.m6-home .r2-hero-grid {
  min-height: 666px !important;
}

.m6-home .r2-domain-need {
  font-size: 13px;
  line-height: 1.85;
  color: rgb(119, 132, 155);
  margin: 12px 0px 7px;
  text-wrap: pretty;
}

.m6-home .r2-domain-desc {
  text-wrap: pretty;
  margin-top: 0px !important;
}

.m6-home .m6-stage-shell[data-instant="true"] .m6-panel,
.m6-home .m6-stage-shell[data-limited="true"] * {
  transition: none !important;
  animation: auto ease 0s 1 normal none running none !important;
}

body:has(.r2-home[data-motion="paused"]) .m6-home .m6-stage-shell * {
  animation-play-state: paused !important;
  transition: none !important;
}
@media (min-width: 1600px) {
  .m6-home .m6-canvas {
    height: 565px;
  }
}
@media (min-width: 1600px) {
  .m6-home .r2-hero-grid {
    min-height: 715px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .m6-canvas {
    height: 470px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-hero-grid {
    min-height: 605px !important;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .m6-toolbar {
    gap: 2px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .m6-toolbar button {
    font-size: 10px;
    padding: 8px 9px;
    min-width: 36px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .m6-toolbar .m6-play,
  .m6-home .m6-toolbar .m6-replay {
    min-width: 36px;
    width: 36px;
  }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .m6-home .r2-domain-need {
    font-size: 12px;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-stage-shell {
    order: -2 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-canvas {
    height: 314px;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-hero-grid {
    min-height: 0px !important;
    gap: 20px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-toolbar {
    gap: 4px;
    margin-top: 6px;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-toolbar button {
    font-size: 10px;
    padding: 7px 9px;
    min-width: 39px;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-selectors {
    padding: 1px;
    gap: 0px;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-toolbar .m6-play,
  .m6-home .m6-toolbar .m6-replay {
    min-width: 36px;
    width: 36px;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain-need {
    font-size: 13px;
    line-height: 1.8;
    margin-top: 9px;
  }
}
@media (max-width: 700px) {
  .m6-home .m6-progress {
    bottom: -4px;
  }
}
@media (max-width: 360px) {
  .m6-home .m6-toolbar button {
    padding: 6px 7px;
    min-width: 33px;
  }
}
@media (max-width: 360px) {
  .m6-home .m6-toolbar {
    gap: 1px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .m6-home .m6-stage-shell * {
    animation: auto ease 0s 1 normal none running none !important;
    transition: none !important;
  }
}

.m6-home .m6-stage-shell {
  height: auto !important;
  flex: 0 0 auto !important;
}
@media (max-width: 1100px) {
  .m6-home .m6-toolbar button,
  .m6-home .m6-toolbar .m6-play,
  .m6-home .m6-toolbar .m6-replay {
    min-width: 44px;
    width: auto;
  }
}
@media (max-width: 1100px) {
  .m6-home .m6-toolbar .m6-play,
  .m6-home .m6-toolbar .m6-replay {
    width: 44px;
  }
}
@media (max-width: 340px) {
  .m6-home .m6-toolbar {
    flex-wrap: wrap;
    row-gap: 2px;
  }
}
@media (max-width: 340px) {
  .m6-home .m6-selectors {
    flex-basis: 100%;
    justify-content: center;
    max-width: 280px;
  }
}
@media (max-width: 340px) {
  .m6-home .m6-progress {
    bottom: -3px;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain .r2-domain-need {
    grid-area: 3 / 1 !important;
    margin: 8px 0px 6px !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain .r2-domain-desc {
    grid-area: 4 / 1 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain .r2-domain-visual {
    grid-area: 3 / 2 / span 2 !important;
    align-self: center !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain .r2-domain-products {
    grid-area: 5 / 1 / auto / -1 !important;
  }
}
@media (max-width: 700px) {
  .m6-home .r2-domain .r2-domain-cta {
    grid-area: 6 / 1 / auto / -1 !important;
  }
}

.m7-home .r2-hero:has(.m6-stage-shell:not([data-play="playing"])) .r3-field * {
  animation-play-state: paused !important;
}
@keyframes h3-aurora {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes h3-orbit {
  100% {
    stroke-dashoffset: -1000;
  }
}
@keyframes h3-stream {
  100% {
    stroke-dashoffset: -200;
  }
}
@keyframes h3-wave {
  0% {
    transform: scaleY(0.5);
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes m5-wave {
  0% {
    transform: scaleY(0.45);
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes m5-travel {
  0% {
    left: 0px;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  100% {
    left: 70%;
    opacity: 0;
  }
}
@keyframes m6-voice {
  0% {
    transform: scaleY(0.45);
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes m6-choice {
  0% {
    box-shadow: rgba(188, 108, 144, 0.4) 0px 0px 0px 0px;
  }
  100% {
    box-shadow: rgba(188, 108, 144, 0) 0px 0px 0px 9px;
  }
}

* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
/* German compounds need language-aware breaks before the overflow fallback. */
html[lang="de"] {
  hyphens: auto;
}
body {
  margin: 0;
  background: var(--color-surface);
  color: var(--color-ink);
  font-family: var(--font-hans);
  font-size: 16px;
  line-height: 1.65;
}
body[data-script="arabic"],
body[data-script="arabic"] main {
  font-family: var(--font-arabic);
}
body[data-script="japanese"],
body[data-script="japanese"] main {
  font-family: var(--font-japanese);
}
body[data-script="korean"],
body[data-script="korean"] main {
  font-family: var(--font-korean);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
a {
  color: #255ee4;
  text-underline-offset: 4px;
}
a:hover {
  color: #1749b7;
}
button,
input,
textarea,
summary {
  font: inherit;
}
button,
summary {
  cursor: pointer;
}
button,
a,
summary {
  touch-action: manipulation;
}
:focus-visible {
  outline: 3px solid var(--color-action);
  outline-offset: 4px;
}
button:disabled {
  cursor: not-allowed;
}
img {
  max-width: 100%;
  height: auto;
}
button {
  color: inherit;
}
.skip-link {
  position: fixed;
  inset-block-start: -90px;
  inset-inline-start: 16px;
  z-index: 100;
  padding: 12px 20px;
  background: white;
  color: #1b2b44;
}
.skip-link:focus {
  inset-block-start: 12px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 20px;
  font-weight: 650;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #1d2944;
  text-decoration: none;
  white-space: nowrap;
}
.r2-brand-mark {
  width: 33px;
  height: 32px;
  flex: 0 0 33px;
  letter-spacing: 0;
  display: inline-grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 100% 0, #83adff70, transparent 70%),
    linear-gradient(145deg, #467cf0, #245ddd);
  border-radius: 9px;
  color: white;
  line-height: 1;
  font-size: 24px;
  font-weight: 650;
}
.l1-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 30;
}
.l1-head-inner {
  display: flex;
  align-items: center;
}
.l1-tools {
  display: flex;
  align-items: center;
}
.l1-nav {
  display: flex;
  align-items: center;
}
.l1-product-menu,
.l1-locale {
  position: relative;
}
.l1-product-menu > summary,
.l1-locale > summary {
  list-style: none;
}
.l1-product-menu > summary::-webkit-details-marker,
.l1-locale > summary::-webkit-details-marker {
  display: none;
}
.l1-mega,
.l1-locale-panel {
  position: absolute;
  z-index: 50;
}
.menu-toggle {
  display: none;
}
.l1-locale-panel a {
  display: flex;
  justify-content: space-between;
}
.l1-nav .primary-cta {
  background: linear-gradient(108deg, #6550e5, #185fdc);
  color: #fff;
}
.ui-icon {
  fill: currentColor !important;
  stroke: none !important;
  vertical-align: middle;
  flex-shrink: 0;
}
.ui-button {
  touch-action: manipulation;
}
.c1-qr-window > img {
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  inset: auto !important;
  object-fit: contain;
}
.c1-dialog:not([open]) {
  display: none;
}
.c1-dialog {
  margin: auto;
}
.c1-dialog::backdrop {
  background: rgba(18, 31, 49, 0.55);
}
.y1-young .y1-hero-badge {
  object-fit: contain;
}
.y1-young [data-expression-output],
.y2-keepsake p {
  overflow-wrap: anywhere;
}
.anchor-alias {
  scroll-margin-top: 100px;
}
.pl1-policy [tabindex="-1"] {
  scroll-margin-top: 100px;
}
[dir="rtl"] .y2-editor,
[dir="rtl"] .y2-preview,
[dir="rtl"] .pl1-policy {
  text-align: start;
}
[dir="rtl"] .y1-button .ui-icon,
[dir="rtl"] .y1-text-link .ui-icon {
  transform: scaleX(-1);
}
@media (max-width: 1100px) {
  .menu-toggle {
    display: flex;
  }
  .l1-nav:not(.open) {
    display: none;
  }
  .l1-nav.open {
    display: flex;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media print {
  .s7-header,
  .r3-footer,
  .skip-link,
  .pl1-sidebar,
  .pl1-policies,
  .pl1-crumb,
  .pl1-end {
    display: none !important;
  }
  .pl1-policy {
    padding: 0 !important;
  }
  .pl1-policy section {
    break-inside: avoid;
  }
}
.review-index,
.review-not-found,
.foundation-sample {
  max-width: 960px;
  margin: 48px auto;
  padding: 24px;
  font-size: 18px;
  line-height: 1.8;
}
.review-index li {
  margin-block: 18px;
}
.foundation-sample h1 {
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.foundation-sample input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  border: 1px solid #7a8aa1;
  border-radius: 8px;
  padding: 10px;
  margin-block: 12px;
}
.foundation-sample button {
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #9ba7b8;
  border-radius: 8px;
  background: #fff;
  margin-inline-end: 8px;
  color: #1b2b44;
}
.foundation-sample button[aria-selected="true"] {
  background: #255ee4;
  color: #fff;
}
.foundation-sample .ui-tabs {
  margin-block: 24px;
}
.foundation-sample [role="tablist"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.foundation-sample [role="tabpanel"] {
  padding: 20px;
  border: 1px solid #dfe6f0;
  border-radius: 8px;
  margin-block: 10px;
}
.foundation-sample summary {
  min-height: 44px;
}
.foundation-sample progress {
  width: 100%;
  margin-block: 20px;
}
.review-notice {
  font-size: 14px;
  color: #59697f;
  border-bottom: 1px solid #dfe6f0;
  padding-block-end: 16px;
}
.foundation-sample .c1-dialog {
  max-width: min(90vw, 550px);
  padding: 28px;
}
.sample-motion {
  margin-block: 32px;
}

/* Semantic inline layout formerly supplied by prototype-only body selectors. */
.l1-product-menu > summary,
.l1-locale > summary {
  display: flex;
  align-items: center;
}
/* WCAG text contrast fixes; geometry and hierarchy remain R10. */
.pl1-toc-title,
.pl1-policy .pl1-number {
  color: #60718a;
}
.y2-keepsake-foot {
  color: #657189;
}

.y2-chat > span {
  color: #596c8c;
}
.brand,
.r3-foot-logo {
  font-family: var(--font-hans);
}
/* Preserve the sealed mobile wordmark proportions. */
@media (max-width: 600px) {
  .r2-brand-mark {
    width: 29px !important;
    height: 29px !important;
    font-size: 18px !important;
  }
}

/* R10 shared navigation: the homepage now participates in the active-route state. */
body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"] {
  background: transparent !important;
  color: #315ed1 !important;
}
body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"]::after {
  content: "";
  position: absolute;
  inset-inline: 13px;
  bottom: 2px;
  height: 2px;
  background: linear-gradient(90deg, #7166e6, #3d7be6);
  border-radius: 2px;
}
@media (max-width: 1100px) {
  body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"] {
    background: #f0f4ff !important;
  }
  body .s7-header .l1-nav > a:not(.primary-cta)[aria-current="page"]::after {
    display: none;
  }
}
/* R34 transient press feedback is independent from persistent selection. */
:where(main) button:not(:disabled):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px #1b2b4424;
}
:where(.b1-brain, .s1-spatial) :is(.b1-button, .s1-button):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px #1b2b4424;
}

/* Ten-language local previews: keep every option reachable in short viewports. */
body .s7-header .l1-locale-panel {
  width: max-content;
  background: #fff;
  max-height: calc(100dvh - 110px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.l1-locale-panel bdi {
  overflow-wrap: anywhere;
}

body .s7-header .l1-locale-panel a {
  text-decoration: none;
}
/* Keep the brand lockup and literal identifiers in their original direction. */
.brand,
.r3-foot-logo {
  direction: ltr;
  unicode-bidi: isolate;
}
[dir="rtl"] .c1-path-arrow .ui-icon {
  transform: scaleX(-1);
}

/* Grid must not stretch a Latin brand lockup across its RTL column. */
#site-footer.r3-footer .r3-foot-logo {
  width: max-content;
  white-space: nowrap;
  overflow-wrap: normal;
}
/* Keep the mark and wordmark intact when a browser enlarges text. */
#site-footer.r3-footer .r3-foot-logo > span {
  flex-shrink: 0;
}

/* Engineering semantics around the accepted home layout. */
.r2-home button:disabled {
  cursor: default;
}
/* Long translated labels must not push the first/last control outside the stage. */
.m6-home .m6-toolbar,
.m6-home .m6-selectors {
  flex-wrap: wrap;
  max-inline-size: 100%;
}
.m6-home .m6-selectors {
  justify-content: center;
}
.r2-home .m6-play .ui-icon,
.r2-home .m6-replay .ui-icon {
  width: 20px;
  height: 20px;
}
.r2-home .m5-play .ui-icon {
  width: 12px;
  height: 12px;
}
.r2-home .k1-input .ui-icon {
  width: 20px;
  height: 20px;
}
.r2-home [hidden] {
  display: none !important;
}
/* R10 H5 panel transition: remount on selection cancels the previous run. */
.r2-home .r5-capability-panel[data-switching="true"] p:not([hidden]) {
  animation: r5-capability-in 0.24s ease-out;
}
@keyframes r5-capability-in {
  from {
    opacity: 0.45;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .r2-home .r5-capability-panel[data-switching="true"] p:not([hidden]) {
    animation: none;
  }
}
/* The decorative SVG remains in its accepted direction; only navigation is mirrored. */
[dir="rtl"] .r2-home .r2-hero-copy {
  padding-right: 0;
  padding-inline-end: 22px;
}
[dir="rtl"] .r2-home .r2-lumi-copy {
  padding-left: 0;
  padding-inline-start: 42px;
}
[dir="rtl"] .r2-home .r2-paths {
  padding-left: 0;
  padding-inline-start: 38px;
}
[dir="rtl"]
  .r2-home
  :is(.m5-moment, .m5-steps button, .r2-delivery, .r2-scope) {
  text-align: start;
}
[dir="rtl"]
  .r2-home
  :is(.r2-button, .r2-text-link, .r2-domain-cta, .r2-path-arrow)
  .ui-icon {
  transform: scaleX(-1);
}
[dir="rtl"] .r2-home .m5-chain-arrow {
  transform: scaleX(-1);
}
@media (max-width: 1100px) {
  [dir="rtl"] .r2-home .r2-hero-copy {
    padding-inline-end: 20px;
  }
  [dir="rtl"] .r2-home .r2-lumi-copy {
    padding-inline-start: 28px;
  }
  [dir="rtl"] .r2-home .r2-paths {
    padding-inline-start: 0;
  }
}
@media (max-width: 700px) {
  [dir="rtl"] .r2-home .r2-hero-copy,
  [dir="rtl"] .r2-home .r2-lumi-copy {
    padding-inline: 0;
  }
}

/* Scoped legibility corrections to R10 small text; dimensions and layout stay intact. */
body .r2-home .r2-domain .r2-domain-label > span,
body .r2-home .r2-domain .r2-domain-need {
  color: #5b6c84;
}
@media (min-width: 701px) {
  body .r2-home .r2-domain-3 .r2-domain-label > span,
  body .r2-home .r2-domain-3 .r2-domain-need {
    color: #bdcbe0;
  }
}
body .r2-home .m5-steps button:not([aria-pressed="true"]) {
  color: #5b6c84;
}
body .r2-home .m5-node small {
  color: #526580;
}

/* R10 H3 entrance is once per mounted section; it never hides server content. */
.r2-home[data-motion] .r3-entered {
  animation: h3-enter 0.7s cubic-bezier(0.16, 0.7, 0.22, 1) backwards;
}
@keyframes h3-enter {
  from {
    opacity: 0.7;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.r2-home[data-motion="paused"] .r3-entered,
.r2-home[data-motion="paused"] .r5-capability-panel p {
  animation: none !important;
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  .r2-home .r3-entered {
    animation: none !important;
  }
}

/* R10's half-width scene at the 601–700px flex breakpoint must not depend on
   source-image intrinsic dimensions after responsive asset compression. */
@media (min-width: 601px) and (max-width: 700px) {
  .m5-home .r2-lumi-photo {
    flex: 0 0 50%;
  }
  .m5-home .r2-lumi-copy {
    flex: 1 1 0;
    min-width: 0;
  }
}
/* R34: the accepted press styles must win over more-specific hover selectors. */
body:has(.r2-home) .r2-home .r2-button:active {
  transform: translateY(0) !important;
  box-shadow: inset 0 2px 5px #16277b35 !important;
}
.r2-home .r2-domain:active {
  box-shadow: inset 0 0 0 1px #8eb5f3 !important;
}

/* Arabic reading order changes placement, never the accepted product artwork. */
@media (min-width: 1101px) {
  [dir="rtl"] .r2-home .r2-domain-0 .r2-domain-visual {
    left: 0;
    right: 40%;
  }
  [dir="rtl"] .r2-home .r2-domain-0 .r2-domain-visual::after {
    background: linear-gradient(270deg, #f8faff, transparent 38%);
  }
  [dir="rtl"] .r2-home .r2-domain-3 .r2-domain-visual {
    left: 0;
    right: 35%;
  }
  [dir="rtl"] .r2-home .r2-domain-3 .r2-domain-visual::after {
    background: linear-gradient(
      270deg,
      #14243e,
      #14243ebb 24%,
      transparent 77%
    );
  }
  [dir="rtl"] .r2-home.r2-home .r2-domain-2 .r2-domain-visual {
    inset: 88px 51% 12px 12px;
  }
}
