.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.cloud-page {
  background: #09090b;
}

.cloud-page main {
  min-height: 65vh;
}

.cloud-page-hero {
  position: relative;
  overflow: hidden;
  padding: 118px 0 105px;
  text-align: center;
  border-bottom: 1px solid #27272d;
  background: #08080a;
}

.cloud-page-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(620px 380px at 50% 12%, rgba(120, 102, 255, .16), transparent 72%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 95%);
  mask-image: linear-gradient(to bottom, black, transparent 95%);
}

.cloud-page-hero .container {
  position: relative;
  z-index: 1;
}

.page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #a99fff;
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.page-kicker i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #7866ff;
  box-shadow: 0 0 0 5px rgba(120,102,255,.12);
}

.cloud-page-hero h1 {
  max-width: 940px;
  margin: 28px auto 0;
  color: #f5f5f7;
  font-size: clamp(3.5rem, 7.5vw, 6.8rem);
  font-weight: 630;
  line-height: .92;
  letter-spacing: -.073em;
  text-wrap: balance;
}

.cloud-page-hero > .container > p {
  max-width: 710px;
  margin: 31px auto 0;
  color: #92929b;
  font-size: 1.05rem;
  line-height: 1.72;
  letter-spacing: -.015em;
}

.cloud-page-section {
  padding: 112px 0;
  border-bottom: 1px solid #25252b;
}

.plan-section {
  background: radial-gradient(760px 420px at 50% 0, rgba(120,102,255,.07), transparent 74%), #0a0a0c;
}

.pricing-grid-page {
  max-width: 1040px;
}

.pricing-grid-page > article {
  min-height: 575px;
  padding: 42px;
}

.pricing-grid-page .price-head h3 {
  max-width: 360px;
  font-size: 1.75rem;
}

.pricing-grid-page .price-head p {
  max-width: 400px;
  min-height: 58px;
  font-size: .83rem;
}

.pricing-grid-page .price > strong {
  font-size: clamp(2.35rem, 4vw, 3rem);
}

.pricing-grid-page li {
  font-size: .78rem;
  line-height: 1.55;
}

.addon-line-page {
  max-width: 1040px;
}

.pricing-guardrail {
  max-width: 1040px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 28px auto 0;
  border-top: 1px solid #29292f;
  border-bottom: 1px solid #29292f;
}

.pricing-guardrail span {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #777780;
  border-right: 1px solid #29292f;
  font-size: .68rem;
  font-weight: 600;
}

.pricing-guardrail span:last-child {
  border-right: 0;
}

.pricing-guardrail span::before {
  content: '✓';
  color: #4ad4a9;
}

.value-section {
  background: #0d0d10;
}

.included-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 68px;
  overflow: hidden;
  border: 1px solid #2b2b31;
  border-radius: 15px;
}

.included-grid article {
  min-height: 320px;
  padding: 34px 30px;
  border-right: 1px solid #2b2b31;
  background: #111114;
}

.included-grid article:last-child {
  border-right: 0;
}

.included-grid article > span {
  color: #6a6a73;
  font: 500 .65rem/1 var(--mono);
}

.included-grid h3 {
  margin-top: 92px;
  color: #e2e2e6;
  font-size: 1.1rem;
  line-height: 1.25;
  letter-spacing: -.03em;
}

.included-grid p {
  margin-top: 13px;
  color: #777780;
  font-size: .76rem;
  line-height: 1.67;
}

.comparison-section {
  background: #08080a;
}

.comparison-layout {
  max-width: 1120px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 86px;
  align-items: start;
}

.comparison-copy {
  position: sticky;
  top: 112px;
}

.comparison-copy h2 {
  margin-top: 20px;
  color: #eeeeef;
  font-size: clamp(2.25rem, 3.6vw, 3.35rem);
  font-weight: 620;
  line-height: 1.07;
  letter-spacing: -.055em;
}

.comparison-copy p {
  margin-top: 22px;
  color: #7c7c85;
  font-size: .86rem;
  line-height: 1.72;
}

.comparison-copy > a {
  display: inline-flex;
  gap: 10px;
  margin-top: 28px;
  color: #b2b2ba;
  font-size: .78rem;
  font-weight: 600;
  text-decoration: none;
}

.comparison-copy > a span {
  color: #978bf7;
}

.comparison-table-wrap {
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
  background: #111114;
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.comparison-table th,
.comparison-table td {
  height: 68px;
  padding: 0 23px;
  color: #c8c8ce;
  border-right: 1px solid #29292f;
  border-bottom: 1px solid #29292f;
  font-size: .7rem;
  font-weight: 600;
  text-align: left;
}

.comparison-table th:first-child {
  width: 54%;
}

.comparison-table th:last-child,
.comparison-table td:last-child {
  border-right: 0;
}

.comparison-table tbody tr:last-child > * {
  border-bottom: 0;
}

.comparison-table tbody th {
  color: #85858e;
  font-size: .75rem;
  font-weight: 500;
}

.comparison-table thead {
  background: #17171a;
}

.comparison-table thead th {
  height: 52px;
  color: #74747d;
  font-size: .61rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pricing-faq-section {
  background: #0d0d10;
}

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

  .included-grid article:nth-child(2) {
    border-right: 0;
  }

  .included-grid article:nth-child(-n+2) {
    border-bottom: 1px solid #2b2b31;
  }

  .comparison-layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .comparison-copy {
    position: static;
    max-width: 650px;
  }
}

@media (max-width: 700px) {
  .cloud-page-hero {
    padding: 82px 0 74px;
    text-align: left;
  }

  .cloud-page-hero h1 {
    margin-left: 0;
    font-size: clamp(3rem, 15vw, 4.45rem);
  }

  .cloud-page-hero > .container > p {
    margin-left: 0;
    font-size: .95rem;
  }

  .cloud-page-hero .billing-toggle {
    width: 100%;
  }

  .cloud-page-hero .billing-toggle button {
    flex: 1;
  }

  .cloud-page-section {
    padding: 82px 0;
  }

  .pricing-grid-page > article {
    min-height: 0;
  }

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

  .pricing-guardrail span:nth-child(2) {
    border-right: 0;
  }

  .pricing-guardrail span:nth-child(-n+2) {
    border-bottom: 1px solid #29292f;
  }

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

  .included-grid article,
  .included-grid article:nth-child(2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #2b2b31;
  }

  .included-grid article:last-child {
    border-bottom: 0;
  }

  .included-grid h3 {
    margin-top: 42px;
  }

  .comparison-table-wrap {
    overflow-x: auto;
  }

  .comparison-table {
    min-width: 610px;
  }
}

@media (max-width: 460px) {
  .pricing-grid-page > article {
    padding: 30px 24px;
  }

  .pricing-grid-page .price {
    align-items: flex-start;
    flex-direction: column;
  }

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

  .pricing-guardrail span,
  .pricing-guardrail span:nth-child(2) {
    justify-content: flex-start;
    padding: 0 18px;
    border-right: 0;
    border-bottom: 1px solid #29292f;
  }

  .pricing-guardrail span:last-child {
    border-bottom: 0;
  }
}

/* Product and features page */
.features-page-hero h1 {
  max-width: 1060px;
  font-size: clamp(3.4rem, 6.9vw, 6.3rem);
  line-height: .96;
}

.feature-hero-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin-top: 36px;
}

.feature-hero-actions > a:last-child {
  display: inline-flex;
  gap: 10px;
  padding: 9px 0;
  color: #aaaab2;
  border-bottom: 1px solid #404047;
  font-size: .84rem;
  font-weight: 600;
  text-decoration: none;
}

.feature-index {
  position: sticky;
  top: 72px;
  z-index: 100;
  border-bottom: 1px solid #29292f;
  background: rgba(13,13,16,.94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.feature-index .container {
  max-width: 1120px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  padding-top: 0;
  padding-bottom: 0;
}

.feature-index a {
  min-height: 66px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #82828b;
  border-right: 1px solid #29292f;
  font-size: .68rem;
  font-weight: 600;
  text-decoration: none;
}

.feature-index a:first-child {
  border-left: 1px solid #29292f;
}

.feature-index a:hover {
  color: #ceced3;
  background: rgba(255,255,255,.02);
}

.feature-index a span {
  color: #655ca8;
  font: 500 .58rem/1 var(--mono);
}

.feature-system {
  background: #0d0d10;
}

.system-map {
  max-width: 1070px;
  margin: 68px auto 0;
  padding: 42px;
  border: 1px solid #2d2d34;
  border-radius: 17px;
  background:
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),
    #0a0a0d;
  background-size: 48px 48px;
}

.system-source,
.system-core,
.system-branches article {
  border: 1px solid #303037;
  border-radius: 12px;
  background: #151518;
}

.system-source {
  width: 270px;
  display: grid;
  gap: 4px;
  margin: 0 auto;
  padding: 19px 21px;
  text-align: center;
}

.system-source span,
.system-branches article span {
  color: #746ac3;
  font-size: .54rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.system-source strong,
.system-branches article strong {
  color: #dedee1;
  font-size: .79rem;
}

.system-source small,
.system-branches article small {
  color: #6f6f78;
  font-size: .62rem;
}

.map-line {
  position: relative;
  display: block;
  width: 1px;
  height: 34px;
  margin: 0 auto;
  background: #46404f;
}

.map-line::after {
  content: '';
  position: absolute;
  left: -3px;
  bottom: 0;
  width: 7px;
  height: 7px;
  border-right: 1px solid #625a75;
  border-bottom: 1px solid #625a75;
  transform: rotate(45deg);
}

.system-core {
  max-width: 510px;
  min-height: 86px;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 14px;
  align-items: center;
  margin: 0 auto;
  padding: 18px 20px;
  border-color: #4a416e;
  background: radial-gradient(340px 110px at 50% 0, rgba(120,102,255,.11), transparent 80%), #17141f;
  box-shadow: 0 18px 48px rgba(0,0,0,.34);
}

.system-core img {
  border-radius: 10px;
}

.system-core > span {
  display: grid;
  gap: 3px;
}

.system-core small {
  color: #8f84e8;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.system-core strong {
  color: #eeeeef;
  font-size: .9rem;
}

.system-core em {
  padding: 6px 9px;
  color: #5bdfb7;
  border: 1px solid rgba(68,211,167,.18);
  border-radius: 999px;
  background: rgba(68,211,167,.07);
  font-size: .52rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
}

.system-branches {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 50px;
}

.system-branches::before {
  content: '';
  position: absolute;
  left: 16.5%;
  right: 16.5%;
  top: -25px;
  height: 25px;
  border-top: 1px solid #46404f;
  border-left: 1px solid #46404f;
  border-right: 1px solid #46404f;
}

.system-branches article {
  min-height: 112px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 19px;
  text-align: center;
}

.feature-band {
  background: #09090b;
  scroll-margin-top: 134px;
}

.feature-band-alt {
  background: #0d0d10;
}

.feature-band-grid {
  max-width: 1120px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 86px;
  align-items: center;
}

.feature-band-grid.reverse {
  grid-template-columns: 1.28fr .72fr;
}

.feature-band-grid.reverse .feature-band-copy {
  grid-column: 2;
  grid-row: 1;
}

.feature-band-grid.reverse .feature-ui {
  grid-column: 1;
  grid-row: 1;
}

.feature-number {
  color: #8e82ec;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.feature-band-copy h2,
.extension-feature-copy h2 {
  margin-top: 20px;
  color: #f0f0f2;
  font-size: clamp(2.35rem, 3.8vw, 3.45rem);
  font-weight: 620;
  line-height: 1.07;
  letter-spacing: -.058em;
}

.feature-band-copy > p,
.extension-feature-copy > p {
  margin-top: 22px;
  color: #81818a;
  font-size: .87rem;
  line-height: 1.72;
}

.feature-band-copy ul,
.extension-feature-copy ul {
  display: grid;
  gap: 12px;
  margin-top: 30px;
  list-style: none;
}

.feature-band-copy li,
.extension-feature-copy li {
  display: flex;
  gap: 10px;
  color: #a1a1a9;
  font-size: .76rem;
}

.feature-band-copy li::before,
.extension-feature-copy li::before {
  content: '✓';
  color: #4ad4a9;
}

.feature-ui {
  overflow: hidden;
  border: 1px solid #303037;
  border-radius: 16px;
  background: #111114;
  box-shadow: 0 28px 70px rgba(0,0,0,.3);
}

.control-ui {
  padding-top: 24px;
}

.control-ui > header,
.rules-ui > header,
.history-ui > header,
.analytics-ui-feature > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 25px 21px;
  border-bottom: 1px solid #2b2b31;
}

.control-ui > header > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4bd8ad;
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.control-ui > header > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #44d3a7;
  box-shadow: 0 0 0 5px rgba(68,211,167,.11);
}

.feature-ui button {
  min-height: 34px;
  padding: 0 12px;
  color: #b3b3ba;
  border: 1px solid #34343b;
  border-radius: 8px;
  background: #19191d;
  font: 600 .63rem var(--font);
}

.control-ui > h3 {
  padding: 25px 27px 0;
  color: #ebebed;
  font-size: 1.32rem;
  letter-spacing: -.035em;
}

.control-ui > p {
  padding: 5px 27px 0;
  color: #7b7b84;
  font-size: .76rem;
}

.status-line {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  padding: 20px 27px;
  color: #696972;
  font-size: .64rem;
}

.status-line span::before {
  content: '·';
  margin-right: 7px;
  color: #8d82e9;
}

.metric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #2b2b31;
}

.metric-grid > span {
  min-height: 120px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 22px 27px;
  border-right: 1px solid #2b2b31;
  border-bottom: 1px solid #2b2b31;
}

.metric-grid > span:nth-child(even) {
  border-right: 0;
}

.metric-grid > span:nth-last-child(-n+2) {
  border-bottom: 0;
}

.metric-grid small,
.metric-grid em {
  color: #73737c;
  font-size: .65rem;
  font-style: normal;
}

.metric-grid strong {
  color: #f0f0f2;
  font-size: 1.7rem;
  line-height: 1.2;
  letter-spacing: -.05em;
}

.metric-grid em.positive {
  color: #4bd4aa;
}

.rules-ui {
  padding-top: 23px;
}

.rules-ui > header > span,
.history-ui > header > span,
.analytics-ui-feature > header > span {
  display: grid;
  gap: 3px;
}

.rules-ui > header small,
.history-ui > header small,
.analytics-ui-feature > header small {
  color: #74747d;
  font-size: .6rem;
}

.rules-ui > header strong,
.history-ui > header strong,
.analytics-ui-feature > header strong {
  color: #e5e5e8;
  font-size: .84rem;
}

.rules-ui > header button {
  color: #e7e4ff;
  border-color: #7866ff;
  background: #7866ff;
}

.feature-rule-stack article {
  grid-template-columns: 40px minmax(0,1fr) 38px;
  padding: 17px 23px;
}

.feature-rule-stack article > i {
  font-size: .55rem;
  font-weight: 700;
}

.feature-rule-stack article > span {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.feature-rule-stack article > span strong {
  color: #dddde1;
  font-size: .77rem;
}

.feature-rule-stack article > span small {
  color: #777780;
  font-size: .65rem;
}

.history-ui {
  padding-top: 23px;
}

.decision-list article {
  min-height: 86px;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 15px 23px;
  border-bottom: 1px solid #29292f;
}

.decision-list article:last-child {
  border-bottom: 0;
}

.decision-list article > i {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #8a8a94;
  border-radius: 8px;
  background: #202024;
  font-size: .65rem;
  font-style: normal;
  font-weight: 700;
}

.decision-list article > i.pass {
  color: #64dcba;
  background: rgba(68,211,167,.1);
}

.decision-list article > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.decision-list strong {
  overflow: hidden;
  color: #d7d7dc;
  font-size: .72rem;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.decision-list small,
.decision-list time {
  color: #6c6c75;
  font-size: .59rem;
}

.decision-list em {
  padding: 5px 8px;
  color: #54d9b0;
  border: 1px solid rgba(68,211,167,.17);
  border-radius: 999px;
  font-size: .55rem;
  font-style: normal;
}

.decision-list em.skipped {
  color: #898993;
  border-color: #38383f;
}

.analytics-ui-feature {
  padding-top: 23px;
}

.analytics-ui-feature > header > div {
  display: flex;
  gap: 7px;
  color: #6f6f78;
  font-size: .58rem;
}

.analytics-ui-feature > header > div i {
  width: 6px;
  height: 6px;
  margin-top: 2px;
  border-radius: 50%;
  background: #7866ff;
}

.analytics-ui-feature > header > div i:nth-of-type(2) {
  margin-left: 7px;
  background: #46d3a8;
}

.analytics-feature-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #29292f;
}

.analytics-feature-metrics > span {
  min-height: 105px;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 18px 22px;
  border-right: 1px solid #29292f;
}

.analytics-feature-metrics > span:last-child {
  border-right: 0;
}

.analytics-feature-metrics small {
  color: #73737c;
  font-size: .61rem;
}

.analytics-feature-metrics strong {
  color: #ececef;
  font-size: 1.38rem;
  line-height: 1.2;
}

.analytics-feature-metrics em {
  color: #4bd4aa;
  font-size: .6rem;
  font-style: normal;
}

.feature-chart {
  position: relative;
  height: 250px;
  padding: 24px 20px 18px 48px;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 51px, #28282e 52px, transparent 53px);
}

.feature-chart > span {
  position: absolute;
  left: 15px;
  color: #5e5e67;
  font-size: .56rem;
}

.feature-chart > span:nth-child(1) { top: 21px; }
.feature-chart > span:nth-child(2) { top: 73px; }
.feature-chart > span:nth-child(3) { top: 125px; }
.feature-chart > span:nth-child(4) { top: 177px; }
.feature-chart svg { width: 100%; height: 100%; overflow: visible; }

.delivery-feature {
  background: #09090b;
  scroll-margin-top: 134px;
}

.delivery-grid {
  max-width: 1030px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 auto;
}

.delivery-grid article {
  min-height: 122px;
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 15px;
  align-items: center;
  padding: 23px;
  border: 1px solid #2f2f36;
  border-radius: 13px;
  background: #111114;
}

.delivery-grid article.coming {
  border-color: #3f385d;
  background: #14121a;
}

.delivery-grid article > i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #aaa2f8;
  border: 1px solid #3a354b;
  border-radius: 11px;
  background: #211c37;
  font-style: normal;
}

.delivery-grid article > span {
  display: grid;
  gap: 4px;
}

.delivery-grid strong {
  color: #dedee2;
  font-size: .8rem;
}

.delivery-grid small {
  color: #72727b;
  font-size: .65rem;
}

.delivery-grid article > em {
  color: #6f6f78;
  font-size: .51rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .11em;
}

.extension-feature {
  background: #0d0d10;
  scroll-margin-top: 134px;
}

.extension-feature-grid {
  max-width: 1120px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 84px;
  align-items: center;
}

.extension-feature-copy > div {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-top: 34px;
}

.extension-feature-copy > div > a:last-child {
  color: #8f8f98;
  font-size: .73rem;
  font-weight: 600;
  text-decoration: none;
}

.extension-stage {
  position: relative;
  min-height: 570px;
}

.browser-frame {
  position: absolute;
  inset: 40px 88px 20px 0;
  overflow: hidden;
  border: 1px solid #303037;
  border-radius: 16px;
  background: #101013;
  box-shadow: 0 30px 75px rgba(0,0,0,.3);
}

.browser-frame > header {
  height: 42px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 13px;
  border-bottom: 1px solid #29292f;
  background: #17171a;
}

.browser-frame > header > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #393940;
}

.browser-frame > header small {
  margin: 0 auto;
  padding-right: 28px;
  color: #696972;
  font-size: .57rem;
}

.browser-frame > div {
  padding: 46px 30px;
}

.browser-frame > div p {
  color: #5f5f68;
  font-size: .65rem;
}

.browser-frame > div section {
  height: 88px;
  margin-top: 16px;
  border: 1px solid #27272d;
  border-radius: 10px;
  background: #0d0d10;
}

.extension-panel-feature {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 350px;
  padding: 20px;
  border: 1px solid #37373f;
  border-radius: 17px;
  background: #0b0d14;
  box-shadow: 0 35px 90px rgba(0,0,0,.56);
}

.extension-panel-feature > header {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 10px;
  align-items: center;
  padding-bottom: 19px;
  border-bottom: 1px solid #252730;
}

.extension-panel-feature > header img {
  border-radius: 8px;
}

.extension-panel-feature > header span {
  display: grid;
}

.extension-panel-feature > header strong {
  color: #ededf0;
  font-size: .82rem;
  letter-spacing: -.03em;
}

.extension-panel-feature > header small {
  color: #666873;
  font-size: .47rem;
  letter-spacing: .12em;
}

.extension-panel-feature > header em {
  color: #5adab3;
  font-size: .51rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
}

.extension-live {
  display: grid;
  grid-template-columns: 8px 1fr auto;
  gap: 11px;
  align-items: center;
  margin-top: 22px;
  padding: 16px;
  border: 1px solid rgba(68,211,167,.18);
  border-radius: 12px;
  background: #101c17;
}

.extension-live > i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #44d3a7;
  box-shadow: 0 0 0 5px rgba(68,211,167,.1);
}

.extension-live > span {
  display: grid;
  gap: 2px;
}

.extension-live strong {
  color: #dfe2e2;
  font-size: .7rem;
}

.extension-live small {
  color: #6c7773;
  font-size: .57rem;
}

.extension-live button {
  padding: 6px 10px;
  color: #df8e9d;
  border: 1px solid rgba(251,113,133,.25);
  border-radius: 7px;
  background: rgba(251,113,133,.08);
  font: 600 .58rem var(--font);
}

.extension-rule {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5px;
  border-bottom: 1px solid #24262d;
  color: #a0a1aa;
  font-size: .72rem;
}

.extension-panel-feature > footer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 21px;
  overflow: hidden;
  border: 1px solid #272a33;
  border-radius: 9px;
}

.extension-panel-feature > footer span {
  min-height: 52px;
  display: grid;
  place-items: center;
  color: #696b75;
  border-right: 1px solid #272a33;
  font-size: .55rem;
}

.extension-panel-feature > footer span:last-child {
  border-right: 0;
}

@media (max-width: 980px) {
  .feature-index .container {
    overflow-x: auto;
  }

  .feature-index a {
    min-width: 126px;
  }

  .feature-band-grid,
  .feature-band-grid.reverse,
  .extension-feature-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .feature-band-grid.reverse .feature-band-copy,
  .feature-band-grid.reverse .feature-ui {
    grid-column: auto;
    grid-row: auto;
  }

  .feature-band-grid.reverse .feature-band-copy {
    order: 1;
  }

  .feature-band-grid.reverse .feature-ui {
    order: 2;
  }

  .feature-band-copy,
  .extension-feature-copy {
    max-width: 680px;
  }

  .extension-stage {
    max-width: 730px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 700px) {
  .feature-hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }

  .feature-hero-actions .btn {
    width: 100%;
  }

  .feature-index {
    top: 72px;
  }

  .feature-index .container {
    padding: 0;
  }

  .system-map {
    padding: 28px 18px;
  }

  .system-source,
  .system-core {
    width: 100%;
  }

  .system-core {
    grid-template-columns: 38px 1fr;
  }

  .system-core em {
    grid-column: 2;
    justify-self: start;
  }

  .system-branches {
    grid-template-columns: 1fr;
    margin-top: 34px;
  }

  .system-branches::before {
    display: none;
  }

  .feature-band-copy h2,
  .extension-feature-copy h2 {
    font-size: 2.55rem;
  }

  .control-ui > h3 {
    font-size: 1.05rem;
  }

  .status-line {
    gap: 10px;
  }

  .decision-list article {
    grid-template-columns: 32px minmax(0,1fr) auto;
    padding: 14px 16px;
  }

  .decision-list time {
    display: none;
  }

  .analytics-feature-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .analytics-feature-metrics > span:nth-child(2) {
    border-right: 0;
  }

  .analytics-feature-metrics > span:last-child {
    grid-column: 1/-1;
    border-top: 1px solid #29292f;
  }

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

  .extension-stage {
    min-height: 545px;
  }

  .browser-frame {
    display: none;
  }

  .extension-panel-feature {
    left: 0;
    width: auto;
  }
}

@media (max-width: 460px) {
  .feature-ui {
    border-radius: 13px;
  }

  .control-ui > header,
  .rules-ui > header,
  .history-ui > header,
  .analytics-ui-feature > header {
    padding-right: 17px;
    padding-left: 17px;
  }

  .metric-grid > span {
    padding: 18px;
  }

  .analytics-ui-feature > header > div {
    display: none;
  }

  .delivery-grid article {
    grid-template-columns: 42px 1fr;
  }

  .delivery-grid article > em {
    grid-column: 2;
  }

  .extension-feature-copy > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .extension-feature-copy .btn {
    width: 100%;
  }

  .extension-panel-feature {
    padding: 16px;
  }

  .extension-live {
    grid-template-columns: 8px 1fr;
  }

  .extension-live button {
    grid-column: 2;
    justify-self: start;
  }
}

/* Guided setup page */
.guided-hero {
  position: relative;
  overflow: hidden;
  padding: 112px 0;
  border-bottom: 1px solid #27272d;
  background: #08080a;
}

.guided-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(660px 480px at 76% 35%, rgba(120,102,255,.12), transparent 72%),
    linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: auto, 64px 64px, 64px 64px;
  -webkit-mask-image: linear-gradient(to bottom, black, transparent 90%);
  mask-image: linear-gradient(to bottom, black, transparent 90%);
}

.guided-hero-grid {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 95px;
  align-items: center;
}

.guided-copy h1 {
  max-width: 680px;
  margin-top: 27px;
  color: #f4f4f6;
  font-size: clamp(3.25rem, 5.6vw, 5.25rem);
  font-weight: 630;
  line-height: .98;
  letter-spacing: -.068em;
  text-wrap: balance;
}

.guided-copy > p {
  max-width: 620px;
  margin-top: 28px;
  color: #92929b;
  font-size: 1rem;
  line-height: 1.7;
}

.guided-copy > ul {
  display: grid;
  gap: 10px;
  margin-top: 30px;
  list-style: none;
}

.guided-copy > ul li {
  display: flex;
  gap: 9px;
  color: #85858e;
  font-size: .75rem;
}

.guided-copy > ul li::before {
  content: '✓';
  color: #4ad4a9;
}

.guided-contact {
  padding: 34px;
  border: 1px solid #393447;
  border-radius: 17px;
  background: radial-gradient(420px 230px at 50% 0, rgba(120,102,255,.1), transparent 76%), #111114;
  box-shadow: 0 35px 90px rgba(0,0,0,.42);
}

.guided-contact > span {
  color: #9388ef;
  font-size: .59rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.guided-contact > h2 {
  margin-top: 15px;
  color: #eeeef0;
  font-size: 1.85rem;
  line-height: 1.15;
  letter-spacing: -.045em;
}

.guided-contact > p {
  margin-top: 14px;
  color: #7c7c85;
  font-size: .76rem;
  line-height: 1.65;
}

.guided-call,
.guided-email {
  min-height: 86px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  margin-top: 22px;
  padding: 16px 18px;
  color: inherit;
  border: 1px solid #33333a;
  border-radius: 11px;
  background: #17171a;
  text-decoration: none;
}

.guided-email {
  margin-top: 9px;
}

.guided-call:hover,
.guided-email:hover {
  border-color: #514776;
  background: #1a1820;
}

.guided-call small,
.guided-email small {
  color: #6f6f78;
  font-size: .5rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.guided-call strong,
.guided-email strong {
  color: #e0e0e4;
  font-size: .86rem;
  letter-spacing: -.015em;
}

.guided-call > span,
.guided-email > span {
  grid-column: 2;
  grid-row: 1 / 3;
  color: #9388ef;
}

.guided-contact > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  margin: 21px 0;
}

.guided-contact > div span {
  height: 1px;
  background: #2b2b31;
}

.guided-contact > div small {
  color: #606069;
  font-size: .57rem;
}

.setup-agenda {
  background: #0d0d10;
}

.agenda-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 68px;
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
}

.agenda-grid article {
  min-height: 190px;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 19px;
  align-items: start;
  padding: 34px;
  border-right: 1px solid #2d2d34;
  border-bottom: 1px solid #2d2d34;
  background: #111114;
}

.agenda-grid article:nth-child(even) {
  border-right: 0;
}

.agenda-grid article:nth-last-child(-n+2) {
  border-bottom: 0;
}

.agenda-grid article > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #a99fff;
  border: 1px solid #3c3650;
  border-radius: 11px;
  background: #211c37;
  font: 600 .62rem var(--mono);
}

.agenda-grid article > div {
  display: grid;
  gap: 10px;
}

.agenda-grid h3 {
  color: #e1e1e5;
  font-size: 1.05rem;
  letter-spacing: -.025em;
}

.agenda-grid p {
  color: #777780;
  font-size: .76rem;
  line-height: 1.65;
}

.prep-section {
  background: #09090b;
}

.prep-grid {
  max-width: 1080px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 88px;
  align-items: start;
}

.prep-copy {
  position: sticky;
  top: 112px;
}

.prep-copy h2 {
  margin-top: 20px;
  color: #eeeef0;
  font-size: clamp(2.35rem, 3.6vw, 3.25rem);
  font-weight: 620;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.prep-copy p {
  margin-top: 20px;
  color: #7c7c85;
  font-size: .82rem;
  line-height: 1.7;
}

.prep-list {
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
  background: #111114;
}

.prep-list article {
  min-height: 112px;
  display: grid;
  grid-template-columns: 32px 1fr auto;
  gap: 15px;
  align-items: center;
  padding: 21px 24px;
  border-bottom: 1px solid #29292f;
}

.prep-list article:last-child {
  border-bottom: 0;
}

.prep-list article > span {
  color: #7368bd;
  font: 600 .61rem var(--mono);
}

.prep-list article > div {
  display: grid;
  gap: 4px;
}

.prep-list strong {
  color: #dddde1;
  font-size: .8rem;
}

.prep-list small {
  color: #72727b;
  font-size: .67rem;
  line-height: 1.5;
}

.prep-list em {
  color: #6f6f78;
  font-size: .49rem;
  font-style: normal;
  font-weight: 700;
  letter-spacing: .1em;
}

.guided-boundary {
  background: #0d0d10;
}

.boundary-grid {
  max-width: 1000px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.boundary-card {
  padding: 37px;
  border: 1px solid #303037;
  border-radius: 15px;
  background: #111114;
}

.boundary-card.positive {
  border-color: rgba(68,211,167,.2);
  background: linear-gradient(145deg, rgba(68,211,167,.055), transparent 48%), #111114;
}

.boundary-card.negative {
  border-color: rgba(251,113,133,.17);
  background: linear-gradient(145deg, rgba(251,113,133,.035), transparent 48%), #111114;
}

.boundary-card > span {
  color: #777780;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.boundary-card.positive > span {
  color: #57d9b1;
}

.boundary-card.negative > span {
  color: #dc8695;
}

.boundary-card ul {
  display: grid;
  gap: 15px;
  margin-top: 27px;
  list-style: none;
}

.boundary-card li {
  display: flex;
  gap: 11px;
  color: #a0a0a8;
  font-size: .76rem;
}

.boundary-card.positive li::before {
  content: '✓';
  color: #4bd6aa;
}

.boundary-card.negative li::before {
  content: '×';
  color: #dd8292;
}

.guided-pricing {
  background: #08080a;
}

.guided-pricing-grid {
  max-width: 1060px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: 88px;
  align-items: center;
}

.guided-pricing-grid > div:first-child h2 {
  margin-top: 20px;
  color: #efeff1;
  font-size: clamp(2.3rem, 3.7vw, 3.4rem);
  font-weight: 620;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.guided-pricing-grid > div:first-child p {
  margin-top: 20px;
  color: #7d7d86;
  font-size: .83rem;
  line-height: 1.7;
}

.guided-pricing-grid > div:first-child a {
  display: inline-flex;
  gap: 10px;
  margin-top: 28px;
  color: #b1b1b8;
  font-size: .76rem;
  font-weight: 600;
  text-decoration: none;
}

.guided-pricing-grid > div:first-child a span {
  color: #9589f4;
}

.compact-prices {
  overflow: hidden;
  border: 1px solid #323039;
  border-radius: 15px;
  background: radial-gradient(450px 220px at 50% 0, rgba(120,102,255,.08), transparent 75%), #111114;
}

.compact-prices article {
  min-height: 130px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 25px 28px;
  border-bottom: 1px solid #2b2b31;
}

.compact-prices article > span {
  color: #8f84e8;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.compact-prices article > strong {
  grid-column: 2;
  grid-row: 1 / 3;
  color: #eeeef0;
  font-size: 1.75rem;
  letter-spacing: -.045em;
}

.compact-prices article > small {
  color: #72727b;
  font-size: .64rem;
}

.compact-prices > footer {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6f6f78;
  font-size: .65rem;
}

@media (max-width: 980px) {
  .guided-hero-grid,
  .prep-grid,
  .guided-pricing-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .guided-copy {
    max-width: 760px;
  }

  .guided-contact {
    max-width: 650px;
  }

  .prep-copy {
    position: static;
    max-width: 650px;
  }
}

@media (max-width: 700px) {
  .guided-hero {
    padding: 80px 0;
  }

  .guided-copy h1 {
    font-size: clamp(3rem, 14.5vw, 4.35rem);
  }

  .guided-contact {
    padding: 27px 22px;
  }

  .agenda-grid,
  .boundary-grid {
    grid-template-columns: 1fr;
  }

  .agenda-grid article,
  .agenda-grid article:nth-child(even),
  .agenda-grid article:nth-last-child(-n+2) {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #2d2d34;
  }

  .agenda-grid article:last-child {
    border-bottom: 0;
  }

  .prep-list article {
    grid-template-columns: 26px 1fr;
  }

  .prep-list em {
    grid-column: 2;
  }

  .compact-prices article {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .compact-prices article > strong {
    grid-column: 1;
    grid-row: auto;
    margin-top: 12px;
  }
}

@media (max-width: 460px) {
  .guided-call,
  .guided-email {
    grid-template-columns: 1fr;
  }

  .guided-call > span,
  .guided-email > span {
    display: none;
  }

  .guided-call strong,
  .guided-email strong {
    overflow-wrap: anywhere;
  }

  .agenda-grid article {
    grid-template-columns: 38px 1fr;
    padding: 27px 22px;
  }

  .agenda-grid article > span {
    width: 36px;
    height: 36px;
  }

  .boundary-card {
    padding: 30px 24px;
  }
}

/* Contact page */
.contact-hero {
  position: relative;
  overflow: hidden;
  padding: 118px 0 108px;
  border-bottom: 1px solid #27272d;
  background: #08080a;
}

.contact-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(640px 420px at 75% 40%, rgba(120,102,255,.12), transparent 72%);
}

.contact-hero-grid {
  position: relative;
  z-index: 1;
  max-width: 1120px;
  display: grid;
  grid-template-columns: 1fr .85fr;
  gap: 100px;
  align-items: end;
}

.contact-hero h1 {
  max-width: 700px;
  margin-top: 27px;
  color: #f4f4f6;
  font-size: clamp(3.25rem, 5.9vw, 5.4rem);
  font-weight: 630;
  line-height: .98;
  letter-spacing: -.068em;
  text-wrap: balance;
}

.contact-hero-grid > div:first-child > p {
  max-width: 610px;
  margin-top: 27px;
  color: #8c8c95;
  font-size: .98rem;
  line-height: 1.7;
}

.contact-channels {
  overflow: hidden;
  border: 1px solid #34323d;
  border-radius: 15px;
  background: #111114;
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
}

.contact-channels > a {
  min-height: 118px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 25px 28px;
  color: inherit;
  border-bottom: 1px solid #2b2b31;
  text-decoration: none;
}

.contact-channels > a:last-child {
  border-bottom: 0;
}

.contact-channels > a:hover {
  background: #17171a;
}

.contact-channels > a > span {
  display: grid;
  gap: 7px;
}

.contact-channels small {
  color: #6e6e77;
  font-size: .51rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.contact-channels strong {
  color: #e5e5e8;
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.contact-channels em {
  color: #968af3;
  font-style: normal;
}

.contact-routing {
  background: #0d0d10;
}

.routing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 68px;
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
}

.routing-grid article {
  min-height: 350px;
  display: flex;
  flex-direction: column;
  padding: 33px 29px;
  border-right: 1px solid #2d2d34;
  background: #111114;
}

.routing-grid article:last-child {
  border-right: 0;
}

.routing-grid article > span {
  color: #8c80e8;
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .13em;
}

.routing-grid h3 {
  margin-top: 75px;
  color: #e1e1e5;
  font-size: 1.14rem;
  line-height: 1.25;
  letter-spacing: -.03em;
}

.routing-grid p {
  margin-top: 13px;
  color: #777780;
  font-size: .74rem;
  line-height: 1.65;
}

.routing-grid a {
  margin-top: auto;
  padding-top: 30px;
  color: #a7a7af;
  font-size: .67rem;
  font-weight: 600;
  text-decoration: none;
}

.response-section {
  background: #09090b;
}

.response-grid {
  max-width: 1080px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 88px;
  align-items: center;
}

.response-copy h2 {
  margin-top: 20px;
  color: #efeff1;
  font-size: clamp(2.35rem, 3.7vw, 3.35rem);
  font-weight: 620;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.response-copy p {
  margin-top: 21px;
  color: #7b7b84;
  font-size: .83rem;
  line-height: 1.72;
}

.response-table {
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
  background: #111114;
}

.response-table article {
  min-height: 110px;
  display: grid;
  grid-template-columns: .72fr 1fr;
  gap: 5px 22px;
  align-content: center;
  padding: 21px 25px;
  border-bottom: 1px solid #29292f;
}

.response-table article:last-child {
  border-bottom: 0;
}

.response-table span {
  grid-row: 1 / 3;
  align-self: center;
  color: #7167b8;
  font-size: .52rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.response-table strong {
  color: #dcdce0;
  font-size: .78rem;
}

.response-table small {
  color: #707079;
  font-size: .63rem;
  line-height: 1.5;
}

.support-boundaries {
  background: #0d0d10;
}

.business-section {
  background: #08080a;
}

.business-grid {
  max-width: 1060px;
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 88px;
  align-items: start;
}

.business-grid > div h2 {
  margin-top: 20px;
  color: #eeeef0;
  font-size: clamp(2.35rem, 3.6vw, 3.25rem);
  font-weight: 620;
  line-height: 1.08;
  letter-spacing: -.055em;
}

.business-grid > div p {
  margin-top: 20px;
  color: #777780;
  font-size: .82rem;
  line-height: 1.7;
}

.business-grid address {
  overflow: hidden;
  border: 1px solid #2d2d34;
  border-radius: 15px;
  background: #111114;
  font-style: normal;
}

.business-grid address > span {
  min-height: 95px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 20px 25px;
  border-bottom: 1px solid #29292f;
}

.business-grid address > span:last-child {
  border-bottom: 0;
}

.business-grid address small {
  color: #6f64b5;
  font-size: .51rem;
  font-weight: 700;
  letter-spacing: .11em;
}

.business-grid address strong {
  color: #b4b4bc;
  font-size: .7rem;
  font-weight: 500;
  line-height: 1.55;
}

@media (max-width: 980px) {
  .contact-hero-grid,
  .response-grid,
  .business-grid {
    grid-template-columns: 1fr;
    gap: 55px;
  }

  .contact-channels {
    max-width: 650px;
  }

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

  .routing-grid article:nth-child(2) {
    border-right: 0;
  }

  .routing-grid article:nth-child(-n+2) {
    border-bottom: 1px solid #2d2d34;
  }
}

@media (max-width: 700px) {
  .contact-hero {
    padding: 82px 0;
  }

  .contact-hero h1 {
    font-size: clamp(3rem, 14.5vw, 4.35rem);
  }

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

  .routing-grid article,
  .routing-grid article:nth-child(2) {
    min-height: 280px;
    border-right: 0;
    border-bottom: 1px solid #2d2d34;
  }

  .routing-grid article:last-child {
    border-bottom: 0;
  }

  .routing-grid h3 {
    margin-top: 42px;
  }

  .response-table article {
    grid-template-columns: 1fr;
  }

  .response-table span {
    grid-row: auto;
    margin-bottom: 7px;
  }
}

@media (max-width: 460px) {
  .contact-channels > a {
    padding: 22px 20px;
  }

  .contact-channels strong {
    font-size: .84rem;
  }
}
