/* Theme primary: rgb(56, 88, 233) */
:root {
  --tp-theme-primary: rgb(56, 88, 233);

  /* Type scale — 4px grid, one sequence site-wide */
  --fs-caption: 12px;
  --fs-label: 14px;
  --fs-body: 16px;
  --fs-lead: 18px;
  --fs-h6: 16px;
  --fs-h5: 20px;
  --fs-h4: 24px;
  --fs-h3-sm: 28px;
  --fs-h3: 32px;
  --fs-h2-sm: 40px;
  --fs-h2: 48px;
  --fs-h1: 56px;
  --fs-display-sm: 64px;
  --fs-display: 72px;
  --fs-stat: 80px;
}

h1 { font-size: var(--fs-h1); line-height: 1.1; }
h2 { font-size: var(--fs-h2); line-height: 1.15; }
h3 { font-size: var(--fs-h3); line-height: 1.2; }
h4 { font-size: var(--fs-h4); line-height: 1.25; }
h5 { font-size: var(--fs-h5); line-height: 1.3; }
h6 { font-size: var(--fs-h6); line-height: 1.4; }

.cr-hero-line:before,
.hr-about-funfact i,
.dgm-portfolio-content:after,
.hr-portfolio-link,
.tp-pricing-tab-item .ds-price-item.active {
  background-color: rgb(56, 88, 233);
}

.tp-team-thumb:after {
  background: linear-gradient(rgba(56, 88, 233, 0) 41.21%, rgb(56, 88, 233) 100%);
}

.tp-pricing-tab-item .ds-price-item.active .ds-price-item-tag span {
  color: rgb(56, 88, 233);
}

.tp-btn-green,
.tp-btn-green:hover,
.tp-circle-link,
.hr-portfolio-link {
  color: #fff;
}

.tp-btn-green.btn-white-bg,
.tp-btn-green.btn-white-bg:hover {
  color: var(--tp-common-black);
}

.tp-btn-green.btn-black-bg {
  color: var(--tp-grey-1);
}

a[href^="mailto:"],
.tp-footer-widget-info a {
  text-transform: none;
}

.tp-footer-4-col-4 .tp-btn-green {
  color: var(--tp-theme-primary);
}

/* Desktop hero thumbs: keep frames on-screen and match original hero crop. */
.tp-hero-header-wrap {
  z-index: 2;
  position: relative;
}

.tp-header-logo a,
.tp-offcanvas-logo a,
.tp-footer-logo a {
  display: inline-flex;
  align-items: center;
}

.tp-header-logo img.logo-white,
.tp-header-logo img.logo-black,
.tp-offcanvas-logo img.logo-1,
.tp-offcanvas-logo img.logo-2,
.tp-footer-logo img {
  width: 44px;
  height: auto;
  max-width: none;
}

.tp-hero-thumb-wrapper .tp-hero-thumb-1 img {
  max-width: inherit;
  width: 560px;
  height: auto;
  transform: translate(-12%, -7%) rotate(-14deg);
}

.tp-hero-thumb-wrapper .tp-hero-thumb-2 {
  background-size: 560px auto;
  background-position: 50% 100%;
  background-repeat: no-repeat;
}

.tp-hero-content-box p {
  max-width: 36rem;
  font-size: var(--fs-body);
  line-height: 1.65;
  letter-spacing: -0.01em;
}

.tp-hero-content-box p span {
  display: block;
}

/* Second (blue) ticker under the hero is removed from the page. */
.tp-text-slider-ptb {
  display: none;
}

.tp-service-area {
  padding-top: 8px;
  padding-bottom: 80px;
  background: #f4f5f8;
}

.tp-service-area .container > .row {
  display: flex;
  flex-direction: column;
}

.tp-service-area .container > .row > .col-lg-4,
.tp-service-area .container > .row > .col-lg-8 {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.tp-service-heading.tp-fixed-title {
  position: static;
  top: auto;
  width: auto;
  transform: none;
}

.tp-service-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.85fr);
  grid-template-rows: auto auto;
  column-gap: 48px;
  row-gap: 12px;
  align-items: end;
  max-width: none;
  width: 100%;
  margin-bottom: 48px;
}

.tp-service-heading .tp-section-subtitle {
  grid-column: 1;
  grid-row: 1;
  display: inline-block;
  margin-bottom: 0;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: var(--tp-common-black, #010103);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: uppercase;
}

.tp-service-heading .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.tp-service-heading .tp-section-title {
  grid-column: 1;
  grid-row: 2;
  font-size: var(--fs-h2);
  line-height: 1.12;
  letter-spacing: -0.045em;
  text-transform: none;
  margin-bottom: 0;
  color: #111;
}

.tp-service-heading p,
.tp-service-heading p .char,
.tp-service-heading p span {
  grid-column: 2;
  grid-row: 2;
  max-width: 38em;
  margin-bottom: 0;
  color: #111;
  font-size: var(--fs-body);
  line-height: 1.7;
  text-transform: none;
}

.tp-service-area,
.tp-service-area .container,
.tp-service-area .container > .row,
.tp-service-item-box,
.tp-service-item-box > .row,
.tp-service-item-box > .row > [class*="col-"] {
  overflow: visible;
}

.svc-stack-mark {
  display: block;
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  pointer-events: none;
}

.tp-service-item-box {
  padding-left: 0;
}

.tp-service-item-box > .row {
  display: block;
  margin-left: 0;
  margin-right: 0;
  isolation: isolate;
}

.tp-service-item-box > .row > [class*="col-"] {
  position: relative;
  width: 100%;
  max-width: 100%;
  flex: none;
  padding: 0;
  overflow-anchor: none;
}

.tp-service-item {
  position: relative;
  height: auto;
  margin-bottom: 0;
  padding: 40px 8px;
  box-sizing: border-box;
  border: 1px solid transparent;
  border-bottom: 1px dashed rgb(202, 202, 202);
  border-radius: 0;
  background: #fff;
  overflow: visible;
  display: block;
  box-shadow: none;
  transition: border-color 0.25s ease;
}

.tp-service-item-box > .row > [class*="col-"]:last-child .tp-service-item {
  border-bottom: 0;
}

.tp-service-item::before,
.tp-service-item::after {
  content: none;
  display: none;
}

.tp-service-item:hover {
  background: #fff;
  border: 1px solid rgba(56, 88, 233, 0.45);
  box-shadow: none;
}

.tp-service-item .row {
  align-items: flex-start;
}

.tp-service-number {
  padding-top: 10px;
}

.tp-service-number span {
  display: inline-block;
  color: #141414;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  visibility: hidden;
}

.tp-service-item-title {
  position: relative;
  z-index: 1;
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -0.04em;
  text-transform: none;
  margin-bottom: 18px;
  max-width: 16ch;
}

.tp-service-item-title a {
  color: #111;
  background: none;
}

.tp-service-item-title a::before,
.tp-service-item-title a::after,
.tp-service-item-title a.tp-line-lr::before,
.tp-service-item-title a.tp-line-lr::after {
  display: none;
  content: none;
}

.tp-service-content p,
.tp-service-item p {
  position: relative;
  z-index: 1;
  color: #111;
  font-size: var(--fs-lead);
  line-height: 1.56;
  text-transform: none;
  margin-bottom: 36px;
  max-width: 38em;
}

.tp-service-btn {
  margin-bottom: 28px;
}

.tp-service-btn .tp-btn-green {
  color: #fff;
  border-radius: 0;
}

.tp-service-category {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 6px;
}

.tp-service-category span {
  display: inline-block;
  padding: 9px 17px;
  border: 1px solid rgba(19, 22, 13, 0.1);
  border-radius: 20px;
  color: #111;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.tp-service-thumb {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.tp-service-thumb-panel,
.tp-service-thumb-panel img,
.tp-service-thumb img {
  border-radius: 0;
}

.tp-service-thumb-panel,
.tp-funfact-stat-icon {
  width: 72px;
  height: 72px;
  max-width: none;
  aspect-ratio: auto;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: rgb(56, 88, 233);
  color: #fff;
  box-shadow: none;
  flex-shrink: 0;
}

.tp-service-thumb img,
.tp-funfact-stat-icon svg {
  width: 36px;
  height: 36px;
  object-fit: contain;
  filter: none;
  stroke: #fff;
}

.tp-service-item:hover .tp-service-item-title a {
  color: rgb(56, 88, 233);
}

.tp-testimonial-ptb .tp-testimonial-slider-content p,
.tp-testimonial-ptb .tp-testimonial-slider-dsc-title,
.tp-testimonial-ptb .tp-testimonial-slider-dsc span {
  color: #fff;
}

.tp-faq-ptb {
  padding-top: 50px;
  padding-bottom: 80px;
}

.tp-faq-ptb > .container > .row {
  align-items: flex-start;
}

.tp-faq-title-box {
  text-align: left;
}

.tp-faq-title-box .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 14px;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: var(--tp-common-black, #010103);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: uppercase;
}

.tp-faq-title-box .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.tp-faq-title-box .tp-section-title {
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0;
  text-transform: none;
  color: #111;
  text-align: left;
}

.tp-faq-intro {
  margin: 16px 0 0;
  max-width: 34ch;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
  text-transform: none;
}

.tp-faq-ptb .accordion-buttons {
  cursor: pointer;
}

.tp-faq-ptb .accordion-collapse:not(.show) {
  display: none;
}

.tp-faq-ptb .accordion-collapse.show {
  display: block;
}

.tp-faq-ptb .tp-faq-accordion-wrap .accordion-items {
  border: 1px solid rgba(5, 3, 18, 0.12);
  border-radius: 0;
  background: #fff;
}

.tp-faq-ptb .tp-faq-accordion-wrap .accordion-items.active,
.tp-faq-ptb .tp-faq-accordion-wrap .accordion-items:has(.accordion-buttons:not(.collapsed)) {
  border-color: rgb(56, 88, 233);
}

.tp-faq-ptb .tp-faq-accordion-wrap .accordion-buttons {
  padding-right: 72px;
  color: #111;
}

.tp-faq-ptb .tp-faq-accordion-wrap .accordion-buttons:hover,
.tp-faq-ptb .tp-faq-accordion-wrap .accordion-buttons:not(.collapsed) {
  color: rgb(56, 88, 233);
}

.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  right: 20px;
  background: rgb(56, 88, 233);
  color: #fff;
  border-radius: 0;
}

.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon svg {
  display: none;
}

.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon::before,
.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
}

.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon::before {
  width: 12px;
  height: 2px;
}

.tp-faq-ptb .tp-faq-accordion-wrap .tp-accordion-icon::after {
  width: 2px;
  height: 12px;
}

.tp-faq-ptb .tp-faq-accordion-wrap .accordion-buttons:not(.collapsed) .tp-accordion-icon::after {
  opacity: 0;
}

.tp-funfact-ptb {
  padding-top: 140px;
  padding-bottom: 120px;
  background: #f4f5f8;
}

.tp-funfact-heading {
  max-width: 680px;
  margin-bottom: 48px;
}

.tp-funfact-heading .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 14px;
}

.tp-funfact-heading .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.tp-funfact-heading .tp-section-title {
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0;
}

.tp-funfact-wrap.tp-funfact-stats {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, 1fr);
  grid-template-rows: 1fr 1fr;
  gap: 18px;
  align-items: stretch;
  justify-content: stretch;
  border: 0;
}

.tp-funfact-stat {
  position: relative;
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 28px 28px 30px;
  border: 1px solid rgba(14, 14, 14, 0.08);
  border-radius: 0;
  background: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.tp-funfact-stat:hover {
  transform: translateY(-4px);
  border-color: rgba(56, 88, 233, 0.35);
  box-shadow: 0 20px 44px rgba(15, 18, 36, 0.08);
}

.tp-funfact-stat.is-metric {
  grid-row: span 2;
  padding: 36px 36px 40px;
}

.tp-funfact-stat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 22px;
}

.tp-funfact-stat-icon {
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  background: rgb(56, 88, 233);
  color: #fff;
  flex-shrink: 0;
}

.tp-funfact-stat-icon svg {
  width: 36px;
  height: 36px;
  stroke: #fff;
}

.tp-funfact-stat-index {
  display: none;
}

.tp-funfact-stat h4 {
  font-family: var(--tp-ff-bricolage), sans-serif;
  color: #0e0e0e;
  font-size: var(--fs-h4);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin: 0 0 6px;
}

.tp-funfact-stat.is-metric h4 {
  font-size: var(--fs-stat);
  line-height: 0.9;
  letter-spacing: -0.05em;
  margin-bottom: 14px;
}

.tp-funfact-stat.is-metric h4 span {
  color: var(--tp-theme-primary);
}

.tp-funfact-stat-title {
  display: block;
  margin-bottom: 10px;
  color: #0e0e0e;
  font-size: var(--fs-body);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
}

.tp-funfact-stat p {
  margin: 0;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
  max-width: 34ch;
}

.tp-funfact-stat.is-metric p {
  margin-top: auto;
  padding-top: 22px;
  border-top: 1px solid #ececec;
  max-width: none;
}

/* Header: only in-page links, sentence case, no chevrons */
.tp-header-menu > nav > ul > li {
  margin: 0 22px;
}

.tp-header-menu > nav > ul > li > a {
  text-transform: none;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
  color: #f5f7f5;
  font-family: inherit;
}

.header-sticky.sticky-white-bg {
  background: rgba(255, 255, 255, 0.96);
  z-index: 99;
}

.header-sticky.sticky-white-bg .tp-header-menu > nav > ul > li > a {
  color: #111;
}

.tp-header-bar button i,
.sticky-white-bg .tp-header-bar button i,
.header-sticky.sticky-white-bg .tp-header-bar button i {
  background-color: #fff;
}

.tp-header-dropdown nav ul li.has-dropdown > a:after,
.tp-header-menu .dropdown-btn {
  content: none;
  display: none;
}

.tp-header-menu > nav > ul > li.has-dropdown .tp-megamenu-wrapper {
  display: none;
}

#services,
#portfolio,
#pricing,
#wordpress-experience {
  scroll-margin-top: 110px;
}

/* Consulting-style hero, themed for this site */
.tp-hero-area.cst-hero-ptb {
  padding: 90px 0 0;
  background-color: #0b0c10;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: visible;
}

.cst-hero-thumb,
.cst-hero-thumb img {
  width: 100%;
  max-width: 100%;
  border-radius: 0;
  overflow: hidden;
}

.cst-hero-thumb img {
  height: 920px;
  object-fit: cover;
  object-position: center 18%;
  display: block;
}

.cst-hero-thumb-wrapper {
  position: relative;
  z-index: 1;
}

.cst-hero-wrapper {
  position: relative;
  margin-left: 55px;
  align-items: center;
}

.cst-hero-wrapper > .shape-1 {
  position: absolute;
  right: 0;
  bottom: -10%;
}

.cst-hero-left {
  margin-right: 30px;
}

.cst-hero-subtitle {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

@supports (writing-mode: sideways-lr) {
  .cst-hero-subtitle {
    writing-mode: sideways-lr;
    transform: none;
  }
}

.cst-hero-right {
  padding-left: 30px;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.cst-hero-ptb .cst-hero-title {
  color: #fff;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  margin-bottom: 18px;
  white-space: nowrap;
}

.cst-hero-text {
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-body);
  line-height: 1.65;
  font-weight: 400;
  letter-spacing: -0.01em;
  max-width: 34em;
  margin: 0 0 36px;
  font-family: inherit;
}

.cst-hero-btn-box {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
}

.cst-hero-btn-box .cst-hero-btn {
  flex: 0 0 auto;
}

.cst-hero-ptb .tp-btn-green {
  border-radius: 0;
  color: #fff;
  padding: 18px 24px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0;
  box-sizing: border-box;
  height: 56px;
  min-height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cst-hero-ptb .tp-btn-green.cst-btn-outline {
  background: transparent;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.cst-hero-ptb .tp-btn-green.cst-btn-outline:hover {
  background: rgb(56, 88, 233);
  border-color: rgb(56, 88, 233);
}

.cst-hero-slider-wrapper {
  position: relative;
  z-index: 0;
  margin-top: -130px;
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.cst-hero-marquee {
  overflow: hidden;
  width: 100%;
}

.cst-hero-marquee-track {
  display: flex;
  width: max-content;
  animation: cst-hero-marquee 32s linear infinite;
  will-change: transform;
}

.cst-hero-item {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 0 40px 0 0;
  flex: 0 0 auto;
}

.cst-hero-item::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  border: 3px solid #fff;
}

.cst-hero-item-title {
  margin: 0;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: -0.36px;
  white-space: nowrap;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
}

@keyframes cst-hero-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Consulting footer */
.cst-footer-area {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  overflow: visible;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background-color: #070b1a;
  background-image: url("../img/digital-agency/footer/footer-1-bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ced4e9;
  padding: 100px 0 0;
}

.cst-footer-inner {
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px 130px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(160px, 0.55fr) minmax(180px, 0.7fr) minmax(240px, 1fr);
  gap: 40px 25px;
  align-items: start;
}

.cst-footer-logo a {
  display: inline-flex;
  align-items: center;
}

.cst-footer-logo img {
  width: 48px;
  height: auto;
  max-width: none;
}

.cst-footer-intro {
  max-width: 280px;
  margin: 10px 0 18px;
  color: #ced4e9;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.cst-footer-social {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cst-footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111;
  box-shadow: none;
}

.cst-footer-social a:hover {
  background: rgb(56, 88, 233);
  border-color: rgb(56, 88, 233);
  color: #fff;
}

.cst-footer-social svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.cst-footer-col-title {
  margin: 0 0 22px;
  color: #fff;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.2px;
  text-transform: uppercase;
}

.cst-footer-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cst-footer-menu li {
  position: relative;
  padding-left: 12px;
}

.cst-footer-menu li:not(:last-child) {
  margin-bottom: 10px;
}

.cst-footer-menu li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #61616a;
  transform: translateY(-50%);
}

.cst-footer-menu a {
  color: rgba(255, 255, 255, 0.6);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: -0.16px;
  text-decoration: none;
}

.cst-footer-menu a:hover {
  color: #fff;
}

.cst-footer-help-label {
  margin: 0 0 6px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -0.2px;
}

.cst-footer-help-label:not(:first-child) {
  margin-top: 22px;
}

.cst-footer-help-link {
  display: inline-block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -0.32px;
  text-transform: none;
  text-decoration: none;
}

.cst-footer-help-link:hover {
  color: #b4e717;
}

.cst-footer-note {
  max-width: 280px;
  margin: 0 0 22px;
  color: #ced4e9;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

.cst-footer-form {
  position: relative;
  max-width: 360px;
}

.cst-footer-form input {
  width: 100%;
  height: 60px;
  padding: 0 128px 0 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font-size: 15px;
  outline: none;
}

.cst-footer-form input::placeholder {
  color: #a1a4aa;
}

.cst-footer-form input:focus {
  border-color: rgba(56, 88, 233, 0.7);
}

.cst-footer-form button {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 8px;
  background: rgb(56, 88, 233);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  transform: translateY(-50%);
  cursor: pointer;
}

.cst-footer-form button:hover {
  background: rgb(45, 74, 210);
}

.cst-footer-copy {
  margin: 0;
  padding: 32px 15px 56px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: #ced4e9;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  text-align: center;
}

.cst-footer-copy a {
  color: #fff;
  text-decoration: none;
}

/* Metro-light portfolio */
.cst-metro-area {
  padding: 140px 0;
  background: #fff;
  color: #111013;
  scroll-margin-top: 90px;
}

.cst-metro-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px 64px;
  margin-bottom: 48px;
}

.cst-metro-heading-copy {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 680px;
}

.cst-metro-head .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 14px;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: var(--tp-common-black, #010103);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: uppercase;
}

.cst-metro-head .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.cst-metro-head .tp-section-title {
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0;
  text-transform: none;
  color: #111;
}

.cst-metro-intro {
  flex: 0 1 460px;
  margin: 0;
  max-width: 38em;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
  text-transform: none;
}

.cst-metro-item {
  margin-bottom: 88px;
  padding: 28px;
  border: 1px solid rgb(56, 88, 233);
}

.cst-metro-item > .row {
  align-items: center;
}

.cst-metro-item:last-child {
  margin-bottom: 0;
}

.cst-metro-content {
  max-width: none;
  padding: 40px 36px;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, 0.08);
  border-radius: 0;
  box-shadow: none;
}

.cst-metro-title {
  margin: 0 0 12px;
  color: #0e0f11;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  text-transform: none;
}

.cst-metro-title a {
  color: inherit;
  text-decoration: none;
}

.cst-metro-title a:hover {
  color: rgb(56, 88, 233);
}

.cst-metro-copy {
  margin: 0 0 24px;
  max-width: 42ch;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
}

.cst-metro-tools {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 8px 0 24px;
  padding-top: 20px;
  border-top: 1px solid #e5e7eb;
}

.cst-metro-tool {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  text-align: center;
  border-right: 0;
  border-left: 1px solid #e5e7eb;
}

.cst-metro-tool:first-child {
  padding-left: 0;
  border-left: 0;
}

.cst-metro-tool:last-child {
  padding-right: 0;
}

.cst-metro-tool .cst-metro-tool-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  background: #dbeafe;
  color: rgb(56, 88, 233);
  border-radius: 0;
}

.cst-metro-tool-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
}

.cst-metro-tool-icon .cst-metro-acf-icon {
  width: 24px;
  height: auto;
}

.cst-metro-tool-icon .cst-metro-stroke-icon {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cst-metro-tool > span:not(.cst-metro-tool-icon) {
  color: #111013;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

.cst-metro-features {
  margin: 0 0 24px;
  padding: 20px 22px;
  background: #eef1fd;
}

.cst-metro-features-label {
  display: block;
  margin-bottom: 12px;
  color: rgb(56, 88, 233);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cst-metro-features ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cst-metro-features li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  color: #111013;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}

.cst-metro-features li:last-child {
  margin-bottom: 0;
}

.cst-metro-features li svg {
  display: none;
}

.cst-metro-features li::before {
  content: "";
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-top: 0;
  border-radius: 50%;
  background-color: rgb(56, 88, 233);
}

.cst-metro-content .tp-btn-green,
.cst-cta-form .tp-btn-green,
.cst-cta-copy .tp-btn-green {
  color: #fff;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background-color: rgb(56, 88, 233);
  border: 0;
  cursor: pointer;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
}

.cst-metro-thumb {
  position: relative;
  border: 1px solid #e5e7eb;
}

.cst-metro-thumb img {
  width: 100%;
  max-width: none;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
  object-position: top center;
  border-radius: 0;
  display: block;
}

.cst-testimonial-ptb.pt-110 {
  overflow: hidden;
  background: #fff;
  padding-top: 80px;
}

.cst-testimonial-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  max-width: none;
  margin-bottom: 48px;
}

.cst-testimonial-heading-copy {
  max-width: 680px;
}

.cst-testimonial-heading .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 14px;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: var(--tp-common-black, #010103);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: uppercase;
}

.cst-testimonial-heading .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.cst-testimonial-heading .tp-section-title {
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.03em;
  margin-bottom: 0;
  text-transform: none;
  color: #111;
}

.cst-testimonial-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  margin-bottom: 4px;
}

.cst-testimonial-prev,
.cst-testimonial-next {
  display: inline-grid;
  place-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(17, 16, 19, 0.16);
  border-radius: 0;
  background: #fff;
  color: #111013;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.cst-testimonial-prev:hover,
.cst-testimonial-next:hover,
.cst-testimonial-prev:focus-visible,
.cst-testimonial-next:focus-visible {
  background: rgb(56, 88, 233);
  border-color: rgb(56, 88, 233);
  color: #fff;
  outline: none;
}

.cst-testimonial-item {
  position: relative;
  padding: 45px;
  opacity: 0.97;
  display: flex;
  min-height: 495px;
  border-radius: 0;
  flex-direction: column;
  backdrop-filter: blur(5px);
  justify-content: space-between;
  border: 1px solid rgba(20, 20, 20, 0.08);
  background: #fff;
}

.cst-testimonial-item-shape {
  display: none;
}

.cst-testimonial-item-icon {
  margin-bottom: 30px;
}

.cst-testimonial-item-icon span {
  display: inline-grid;
  place-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgb(56, 88, 233);
}

.cst-testimonial-item-text {
  margin-bottom: 70px;
}

.cst-testimonial-item-text p {
  font-size: var(--fs-h5);
  font-weight: 500;
  line-height: 1.56;
  letter-spacing: -0.88px;
  color: #2e2d2d;
  margin: 0;
}

.cst-testimonial-item-user {
  gap: 16px;
  display: flex;
  align-items: center;
}

.cst-testimonial-item-user-thumb img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 50%;
}

.cst-testimonial-item-user-content h4 {
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 2px;
  color: #0e0f11;
}

.cst-testimonial-item-user-content span {
  font-size: 16px;
  color: rgba(5, 3, 18, 0.8);
}

.cst-testimonial-item-shape {
  position: absolute;
  top: 20px;
  right: 30px;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease-in-out;
}

.cst-testimonial-slider-wrapper {
  margin-top: 10px;
  margin-right: -300px;
}

.cst-testimonial-slider.swiper {
  overflow: hidden;
}

.cst-testimonial-slider .swiper-wrapper {
  display: flex;
  box-sizing: content-box;
}

.cst-testimonial-slider .swiper-slide {
  flex-shrink: 0;
  height: auto;
}

.cst-testimonial-slider-wrapper .dgm-testimonial-dot,
.cst-testimonial-slider-wrapper .dgm-testimonial-dot.swiper-pagination {
  position: static;
  left: auto;
  right: auto;
  bottom: auto;
  width: auto;
  transform: none;
  padding: 55px 300px 0 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}

.cst-testimonial-slider-wrapper .dgm-testimonial-dot .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  opacity: 1;
  margin: 0;
  transition: 0.3s;
  border-radius: 50%;
  display: inline-block;
  background-color: #e1e5e4;
  border: 1px solid #e1e5e4;
}

.cst-testimonial-slider-wrapper .dgm-testimonial-dot .swiper-pagination-bullet.swiper-pagination-bullet-active {
  border-color: #3858e9;
  background-color: #3858e9;
}

/* Consulting-style CTA */
.cst-cta-ptb {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 56px 0 72px;
  background-color: #fff;
  background-image: none;
  overflow: hidden;
}

.cst-cta-wrap {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 48px 72px;
  align-items: center;
  min-height: 0;
  overflow: visible;
  padding: 56px 56px 48px;
  background: #fff;
  border: 0;
  border-top: 1px solid rgba(5, 3, 18, 0.12);
  border-radius: 0;
  box-shadow: none;
}

.cst-cta-card {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  max-width: 480px;
  margin: 0;
  padding: 36px 32px 32px;
  background: #f4f5f8;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.cst-cta-card .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 10px;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: var(--tp-common-black, #010103);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: normal;
  text-transform: none;
}

.cst-cta-card .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: var(--tp-theme-primary);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.cst-cta-card .tp-section-title {
  margin: 0 0 8px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h2);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #141414;
}

.cst-cta-intro {
  margin: 0 0 22px;
  max-width: 32em;
  color: rgb(102, 102, 108);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.55;
}

.cst-cta-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}

.cst-cta-fields .tp-contact-form-input input {
  padding: 0 14px;
}

.cst-cta-fields .cst-select-toggle {
  padding: 0 36px 0 14px;
}

.cst-cta-form .tp-contact-form-input {
  margin-bottom: 20px;
}

.cst-cta-form .tp-contact-form-input label {
  display: inline-block;
  margin-bottom: 4px;
  color: #111013;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
}

.cst-cta-form .tp-contact-form-input input,
.cst-cta-form .tp-contact-form-input textarea {
  width: 100%;
  display: block;
  border: 1px solid rgba(5, 3, 18, 0.1);
  border-radius: 0;
  background: #fff;
  color: #141414;
  font-size: 16px;
  font-weight: 400;
  box-shadow: none;
  outline: none;
}

.cst-cta-form .tp-contact-form-input input {
  height: 50px;
  padding: 0 26px;
  line-height: 50px;
}

.cst-select {
  position: relative;
  z-index: 1;
}

.cst-select.is-open {
  z-index: 8;
}

.cst-select-toggle {
  position: relative;
  width: 100%;
  height: 50px;
  padding: 0 40px 0 16px;
  overflow: hidden;
  border: 1px solid rgba(5, 3, 18, 0.1);
  border-radius: 0;
  background: #fff;
  color: #141414;
  font-size: 16px;
  font-weight: 400;
  line-height: 50px;
  text-align: left;
  box-shadow: none;
  outline: none;
  cursor: pointer;
}

.cst-select-value {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cst-select-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-right: 1.5px solid #141414;
  border-bottom: 1.5px solid #141414;
  transform: rotate(45deg);
  pointer-events: none;
}

.cst-select.is-open .cst-select-toggle::after {
  margin-top: -2px;
  transform: rotate(-135deg);
}

.cst-select-value.is-placeholder {
  color: rgba(20, 20, 20, 0.45);
}

.cst-select-list {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #fff;
  border: 1px solid rgba(5, 3, 18, 0.1);
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(17, 16, 19, 0.08);
}

.cst-select-list[hidden] {
  display: none;
}

.cst-select-list li {
  padding: 10px 26px;
  color: #141414;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;
  background: #fff;
}

.cst-select-list li:hover,
.cst-select-list li[aria-selected="true"] {
  background: #eef1fd;
  color: rgb(56, 88, 233);
}

.cst-select.is-open .cst-select-toggle,
.cst-select.is-invalid .cst-select-toggle {
  border-color: rgb(56, 88, 233);
}

.cst-select.is-invalid .cst-select-toggle {
  border-color: #d92d20;
}

.cst-cta-form .tp-contact-form-input textarea {
  height: 125px;
  min-height: 125px;
  padding: 17px 26px;
  line-height: 1.4;
  resize: none;
}

.cst-cta-form .tp-contact-form-input input::placeholder,
.cst-cta-form .tp-contact-form-input textarea::placeholder {
  color: rgba(20, 20, 20, 0.45);
}

.cst-cta-form .tp-contact-form-input input:focus,
.cst-cta-form .tp-contact-form-input textarea:focus,
.cst-select-toggle:focus {
  border-color: rgb(56, 88, 233);
}

.cst-cta-copy {
  min-width: 0;
  max-width: none;
  grid-column: 1;
  grid-row: 1;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.cst-cta-kicker {
  display: inline-flex;
  align-items: center;
  margin: 0 0 22px;
  color: #141414;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cst-cta-kicker::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 2px;
  margin-right: 12px;
  border-radius: 0;
  background: rgb(56, 88, 233);
  vertical-align: middle;
  position: relative;
  top: 0;
}

.cst-cta-copy .tp-section-title {
  margin: 0 0 18px;
  max-width: 9em;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: #111;
}

.cst-cta-copy-intro {
  margin: 0 0 32px;
  max-width: 32em;
  color: #5c5c66;
  font-size: var(--fs-lead);
  font-weight: 400;
  line-height: 1.55;
}

.cst-cta-benefits {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin: 0 0 32px;
  padding: 0;
  list-style: none;
}

.cst-cta-benefits li {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: #111013;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
}

.cst-cta-benefits strong {
  font-weight: 600;
}

.cst-cta-benefit-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 0;
  background: rgb(56, 88, 233);
  color: #fff;
}

.cst-cta-benefit-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cst-cta-benefit-icon svg path,
.cst-cta-benefit-icon svg rect {
  fill: none;
  stroke: currentColor;
}

.cst-cta-btn-wrap {
  margin-top: 4px;
}

.cst-cta-btn-wrap .tp-btn-green,
.cst-cta-copy > .tp-btn-green {
  min-width: 180px;
}

.cst-cta-proof {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 8px 0 8px 48px;
  background: transparent;
  border-top: 0;
  border-left: 1px solid #e6e8ee;
  list-style: none;
}

.cst-cta-proof li {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 0;
  border-right: 0;
  border-bottom: 1px solid #e6e8ee;
}

.cst-cta-proof li:first-child {
  padding-top: 0;
  padding-left: 0;
}

.cst-cta-proof li:last-child {
  padding-right: 0;
  padding-bottom: 0;
  border-right: 0;
  border-bottom: 0;
}

.cst-cta-proof-icon {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 0;
  background: rgb(56, 88, 233);
  color: #fff;
}

.cst-cta-proof-icon svg {
  width: 32px;
  height: 32px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cst-cta-proof-icon svg path,
.cst-cta-proof-icon svg circle {
  fill: none;
  stroke: currentColor;
}

.cst-cta-proof strong {
  display: block;
  margin: 0 0 4px;
  color: #111;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}

.cst-cta-proof li > div span {
  display: block;
  color: #5c5c66;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

/* Contact page */
.cst-contact-page {
  background: #fff;
}

.cst-contact-page .tp-header-area {
  background: rgba(255, 255, 255, 0.96);
}

.cst-contact-page .tp-header-area .logo-white {
  display: none;
}

.cst-contact-page .tp-header-area .logo-black {
  display: block;
}

.cst-contact-page .tp-header-menu > nav > ul > li > a {
  color: #111;
}

.cst-contact-ptb {
  padding: 160px 0 100px;
  background: #f4f5f8;
}

.cst-contact-wrap {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: stretch;
  max-width: 1080px;
  margin: 0 auto;
}

.cst-contact-copy {
  background: rgb(56, 88, 233);
  padding: 48px 40px;
  color: #fff;
}

.cst-talk-title {
  margin: 0 0 48px;
  max-width: 12ch;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.045em;
  color: #fff;
}

.cst-talk-aside-block {
  margin-bottom: 36px;
}

.cst-talk-label {
  margin: 0 0 10px;
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--fs-lead);
  font-weight: 400;
  line-height: 1.4;
}

.cst-talk-link {
  display: table;
  margin: 0 0 8px;
  color: #fff;
  font-size: var(--fs-h5);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.02em;
  text-decoration: underline;
  text-underline-offset: 6px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(255, 255, 255, 0.55);
}

.cst-talk-link:hover {
  color: #fff;
  text-decoration-color: #fff;
}

.cst-talk-form-col {
  background: #fff;
  padding: 48px 40px 40px;
}

.cst-talk-form-title {
  margin: 0 0 22px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.03em;
  color: #141414;
}

.cst-talk-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 48px;
}

.cst-talk-chip {
  display: inline-flex;
  margin: 0;
  cursor: pointer;
}

.cst-talk-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.cst-talk-chip span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 18px;
  border: 1px solid rgb(56, 88, 233);
  border-radius: 0;
  background: transparent;
  color: rgb(56, 88, 233);
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.01em;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.cst-talk-chip:hover span {
  border-color: rgb(56, 88, 233);
  color: rgb(56, 88, 233);
}

.cst-talk-chip input:focus-visible + span {
  outline: 2px solid rgb(56, 88, 233);
  outline-offset: 2px;
}

.cst-talk-chip input:checked + span {
  background: rgb(56, 88, 233);
  border-color: rgb(56, 88, 233);
  color: #fff;
}

.cst-talk-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 28px;
  margin-bottom: 8px;
}

.cst-talk-field {
  margin-bottom: 22px;
}

.cst-talk-field-full {
  margin-bottom: 32px;
}

.cst-talk-field label {
  display: block;
  margin: 0 0 8px;
  color: rgba(20, 20, 20, 0.8);
  font-size: 16px;
  font-weight: 500;
}

.cst-talk-field label i {
  font-style: normal;
  color: rgb(56, 88, 233);
}

.cst-talk-field input,
.cst-talk-field textarea {
  width: 100%;
  display: block;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 1px solid rgba(56, 88, 233, 0.45);
  border-radius: 0;
  background: transparent;
  color: #141414;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 18px;
  font-weight: 400;
  outline: none;
  box-shadow: none;
}

.cst-talk-field textarea {
  min-height: 88px;
  padding-top: 8px;
  resize: vertical;
}

.cst-talk-field input::placeholder,
.cst-talk-field textarea::placeholder {
  color: rgba(20, 20, 20, 0.35);
}

.cst-talk-field input:focus,
.cst-talk-field textarea:focus {
  border-bottom-color: rgb(56, 88, 233);
}

.cst-captcha {
  margin-bottom: 28px;
}

.cst-captcha-row {
  display: flex;
  align-items: center;
  gap: 18px;
}

.cst-captcha-sum {
  flex: 0 0 auto;
  color: #141414;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1;
  white-space: nowrap;
}

.cst-captcha input[name="captcha_answer"] {
  max-width: 96px;
}

.cst-talk-form .cst-cta-btn-wrap {
  margin-top: 8px;
}

.cst-talk-form .tp-btn-green {
  color: #fff;
  border-radius: 0;
}

.cst-contact-page .cst-cta-ptb {
  background-color: #fff;
  background-image: none;
}

/* Services page */
.cst-services-page,
.cst-portfolio-page {
  background: #fff;
}

.cst-services-page .tp-service-area {
  padding-top: 80px;
}

.cst-services-page .tp-service-area .container > .row > .col-lg-4 {
  display: none;
}

.cst-services-page .tp-service-item {
  scroll-margin-top: 120px;
}

.cst-services-page .cst-cta-ptb {
  background-color: #fff;
  background-image: none;
}

.cst-svc-list {
  padding: 80px 0 40px;
  background: #f4f5f8;
}

.cst-svc-card {
  padding: 40px;
  margin-bottom: 24px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  background: #fff;
}

.cst-svc-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}

.cst-svc-num {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #8a8a90;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.cst-svc-num::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(56, 88, 233);
}

.cst-svc-card h2 {
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #141414;
  margin: 0 0 12px;
}

.cst-svc-card > p {
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
  max-width: 54em;
  margin: 0 0 28px;
}

.cst-svc-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  gap: 32px 48px;
  margin-bottom: 28px;
}

.cst-svc-card h3 {
  font-size: var(--fs-h3);
  font-weight: 700;
  color: #141414;
  margin: 0 0 12px;
}

.cst-svc-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cst-svc-card ul li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 8px;
  color: #5c5c66;
  font-size: 15px;
  line-height: 1.55;
}

.cst-svc-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgb(56, 88, 233);
}

.cst-svc-card .tp-service-category {
  margin-bottom: 28px;
}

.cst-svc-card .tp-btn-green {
  color: #fff;
  border-radius: 0;
}

.cst-svc-process {
  padding: 80px 0 40px;
  background: #f4f5f8;
}

.cst-svc-process-head {
  max-width: 680px;
  margin-bottom: 40px;
}

.cst-svc-process-head .tp-section-title {
  margin: 0;
}

.cst-svc-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.cst-svc-step {
  display: flex;
  flex-direction: column;
  padding: 36px 32px 32px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
}

.cst-svc-step span {
  display: block;
  margin: 0 0 28px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-display);
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.85;
  color: rgb(56, 88, 233);
}

.cst-svc-step h3 {
  margin: 0 0 10px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h3);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #141414;
}

.cst-svc-step p {
  margin: 0;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.55;
}

.cst-services-page .tp-hero-area.cst-hero-ptb,
.cst-portfolio-page .tp-hero-area.cst-hero-ptb,
.cst-pricing-page .tp-hero-area.cst-hero-ptb {
  padding: 148px 0 0;
  background-color: #0b0c10;
  background-image: url("../img/digital-agency/hero/cst-hero-bg.jpg?v=cst1");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.cst-services-page .cst-hero-wrapper,
.cst-portfolio-page .cst-hero-wrapper,
.cst-pricing-page .cst-hero-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  column-gap: 56px;
  row-gap: 28px;
  align-items: end;
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 8px 0 88px;
  text-align: left;
}

.cst-services-page .cst-hero-wrapper > .shape-1,
.cst-portfolio-page .cst-hero-wrapper > .shape-1,
.cst-pricing-page .cst-hero-wrapper > .shape-1 {
  display: none;
}

.cst-services-page .cst-hero-left,
.cst-portfolio-page .cst-hero-left,
.cst-pricing-page .cst-hero-left {
  grid-column: 1 / -1;
  grid-row: 1;
  margin: 0;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.cst-services-page .cst-hero-subtitle,
.cst-portfolio-page .cst-hero-subtitle,
.cst-pricing-page .cst-hero-subtitle {
  writing-mode: horizontal-tb;
  transform: none;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.cst-services-page .cst-hero-subtitle::before,
.cst-portfolio-page .cst-hero-subtitle::before,
.cst-pricing-page .cst-hero-subtitle::before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 2px;
  margin-right: 12px;
  border-radius: 0;
  background: rgb(56, 88, 233);
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.cst-services-page .cst-hero-right,
.cst-portfolio-page .cst-hero-right,
.cst-pricing-page .cst-hero-right {
  display: contents;
  padding-left: 0;
  border-left: 0;
}

.cst-services-page .cst-hero-heading,
.cst-portfolio-page .cst-hero-heading,
.cst-pricing-page .cst-hero-heading {
  display: contents;
}

.cst-services-page .cst-hero-ptb .cst-hero-title,
.cst-portfolio-page .cst-hero-ptb .cst-hero-title,
.cst-pricing-page .cst-hero-ptb .cst-hero-title {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  max-width: 7.4em;
  margin: 0;
  font-size: var(--fs-h1);
  line-height: 0.96;
  letter-spacing: -0.045em;
  white-space: normal;
}

.cst-services-page .cst-hero-text,
.cst-portfolio-page .cst-hero-text,
.cst-pricing-page .cst-hero-text {
  grid-column: 2;
  grid-row: 2;
  align-self: end;
  max-width: 28em;
  margin: 0;
}

.cst-services-page .cst-hero-btn-box,
.cst-portfolio-page .cst-hero-btn-box,
.cst-pricing-page .cst-hero-btn-box {
  grid-column: 2;
  grid-row: 3;
  justify-content: flex-start;
  margin-top: 0;
}

.cst-services-page .cst-hero-slider-wrapper,
.cst-portfolio-page .cst-hero-slider-wrapper,
.cst-pricing-page .cst-hero-slider-wrapper {
  margin-top: 0;
  padding: 22px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.cst-services-page .cst-hero-item::before,
.cst-portfolio-page .cst-hero-item::before,
.cst-pricing-page .cst-hero-item::before {
  width: 7px;
  height: 7px;
  border: 0;
  background: rgb(56, 88, 233);
}

.cst-portfolio-page .cst-metro-area {
  padding-bottom: 72px;
}

.cst-wl-note {
  display: flex;
  justify-content: center;
  padding: 48px 0 96px;
  background: #fff;
}

.cst-wl-note > .container {
  width: min(1080px, calc(100% - 40px));
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.cst-wl-note-card {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 56px;
  align-items: center;
  width: 100%;
  max-width: 1080px;
  min-height: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 48px;
  border: 1px solid rgba(20, 20, 20, 0.08);
  text-align: left;
  background: #fff;
  box-shadow: none;
}

.cst-wl-note-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1;
  background: #e7f0fb;
  border-radius: 0;
  color: rgb(56, 88, 233);
}

.cst-wl-note-shield {
  width: 46%;
  height: auto;
}

.cst-wl-note-lines {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cst-wl-note-lines i {
  display: block;
  width: 34px;
  height: 3px;
  border-radius: 2px;
  background: currentColor;
}

.cst-wl-note-lines i:last-child {
  width: 22px;
}

.cst-wl-note-lines:first-child i:last-child {
  margin-left: auto;
}

.cst-wl-note-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: 0;
  background: transparent;
  color: #1a1a1a;
  text-align: left;
}

.cst-wl-note-kicker {
  display: block;
  margin-bottom: 12px;
  color: rgb(56, 88, 233);
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.cst-wl-note-copy .tp-section-title {
  margin: 0 0 16px;
  max-width: none;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h2);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #111;
  text-transform: none;
}

.cst-wl-note-copy p {
  margin: 0 0 26px;
  max-width: 40em;
  color: #2c2c2c;
  font-size: var(--fs-lead);
  line-height: 1.7;
}

.cst-wl-note-copy .tp-btn-green {
  border-radius: 0;
  color: #fff;
}

.cst-price-area {
  padding: 72px 0 80px;
  background: #f4f5f8;
}

.cst-price-head {
  max-width: 680px;
  margin-bottom: 48px;
}

.cst-price-head .tp-section-subtitle {
  display: inline-block;
  margin-bottom: 14px;
  padding: 0;
  width: fit-content;
  border-radius: 0;
  background: none;
  color: #010103;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: normal;
  text-transform: uppercase;
}

.cst-price-head .tp-section-subtitle::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 8px;
  border-radius: 50%;
  background-color: rgb(56, 88, 233);
  vertical-align: middle;
  position: relative;
  top: -1px;
}

.cst-price-head .tp-section-title {
  margin: 0 0 16px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h2);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.03em;
  color: #111;
}

.cst-price-head p {
  margin: 0;
  max-width: 36em;
  color: #5c5c66;
  font-size: var(--fs-body);
  line-height: 1.65;
}

.cst-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.cst-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 32px 28px 28px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
}

.cst-price-index {
  display: block;
  margin: 0 0 22px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h1);
  font-weight: 800;
  line-height: 0.85;
  letter-spacing: -0.06em;
  color: rgb(56, 88, 233);
}

.cst-price-name-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.cst-price-name {
  display: block;
  margin-bottom: 14px;
  color: #141414;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.cst-price-name-row .cst-price-name {
  margin-bottom: 0;
}

.cst-price-badge {
  position: static;
  transform: none;
  padding: 6px 8px;
  background: rgb(56, 88, 233);
  color: #fff;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cst-price-amount {
  margin: 0;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: var(--fs-h3);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.04em;
  color: #111;
}

.cst-price-unit,
.cst-price-copy {
  color: #5c5c66;
  font-size: 16px;
  line-height: 1.55;
}

.cst-price-unit {
  margin: 8px 0 0;
  font-weight: 600;
  color: #141414;
}

.cst-price-copy {
  margin: 14px 0 0;
}

.cst-price-list {
  margin: 22px 0 28px;
  padding: 18px 0 0;
  list-style: none;
  border-top: 1px solid #e5e7eb;
}

.cst-price-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 12px;
  color: #141414;
  font-size: 15px;
  line-height: 1.45;
}

.cst-price-list svg {
  flex: 0 0 18px;
  margin-top: 2px;
}

.cst-price-card .tp-btn-green {
  width: 100%;
  margin-top: auto;
  align-self: stretch;
  justify-content: center;
  border-radius: 0;
  color: #fff;
  background: rgb(56, 88, 233);
  padding-left: 12px;
  padding-right: 12px;
  font-size: 14px;
}

.cst-price-card.is-featured {
  background: rgb(56, 88, 233);
  border-color: rgb(56, 88, 233);
}

.cst-price-card.is-featured .cst-price-index {
  color: #fff;
}

.cst-price-card.is-featured .cst-price-name,
.cst-price-card.is-featured .cst-price-amount,
.cst-price-card.is-featured .cst-price-unit,
.cst-price-card.is-featured .cst-price-list li {
  color: #fff;
}

.cst-price-card.is-featured .cst-price-copy {
  color: rgba(255, 255, 255, 0.78);
}

.cst-price-card.is-featured .cst-price-badge {
  background: #fff;
  color: rgb(56, 88, 233);
}

.cst-price-card.is-featured .cst-price-list {
  border-top-color: rgba(255, 255, 255, 0.22);
}

.cst-price-card.is-featured .cst-price-list svg circle,
.cst-price-card.is-featured .cst-price-list svg path {
  stroke: #fff;
}

.cst-price-card.is-featured .tp-btn-green,
.cst-price-card.is-featured .tp-btn-green:hover {
  background: #fff;
  color: rgb(56, 88, 233);
}

/* Mobile performance: cut paint/filter cost + pause decorative motion */

@media (prefers-reduced-motion: reduce) {
  .cst-hero-marquee-track {
    animation: none !important;
  }
}

.cst-whatsapp {
  display: none !important;
}

.back-to-top-wrapper,
#back_to_top {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.cst-cookie {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 10050;
  display: flex;
  align-items: center;
  gap: 20px;
  width: min(560px, calc(100% - 104px));
  margin: 0;
  padding: 32px 24px;
  background: #fff;
  border: 1px solid rgba(5, 3, 18, 0.12);
  box-shadow: 0 12px 32px rgba(7, 11, 26, 0.12);
  pointer-events: auto;
}

.cst-cookie[hidden] {
  display: none;
}

.cst-cookie p {
  margin: 0;
  color: #2c2c2c;
  font-size: var(--fs-body);
  line-height: 1.5;
}

.cst-cookie-actions {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}

.cst-cookie-accept,
.cst-cookie-decline {
  position: relative;
  z-index: 1;
  border-radius: 0;
  padding: 16px 20px;
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  pointer-events: auto;
}

.cst-cookie-accept {
  border: 0;
  background: rgb(56, 88, 233);
  color: #fff;
}

.cst-cookie-accept:hover {
  background: rgb(45, 74, 210);
  color: #fff;
}

.cst-cookie-decline {
  border: 1px solid rgba(5, 3, 18, 0.12);
  background: #fff;
  color: #111;
}

.cst-cookie-decline:hover {
  border-color: rgb(56, 88, 233);
  color: rgb(56, 88, 233);
}

body.cst-contact-thanks main {
  display: none;
}

.cst-thanks {
  display: none;
}

body.cst-contact-thanks .cst-thanks {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 280px);
  padding: 180px 24px 120px;
  background: #fff;
  text-align: center;
}

.cst-thanks-copy {
  max-width: 640px;
}

.cst-thanks h1 {
  margin: 0 0 18px;
  color: #111;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1;
}

.cst-thanks p {
  margin: 0 auto;
  max-width: 28em;
  color: #2c2c2c;
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.cst-404-page,
.cst-offline-page {
  background: #fff;
}

.cst-404-page .tp-header-area,
.cst-offline-page .tp-header-area {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 120;
  margin-top: 0;
  background: #0b0c10;
  animation: none;
}

.cst-404-page .tp-header-area .logo-white,
.cst-offline-page .tp-header-area .logo-white,
.cst-404-page .header-sticky.sticky-white-bg .logo-white,
.cst-offline-page .header-sticky.sticky-white-bg .logo-white {
  display: block;
}

.cst-404-page .tp-header-area .logo-black,
.cst-offline-page .tp-header-area .logo-black,
.cst-404-page .header-sticky.sticky-white-bg .logo-black,
.cst-offline-page .header-sticky.sticky-white-bg .logo-black {
  display: none;
}

.cst-404-page .tp-header-menu > nav > ul > li > a,
.cst-offline-page .tp-header-menu > nav > ul > li > a,
.cst-404-page .header-sticky.sticky-white-bg .tp-header-menu > nav > ul > li > a,
.cst-offline-page .header-sticky.sticky-white-bg .tp-header-menu > nav > ul > li > a {
  color: #f5f7f5;
}

.cst-404-page .tp-header-bar button i,
.cst-offline-page .tp-header-bar button i {
  background-color: #fff;
}

.cst-404-page .cst-404 {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 280px);
  padding: 180px 24px 120px;
  background-color: #fff;
  background-image: none;
  text-align: center;
}

.cst-404-copy {
  max-width: 640px;
}

.cst-404-kicker {
  margin: 0 0 16px;
  color: rgb(56, 88, 233);
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.cst-404 h1 {
  margin: 0 0 18px;
  color: #111;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1;
}

.cst-404-copy p {
  margin: 0 auto 32px;
  max-width: 34em;
  color: #2c2c2c;
  font-size: var(--fs-lead);
  line-height: 1.6;
}

.cst-404 .tp-btn-green,
.cst-offline .tp-btn-green,
.cst-offline-screen .tp-btn-green {
  border-radius: 0;
  color: #fff;
}

.cst-offline-page .cst-offline,
.cst-offline-screen {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 180px 24px 120px;
  background-color: #fff;
  background-image: none;
  text-align: center;
  color: #111;
}

.cst-offline-page .cst-offline {
  min-height: calc(100vh - 280px);
}

.cst-offline-screen {
  position: fixed;
  inset: 0;
  z-index: 20000;
  min-height: 100vh;
  padding: 32px 24px;
}

.cst-offline-copy {
  max-width: 640px;
}

.cst-offline-kicker {
  margin: 0 0 16px;
  color: rgb(56, 88, 233);
  font-family: var(--tp-ff-bricolage), var(--tp-ff-heading), sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1;
  text-transform: uppercase;
}

.cst-offline h1 {
  margin: 0 0 18px;
  color: #111;
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1;
}

.cst-offline-copy p {
  margin: 0 auto 32px;
  max-width: 34em;
  color: #2c2c2c;
  font-size: var(--fs-lead);
  line-height: 1.6;
}

/* Leftover demo sections whose images 404 and get crawled by Google. */
.tp-blog-area,
.tp-team-area {
  display: none;
}
