/* Page-scoped styles. Loaded only for matching page classes. */
.page-hero,.article-header{padding:92px 0 72px;background:radial-gradient(circle at 80% 20%,rgba(255,116,82,.13),transparent 24%),linear-gradient(145deg,#fff 42%,#f7f3ff)}.page-hero .narrow{max-width:820px}.page-hero h1,.article-header h1{max-width:900px}.content-page .site-header{position:sticky}.article-width{max-width:820px}.article-body{padding-top:70px;padding-bottom:90px}.article-body h2{margin-top:46px;font-size:clamp(27px,3vw,36px)}.article-body p,.article-body li{color:#514b5e;font-size:18px}.article-body li{margin-bottom:8px}.article-body blockquote{margin:42px 0;padding:25px 28px;border-left:4px solid var(--coral);border-radius:0 14px 14px 0;color:var(--purple-dark);background:var(--lavender);font-size:22px;font-weight:700}.article-back{margin-top:55px;padding-top:24px;border-top:1px solid var(--line)}.article-back a{color:var(--purple);font-weight:850;text-decoration:none}.article-inline-link{color:var(--purple);font-weight:850;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.content-page .blog-grid article{min-height:340px}@media(max-width:650px){.page-hero,.article-header{padding:62px 0 50px}.article-body{padding-top:48px;padding-bottom:64px}.article-body p,.article-body li{font-size:17px}}.blog-index-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blog-pagination{display:flex;margin:34px auto 0;justify-content:center;align-items:center;gap:8px}.blog-pagination a,.blog-pagination__disabled{display:inline-flex;min-width:40px;height:40px;padding:0 13px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;color:var(--purple);font-size:13px;font-weight:850;text-decoration:none;background:#fff}.blog-pagination__current{color:#fff!important;background:var(--purple)!important;border-color:var(--purple)!important}.blog-pagination__disabled{color:#a49aad;background:#faf9fc}.article-figure{width:min(100vw - 42px,1100px);margin:42px 50% 14px;transform:translateX(-50%)}.article-figure img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.article-figure figcaption{margin-top:12px;color:var(--muted);font-size:14px;text-align:center}.article-cta{margin-top:52px;padding:32px;border-radius:22px;background:linear-gradient(135deg,var(--lavender),#fff7f3);box-shadow:var(--shadow)}.article-cta h2{margin-top:0}.article-cta p{max-width:650px}.article-cta .button{color:#fff;font-size:14px}@media(max-width:980px){.blog-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.blog-index-grid{grid-template-columns:1fr}.article-figure{width:100%;margin-inline:0;transform:none}.article-figure img{border-radius:14px}.article-cta{padding:24px}}.stories-page .blog-index-grid article{border-color:transparent;color:#eee7ff;background:linear-gradient(145deg,#2e1b60,#6041b4)}.stories-page .blog-index-grid article:nth-child(even){background:linear-gradient(145deg,#43266e,#b4538f)}.stories-page .blog-index-grid article h2{color:#fff}.stories-page .blog-index-grid article p{color:#ddd4ee}.stories-page .blog-index-grid article .blog-card-cta{color:#fff}
.page-hero .narrow{max-width:1180px}
.page-hero,
.article-header {
  padding: 92px 0 72px;
  background: radial-gradient(circle at 80% 20%,rgba(255,116,82,.13),transparent 24%),linear-gradient(145deg,#fff 42%,#f7f3ff);
}
.page-hero .narrow {
  max-width: 820px;
}
.article-header h1 {
  max-width: 900px;
}
.content-page .site-header {
  position: sticky;
}
.article-width {
  max-width: 820px;
}
.about-page .page-hero .narrow,
.about-page .page-hero .lead {
  max-width: 1180px;
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.team-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: var(--shadow);
}
.team-grid img {
  display: block;
  width: 100%;
  aspect-ratio: 1.55;
  object-fit: cover;
}
.team-grid h3 {
  margin: 14px 0 5px;
  font-size: 17px;
}
.team-grid .subhead {
  margin-bottom: 0;
  font-size: 12px;
  line-height: 1.4;
}
@media (max-width: 980px) {
  .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}
.entity-section .split-grid {
  align-items: center;
}
.entity-copy .entity-action {
  margin-top: 26px;
}
.entity-card {
  min-height: 0;
  padding: 32px;
  transform: rotate(1.2deg);
}
.entity-card h3 {
  margin-bottom: 16px;
}
.entity-card address {
  font-style: normal;
}
.entity-card address > strong,
.entity-card address > span {
  display: block;
}
.entity-card address > strong {
  margin-bottom: 5px;
  color: var(--purple-dark);
  font-size: 16px;
}
.entity-card address > span {
  color: var(--text);
  line-height: 1.7;
}
.entity-card dl {
  margin: 20px 0 0;
}
.entity-card dl > div {
  display: grid;
  grid-template-columns: 115px 1fr;
  padding: 8px 0;
  gap: 12px;
  border-top: 1px solid var(--line);
}
.entity-card dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.entity-card dd {
  margin: 0;
  color: var(--purple-dark);
  font-size: 13px;
  font-weight: 750;
}
@media (max-width: 650px) {
  .entity-card {
    transform: none;
  }
}
.about-faq {
  padding: 36px 0 34px;
  background: #fff;
}
.about-faq .pricing-faq__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
.about-page .blog-grid article {
  min-height: 0;
}
.about-faq .pricing-faq__grid details {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(65,39,115,.06);
}
.about-faq .pricing-faq__grid summary {
  position: relative;
  min-height: 54px;
  padding: 15px 52px 15px 20px;
  overflow: hidden;
  color: var(--purple-dark);
  font-size: 14px;
  font-weight: 850;
  line-height: 24px;
  cursor: pointer;
  list-style: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.about-faq .pricing-faq__grid summary::-webkit-details-marker {
  display: none;
}
.about-faq .pricing-faq__grid summary::after {
  content: "+";
  position: absolute;
  right: 20px;
  top: 50%;
  color: var(--coral);
  font-size: 21px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-50%);
}
.about-faq .pricing-faq__grid details[open] summary::after {
  content: "−";
}
.about-faq .pricing-faq__grid details[open] summary {
  padding-bottom: 13px;
  white-space: normal;
}
.about-faq .pricing-faq__grid details p {
  margin: 0;
  padding: 12px 20px 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
@media (max-width: 980px) {
  .about-faq .pricing-faq__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 650px) {
  .about-faq .pricing-faq__grid {
    grid-template-columns: 1fr;
  }
}
.article-body {
  padding-top: 70px;
  padding-bottom: 90px;
}
.article-body h2 {
  margin-top: 46px;
  font-size: clamp(27px,3vw,36px);
}
.article-body p,
.article-body li {
  color: #514b5e;
  font-size: 18px;
}
.article-body li {
  margin-bottom: 8px;
}
.article-body blockquote {
  margin: 42px 0;
  padding: 25px 28px;
  border-left: 4px solid var(--orange);
  border-radius: 0 14px 14px 0;
  color: var(--purple-dark);
  background: var(--lavender);
  font-size: 22px;
  font-weight: 700;
}
.article-back {
  margin-top: 55px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}
.article-back a {
  color: var(--purple);
  font-weight: 850;
  text-decoration: none;
}
.article-inline-link {
  color: var(--purple);
  font-weight: 850;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.content-page .blog-grid article {
  min-height: 340px;
}
@media(max-width:650px) {
  .page-hero,
  .article-header {
    padding: 62px 0 50px;
  }
  .article-body {
    padding-top: 48px;
    padding-bottom: 64px;
  }
  .article-body p,
  .article-body li {
    font-size: 17px;
  }}
.blog-index-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.blog-pagination {
  display: flex;
  margin: 34px auto 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.blog-pagination a,
.blog-pagination__disabled {
  display: inline-flex;
  min-width: 40px;
  height: 40px;
  padding: 0 13px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--purple);
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  background: #fff;
}
.blog-pagination__current {
  color: #fff!important;
  background: var(--purple)!important;
  border-color: var(--purple)!important;
}
.blog-pagination__disabled {
  color: #a49aad;
  background: #faf9fc;
}
.article-figure {
  width: min(100vw - 42px,1100px);
  margin: 42px 50% 14px;
  transform: translateX(-50%);
}
.article-figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.article-figure figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 14px;
  text-align: center;
}
.article-cta {
  margin-top: 52px;
  padding: 32px;
  border-radius: 22px;
  background: linear-gradient(135deg,var(--lavender),#fff7f3);
  box-shadow: var(--shadow);
}
.article-cta h2 {
  margin-top: 0;
}
.article-cta p {
  max-width: 650px;
}
.article-cta .button {
  color: #fff;
  font-size: 14px;
}
@media(max-width:980px) {
  .blog-index-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }}
@media(max-width:650px) {
  .blog-index-grid {
    grid-template-columns: 1fr;
  }
  .article-figure {
    width: 100%;
    margin-inline: 0;
    transform: none;
  }
  .article-figure img {
    border-radius: 14px;
  }
  .article-cta {
    padding: 24px;
  }}
.stories-page .blog-index-grid article {
  border-color: transparent;
  color: #eee7ff;
  background: linear-gradient(145deg,#2e1b60,#6041b4);
}
.stories-page .blog-index-grid article:nth-child(even) {
  background: linear-gradient(145deg,#43266e,#b4538f);
}
.stories-page .blog-index-grid article h2 {
  color: #fff;
}
.stories-page .blog-index-grid article p {
  color: #ddd4ee;
}
.stories-page .blog-index-grid article .blog-card-cta {
  color: #fff;
}
.page-hero .narrow {
  max-width: 1180px;
}
.partners-hero {
  padding: 104px 0 82px;
  background: linear-gradient(135deg, #f5f0ff 0%, #fff8f4 100%);
}

.partners-hero__grid,
.partners-program__grid,
.replication-usage__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(32px, 7vw, 96px);
  align-items: center;
}

.partners-hero .lead {
  max-width: 700px;
  color: var(--purple-dark);
  font-size: clamp(21px, 2.5vw, 30px);
  line-height: 1.35;
}

.partners-hero__summary,
.replication-hero__statement {
  display: grid;
  padding: 32px;
  gap: 8px;
  border: 1px solid #d8cbed;
  border-radius: 24px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 18px 42px rgba(57,31,112,.1);
}

.partners-hero__summary span {
  width: 30px;
  height: 30px;
  display: grid;
  margin-top: 10px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--purple);
  font-size: 11px;
  font-weight: 800;
}

.partners-hero__summary strong { color: var(--purple-dark); font-size: 18px; }
.partners-hero__summary p { margin: 0; color: var(--muted); }

.partners-service-card {
  display: flex;
  padding: clamp(28px, 4vw, 48px);
  gap: 32px;
  align-items: end;
  justify-content: space-between;
  border-radius: 24px;
  color: #fff;
  background: var(--purple-dark);
}

.partners-service-card h3 { max-width: 720px; color: #fff; font-size: clamp(26px, 3vw, 40px); }
.partners-service-card p:not(.eyebrow) { max-width: 730px; margin-bottom: 0; color: #e2dbef; }
.partners-service-card .card-link { flex: 0 0 auto; color: #fff; }

.partners-tools { background: #f8f7fb; }
.partners-tools__grid,
.replication-choice__grid,
.replication-benefits__grid,
.replication-types__grid,
.replication-pricing__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.partners-tools__grid article,
.replication-choice__grid article,
.replication-benefits__grid article,
.replication-types__grid article,
.replication-pricing__grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.partners-tools__grid p { color: var(--muted); }
.partners-tools__note { font-size: 14px; }
.partners-updates { background: #fff; }
.partners-updates__banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(28px, 5vw, 72px);
  padding: clamp(32px, 5vw, 54px);
  border-radius: 24px;
  color: #fff;
  background: linear-gradient(120deg, var(--purple-dark), #5d3ca7);
  box-shadow: 0 18px 42px rgba(57,31,112,.14);
}
.partners-updates__banner h2 { max-width: 690px; color: #fff; font-size: clamp(28px, 3vw, 42px); }
.partners-updates__banner p:not(.eyebrow) { max-width: 700px; margin-bottom: 0; color: #e2dbef; }
.partners-updates__actions { display: grid; flex: 0 0 auto; gap: 18px; justify-items: start; }
.partners-updates__actions .button-primary { color: var(--purple-dark); background: #fff; box-shadow: none; }
.partners-updates__actions .button-primary:hover, .partners-updates__actions .button-primary:focus-visible { background: #fff4ef; }
.partners-updates__actions .card-link { color: #fff; }
.partners-program { background: #f3edfb; }
.partners-program__grid > div:last-child { max-width: 620px; }
.partners-program__grid p { color: var(--muted); }

.replication-hero__statement { gap: 16px; background: var(--purple-dark); }
.replication-hero__statement p { margin: 0; color: #fff; font-size: clamp(20px, 2.2vw, 28px); font-weight: 760; line-height: 1.2; }
.replication-hero__statement p:nth-child(2) { color: #e4d9f7; }
.replication-hero__statement p:nth-child(3) { color: var(--orange); }

.replication-choice { background: #f8f7fb; }
.replication-choice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.replication-choice__grid article:last-child { border-color: #d8cbed; background: #fff; }
.replication-choice__grid h3 { margin-bottom: 14px; color: var(--purple-dark); font-size: clamp(24px, 2.4vw, 32px); }
.replication-choice__grid ul,
.replication-pricing__grid ul { margin: 0; padding-left: 20px; color: var(--muted); }
.replication-choice__grid li,
.replication-pricing__grid li { margin: 8px 0; }
.version-storage { background: #fff; }
.version-storage__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.version-storage__grid article { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #f8f7fb; }
.version-storage__grid article:last-child { background: #fff8f4; border-color: #f4c9bd; }
.version-storage__grid h3 { color: var(--purple-dark); font-size: clamp(24px, 2.4vw, 32px); }
.version-storage__grid p:not(.eyebrow) { color: var(--muted); }
.replication-benefits__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.replication-flow-section { background: #f8f7fb; }
.replication-flow { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin: 42px 0 0; padding: 0; list-style: none; }
.replication-flow li { position: relative; min-height: 142px; padding: 22px 18px; border: 1px solid #d8cbed; border-radius: 18px; background: #fff; }
.replication-flow li:not(:last-child)::after { position: absolute; top: 50%; right: -13px; z-index: 1; color: var(--coral); content: "→"; font-size: 24px; transform: translateY(-50%); }
.replication-flow strong, .replication-flow span { display: block; }
.replication-flow strong { margin-bottom: 10px; color: var(--purple-dark); }
.replication-flow span { color: var(--muted); font-size: 14px; line-height: 1.4; }
.replication-flow__note { margin: 28px 0 0; color: var(--purple-dark); font-weight: 700; text-align: center; }

.replication-usage { background: var(--purple-dark); }
.replication-usage h2, .replication-usage .eyebrow { color: #fff; }
.replication-usage ol { margin: 0; padding-left: 22px; color: #f0ebfa; }
.replication-usage li { padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.replication-usage li:last-child { border-bottom: 0; }
.replication-types__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.replication-types__grid article:nth-child(2) { background: #fff8f4; border-color: #f4c9bd; }
.replication-pricing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.replication-pricing__grid strong { display: block; color: var(--purple-dark); font-size: clamp(25px, 3vw, 38px); }
.replication-pricing__grid strong span { display: block; margin-top: 5px; font-size: 15px; font-weight: 700; }
.replication-pricing__grid article:nth-child(2) { border-color: #d8cbed; background: #f8f7fb; }
.replication-pricing__additional { margin: 24px 0 0; color: var(--purple-dark); font-size: 18px; }
.replication-pricing__note { max-width: 740px; margin: 12px 0 0; color: var(--muted); }

@media (max-width: 900px) {
  .partners-hero__grid, .partners-program__grid, .replication-usage__grid { grid-template-columns: 1fr; }
  .partners-updates__banner { align-items: flex-start; flex-direction: column; }
  .partners-tools__grid, .replication-choice__grid, .version-storage__grid, .replication-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .replication-flow { grid-template-columns: 1fr; max-width: 590px; margin-inline: auto; }
  .replication-flow li:not(:last-child)::after { top: auto; right: auto; bottom: -18px; left: 50%; transform: translateX(-50%); content: "↓"; }
}

@media (max-width: 650px) {
  .partners-hero { padding: 74px 0 58px; }
  .partners-service-card { display: block; }
  .partners-service-card .card-link { display: inline-block; margin-top: 24px; }
  .partners-updates__banner { padding: 28px; }
  .partners-tools__grid, .replication-choice__grid, .version-storage__grid, .replication-benefits__grid, .replication-types__grid, .replication-pricing__grid { grid-template-columns: 1fr; }
  .partners-hero__summary, .replication-hero__statement { padding: 24px; }
}
