:root {
  --purple: #6F5CA8;
  --orange: #F1593A;
  --blue: #003366;
  --offwhite: #F7F8F9;
  --black: #000000;
  --white: #ffffff;
  --line: rgba(0, 0, 0, 0.08);
  --soft-line: rgba(0, 0, 0, 0.055);
  --muted: rgba(0, 0, 0, 0.62);
  --faint-purple: rgba(111, 92, 168, 0.065);
  --faint-blue: rgba(0, 51, 102, 0.08);
  --faint-orange: rgba(241, 89, 58, 0.08);
}

/* Enterprise product */
.enterprise-product-page {
  --enterprise-ink: #202332;
  --enterprise-soft: rgba(111, 92, 168, 0.055);
}

.enterprise-hero {
  background:
    linear-gradient(rgba(111, 92, 168, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111, 92, 168, 0.045) 1px, transparent 1px),
    var(--white);
  background-size: 160px 160px;
}

.enterprise-frame {
  border-color: rgba(32, 35, 50, 0.14);
  box-shadow: 0 28px 70px rgba(32, 35, 50, 0.11);
}

.enterprise-evidence,
.enterprise-industries,
.enterprise-delivery,
.enterprise-governance {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 100px 72px;
  border-bottom: 1px solid var(--line);
}

.enterprise-evidence .section-intro,
.enterprise-industries .section-intro,
.enterprise-delivery .section-intro {
  margin-bottom: 54px;
}

.evidence-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.evidence-strip article {
  min-height: 190px;
  padding: 30px;
  border-left: 1px solid var(--line);
}

.evidence-strip article:first-child {
  border-left: 0;
}

.evidence-strip strong {
  display: block;
  margin-bottom: 22px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 52px;
  line-height: 1;
  font-weight: 400;
}

.evidence-strip p,
.evidence-voices p,
.industry-row p,
.delivery-rail p,
.enterprise-control-list p,
.enterprise-pricing p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.58;
}

.evidence-voices {
  display: grid;
  grid-template-columns: 0.8fr 0.8fr 1.4fr;
  gap: 0;
  margin-top: 46px;
  border-top: 1px solid var(--line);
}

.evidence-voices figure,
.evidence-voices .evidence-note {
  margin: 0;
  padding: 28px 30px 0;
  border-left: 1px solid var(--line);
}

.evidence-voices figure:first-child {
  padding-left: 0;
  border-left: 0;
}

.evidence-voices blockquote {
  margin: 0 0 18px;
  color: var(--enterprise-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.35;
}

.evidence-voices figcaption {
  color: rgba(17, 24, 39, 0.56);
  font-size: 12px;
  font-weight: 700;
}

.evidence-note strong {
  color: var(--enterprise-ink);
}

.enterprise-industries {
  background: rgba(247, 248, 249, 0.5);
}

.industry-table {
  border-bottom: 1px solid var(--line);
}

.industry-row {
  display: grid;
  grid-template-columns: minmax(210px, 0.27fr) minmax(0, 0.35fr) minmax(0, 0.38fr);
  gap: 42px;
  align-items: start;
  padding: 30px 0;
  border-top: 1px solid var(--line);
}

.industry-row > div {
  display: grid;
  gap: 8px;
}

.industry-row small,
.enterprise-pricing small {
  color: var(--purple);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
}

.industry-row strong {
  color: var(--enterprise-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.12;
  font-weight: 400;
}

.enterprise-delivery {
  background: var(--white);
}

.delivery-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.delivery-rail article {
  min-height: 220px;
  padding: 30px;
  border-left: 1px solid var(--line);
}

.delivery-rail article:first-child {
  border-left: 0;
}

.delivery-rail span {
  display: block;
  margin-bottom: 34px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}

.delivery-rail strong,
.enterprise-control-list strong {
  display: block;
  margin-bottom: 12px;
  color: var(--enterprise-ink);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}

.enterprise-media-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  margin-top: 54px;
}

.enterprise-governance {
  display: grid;
  grid-template-columns: minmax(300px, 0.38fr) minmax(0, 0.62fr);
  gap: 72px;
  background: var(--enterprise-soft);
}

.enterprise-control-list {
  border-top: 1px solid var(--line);
}

.enterprise-control-list article {
  display: grid;
  grid-template-columns: minmax(150px, 0.34fr) minmax(0, 0.66fr);
  gap: 32px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.enterprise-pricing {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(250px, 0.3fr) minmax(0, 0.5fr) auto;
  gap: 44px;
  align-items: center;
  margin-top: 8px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
}

.enterprise-pricing > div {
  display: grid;
  gap: 7px;
}

.enterprise-pricing > div > strong {
  color: var(--enterprise-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 400;
}

.product-summary-enterprise small,
.product-summary-enterprise h3 {
  color: #202332;
}

@media (max-width: 1240px) {
  .enterprise-evidence,
  .enterprise-industries,
  .enterprise-delivery,
  .enterprise-governance {
    padding-left: 52px;
    padding-right: 52px;
  }

  .evidence-voices {
    grid-template-columns: 1fr 1fr;
  }

  .evidence-voices .evidence-note {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: 0;
  }
}

@media (max-width: 980px) {
  .evidence-strip,
  .delivery-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evidence-strip article:nth-child(3),
  .evidence-strip article:nth-child(4),
  .delivery-rail article:nth-child(3),
  .delivery-rail article:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .evidence-strip article:nth-child(3),
  .delivery-rail article:nth-child(3) {
    border-left: 0;
  }

  .industry-row {
    grid-template-columns: minmax(180px, 0.34fr) minmax(0, 0.66fr);
    gap: 18px 36px;
  }

  .industry-row > p:last-child {
    grid-column: 2;
  }

  .enterprise-media-pair,
  .enterprise-governance {
    grid-template-columns: 1fr;
  }

  .enterprise-pricing {
    grid-template-columns: 1fr auto;
  }

  .enterprise-pricing > p {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

@media (max-width: 680px) {
  .enterprise-evidence,
  .enterprise-industries,
  .enterprise-delivery,
  .enterprise-governance {
    padding: 72px 24px;
  }

  .evidence-strip,
  .evidence-voices,
  .delivery-rail,
  .industry-row,
  .enterprise-control-list article,
  .enterprise-pricing {
    grid-template-columns: 1fr;
  }

  .evidence-strip article,
  .evidence-strip article:nth-child(3),
  .evidence-strip article:nth-child(4),
  .delivery-rail article,
  .delivery-rail article:nth-child(3),
  .delivery-rail article:nth-child(4) {
    min-height: 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .evidence-strip article:first-child,
  .delivery-rail article:first-child {
    border-top: 0;
  }

  .evidence-voices figure,
  .evidence-voices figure:first-child,
  .evidence-voices .evidence-note {
    padding: 24px 0 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .evidence-voices figure:first-child {
    border-top: 0;
  }

  .industry-row > p:last-child,
  .enterprise-pricing > p {
    grid-column: auto;
    grid-row: auto;
  }

  .enterprise-pricing .button {
    width: 100%;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 92px;
}

body {
  min-width: 320px;
  margin: 0;
  color: var(--black);
  background:
    linear-gradient(90deg, rgba(111, 92, 168, 0.028) 1px, transparent 1px),
    linear-gradient(0deg, rgba(111, 92, 168, 0.028) 1px, transparent 1px),
    var(--white);
  background-size: 176px 176px;
  font-family: "Urbanist", Arial, sans-serif;
  letter-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

svg {
  display: block;
}

.defs {
  display: none;
}

.site-header,
.site-footer,
.hero,
.story-band,
.family-section,
.capabilities-section,
.testimonials-section,
.pricing-section,
.presence-section,
.integration-section,
.faq-section,
.company-section,
.about-hero,
.mission-section,
.values-section,
.people-section,
.contact-hero,
.contact-paths,
.contact-detail,
.contact-note,
.trust-section,
.final-cta {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  min-height: 86px;
  padding: 0 72px;
  background: rgba(255, 255, 255, 0.92);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  color: var(--purple);
}

.brand svg {
  width: 116px;
  height: 38px;
}

.site-header nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.site-header nav a,
.site-header .header-actions > a:not(.button) {
  color: rgba(0, 0, 0, 0.72);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.site-header nav a:hover,
.site-header .header-actions > a:not(.button):hover {
  color: var(--purple);
}

.header-actions,
.hero-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.button-primary {
  color: var(--white);
  background: var(--purple);
  border-color: var(--purple);
}

.button-secondary {
  color: var(--purple);
  background: var(--white);
  border-color: rgba(111, 92, 168, 0.3);
}

.button-invert {
  color: var(--purple);
  background: var(--white);
  border-color: var(--white);
}

.button-ghost {
  color: var(--white);
  background: transparent;
  border-color: rgba(255, 255, 255, 0.6);
}

.subpage-main {
  width: min(100%, 1440px);
  margin: 0 auto;
}

.subpage-hero {
  display: grid;
  grid-template-columns: minmax(320px, 0.46fr) minmax(0, 0.54fr);
  gap: 76px;
  align-items: end;
  min-height: 520px;
  padding: 112px 88px 96px;
  border-bottom: 1px solid var(--line);
}

.subpage-hero h1 {
  max-width: 700px;
}

.subpage-hero > div > p:not(.eyebrow) {
  max-width: 540px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.62;
  font-weight: 500;
}

.subpage-meta {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 28px;
  background: rgba(247, 248, 249, 0.72);
  border: 1px solid var(--line);
}

.subpage-meta strong {
  color: var(--black);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
}

.subpage-meta span,
.subpage-meta p {
  color: rgba(0, 0, 0, 0.6);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
}

.subpage-meta p {
  margin: 0;
}

.subpage-content {
  display: grid;
  grid-template-columns: minmax(220px, 0.28fr) minmax(0, 0.72fr);
  gap: 76px;
  padding: 86px 88px 116px;
  border-bottom: 1px solid var(--line);
}

.page-index {
  position: sticky;
  top: 118px;
  align-self: start;
  display: grid;
  gap: 12px;
}

.page-index strong {
  margin-bottom: 8px;
  color: var(--black);
  font-size: 14px;
  font-weight: 800;
}

.page-index a {
  color: rgba(0, 0, 0, 0.62);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
}

.page-index a:hover {
  color: var(--purple);
}

.legal-stack {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.legal-panel {
  padding: 34px 38px;
  background: rgba(255, 255, 255, 0.92);
}

.legal-panel h2,
.support-section h2 {
  margin: 0;
  color: var(--black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.16;
  font-weight: 400;
}

.legal-panel p,
.legal-panel li,
.support-section p,
.support-section li {
  color: rgba(0, 0, 0, 0.64);
  font-size: 15px;
  line-height: 1.62;
  font-weight: 500;
}

.legal-panel p {
  margin: 18px 0 0;
}

.legal-panel ul,
.support-section ul {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding-left: 19px;
}

.support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.support-card {
  min-height: 240px;
  padding: 34px;
  background: rgba(255, 255, 255, 0.92);
}

.support-card strong {
  display: block;
  margin-bottom: 14px;
  color: var(--black);
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
}

.support-card p {
  margin: 0 0 24px;
}

.support-section {
  margin-top: 70px;
}

.support-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 30px;
  background: var(--line);
  border: 1px solid var(--line);
}

.support-directory article {
  min-height: 166px;
  padding: 28px;
  background: rgba(255, 255, 255, 0.92);
}

.support-directory strong {
  display: block;
  color: var(--black);
  font-size: 15px;
  line-height: 1.25;
  font-weight: 800;
}

.support-directory p {
  margin: 12px 0 0;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(520px, 1.22fr);
  gap: 42px;
  align-items: center;
  min-height: 770px;
  padding: 104px 88px 118px;
}

.hero-copy {
  max-width: 520px;
}

.eyebrow {
  margin: 0 0 22px;
  color: var(--purple);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
}

h1,
h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  letter-spacing: 0;
}

h1 {
  max-width: 650px;
  font-size: 68px;
  line-height: 1.08;
}

h2 {
  font-size: 48px;
  line-height: 1.12;
}

.hero-line {
  margin: 30px 0 0;
  color: rgba(0, 0, 0, 0.82);
  font-size: 20px;
  line-height: 1.45;
  font-weight: 500;
}

.hero-copy > p:not(.eyebrow):not(.hero-line),
.section-intro p,
.story-copy p,
.trust-copy p,
.testimonials-section p,
.cta-copy p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.hero-copy > p:not(.eyebrow):not(.hero-line) {
  max-width: 440px;
  margin: 18px 0 0;
}

.hero-actions {
  flex-wrap: wrap;
  margin-top: 34px;
}

.product-orbit {
  position: relative;
  min-height: 520px;
}

.product-orbit::before {
  content: "";
  position: absolute;
  top: 86px;
  left: 50%;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 50%;
  transform: translateX(-50%);
}

.orbit-core {
  position: absolute;
  top: 238px;
  left: 50%;
  color: var(--purple);
  font-size: 38px;
  line-height: 1;
  font-weight: 700;
  transform: translateX(-50%);
}

.orbit-item {
  position: absolute;
  display: grid;
  grid-template-columns: 66px minmax(0, 170px);
  gap: 15px;
  align-items: center;
  color: var(--black);
}

.orbit-item strong {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
}

.orbit-item p {
  margin: 0;
  color: rgba(0, 0, 0, 0.6);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}

.orbit-icon {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  color: currentColor;
  background: var(--white);
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.07);
}

.orbit-icon svg {
  width: 32px;
  height: 32px;
}

/* Three orbit entries straddle the ring's vertical centre. The consumer
   entry that used to sit at the top of the arc is not currently shown, so
   the remaining two are spaced evenly around the centre instead of leaving
   a gap where it was. */
.orbit-prosumer {
  top: 148px;
  left: 58%;
  color: var(--orange);
}

.orbit-prosumer .orbit-icon {
  border-color: rgba(241, 89, 58, 0.24);
}

.orbit-enterprise {
  bottom: 136px;
  left: 58%;
  color: var(--blue);
}

.orbit-proja {
  top: 220px;
  left: 2%;
  grid-template-columns: minmax(0, 170px) 66px;
  color: var(--black);
  text-align: right;
}

.orbit-proja .orbit-icon {
  grid-column: 2;
  grid-row: 1;
}

.orbit-proja div {
  grid-column: 1;
  grid-row: 1;
}

.story-band {
  display: grid;
  grid-template-columns: minmax(420px, 0.42fr) minmax(0, 0.58fr);
  min-height: 470px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(247, 248, 249, 0.74);
}

.story-copy {
  padding: 92px 64px 92px 88px;
}

.story-copy p,
.section-intro p,
.trust-copy p,
.cta-copy p {
  max-width: 430px;
  margin: 22px 0 0;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 30px;
  color: var(--purple);
  font-size: 15px;
  font-weight: 700;
}

.text-link::after {
  content: "->";
  font-size: 15px;
}

.quiet-scene {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(247, 248, 249, 0.1), rgba(255, 255, 255, 0.86) 45%, rgba(247, 248, 249, 0.18)),
    var(--white);
  border-left: 1px solid rgba(0, 0, 0, 0.055);
}

.steps {
  position: absolute;
  left: 18%;
  right: 18%;
  bottom: 54px;
  height: 230px;
}

.steps span {
  position: absolute;
  left: calc(var(--i) * 9%);
  bottom: calc(var(--i) * 26px);
  width: calc(72% - var(--i) * 8%);
  height: 28px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(0, 0, 0, 0.055);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.035);
}

.steps span:nth-child(1) {
  --i: 0;
}

.steps span:nth-child(2) {
  --i: 1;
}

.steps span:nth-child(3) {
  --i: 2;
}

.steps span:nth-child(4) {
  --i: 3;
}

.steps span:nth-child(5) {
  --i: 4;
}

.branch {
  position: absolute;
  right: 42px;
  top: 112px;
  width: 160px;
  height: 250px;
}

.branch::before {
  content: "";
  position: absolute;
  right: 62px;
  top: 20px;
  width: 1px;
  height: 220px;
  background: rgba(0, 51, 102, 0.22);
  transform: rotate(-20deg);
}

.branch span {
  position: absolute;
  width: 34px;
  height: 16px;
  border: 1px solid rgba(0, 51, 102, 0.26);
  border-radius: 50%;
  transform: rotate(-24deg);
}

.branch span:nth-child(1) {
  right: 48px;
  top: 40px;
}

.branch span:nth-child(2) {
  right: 82px;
  top: 88px;
}

.branch span:nth-child(3) {
  right: 34px;
  top: 136px;
}

.branch span:nth-child(4) {
  right: 74px;
  top: 188px;
}

.workflow-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  width: min(100%, 1440px);
  margin: 0 auto;
  border-bottom: 1px solid var(--line);
}

.workflow-strip article {
  min-height: 220px;
  padding: 42px 32px;
  border-right: 1px solid var(--line);
}

.workflow-strip article:last-child {
  border-right: 0;
}

.workflow-strip svg,
.trust-grid svg {
  width: 38px;
  height: 38px;
  margin-bottom: 24px;
}

.workflow-strip article:nth-child(1) svg,
.workflow-strip article:nth-child(5) svg,
.trust-grid article:nth-child(1) svg {
  color: var(--purple);
}

.workflow-strip article:nth-child(2) svg,
.workflow-strip article:nth-child(4) svg,
.trust-grid article:nth-child(3) svg {
  color: var(--orange);
}

.workflow-strip article:nth-child(3) svg,
.trust-grid article:nth-child(2) svg,
.trust-grid article:nth-child(4) svg {
  color: var(--blue);
}

.workflow-strip strong,
.family-grid strong,
.capability-grid strong,
.trust-grid strong {
  display: block;
  font-size: 16px;
  line-height: 1.18;
  font-weight: 800;
}

.workflow-strip p,
.family-grid p,
.capability-grid p,
.pricing-grid p,
.trust-grid p,
.presence-points p,
.integration-list p,
.faq-grid p,
.values-grid p,
.people-grid p,
.company-section p,
.contact-paths p,
.contact-detail p {
  margin: 14px 0 0;
  color: rgba(0, 0, 0, 0.64);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 500;
}

.family-section,
.capabilities-section,
.testimonials-section,
.pricing-section,
.presence-section,
.integration-section,
.faq-section,
.company-section,
.values-section,
.people-section,
.contact-detail,
.contact-note,
.trust-section {
  padding: 108px 88px;
  border-bottom: 1px solid var(--line);
}

.presence-section {
  background: rgba(255, 255, 255, 0.86);
}

.presence-copy {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
  gap: 20px 64px;
  align-items: start;
  margin-bottom: 66px;
}

.presence-copy .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.presence-copy > p:not(.eyebrow) {
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.presence-points {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 30px;
  background: var(--line);
  border: 1px solid var(--line);
}

.presence-points article {
  min-height: 150px;
  padding: 26px;
  background: var(--white);
}

.presence-points strong,
.integration-list strong,
.faq-grid strong,
.values-grid strong,
.people-grid strong,
.office-grid strong {
  display: block;
  color: var(--black);
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}

.presence-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  gap: 28px;
  align-items: start;
}

.presence-image,
.product-frame {
  margin: 0;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.06);
}

.presence-image img,
.product-frame img {
  display: block;
  width: 100%;
  height: auto;
}

.presence-image figcaption {
  padding: 16px 18px 18px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
  border-top: 1px solid var(--line);
}

.integration-section {
  background: rgba(247, 248, 249, 0.52);
}

.integration-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(300px, 0.84fr);
  gap: 58px;
  align-items: center;
}

.integration-list {
  border-top: 1px solid var(--line);
}

.integration-list article {
  padding: 24px 0 26px;
  border-bottom: 1px solid var(--line);
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.faq-grid article {
  min-height: 186px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.94);
}

.company-section {
  display: grid;
  grid-template-columns: minmax(300px, 0.48fr) minmax(0, 0.52fr);
  gap: 78px;
  align-items: start;
}

.company-copy > p:not(.eyebrow) {
  max-width: 540px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.company-facts {
  display: grid;
  border-top: 1px solid var(--line);
}

.company-facts article {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 26px;
  align-items: baseline;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.company-facts strong {
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  line-height: 1;
  font-weight: 400;
}

.company-facts span {
  color: rgba(0, 0, 0, 0.64);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

.about-hero,
.contact-hero {
  display: grid;
  grid-template-columns: minmax(340px, 0.52fr) minmax(0, 0.48fr);
  gap: 72px;
  align-items: end;
  min-height: 600px;
  padding: 132px 88px 104px;
  border-bottom: 1px solid var(--line);
}

.about-hero-copy > p:not(.hero-line),
.contact-primary > p {
  max-width: 520px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.mission-section {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(340px, 0.42fr);
  gap: 82px;
  align-items: start;
  padding: 108px 88px;
  border-bottom: 1px solid var(--line);
  background: rgba(247, 248, 249, 0.52);
}

.mission-copy p:not(.eyebrow) {
  max-width: 680px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.68;
  font-weight: 500;
}

.founder-quote {
  margin: 0;
  padding: 34px 0 0 36px;
  border-left: 1px solid rgba(111, 92, 168, 0.34);
}

.founder-quote > p {
  margin: 0;
  color: var(--black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  line-height: 1.34;
}

.founder-quote footer {
  display: grid;
  gap: 6px;
  margin-top: 28px;
}

.founder-quote strong {
  font-size: 15px;
  font-weight: 800;
}

.founder-quote span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.values-grid article {
  min-height: 220px;
  padding: 32px;
  border-left: 1px solid var(--line);
}

.values-grid article:first-child {
  border-left: 0;
}

.people-layout {
  display: grid;
  gap: 72px;
}

.people-layout h3 {
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 800;
}

.people-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 42px 24px;
}

.people-grid article {
  min-width: 0;
}

.person-photo {
  position: relative;
  overflow: hidden;
  aspect-ratio: 295 / 329;
  margin-bottom: 20px;
  background: rgba(247, 248, 249, 0.92);
  border: 1px solid var(--line);
  border-radius: 4px;
}

.person-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.people-grid span {
  display: block;
  margin-top: 7px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 13px;
  line-height: 1.4;
  font-weight: 500;
}

.office-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.office-grid article {
  min-height: 190px;
  padding: 28px;
  background: var(--white);
}

.office-grid p {
  margin-top: 18px;
}

.contact-primary {
  align-self: end;
}

.contact-email {
  display: inline-block;
  margin-top: 30px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.2;
}

.contact-paths {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0 88px;
  border-bottom: 1px solid var(--line);
}

.contact-paths article {
  min-height: 410px;
  padding: 64px 34px;
  border-left: 1px solid var(--line);
}

.contact-paths article:first-child {
  border-left: 0;
}

.contact-paths small {
  display: block;
  margin-bottom: 28px;
  color: var(--purple);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
}

.contact-paths h2 {
  font-size: 34px;
}

.contact-paths p {
  min-height: 92px;
  margin-bottom: 28px;
}

.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
}

.contact-actions .text-link {
  margin-top: 0;
}

.contact-detail,
.contact-note {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
  gap: 70px;
}

.contact-detail > div:first-child > p:not(.eyebrow) {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.contact-note {
  background: rgba(247, 248, 249, 0.56);
}

.contact-note-list {
  display: grid;
  border-top: 1px solid var(--line);
}

.contact-note-list span {
  padding: 20px 0;
  color: rgba(0, 0, 0, 0.7);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 650;
  border-bottom: 1px solid var(--line);
}

.section-intro {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
  gap: 64px;
  align-items: start;
  margin-bottom: 64px;
}

.section-intro .eyebrow {
  grid-column: 1 / -1;
  margin-bottom: -36px;
}

.section-intro.narrow {
  display: block;
  max-width: 720px;
}

.section-intro.narrow .eyebrow {
  margin-bottom: 22px;
}

.section-intro.narrow p {
  max-width: 560px;
}

.family-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.family-grid article {
  min-height: 340px;
  padding: 28px 24px 32px;
  border-left: 1px solid var(--line);
}

.family-grid article:first-child {
  border-left: 0;
}

.family-grid article.current {
  background: linear-gradient(180deg, rgba(241, 89, 58, 0.06), transparent 58%);
}

.product-icon {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  margin-bottom: 30px;
  background: rgba(247, 248, 249, 0.74);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 50%;
}

.product-icon svg {
  width: 38px;
  height: 38px;
}

.family-grid article:nth-child(1) .product-icon,
.family-grid article:nth-child(1) small,
.family-grid article:nth-child(1) strong {
  color: var(--purple);
}

.family-grid article:nth-child(2) .product-icon,
.family-grid article:nth-child(2) small,
.family-grid article:nth-child(2) strong {
  color: var(--orange);
}

.family-grid article:nth-child(3) .product-icon,
.family-grid article:nth-child(3) small,
.family-grid article:nth-child(3) strong {
  color: var(--blue);
}

.family-grid article:nth-child(4) .product-icon,
.family-grid article:nth-child(4) small,
.family-grid article:nth-child(4) strong {
  color: var(--black);
}

.family-grid small,
.pricing-grid small {
  display: block;
  margin-bottom: 14px;
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
}

.placeholder-link {
  display: inline-flex;
  margin-top: 30px;
  color: rgba(0, 0, 0, 0.46);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.capability-grid article {
  min-height: 176px;
  padding: 30px;
  background: rgba(255, 255, 255, 0.9);
}

.testimonials-section {
  background: rgba(255, 255, 255, 0.82);
}

.testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.testimonial-grid figure,
.proof-card {
  min-height: 300px;
  margin: 0;
  padding: 34px 34px 38px;
  border-left: 1px solid var(--line);
}

.testimonial-grid figure:first-child {
  border-left: 0;
}

.testimonial-grid blockquote {
  max-width: 410px;
  margin: 0;
  color: var(--black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  line-height: 1.26;
  font-weight: 400;
}

.testimonial-grid figcaption {
  margin-top: 34px;
}

.testimonial-grid figcaption strong,
.proof-card strong {
  display: block;
  color: var(--black);
  font-size: 16px;
  line-height: 1.25;
  font-weight: 800;
}

.testimonial-grid figcaption span {
  display: block;
  margin-top: 8px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
}

.proof-card {
  background: linear-gradient(180deg, rgba(111, 92, 168, 0.055), transparent 62%);
}

.proof-card small {
  display: block;
  margin-bottom: 18px;
  color: var(--purple);
  font-size: 12px;
  line-height: 1.15;
  font-weight: 800;
}

.proof-card strong {
  max-width: 320px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.12;
  font-weight: 400;
}

.proof-card p {
  max-width: 340px;
  margin: 28px 0 0;
  color: rgba(0, 0, 0, 0.62);
  font-size: 14px;
  line-height: 1.58;
  font-weight: 500;
}

.pricing-section {
  background: rgba(247, 248, 249, 0.56);
}

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(0, 0, 0, 0.07);
  border: 1px solid rgba(0, 0, 0, 0.07);
}

.pricing-grid article {
  min-height: 220px;
  padding: 30px 28px;
  background: var(--white);
}

.pricing-grid small {
  color: var(--purple);
}

.pricing-grid strong {
  display: block;
  color: var(--black);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  line-height: 1;
  font-weight: 400;
}

.pricing-grid article:nth-child(-n + 3) strong::after {
  content: " /mo";
  color: rgba(0, 0, 0, 0.48);
  font-family: "Urbanist", Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
}

.pricing-grid article {
  display: flex;
  flex-direction: column;
}

.pricing-grid article.pricing-featured {
  box-shadow: inset 0 3px 0 var(--purple);
}

.pricing-badge {
  display: inline-block;
  margin-left: 6px;
  padding: 3px 7px;
  border-radius: 3px;
  color: var(--purple);
  background: rgba(111, 92, 168, 0.11);
  font-size: 9.5px;
  font-weight: 800;
}

.pricing-grid .pricing-points {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 13px;
}

.pricing-points b {
  color: var(--black);
  font-weight: 800;
}

.pricing-grid ul {
  display: grid;
  margin: 14px 0 26px;
  padding: 0;
  list-style: none;
}

.pricing-grid li {
  padding: 9px 0;
  border-top: 1px solid var(--soft-line);
  color: rgba(0, 0, 0, 0.64);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}

.pricing-grid li:first-child {
  border-top: 0;
}

.pricing-grid .button {
  margin-top: auto;
  width: 100%;
}

.trust-section {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 0.58fr);
  gap: 74px;
  align-items: start;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 42px 46px;
}

.final-cta {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(0, 1.18fr);
  align-items: center;
  min-height: 430px;
  padding: 74px 88px;
  color: var(--white);
  background: var(--purple);
}

.final-cta h2 {
  max-width: 560px;
  font-size: 46px;
}

.final-cta p {
  color: rgba(255, 255, 255, 0.76);
}

.cta-mark {
  position: relative;
  min-height: 290px;
  opacity: 0.32;
}

.cta-mark::before {
  content: "";
  position: absolute;
  left: -150px;
  top: -28px;
  width: 360px;
  height: 360px;
  border: 2px solid var(--white);
  border-radius: 50%;
}

.cta-mark span {
  position: absolute;
  display: block;
  width: 72px;
  height: 72px;
  border: 2px solid var(--white);
  border-radius: 50%;
}

.cta-mark span:nth-child(1) {
  left: 0;
  top: 158px;
}

.cta-mark span:nth-child(2) {
  left: 108px;
  top: 102px;
  width: 96px;
  height: 96px;
}

.cta-mark span:nth-child(3) {
  left: 206px;
  top: 132px;
  width: 88px;
  height: 88px;
}

.cta-mark span:nth-child(4) {
  left: 164px;
  top: 20px;
  width: 56px;
  height: 56px;
}

.cta-mark span:nth-child(5) {
  left: 122px;
  top: 244px;
  width: 58px;
  height: 58px;
}

.site-footer {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 88px 34px;
  background: var(--offwhite);
  color: rgba(0, 0, 0, 0.72);
}

.footer-notes,
.footer-map,
.footer-more,
.footer-bottom {
  width: min(100%, 1280px);
  margin-left: auto;
  margin-right: auto;
}

.footer-notes {
  display: grid;
  gap: 12px;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.footer-notes p,
.footer-more,
.footer-bottom,
.footer-column a {
  /* Only the block margins: .footer-more and .footer-bottom are centred by
     the auto inline margins set above, and a blanket `margin: 0` here would
     silently undo that and left-align them against the centred rows. */
  margin-block: 0;
  color: rgba(0, 0, 0, 0.58);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 500;
}

.footer-map {
  display: grid;
  /* One track per column. The Nithani column is not currently shown, so this
     is four rather than the five the design started with; put the fifth track
     back when it returns. */
  grid-template-columns: 1.1fr 1.1fr 1fr 1fr;
  gap: 56px;
  padding: 32px 0 44px;
}

.footer-column {
  display: grid;
  align-content: start;
  gap: 12px;
}

.footer-column h3 {
  margin: 0 0 2px;
  color: rgba(0, 0, 0, 0.86);
  font-size: 14px;
  line-height: 1.2;
  font-weight: 800;
}

.footer-column a:hover,
.footer-more a:hover,
.footer-bottom a:hover {
  color: var(--purple);
}

.footer-more {
  padding: 0 0 24px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
}

.footer-more a,
.footer-bottom a {
  color: var(--purple);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 28px;
  align-items: center;
  padding-top: 24px;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}

.footer-bottom nav a {
  color: rgba(0, 0, 0, 0.66);
  text-decoration: none;
}

.footer-bottom nav a + a::before {
  content: "|";
  margin: 0 10px;
  color: rgba(0, 0, 0, 0.4);
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-columns: 140px minmax(0, 1fr);
    padding: 0 42px;
  }

  .site-header nav {
    justify-content: end;
  }

  .header-actions {
    display: none;
  }

  .hero {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 86px 56px 92px;
  }

  .subpage-hero,
  .subpage-content,
  .about-hero,
  .contact-hero,
  .mission-section {
    grid-template-columns: 1fr;
    gap: 46px;
    padding-left: 56px;
    padding-right: 56px;
  }

  .subpage-hero {
    min-height: 0;
    padding-top: 86px;
  }

  .page-index {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    padding-bottom: 26px;
    border-bottom: 1px solid var(--line);
  }

  .page-index strong {
    grid-column: 1 / -1;
  }

  .support-grid {
    grid-template-columns: 1fr;
  }

  .hero-copy {
    max-width: 640px;
  }

  .product-orbit {
    width: min(100%, 760px);
    margin: 0 auto;
  }

  .story-band,
  .trust-section,
  .presence-copy,
  .company-section,
  .integration-layout,
  .people-layout,
  .contact-detail,
  .contact-note {
    grid-template-columns: 1fr;
  }

  .about-hero,
  .contact-hero {
    min-height: 0;
    padding-top: 96px;
    padding-bottom: 86px;
  }

  .mission-section {
    padding-top: 86px;
    padding-bottom: 86px;
  }

  .contact-paths {
    grid-template-columns: 1fr;
    padding-left: 56px;
    padding-right: 56px;
  }

  .contact-paths article {
    min-height: 0;
    padding: 50px 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .contact-paths article:first-child {
    border-top: 0;
  }

  .contact-paths p {
    min-height: 0;
  }

  .story-copy {
    padding: 86px 56px 20px;
  }

  .quiet-scene {
    min-height: 390px;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .workflow-strip,
  .family-grid,
  .pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .workflow-strip article:nth-child(2n),
  .family-grid article:nth-child(2n) {
    border-right: 0;
  }

  .workflow-strip article:nth-child(5) {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .family-grid article {
    border-top: 1px solid var(--line);
  }

  .family-grid article:nth-child(1),
  .family-grid article:nth-child(2) {
    border-top: 0;
  }

  .capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .people-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .family-section,
  .capabilities-section,
  .testimonials-section,
  .pricing-section,
  .presence-section,
  .integration-section,
  .faq-section,
  .company-section,
  .values-section,
  .people-section,
  .contact-detail,
  .contact-note,
  .trust-section,
  .final-cta {
    padding-left: 56px;
    padding-right: 56px;
  }

  .testimonial-grid {
    grid-template-columns: 1fr;
  }

  .presence-gallery {
    grid-template-columns: 1fr;
  }

  .testimonial-grid figure,
  .proof-card {
    min-height: auto;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .testimonial-grid figure:first-child {
    border-top: 0;
  }

  .footer-map {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 42px;
  }

  .footer-bottom {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 760px) {
  body {
    background-size: 128px 128px;
  }

  .site-header {
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 10px;
    min-height: 86px;
    padding: 18px 24px;
  }

  .brand svg {
    width: 100px;
    height: 33px;
  }

  .site-header nav {
    width: 100%;
    justify-content: start;
    gap: 18px;
    overflow-x: auto;
    padding-bottom: 2px;
  }

  .site-header nav a {
    font-size: 12px;
  }

  .hero,
  .family-section,
  .capabilities-section,
  .testimonials-section,
  .pricing-section,
  .presence-section,
  .integration-section,
  .faq-section,
  .company-section,
  .values-section,
  .people-section,
  .contact-detail,
  .contact-note,
  .trust-section,
  .final-cta {
    padding-left: 24px;
    padding-right: 24px;
  }

  .hero {
    padding-top: 74px;
    padding-bottom: 64px;
    gap: 44px;
  }

  h1 {
    font-size: 44px;
    line-height: 1.12;
  }

  h2,
  .final-cta h2 {
    font-size: 36px;
    line-height: 1.16;
  }

  .hero-line {
    font-size: 18px;
  }

  .subpage-hero,
  .subpage-content,
  .about-hero,
  .contact-hero,
  .mission-section {
    padding-left: 24px;
    padding-right: 24px;
  }

  .about-hero,
  .contact-hero {
    padding-top: 74px;
    padding-bottom: 64px;
  }

  .mission-section {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .subpage-hero {
    padding-top: 72px;
    padding-bottom: 58px;
  }

  .subpage-content {
    padding-top: 52px;
    padding-bottom: 74px;
  }

  .subpage-meta,
  .legal-panel,
  .support-card,
  .support-directory article {
    padding: 24px;
  }

  .legal-panel h2,
  .support-section h2 {
    font-size: 29px;
  }

  .page-index,
  .support-directory {
    grid-template-columns: 1fr;
  }

  .hero-actions {
    align-items: stretch;
  }

  .hero-actions .button {
    width: 100%;
  }

  .product-orbit {
    display: grid;
    gap: 14px;
    min-height: 0;
  }

  .product-orbit::before,
  .orbit-core {
    display: none;
  }

  .orbit-item,
  .orbit-proja {
    position: static;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 86px;
    padding: 14px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--line);
    text-align: left;
  }

  .orbit-proja .orbit-icon,
  .orbit-proja div {
    grid-column: auto;
    grid-row: auto;
  }

  .orbit-icon {
    width: 54px;
    height: 54px;
  }

  .orbit-icon svg {
    width: 28px;
    height: 28px;
  }

  .story-copy {
    padding: 72px 24px 18px;
  }

  .quiet-scene {
    min-height: 300px;
  }

  .steps {
    left: 10%;
    right: 20%;
    bottom: 34px;
  }

  .branch {
    right: -8px;
    top: 58px;
    transform: scale(0.78);
  }

  .workflow-strip,
  .family-grid,
  .capability-grid,
  .pricing-grid,
  .presence-points,
  .faq-grid,
  .values-grid,
  .office-grid,
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .people-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 16px;
  }

  .presence-copy {
    display: block;
    margin-bottom: 46px;
  }

  .presence-copy > p:not(.eyebrow) {
    margin-top: 24px;
  }

  .presence-points {
    margin-top: 36px;
  }

  .integration-layout,
  .people-layout {
    gap: 44px;
  }

  .values-grid article {
    min-height: auto;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .values-grid article:first-child {
    border-top: 0;
  }

  .company-facts article {
    grid-template-columns: 82px minmax(0, 1fr);
  }

  .advisor-list {
    grid-template-columns: 1fr;
  }

  .founder-quote {
    padding-left: 24px;
  }

  .founder-quote > p {
    font-size: 24px;
  }

  .contact-email {
    font-size: 23px;
    overflow-wrap: anywhere;
  }

  .contact-paths {
    padding-left: 24px;
    padding-right: 24px;
  }

  .contact-detail,
  .contact-note {
    gap: 44px;
  }

  .workflow-strip article,
  .family-grid article {
    min-height: auto;
    border-right: 0;
    border-top: 1px solid var(--line);
  }

  .workflow-strip article:first-child,
  .family-grid article:first-child {
    border-top: 0;
  }

  .section-intro {
    display: block;
    margin-bottom: 42px;
  }

  .section-intro .eyebrow {
    margin-bottom: 22px;
  }

  .capability-grid article,
  .pricing-grid article {
    min-height: auto;
  }

  .testimonial-grid blockquote {
    font-size: 23px;
  }

  .trust-section {
    gap: 42px;
  }

  .final-cta {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 76px;
    padding-bottom: 82px;
  }

  .cta-mark {
    display: none;
  }

  .site-footer {
    padding: 28px 24px 32px;
  }

  .footer-map {
    grid-template-columns: 1fr 1fr;
    gap: 28px 30px;
    padding-bottom: 34px;
  }

  .footer-bottom nav {
    display: block;
  }

  .footer-bottom nav a {
    display: inline-block;
    margin: 0 14px 8px 0;
  }

  .footer-bottom nav a + a::before {
    display: none;
  }
}

@media (max-width: 460px) {
  .people-grid {
    grid-template-columns: 1fr;
  }
}

/* Two-product website refresh */
:root {
  --nithani: #0b9682;
  --nithani-dark: #005b4f;
  --nithani-soft: rgba(11, 150, 130, 0.08);
}

.site-header {
  grid-template-columns: 116px minmax(0, 1fr) auto;
  gap: 24px;
  min-height: 76px;
  padding: 0 48px;
}

.brand img {
  display: block;
  width: 108px;
  height: auto;
}

.site-header nav {
  gap: 24px;
}

.site-header nav a {
  font-size: 12.5px;
  font-weight: 700;
}

.products-menu {
  position: relative;
}

.products-menu summary {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(0, 0, 0, 0.72);
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  list-style: none;
}

.products-menu summary::-webkit-details-marker {
  display: none;
}

.products-menu summary::after {
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  content: "";
  transform: rotate(45deg);
  transition: transform 160ms ease, margin 160ms ease;
}

.products-menu[open] summary,
.products-menu summary:hover {
  color: var(--purple);
}

.products-menu[open] summary::after {
  margin-top: 3px;
  transform: rotate(225deg);
}

.products-menu summary:focus-visible {
  outline: 2px solid rgba(111, 92, 168, 0.38);
  outline-offset: 6px;
  border-radius: 2px;
}

.products-dropdown {
  position: absolute;
  z-index: 50;
  top: calc(100% + 18px);
  left: -16px;
  display: grid;
  width: 270px;
  padding: 8px;
  border: 1px solid rgba(17, 24, 39, 0.1);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 42px rgba(23, 21, 32, 0.14);
}

.products-dropdown::before {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 18px;
  content: "";
}

.site-header nav .products-dropdown a {
  display: grid;
  gap: 3px;
  padding: 12px 13px;
  border-radius: 4px;
  color: var(--ink);
}

.site-header nav .products-dropdown a:hover,
.site-header nav .products-dropdown a[aria-current="page"] {
  color: var(--ink);
  background: rgba(111, 92, 168, 0.07);
}

.products-dropdown strong {
  font-size: 13px;
  line-height: 1.3;
}

.products-dropdown span {
  color: rgba(17, 24, 39, 0.58);
  font-size: 11.5px;
  font-weight: 500;
  line-height: 1.35;
}

.header-signins {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-signins > span {
  margin-right: 2px;
  color: rgba(0, 0, 0, 0.46);
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
}

.header-signins > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(111, 92, 168, 0.28);
  border-radius: 4px;
  color: var(--purple);
  background: var(--white);
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  white-space: nowrap;
}

.header-signins > a.signin-nithani {
  color: var(--nithani-dark);
  border-color: rgba(11, 150, 130, 0.28);
}

.header-signins > a.signin-legacy {
  color: rgba(0, 0, 0, 0.58);
  border-color: rgba(0, 0, 0, 0.14);
  font-weight: 700;
}

.header-signins > a.signin-legacy:hover {
  color: rgba(0, 0, 0, 0.78);
  border-color: rgba(0, 0, 0, 0.24);
}

.header-signins > a.signin-current {
  color: var(--white);
  background: var(--purple);
  border-color: var(--purple);
}

.header-signins > a.signin-current:hover {
  background: #5c4b91;
  border-color: #5c4b91;
}

.cta-note {
  margin-top: 10px;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}

.site-fold,
.home-hero,
.two-products-section,
.relationship-section,
.shared-foundation,
.product-hero,
.product-fold,
.proof-action-fold,
.nithani-coach-fold {
  width: min(100%, 1440px);
  margin: 0 auto;
  padding: 100px 72px;
  border-bottom: 1px solid var(--line);
}

.home-hero,
.product-hero {
  display: grid;
  grid-template-columns: minmax(360px, 0.42fr) minmax(0, 0.58fr);
  gap: 68px;
  align-items: center;
  min-height: 760px;
}

.fold-copy {
  max-width: 560px;
}

.fold-copy > p:not(.eyebrow):not(.hero-line),
.product-summary > div > p,
.shared-foundation .fold-copy > p,
.foundation-list p,
.relationship-flow p,
.three-benefits p,
.four-benefits p,
.coach-outcomes p,
.trust-and-action p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 500;
}

.fold-copy > p:not(.eyebrow):not(.hero-line) {
  margin: 20px 0 0;
}

.dual-product-preview {
  position: relative;
  min-height: 550px;
}

.preview-frame,
.hero-product-frame,
.product-media {
  overflow: hidden;
  margin: 0;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.065);
}

.preview-frame {
  position: absolute;
  width: 75%;
}

.preview-faybl {
  top: 22px;
  left: 0;
  z-index: 2;
}

.preview-nithani {
  right: 0;
  bottom: 8px;
}

.preview-frame img,
.hero-product-frame img,
.product-media img {
  display: block;
  width: 100%;
  height: auto;
}

.preview-frame figcaption,
.hero-product-frame figcaption,
.product-media figcaption {
  display: grid;
  gap: 4px;
  padding: 14px 16px 16px;
  color: rgba(0, 0, 0, 0.58);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 600;
  border-top: 1px solid var(--line);
}

.preview-frame figcaption strong {
  color: var(--black);
  font-size: 14px;
  font-weight: 800;
}

.preview-nithani figcaption strong,
.product-summary-nithani h3,
.product-summary-nithani small,
.nithani-product-page .eyebrow,
.nithani-link {
  color: var(--nithani-dark);
}

.nithani-button,
.nithani-primary {
  color: var(--white);
  background: var(--nithani-dark);
  border-color: var(--nithani-dark);
}

.two-products-section,
.product-fold-connected,
.proof-action-fold {
  background: rgba(247, 248, 249, 0.5);
}

.product-pair {
  border-top: 1px solid var(--line);
}

.product-summary {
  display: grid;
  grid-template-columns: minmax(320px, 0.42fr) minmax(0, 0.58fr);
  gap: 66px;
  align-items: center;
  padding: 64px 0;
  border-bottom: 1px solid var(--line);
}

.product-summary-nithani > div {
  grid-column: 2;
  grid-row: 1;
}

.product-summary-nithani > .product-media {
  grid-column: 1;
  grid-row: 1;
}

.product-summary small {
  display: block;
  margin-bottom: 12px;
  color: var(--purple);
  font-size: 12px;
  font-weight: 800;
}

.product-summary h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  line-height: 1.05;
  font-weight: 400;
}

.benefit-list {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}

.benefit-list li {
  padding: 13px 0;
  color: rgba(0, 0, 0, 0.72);
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  border-bottom: 1px solid var(--line);
}

.relationship-section {
  background: var(--white);
}

.relationship-flow,
.four-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.relationship-flow article,
.four-benefits article {
  min-height: 220px;
  padding: 30px;
  border-left: 1px solid var(--line);
}

.relationship-flow article:first-child,
.four-benefits article:first-child {
  border-left: 0;
}

.relationship-flow span {
  display: block;
  margin-bottom: 34px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}

.relationship-flow strong,
.foundation-list strong,
.three-benefits strong,
.four-benefits strong,
.coach-outcomes strong {
  display: block;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 800;
}

.relationship-flow p,
.foundation-list p,
.three-benefits p,
.four-benefits p,
.coach-outcomes p {
  margin: 13px 0 0;
  font-size: 14px;
  line-height: 1.55;
}

.shared-foundation {
  display: grid;
  grid-template-columns: minmax(320px, 0.44fr) minmax(0, 0.56fr);
  gap: 76px;
  align-items: start;
}

.foundation-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.foundation-list article {
  min-height: 170px;
  padding: 28px;
  background: var(--white);
}

.dual-cta {
  min-height: 390px;
}

.hero-product-frame {
  align-self: center;
}

.hero-product-frame figcaption {
  display: block;
}

.product-fold .section-intro,
.proof-action-fold .section-intro,
.nithani-coach-fold .section-intro {
  margin-bottom: 54px;
}

.media-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
}

.media-pair-wide {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}

.three-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 44px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.three-benefits article {
  min-height: 150px;
  padding: 26px;
  border-left: 1px solid var(--line);
}

.three-benefits article:first-child {
  border-left: 0;
}

.product-fold-context {
  display: grid;
  grid-template-columns: minmax(320px, 0.38fr) minmax(0, 0.62fr);
  gap: 70px;
  align-items: center;
}

.stacked-product-media {
  display: grid;
  gap: 24px;
}

.product-media-small {
  width: 76%;
  justify-self: end;
}

.product-fold-connected .four-benefits {
  margin-top: 44px;
}

.compact-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.compact-proof-grid figure,
.compact-proof-grid .proof-signal {
  min-height: 280px;
  margin: 0;
  padding: 32px;
  border-left: 1px solid var(--line);
}

.compact-proof-grid figure:first-child {
  border-left: 0;
}

.compact-proof-grid blockquote {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.3;
}

.compact-proof-grid figcaption {
  display: grid;
  gap: 6px;
  margin-top: 28px;
  color: var(--muted);
  font-size: 13px;
}

.compact-proof-grid figcaption strong {
  color: var(--black);
  font-size: 14px;
}

.proof-signal {
  background: var(--faint-purple);
}

.proof-signal strong {
  display: block;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 54px;
  line-height: 1;
  font-weight: 400;
}

.proof-signal p {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.plan-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: stretch;
  margin-top: 40px;
  border: 1px solid var(--line);
}

.plan-strip article {
  display: grid;
  gap: 7px;
  padding: 24px;
  border-right: 1px solid var(--line);
  background: var(--white);
}

.plan-strip small {
  color: var(--purple);
  font-size: 11px;
  font-weight: 800;
}

.plan-strip strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
}

.plan-strip span {
  color: var(--muted);
  font-size: 12px;
}

.plan-strip > .text-link {
  align-self: center;
  margin: 0 22px;
}

.trust-and-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: center;
  margin-top: 44px;
  padding-top: 40px;
  border-top: 1px solid var(--line);
}

.trust-and-action h3,
.coach-action h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.16;
  font-weight: 400;
}

.trust-and-action p {
  max-width: 700px;
  margin: 14px 0 0;
}

.nithani-body {
  background:
    linear-gradient(90deg, rgba(11, 150, 130, 0.022) 1px, transparent 1px),
    linear-gradient(0deg, rgba(11, 150, 130, 0.022) 1px, transparent 1px),
    var(--white);
  background-size: 176px 176px;
}

.nithani-frame,
.nithani-product-page .product-media {
  border-color: rgba(11, 150, 130, 0.16);
}

.nithani-product-page .product-fold:nth-child(odd),
.nithani-coach-fold {
  background: rgba(238, 248, 245, 0.56);
}

.nithani-media-stack .product-media-small {
  justify-self: start;
}

.nithani-coach-fold {
  border-bottom: 0;
}

.coach-outcomes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(220px, 1.15fr);
  margin-top: 44px;
  border-top: 1px solid rgba(11, 150, 130, 0.2);
  border-bottom: 1px solid rgba(11, 150, 130, 0.2);
}

.coach-outcomes article,
.coach-action {
  min-height: 180px;
  padding: 28px;
  border-left: 1px solid rgba(11, 150, 130, 0.2);
}

.coach-outcomes article:first-child {
  border-left: 0;
}

.coach-action {
  display: grid;
  align-content: space-between;
  gap: 24px;
  background: rgba(11, 150, 130, 0.07);
}

@media (max-width: 1240px) {
  .site-header {
    grid-template-columns: 110px minmax(0, 1fr) auto;
    gap: 18px;
    padding: 0 28px;
  }

  .site-header nav {
    gap: 16px;
  }

  .site-header nav a {
    font-size: 12px;
  }

  .products-menu summary {
    font-size: 12px;
  }

  .header-signins > span {
    display: none;
  }

  .site-fold,
  .home-hero,
  .two-products-section,
  .relationship-section,
  .shared-foundation,
  .product-hero,
  .product-fold,
  .proof-action-fold,
  .nithani-coach-fold {
    padding-left: 52px;
    padding-right: 52px;
  }

  .home-hero,
  .product-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .fold-copy {
    max-width: 720px;
  }

  .dual-product-preview {
    width: min(100%, 900px);
    margin: 0 auto;
  }

  .people-grid,
  .relationship-flow,
  .four-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .relationship-flow article:nth-child(3),
  .relationship-flow article:nth-child(4),
  .four-benefits article:nth-child(3),
  .four-benefits article:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .relationship-flow article:nth-child(3),
  .four-benefits article:nth-child(3) {
    border-left: 0;
  }

  .product-fold-context,
  .shared-foundation {
    grid-template-columns: 1fr;
  }

  .stacked-product-media {
    width: min(100%, 900px);
  }

  .coach-outcomes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .coach-outcomes > :nth-child(3),
  .coach-outcomes > :nth-child(4) {
    border-top: 1px solid rgba(11, 150, 130, 0.2);
  }

  .coach-outcomes > :nth-child(3) {
    border-left: 0;
  }
}

@media (max-width: 980px) {
  .site-header {
    grid-template-columns: 1fr auto;
    gap: 12px 20px;
    padding-top: 13px;
    padding-bottom: 12px;
  }

  .site-header nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
    width: 100%;
    overflow: visible;
    padding-bottom: 2px;
  }

  .header-signins {
    grid-column: 2;
    grid-row: 1;
  }

  .product-summary {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .product-summary-nithani > div,
  .product-summary-nithani > .product-media {
    grid-column: auto;
    grid-row: auto;
  }

  .product-summary .product-media {
    width: min(100%, 820px);
  }

  .media-pair,
  .media-pair-wide {
    grid-template-columns: 1fr;
  }

  .media-pair .product-media {
    width: min(100%, 900px);
  }

  .compact-proof-grid {
    grid-template-columns: 1fr;
  }

  .compact-proof-grid figure,
  .compact-proof-grid .proof-signal {
    min-height: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .compact-proof-grid figure:first-child {
    border-top: 0;
  }

  .plan-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-strip article:nth-child(2) {
    border-right: 0;
  }

  .plan-strip article:nth-child(3),
  .plan-strip article:nth-child(4) {
    border-top: 1px solid var(--line);
  }

  .plan-strip article:nth-child(4) {
    border-right: 0;
  }

  .plan-strip > .text-link {
    grid-column: 1 / -1;
    margin: 22px;
  }

  .trust-and-action {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .site-header {
    padding-left: 20px;
    padding-right: 20px;
  }

  .brand img {
    width: 94px;
  }

  .header-signins {
    gap: 6px;
  }

  .header-signins > a {
    min-height: 32px;
    padding: 0 9px;
    font-size: 10px;
  }

  .site-header nav {
    gap: 17px;
  }

  .products-dropdown {
    left: 0;
    width: min(270px, calc(100vw - 40px));
  }

  .site-fold,
  .home-hero,
  .two-products-section,
  .relationship-section,
  .shared-foundation,
  .product-hero,
  .product-fold,
  .proof-action-fold,
  .nithani-coach-fold {
    padding: 72px 24px;
  }

  .home-hero,
  .product-hero {
    gap: 46px;
  }

  .dual-product-preview {
    display: grid;
    gap: 20px;
    min-height: 0;
  }

  .preview-frame {
    position: static;
    width: 100%;
  }

  .product-summary {
    padding: 46px 0;
  }

  .product-summary h3 {
    font-size: 38px;
  }

  .relationship-flow,
  .four-benefits,
  .foundation-list,
  .three-benefits,
  .coach-outcomes,
  .plan-strip {
    grid-template-columns: 1fr;
  }

  .relationship-flow article,
  .four-benefits article,
  .foundation-list article,
  .three-benefits article,
  .coach-outcomes article,
  .coach-action {
    min-height: 0;
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .relationship-flow article:first-child,
  .four-benefits article:first-child,
  .three-benefits article:first-child,
  .coach-outcomes article:first-child {
    border-top: 0;
  }

  .product-media-small {
    width: 100%;
  }

  .compact-proof-grid blockquote {
    font-size: 21px;
  }

  .plan-strip article,
  .plan-strip article:nth-child(2),
  .plan-strip article:nth-child(3),
  .plan-strip article:nth-child(4) {
    border-right: 0;
    border-top: 1px solid var(--line);
  }

  .plan-strip article:first-child {
    border-top: 0;
  }

  .trust-and-action .hero-actions {
    align-items: stretch;
  }

  .trust-and-action .button {
    width: 100%;
  }
}

/* Final header alignment */
.site-header {
  column-gap: 32px;
}

.site-header nav {
  justify-content: flex-end;
}

.site-header nav > a[aria-current="page"] {
  color: var(--purple);
}

.product-orbit a.orbit-item {
  border-radius: 4px;
}

.product-orbit a.orbit-item:hover strong {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.product-orbit a.orbit-item:focus-visible {
  outline: 2px solid rgba(111, 92, 168, 0.4);
  outline-offset: 6px;
}

.home-hero h1 {
  max-width: 570px;
  font-size: 60px;
  line-height: 1.08;
}

@media (max-width: 980px) {
  .home-hero h1 {
    font-size: 54px;
  }

  .site-header {
    grid-template-columns: 110px minmax(0, 1fr) auto;
    gap: 0 24px;
    min-height: 76px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .site-header nav {
    grid-column: auto;
    grid-row: auto;
    justify-content: flex-end;
    width: auto;
    padding-bottom: 0;
  }

  .header-signins {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 680px) {
  .site-header {
    grid-template-columns: 94px minmax(0, 1fr) auto;
    gap: 0 16px;
  }

  .site-header nav {
    gap: 14px;
  }

  .site-header nav > a,
  .products-menu summary {
    font-size: 11.5px;
  }

  .home-hero h1 {
    font-size: 42px;
    line-height: 1.1;
  }
}

@media (max-width: 560px) {
  .site-header {
    grid-template-columns: 1fr auto;
    gap: 12px 18px;
    padding-top: 12px;
    padding-bottom: 10px;
  }

  .site-header nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-end;
  }

  .header-signins {
    grid-column: 2;
    grid-row: 1;
    gap: 5px;
  }

  .header-signins > a {
    min-height: 30px;
    padding: 0 8px;
    font-size: 9.5px;
  }
}

/* Enterprise transformation diagrams */
.enterprise-hero h1 {
  max-width: 560px;
  font-size: 56px;
  line-height: 1.08;
}

.enterprise-change-map {
  display: grid;
  grid-template-columns: 0.82fr 0.9fr 1.15fr;
  align-items: stretch;
  min-height: 480px;
  padding: 34px;
  border: 1px solid rgba(32, 35, 50, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 26px 64px rgba(32, 35, 50, 0.09);
}

.enterprise-change-map > div {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: 26px;
}

.enterprise-change-map > div + div {
  border-left: 1px solid var(--line);
}

.enterprise-change-map small,
.process-diagram header small {
  color: var(--purple);
  font-size: 10.5px;
  line-height: 1.3;
  font-weight: 800;
  text-transform: uppercase;
}

.change-map-start > strong,
.change-map-bridge > strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 400;
}

.change-map-start > strong {
  color: var(--orange);
}

.change-map-start > span {
  padding-top: 11px;
  border-top: 1px solid var(--line);
  color: rgba(17, 24, 39, 0.66);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 600;
}

.change-map-bridge {
  position: relative;
  text-align: center;
  background: rgba(111, 92, 168, 0.055);
}

.change-map-bridge::before,
.change-map-bridge::after {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgba(111, 92, 168, 0.45);
  border-right: 2px solid rgba(111, 92, 168, 0.45);
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

.change-map-bridge::before {
  left: -7px;
}

.change-map-bridge::after {
  right: -7px;
}

.change-map-bridge > strong {
  color: var(--purple);
}

.change-map-bridge p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.change-map-outcomes {
  gap: 0;
}

.change-map-outcomes > small {
  margin-bottom: 4px;
}

.change-map-outcomes article {
  display: grid;
  gap: 5px;
  padding: 15px 0;
  border-top: 1px solid var(--line);
}

.change-map-outcomes article strong {
  color: var(--enterprise-ink);
  font-size: 13px;
  line-height: 1.25;
}

.change-map-outcomes article span {
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.4;
}

.change-map-outcomes article:nth-child(2) strong {
  color: var(--blue);
}

.change-map-outcomes article:nth-child(3) strong {
  color: var(--nithani-dark);
}

.change-map-outcomes article:nth-child(4) strong {
  color: var(--orange);
}

.enterprise-process-diagrams {
  display: grid;
  gap: 54px;
  margin-top: 62px;
}

.process-diagram {
  padding: 38px 0 0;
  border-top: 1px solid var(--line);
}

.process-diagram > header {
  max-width: 790px;
  margin-bottom: 30px;
}

.process-diagram header h3 {
  margin: 9px 0 0;
  color: var(--enterprise-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.12;
  font-weight: 400;
}

.process-diagram header p {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.58;
}

.diagram-steps {
  display: grid;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.diagram-steps-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.diagram-steps-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.diagram-steps > div {
  position: relative;
  min-height: 170px;
  padding: 26px 30px;
  border-left: 1px solid var(--line);
}

.diagram-steps > div:first-child {
  border-left: 0;
}

.diagram-steps > div:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 34px;
  right: -7px;
  width: 12px;
  height: 12px;
  border-top: 2px solid rgba(111, 92, 168, 0.45);
  border-right: 2px solid rgba(111, 92, 168, 0.45);
  background: var(--white);
  content: "";
  transform: rotate(45deg);
}

.diagram-steps span {
  display: block;
  margin-bottom: 22px;
  color: var(--purple);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1;
}

.diagram-steps strong {
  display: block;
  color: var(--enterprise-ink);
  font-size: 15px;
  line-height: 1.25;
}

.diagram-steps p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.stakeholder-outcomes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 24px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stakeholder-outcomes > div {
  display: grid;
  gap: 5px;
  padding: 20px 24px;
  border-left: 1px solid var(--line);
}

.stakeholder-outcomes > div:first-child {
  border-left: 0;
}

.stakeholder-outcomes strong {
  color: var(--enterprise-ink);
  font-size: 13px;
}

.stakeholder-outcomes span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.stakeholder-outcomes > div:nth-child(1) strong {
  color: var(--nithani-dark);
}

.stakeholder-outcomes > div:nth-child(2) strong {
  color: var(--blue);
}

.stakeholder-outcomes > div:nth-child(3) strong {
  color: var(--orange);
}

@media (max-width: 1120px) {
  .enterprise-change-map {
    min-height: 420px;
    padding: 24px;
  }

  .enterprise-change-map > div {
    padding: 20px;
  }
}

@media (max-width: 980px) {
  .enterprise-hero h1 {
    font-size: 52px;
  }

  .enterprise-change-map {
    width: min(100%, 900px);
  }
}

@media (max-width: 760px) {
  .enterprise-change-map,
  .diagram-steps-three,
  .diagram-steps-four,
  .stakeholder-outcomes {
    grid-template-columns: 1fr;
  }

  .enterprise-change-map {
    min-height: 0;
  }

  .enterprise-change-map > div + div,
  .diagram-steps > div,
  .stakeholder-outcomes > div {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .change-map-bridge::before,
  .change-map-bridge::after,
  .diagram-steps > div:not(:last-child)::after {
    display: none;
  }

  .diagram-steps > div {
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .enterprise-hero h1 {
    font-size: 42px;
    line-height: 1.1;
  }

  .enterprise-change-map {
    padding: 14px;
  }

  .enterprise-change-map > div {
    padding: 22px 16px;
  }

  .process-diagram header h3 {
    font-size: 29px;
  }
}

.enterprise-hero-art {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 28px;
  min-height: 500px;
  margin: 0;
  padding: 24px 0;
}

.enterprise-hero-art img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
}

.enterprise-hero-art figcaption {
  max-width: 560px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
}

@media (max-width: 980px) {
  .enterprise-hero-art {
    width: min(100%, 900px);
    min-height: 380px;
  }
}

@media (max-width: 680px) {
  .enterprise-hero-art {
    min-height: 0;
    padding: 8px 0;
  }
}

.enterprise-journey-art {
  overflow: hidden;
  margin: 62px 0 0;
  border-radius: 6px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(32, 35, 50, 0.1);
}

.enterprise-journey-art img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 8 / 3;
  object-fit: cover;
}

.enterprise-journey-art figcaption {
  padding: 18px 22px;
  color: var(--muted);
  background: var(--white);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
}

@media (max-width: 680px) {
  .enterprise-journey-art {
    margin-top: 42px;
    border-radius: 4px;
  }

  .enterprise-journey-art img {
    aspect-ratio: 8 / 3;
  }
}

.about-hero-art {
  width: min(100%, 1440px);
  margin: 0 auto;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.about-hero-art img {
  display: block;
  width: 100%;
  height: auto;
}

.about-hero-after-art {
  min-height: 460px;
  padding-top: 86px;
  padding-bottom: 82px;
}

@media (max-width: 980px) {
  .about-hero-after-art {
    min-height: 0;
    padding-top: 72px;
    padding-bottom: 72px;
  }
}

@media (max-width: 680px) {
  .about-hero-after-art {
    padding-top: 58px;
    padding-bottom: 58px;
  }
}

/* Official legal documents (privacy-policy.html, terms-of-use.html) */
.legal-page .subpage-hero > div > p:not(.eyebrow) {
  font-size: 15px;
  font-weight: 600;
}

.legal-page .page-index a {
  display: flex;
  gap: 8px;
}

.legal-page .index-num {
  color: rgba(0, 0, 0, 0.35);
  font-size: 12px;
  font-weight: 800;
}

.legal-page .legal-panel .eyebrow {
  margin-bottom: 14px;
  font-size: 12px;
}

.legal-page .legal-panel h2 {
  font-size: 27px;
  line-height: 1.2;
}

.legal-page .legal-panel h3 {
  margin: 28px 0 0;
  color: var(--black);
  font-size: 15px;
  line-height: 1.4;
  font-weight: 800;
}

.legal-page .legal-panel h3 + p {
  margin-top: 12px;
}

.legal-page .legal-panel a {
  color: var(--purple);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-page .legal-panel strong {
  color: var(--black);
  font-weight: 700;
}

.legal-page .legal-preamble p:first-child,
.legal-page .legal-footnote p:first-child {
  margin-top: 0;
}

.legal-page .legal-footnote p {
  color: rgba(0, 0, 0, 0.45);
  font-size: 14px;
}

@media (max-width: 760px) {
  .legal-page .legal-panel h2 {
    font-size: 24px;
  }
}
