/*
 * Opt-in presentation for Posnic's primary conversion pages.
 *
 * Keep this scoped to .core-experience. The generated location and industry
 * pages intentionally retain their existing, separately validated layout.
 */
.core-experience {
  --core-blue: #2f73b6;
  --core-blue-dark: #215b91;
  --core-green: #23775e;
  --core-green-soft: #eaf5f0;
  --core-amber: #a86716;
  --core-amber-soft: #fff6e8;
  --core-rust: #a64b31;
  --core-violet: #66508f;
  --core-ink: #13233a;
  --core-soft: #53647a;
  --core-line: #d5dee8;
  --core-canvas: #f3f7f9;
  background: #fff;
}

.core-experience .section {
  padding: 54px 0 62px;
}

.core-experience .wrap {
  max-width: 1180px;
}

.core-experience .card,
.core-experience .screen-card,
.core-experience .table-wrap,
.core-experience .seo-link-grid a,
.core-experience .seo-steps li,
.core-experience .seo-note {
  border-radius: 8px;
}

.core-experience .btn {
  border-radius: 7px;
  background: var(--core-blue);
  box-shadow: 0 2px 8px rgba(33, 91, 145, .2);
}

.core-experience .btn:hover {
  background: var(--core-blue-dark);
  box-shadow: 0 6px 16px rgba(33, 91, 145, .22);
}

.core-experience .btn.ghost {
  background: #fff;
  border-color: #bdcad7;
  color: var(--core-ink);
  box-shadow: none;
}

.core-experience .btn.ghost:hover {
  border-color: var(--core-blue);
  color: var(--core-blue-dark);
  background: #f7fbff;
}

.core-hero {
  border-bottom: 1px solid var(--core-line);
  background: var(--core-canvas);
}

.core-experience .core-hero {
  padding: 42px 0 38px;
}

.core-experience .core-hero .breadcrumbs {
  justify-content: flex-start;
  margin-bottom: 14px;
}

.core-experience .core-hero .eyebrow,
.core-experience .core-section-head .eyebrow {
  text-align: left;
  color: var(--core-green);
  letter-spacing: 0;
}

.core-experience .core-hero h1 {
  max-width: 930px;
  margin: 7px 0 14px;
  text-align: left;
  color: var(--core-ink);
  font-size: 42px;
  line-height: 1.13;
}

.core-experience .core-hero .lead {
  max-width: 780px;
  margin: 0 0 20px;
  text-align: left;
  color: var(--core-soft);
  font-size: 18px;
}

.core-hero-support {
  max-width: 850px;
  margin: 0;
  color: var(--core-soft);
  font-size: 14px;
}

.core-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.core-proof-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  max-width: 1040px;
  margin-top: 30px;
  border-top: 1px solid #c9d4df;
  border-bottom: 1px solid #c9d4df;
}

.core-proof-rail > span,
.core-proof-rail > div {
  min-width: 0;
  padding: 13px 18px;
  color: var(--core-soft);
  font-size: 13px;
}

.core-proof-rail > :first-child {
  padding-left: 0;
}

.core-proof-rail > :not(:first-child) {
  border-left: 1px solid #c9d4df;
}

.core-proof-rail b,
.core-proof-rail strong {
  display: block;
  color: var(--core-ink);
  font-size: 14px;
}

.core-features .core-features-hero {
  background: #f4f8f7;
}

.core-features-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  grid-template-areas:
    "copy panel"
    "proof panel"
    "notes panel";
  column-gap: 38px;
  row-gap: 0;
  align-items: center;
}

.core-experience.core-pharmacy-pos .pharmacy-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-textile-pos .textile-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-electronics-pos .electronics-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-bakery-pos .bakery-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-small-business-pos .small-business-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-online-pos .online-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-experience.core-retail-pos .retail-pos-hero-copy .lead {
  margin-left: 0;
  text-align: left;
}

.core-features-copy {
  grid-area: copy;
  min-width: 0;
}

.core-features .core-hero h1 {
  max-width: 760px;
}

.core-features .core-hero .lead {
  max-width: 720px;
}

.core-features-copy > p:not(.eyebrow):not(.lead) {
  max-width: 730px;
  color: var(--core-soft);
}

.core-features .core-hero-actions {
  justify-content: flex-start;
}

.core-feature-spec-link {
  font-size: 14px;
  margin: 12px 0 0;
}

.core-features-proof {
  grid-area: proof;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  max-width: 790px;
}

.core-features .pos-guide-review-notes {
  grid-area: notes;
  max-width: 730px;
  margin: -20px 0 0;
}

.core-features .pos-guide-review-notes summary {
  margin: 0;
}

.core-features-hero-panel {
  grid-area: panel;
  display: grid;
  gap: 14px;
  min-width: 0;
}

.core-feature-screen {
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.core-feature-screen > a {
  display: block;
  background: #111a2a;
}

.core-feature-screen img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  background: #edf3f1;
}

.core-feature-screen figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 14px;
  border-top: 3px solid var(--core-blue);
  color: var(--core-soft);
  font-size: 12.5px;
}

.core-feature-screen figcaption b {
  flex: 0 0 auto;
  color: var(--core-ink);
  font-size: 13.5px;
}

.core-feature-screen figcaption span {
  min-width: 0;
  text-align: right;
}

.core-feature-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  list-style: none;
  border: 1px solid #cfd8e4;
  border-radius: 8px;
  background: #fff;
}

.core-feature-flow li {
  min-width: 0;
  min-height: 118px;
  padding: 13px 14px 14px;
}

.core-feature-flow li + li {
  border-left: 1px solid #d9e2ea;
}

.core-feature-flow span {
  display: grid;
  width: 25px;
  height: 25px;
  margin-bottom: 10px;
  place-items: center;
  border-radius: 50%;
  background: #eaf5f0;
  color: #17664f;
  font-size: 12px;
  font-weight: 800;
}

.core-feature-flow b {
  display: block;
  color: var(--core-ink);
  font-size: 14px;
}

.core-feature-flow small {
  display: block;
  margin-top: 4px;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.core-features .pos-guide-visual-grid-compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.core-features .pos-guide-visual-grid-compact .pos-guide-shot:nth-child(2) figcaption {
  border-top-color: var(--core-green);
}

.core-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  gap: 32px;
  align-items: end;
  margin-bottom: 26px;
}

.core-section-head > div {
  min-width: 0;
}

.core-experience .core-section-head h2,
.core-experience .core-section-title {
  margin: 0;
  text-align: left;
  color: var(--core-ink);
  font-size: 29px;
  line-height: 1.2;
}

.core-section-head > p,
.core-section-copy {
  margin: 0;
  color: var(--core-soft);
  font-size: 14px;
}

.core-reading {
  max-width: 920px;
  margin-right: auto;
  margin-left: auto;
}

.core-experience .core-reading > h2,
.core-experience .core-reading .seo-note h2,
.core-experience .core-reading .faq-list > h2 {
  text-align: left;
}

.core-experience .core-reading .center {
  text-align: left;
}

.core-experience .core-reading .seo-note {
  padding: 20px;
  border: 1px solid #c8d6e3;
  border-left: 4px solid var(--core-blue);
  background: #f7fbff;
}

.core-experience .faq-list .card {
  border-left: 3px solid #b9c7d6;
  padding: 20px 22px;
}

.core-experience .faq-list .card:nth-child(3n + 1) { border-left-color: var(--core-blue); }
.core-experience .faq-list .card:nth-child(3n + 2) { border-left-color: var(--core-green); }
.core-experience .faq-list .card:nth-child(3n) { border-left-color: var(--core-amber); }

/* Open-source POS owner */
.open-source-owner-hero {
  background: #f4f8f7;
}

.open-source-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  grid-template-areas:
    "copy panel"
    "actions panel"
    "proof proof";
  gap: 18px 38px;
  align-items: start;
}

.open-source-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.open-source-owner-experience .open-source-owner-hero h1 {
  max-width: 760px;
}

.open-source-owner-experience .open-source-owner-hero .lead {
  max-width: 740px;
}

.open-source-proof-rail {
  grid-area: proof;
  max-width: 790px;
  margin-top: 10px;
}

.open-source-hero-actions {
  grid-area: actions;
  justify-content: flex-start;
  margin-top: 0;
}

.open-source-decision-panel {
  grid-area: panel;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.decision-panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  padding-bottom: 12px;
  border-bottom: 1px solid #dce5ed;
}

.decision-panel-head span {
  color: var(--core-green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.decision-panel-head strong {
  color: var(--core-ink);
  font-size: 20px;
  line-height: 1.2;
}

.decision-checks {
  display: grid;
  gap: 0;
  overflow: hidden;
  list-style: none;
  border: 1px solid #d6e0e9;
  border-radius: 8px;
  background: #fff;
}

.decision-checks li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  min-width: 0;
  padding: 12px 13px;
}

.decision-checks li + li {
  border-top: 1px solid #d6e0e9;
}

.decision-checks span {
  grid-row: 1 / span 2;
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border-radius: 50%;
  background: var(--core-green-soft);
  color: #17664f;
  font-size: 12px;
  font-weight: 800;
}

.decision-checks strong {
  color: var(--core-ink);
  font-size: 14px;
}

.decision-checks small {
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.open-source-product-shot {
  margin: 0;
  overflow: hidden;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
}

.open-source-product-shot > a {
  display: block;
  background: #111a2a;
}

.open-source-product-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.open-source-product-shot figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border-top: 3px solid var(--core-green);
  color: var(--core-soft);
  font-size: 12.5px;
}

.open-source-product-shot figcaption b {
  flex: 0 0 auto;
  color: var(--core-ink);
  font-size: 13.5px;
}

.open-source-product-shot figcaption span {
  min-width: 0;
  text-align: right;
}

/* Pricing */
.core-plan-section {
  background: #fff;
}

.core-pricing .pricing-decision-hero {
  padding: 30px 0 26px;
  background: #f5f9f7;
}

.core-pricing .pricing-gateway-section {
  padding: 22px 0 42px;
  border-bottom: 1px solid var(--core-line);
  background: #f5f9f7;
}

.pricing-gateway-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .58fr);
  gap: 18px 34px;
  align-items: end;
  margin-bottom: 14px;
}

.pricing-decision-shell {
  display: block;
  max-width: 920px;
}

.pricing-hero-copy {
  min-width: 0;
  max-width: 720px;
}

.pricing-gateway-actions {
  display: grid;
  gap: 12px;
  min-width: 0;
  justify-items: end;
}

.pricing-gateway-head .breadcrumbs {
  justify-content: flex-start;
  margin-bottom: 9px;
}

.pricing-gateway-head .eyebrow {
  margin-bottom: 5px;
  text-align: left;
  color: var(--core-green);
  letter-spacing: 0;
}

.pricing-gateway-head h1 {
  max-width: 720px;
  margin: 0 0 8px;
  color: var(--core-ink);
  font-size: 34px;
  line-height: 1.1;
  text-align: left;
}

.pricing-gateway-head .lead {
  max-width: 660px;
  margin: 0;
  color: var(--core-soft);
  font-size: 17px;
  line-height: 1.45;
  text-align: left;
}

.pricing-gateway-actions .core-hero-support {
  max-width: 390px;
  text-align: right;
}

.pricing-gateway-actions .core-hero-actions {
  justify-content: flex-end;
  margin-top: 0;
}

.pricing-gateway-actions .btn.big {
  min-height: 46px;
  padding: 12px 18px;
}

.core-pricing .pricing-decision-hero h1 {
  max-width: 760px;
}

.core-pricing .pricing-decision-hero .lead {
  max-width: 690px;
}

.core-pricing .pricing-decision-hero .core-hero-actions {
  margin-top: 20px;
}

.core-pricing .pricing-proof-rail {
  max-width: 1140px;
  margin: 18px auto 0;
  background: #fff;
}

.pricing-decision-panel {
  display: grid;
  grid-template-columns: minmax(210px, .72fr) repeat(3, minmax(0, 1fr));
  gap: 8px 14px;
  min-width: 0;
  max-width: 1140px;
  margin: 18px auto 0;
  padding: 16px 18px;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 38px rgba(19, 35, 58, .09);
}

.pricing-decision-panel .eyebrow {
  grid-column: 1;
  grid-row: 1;
  margin: 0 0 6px;
}

.pricing-decision-panel h2 {
  grid-column: 1;
  grid-row: 2 / span 2;
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 21px;
  line-height: 1.22;
}

.pricing-route {
  display: grid;
  grid-row: 1 / span 3;
  grid-template-columns: 1fr;
  gap: 4px;
  align-content: start;
  min-width: 0;
  min-height: 112px;
  padding: 3px 0 3px 14px;
  border-left: 1px solid #dbe5ed;
  color: var(--core-ink);
  text-decoration: none;
}

.pricing-route:hover strong,
.pricing-route:focus-visible strong {
  color: var(--core-blue-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pricing-route span,
.pricing-route small {
  grid-column: 1 / -1;
}

.pricing-route span {
  color: var(--core-soft);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.pricing-route strong {
  min-width: 0;
  font-size: 17px;
  line-height: 1.2;
}

.pricing-route b {
  align-self: start;
  color: var(--core-blue-dark);
  font-size: 16px;
  white-space: normal;
}

.pricing-route small {
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.45;
}

.pricing-route-local b { color: var(--core-green); }
.pricing-route-cloud b { color: var(--core-amber); }
.pricing-route-custom b { color: var(--core-violet); }

.core-plan-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 10px;
}

.core-plan-toolbar .core-section-head {
  display: block;
  max-width: 700px;
  margin: 0;
}

.core-pricing .core-plan-toolbar h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1.2;
}

.core-pricing .toggle {
  flex: none;
  border-radius: 8px;
  background: #eef3f7;
}

.core-pricing .toggle button {
  min-width: 90px;
  border-radius: 6px;
}

.pricing-locale-note {
  margin-top: 9px;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
  text-align: right;
}

.core-pricing #planGrid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
}

.core-pricing .price-card {
  display: flex;
  min-width: 0;
  min-height: 388px;
  flex-direction: column;
  padding: 22px 20px 18px;
  border-top: 4px solid var(--core-green);
  text-align: left;
}

.core-pricing .price-card.featured {
  border-color: var(--core-blue);
  border-top-width: 4px;
  box-shadow: 0 12px 34px rgba(35, 67, 101, .12);
}

.core-pricing .price-card.paid-card:not(.featured) {
  border-top-color: var(--core-violet);
}

.core-pricing .price-card .tag {
  position: static;
  align-self: flex-start;
  transform: none;
  margin-bottom: 10px;
  border-radius: 4px;
  background: var(--core-blue-dark);
  letter-spacing: 0;
}

.core-pricing .price-card.paid-card:not(.featured) .tag {
  background: var(--core-violet);
}

.core-pricing .price-card h2 {
  min-height: 30px;
  text-align: left;
  font-size: 20px;
}

.core-pricing .price-card .amount {
  font-size: 34px;
  line-height: 1.05;
}

.core-pricing .price-card .amount small {
  display: block;
  margin-top: 6px;
}

.core-pricing .price-card ul {
  flex: 1;
  margin-top: 2px;
}

.core-pricing .price-card .btn {
  width: 100%;
  margin: 10px 0 10px;
  text-align: center;
}

.core-pricing-research {
  border-top: 1px solid var(--core-line);
  background: var(--core-canvas);
}

.core-pricing .core-pricing-research .seo-note {
  margin-top: 0 !important;
}

.core-pricing .core-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.core-pricing .core-check-grid li {
  min-height: 118px;
  margin: 0;
}

.core-pricing .core-boundary-grid {
  margin-top: 30px;
}

.core-pricing .core-boundary-grid .card:first-child { border-top: 3px solid var(--core-amber); }
.core-pricing .core-boundary-grid .card:last-child { border-top: 3px solid var(--core-rust); }

.core-pricing .core-enterprise {
  max-width: 940px !important;
  border-top: 4px solid var(--core-violet);
}

/* Download */
.core-download .core-hero .lead {
  max-width: 720px;
}

.core-release-line {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  margin-top: 18px;
  color: var(--core-soft);
  font-size: 13px;
}

.core-release-warning {
  padding-left: 12px;
  border-left: 3px solid var(--core-amber);
}

.download-advisor {
  display: grid;
  grid-template-columns: minmax(260px, 1.12fr) minmax(260px, .88fr);
  gap: 18px 22px;
  align-items: center;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #c7d5e1;
  border-radius: 8px;
  background: #f7fbfe;
  box-shadow: 0 12px 28px rgba(24, 52, 78, .08);
}

.download-advisor-copy p:last-child {
  margin: 6px 0 0;
  color: var(--core-soft);
  font-size: 13.5px;
}

.download-advisor h2 {
  margin: 0;
  color: var(--core-ink);
  font-size: 21px;
  text-align: left !important;
  line-height: 1.22;
}

.download-advisor-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.download-advisor-actions a {
  display: grid;
  min-height: 66px;
  gap: 2px;
  place-items: center;
  align-content: center;
  padding: 9px 8px;
  border: 1px solid #b9c9d8;
  border-radius: 7px;
  background: #fff;
  color: var(--core-blue-dark);
  font-size: 13.5px;
  font-weight: 750;
  text-decoration: none;
}

.download-advisor-actions a b {
  color: var(--core-ink);
  font-size: 14px;
}

.core-about .core-about-hero {
  background: #f4f8f7;
}

.core-about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  grid-template-areas:
    "copy office"
    "proof proof";
  gap: 28px 42px;
  align-items: start;
}

.core-about-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.core-about-office {
  grid-area: office;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.core-about-office img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.core-about-office figcaption {
  display: grid;
  gap: 3px;
  padding: 13px 15px 15px;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.45;
}

.core-about-office figcaption b {
  color: var(--core-ink);
  font-size: 14px;
}

.core-about-proof {
  grid-area: proof;
  max-width: none;
  margin-top: 0;
}

.core-about-contact-card {
  max-width: 780px;
}

.core-about code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.core-contribute .contribute-hero {
  background: #f4f8f7;
}

.contribute-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .78fr);
  gap: 42px;
  align-items: center;
}

.contribute-hero-copy .lead {
  max-width: 680px;
}

.contribute-volunteer-note {
  display: grid;
  gap: 3px;
  max-width: 680px;
  margin-top: 22px;
  padding: 13px 15px;
  border-left: 4px solid var(--core-amber);
  background: var(--core-amber-soft);
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.45;
}

.contribute-volunteer-note b {
  color: var(--core-ink);
  font-size: 14px;
}

.contribute-work-photo {
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d7d2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(28, 52, 82, .1);
}

.contribute-work-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.contribute-work-photo figcaption {
  display: grid;
  gap: 3px;
  padding: 13px 15px 15px;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.4;
}

.contribute-work-photo figcaption b {
  color: var(--core-ink);
  font-size: 14px;
}

.contribute-path-head {
  margin-bottom: 24px;
}

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

.contribute-path-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 235px;
  flex-direction: column;
  padding: 24px;
}

.contribute-path-card + .contribute-path-card {
  border-left: 1px solid var(--core-line);
}

.contribute-path-number {
  color: var(--core-green);
  font-size: 12px;
  font-weight: 800;
}

.contribute-path-card h3 {
  margin: 11px 0 8px;
  color: var(--core-ink);
  font-size: 20px;
}

.contribute-path-card p {
  margin: 0 0 18px;
  color: var(--core-soft);
  font-size: 14px;
}

.contribute-path-card > a {
  margin-top: auto;
  font-weight: 800;
}

.contribute-content {
  max-width: 920px !important;
}

.core-jobs .jobs-hero {
  background: #f4f8f7;
}

.jobs-hero-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1.05fr) minmax(286px, .72fr) minmax(260px, .68fr);
  gap: 24px;
  align-items: center;
}

.jobs-opening-summary {
  padding: 24px;
  border: 1px solid #c8d7d2;
  border-top: 4px solid var(--core-green);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(28, 52, 82, .1);
}

.jobs-opening-summary h2 {
  margin: 5px 0 18px;
  color: var(--core-ink);
  font-size: 26px;
}

.jobs-opening-summary dl {
  display: grid;
  margin: 0;
}

.jobs-opening-summary dl div {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--core-line);
}

.jobs-opening-summary dt {
  color: var(--core-soft);
  font-size: 13px;
  font-weight: 700;
}

.jobs-opening-summary dd {
  margin: 0;
  color: var(--core-ink);
  font-size: 14px;
  font-weight: 700;
}

.jobs-opening-summary > p:last-child {
  margin: 16px 0 0;
  color: var(--core-soft);
  font-size: 14px;
}

.jobs-content {
  max-width: 920px !important;
}

.jobs-application-card {
  scroll-margin-top: 92px;
}

.jobs-application-card:focus-visible {
  outline: 3px solid rgba(47, 110, 168, .3);
  outline-offset: 4px;
}

.core-jobs #apply input,
.core-jobs #apply textarea {
  width: 100%;
}

.download-advisor-actions a span {
  color: var(--core-soft);
  font-size: 11.5px;
  line-height: 1.25;
  text-align: center;
}

.download-advisor-actions a:hover,
.download-advisor-actions a:focus-visible,
.download-advisor-actions a.is-recommended {
  border-color: var(--core-blue);
  background: #e9f4ff;
  color: var(--core-blue-dark);
}

.download-advisor-note {
  grid-column: 1 / -1;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid #c7d5e1;
  color: var(--core-soft);
  font-size: 12.8px;
}

.core-platform-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}

.core-platform-card {
  scroll-margin-top: 76px;
  display: flex;
  position: relative;
  min-width: 0;
  min-height: 328px;
  flex-direction: column;
  border-top: 4px solid var(--core-blue) !important;
}

.core-platform-card:focus-visible {
  outline: 3px solid #9ed0ff;
  outline-offset: 3px;
}

.core-platform-card.is-recommended {
  border-color: #9ec6e6;
  box-shadow: 0 14px 32px rgba(25, 84, 132, .13);
}

.core-platform-card:nth-child(2) { border-top-color: var(--core-rust) !important; }
.core-platform-card:nth-child(3) { border-top-color: var(--core-green) !important; }

.core-platform-mark {
  display: grid;
  width: 42px;
  height: 42px;
  margin-bottom: 14px;
  place-items: center;
  border: 1px solid #bfd0df;
  border-radius: 7px;
  background: #f5f9fc;
  color: var(--core-blue-dark);
  font-size: 12px;
  font-weight: 750;
}

.core-platform-card:nth-child(2) .core-platform-mark {
  border-color: #e2c8bf;
  background: #fff7f4;
  color: var(--core-rust);
}

.core-platform-card:nth-child(3) .core-platform-mark {
  border-color: #bcd8cc;
  background: var(--core-green-soft);
  color: var(--core-green);
}

.core-platform-card .btn {
  margin-top: auto;
  text-align: center;
}

.download-advisor-badge {
  display: none;
  position: absolute;
  top: 14px;
  right: 14px;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid #9bc8ab;
  border-radius: 999px;
  background: var(--core-green-soft);
  color: var(--core-green);
  font-size: 11.5px;
  font-weight: 760;
}

.core-platform-card.is-recommended .download-advisor-badge {
  display: inline-flex;
}

.download-package-proof {
  margin: 9px 0 0;
  color: var(--core-soft);
  font-size: 12.5px;
}

.download-package-proof b {
  color: var(--core-ink);
}

.core-product-proof {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.5fr);
  gap: 30px;
  align-items: center;
  margin: 38px 0 8px;
  padding: 28px 0;
  border-top: 1px solid var(--core-line);
  border-bottom: 1px solid var(--core-line);
}

.core-product-proof h2 {
  text-align: left !important;
  font-size: 25px !important;
}

.core-product-proof p {
  color: var(--core-soft);
  font-size: 14px;
}

.core-product-proof figure {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #101928;
}

.core-product-proof img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7.4;
  object-fit: contain;
}

.core-product-proof figcaption {
  padding: 10px 13px;
  border-top: 3px solid var(--core-green);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
}

.core-download .release-activity {
  margin-top: 28px;
}

.download-setup-band {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 30px;
  align-items: center;
  margin: 34px 0;
  padding: 30px 0;
  border-top: 1px solid var(--core-line);
  border-bottom: 1px solid var(--core-line);
}

.download-setup-media {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  border-radius: 8px;
  background: #e8eef1;
}

.download-setup-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.download-setup-media figcaption {
  padding: 10px 13px;
  border-top: 3px solid var(--core-green);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
}

.download-setup-copy {
  min-width: 0;
}

.download-setup-copy .eyebrow,
.download-setup-copy h2 {
  text-align: left;
}

.download-setup-copy h2 {
  margin: 0 0 10px;
  font-size: 28px;
}

.download-setup-copy > p:not(.eyebrow) {
  color: var(--core-soft);
}

.download-setup-steps {
  display: grid;
  gap: 0;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: download-setup;
}

.download-setup-steps li {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--core-line);
  counter-increment: download-setup;
}

.download-setup-steps b::before {
  content: counter(download-setup) ". ";
  color: var(--core-green);
}

.download-setup-steps span {
  color: var(--core-soft);
}

.core-download-reference {
  border-top: 1px solid var(--core-line);
  background: var(--core-canvas);
}

.core-download .core-value-grid .card:nth-child(1) { border-top: 3px solid var(--core-green); }
.core-download .core-value-grid .card:nth-child(2) { border-top: 3px solid var(--core-blue); }
.core-download .core-value-grid .card:nth-child(3) { border-top: 3px solid var(--core-amber); }

/* Product tour */
.core-tour-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  grid-template-areas:
    "copy screen"
    "proof proof";
  gap: 30px 38px;
  align-items: center;
}

.core-tour-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.core-product-tour .core-hero h1 {
  max-width: 700px;
}

.core-product-tour .core-hero .lead {
  max-width: 680px;
}

.core-product-tour .core-hero-actions .btn {
  flex: 1 1 150px;
  min-width: 0;
  padding-inline: 14px;
  text-align: center;
}

.core-tour-hero-screen {
  grid-area: screen;
  overflow: hidden;
  margin: 0;
  border: 1px solid #c9d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 40px rgba(19, 35, 58, .12);
}

.core-tour-hero-screen img {
  display: block;
  width: 100%;
  height: auto;
}

.core-tour-hero-screen figcaption {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border-top: 4px solid var(--core-green);
  color: var(--core-soft);
  font-size: 13px;
}

.core-tour-hero-screen figcaption b {
  color: var(--core-ink);
  font-size: 14px;
}

.core-product-tour .core-hero .core-proof-rail {
  grid-area: proof;
  margin-top: 0;
}

.core-tour-gallery {
  background: #fff;
}

.core-gallery {
  overflow: hidden;
  border: 1px solid #c9d4df;
  border-radius: 8px;
  background: #101928;
  box-shadow: 0 16px 40px rgba(19, 35, 58, .12);
}

.core-gallery-tabs {
  display: flex;
  gap: 2px;
  overflow-x: auto;
  padding: 8px;
  border-bottom: 1px solid #ccd7e1;
  background: #edf3f7;
  scrollbar-width: thin;
}

.core-gallery-tab {
  flex: none;
  min-height: 42px;
  padding: 9px 15px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #465970;
  font: inherit;
  font-size: 13.5px;
  font-weight: 650;
  cursor: pointer;
}

.core-gallery-tab:hover {
  background: #fff;
  color: var(--core-blue-dark);
}

.core-gallery-tab[aria-selected="true"] {
  background: #fff;
  color: var(--core-ink);
  box-shadow: inset 0 -3px 0 var(--core-blue);
}

.core-gallery-tab:focus-visible {
  outline: 3px solid rgba(47, 115, 182, .3);
  outline-offset: 1px;
}

.core-gallery-panel[hidden] {
  display: none;
}

.core-gallery-panel {
  margin: 0;
}

.core-gallery-panel > figure {
  margin: 0;
}

.core-gallery-media {
  display: grid;
  width: 100%;
  aspect-ratio: 16 / 8.2;
  place-items: center;
  overflow: hidden;
  background: #101928;
}

.core-gallery-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.core-gallery-panel figcaption {
  display: grid;
  grid-template-columns: minmax(180px, .55fr) minmax(0, 1.45fr);
  gap: 20px;
  min-height: 78px;
  padding: 16px 18px;
  border-top: 4px solid var(--core-blue);
  background: #fff;
}

.core-gallery-panel[data-gallery-panel="inventory"] figcaption { border-top-color: var(--core-green); }
.core-gallery-panel[data-gallery-panel="purchase"] figcaption { border-top-color: var(--core-rust); }
.core-gallery-panel[data-gallery-panel="reports"] figcaption { border-top-color: var(--core-violet); }
.core-gallery-panel[data-gallery-panel="import"] figcaption { border-top-color: var(--core-amber); }
.core-gallery-panel[data-gallery-panel="offline"] figcaption { border-top-color: #5d6877; }

.core-gallery-panel figcaption strong {
  color: var(--core-ink);
  font-size: 15px;
}

.core-gallery-panel figcaption span {
  color: var(--core-soft);
  font-size: 13.5px;
}

.core-gallery-disclosure {
  max-width: 900px;
  margin-top: 16px;
  color: var(--core-soft);
  font-size: 12.5px;
}

.core-outcome-grid .card {
  min-height: 170px;
  border-top: 3px solid var(--core-blue);
}

.core-outcome-grid .card:nth-child(2) { border-top-color: var(--core-green); }
.core-outcome-grid .card:nth-child(3) { border-top-color: var(--core-rust); }

/* Guides hub */
.core-guides-hero {
  background: #f4f8f7;
}

.core-guides-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 490px);
  grid-template-areas:
    "copy panel"
    "media panel";
  gap: 22px 38px;
  align-items: start;
}

.core-guides-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.core-guides .core-hero h1 {
  max-width: 800px;
}

.core-guides .core-hero .lead {
  max-width: 760px;
}

.guide-learning-panel {
  grid-area: panel;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.guide-hero-screen {
  overflow: hidden;
  margin: 0;
  border-radius: 7px;
  background: #101928;
}

.guide-hero-screen img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8.3;
  object-fit: contain;
  background: #101928;
}

.guide-learning-photo {
  grid-area: media;
  margin: 24px 0 0;
  border: 1px solid #c8d4df;
  border-radius: 8px;
}

.guide-learning-photo img {
  aspect-ratio: 16 / 6.5;
  object-fit: cover;
  object-position: center 50%;
}

.guide-hero-screen figcaption {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-top: 3px solid var(--core-blue);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.4;
}

.guide-hero-screen figcaption b {
  color: var(--core-ink);
  font-size: 13.5px;
}

.guide-learning-panel .eyebrow {
  margin-bottom: 0;
  text-align: left;
  color: var(--core-green);
}

.guide-learning-panel h2 {
  margin: 0;
  color: var(--core-ink);
  font-size: 22px;
  line-height: 1.25;
}

.guide-route-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.guide-route-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 12px 0 12px 13px;
  border-left: 4px solid var(--core-blue);
  color: inherit;
  text-decoration: none !important;
}

.guide-route-card:last-child {
  grid-column: 1 / -1;
}

.guide-route-card:hover {
  background: #f7fbff;
}

.guide-route-card span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.guide-route-card b,
.guide-route-card small {
  overflow-wrap: anywhere;
}

.guide-route-card b {
  color: var(--core-ink);
  font-size: 14px;
}

.guide-route-card small {
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.core-tour-gallery {
  scroll-margin-top: 76px;
}

@media (min-width: 981px) and (max-width: 1300px) {
  .guide-route-list {
    grid-template-columns: 1fr;
  }

  .guide-route-card:last-child {
    grid-column: auto;
  }
}

.guide-route-card strong {
  color: var(--core-blue-dark);
  font-size: 12px;
  text-transform: uppercase;
}

.guide-route-sale { border-left-color: var(--core-rust); }
.guide-route-sale strong { color: var(--core-rust); }
.guide-route-business { border-left-color: var(--core-green); }
.guide-route-business strong { color: var(--core-green); }
.guide-route-docs { border-left-color: var(--core-violet); }
.guide-route-docs strong { color: var(--core-violet); }

.guide-proof-rail {
  grid-area: proof;
  max-width: 860px;
  margin-top: 8px;
}

.guide-path-grid {
  display: grid;
  gap: 16px;
}

.guide-path-card {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  overflow: hidden;
  padding: 0;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(19, 35, 58, .08);
}

.guide-path-card > div {
  min-width: 0;
  padding: 22px 24px 22px 0;
}

.guide-path-card .eyebrow {
  margin-bottom: 5px;
  text-align: left;
  color: var(--core-green);
}

.guide-path-card h3 {
  margin-bottom: 8px;
  color: var(--core-ink);
  font-size: 22px;
  line-height: 1.24;
}

.guide-path-card p {
  color: var(--core-soft);
}

.guide-path-media {
  display: block;
  min-width: 0;
  height: 100%;
  min-height: 220px;
  border-right: 1px solid #d7e1ea;
  background: #101928;
}

.guide-path-media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #101928;
}

.guide-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.guide-video-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "mark title"
    "mark copy";
  gap: 3px 12px;
  min-width: 0;
  min-height: 96px;
  padding: 15px;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none !important;
}

.guide-video-card:hover {
  border-color: var(--core-blue);
  box-shadow: 0 10px 24px rgba(19, 35, 58, .08);
}

.guide-video-card span {
  grid-area: mark;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.guide-video-card b {
  grid-area: title;
  min-width: 0;
  color: var(--core-ink);
  font-size: 14px;
}

.guide-video-card small {
  grid-area: copy;
  min-width: 0;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.guide-video-actions {
  margin-top: 22px;
}

.guide-resource-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.guide-resource-grid a {
  display: grid;
  gap: 7px;
  min-width: 0;
  min-height: 132px;
  padding: 17px 18px;
  border: 1px solid #cbd7e1;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none !important;
}

.guide-resource-grid a:nth-child(2n) { border-top-color: var(--core-green); }
.guide-resource-grid a:nth-child(3n) { border-top-color: var(--core-amber); }

.guide-resource-grid a:hover {
  border-color: var(--core-blue);
  box-shadow: 0 10px 24px rgba(19, 35, 58, .08);
}

.guide-resource-grid b {
  color: var(--core-ink);
  font-size: 15px;
}

.guide-resource-grid span {
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.5;
}

.guide-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 24px;
  padding: 22px 24px;
  border: 1px solid #cbd7e1;
  border-left: 4px solid var(--core-green);
  border-radius: 8px;
  background: #f7fbff;
}

.guide-final-cta h2 {
  margin: 0 0 7px;
  color: var(--core-ink);
  font-size: 24px;
  line-height: 1.25;
}

.guide-final-cta p {
  margin: 0;
  color: var(--core-soft);
}

.guide-final-cta .eyebrow {
  margin-bottom: 5px;
  text-align: left;
  color: var(--core-green);
}

.guide-final-cta .core-hero-actions {
  margin-top: 0;
  justify-content: flex-end;
}

/* Setup help */
.core-setup-help-hero {
  background: #f4f8f7;
}

.core-experience .core-setup-help-hero {
  padding-top: 34px;
  padding-bottom: 34px;
}

.setup-help-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(360px, 560px);
  grid-template-areas:
    "copy form"
    "proof proof";
  gap: 22px 38px;
  align-items: start;
}

.setup-help-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.setup-help-context-photo {
  margin: 24px 0 0;
  overflow: hidden;
  border: 1px solid #c8d7d2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(28, 52, 82, .1);
}

.setup-help-context-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 12 / 5;
  object-fit: cover;
}

.setup-help-context-photo figcaption {
  display: grid;
  gap: 2px;
  padding: 11px 13px 13px;
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.4;
}

.setup-help-context-photo figcaption b {
  color: var(--core-ink);
  font-size: 13px;
}

.core-setup-help .core-hero h1 {
  max-width: 760px;
}

.core-setup-help .core-hero .lead {
  max-width: 740px;
}

.core-setup-help .core-setup-help-hero .core-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.core-setup-help .core-setup-help-hero .core-hero-actions .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.setup-help-intake-card {
  grid-area: form;
  display: grid;
  gap: 13px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.setup-help-intake-card .eyebrow {
  margin-bottom: 0;
  text-align: left;
  color: var(--core-green);
}

.setup-help-intake-card h2 {
  margin: 0;
  color: var(--core-ink);
  font-size: 23px;
  text-align: left;
  line-height: 1.22;
}

.setup-help-intake-card p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.setup-help-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.setup-help-fieldset,
.quote-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.setup-help-fieldset legend,
.quote-fieldset legend {
  margin-bottom: 4px;
  padding: 0;
  color: var(--core-ink);
  font-size: 13px;
  font-weight: 800;
}

.setup-help-optional-details,
.quote-optional-details {
  margin-top: 12px;
  border: 1px solid #d4dde6;
  border-radius: 8px;
  background: #f8fafc;
}

.setup-help-optional-details summary,
.quote-optional-details summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  color: var(--core-ink);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.setup-help-optional-details summary small,
.quote-optional-details summary small {
  color: var(--core-soft);
  font-size: 12px;
  font-weight: 700;
}

.setup-help-optional-details summary::after,
.quote-optional-details summary::after {
  content: "+";
  width: 18px;
  color: var(--core-blue);
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.setup-help-optional-details[open] summary::after,
.quote-optional-details[open] summary::after {
  content: "-";
}

.setup-help-optional-details[open] summary,
.quote-optional-details[open] summary {
  border-bottom: 1px solid #d4dde6;
}

.setup-help-optional-details .setup-help-fieldset,
.quote-optional-details .quote-fieldset {
  padding: 14px;
}

.download-mac-actions {
  display: grid;
  gap: 8px;
}

.download-mac-actions .btn {
  width: 100%;
}

.jobs-work-photo {
  align-self: stretch;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d7d2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(28, 52, 82, .1);
}

.jobs-work-photo img {
  display: block;
  width: 100%;
  height: calc(100% - 70px);
  min-height: 230px;
  object-fit: cover;
  object-position: 58% center;
}

.jobs-work-photo figcaption {
  display: grid;
  gap: 2px;
  min-height: 70px;
  padding: 11px 13px 13px;
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.35;
}

.jobs-work-photo figcaption b {
  color: var(--core-ink);
  font-size: 13px;
}

.setup-help-move-set {
  margin: 12px 0 4px;
  padding: 10px 12px 12px;
  border: 1px solid var(--core-line);
  border-radius: 10px;
  min-width: 0;
}

.setup-help-move-set legend {
  padding: 0 6px;
  color: var(--core-ink);
  font-size: 12.8px;
  font-weight: 700;
}

.setup-help-move-set label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 3px 0;
  font-weight: 400;
  cursor: pointer;
}

/* The card sets inputs to full width, which would stretch a checkbox into a bar. */
.setup-help-move-set input {
  flex: 0 0 auto;
  width: auto;
  margin: 0;
}

.setup-help-intake-card textarea {
  min-height: 108px;
}

.setup-help-boundary {
  margin: 10px 0 12px;
  padding: 11px 12px;
  border-left: 4px solid var(--core-amber);
  border-radius: 8px;
  background: #fffaf0;
  color: var(--core-ink);
  font-size: 12.8px;
  line-height: 1.45;
}

.setup-help-intake-card .btn {
  width: 100%;
  margin-top: 12px;
  text-align: center;
}

.setup-help-success {
  margin: 0;
}

.setup-help-proof-rail {
  grid-area: proof;
  max-width: 980px;
  margin-top: 8px;
}

.setup-help-readiness-grid {
  display: grid;
  grid-template-columns: minmax(340px, 540px) minmax(0, 1fr);
  gap: 30px;
  align-items: center;
}

.setup-help-product-shot {
  margin: 0;
  overflow: hidden;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #101928;
  box-shadow: 0 16px 40px rgba(19, 35, 58, .12);
}

.setup-help-product-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1500 / 691;
  object-fit: contain;
  background: #101928;
}

.setup-help-product-shot figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-top: 3px solid var(--core-green);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
}

.setup-help-product-shot figcaption b {
  flex: 0 0 auto;
  color: var(--core-ink);
  font-size: 13.5px;
}

.setup-help-product-shot figcaption span {
  min-width: 0;
  text-align: right;
}

.setup-help-readiness-copy {
  min-width: 0;
}

.setup-help-readiness-copy .eyebrow {
  text-align: left;
  color: var(--core-green);
}

.setup-help-readiness-copy h2 {
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 29px;
  text-align: left;
  line-height: 1.2;
}

.setup-help-readiness-copy p {
  color: var(--core-soft);
}

.setup-help-check-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.setup-help-check-list li {
  position: relative;
  min-width: 0;
  padding-left: 42px;
  color: var(--core-soft);
}

.setup-help-check-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  content: "";
  font-size: 15px;
  font-weight: 800;
}

.setup-help-check-list li::after {
  position: absolute;
  top: 8px;
  left: 10px;
  width: 7px;
  height: 11px;
  border-right: 2px solid #17664f;
  border-bottom: 2px solid #17664f;
  content: "";
  transform: rotate(40deg);
}

.setup-help-check-list b,
.setup-help-check-list span {
  display: block;
  overflow-wrap: anywhere;
}

.setup-help-check-list b {
  color: var(--core-ink);
}

.setup-help-check-list span {
  font-size: 13px;
  line-height: 1.5;
}

.setup-help-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.setup-help-flow > div {
  min-width: 0;
  min-height: 188px;
  padding: 18px;
  border: 1px solid #cbd7e1;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 35, 58, .06);
}

.setup-help-flow > div:nth-child(2) { border-top-color: var(--core-green); }
.setup-help-flow > div:nth-child(3) { border-top-color: var(--core-amber); }
.setup-help-flow > div:nth-child(4) { border-top-color: var(--core-violet); }

.setup-help-flow span {
  display: grid;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  font-size: 13px;
  font-weight: 800;
}

.setup-help-flow b {
  display: block;
  color: var(--core-ink);
  font-size: 16px;
  line-height: 1.25;
}

.setup-help-flow p {
  margin: 8px 0 0;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.5;
}

.setup-help-related-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(320px, 1fr);
  gap: 28px;
  align-items: start;
}

.setup-help-related-grid .eyebrow {
  text-align: left;
  color: var(--core-green);
}

.setup-help-related-grid h2 {
  margin: 0 0 14px;
  color: var(--core-ink);
  font-size: 27px;
  text-align: left;
  line-height: 1.22;
}

/* Quote */
.core-quote-hero {
  background: #f4f8f7;
}

.core-experience .core-quote-hero {
  padding-top: 34px;
  padding-bottom: 34px;
}

.quote-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .94fr) minmax(360px, 560px);
  grid-template-areas:
    "copy form"
    "proof proof";
  gap: 22px 38px;
  align-items: start;
}

.quote-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.core-quote .core-quote-hero .core-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
}

.core-quote .core-quote-hero .core-hero-actions .btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
}

.core-customer-evidence .core-evidence-hero {
  background: #f4f8f7;
  border-bottom: 1px solid #d7e4e0;
  padding: 42px 0 48px;
}

.core-evidence-hero-grid {
  align-items: start;
  display: grid;
  gap: 56px;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr);
  margin-top: 24px;
}

.core-evidence-intro h1 {
  font-size: 46px;
  line-height: 1.08;
  margin: 12px 0 18px;
  max-width: 680px;
}

.core-evidence-intro .lead {
  font-size: 19px;
  line-height: 1.55;
  margin: 0;
  max-width: 690px;
}

.core-evidence-boundary {
  border-left: 3px solid #0f8b68;
  color: #3f5363;
  line-height: 1.55;
  margin: 24px 0 14px;
  max-width: 680px;
  padding-left: 16px;
}

.core-evidence-proof-link {
  color: #075f4a;
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.core-evidence-actions {
  background: #fff;
  border: 1px solid #cddbd7;
  border-top: 4px solid #0f8b68;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(22, 49, 61, 0.08);
  padding: 24px;
}

.core-evidence-actions h2 {
  font-size: 24px;
  line-height: 1.25;
  margin: 6px 0 18px;
}

.core-evidence-action {
  align-items: center;
  border-top: 1px solid #dce5e2;
  color: #13283a;
  display: grid;
  gap: 4px;
  padding: 16px 34px 16px 0;
  position: relative;
  text-decoration: none;
}

.core-evidence-action::after {
  color: #0f7659;
  content: "\2192";
  font-size: 22px;
  position: absolute;
  right: 4px;
}

.core-evidence-action strong {
  font-size: 16px;
}

.core-evidence-action span {
  color: #526575;
  font-size: 14px;
  line-height: 1.45;
}

.core-evidence-action:hover strong,
.core-evidence-action:focus-visible strong {
  color: #075f4a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 900px) {
  .core-evidence-hero-grid {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .core-evidence-intro h1 {
    font-size: 40px;
  }
}

@media (max-width: 560px) {
  .core-customer-evidence .core-evidence-hero {
    padding: 28px 0 34px;
  }

  .core-evidence-hero-grid {
    margin-top: 18px;
  }

  .core-evidence-intro h1 {
    font-size: 34px;
  }

  .core-evidence-actions {
    padding: 20px;
  }
}

.core-tco-calculator .tco-live-comparison {
  background: #fff;
  border: 1px solid #cfdde5;
  border-top: 4px solid #1677b8;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(18, 48, 66, 0.1);
  display: grid;
  gap: 4px 28px;
  grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
  padding: 18px 20px;
  position: sticky;
  top: 76px;
  z-index: 8;
}

.tco-live-heading {
  align-items: baseline;
  display: flex;
  gap: 18px;
  grid-column: 1;
  grid-row: 1;
  justify-content: space-between;
}

.tco-live-heading h2 {
  font-size: 20px;
  line-height: 1.3;
  margin: 0;
  text-align: left;
}

.tco-live-heading > a {
  color: #075f4a;
  display: inline-block;
  font-size: 14px;
  font-weight: 800;
  margin-top: 0;
  text-underline-offset: 3px;
}

.core-tco-calculator .tco-summary {
  background: transparent;
  border-left: 0;
  color: #506473;
  font-size: 14px;
  font-weight: 600;
  grid-column: 1;
  grid-row: 2;
  margin: 6px 0 0;
  padding: 0;
}

.tco-live-totals {
  display: grid;
  gap: 16px;
  grid-column: 2;
  grid-row: 1 / span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.tco-live-totals > div {
  align-items: baseline;
  border-top: 1px solid #dce5ea;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  min-width: 0;
  padding-top: 12px;
}

.tco-live-totals dt {
  color: #405565;
  font-size: 14px;
  font-weight: 700;
  min-width: 0;
  overflow-wrap: anywhere;
}

.tco-live-totals dd {
  color: #102a3c;
  font-size: 21px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  margin: 0;
  overflow-wrap: anywhere;
  text-align: right;
}

@media (max-width: 760px) {
  .core-tco-calculator .tco-live-comparison {
    display: block;
    position: static;
  }

  .tco-live-heading {
    align-items: start;
    flex-direction: column;
    gap: 6px;
  }

  .tco-live-heading > a {
    margin-top: 6px;
  }

  .tco-live-totals {
    grid-template-columns: 1fr;
    margin-top: 14px;
  }
}

.core-editorial-policy .core-editorial-hero {
  background: #f5f8f7;
  border-bottom: 1px solid #d9e4e0;
  padding: 36px 0 44px;
}

.core-editorial-hero-grid {
  align-items: start;
  display: grid;
  gap: 54px;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
  margin-top: 22px;
}

.core-editorial-intro h1 {
  font-size: 44px;
  line-height: 1.08;
  margin: 10px 0 16px;
  max-width: 650px;
}

.core-editorial-intro .lead {
  font-size: 18px;
  line-height: 1.55;
  margin: 0;
  max-width: 680px;
}

.core-editorial-anchors {
  border-top: 1px solid #cfddd8;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 22px;
  padding-top: 14px;
}

.core-editorial-anchors span {
  color: #526575;
  font-size: 13px;
  line-height: 1.4;
}

.core-editorial-anchors b {
  color: #183244;
  display: block;
  font-size: 13px;
  margin-bottom: 2px;
}

.core-editorial-nav {
  background: #fff;
  border: 1px solid #ccdcd6;
  border-top: 4px solid #0f8b68;
  border-radius: 8px;
  box-shadow: 0 16px 38px rgba(18, 52, 61, 0.08);
  padding: 22px 24px;
}

.core-editorial-nav h2 {
  font-size: 23px;
  line-height: 1.25;
  margin: 5px 0 12px;
  text-align: left;
}

.core-editorial-nav a {
  align-items: center;
  border-top: 1px solid #dde6e2;
  color: #173345;
  display: flex;
  font-size: 14px;
  font-weight: 750;
  gap: 18px;
  justify-content: space-between;
  padding: 12px 2px;
  text-decoration: none;
}

.core-editorial-nav a span {
  color: #0f7659;
  flex: none;
  font-size: 18px;
}

.core-editorial-nav a:hover,
.core-editorial-nav a:focus-visible {
  color: #075f4a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.core-editorial-nav a.primary {
  color: #075f4a;
}

.core-editorial-policy section[id] {
  scroll-margin-top: 86px;
}

@media (max-width: 900px) {
  .core-editorial-hero-grid {
    gap: 28px;
    grid-template-columns: 1fr;
  }

  .core-editorial-nav {
    max-width: 680px;
  }
}

@media (max-width: 560px) {
  .core-editorial-policy .core-editorial-hero {
    padding: 28px 0 34px;
  }

  .core-editorial-intro h1 {
    font-size: 34px;
  }

  .core-editorial-anchors {
    grid-template-columns: 1fr;
  }

  .core-editorial-nav {
    padding: 19px 20px;
  }
}

.core-quote .core-hero h1 {
  max-width: 780px;
}

.core-quote .core-hero .lead {
  max-width: 760px;
}

.quote-intake-card {
  grid-area: form;
  display: grid;
  gap: 13px;
  min-width: 0;
  padding: 20px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
  scroll-margin-top: 92px;
}

.quote-intake-card:focus-visible {
  outline: 3px solid rgba(47, 110, 168, .28);
  outline-offset: 4px;
}

.quote-intake-card .eyebrow {
  margin-bottom: 0;
  text-align: left;
  color: var(--core-green);
}

.quote-intake-card h2 {
  margin: 0;
  color: var(--core-ink);
  font-size: 23px;
  text-align: left;
  line-height: 1.22;
}

.quote-intake-card p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.quote-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.quote-intake-card textarea {
  min-height: 108px;
}

.quote-boundary {
  margin: 10px 0 12px;
  padding: 11px 12px;
  border-left: 4px solid var(--core-amber);
  border-radius: 8px;
  background: #fffaf0;
  color: var(--core-ink);
  font-size: 12.8px;
  line-height: 1.45;
}

.quote-intake-card .btn {
  width: 100%;
  margin-top: 12px;
  text-align: center;
}

.quote-success {
  margin: 0;
}

.quote-proof-rail {
  grid-area: proof;
  max-width: 1040px;
  margin-top: 8px;
}

.quote-readiness-grid {
  display: grid;
  grid-template-columns: minmax(340px, 540px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}

.quote-product-shot {
  margin: 0;
  overflow: hidden;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #101928;
  box-shadow: 0 16px 40px rgba(19, 35, 58, .12);
}

.quote-product-shot img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background: #101928;
}

.quote-product-shot figcaption {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-top: 3px solid var(--core-green);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
}

.quote-product-shot figcaption b {
  flex: 0 0 auto;
  color: var(--core-ink);
  font-size: 13.5px;
}

.quote-product-shot figcaption span {
  min-width: 0;
  text-align: right;
}

.quote-readiness-copy {
  min-width: 0;
}

.quote-readiness-copy .eyebrow,
.core-quote .seo-narrow > .eyebrow {
  text-align: left;
  color: var(--core-green);
}

.quote-readiness-copy h2,
.quote-service-grid h2 {
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 29px;
  text-align: left;
  line-height: 1.2;
}

.quote-readiness-copy p,
.quote-service-grid p {
  color: var(--core-soft);
}

.quote-check-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.quote-check-list li {
  position: relative;
  min-width: 0;
  padding-left: 42px;
  color: var(--core-soft);
}

.quote-check-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  content: "";
  font-size: 15px;
  font-weight: 800;
}

.quote-check-list li::after {
  position: absolute;
  top: 8px;
  left: 10px;
  width: 7px;
  height: 11px;
  border-right: 2px solid #17664f;
  border-bottom: 2px solid #17664f;
  content: "";
  transform: rotate(40deg);
}

.quote-check-list b,
.quote-check-list span {
  display: block;
  overflow-wrap: anywhere;
}

.quote-check-list b {
  color: var(--core-ink);
}

.quote-check-list span {
  font-size: 13px;
  line-height: 1.5;
}

.quote-scope-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.quote-scope-grid article {
  min-width: 0;
  min-height: 190px;
  padding: 18px;
  border: 1px solid #cbd7e1;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 35, 58, .06);
}

.quote-scope-grid article:nth-child(2) { border-top-color: var(--core-green); }
.quote-scope-grid article:nth-child(3) { border-top-color: var(--core-amber); }
.quote-scope-grid article:nth-child(4) { border-top-color: var(--core-rust); }
.quote-scope-grid article:nth-child(5) { border-top-color: var(--core-violet); }
.quote-scope-grid article:nth-child(6) { border-top-color: var(--core-green); }

.quote-scope-grid span {
  display: grid;
  width: 30px;
  height: 30px;
  margin-bottom: 12px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  font-size: 13px;
  font-weight: 800;
}

.quote-scope-grid b {
  display: block;
  color: var(--core-ink);
  font-size: 16px;
  line-height: 1.25;
}

.quote-scope-grid p {
  margin: 8px 0 0;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.5;
}

.quote-service-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 30px;
  align-items: start;
}

.quote-service-grid .eyebrow {
  text-align: left;
  color: var(--core-green);
}

.quote-link-panel {
  min-width: 0;
  padding: 20px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #f8fbff;
}

.quote-link-panel h2 {
  margin-bottom: 14px;
  font-size: 22px;
}

/* Contact */
.core-contact-hero {
  background: #f4f8f7;
}

.core-contact-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 500px);
  grid-template-areas:
    "copy panel";
  gap: 22px 38px;
  align-items: start;
}

.core-contact-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.core-contact .core-hero h1 {
  max-width: 840px;
}

@media (min-width: 561px) {
  html[lang="ta"] .core-contact .core-contact-hero h1 {
    font-size: 36px;
    line-height: 1.18;
  }
}

.core-contact .core-hero .lead {
  max-width: 760px;
}

.contact-route-panel {
  grid-area: panel;
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: 18px;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.contact-route-photo {
  position: relative;
  overflow: hidden;
  margin: 22px 0 0;
  max-width: 560px;
  border-radius: 8px;
  background: #eaf1f7;
}

.contact-route-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 6.4;
  object-fit: cover;
  object-position: center 47%;
}

.contact-route-photo figcaption {
  position: absolute;
  right: 10px;
  bottom: 9px;
  max-width: calc(100% - 20px);
  padding: 5px 8px;
  background: rgba(17, 35, 54, .84);
  color: #fff;
  font-size: 11.5px;
  line-height: 1.3;
}

.contact-hero-photo {
  overflow: hidden;
  margin: 0;
  border-radius: 7px;
  background: #eaf1f7;
}

.contact-hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8.8;
  object-fit: cover;
  object-position: center 52%;
}

.contact-hero-photo figcaption {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-top: 3px solid var(--core-green);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.4;
}

.contact-hero-photo figcaption b {
  color: var(--core-ink);
  font-size: 13.5px;
}

.contact-route-panel .eyebrow {
  margin-bottom: 0;
  text-align: left;
  color: var(--core-green);
}

.contact-route-panel h2 {
  margin: 0;
  color: var(--core-ink);
  font-size: 22px;
  line-height: 1.25;
}

.contact-route-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.contact-route-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  padding: 12px 0 12px 13px;
  border-left: 4px solid var(--core-blue);
  color: inherit;
  text-decoration: none !important;
}

.contact-route-card:hover {
  background: #f7fbff;
}

.contact-route-card span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.contact-route-card b,
.contact-route-card small {
  overflow-wrap: anywhere;
}

.contact-route-card b {
  color: var(--core-ink);
  font-size: 14px;
}

.contact-route-card small {
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.contact-route-card strong {
  justify-self: start;
  color: var(--core-blue-dark);
  font-size: 12px;
  text-transform: uppercase;
}

.contact-route-urgent { border-left-color: var(--core-rust); }
.contact-route-urgent strong { color: var(--core-rust); }
.contact-route-setup { border-left-color: var(--core-green); }
.contact-route-setup strong { color: var(--core-green); }
.contact-route-sales { border-left-color: var(--core-amber); }
.contact-route-sales strong { color: #946514; }
.contact-route-security { border-left-color: var(--core-violet); }
.contact-route-security strong { color: var(--core-violet); }

.contact-proof-rail {
  max-width: 1140px;
  margin: 22px auto 0;
  background: #fff;
}

.contact-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 22px;
  align-items: start;
}

.contact-form-panel,
.contact-next-panel {
  min-width: 0;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(19, 35, 58, .08);
}

.contact-form-panel {
  padding: 24px;
  scroll-margin-top: 92px;
}

.contact-form-panel:focus-visible {
  outline: 3px solid rgba(47, 110, 168, .28);
  outline-offset: 4px;
}

.contact-form-panel h2,
.contact-next-panel h2 {
  margin: 0 0 8px;
  color: var(--core-ink);
  font-size: 25px;
  line-height: 1.25;
}

.contact-form-panel p,
.contact-next-panel p {
  color: var(--core-soft);
}

.contact-form-panel .eyebrow,
.contact-next-panel .eyebrow {
  margin-bottom: 5px;
  text-align: left;
  color: var(--core-green);
}

.contact-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
  margin-top: 12px;
}

.contact-form-panel textarea {
  min-height: 130px;
}

.contact-form-note {
  margin: 11px 0 14px;
  padding: 11px 13px;
  border-left: 4px solid var(--core-amber);
  border-radius: 8px;
  background: #fffaf0;
  color: var(--core-ink);
  font-size: 13px;
  line-height: 1.45;
}

.contact-success {
  margin: 0;
}

.contact-next-panel {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.contact-check-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: contact-step;
}

.contact-check-list li {
  position: relative;
  min-width: 0;
  padding-left: 42px;
  color: var(--core-soft);
}

.contact-check-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  background: #eaf5f0;
  color: #17664f;
  content: counter(contact-step);
  counter-increment: contact-step;
  font-size: 13px;
  font-weight: 800;
}

.contact-check-list b,
.contact-check-list span {
  display: block;
  overflow-wrap: anywhere;
}

.contact-check-list b {
  color: var(--core-ink);
}

.contact-check-list span {
  font-size: 13px;
  line-height: 1.5;
}

.contact-soft-card {
  padding: 16px;
  border: 1px solid #cbd7e1;
  border-left: 4px solid var(--core-green);
  border-radius: 8px;
  background: #f7fbff;
}

.contact-soft-card h3 {
  margin: 0 0 8px;
  color: var(--core-ink);
  font-size: 18px;
}

.contact-soft-card p {
  margin-bottom: 10px;
}

.contact-identity-photo {
  margin: 0 0 18px;
  border: 1px solid #c8d4df;
}

.contact-identity-photo img {
  aspect-ratio: 16 / 5.7;
  object-position: center 54%;
}

.contact-identity-photo figcaption {
  grid-template-columns: minmax(190px, .45fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.contact-detail-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.contact-detail-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 230px;
  padding: 18px;
  border: 1px solid #cbd7e1;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(19, 35, 58, .06);
}

.contact-detail-card:nth-child(2) { border-top-color: var(--core-rust); }
.contact-detail-card:nth-child(3) { border-top-color: var(--core-green); }
.contact-detail-card:nth-child(4) { border-top-color: var(--core-amber); }

.contact-detail-card span {
  color: var(--core-green);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.contact-detail-card h3 {
  margin: 0;
  color: var(--core-ink);
  font-size: 19px;
  line-height: 1.25;
}

.contact-detail-card p {
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.55;
}

.contact-detail-card a {
  align-self: end;
}

.contact-trust-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 520px);
  gap: 26px;
  align-items: start;
}

.contact-trust-grid h2 {
  margin: 0 0 8px;
  color: var(--core-ink);
  font-size: 28px;
  line-height: 1.24;
}

.contact-trust-grid p {
  color: var(--core-soft);
}

.contact-trust-grid .eyebrow {
  text-align: left;
  color: var(--core-green);
}

.contact-link-stack {
  display: grid;
  gap: 10px;
}

.contact-link-stack a {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 16px 17px;
  border: 1px solid #cbd7e1;
  border-left: 4px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none !important;
}

.contact-link-stack a:nth-child(2) { border-left-color: var(--core-green); }
.contact-link-stack a:nth-child(3) { border-left-color: var(--core-amber); }

.contact-link-stack a:hover {
  border-color: var(--core-blue);
  box-shadow: 0 10px 24px rgba(19, 35, 58, .08);
}

.contact-link-stack b {
  color: var(--core-ink);
}

.contact-link-stack span {
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.5;
}

/* Signup */
.core-signup-shell {
  min-height: calc(100vh - 62px);
  padding: 28px 0 36px;
  background: var(--core-canvas);
}

.core-signup-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr);
  gap: 22px;
  align-items: start;
}

.core-signup-form {
  min-width: 0;
  padding: 22px 26px !important;
  border-top: 4px solid var(--core-blue) !important;
  box-shadow: 0 14px 34px rgba(19, 35, 58, .08);
}

.core-signup-form .eyebrow {
  margin-bottom: 3px;
  text-align: left;
  color: var(--core-green);
}

.core-signup-form h1 {
  margin-bottom: 3px !important;
  color: var(--core-ink);
  font-size: 25px !important;
  line-height: 1.25;
}

.core-signup-context {
  overflow: hidden;
  border: 1px solid #253b52;
  border-radius: 8px;
  background: #162a3e;
  color: #fff;
}

.core-signup-context img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.4;
  border-bottom: 3px solid var(--core-green);
  object-fit: contain;
  background: #101928;
}

.core-signup-context-copy {
  padding: 20px;
}

.core-signup-context .eyebrow {
  margin-bottom: 5px;
  text-align: left;
  color: #82d4b6;
}

.core-signup-context h2 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 21px;
  line-height: 1.25;
}

.core-signup-context p,
.core-signup-context li {
  color: #d7e1eb;
  font-size: 13.5px;
}

.core-check-list {
  display: grid;
  gap: 9px;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #385069;
  list-style: none;
}

.core-check-list li {
  position: relative;
  padding-left: 21px;
}

.core-check-list li::before {
  content: "";
  position: absolute;
  top: .55em;
  left: 1px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #60c49f;
}

.core-signup-local {
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid #385069;
}

.core-signup-local a {
  color: #9ed0ff;
  font-weight: 700;
}

/* Trust */
.trust-hero {
  background: #f6faf9;
  border-color: #cfe2dd;
}

.trust-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .8fr);
  grid-template-areas:
    "copy certificate"
    "proof proof";
  gap: 28px 48px;
  align-items: center;
}

.trust-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.trust-hero-boundary {
  max-width: 690px;
  margin: 20px 0 0;
  padding-left: 15px;
  border-left: 3px solid var(--core-amber);
  color: var(--core-soft);
  font-size: 14px;
  line-height: 1.55;
}

.trust-certificate-preview {
  grid-area: certificate;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c5d1dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 52, 82, .1);
}

.trust-certificate-preview a,
.trust-certificate-preview img {
  display: block;
}

.trust-certificate-preview img {
  width: 100%;
  height: auto;
  aspect-ratio: 960 / 679;
  object-fit: cover;
}

.trust-certificate-preview figcaption {
  display: grid;
  gap: 4px;
  padding: 13px 15px 15px;
  border-top: 3px solid var(--core-rust);
}

.trust-certificate-preview figcaption strong {
  color: var(--core-ink);
  font-size: 14px;
}

.trust-certificate-preview figcaption span {
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.45;
}

.core-trust .proof-strip {
  grid-area: proof;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  max-width: 1040px;
  margin: 0;
  border-top: 1px solid #c9d4df;
  border-bottom: 1px solid #c9d4df;
}

.core-trust .proof-strip span {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.core-trust .proof-strip span + span {
  border-left: 1px solid #c9d4df;
}

.core-trust .core-evidence-grid .card {
  border-top: 3px solid var(--core-blue);
}

.core-trust .core-evidence-grid .card:nth-child(2) { border-top-color: var(--core-green); }
.core-trust .core-evidence-grid .card:nth-child(3) { border-top-color: var(--core-violet); }

.core-trust .trust-media {
  display: block;
  margin-top: 28px;
}

.core-trust .trust-media .screen-card {
  border-color: #c5d1dc;
}

.core-trust .trust-media .screen-card img {
  width: 100%;
  aspect-ratio: 16 / 7;
  padding: 0;
  object-fit: cover;
  object-position: center 62%;
}

.core-trust .trust-media .screen-card figcaption {
  grid-template-columns: minmax(210px, .6fr) minmax(0, 1.4fr);
  gap: 20px;
  border-top: 4px solid var(--core-rust);
}

.core-trust .core-correction {
  padding: 17px 20px;
  border-left: 4px solid var(--core-amber);
  background: var(--core-amber-soft);
}

.core-trust .pos-architecture {
  padding: 26px;
  border: 1px solid #cbd7e1;
  border-radius: 8px;
  background: #fff;
}

.core-trust .pos-architecture-heading {
  margin-right: 0;
  margin-left: 0;
  text-align: left;
}

.core-trust .core-source-grid .card:nth-child(1) { border-top: 3px solid var(--core-blue); }
.core-trust .core-source-grid .card:nth-child(2) { border-top: 3px solid var(--core-rust); }
.core-trust .core-source-grid .card:nth-child(3) { border-top: 3px solid var(--core-green); }

.core-trust-review {
  border-top: 1px solid var(--core-line);
  background: #fff;
}

/* Partner qualification gateway */
.core-experience .partner-hero {
  position: relative;
  display: flex;
  min-height: min(650px, calc(100vh - 64px));
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  padding: 54px 0 44px;
  border-bottom: 0;
  background: #13233a;
}

.partner-hero::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: rgba(10, 25, 42, .66);
  content: "";
}

.partner-hero-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.partner-hero-content {
  position: relative;
}

.core-experience .partner-hero .breadcrumbs,
.core-experience .partner-hero .breadcrumbs a,
.core-experience .partner-hero .lead {
  color: #f1f6fa;
}

.core-experience .partner-hero .eyebrow {
  color: #8fe2bf;
}

.core-experience .partner-hero h1 {
  max-width: 820px;
  color: #fff;
  font-size: 48px;
}

.core-experience .partner-hero .lead {
  max-width: 790px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .24);
}

.partner-hero-actions .btn.ghost {
  border-color: rgba(255, 255, 255, .72);
  background: rgba(255, 255, 255, .92);
}

.partner-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 900px;
  margin: 30px 0 0;
  padding: 18px 0 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .42);
}

.partner-journey li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 2px 10px;
  min-width: 0;
  padding-right: 22px;
  color: #fff;
}

.partner-journey li + li {
  padding-left: 22px;
  border-left: 1px solid rgba(255, 255, 255, .32);
}

.partner-journey span {
  grid-row: 1 / span 2;
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: #eaf5f0;
  color: #17664f;
  font-size: 12px;
  font-weight: 800;
}

.partner-journey b {
  font-size: 14px;
}

.partner-journey small {
  color: #dce7ef;
  font-size: 12.5px;
  line-height: 1.4;
}

.partner-form-instructions {
  margin: 0 0 14px;
  color: var(--core-muted);
  font-size: 13.5px;
}

.partner-form-group {
  min-width: 0;
  margin: 0 0 16px;
  padding: 12px 14px 14px;
  border: 1px solid var(--core-line);
  border-radius: 8px;
}

.partner-form-group legend {
  padding: 0 7px;
  color: var(--core-ink);
  font-weight: 750;
}

.partner-form-group label:first-of-type {
  margin-top: 2px;
}

.partner-form-grid {
  gap: 0 18px;
}

@media (max-width: 760px) {
  .core-experience .partner-hero {
    min-height: 0;
    padding: 42px 0 34px;
  }

  .partner-hero::after {
    background: rgba(10, 25, 42, .76);
  }

  .partner-hero-media {
    object-position: 43% center;
  }

  .core-experience .partner-hero h1 {
    font-size: 34px;
  }

  .partner-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .partner-journey {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .partner-journey li,
  .partner-journey li + li {
    padding: 0;
    border-left: 0;
  }
}

@media (max-width: 980px) {
  .trust-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "proof"
      "certificate";
    gap: 28px;
  }

  .trust-certificate-preview {
    max-width: 680px;
  }

  .ideas-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .jobs-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contribute-hero-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .contribute-work-photo {
    max-width: 680px;
  }

  .jobs-opening-summary,
  .jobs-work-photo {
    max-width: 680px;
  }

  .jobs-work-photo img {
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 7;
  }

  .core-about-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "proof"
      "office";
    gap: 28px;
  }

  .core-about-office {
    max-width: 680px;
  }

  .core-tour-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "proof"
      "screen";
    gap: 24px;
  }

  .core-tour-hero-screen {
    max-width: 720px;
  }

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

  .pricing-gateway-actions {
    justify-items: start;
  }

  .pricing-gateway-actions .core-hero-support {
    max-width: 720px;
    text-align: left;
  }

  .pricing-gateway-actions .core-hero-actions {
    justify-content: flex-start;
  }

  .core-proof-rail,
  .core-trust .proof-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .core-proof-rail > :nth-child(3),
  .core-trust .proof-strip span:nth-child(3) {
    border-left: 0;
  }

  .core-proof-rail > :nth-child(n + 3),
  .core-trust .proof-strip span:nth-child(n + 3) {
    border-top: 1px solid #c9d4df;
  }

  .core-pricing #planGrid,
  .core-platform-grid {
    grid-template-columns: 1fr !important;
  }

  .core-pricing .price-card,
  .core-platform-card {
    min-height: 0;
  }

  .core-pricing .price-card.featured {
    order: -1;
  }

  .pricing-decision-panel {
    display: block;
  }

  .pricing-route {
    grid-row: auto;
    min-height: 0;
    padding: 11px 0;
    border-top: 1px solid #dbe5ed;
    border-left: 0;
  }

  .core-guides-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "panel"
      "media";
    gap: 24px;
  }

  .guide-learning-panel {
    max-width: 700px;
  }

  .guide-proof-rail {
    margin-top: 0;
  }

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

  .guide-final-cta {
    grid-template-columns: 1fr;
  }

  .guide-final-cta .core-hero-actions {
    justify-content: flex-start;
  }

  .setup-help-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "form"
      "proof";
    gap: 24px;
  }

  .setup-help-intake-card {
    max-width: 720px;
  }

  .setup-help-context-photo {
    display: none;
  }

  .setup-help-proof-rail {
    margin-top: 0;
  }

  .setup-help-readiness-grid,
  .setup-help-related-grid {
    grid-template-columns: 1fr;
  }

  .setup-help-product-shot {
    max-width: 700px;
  }

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

  .quote-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "form"
      "proof";
    gap: 24px;
  }

  .quote-intake-card {
    max-width: 720px;
  }

  .quote-proof-rail {
    margin-top: 0;
  }

  .quote-readiness-grid,
  .quote-service-grid {
    grid-template-columns: 1fr;
  }

  .quote-product-shot {
    max-width: 700px;
  }

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

  .core-contact-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "panel";
    gap: 24px;
  }

  .contact-route-panel {
    max-width: 700px;
  }

  .contact-route-photo {
    display: none;
  }

  .contact-proof-rail {
    margin-top: 0;
  }

  .contact-main-grid,
  .contact-trust-grid {
    grid-template-columns: 1fr;
  }

  .contact-next-panel {
    max-width: 700px;
  }

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

  .core-signup-layout {
    grid-template-columns: 1fr;
  }

  .core-signup-context {
    display: grid;
    grid-template-columns: minmax(240px, .75fr) minmax(0, 1.25fr);
  }

  .core-signup-context img {
    height: 100%;
    aspect-ratio: auto;
    border-right: 3px solid var(--core-green);
    border-bottom: 0;
  }
}

@media (max-width: 940px) {
  .open-source-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "actions"
      "panel"
      "proof";
    gap: 26px;
  }

  .open-source-decision-panel {
    max-width: 700px;
  }

  .open-source-decision-panel .decision-checks {
    order: 1;
  }

  .open-source-decision-panel .open-source-product-shot {
    order: 2;
  }

  .open-source-proof-rail {
    margin-top: 0;
  }

  .core-features-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "proof" "panel" "notes";
    gap: 26px;
  }

  .core-features-hero-panel {
    max-width: 700px;
  }

  .core-features .pos-guide-visual-grid-compact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .core-experience .section {
    padding: 38px 0 44px;
  }

  .core-pricing .core-plan-section {
    padding-top: 18px;
  }

  .core-pricing .pricing-gateway-section {
    padding: 16px 0 32px;
  }

  .pricing-gateway-head {
    gap: 11px;
    margin-bottom: 12px;
  }

  .pricing-gateway-head h1 {
    font-size: 30px;
  }

  .pricing-gateway-head .lead {
    font-size: 15.5px;
  }

  .core-experience .core-hero {
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .core-pricing .pricing-decision-hero {
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .core-experience .core-hero h1 {
    font-size: 32px;
  }

  .core-experience .core-hero .lead {
    font-size: 16px;
  }

  .core-section-head,
  .core-gallery-panel figcaption,
  .core-trust .trust-media .screen-card figcaption {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .download-advisor {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .core-plan-toolbar {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 8px;
  }

  .core-pricing .core-plan-toolbar h2 {
    font-size: 21px;
  }

  .pricing-locale-note {
    max-width: 620px;
    text-align: left;
  }

  .core-pricing .pricing-decision-hero .core-hero-actions .btn {
    flex: 1 1 210px;
    text-align: center;
  }

  .core-product-proof {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .guide-path-card {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .guide-path-card > div {
    padding: 18px 20px 20px;
  }

  .guide-path-media {
    min-height: 0;
    border-right: 0;
    border-bottom: 1px solid #d7e1ea;
  }

  .guide-resource-grid {
    grid-template-columns: 1fr;
  }

  .setup-help-form-grid,
  .setup-help-flow,
  .quote-form-grid,
  .quote-scope-grid {
    grid-template-columns: 1fr;
  }

  .setup-help-intake-card {
    padding: 18px;
  }

  .quote-intake-card {
    padding: 18px;
  }

  .setup-help-product-shot figcaption,
  .quote-product-shot figcaption {
    display: grid;
    gap: 4px;
  }

  .setup-help-product-shot figcaption span,
  .quote-product-shot figcaption span {
    text-align: left;
  }

  .contact-form-grid,
  .contact-detail-grid {
    grid-template-columns: 1fr;
  }

  .contact-form-panel,
  .contact-next-panel {
    padding: 20px;
  }

  .core-gallery-media {
    aspect-ratio: 16 / 10;
  }

  .core-signup-context {
    display: block;
  }

  .core-signup-context img {
    height: auto;
    aspect-ratio: 16 / 8.4;
    border-right: 0;
    border-bottom: 3px solid var(--core-green);
  }

  .core-trust .trust-media .screen-card img {
    aspect-ratio: 4 / 3;
  }

  .core-feature-screen figcaption {
    display: grid;
    gap: 4px;
  }

  .core-feature-screen figcaption span {
    text-align: left;
  }

  .open-source-product-shot figcaption {
    display: grid;
    gap: 4px;
  }

  .open-source-product-shot figcaption span {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .download-advisor-actions {
    grid-template-columns: 1fr;
  }

  .download-setup-band {
    grid-template-columns: 1fr;
  }

  .download-advisor-actions a {
    grid-template-columns: minmax(86px, .6fr) minmax(0, 1.4fr);
    min-height: 54px;
  }

  .core-product-tour .core-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .core-proof-rail,
  .core-trust .proof-strip {
    grid-template-columns: 1fr;
  }

  .core-proof-rail > :not(:first-child),
  .core-trust .proof-strip span + span {
    border-top: 1px solid #c9d4df;
    border-left: 0;
  }

  .core-proof-rail > span,
  .core-proof-rail > div,
  .core-trust .proof-strip span {
    padding: 11px 0;
  }

  .core-setup-help .core-setup-help-hero .breadcrumbs {
    display: none;
  }

  .core-setup-help .core-setup-help-hero h1 {
    font-size: 29px;
  }

  .core-setup-help .core-setup-help-hero .lead {
    font-size: 15px;
  }

  .core-setup-help .core-setup-help-hero .core-hero-support {
    font-size: 13px;
  }

  .core-setup-help .core-setup-help-hero .core-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .core-setup-help .core-setup-help-hero .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
  }

  .setup-help-intake-card,
  .setup-help-flow > div {
    padding: 16px;
  }

  .setup-help-intake-card h2,
  .setup-help-readiness-copy h2,
  .setup-help-related-grid h2 {
    font-size: 21px;
  }

  .setup-help-check-list li {
    padding-left: 38px;
  }

  .core-quote .core-quote-hero .breadcrumbs {
    display: none;
  }

  .core-quote .core-quote-hero h1 {
    font-size: 29px;
  }

  .core-quote .core-quote-hero .lead {
    font-size: 15px;
  }

  .core-quote .core-quote-hero .core-hero-support {
    font-size: 13px;
  }

  .core-quote .core-quote-hero .core-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .core-quote .core-quote-hero .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
  }

  .quote-intake-card,
  .quote-scope-grid article,
  .quote-link-panel {
    padding: 16px;
  }

  .quote-intake-card h2,
  .quote-readiness-copy h2,
  .quote-service-grid h2 {
    font-size: 21px;
  }

  .quote-check-list li {
    padding-left: 38px;
  }

  .core-contact .core-contact-hero .breadcrumbs {
    display: none;
  }

  .core-contact .core-contact-hero h1 {
    overflow-wrap: anywhere;
    font-size: 27px;
  }

  .core-contact .core-contact-hero .lead {
    overflow-wrap: anywhere;
    font-size: 15px;
  }

  .core-contact .core-contact-hero .core-hero-support {
    display: none;
  }

  .core-contact .core-contact-hero .core-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .core-contact .core-contact-hero .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
  }

  .core-contact-hero-grid {
    gap: 16px;
  }

  .contact-route-panel {
    gap: 11px;
    padding: 14px;
  }

  .core-setup-help .core-setup-help-hero .core-hero-actions .ghost,
  .core-setup-help .core-setup-help-hero .core-hero-support {
    display: none;
  }

  .contact-route-panel h2 {
    font-size: 19px;
  }

  .contact-route-list {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .contact-route-card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: center;
    min-height: 0;
    padding: 10px 0 10px 11px;
  }

  .contact-route-card small {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: normal;
    font-size: 12px;
    line-height: 1.35;
  }

  .contact-route-card strong {
    justify-self: end;
  }

  .contact-form-panel,
  .contact-next-panel {
    padding: 16px;
  }

  .contact-form-panel h2,
  .contact-next-panel h2,
  .contact-trust-grid h2 {
    font-size: 21px;
  }

  .contact-check-list li {
    padding-left: 38px;
  }

  .contact-detail-card {
    min-height: 0;
  }

  .core-pricing .pricing-proof-rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .core-pricing .pricing-proof-rail > :nth-child(2n + 1) {
    border-left: 0;
  }

  .core-pricing .pricing-proof-rail > :nth-child(n + 3) {
    border-top: 1px solid #c9d4df;
  }

  .core-pricing .pricing-proof-rail > span {
    padding: 10px 12px;
  }

  .core-feature-flow {
    grid-template-columns: 1fr;
  }

  .core-feature-flow li {
    min-height: 0;
  }

  .core-feature-flow li + li {
    border-top: 1px solid #d9e2ea;
    border-left: 0;
  }

  .open-source-owner-experience .open-source-owner-hero .breadcrumbs {
    display: none;
  }

  .open-source-owner-experience .open-source-owner-hero h1 {
    font-size: 29px;
  }

  .open-source-owner-experience .open-source-owner-hero .lead {
    font-size: 15px;
  }

  .open-source-owner-experience .open-source-owner-hero .core-hero-support {
    font-size: 13px;
  }

  .open-source-owner-experience .open-source-owner-hero .core-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .open-source-owner-experience .open-source-owner-hero .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 13.5px;
  }

  .open-source-decision-panel {
    padding: 15px;
  }

  .decision-panel-head strong {
    font-size: 18px;
  }

  .core-pricing .pricing-decision-hero .breadcrumbs {
    display: none;
  }

  .pricing-gateway-head .breadcrumbs {
    display: none;
  }

  .pricing-gateway-head h1 {
    font-size: 28px;
    margin-bottom: 7px;
  }

  .pricing-gateway-actions .core-hero-support {
    display: none;
  }

  .pricing-gateway-actions .core-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  .pricing-gateway-actions .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
    text-align: center;
  }

  .core-pricing .pricing-decision-hero h1 {
    font-size: 29px;
    margin-bottom: 10px;
  }

  .core-pricing .pricing-decision-hero .lead {
    font-size: 15px;
    margin-bottom: 0;
  }

  .core-pricing .pricing-decision-hero .core-hero-support {
    display: none;
  }

  .core-pricing .pricing-decision-hero .core-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
  }

  .core-pricing .pricing-decision-hero .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
  }

  .core-pricing .price-card {
    padding: 20px 20px 18px;
  }

  .core-pricing .price-card .tag {
    margin-bottom: 10px;
  }

  .core-pricing .price-card h2 {
    min-height: 0;
    font-size: 19px;
  }

  .core-pricing .price-card .amount {
    font-size: 34px;
  }

  .core-pricing .price-card .amount small {
    margin-top: 3px;
  }

  .core-pricing .price-card .amount + .muted {
    margin-bottom: 6px !important;
  }

  .core-pricing .price-card .btn {
    margin: 10px 0;
  }

  .core-guides .core-guides-hero .breadcrumbs {
    display: none;
  }

  .core-guides .core-guides-hero h1 {
    font-size: 29px;
  }

  .core-guides .core-guides-hero .lead {
    font-size: 15px;
  }

  .core-guides .core-guides-hero .core-hero-support {
    font-size: 13px;
  }

  .core-guides .core-guides-hero .core-hero-actions,
  .guide-final-cta .core-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .core-guides .core-guides-hero .core-hero-actions .btn,
  .guide-final-cta .core-hero-actions .btn {
    min-width: 0;
    padding: 12px 9px;
    font-size: 14px;
  }

  .guide-learning-panel {
    padding: 16px;
  }

  .guide-learning-photo {
    display: none;
  }

  .guide-learning-panel h2 {
    font-size: 19px;
  }

  .guide-route-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    padding: 11px 10px 11px 12px;
  }

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

  .guide-route-card:last-child {
    grid-column: auto;
  }

  .guide-route-card strong {
    display: none;
  }

  .guide-route-card small {
    display: block;
    margin-top: 3px;
    line-height: 1.45;
  }

  .guide-video-grid {
    grid-template-columns: 1fr;
  }

  .guide-video-card {
    min-height: 0;
  }

  .guide-final-cta {
    padding: 18px 16px;
  }

  .guide-final-cta h2 {
    font-size: 21px;
  }

  .pricing-decision-panel {
    padding: 16px;
  }

  .pricing-decision-panel h2 {
    font-size: 19px;
  }

  .pricing-route {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 11px 0;
  }

  .pricing-route b {
    justify-self: start;
    white-space: normal;
  }

  .pricing-route small {
    font-size: 12px;
  }

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

  .core-pricing .core-check-grid li {
    min-height: 0;
  }

  .core-gallery-tabs {
    padding: 6px;
  }

  .core-gallery-tab {
    min-height: 40px;
    padding: 8px 12px;
  }

  .download-advisor {
    padding: 15px;
  }

  .core-gallery-media {
    aspect-ratio: 4 / 3;
  }

  .core-signup-shell {
    padding-top: 18px;
  }

  .core-signup-layout {
    gap: 16px;
  }

  .core-signup-form {
    padding: 19px 17px !important;
  }

  .core-signup-context img {
    display: none;
  }

  .core-trust .pos-architecture {
    padding: 18px 14px;
  }
}

.core-roadmap .roadmap-hero,
.core-pos-demo .pos-demo-hero,
.core-feature-ideas .ideas-hero {
  background: #f6faf9;
  border-color: #cfe2dd;
}

.contact-form-panel .msg:focus-visible {
  outline: 3px solid rgba(47, 110, 168, .28);
  outline-offset: 3px;
}

.signup-field-error {
  color: #b42318;
  font-size: 12.5px;
  line-height: 1.4;
  margin: 4px 0 0;
}

@media (max-width: 700px) {
  .contribute-path-grid {
    grid-template-columns: 1fr;
  }

  .contribute-path-card {
    min-height: 0;
    padding: 20px 4px;
  }

  .contribute-path-card + .contribute-path-card {
    border-top: 1px solid var(--core-line);
    border-left: 0;
  }

  .contribute-work-photo img {
    aspect-ratio: 16 / 8;
  }

  .partner-form-group {
    padding-right: 12px;
    padding-left: 12px;
  }
}

.roadmap-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  grid-template-areas:
    "copy media"
    "status status";
  gap: 26px 44px;
  align-items: center;
}

.roadmap-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.roadmap-planning-photo {
  grid-area: media;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
  scroll-margin-top: 92px;
}

.setup-help-intake-card:focus-visible {
  outline: 3px solid rgba(47, 110, 168, .28);
  outline-offset: 4px;
}

.roadmap-planning-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.roadmap-planning-photo figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 11px 14px 13px;
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.45;
}

.roadmap-planning-photo figcaption b {
  color: var(--core-ink);
}

.pos-demo-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
  grid-template-areas:
    "copy screen"
    "credentials credentials";
  gap: 26px 42px;
  align-items: center;
}

.pos-demo-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.pos-demo-login-screen {
  grid-area: screen;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.pos-demo-login-screen a,
.pos-demo-login-screen img {
  display: block;
}

.pos-demo-login-screen img {
  width: 100%;
  height: auto;
  aspect-ratio: 36 / 25;
  object-fit: cover;
}

.pos-demo-login-screen figcaption {
  padding: 12px 15px 14px;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.45;
}

.pos-demo-hero-note {
  margin: 18px 0 0;
  color: var(--core-soft);
  font-size: 14px;
}

.pos-demo-hero-note b {
  color: var(--core-ink);
}

.pos-demo-credentials {
  grid-area: credentials;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 0;
  border-block: 1px solid #c9d4df;
}

.pos-demo-credentials span {
  display: flex;
  gap: 10px;
  align-items: baseline;
  min-width: 0;
  padding: 13px 18px;
  color: var(--core-soft);
  font-size: 13px;
}

.pos-demo-credentials span:first-child {
  padding-left: 0;
}

.pos-demo-credentials span:not(:first-child) {
  border-left: 1px solid #c9d4df;
}

.pos-demo-credentials b {
  color: var(--core-ink);
  font-size: 14px;
}

.pos-demo-credentials code {
  overflow-wrap: anywhere;
}

@media (max-width: 980px) {
  .pos-demo-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "copy"
      "credentials"
      "screen";
    gap: 24px;
  }

  .pos-demo-login-screen {
    max-width: 680px;
  }
}

@media (max-width: 560px) {
  .pos-demo-credentials {
    grid-template-columns: 1fr;
  }

  .pos-demo-credentials span,
  .pos-demo-credentials span:first-child {
    padding: 11px 0;
  }

  .pos-demo-credentials span:not(:first-child) {
    border-top: 1px solid #c9d4df;
    border-left: 0;
  }
}

.roadmap-status-grid,
.ideas-prompt-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 26px;
}

.roadmap-status-strip {
  grid-area: status;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 26px;
  border-block: 1px solid #c9d8d3;
}

.roadmap-status-strip a {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 14px 18px 14px 22px;
  color: var(--core-ink);
  text-decoration: none;
  border-left: 4px solid var(--status-color);
}

.roadmap-status-strip a:hover span,
.roadmap-status-strip a:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.roadmap-status-strip span {
  font-size: 14px;
  font-weight: 800;
}

.roadmap-status-strip small {
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.4;
}

.roadmap-status-strip .is-released { --status-color: var(--core-green); }
.roadmap-status-strip .is-validation { --status-color: var(--core-blue-dark); }
.roadmap-status-strip .is-planned { --status-color: var(--core-amber); }

#available-now,
#planned-work {
  scroll-margin-top: 92px;
}

.developer-hero {
  background: #f6faf9;
  border-color: #cfe2dd;
}

.developer-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .75fr);
  grid-template-areas:
    "copy routes"
    "photo routes";
  gap: 52px;
  align-items: center;
}

.developer-hero-copy {
  grid-area: copy;
  min-width: 0;
}

.developer-work-photo {
  grid-area: photo;
  margin: 24px 0 0;
  overflow: hidden;
  border: 1px solid #c9d8d3;
  border-radius: 7px;
  background: #fff;
}

.developer-work-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.developer-work-photo figcaption {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px 18px;
  padding: 11px 13px;
  border-top: 3px solid var(--core-green);
  color: var(--core-soft);
  font-size: 12px;
}

.developer-work-photo figcaption b {
  color: var(--core-ink);
}

.developer-work-photo figcaption span {
  text-align: right;
}

.developer-route-panel {
  grid-area: routes;
  border-block: 1px solid #c9d8d3;
}

.developer-route-panel a {
  display: grid;
  gap: 3px;
  padding: 14px 40px 14px 0;
  position: relative;
  color: var(--core-ink);
  text-decoration: none;
}

.developer-route-panel a:not(:first-child) {
  border-top: 1px solid #d7e2df;
}

.developer-route-panel a::after {
  content: "\2192";
  position: absolute;
  top: 50%;
  right: 8px;
  color: var(--core-blue-dark);
  font-size: 20px;
  transform: translateY(-50%);
}

.developer-route-panel a:hover span,
.developer-route-panel a:focus-visible span {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.developer-route-panel span {
  font-size: 15px;
  font-weight: 800;
}

.developer-route-panel small {
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.4;
}

.developer-proof-strip {
  margin-top: 30px;
}

.login-gateway {
  min-height: calc(100vh - 220px);
  background: #f6faf9;
}

.login-gateway-grid {
  display: grid;
  grid-template-columns: minmax(360px, 470px) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: center;
  max-width: 1040px;
}

.login-form-panel {
  padding: 30px;
  border: 1px solid #cbd8e2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(28, 52, 82, .1);
}

.login-form-panel h1 {
  margin: 6px 0 10px;
  color: var(--core-ink);
  font-size: 32px;
  line-height: 1.15;
}

.login-intro {
  margin: 0 0 24px;
  color: var(--core-soft);
  line-height: 1.55;
}

.login-field + .login-field {
  margin-top: 17px;
}

.login-field label {
  display: block;
  margin-bottom: 7px;
  color: var(--core-ink);
  font-size: 14px;
  font-weight: 700;
}

.login-field input {
  width: 100%;
  min-height: 48px;
}

.roadmap-hero-grid > .roadmap-status-strip {
  margin-top: 0;
}

.login-password-wrap {
  position: relative;
}

.login-password-wrap input {
  padding-right: 52px;
}

.login-password-toggle {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #6d8196;
  cursor: pointer;
  display: inline-flex;
  height: 40px;
  justify-content: center;
  padding: 0;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
}

.login-password-toggle:hover,
.login-password-toggle:focus-visible {
  background: #eaf3fa;
  color: #205f98;
  outline: 2px solid #205f98;
  outline-offset: 1px;
}

.login-password-toggle svg {
  height: 20px;
  stroke-width: 1.8;
  width: 20px;
}

.login-label-row {
  display: flex;
  gap: 16px;
  align-items: baseline;
  justify-content: space-between;
}

.login-label-row a {
  font-size: 13px;
}

.login-forgot-trigger {
  align-items: center;
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--brand);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 13px;
  justify-content: center;
  min-height: 44px;
  padding: 0 4px;
}

.login-forgot-trigger:hover,
.login-forgot-trigger:focus-visible {
  text-decoration: underline;
}

.login-recovery-dialog {
  border: 0;
  border-radius: 8px;
  box-sizing: border-box;
  box-shadow: 0 24px 64px rgba(17, 31, 54, 0.22);
  color: var(--ink);
  margin: auto;
  max-width: 460px;
  padding: 0;
  width: calc(100% - 32px);
}

.login-recovery-dialog::backdrop {
  background: rgba(17, 31, 54, 0.56);
}

.login-recovery-form {
  display: grid;
  gap: 10px;
  padding: 28px;
}

.login-recovery-heading {
  align-items: start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.login-recovery-heading h2 {
  font-size: 24px;
  margin: 3px 0 0;
}

.login-recovery-close {
  align-items: center;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 36px;
  font-size: 25px;
  height: 36px;
  justify-content: center;
  line-height: 1;
  padding: 0 0 3px;
}

.login-recovery-intro {
  color: var(--muted);
  line-height: 1.55;
  margin: 2px 0 8px;
}

.login-recovery-form label {
  font-size: 14px;
  font-weight: 750;
}

.login-recovery-form input {
  margin-bottom: 4px;
}

.login-recovery-form .btn {
  margin-top: 6px;
  width: 100%;
}

.login-submit {
  width: 100%;
  margin-top: 18px;
}

.login-signup {
  margin: 15px 0 0;
  text-align: center;
}

.login-local-context {
  padding-left: 24px;
  border-left: 3px solid var(--core-green);
}

.login-local-context h2 {
  margin: 6px 0 12px;
  color: var(--core-ink);
  font-size: 29px;
  line-height: 1.2;
}

.login-local-context > p:not(.eyebrow) {
  margin: 0;
  color: var(--core-soft);
  line-height: 1.65;
}

.login-context-links {
  display: grid;
  margin-top: 22px;
  border-block: 1px solid #c9d8d3;
}

.login-context-links a {
  padding: 12px 2px;
  font-weight: 700;
}

.login-context-links a:not(:first-child) {
  border-top: 1px solid #d7e2df;
}

.refund-hero {
  background: #f6faf9;
  border-bottom: 1px solid #cfe2dd;
}

.refund-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(350px, .72fr);
  gap: 54px;
  align-items: center;
}

.refund-window {
  padding-left: 24px;
  border-left: 3px solid var(--core-green);
}

.refund-window h2 {
  margin: 6px 0 18px;
  color: var(--core-ink);
  font-size: 25px;
  line-height: 1.2;
}

.refund-window dl {
  margin: 0;
  border-block: 1px solid #c9d8d3;
}

.refund-window dl div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 0;
}

.refund-window dl div:not(:first-child) {
  border-top: 1px solid #d7e2df;
}

.refund-window dt {
  color: var(--core-ink);
  font-size: 13px;
  font-weight: 800;
}

.refund-window dd {
  margin: 0;
  color: var(--core-soft);
  font-size: 13px;
  line-height: 1.45;
}

.refund-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 32px;
  border-block: 1px solid #c9d4df;
}

.refund-facts span {
  padding: 13px 18px;
  color: var(--core-soft);
  font-size: 13px;
}

.refund-facts span:not(:first-child) {
  border-left: 1px solid #c9d4df;
}

.refund-facts b {
  color: var(--core-ink);
}

.refund-policy-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 720px);
  gap: 64px;
  justify-content: center;
  align-items: start;
}

.refund-policy-nav {
  display: grid;
  position: sticky;
  top: 92px;
  border-block: 1px solid #cbd7e1;
}

.refund-policy-nav strong,
.refund-policy-nav a {
  padding: 11px 2px;
}

.refund-policy-nav a {
  border-top: 1px solid #d9e2ea;
  font-size: 14px;
  font-weight: 700;
}

.refund-policy-copy section {
  scroll-margin-top: 92px;
}

.refund-policy-copy section + section {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #d7e0e8;
}

.refund-policy-copy h2 {
  margin: 5px 0 12px;
  color: var(--core-ink);
  font-size: 27px;
  line-height: 1.25;
}

.refund-policy-copy p,
.refund-policy-copy li,
.refund-policy-copy address {
  color: var(--core-soft);
  line-height: 1.7;
}

.refund-policy-copy address {
  font-style: normal;
}

.refund-policy-copy ul {
  display: grid;
  gap: 10px;
  padding-left: 20px;
}

.refund-policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}

#architecture,
#api-evidence,
#open-pos-research-files,
#app-connector-roadmap {
  scroll-margin-top: 92px;
}

.ideas-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  gap: 28px 42px;
  align-items: center;
}

.ideas-hero-copy {
  min-width: 0;
}

.ideas-workflow-photo {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #c9d8d3;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(28, 58, 49, .12);
}

.ideas-workflow-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 8.2;
  object-fit: cover;
  object-position: center 54%;
}

.ideas-workflow-photo figcaption {
  padding: 11px 14px 13px;
  color: var(--core-soft);
  font-size: 12.5px;
  line-height: 1.45;
}

.ideas-prompt-rail {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid #c9d8d3;
}

.ideas-prompt-rail > span {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 12px;
  padding: 14px 18px;
  color: var(--core-soft);
  font-size: 14px;
}

.ideas-prompt-rail > span:first-child {
  padding-left: 0;
}

.ideas-prompt-rail > span:not(:first-child) {
  border-left: 1px solid #c9d8d3;
}

.ideas-prompt-rail b {
  color: var(--core-green);
  font-size: 13px;
  text-transform: uppercase;
}

.roadmap-status-card,
.idea-signal-card,
.roadmap-feature-card,
.ideas-route-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid #d4e2df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(30, 54, 70, .08);
}

.roadmap-status-card span,
.idea-signal-card span,
.roadmap-feature-card span,
.ideas-route-card span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  border: 1px solid #b9d7cc;
  border-radius: 999px;
  background: #f3fbf8;
  color: var(--core-green);
  font-size: 12px;
  font-weight: 700;
}

.roadmap-status-card h3,
.idea-signal-card h3,
.roadmap-feature-card h3,
.ideas-route-card h3 {
  margin: 13px 0 8px;
  color: var(--core-ink);
  font-size: 20px;
  line-height: 1.25;
}

.roadmap-status-card p,
.idea-signal-card p,
.roadmap-feature-card p,
.ideas-route-card p {
  margin: 0;
  color: var(--core-soft);
  line-height: 1.6;
}

.roadmap-path {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.roadmap-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.roadmap-feature-card.is-planned span {
  border-color: #e4c783;
  background: #fff9eb;
  color: var(--core-amber);
}

.roadmap-feature-card.is-validation span {
  border-color: #b8cfeb;
  background: #f2f8ff;
  color: var(--core-blue-dark);
}

.roadmap-feature-card.is-released span {
  border-color: #b9d7cc;
  background: #f3fbf8;
  color: var(--core-green);
}

.roadmap-callout {
  padding: 24px;
  border: 1px solid #cfdae6;
  border-radius: 8px;
  background: #fff;
}

.roadmap-callout h2 {
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 25px;
}

.roadmap-callout p {
  color: var(--core-soft);
}

.roadmap-callout ul {
  display: grid;
  gap: 9px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.roadmap-callout li {
  padding-left: 18px;
  color: var(--core-soft);
  position: relative;
}

.roadmap-callout li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--core-green);
}

.ideas-form-panel {
  padding: 26px;
}

.ideas-required-note {
  margin: 4px 0 16px;
  color: var(--core-soft);
  font-size: 14px;
  line-height: 1.5;
}

.ideas-fieldset {
  min-width: 0;
  margin: 18px 0 0;
  padding: 18px;
  border: 1px solid #d4e2df;
  border-radius: 8px;
}

.ideas-fieldset legend {
  padding: 0 8px;
  color: var(--core-ink);
  font-size: 15px;
  font-weight: 800;
}

.ideas-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ideas-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 18px;
}

.ideas-preset-grid button {
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid #cfe1dc;
  border-radius: 8px;
  background: #fbfefd;
  color: var(--core-ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(31, 70, 60, .06);
}

.ideas-preset-grid button:hover,
.ideas-preset-grid button:focus-visible {
  border-color: #8fc8b5;
  outline: none;
  box-shadow: 0 0 0 3px rgba(35, 119, 94, .12);
}

.ideas-preset-grid span {
  display: block;
  margin-bottom: 4px;
  color: var(--core-green);
  font-size: 12px;
  font-weight: 700;
}

.ideas-preset-grid b {
  display: block;
  font-size: 14px;
  line-height: 1.25;
}

.ideas-form-panel label {
  display: block;
  margin: 0 0 6px;
  color: #24415f;
  font-weight: 700;
}

.ideas-form-panel input,
.ideas-form-panel select,
.ideas-form-panel textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #c9d7e4;
  border-radius: 7px;
  padding: 10px 12px;
  font: inherit;
  color: var(--core-ink);
  background: #fff;
}

.ideas-form-panel textarea {
  min-height: 132px;
  resize: vertical;
}

.ideas-form-panel input:focus,
.ideas-form-panel select:focus,
.ideas-form-panel textarea:focus {
  outline: 3px solid rgba(47, 115, 182, .16);
  border-color: var(--core-blue);
}

.ideas-form-panel .wide {
  grid-column: 1 / -1;
}

.ideas-submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
}

.ideas-submit-row p {
  max-width: 620px;
  margin: 0;
  color: var(--core-soft);
  font-size: 14px;
}

.ideas-funnel-note {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #d4e2df;
  border-radius: 8px;
  background: #f7fbf9;
  color: var(--core-soft);
}

.ideas-route-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

/* POS acronym owner */
.core-pos-hero {
  background: #f4f8f7;
}

.core-pos-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 500px);
  grid-template-areas:
    "copy preview"
    "proof preview";
  gap: 38px;
  align-items: center;
}

.core-pos-copy {
  grid-area: copy;
  min-width: 0;
}

.core-pos .core-hero h1 {
  max-width: 580px;
  font-size: 58px;
  line-height: 1;
}

.core-pos .core-hero .lead {
  max-width: 760px;
}

.core-pos-copy > p:not(.eyebrow):not(.lead) {
  max-width: 760px;
  color: var(--core-soft);
}

.core-pos-proof {
  grid-area: proof;
  max-width: 820px;
  margin-top: -14px;
}

.core-pos-preview {
  grid-area: preview;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #c8d4df;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(28, 52, 82, .12);
}

.core-pos-preview-head {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  justify-content: space-between;
  padding: 13px 15px;
  border-bottom: 1px solid #d5dee8;
  background: #edf4f8;
  color: var(--core-soft);
  font-size: 12.5px;
}

.core-pos-preview-head span {
  color: var(--core-green);
  font-weight: 800;
  text-transform: uppercase;
}

.core-pos-preview-head strong {
  color: var(--core-ink);
}

.core-pos-preview figure {
  margin: 0;
  background: #101928;
}

.core-pos-preview figure a,
.core-pos-preview img {
  display: block;
}

.core-pos-preview img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.core-pos-preview figcaption {
  padding: 10px 14px;
  border-top: 3px solid var(--core-blue);
  background: #fff;
  color: var(--core-soft);
  font-size: 12.5px;
}

.core-pos-preview ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d5dee8;
}

.core-pos-preview li {
  min-width: 0;
  padding: 13px 14px 15px;
}

.core-pos-preview li + li {
  border-left: 1px solid #dce5ee;
}

.core-pos-preview b {
  display: block;
  color: var(--core-ink);
  font-size: 13.5px;
}

.core-pos-preview li span {
  display: block;
  margin-top: 4px;
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.45;
}

.core-pos-meaning-grid,
.core-pos-answer-grid,
.core-pos-intent-grid,
.core-pos-shortcut-list,
.core-pos-readiness-grid,
.core-pos-example-grid,
.core-pos-path-grid,
.core-pos-screen-grid {
  display: grid;
  gap: 14px;
}

.core-pos-meaning-grid {
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.core-pos-meaning-grid .card {
  border-top: 3px solid var(--core-blue);
}

.core-pos-meaning-grid .card:nth-child(2) {
  border-top-color: var(--core-green);
}

.core-pos-meaning-grid .card:nth-child(3) {
  border-top-color: var(--core-amber);
}

.core-pos-answer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px auto 0;
  padding: 0;
  list-style: none;
}

.core-pos-answer {
  min-width: 0;
  padding: 16px 17px;
  border: 1px solid #c9d9e5;
  border-top: 3px solid var(--core-green);
  border-radius: 8px;
  background: #f8fbfd;
}

.core-pos-answer:nth-child(2),
.core-pos-answer:nth-child(5) {
  border-top-color: var(--core-blue);
}

.core-pos-answer:nth-child(3),
.core-pos-answer:nth-child(6) {
  border-top-color: var(--core-amber);
}

.core-pos-answer span {
  display: inline-flex;
  margin-bottom: 9px;
  color: var(--core-green);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
}

.core-pos-answer h3 {
  margin: 0 0 8px;
  color: var(--core-ink);
  font-size: 18px;
  line-height: 1.25;
}

.core-pos-answer p {
  margin: 0 0 12px;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.core-pos-answer a {
  color: var(--core-blue-dark);
  font-size: 13px;
  font-weight: 780;
}

.core-pos-intent-map {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 20px;
  padding: 17px;
  border: 1px solid #cbdde9;
  border-radius: 8px;
  background: #f7fbfa;
}

.core-pos-intent-map h3 {
  margin: 0 0 7px;
  color: var(--core-ink);
  font-size: 20px;
  line-height: 1.25;
}

.core-pos-intent-map p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.core-pos-intent-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.core-pos-intent-grid a,
.core-pos-intent-note {
  min-width: 0;
  padding: 13px 12px;
  border: 1px solid #d6e4ed;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.core-pos-intent-grid a {
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.core-pos-intent-grid a:focus-visible,
.core-pos-intent-grid a:hover {
  border-color: var(--core-green);
  box-shadow: 0 10px 22px rgba(22, 132, 92, 0.11);
  transform: translateY(-1px);
}

.core-pos-intent-grid span,
.core-pos-intent-grid strong {
  display: block;
}

.core-pos-intent-grid span {
  margin-bottom: 6px;
  color: var(--core-green);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
}

.core-pos-intent-grid strong {
  color: var(--core-ink);
  font-size: 13px;
  line-height: 1.35;
}

.core-pos-intent-note {
  background: #f2f6f8;
}

.core-pos-intent-note span,
.core-pos-intent-note strong {
  color: #637489;
}

.core-pos-search-shortcuts {
  display: grid;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #cfe0ec;
  border-radius: 8px;
  background: #ffffff;
}

.core-pos-search-shortcuts h3 {
  margin: 0 0 7px;
  color: var(--core-ink);
  font-size: 20px;
  line-height: 1.25;
}

.core-pos-search-shortcuts p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.core-pos-search-shortcuts .eyebrow {
  margin-bottom: 8px;
  color: var(--core-green);
}

.core-pos-shortcut-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.core-pos-shortcut-list a {
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #d7e3ec;
  border-radius: 8px;
  background: #f8fbfd;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.core-pos-shortcut-list a:focus-visible,
.core-pos-shortcut-list a:hover {
  border-color: var(--core-blue);
  box-shadow: 0 10px 22px rgba(21, 77, 123, 0.11);
  transform: translateY(-1px);
}

.core-pos-shortcut-list span,
.core-pos-shortcut-list strong {
  display: block;
}

.core-pos-shortcut-list span {
  margin-bottom: 6px;
  color: var(--core-green);
  font-size: 12px;
  font-weight: 800;
}

.core-pos-shortcut-list strong {
  color: var(--core-ink);
  font-size: 13.5px;
  line-height: 1.35;
}

.core-pos-cost-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.core-pos-cost-card {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 18px;
  border: 1px solid #cbd9e4;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(19, 35, 58, .07);
}

.core-pos-cost-card:nth-child(2) {
  border-top-color: var(--core-green);
}

.core-pos-cost-card:nth-child(3) {
  border-top-color: var(--core-amber);
}

.core-pos-cost-card span {
  color: var(--core-green);
  font-size: 11.5px;
  font-weight: 800;
  text-transform: uppercase;
}

.core-pos-cost-card h3 {
  margin: 0;
  color: var(--core-ink);
  font-size: 19px;
  line-height: 1.25;
}

.core-pos-cost-card p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
  line-height: 1.5;
}

.core-pos-cost-card a {
  align-self: end;
  margin-top: 4px;
  color: var(--core-blue-dark);
  font-size: 13px;
  font-weight: 780;
}

.core-pos-readiness-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.core-pos-readiness-step {
  display: flex;
  min-height: 250px;
  min-width: 0;
  flex-direction: column;
  padding: 18px;
  border: 1px solid #cbd9e4;
  border-top: 3px solid var(--core-blue);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(19, 35, 58, .07);
}

.core-pos-readiness-step:nth-child(2) {
  border-top-color: var(--core-green);
}

.core-pos-readiness-step:nth-child(3) {
  border-top-color: var(--core-amber);
}

.core-pos-readiness-step:nth-child(4) {
  border-top-color: var(--core-violet);
}

.core-pos-readiness-step span {
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 4px 9px;
  border: 1px solid #c9d9e5;
  border-radius: 999px;
  background: #f8fbfd;
  color: var(--core-blue-dark);
  font-size: 11.5px;
  font-weight: 780;
}

.core-pos-readiness-step h3 {
  margin: 0 0 9px;
  color: var(--core-ink);
  font-size: 18px;
  line-height: 1.28;
}

.core-pos-readiness-step p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
}

.core-pos-readiness-step a {
  margin-top: auto;
  color: var(--core-blue-dark);
  font-size: 13px;
  font-weight: 780;
}

.core-pos-path-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.core-pos-path {
  display: flex;
  min-height: 272px;
  flex-direction: column;
  color: inherit;
}

.core-pos-path span {
  align-self: flex-start;
  margin-bottom: 12px;
  padding: 4px 9px;
  border: 1px solid #b9d7cc;
  border-radius: 999px;
  background: var(--core-green-soft);
  color: var(--core-green);
  font-size: 11.5px;
  font-weight: 780;
}

.core-pos-path h3 {
  margin: 0 0 9px;
  color: var(--core-ink);
  font-size: 18px;
  line-height: 1.28;
}

.core-pos-path p {
  margin: 0;
  color: var(--core-soft);
  font-size: 13.5px;
}

.core-pos-path strong {
  margin-top: auto;
  color: var(--core-blue-dark);
  font-size: 13px;
}

.core-pos-table-wrap {
  margin-top: 0;
}

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

.core-pos-screen-grid .core-feature-screen:nth-child(2) figcaption {
  border-top-color: var(--core-green);
}

.core-pos-trust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 470px);
  gap: 30px;
  align-items: center;
  padding: 28px 0;
  border-top: 1px solid var(--core-line);
  border-bottom: 1px solid var(--core-line);
}

.core-pos-trust h2 {
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 28px;
  line-height: 1.2;
}

.core-pos-trust > div > p:not(.eyebrow) {
  margin: 0;
  color: var(--core-soft);
}

.core-pos-evidence-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.core-pos-evidence-strip span {
  min-width: 0;
  padding: 12px;
  border: 1px solid #d6e4ec;
  border-radius: 8px;
  background: #f8fbfd;
}

.core-pos-evidence-strip b,
.core-pos-evidence-strip small {
  display: block;
}

.core-pos-evidence-strip b {
  color: var(--core-ink);
  font-size: 13px;
  line-height: 1.3;
}

.core-pos-evidence-strip small {
  margin-top: 5px;
  color: var(--core-soft);
  font-size: 12px;
  line-height: 1.4;
}

.core-pos-trust .core-hero-actions {
  justify-content: flex-start;
  margin-top: 0;
}

@media (max-width: 900px) {
  .core-tco-calculator > .seo-hero {
    padding-bottom: 28px;
  }

  .core-tco-calculator > #calculator {
    padding-top: 28px;
  }

  .roadmap-status-grid,
  .roadmap-hero-grid,
  .developer-hero-grid,
  .login-gateway-grid,
  .refund-hero-grid,
  .refund-policy-layout,
  .ideas-prompt-grid,
  .ideas-hero-grid,
  .roadmap-path,
  .ideas-route-list,
  .core-pos-hero-grid,
  .core-pos-meaning-grid,
  .core-pos-answer-grid,
  .core-pos-intent-map,
  .core-pos-search-shortcuts,
  .core-pos-cost-grid,
  .core-pos-readiness-grid,
  .core-pos-example-grid,
  .core-pos-path-grid,
  .core-pos-screen-grid,
  .core-pos-evidence-strip,
  .core-pos-trust {
    grid-template-columns: 1fr;
  }

  .developer-work-photo {
    max-width: 720px;
  }

  .developer-hero-grid {
    grid-template-areas:
      "copy"
      "routes"
      "photo";
    gap: 24px;
  }

  .developer-work-photo {
    margin-top: 0;
  }

  .roadmap-planning-photo {
    max-width: 720px;
    width: 100%;
  }

  .roadmap-hero-grid {
    grid-template-areas:
      "copy"
      "status"
      "media";
  }

  .core-pos-hero-grid {
    grid-template-areas:
      "copy"
      "preview"
      "proof";
  }

  .core-pos-proof {
    margin-top: 0;
  }

  .ideas-workflow-photo {
    display: none;
  }

  .core-feature-ideas .ideas-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

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

  .ideas-prompt-rail > span,
  .ideas-prompt-rail > span:first-child {
    padding: 12px 0;
  }

  .ideas-prompt-rail > span:not(:first-child) {
    border-top: 1px solid #c9d8d3;
    border-left: 0;
  }

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

  .core-pos-shortcut-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .roadmap-feature-grid,
  .ideas-form-grid,
  .ideas-preset-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .refund-window {
    padding-left: 17px;
  }

  .refund-window dl div {
    grid-template-columns: 1fr;
    gap: 3px;
  }

  .refund-facts {
    grid-template-columns: 1fr;
  }

  .refund-facts span {
    padding: 11px 0;
  }

  .refund-facts span:not(:first-child) {
    border-top: 1px solid #c9d4df;
    border-left: 0;
  }

  .refund-policy-nav {
    position: static;
  }

  .login-gateway {
    padding-top: 28px;
  }

  .login-form-panel {
    padding: 23px 18px;
  }

  .login-local-context {
    padding-left: 17px;
  }

  .roadmap-status-strip {
    grid-template-columns: 1fr;
  }

  .roadmap-planning-photo figcaption {
    grid-template-columns: 1fr;
    gap: 2px;
  }

  .roadmap-status-strip a:not(:first-child) {
    border-top: 1px solid #d7e2df;
  }

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

  .ideas-prompt-rail {
    grid-template-columns: 1fr;
  }

  .ideas-fieldset {
    padding: 15px 13px;
  }

  .core-pos .core-hero h1 {
    font-size: 46px;
  }

  .core-pos-preview ol {
    grid-template-columns: 1fr;
  }

  .core-pos-preview li + li {
    border-left: 0;
    border-top: 1px solid #dce5ee;
  }

  .core-pos-path {
    min-height: 0;
  }

  .core-pos-intent-grid {
    grid-template-columns: 1fr;
  }

  .core-pos-shortcut-list {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .core-experience .btn {
    transition: none;
  }
}

/* ---------------------------------------------------------------------------
   Feature cards: one quiet mark each.

   The feature grids were forty-odd identical white boxes, and a reader
   scanning for "does it do stock" had nothing to aim at. Each card now carries
   a small tinted badge, so the eye can find a row by colour and shape before
   it reads a word.

   Deliberately quiet. The wash colours sit around 96% lightness and the mark
   is drawn in the same hue at reading strength, so a grid of twelve reads as
   one family rather than twelve competing chips. Nothing here animates and
   nothing carries meaning on its own: every card still says what it is in
   text, and the badge is decoration a screen reader never sees.

   Built from two pseudo-elements on purpose. ::before is the tinted tile and
   sits in the flow so it pushes the heading down; ::after is the glyph, masked
   rather than drawn, so one SVG shape serves every colour. That keeps a new
   feature to two short lines - a palette and a mark - instead of a hand-tinted
   image.

   The stylesheet contract forbids gradients here, which is the right call for
   this: flat tiles stay legible on a cheap screen in a shop.
   --------------------------------------------------------------------------- */

.core-features .seo-card-grid .card[data-evidence-id] {
  position: relative;
  /* The fallback palette and mark. A feature added tomorrow gets a sensible
     badge instead of an empty gap where one should be. */
  --core-feature-ink: #3d6b96;
  --core-feature-wash: #eef3f9;
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v4l2.5 2.5'/%3E%3C/svg%3E");
}

.core-features .seo-card-grid .card[data-evidence-id]::before {
  content: "";
  display: block;
  width: 42px;
  height: 42px;
  margin-bottom: 15px;
  border-radius: 12px;
  background-color: var(--core-feature-wash);
}

.core-features .seo-card-grid .card[data-evidence-id]::after {
  content: "";
  position: absolute;
  /* Matches .card padding, so the glyph lands centred on the tile above. */
  top: 26px;
  left: 26px;
  width: 42px;
  height: 42px;
  background-color: var(--core-feature-ink);
  -webkit-mask: var(--core-feature-mark) center / 22px 22px no-repeat;
  mask: var(--core-feature-mark) center / 22px 22px no-repeat;
}

/* The palettes. Eight hues, so a long grid repeats a colour before it repeats
   a meaning - related features share one rather than each taking a new tone. */
.core-features .card[data-evidence-id="core-workflows"],
.core-features .card[data-evidence-id="billing-record-evidence"],
.core-features .card[data-evidence-id="stable-release"],
.core-features .card[data-evidence-id="platform-builds"] {
  --core-feature-ink: #2f6ea8;
  --core-feature-wash: #ebf2fa;
}

.core-features .card[data-evidence-id="retail-workflows"],
.core-features .card[data-evidence-id="inventory-lifecycle-runtime"],
.core-features .card[data-evidence-id="offline-local-runtime"] {
  --core-feature-ink: #17786e;
  --core-feature-wash: #e8f5f2;
}

.core-features .card[data-evidence-id="restaurant-workflows"],
.core-features .card[data-evidence-id="counter-session-runtime"] {
  --core-feature-ink: #9a6413;
  --core-feature-wash: #fbf2e4;
}

.core-features .card[data-evidence-id="kiosk-workflows"],
.core-features .card[data-evidence-id="customer-workflows"],
.core-features .card[data-evidence-id="theme-aware-ui"] {
  --core-feature-ink: #6b4ea8;
  --core-feature-wash: #f1edfa;
}

.core-features .card[data-evidence-id="local-backups"],
.core-features .card[data-evidence-id="local-privacy"],
.core-features .card[data-evidence-id="free-local-edition"] {
  --core-feature-ink: #2b7a4b;
  --core-feature-wash: #e9f5ed;
}

.core-features .card[data-evidence-id="hardware-support"],
.core-features .card[data-evidence-id="developer-platform"] {
  --core-feature-ink: #4b5c72;
  --core-feature-wash: #eef1f5;
}

.core-features .card[data-evidence-id="import-template-quality"],
.core-features .card[data-evidence-id="optional-cloud-services"] {
  --core-feature-ink: #3a5bb5;
  --core-feature-wash: #ecf0fb;
}

.core-features .card[data-evidence-id="agpl-license"] {
  --core-feature-ink: #a1495e;
  --core-feature-wash: #fbedf1;
}

/* The marks. Line drawings at one weight so the grid reads evenly, and each
   one says what the card is about rather than decorating it. */
.core-features .card[data-evidence-id="core-workflows"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3v18l2-1.4 2 1.4 2-1.4 2 1.4 2-1.4 2 1.4V3l-2 1.4L14 3l-2 1.4L10 3 8 4.4z'/%3E%3Cpath d='M9 9h6M9 13h4'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="retail-workflows"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="restaurant-workflows"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v8a2 2 0 0 0 4 0V3M9 11v10'/%3E%3Cpath d='M17 3c-1.5 1.5-2 3.5-2 5.5V13h3V3z'/%3E%3Cpath d='M17 13v8'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="kiosk-workflows"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='13' rx='2'/%3E%3Cpath d='M9 20h6M12 16v4'/%3E%3Cpath d='M12 7v5'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="local-backups"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 5 6v6c0 4 3 7.5 7 9 4-1.5 7-5 7-9V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="hardware-support"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 8V3h10v5'/%3E%3Crect x='3' y='8' width='18' height='8' rx='2'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="import-template-quality"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M12 11v6M9.5 14.5 12 17l2.5-2.5'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="developer-platform"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 8-4 4 4 4M16 8l4 4-4 4M13.5 5l-3 14'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="optional-cloud-services"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4 4 0 0 1-.6-7.95 5.5 5.5 0 0 1 10.7-1.4A3.75 3.75 0 0 1 17.5 18z'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="local-privacy"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10' width='15' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v2'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="agpl-license"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M5 8h14M8 20h8'/%3E%3Cpath d='m5 8-2 5a3 3 0 0 0 6 0zM19 8l-2 5a3 3 0 0 0 6 0z'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="platform-builds"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v11M8 10.5l4 3.5 4-3.5'/%3E%3Cpath d='M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="offline-local-runtime"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='7' rx='2'/%3E%3Crect x='3' y='13' width='18' height='7' rx='2'/%3E%3Cpath d='M7 7.5h.01M7 16.5h.01'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="customer-workflows"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3.5 20a5.5 5.5 0 0 1 11 0'/%3E%3Cpath d='M16 5.5a3.2 3.2 0 0 1 0 6M17.5 20a5.5 5.5 0 0 0-2-4.2'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="billing-record-evidence"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 8h8M8 12h5'/%3E%3Cpath d='m8.5 16.5 1.5 1.5 3-3'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="counter-session-runtime"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='9' width='18' height='11' rx='2'/%3E%3Cpath d='M6 9V6a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3'/%3E%3Cpath d='M10 14h4'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="free-local-edition"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 13.5 13 21a2 2 0 0 1-2.8 0l-7-7A2 2 0 0 1 2.6 12l.4-7a2 2 0 0 1 2-1.9l7-.4a2 2 0 0 1 1.5.6l7 7a2 2 0 0 1 0 2.8z'/%3E%3Cpath d='M7.5 7.5h.01'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="inventory-lifecycle-runtime"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 0 0-14-4.5L4 9'/%3E%3Cpath d='M4 4v5h5'/%3E%3Cpath d='M4 13a8 8 0 0 0 14 4.5L20 15'/%3E%3Cpath d='M20 20v-5h-5'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="stable-release"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}
.core-features .card[data-evidence-id="theme-aware-ui"] {
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 3v18'/%3E%3Cpath d='M12 6.5a5.5 5.5 0 0 1 0 11'/%3E%3C/svg%3E");
}

/* The acceptance-record cards are evidence, not features, and there are six of
   them. Matched on the shared part of the id so a seventh added next month is
   already covered rather than quietly falling back to the clock. */
.core-features .card[data-evidence-id*="intent-observation"] {
  --core-feature-ink: #4b5c72;
  --core-feature-wash: #eef1f5;
  --core-feature-mark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6a1 1 0 0 1 1 1v1H8V4a1 1 0 0 1 1-1z'/%3E%3Cpath d='M8 5H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2'/%3E%3Cpath d='m8.5 12 1.5 1.5 3-3M15 16H9'/%3E%3C/svg%3E");
}

/* Privacy policy: put the request route and data map before the legal detail. */
.privacy-hero { padding-bottom: 34px; }
.privacy-hero-grid { align-items: center; display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
.privacy-snapshot { background: #fff; border: 1px solid #cad8e6; border-top: 4px solid #0f8b5f; box-shadow: 0 18px 46px rgba(23, 48, 75, .09); padding: 24px; }
.privacy-snapshot h2 { font-size: 24px; margin: 0 0 14px; }
.privacy-snapshot dl, .privacy-snapshot dd { margin: 0; }
.privacy-snapshot dl div { border-top: 1px solid #dce5ee; display: grid; gap: 4px; padding: 14px 0; }
.privacy-snapshot dt { color: #102944; font-weight: 800; }
.privacy-snapshot dd { color: #52677d; font-size: 14px; line-height: 1.5; }
.privacy-policy { padding-top: 36px; }
.privacy-policy-layout { display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: 220px minmax(0, 820px); justify-content: center; }
.privacy-policy-nav { align-self: start; border-left: 3px solid #0f8b5f; display: grid; gap: 4px; padding: 8px 0 8px 18px; position: sticky; top: 100px; }
.privacy-policy-nav strong, .privacy-policy-nav a { padding: 5px 0; }
.privacy-policy-nav a { color: #35536f; font-size: 14px; font-weight: 700; }
.privacy-policy-copy section { scroll-margin-top: 110px; }
.privacy-policy-copy section + section { border-top: 1px solid #dce5ee; margin-top: 34px; padding-top: 34px; }
.privacy-policy-copy h2 { color: #102944; font-size: clamp(26px, 3vw, 36px); margin: 0 0 14px; }
.privacy-policy-copy h3 { color: #102944; font-size: 17px; margin: 0 0 6px; }
.privacy-policy-copy p, .privacy-policy-copy li, .privacy-policy-copy address { color: #52677d; line-height: 1.7; }
.privacy-policy-copy ul { display: grid; gap: 8px; padding-left: 20px; }
.privacy-policy-copy address { font-style: normal; }
.privacy-data-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 20px 0; }
.privacy-data-grid > div { border: 1px solid #d5e0ea; border-radius: 8px; padding: 18px; }
.privacy-data-grid p { font-size: 14px; margin: 0; }
.privacy-request-box { align-items: center; background: #edf8f4; border-left: 4px solid #0f8b5f; display: flex; gap: 24px; justify-content: space-between; margin-top: 22px; padding: 20px; }
.privacy-request-box p { margin: 0; }
.privacy-request-box .btn { flex: 0 0 auto; }
.privacy-policy-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; }

@media (max-width: 900px) {
  .privacy-hero-grid, .privacy-policy-layout { grid-template-columns: 1fr; }
  .privacy-policy-nav { display: flex; overflow-x: auto; position: static; white-space: nowrap; }
}

@media (max-width: 640px) {
  .privacy-data-grid { grid-template-columns: 1fr; }
  .privacy-request-box { align-items: stretch; flex-direction: column; }
}

/* Terms: expose product and payment choices before the contract detail. */
.terms-hero { padding-bottom: 34px; }
.terms-hero-grid { align-items: center; display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); }
.terms-snapshot { background: #fff; border: 1px solid #cad8e6; border-top: 4px solid #286fac; box-shadow: 0 18px 46px rgba(23, 48, 75, .09); padding: 24px; }
.terms-snapshot h2 { font-size: 24px; margin: 0 0 14px; }
.terms-snapshot dl, .terms-snapshot dd { margin: 0; }
.terms-snapshot dl div { border-top: 1px solid #dce5ee; display: grid; gap: 4px; padding: 14px 0; }
.terms-snapshot dt { color: #102944; font-weight: 800; }
.terms-snapshot dd { color: #52677d; font-size: 14px; line-height: 1.5; }
.terms-policy { padding-top: 36px; }
.terms-policy-layout { display: grid; gap: clamp(28px, 5vw, 72px); grid-template-columns: 220px minmax(0, 820px); justify-content: center; }
.terms-policy-nav { align-self: start; border-left: 3px solid #286fac; display: grid; gap: 4px; padding: 8px 0 8px 18px; position: sticky; top: 100px; }
.terms-policy-nav strong, .terms-policy-nav a { padding: 5px 0; }
.terms-policy-nav a { color: #35536f; font-size: 14px; font-weight: 700; }
.terms-policy-copy section { scroll-margin-top: 110px; }
.terms-policy-copy section + section { border-top: 1px solid #dce5ee; margin-top: 34px; padding-top: 34px; }
.terms-policy-copy h2 { color: #102944; font-size: clamp(26px, 3vw, 36px); margin: 0 0 14px; }
.terms-policy-copy h3 { color: #102944; font-size: 17px; margin: 20px 0 6px; }
.terms-policy-copy p, .terms-policy-copy li, .terms-policy-copy address { color: #52677d; line-height: 1.7; }
.terms-policy-copy ul { display: grid; gap: 8px; padding-left: 20px; }
.terms-policy-copy address { font-style: normal; }
.terms-decision { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 20px 0; }
.terms-decision > div { border: 1px solid #d5e0ea; border-radius: 8px; padding: 18px; }
.terms-decision h3 { margin-top: 0; }
.terms-decision p { font-size: 14px; margin: 0; }
.terms-policy-links { display: flex; flex-wrap: wrap; gap: 10px 18px; margin-top: 18px; }

@media (max-width: 900px) {
  .terms-hero-grid, .terms-policy-layout { grid-template-columns: 1fr; }
  .terms-policy-nav { display: flex; overflow-x: auto; position: static; white-space: nowrap; }
}

@media (max-width: 640px) {
  .terms-decision { grid-template-columns: 1fr; }
}

/* Hardware compatibility: show the actual counter context without implying certification. */
.hardware-hero { background: #f2f7fa; padding: clamp(42px, 6vw, 78px) 0 30px; }
.hardware-hero-grid { align-items: center; display: grid; gap: clamp(28px, 5vw, 68px); grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); text-align: left; }
.hardware-hero h1 { color: #102944; font-size: clamp(42px, 5vw, 68px); line-height: 1.02; margin: 0 0 18px; max-width: 720px; }
.hardware-hero-actions { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.hardware-hero-actions .btn { align-items: center; display: inline-flex; justify-content: center; min-height: 48px; }
.hardware-hero-photo { background: #fff; border: 1px solid #cbd9e5; margin: 0; }
.hardware-hero-photo img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.hardware-hero-photo figcaption { align-items: baseline; border-top: 4px solid #0f8b5f; display: flex; gap: 10px; justify-content: space-between; padding: 14px 16px; }
.hardware-hero-photo figcaption b { color: #102944; flex: 0 0 auto; }
.hardware-hero-photo figcaption span { color: #52677d; font-size: 13px; line-height: 1.45; }
.hardware-hero .proof-strip { margin-top: 26px; }
.hardware-review-note { color: #52677d; font-size: 14px; margin: 14px auto 0; max-width: 980px; text-align: center; }

@media (max-width: 900px) {
  .hardware-hero-grid { grid-template-columns: 1fr; }
  .hardware-hero-photo { order: 2; }
}

@media (max-width: 640px) {
  .hardware-hero { padding-top: 28px; }
  .hardware-hero h1 { font-size: 38px; }
  .hardware-hero-actions { grid-template-columns: 1fr; }
  .hardware-hero-actions .btn { width: 100%; }
  .hardware-hero-photo figcaption { align-items: flex-start; flex-direction: column; }
  .hardware-hero .proof-strip { grid-template-columns: 1fr 1fr; }
}

.ideas-optional-details {
  margin-top: 18px;
  border: 1px solid #d4e2df;
  border-radius: 8px;
  background: #fbfefd;
}

.ideas-optional-details summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  color: var(--core-ink);
  font-weight: 800;
  cursor: pointer;
}

.ideas-optional-details summary small {
  color: var(--core-soft);
  font-weight: 600;
}

.ideas-optional-details .ideas-form-grid {
  padding: 4px 18px 18px;
}

/* New-shop setup gateway: keep the opening actions ahead of contextual media. */
.core-new-shop .new-shop-hero { padding-block: 34px 42px; }
.new-shop-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, .94fr) minmax(420px, .86fr); }
.core-new-shop .new-shop-hero h1 { font-size: 52px; line-height: 1.04; max-width: 690px; }
.core-new-shop .new-shop-hero .lead { font-size: 19px; line-height: 1.55; max-width: 690px; }
.new-shop-model-link { color: #52677d; font-size: 14px; line-height: 1.55; margin: 17px 0 0; }
.new-shop-readiness-rail { border-top: 1px solid #d5e0ea; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 24px 0 0; padding: 18px 0 0; }
.new-shop-readiness-rail li { display: grid; gap: 2px; grid-template-columns: 28px minmax(0, 1fr); padding-right: 12px; }
.new-shop-readiness-rail span { align-items: center; background: #eaf5ef; border-radius: 50%; color: #176442; display: flex; font-size: 12px; font-weight: 800; grid-row: 1 / 3; height: 24px; justify-content: center; width: 24px; }
.new-shop-readiness-rail b { color: #102944; font-size: 14px; line-height: 1.2; }
.new-shop-readiness-rail small { color: #52677d; font-size: 12px; line-height: 1.35; }
.new-shop-hero-figure { background: #fff; border: 1px solid #d5e0ea; border-radius: 8px; box-shadow: 0 20px 44px rgba(16, 36, 61, .13); margin: 0; overflow: hidden; }
.new-shop-hero-figure img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.new-shop-hero-figure figcaption { border-top: 3px solid #16855b; display: grid; gap: 3px; padding: 13px 16px 15px; }
.new-shop-hero-figure figcaption b { color: #102944; font-size: 14px; }
.new-shop-hero-figure figcaption span { color: #52677d; font-size: 13px; line-height: 1.4; }

@media (max-width: 980px) {
  .new-shop-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .new-shop-hero-figure { max-width: 760px; }
}

@media (max-width: 620px) {
  .core-new-shop .new-shop-hero { padding-block: 24px 32px; }
  .core-new-shop .new-shop-hero h1 { font-size: 36px; }
  .core-new-shop .new-shop-hero .lead { font-size: 17px; }
  .new-shop-readiness-rail { gap: 12px; grid-template-columns: 1fr; }
  .new-shop-hero-figure img { aspect-ratio: 16 / 9; }
}

/* Import guide: keep help and self-service routes ahead of supporting media. */
.core-import-guide .import-guide-hero { padding-block: 34px 42px; }
.import-guide-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, .96fr) minmax(420px, .84fr); }
.core-import-guide .import-guide-hero h1 { font-size: 50px; line-height: 1.05; max-width: 690px; }
.core-import-guide .import-guide-hero .lead { font-size: 19px; line-height: 1.55; max-width: 690px; }
.import-guide-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.import-guide-self-route { color: #405a73; font-size: 14px; line-height: 1.5; margin: 16px 0 0; }
.import-guide-self-route a { font-weight: 750; }
.import-guide-rail { display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 24px 0 0; padding: 0; }
.import-guide-rail li { border-left: 1px solid #ccd9e5; display: grid; gap: 2px; grid-template-columns: 26px 1fr; padding: 2px 12px; }
.import-guide-rail li:first-child { border-left: 0; padding-left: 0; }
.import-guide-rail span { align-items: center; background: #e9f2ff; border-radius: 50%; color: #135ea8; display: inline-flex; font-size: 12px; font-weight: 800; grid-row: 1 / 3; height: 22px; justify-content: center; width: 22px; }
.import-guide-rail b { color: #102944; font-size: 13px; }
.import-guide-rail small { color: #60758a; font-size: 12px; line-height: 1.35; }
.import-guide-figure { background: #fff; border: 1px solid #d5e0ea; border-radius: 8px; box-shadow: 0 20px 44px rgba(16, 36, 61, .13); margin: 0; overflow: hidden; }
.import-guide-figure img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.import-guide-figure figcaption { border-top: 3px solid #16855b; display: grid; gap: 3px; padding: 13px 16px 15px; }
.import-guide-figure figcaption b { color: #102944; font-size: 14px; }
.import-guide-figure figcaption span { color: #52677d; font-size: 13px; line-height: 1.4; }

@media (max-width: 980px) {
  .import-guide-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .import-guide-figure { max-width: 760px; }
}

@media (max-width: 620px) {
  .core-import-guide .import-guide-hero { padding-block: 24px 32px; }
  .core-import-guide .import-guide-hero h1 { font-size: 36px; }
  .core-import-guide .import-guide-hero .lead { font-size: 17px; }
  .import-guide-actions .btn { justify-content: center; width: 100%; }
  .import-guide-rail { grid-template-columns: 1fr; }
  .import-guide-rail li { border-left: 0; border-top: 1px solid #ccd9e5; padding: 10px 0; }
  .import-guide-rail li:first-child { border-top: 0; }
  .import-guide-figure img { aspect-ratio: 16 / 9; }
}

/* Offline POS: frame resilience as separate, testable counter dependencies. */
.core-offline-pos .offline-pos-hero { padding-block: 34px 42px; }
.offline-pos-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, .96fr) minmax(420px, .84fr); }
.core-offline-pos .offline-pos-hero h1 { font-size: 50px; line-height: 1.05; max-width: 700px; }
.core-offline-pos .offline-pos-hero .lead { font-size: 19px; line-height: 1.55; max-width: 690px; }
.offline-pos-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.offline-pos-boundaries { border-top: 1px solid #d5e0ea; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; padding-top: 18px; }
.offline-pos-boundaries > span { border-left: 1px solid #d5e0ea; display: grid; gap: 4px; padding: 0 14px; }
.offline-pos-boundaries > span:first-child { border-left: 0; padding-left: 0; }
.offline-pos-boundaries b { color: #102944; font-size: 13px; }
.offline-pos-boundaries small { color: #60758a; font-size: 12px; line-height: 1.4; }
.offline-pos-hero-figure { background: #fff; border: 1px solid #d5e0ea; border-radius: 8px; box-shadow: 0 20px 44px rgba(16, 36, 61, .13); margin: 0; overflow: hidden; }
.offline-pos-hero-figure img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.offline-pos-hero-figure figcaption { border-top: 3px solid #16855b; display: grid; gap: 3px; padding: 13px 16px 15px; }
.offline-pos-hero-figure figcaption b { color: #102944; font-size: 14px; }
.offline-pos-hero-figure figcaption span { color: #52677d; font-size: 13px; line-height: 1.4; }

@media (max-width: 980px) {
  .offline-pos-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .offline-pos-hero-figure { max-width: 760px; }
}

@media (max-width: 620px) {
  .core-offline-pos .offline-pos-hero { padding-block: 24px 32px; }
  .core-offline-pos .offline-pos-hero h1 { font-size: 36px; }
  .core-offline-pos .offline-pos-hero .lead { font-size: 17px; }
  .offline-pos-actions .btn { justify-content: center; width: 100%; }
  .offline-pos-boundaries { grid-template-columns: 1fr; }
  .offline-pos-boundaries > span { border-left: 0; border-top: 1px solid #d5e0ea; padding: 10px 0; }
  .offline-pos-boundaries > span:first-child { border-top: 0; }
  .offline-pos-hero-figure img { aspect-ratio: 16 / 9; }
}

/* Product facts: expose the current release and evidence routes without delaying the ledger. */
.core-product-facts .product-facts-hero { padding-block: 34px 40px; }
.product-facts-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, 1.05fr) minmax(390px, .75fr); }
.core-product-facts .product-facts-hero h1 { font-size: 50px; line-height: 1.05; max-width: 720px; }
.core-product-facts .product-facts-hero .lead { font-size: 19px; line-height: 1.55; max-width: 700px; }
.product-facts-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.product-facts-jump { display: inline-block; font-size: 14px; font-weight: 750; margin-top: 16px; }
.product-facts-summary { background: #fff; border: 1px solid #cedbe7; border-top: 4px solid #16855b; border-radius: 8px; box-shadow: 0 18px 42px rgba(16, 36, 61, .12); padding: 22px 24px 20px; }
.product-facts-summary h2 { color: #102944; font-size: 24px; margin: 3px 0 12px; }
.product-facts-summary dl { margin: 0; }
.product-facts-summary dl > div { align-items: baseline; border-top: 1px solid #d9e3ec; display: grid; gap: 18px; grid-template-columns: 112px minmax(0, 1fr); padding: 12px 0; }
.product-facts-summary dt { color: #52677d; font-size: 12px; font-weight: 800; text-transform: uppercase; }
.product-facts-summary dd { display: grid; gap: 2px; margin: 0; }
.product-facts-summary dd b { color: #102944; font-size: 15px; }
.product-facts-summary dd span { color: #60758a; font-size: 12px; line-height: 1.4; }
.product-facts-summary-note { border-top: 1px solid #d9e3ec; color: #52677d; font-size: 12px; line-height: 1.45; margin: 0; padding-top: 13px; }

@media (max-width: 980px) {
  .product-facts-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .product-facts-summary { max-width: 720px; }
}

@media (max-width: 620px) {
  .core-product-facts .product-facts-hero { padding-block: 24px 30px; }
  .core-product-facts .product-facts-hero h1 { font-size: 36px; }
  .core-product-facts .product-facts-hero .lead { font-size: 17px; }
  .product-facts-actions .btn { justify-content: center; width: 100%; }
  .product-facts-summary { padding: 18px 16px 16px; }
  .product-facts-summary dl > div { gap: 12px; grid-template-columns: 96px minmax(0, 1fr); }
}

/* Free open-source POS: separate software price, source rights and operating cost. */
.core-free-open-source .free-open-source-hero { padding-block: 34px 42px; }
.free-open-source-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, .98fr) minmax(420px, .82fr); }
.core-free-open-source .free-open-source-hero h1 { font-size: 50px; line-height: 1.05; max-width: 720px; }
.core-free-open-source .free-open-source-hero .lead { font-size: 19px; line-height: 1.55; max-width: 690px; }
.free-open-source-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.free-open-source-boundaries { border-top: 1px solid #d4e0e9; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; padding-top: 18px; }
.free-open-source-boundaries > span { border-left: 1px solid #d4e0e9; display: grid; gap: 4px; padding: 0 13px; }
.free-open-source-boundaries > span:first-child { border-left: 0; padding-left: 0; }
.free-open-source-boundaries b { color: #102944; font-size: 13px; }
.free-open-source-boundaries small { color: #60758a; font-size: 12px; line-height: 1.4; }
.free-open-source-hero-figure { background: #fff; border: 1px solid #d5e0ea; border-radius: 8px; box-shadow: 0 20px 44px rgba(16, 36, 61, .13); margin: 0; overflow: hidden; }
.free-open-source-hero-figure img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.free-open-source-hero-figure figcaption { border-top: 3px solid #16855b; display: grid; gap: 3px; padding: 13px 16px 15px; }
.free-open-source-hero-figure figcaption b { color: #102944; font-size: 14px; }
.free-open-source-hero-figure figcaption span { color: #52677d; font-size: 13px; line-height: 1.4; }

@media (max-width: 980px) {
  .free-open-source-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .free-open-source-hero-figure { max-width: 760px; }
}

@media (max-width: 620px) {
  .core-free-open-source .free-open-source-hero { padding-block: 24px 32px; }
  .core-free-open-source .free-open-source-hero h1 { font-size: 36px; }
  .core-free-open-source .free-open-source-hero .lead { font-size: 17px; }
  .free-open-source-actions .btn { justify-content: center; width: 100%; }
  .free-open-source-boundaries { grid-template-columns: 1fr; }
  .free-open-source-boundaries > span { border-left: 0; border-top: 1px solid #d4e0e9; padding: 10px 0; }
  .free-open-source-boundaries > span:first-child { border-top: 0; }
  .free-open-source-hero-figure img { aspect-ratio: 16 / 9; }
}

/* Implementation gateway: expose the rollout sequence and decision owner first. */
.core-pos-implementation .implementation-hero { padding-block: 34px 42px; }
.implementation-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); }
.core-pos-implementation .implementation-hero h1 { font-size: 50px; line-height: 1.05; max-width: 720px; }
.core-pos-implementation .implementation-hero .lead { font-size: 19px; line-height: 1.55; max-width: 700px; }
.implementation-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.implementation-model-link { color: #52677d; font-size: 14px; line-height: 1.5; margin: 16px 0 0; }
.implementation-gate { background: #fff; border: 1px solid #cedbe7; border-top: 4px solid #16855b; border-radius: 8px; box-shadow: 0 18px 42px rgba(16, 36, 61, .12); padding: 22px 24px 20px; }
.implementation-gate h2 { color: #102944; font-size: 24px; line-height: 1.2; margin: 3px 0 16px; }
.implementation-process { list-style: none; margin: 0; padding: 0; }
.implementation-process li { align-items: center; border-top: 1px solid #d9e3ec; display: grid; gap: 12px; grid-template-columns: 30px minmax(0, 1fr); padding: 11px 0; }
.implementation-process li:first-child { border-top: 0; }
.implementation-process li > span { align-items: center; background: #eaf5ef; border-radius: 50%; color: #176442; display: flex; font-size: 12px; font-weight: 800; height: 26px; justify-content: center; width: 26px; }
.implementation-process li > div { display: grid; gap: 2px; }
.implementation-process b { color: #102944; font-size: 14px; }
.implementation-process small { color: #60758a; font-size: 12px; line-height: 1.4; }
.implementation-gate-note { border-top: 1px solid #d9e3ec; color: #52677d; font-size: 12px; line-height: 1.5; margin: 0; padding-top: 13px; }

@media (max-width: 980px) {
  .implementation-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .implementation-gate { max-width: 720px; }
}

@media (max-width: 620px) {
  .core-pos-implementation .implementation-hero { padding-block: 24px 32px; }
  .core-pos-implementation .implementation-hero h1 { font-size: 36px; }
  .core-pos-implementation .implementation-hero .lead { font-size: 17px; }
  .implementation-hero-actions .btn { justify-content: center; width: 100%; }
  .implementation-gate { padding: 18px 16px 16px; }
}

/* Business guide hub: give the large workflow archive a direct finder. */
.core-business-guides .business-guides-hero { padding-block: 34px 42px; }
.business-guides-hero-grid { align-items: center; display: grid; gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(390px, .72fr); }
.core-business-guides .business-guides-hero h1 { font-size: 50px; line-height: 1.05; max-width: 730px; }
.core-business-guides .business-guides-hero .lead { font-size: 19px; line-height: 1.55; max-width: 700px; }
.business-guides-manual-route { color: #52677d; font-size: 14px; line-height: 1.5; margin: 18px 0 0; }
.business-guide-finder { background: #fff; border: 1px solid #cedbe7; border-top: 4px solid #16855b; border-radius: 8px; box-shadow: 0 18px 42px rgba(16, 36, 61, .12); padding: 22px 24px 20px; }
.business-guide-finder label { color: #102944; display: block; font-size: 22px; font-weight: 800; line-height: 1.25; margin: 3px 0 14px; }
.business-guide-search-row { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
.business-guide-search-row input { border: 1px solid #b9c9d8; border-radius: 8px; color: #102944; font: inherit; min-height: 48px; min-width: 27ch; padding: 10px 12px; width: 100%; }
.business-guide-search-row input:focus { border-color: #135ea8; box-shadow: 0 0 0 3px rgba(19, 94, 168, .18); outline: 2px solid transparent; }
.business-guide-search-row .btn { min-height: 48px; white-space: nowrap; }
.business-guide-search-hint, .business-guide-search-status { color: #60758a; font-size: 12px; line-height: 1.45; margin: 9px 0 0; }
.business-guide-search-status { color: #35536f; font-weight: 700; min-height: 18px; }
.business-guide-browse-link { display: inline-block; font-size: 13px; font-weight: 750; margin-top: 10px; }
.business-guide-results a[hidden] { display: none; }

@media (max-width: 980px) {
  .business-guides-hero-grid { gap: 28px; grid-template-columns: minmax(0, 1fr); }
  .business-guide-finder { max-width: 720px; }
}

@media (max-width: 620px) {
  .core-business-guides .business-guides-hero { padding-block: 24px 32px; }
  .core-business-guides .business-guides-hero h1 { font-size: 36px; }
  .core-business-guides .business-guides-hero .lead { font-size: 17px; }
  .business-guide-finder { padding: 18px 16px 16px; }
  .business-guide-search-row { grid-template-columns: 1fr; }
  .business-guide-search-row input { min-width: 0; }
  .business-guide-search-row .btn { justify-content: center; width: 100%; }
}
.not-found-page {
  padding: 72px 0;
  background: #f4f8f7;
}

.not-found-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: 64px;
  align-items: start;
  max-width: 1040px;
}

.not-found-message h1 {
  margin: 8px 0 16px;
  color: var(--core-ink);
  font-size: 46px;
  line-height: 1.08;
}

.not-found-message .lead { margin-bottom: 14px; }
.not-found-message .btn { margin-top: 22px; }

.not-found-routes {
  padding-left: 28px;
  border-left: 1px solid var(--core-line);
}

.not-found-routes h2 {
  margin: 0 0 10px;
  color: var(--core-ink);
  font-size: 20px;
}

.not-found-routes a {
  display: grid;
  gap: 2px;
  padding: 14px 0;
  border-bottom: 1px solid var(--core-line);
  text-decoration: none;
}

.not-found-routes a:hover strong { text-decoration: underline; }
.not-found-routes strong { color: var(--core-blue); font-size: 15px; }
.not-found-routes span { color: var(--core-soft); font-size: 13px; line-height: 1.45; }

@media (max-width: 760px) {
  .not-found-page { padding: 46px 0; }
  .not-found-layout { grid-template-columns: 1fr; gap: 38px; }
  .not-found-message h1 { font-size: 38px; }
  .not-found-routes { padding: 24px 0 0; border-top: 1px solid var(--core-line); border-left: 0; }
}
