.pricing-cover {
  position: relative;
  height: 264px;
  overflow: hidden;
  background: #dfe8ed;
}

.pricing-cover picture,
.pricing-cover picture::after {
  position: absolute;
  inset: 0;
}

.pricing-cover picture::after {
  content: "";
  background: linear-gradient(90deg, rgb(234 240 243 / 0.99) 0%, rgb(234 240 243 / 0.95) 38%, rgb(234 240 243 / 0.56) 56%, rgb(234 240 243 / 0.08) 73%, rgb(234 240 243 / 0) 84%);
}

.pricing-cover picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 46%;
}

.pricing-cover-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
}

.pricing-cover-copy { width: min(760px, 69%); }

.pricing-cover-copy > p {
  color: var(--brand-strong);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
}

.pricing-cover-copy h1 {
  margin-top: 8px;
  font-size: clamp(37px, 3.35vw, 49px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.pricing-cover-copy > span {
  display: block;
  margin-top: 10px;
  color: #4f6875;
  font-size: 13px;
  line-height: 1.65;
}

.cover-actions {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 17px;
}

.cover-actions > button {
  width: 300px;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 0 16px;
  border: 1px solid rgb(49 139 200 / 0.42);
  border-radius: 8px;
  background: rgb(249 252 252 / 0.88);
  color: var(--text);
  cursor: pointer;
  text-align: left;
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.cover-actions > button > span { display: grid; gap: 2px; }
.cover-actions > button small { color: var(--muted); font-size: 10px; }
.cover-actions > button strong { font-size: 16px; }

.cover-actions > button b {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--brand-strong);
  font-size: 11px;
  white-space: nowrap;
}

.cover-actions > button img { opacity: 0.78; transition: transform 200ms ease; }
.cover-actions > button[aria-expanded="true"] img { transform: rotate(180deg); }

.cover-actions > p {
  max-width: 320px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.cover-actions > p strong { display: block; margin-bottom: 2px; color: #35515f; font-size: 11px; }
.cover-actions > p span { display: block; }

.desktop-service-menu {
  position: relative;
  z-index: 30;
  margin-top: -1px;
  padding: 23px 27px 25px;
  border: 1px solid rgb(49 139 200 / 0.3);
  border-radius: 0 0 12px 12px;
  background: #f8fafb;
  box-shadow: 0 22px 56px rgb(42 79 98 / 0.14);
}

.desktop-service-menu[hidden] { display: none; }

.desktop-service-menu > div {
  display: grid;
  grid-template-columns: 1fr 1.35fr 0.95fr 0.72fr 1.7fr;
  gap: 30px;
}

.desktop-service-menu h2 {
  margin-bottom: 8px;
  color: #718793;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

.desktop-service-menu section > div { display: grid; justify-items: start; gap: 2px; }

.desktop-service-menu button {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #355060;
  cursor: pointer;
  font-size: 13px;
  text-align: left;
  transition: color 160ms ease, transform 160ms ease;
}

.desktop-service-menu button:hover,
.desktop-service-menu button[aria-current="true"] { color: var(--brand-strong); }
.desktop-service-menu button[aria-current="true"] { font-weight: 800; }

.desktop-stage {
  position: relative;
  z-index: 4;
  margin-top: -38px;
  padding-bottom: 64px;
}

.pricing-board {
  scroll-margin-top: 24px;
  overflow: hidden;
  border-radius: 14px;
  background: rgb(249 251 252 / 0.97);
  box-shadow: 0 26px 70px rgb(42 79 98 / 0.12), 0 3px 12px rgb(42 79 98 / 0.07);
}

.service-overview {
  display: grid;
  grid-template-columns: minmax(280px, 0.88fr) minmax(620px, 1.72fr);
  gap: 38px;
  align-items: center;
  padding: 26px 30px 23px;
}

.service-overview-copy > p,
.feature-showcase > header > p,
.capability-comparison > header > p,
.faq-section > p {
  color: var(--brand-strong);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.service-overview-copy h2 {
  margin-top: 6px;
  font-size: 32px;
  line-height: 1;
  letter-spacing: -0.04em;
}

.service-overview-copy > span {
  display: block;
  max-width: 410px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.service-overview-features {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 22px;
  list-style: none;
}

.service-overview-features li {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 9px;
  align-items: start;
}

.service-overview-features img { width: 29px; height: 29px; }
.service-overview-features strong { display: block; font-size: 13px; line-height: 1.35; }
.service-overview-features p { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }

.pricing-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 19px 30px 8px;
}

.pricing-heading h2 { font-size: 17px; letter-spacing: -0.015em; }
.pricing-heading p { color: var(--muted); font-size: 11px; }

.edition-tracks { display: grid; gap: 22px; padding: 0 30px 8px; }

.edition-track {
  display: grid;
  grid-template-columns: 172px 1fr;
  min-height: 147px;
}

.edition-track > header {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 23px 20px 23px 0;
}

.edition-track > header > span {
  color: var(--brand-strong);
  font-size: 40px;
  font-weight: 820;
  line-height: 0.82;
  letter-spacing: -0.07em;
}

.edition-track > header h3 { font-size: 21px; letter-spacing: -0.025em; }
.edition-track > header p { margin-top: 6px; color: var(--muted); font-size: 10px; }

.edition-track-plans { display: grid; }
.edition-track-plans--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.edition-track-plans--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.plan-figure {
  min-width: 0;
  padding: 23px 23px 18px;
  transition: background 180ms ease;
}

.plan-figure + .plan-figure { border-left: 1px solid var(--line); }
.plan-figure:hover { background: rgb(77 166 231 / 0.045); }

.plan-price {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  white-space: nowrap;
}

.plan-price > span {
  align-self: flex-start;
  margin-top: 7px;
  color: var(--brand-strong);
  font-size: 14px;
  font-weight: 800;
}

.plan-price strong {
  color: #173642;
  font-size: clamp(39px, 3.35vw, 51px);
  font-weight: 790;
  line-height: 0.88;
  letter-spacing: -0.06em;
  font-variant-numeric: tabular-nums;
  transition: color 180ms ease, transform 180ms ease;
}

.plan-price small { margin-bottom: 3px; color: var(--muted); font-size: 11px; }
.plan-figure > p { margin-top: 13px; font-size: 12px; font-weight: 750; }
.plan-figure > span { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }

.plan-figure > a,
.so-boundary a,
.non-apk-more a {
  width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  color: var(--brand-strong);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.plan-figure > a img,
.so-boundary a img,
.non-apk-more a img { width: 13px; height: 13px; transition: transform 180ms ease; }

.same-price-inline {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: start;
  margin: 4px 30px 0;
  padding: 15px 0;
  border-top: 1px solid rgb(49 139 200 / 0.32);
}

.same-price-inline img { width: 27px; height: 27px; }
.same-price-inline strong { font-size: 13px; }
.same-price-inline p { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.55; }

.purchase-boundary {
  margin: 0 30px;
  padding: 13px 0 18px;
  color: #526b78;
  font-size: 11px;
  line-height: 1.6;
}

.feature-showcase {
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 42px;
  margin-top: 54px;
  padding: 0 12px;
  scroll-margin-top: 24px;
}

.feature-showcase > header { padding: 18px 0; }
.feature-showcase > header h2 { margin-top: 8px; font-size: 27px; line-height: 1.12; letter-spacing: -0.035em; }
.feature-showcase > header > span { display: block; margin-top: 12px; color: var(--muted); font-size: 12px; line-height: 1.65; }

.feature-showcase-grid {
  display: grid;
  grid-template-columns: 1.8fr repeat(4, 1fr);
  align-items: start;
}

.feature-showcase-grid--3 { grid-template-columns: 1.55fr 1fr 1fr; }

.feature-showcase-grid article {
  min-width: 0;
  min-height: 188px;
  padding: 20px 19px;
}

.feature-showcase-grid article + article { border-left: 1px solid var(--line); }
.feature-showcase-grid img { width: 29px; height: 29px; transition: transform 180ms ease; }
.feature-showcase-grid h3 { margin-top: 18px; font-size: 14px; line-height: 1.4; }
.feature-showcase-grid h3 { transition: color 180ms ease; }
.feature-showcase-grid p { margin-top: 7px; color: var(--muted); font-size: 10px; line-height: 1.55; }
.feature-showcase-grid .feature-lead { padding-left: 0; }
.feature-showcase-grid .feature-lead img { width: 34px; height: 34px; }
.feature-showcase-grid .feature-lead h3 { font-size: 18px; }
.feature-showcase-grid .feature-lead p { font-size: 11px; }

.capability-comparison {
  display: grid;
  grid-template-columns: 0.68fr 1.32fr;
  gap: 42px;
  align-items: center;
  margin-top: 46px;
  padding: 31px 34px;
  border-radius: 12px;
  background: #dde8ee;
}

.capability-comparison > header h2 { margin-top: 8px; font-size: 25px; letter-spacing: -0.03em; }
.capability-comparison > header > span { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }

.capability-comparison > div { display: grid; grid-template-columns: 0.9fr 1.1fr; }

.capability-comparison article {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 18px;
  align-items: center;
  padding: 13px 24px;
}

.capability-comparison article + article { border-left: 1px solid rgb(51 91 116 / 0.22); }
.capability-comparison article > span { color: var(--brand-strong); font-size: 62px; font-weight: 820; line-height: 0.85; letter-spacing: -0.08em; }
.capability-comparison h3 { font-size: 16px; }
.capability-comparison article p { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }

.capability-catalogue {
  margin-top: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgb(248 250 251 / 0.72);
}

.capability-catalogue > summary {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  color: #284858;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
}

.capability-catalogue > summary::-webkit-details-marker { display: none; }
.capability-catalogue > summary b { color: var(--brand-strong); font-size: 22px; font-weight: 400; transition: transform 180ms ease; }
.capability-catalogue[open] > summary b { transform: rotate(45deg); }

.capability-catalogue > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding: 0 18px 18px;
}

.capability-catalogue > div > section { padding: 17px; background: rgb(223 233 238 / 0.42); }
.capability-catalogue > div > section:nth-child(3) { grid-column: 1 / -1; }
.capability-catalogue section header h4 { font-size: 14px; }
.capability-catalogue section header p { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.capability-catalogue ul { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 16px; margin-top: 13px; list-style: none; }
.capability-catalogue li { display: grid; grid-template-columns: 1fr auto; gap: 10px; padding: 7px 0; }
.capability-catalogue li strong { font-size: 10px; }
.capability-catalogue li p { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.capability-catalogue li > span { color: var(--brand-strong); font-size: 9px; white-space: nowrap; }
.strategy-note { margin: 0 18px 18px; padding: 12px 14px; border: 1px solid var(--line); color: #4d6674; font-size: 10px; line-height: 1.55; }

.so-boundary,
.non-apk-more {
  margin-top: 16px;
  padding: 16px 19px;
  border-radius: 8px;
  background: rgb(77 166 231 / 0.065);
}

.so-boundary { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.so-boundary strong { font-size: 12px; }
.so-boundary p { margin-top: 4px; color: var(--muted); font-size: 10px; }
.so-boundary a { margin-top: 0; }
.non-apk-more { color: var(--muted); font-size: 11px; }
.non-apk-more a { margin: 0 0 0 8px; }

.faq-section { margin-top: 42px; scroll-margin-top: 24px; }
.faq-section > h2 { font-size: 23px; }
.faq-section > div { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.faq-section details { padding: 17px 19px; border-top: 1px solid var(--line); }
.faq-section summary { cursor: pointer; font-size: 12px; font-weight: 750; }
.faq-section details p { margin-top: 9px; color: var(--muted); font-size: 11px; line-height: 1.55; }

.consult-rail { background: #dbe7ec; }

.consult-rail-inner {
  min-height: 130px;
  display: grid;
  grid-template-columns: 1.4fr 0.7fr auto;
  gap: 34px;
  align-items: center;
}

.consult-rail h2 { font-size: 22px; }
.consult-rail h2 + p { margin-top: 7px; color: var(--muted); font-size: 11px; }
.consult-rail-inner > p { display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
.consult-rail-inner > p strong { color: var(--text); font-size: 14px; }

.consult-rail-inner > a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 19px;
  border: 1px solid var(--brand-strong);
  border-radius: 8px;
  background: var(--brand);
  color: #0a2737;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .cover-actions > button:hover { border-color: rgb(36 106 158 / 0.62); background: rgb(252 253 253 / 0.96); transform: translateY(-2px); box-shadow: 0 10px 24px rgb(42 79 98 / 0.09); }
  .desktop-service-menu button:hover { transform: translateX(3px); }
  .plan-figure:hover .plan-price strong { color: #0f4f6d; transform: translateY(-2px); }
  .plan-figure > a:hover img,
  .so-boundary a:hover img,
  .non-apk-more a:hover img { transform: translate(3px, -2px); }
  .feature-showcase-grid article:hover img { transform: translateY(-3px); }
  .feature-showcase-grid article:hover h3 { color: var(--brand-strong); }
  .consult-rail-inner > a:hover { background: #72b9eb; transform: translateY(-1px); box-shadow: 0 7px 16px rgb(36 106 158 / 0.12); }
  .consult-rail-inner > a:active { transform: translateY(1px) scale(0.99); }
}

@media (max-width: 1180px) {
  .page-shell,
  .header-inner { width: min(1060px, calc(100% - 40px)); }
  .service-overview { grid-template-columns: 260px 1fr; gap: 26px; }
  .service-overview-features { gap: 10px; }
  .edition-track { grid-template-columns: 155px 1fr; }
  .plan-figure { padding-inline: 17px; }
  .plan-price strong { font-size: 38px; }
  .feature-showcase { grid-template-columns: 250px 1fr; gap: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .plan-figure,
  .desktop-primary-nav a,
  .cover-actions > button,
  .cover-actions > button img,
  .desktop-service-menu button,
  .plan-price strong,
  .plan-figure > a img,
  .so-boundary a img,
  .non-apk-more a img,
  .feature-showcase-grid img,
  .feature-showcase-grid h3,
  .capability-catalogue > summary b,
  .consult-rail-inner > a { transition: none !important; }
}
