/* Keep shared navigation visually identical to the homepage on every route. */
html.light[data-theme="light"] body .site-header.site-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: #263746 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 12px 34px rgba(38, 55, 70, 0.24) !important;
}

/* Extended pricing cards: remove the legacy numbered rail and keep the intro
   on the same surface and typographic system as the other service cards. */
html body .pricing-page .pricing-service-item-options .pricing-service-copy {
  padding-left: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-service-copy::before {
  display: none !important;
  content: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-service-title {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

html body .pricing-page .pricing-service-item-options :is(
  .pricing-service-title h4,
  .pricing-option-name-wide
) {
  font-family: var(--font-display) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.24 !important;
}

html body .pricing-page .pricing-service-item-options :is(
  .pricing-service-copy p,
  .pricing-options-head,
  .pricing-option-details,
  .pricing-option-value,
  .pricing-request-link
) {
  font-family: var(--font-body) !important;
}

/* Dependency pricing is presented as service cards inside the parent card. */
html body .pricing-page .pricing-options-dependency {
  display: grid !important;
  gap: 12px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

html body .pricing-page .pricing-options-dependency .pricing-options-head {
  display: none !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-row-card {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) minmax(220px, 0.34fr) !important;
  grid-template-rows: auto auto !important;
  gap: 5px 18px !important;
  align-items: start !important;
  min-height: 126px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--premium-line, var(--outline-soft)) !important;
  background: transparent !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-row-card + .pricing-option-row-card {
  border-top: 1px solid var(--premium-line, var(--outline-soft)) !important;
}

html body .pricing-page .pricing-option-card-index {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  color: var(--primary-strong) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-name-wide {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  border: 0 !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-depends {
  grid-column: 2 !important;
  grid-row: 2 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.86rem, 1vw, 0.92rem) !important;
  font-weight: 400 !important;
  line-height: 1.52 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-depends::after {
  display: none !important;
  content: none !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-value {
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 / span 2 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-self: stretch !important;
  align-content: center !important;
  justify-content: end !important;
  justify-items: end !important;
  gap: 10px !important;
  min-height: 88px !important;
  padding-left: 22px !important;
  border-left: 1px solid var(--outline-soft) !important;
  text-align: right !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-value-copy {
  display: grid !important;
  justify-items: end !important;
  gap: 3px !important;
  width: 100% !important;
}

html body .pricing-page .pricing-options-dependency .pricing-request-link-compact {
  grid-column: 1 !important;
  width: auto !important;
  min-width: 132px !important;
  margin: 0 !important;
}

html body .pricing-page .pricing-options-dependency .pricing-option-includes {
  display: none !important;
}

@media (max-width: 680px) {
  html body .pricing-page .pricing-options-dependency .pricing-option-row-card {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  html body .pricing-page .pricing-options-dependency .pricing-option-value {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    min-height: 0 !important;
    margin-top: 10px !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid var(--outline-soft) !important;
    border-left: 0 !important;
    text-align: left !important;
  }

  html body .pricing-page .pricing-options-dependency .pricing-option-value-copy {
    justify-items: start !important;
  }
}

/* Final pricing-table system: every nested option group uses the full card
   width and the same vertical price anatomy. */
html body .pricing-page .pricing-service-item-options > .pricing-service-price {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}

html body .pricing-page .pricing-service-item-options > .pricing-service-price > .pricing-options {
  width: 100% !important;
  max-width: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: end !important;
  gap: 2px !important;
  width: 100% !important;
  font-style: normal !important;
  text-align: right !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy::before {
  display: block !important;
  margin-bottom: 1px !important;
  content: "Вартість" !important;
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.64rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > strong,
html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > em {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: right !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > em {
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value > .pricing-request-link-compact {
  justify-self: end !important;
  min-width: 132px !important;
  margin-top: 8px !important;
}

@media (max-width: 680px) {
  html body .pricing-page .pricing-service-item-options .pricing-option-value-copy,
  html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > strong,
  html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > em {
    justify-items: start !important;
    text-align: left !important;
  }

  html body .pricing-page .pricing-service-item-options .pricing-option-value > .pricing-request-link-compact {
    justify-self: start !important;
  }
}

/* Use the same service-card anatomy for every nested pricing table. */
html body .pricing-page .pricing-service-item-options .pricing-options {
  display: grid !important;
  gap: 12px !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

html body .pricing-page .pricing-service-item-options .pricing-options-head {
  display: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card {
  display: grid !important;
  grid-template-columns: 36px minmax(0, 1fr) minmax(220px, 0.34fr) !important;
  grid-template-rows: auto !important;
  grid-auto-rows: auto !important;
  gap: 5px 18px !important;
  align-items: start !important;
  min-height: 126px !important;
  padding: 18px 20px !important;
  border: 1px solid var(--premium-line, var(--outline-soft)) !important;
  background: transparent !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card + .pricing-option-row-card {
  border-top: 1px solid var(--premium-line, var(--outline-soft)) !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-card-index {
  grid-column: 1 !important;
  grid-row: 1 / span 20 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-name {
  grid-column: 2 !important;
  grid-row: 1 !important;
  padding: 0 !important;
  border: 0 !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.08rem, 1.45vw, 1.2rem) !important;
  font-weight: 600 !important;
  line-height: 1.24 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card > .pricing-option-details {
  grid-column: 2 !important;
  grid-row: auto !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-family: var(--font-body) !important;
  font-size: clamp(0.86rem, 1vw, 0.92rem) !important;
  font-weight: 400 !important;
  line-height: 1.52 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card > .pricing-option-details::after {
  display: none !important;
  content: none !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-detail-line {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-value {
  display: grid !important;
  grid-column: 3 !important;
  grid-row: 1 / span 20 !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-self: stretch !important;
  align-content: center !important;
  justify-content: end !important;
  justify-items: end !important;
  gap: 10px !important;
  min-height: 88px !important;
  padding-left: 22px !important;
  border-left: 1px solid var(--outline-soft) !important;
  text-align: right !important;
}

@media (max-width: 680px) {
  html body .pricing-page .pricing-service-item-options .pricing-option-row-card {
    grid-template-columns: 28px minmax(0, 1fr) !important;
    min-height: 0 !important;
    padding: 16px !important;
  }

  html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-value {
    grid-column: 2 !important;
    grid-row: auto !important;
    justify-content: stretch !important;
    justify-items: stretch !important;
    min-height: 0 !important;
    margin-top: 10px !important;
    padding: 14px 0 0 !important;
    border-top: 1px solid var(--outline-soft) !important;
    border-left: 0 !important;
    text-align: left !important;
  }
}

html.light[data-theme="light"] body .site-header.site-header :is(
  .brand,
  .main-nav,
  .nav-link,
  .nav-link-trigger,
  .header-phone,
  .header-phone-list a
) {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 5, 15, 0.64) !important;
}

html.light[data-theme="light"] body:not(#header-text-consistency) .site-header.site-header .main-nav > .nav-link,
html.light[data-theme="light"] body:not(#header-text-consistency) .site-header.site-header .main-nav > .nav-dropdown > .nav-link-trigger {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(0, 5, 15, 0.64) !important;
}

html.light[data-theme="light"] body .site-header.site-header :is(
  .nav-link,
  .nav-link-trigger,
  .header-phone-list a
):is(:hover, :focus-visible) {
  color: #4dc9ff !important;
}

html.light[data-theme="light"] body:not(#header-text-consistency) .site-header.site-header .main-nav > .nav-link:is(:hover, :focus-visible),
html.light[data-theme="light"] body:not(#header-text-consistency) .site-header.site-header .main-nav > .nav-dropdown > .nav-link-trigger:is(:hover, :focus-visible),
html.light[data-theme="light"] body:not(#header-text-consistency) .site-header.site-header .main-nav > .nav-dropdown:is(:hover, :focus-within) > .nav-link-trigger {
  color: #4dc9ff !important;
}

html.light[data-theme="light"] body .site-header.site-header .header-phone {
  border-left-color: rgba(117, 202, 240, 0.28) !important;
}

html.light[data-theme="light"] body .site-header.site-header .material-symbols-outlined {
  color: #65d1ff !important;
}

@media (max-width: 980px) {
  html.light[data-theme="light"] body .site-header.site-header .main-nav {
    background: #263746 !important;
  }
}

/* Services quick selector: use the same luminous card surface and lift as the
 * primary service cards on the homepage. */
html.light[data-theme="light"] body.services-page:not(#choice-panel-a):not(#choice-panel-b):not(#choice-panel-c):not(#choice-panel-d):not(#choice-panel-e):not(#choice-panel-f):not(#choice-panel-g) main#top .service-choice-panel.light-block-tone-2 {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.services-page main#top .service-choice-panel::before,
html body.services-page main#top .service-choice-panel::after {
  display: none !important;
  content: none !important;
}

html body.services-page main#top .service-choice-panel .service-choice-grid {
  gap: clamp(16px, 1.8vw, 24px) !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
}

html body.services-page:not(#service-choice-card-a):not(#service-choice-card-b):not(#service-choice-card-c):not(#service-choice-card-d) main#top .service-choice-panel .service-choice-card {
  min-height: 174px !important;
  grid-template-columns: 38px minmax(0, 1fr) 24px !important;
  align-content: center !important;
  gap: 14px !important;
  padding: clamp(22px, 2.2vw, 28px) !important;
  border: 1px solid rgba(166, 96, 60, 0.42) !important;
  border-radius: 22px !important;
  background: #f7f7f5 !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 18px 40px rgba(25, 54, 64, 0.08),
    0 0 0 1px rgba(166, 96, 60, 0.05) !important;
  filter: none !important;
  transform: none !important;
}

html body.services-page main#top .service-choice-panel .service-choice-card::before,
html body.services-page main#top .service-choice-panel .service-choice-card::after {
  display: none !important;
  content: none !important;
}

html body.services-page main#top .service-choice-panel .service-choice-card strong {
  color: var(--text) !important;
  font-size: clamp(1.04rem, 1.35vw, 1.22rem) !important;
  line-height: 1.28 !important;
}

html body.services-page main#top .service-choice-panel .service-choice-index {
  right: 18px;
  bottom: 12px;
  opacity: 0.62;
}

html.light[data-theme="light"] body.services-page main#top .service-choice-panel .service-choice-card strong {
  color: #24323a !important;
}

html body.services-page:not(#service-choice-card-a):not(#service-choice-card-b):not(#service-choice-card-c):not(#service-choice-card-d) main#top .service-choice-panel .service-choice-card {
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html body.services-page:not(#service-choice-card-a):not(#service-choice-card-b):not(#service-choice-card-c):not(#service-choice-card-d) main#top .service-choice-panel .service-choice-card:hover,
html body.services-page:not(#service-choice-card-a):not(#service-choice-card-b):not(#service-choice-card-c):not(#service-choice-card-d) main#top .service-choice-panel .service-choice-card:focus-visible,
html body.services-page:not(#service-choice-card-a):not(#service-choice-card-b):not(#service-choice-card-c):not(#service-choice-card-d) main#top .service-choice-panel .service-choice-card:focus-within {
  border-color: rgba(166, 96, 60, 0.72) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 #ffffff,
    0 22px 48px rgba(166, 96, 60, 0.15),
    0 0 0 1px rgba(166, 96, 60, 0.12) !important;
  filter: none !important;
  transform: none !important;
}

html.light[data-theme="light"] body.services-page:not(#service-directory-card-a):not(#service-directory-card-b):not(#service-directory-card-c):not(#service-directory-card-d) main#top .service-directory-card {
  border: 1px solid rgba(166, 96, 60, 0.42) !important;
  border-radius: 22px !important;
  background: #f7f7f5 !important;
  background-color: #f7f7f5 !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 18px 40px rgba(25, 54, 64, 0.08),
    0 0 0 1px rgba(166, 96, 60, 0.05) !important;
  filter: none !important;
  transform: none !important;
  transition:
    background-color 180ms ease,
    border-color 180ms ease,
    box-shadow 220ms ease,
    transform 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html.light[data-theme="light"] body.services-page:not(#service-directory-hover-a):not(#service-directory-hover-b):not(#service-directory-hover-c):not(#service-directory-hover-d):not(#service-directory-hover-e) main#top .service-directory-card:is(:hover, :focus-within) {
  border: 1px solid rgba(166, 96, 60, 0.72) !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 #ffffff,
    0 22px 48px rgba(166, 96, 60, 0.15),
    0 0 0 1px rgba(166, 96, 60, 0.12) !important;
  filter: none !important;
  transform: none !important;
}

/* The closing prompt belongs to the page canvas instead of a separate panel. */
html body.services-page:not(#service-final-cta-a):not(#service-final-cta-b):not(#service-final-cta-c):not(#service-final-cta-d):not(#service-final-cta-e):not(#service-final-cta-f):not(#service-final-cta-g) main#top .service-archive-final-cta,
html body.services-page:not(#service-final-cta-a):not(#service-final-cta-b):not(#service-final-cta-c):not(#service-final-cta-d):not(#service-final-cta-e):not(#service-final-cta-f):not(#service-final-cta-g) main#top .service-archive-final-cta:hover,
html body.services-page:not(#service-final-cta-a):not(#service-final-cta-b):not(#service-final-cta-c):not(#service-final-cta-d):not(#service-final-cta-e):not(#service-final-cta-f):not(#service-final-cta-g) main#top .service-archive-final-cta:focus-within {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body.services-page main#top .service-archive-final-cta::before,
html body.services-page main#top .service-archive-final-cta::after {
  display: none !important;
  content: none !important;
}

html body.services-page main#top .service-archive-final-cta h2 {
  color: var(--text) !important;
}

html body.services-page main#top .service-archive-final-cta p {
  color: var(--text-muted) !important;
}

html.light[data-theme="light"] body.services-page main#top .service-archive-final-cta h2 {
  color: #24323a !important;
}

html.light[data-theme="light"] body.services-page main#top .service-archive-final-cta p {
  color: #52616a !important;
}

@media (max-width: 680px) {
  html body.services-page main#top .service-choice-panel .service-choice-card,
  html body.services-page main#top .service-choice-panel .service-choice-card:hover,
  html body.services-page main#top .service-choice-panel .service-choice-card:focus-visible {
    min-height: 138px !important;
    border-radius: 16px !important;
    padding: 20px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.services-page main#top .service-choice-panel .service-choice-card,
  html body.services-page main#top .service-choice-panel .service-choice-card:hover,
  html body.services-page main#top .service-choice-panel .service-choice-card:focus-visible {
    transition: none !important;
    transform: none !important;
  }
}

/* Keep the expanded mobile navigation legible and above auxiliary controls. */
@media (max-width: 980px) {
  html.mobile-menu-open {
    overflow: hidden;
  }

  html body:not(#nav-footer-faceted-override) .site-header.site-header.is-menu-open .main-nav {
    isolation: isolate;
    z-index: 2;
    border-color: rgba(101, 209, 255, 0.3) !important;
    background-color: #07152b !important;
    background-image:
      linear-gradient(180deg, rgba(9, 27, 51, 0.96), rgba(3, 13, 31, 0.98)),
      var(--nav-footer-faceted) !important;
    background-blend-mode: normal, soft-light;
    box-shadow:
      inset 0 1px 0 rgba(132, 214, 250, 0.12),
      0 24px 60px rgba(0, 6, 18, 0.48) !important;
  }

  html body .site-header.site-header.is-menu-open .main-nav > .nav-link,
  html body .site-header.site-header.is-menu-open .main-nav > .nav-dropdown > .nav-link-trigger {
    border-color: rgba(117, 202, 240, 0.24) !important;
    background: rgba(12, 34, 61, 0.92) !important;
    color: #f7fbff !important;
    text-shadow: 0 1px 10px rgba(0, 5, 15, 0.72) !important;
  }

  html body .site-header.site-header.is-menu-open .main-nav > .nav-link:is(:hover, :focus-visible),
  html body .site-header.site-header.is-menu-open .main-nav > .nav-dropdown > .nav-link-trigger:is(:hover, :focus-visible),
  html body .site-header.site-header.is-menu-open .main-nav > .nav-dropdown.is-open > .nav-link-trigger {
    border-color: rgba(101, 209, 255, 0.58) !important;
    background: rgba(17, 48, 82, 0.98) !important;
    color: #ffffff !important;
  }

  html.mobile-menu-open body :is(
    .site-map-widget,
    .social-rail,
    .page-scroll-controls,
    .mobile-sticky-contact
  ) {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

/* Harmonized scale for nested pricing cards. Title and price share the same
   visual weight; supporting copy steps down evenly toward the CTA label. */
html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-name {
  font-size: clamp(1.08rem, 1.35vw, 1.18rem) !important;
  line-height: 1.24 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card > .pricing-option-details {
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > strong {
  font-size: clamp(1.1rem, 1.35vw, 1.18rem) !important;
  line-height: 1.16 !important;
  text-wrap: balance !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > em {
  font-size: 0.78rem !important;
  line-height: 1.4 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value > .pricing-request-link-compact {
  min-height: 40px !important;
  font-size: 0.76rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.035em !important;
}

/* Compact density: card height follows its content instead of reserving a
   large table row. Four tracks cover the richest option without empty space. */
html body .pricing-page .pricing-service-item-options .pricing-option-row-card {
  grid-template-rows: repeat(4, auto) !important;
  grid-auto-rows: 0 !important;
  min-height: 0 !important;
  padding: 14px 18px !important;
  gap: 4px 16px !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-card-index,
html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-value {
  grid-row: 1 / span 4 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-value {
  min-height: 0 !important;
  padding-block: 2px !important;
}

html body .pricing-page .pricing-service-item-options .pricing-options {
  gap: 10px !important;
}

/* Slightly larger reading scale without returning the excess row height. */
html body .pricing-page .pricing-service-item-options .pricing-option-row-card .pricing-option-name {
  font-size: clamp(1.12rem, 1.4vw, 1.22rem) !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-row-card > .pricing-option-details {
  font-size: 0.92rem !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > strong {
  font-size: clamp(1.14rem, 1.4vw, 1.22rem) !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value-copy > em {
  font-size: 0.8rem !important;
}

html body .pricing-page .pricing-service-item-options .pricing-option-value > .pricing-request-link-compact {
  font-size: 0.78rem !important;
}

html body .pricing-page .pricing-service-item-info .pricing-info-request-link {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 42px !important;
  margin: 12px 0 0 auto !important;
  padding-inline: 18px !important;
  font-size: 0.78rem !important;
}

html body .pricing-page .pricing-service-item-info .pricing-option-value-copy::before {
  content: "Офіційний платіж" !important;
}

html body .pricing-page .pricing-service-item-options .pricing-service-marker {
  display: grid !important;
  width: 26px !important;
  height: auto !important;
  place-items: start !important;
}

html body .pricing-page .pricing-service-item-options .pricing-service-marker::before {
  content: counter(pricing-service) !important;
  color: var(--primary-strong) !important;
  font-family: var(--font-body) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

html body .pricing-page .pricing-service-item-options .pricing-service-marker .pricing-list-dot {
  display: none !important;
}

html body .pricing-page .pricing-category-heading-index {
  color: var(--premium-ink, var(--text)) !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.8rem, 3vw, 3rem) !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.05 !important;
}

html.light[data-theme="light"] body.pricing-catalog-page main#top .pricing-category .pricing-category-heading-index {
  color: #172a36 !important;
}

/* Article copy uses the same crisp reading contrast as the homepage. */
html.light[data-theme="light"] body main#top .article-detail-page .article-markdown :is(p, li),
html.light[data-theme="light"] body main#top .article-detail-page .article-markdown > p {
  color: #3c4b54 !important;
}

html.light[data-theme="light"] body main#top .article-detail-page .article-markdown :is(h2, h3, strong),
html.light[data-theme="light"] body main#top .article-detail-page .article-summary :is(h2, h3) {
  color: #172a36 !important;
}

html:not([data-theme="light"]) body main#top .article-detail-page .article-markdown :is(p, li),
html:not([data-theme="light"]) body main#top .article-detail-page .article-summary-card p {
  color: rgba(var(--text-rgb), 0.88) !important;
}

/* The summary wrapper stays on the shared page canvas; its cards carry the contrast. */
html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary.article-summary,
html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary.article-summary:hover {
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-grid {
  border: 0 !important;
  background: transparent !important;
  gap: clamp(10px, 1.5vw, 16px) !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-header,
html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-header h2,
html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-kicker {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-card {
  border: 1px solid rgba(53, 78, 92, 0.2) !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #172a36 !important;
  box-shadow: 0 12px 28px rgba(23, 42, 54, 0.08) !important;
  transition: border-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-card:hover {
  border-color: rgba(139, 83, 47, 0.45) !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(23, 42, 54, 0.13) !important;
  transform: translateY(-2px) !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-card h3 {
  color: #172a36 !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-card p {
  color: #3c4b54 !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-icon {
  border-color: rgba(53, 78, 92, 0.2) !important;
  background: rgba(236, 242, 245, 0.78) !important;
  color: #8b532f !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top .article-detail-page .article-summary-number {
  color: rgba(139, 83, 47, 0.72) !important;
}

/* Reuse the homepage direction artwork in the full services catalogue. */
.services-page .service-directory-card-top {
  justify-content: flex-end;
  margin-bottom: 0;
}

.services-page .service-directory-card-media {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: transparent;
}

.services-page .service-directory-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.01);
  transition: transform 0.44s cubic-bezier(0.22, 1, 0.36, 1);
}

html[data-theme="light"] .services-page .service-directory-card-media.theme-visual-dark,
html:not([data-theme="light"]) .services-page .service-directory-card-media.theme-visual-light {
  display: none !important;
}

.services-page .service-directory-card:hover .service-directory-card-media img,
.services-page .service-directory-card:focus-within .service-directory-card-media img {
  transform: scale(1.045);
}

/* Final prompts continue the page canvas, matching the pricing-page treatment. */
html body main#top#top#top#top#top#top#top#top :is(
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta
),
html body main#top#top#top#top#top#top#top#top :is(
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta
):is(:hover, :focus-within) {
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

html body main#top#top#top#top#top#top#top#top :is(
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta
)::before {
  display: none !important;
  content: none !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top :is(
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta
) :is(h2, h3, .section-kicker) {
  color: #172a36 !important;
  text-shadow: none !important;
}

html.light[data-theme="light"] body main#top#top#top#top#top#top#top#top :is(
  .service-final-cta,
  .subscription-final-cta,
  .pricing-choice-cta
) p {
  color: #3c4b54 !important;
}

/* Photographic article cards always use a light editorial type palette. */
html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card,
html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card:is(:hover, :focus-visible) {
  border-color: rgba(205, 148, 92, 0.46) !important;
  background-color: #101719 !important;
  color: #fffdf8 !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card::after,
html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card:is(:hover, :focus-visible)::after {
  background:
    linear-gradient(105deg, rgba(7, 12, 15, 0.94) 0%, rgba(10, 17, 21, 0.8) 54%, rgba(13, 20, 24, 0.58) 100%),
    linear-gradient(180deg, rgba(4, 8, 10, 0.08), rgba(4, 8, 10, 0.3)) !important;
  opacity: 1 !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card > h2 {
  color: #fffdf8 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.92) !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card > p {
  color: rgba(248, 244, 236, 0.92) !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.92) !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card > :is(
  .article-card-index,
  .article-card-meta
) {
  color: rgba(248, 244, 236, 0.9) !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9) !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card > :is(
  .article-card-category,
  .article-card-link
),
html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card .article-card-meta .material-symbols-outlined {
  color: #e4ae78 !important;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.9) !important;
}

html body main#top#top#top#top#top#top#top#top .article-archive-page .article-directory-card.article-card > .article-card-icon {
  border-color: rgba(228, 174, 120, 0.3) !important;
  background: rgba(8, 15, 19, 0.72) !important;
  color: #e4ae78 !important;
}

/* Header brand lock: use the homepage mark and wordmark on every route. */
html body .site-header.site-header .brand.brand,
html.light[data-theme="light"] body .site-header.site-header .brand.brand,
html:not([data-theme="light"]) body .site-header.site-header .brand.brand {
  color: #ffffff !important;
  font-family: Newsreader, "Noto Serif", Georgia, serif !important;
  font-size: 1.43rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-shadow: none !important;
}

html body .site-header.site-header .brand.brand > span,
html.light[data-theme="light"] body .site-header.site-header .brand.brand > span,
html:not([data-theme="light"]) body .site-header.site-header .brand.brand > span {
  color: #ffffff !important;
  font: inherit !important;
  text-shadow: none !important;
}

html body .site-header.site-header .brand-logo.brand-logo-dark,
html.light[data-theme="light"] body .site-header.site-header .brand-logo.brand-logo-dark,
html:not([data-theme="light"]) body .site-header.site-header .brand-logo.brand-logo-dark {
  display: block !important;
  width: 46px !important;
  height: 48px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

html body .site-header.site-header .brand-logo.brand-logo-light,
html.light[data-theme="light"] body .site-header.site-header .brand-logo.brand-logo-light,
html:not([data-theme="light"]) body .site-header.site-header .brand-logo.brand-logo-light {
  display: none !important;
}

@media (max-width: 680px) {
  html body .site-header.site-header .brand.brand {
    font-size: 1.16rem !important;
  }

  html body .site-header.site-header .brand-logo.brand-logo-dark {
    width: 38px !important;
    height: 40px !important;
  }
}

/* Seamless internal-page canvas: decorative facets belong to the page, not to
   every individual section. This prevents visible horizontal restarts in
   empty space between content blocks. */
html.light[data-theme="light"] body:not(.home-page) main#top {
  background-color: #eef0f2 !important;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.18), rgba(73, 85, 97, 0.022)),
    var(--section-faceted-gray) !important;
  background-position: center, 76% top !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top :is(
  .pricing-page,
  .pricing-block,
  .pricing-direction,
  .pricing-decision-panel,
  .pricing-choice-cta,
  .service-archive-page,
  .service-detail-page,
  .service-choice-panel,
  .service-quick-overview,
  .article-archive-page,
  .article-detail-page,
  .article-summary,
  .subscription-benefits,
  .subscription-plans-section,
  .subscription-comparison-section,
  .subscription-faq-section,
  .contacts-page,
  .legal-page
) {
  background-color: transparent !important;
  background-image: none !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
}

/* Win over legacy ID-heavy faceted rules on nested internal-page sections. */
html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top :is(
  .pricing-hero,
  .pricing-decision-panel,
  .pricing-direction,
  .pricing-choice-cta,
  .service-hero,
  .service-choice-panel,
  .service-quick-overview,
  .article-archive-hero,
  .article-archive-tools,
  .article-summary,
  .subscription-section-header,
  .subscription-benefits,
  .subscription-plans-section,
  .subscription-comparison-section,
  .subscription-faq-section,
  .legal-page-header
) {
  background-color: transparent !important;
  background-image: none !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
  box-shadow: none !important;
}

/* Canonical internal-page canvas: identical to the services catalogue. */
html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top {
  background-color: #e9eef1 !important;
  background-image:
    linear-gradient(90deg, rgba(255, 255, 255, 0.12), rgba(73, 85, 97, 0.045)),
    linear-gradient(134deg, transparent 0 31%, rgba(72, 91, 104, 0.09) 31.1% 31.35%, transparent 31.5%),
    var(--section-faceted-gray) !important;
  background-position: center, center, center !important;
  background-repeat: no-repeat !important;
  background-size: cover, 100% 100%, cover !important;
  background-attachment: fixed !important;
  background-blend-mode: normal, multiply, multiply !important;
}

html.light[data-theme="light"] body:not(.home-page) main#top#top#top#top#top#top#top#top#top#top#top#top > :is(
  .section,
  .light-block-tone-1,
  .light-block-tone-2,
  .light-block-tone-3
) {
  background-color: transparent !important;
  background-image: none !important;
  background-position: 0 0 !important;
  background-repeat: no-repeat !important;
  background-size: auto !important;
}
