/* Product & Services */

/* 1. HERO: SECTION WIDTH AND CURVE */
body.page-id-19457 .dm-page-hero:not(#a) {
  /* Width = visible area (without scrollbar); overrides the inline style of Stretch Section */
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: 0 !important;
  border-radius: 0 0 64px 64px !important;
  overflow: hidden;              /* Overlay / layers are clipped by the curve too */
  isolation: isolate;
  text-align: center;
}
body.page-id-19457 .dm-page-hero:not(#a) > .elementor-background-overlay,
body.page-id-19457 .dm-page-hero:not(#a) > .elementor-shape,
body.page-id-19457 .dm-page-hero:not(#a) > .trx_addons_parallax_layers {
  border-radius: inherit;
}

/* 2. HERO: EYEBROW ("PRODUCT & SERVICES") */
body.page-id-19457 .dm-page-hero:not(#a) .dm-hero-eyebrow,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_subtitle {
  margin: 0 0 16px !important;
}
body.page-id-19457 .dm-page-hero:not(#a) .dm-hero-eyebrow,
body.page-id-19457 .dm-page-hero:not(#a) .dm-hero-eyebrow .elementor-heading-title,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_subtitle,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_subtitle * {
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  color: #38bdf8 !important;
  text-decoration: none !important;
}

/* 3. HERO: TITLE ("Our Services") */
body.page-id-19457 .dm-page-hero:not(#a) .dm-hero-title .elementor-heading-title,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_title {
  max-width: 820px;
  margin: 0 auto !important;
}
body.page-id-19457 .dm-page-hero:not(#a) .dm-hero-title .elementor-heading-title,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_title,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_title_text {
  font-family: "Plus Jakarta Sans", sans-serif !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  letter-spacing: -.02em !important;
  text-align: center !important;
  text-transform: none !important;
  color: #fff !important;
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: 0 !important;
}
/* Remove the theme's decorative lines around the title */
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_title_text::before,
body.page-id-19457 .dm-page-hero:not(#a) .sc_item_title_text::after {
  display: none !important;
}

/* 4. HERO: MOBILE (<= 700px) */
@media (max-width: 700px) {
  /* Use the visible width (without scrollbar) as the reference for cqw */
  body.page-id-19457 .page_content_wrap {
    container-type: inline-size;
    overflow-x: clip;
  }

  body.page-id-19457 .dm-page-hero:not(#a) {
    border-radius: 0 0 40px 40px !important;
    padding-top: 56px !important;     /* Same as Blog hero on mobile */
    padding-bottom: 72px !important;
    padding-left: 24px;
    padding-right: 24px;
    box-sizing: border-box;

    /* Fallback for old browsers: 100vw */
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    left: 0 !important;
  }

  /* Modern browsers: visible width + 30px, shifted 15px to the left,
     so the left and right bottom curves are clipped equally */
  @supports (width: 1cqw) {
    body.page-id-19457 .dm-page-hero:not(#a) {
      width: calc(100cqw + 30px) !important;
      margin-left: calc(50% - 50cqw - 15px) !important;
    }
  }
}

/* 5. PRODUCT CARDS: VARIABLES AND BACKGROUND (.dm-products) */

/* Uncomment if the fonts are not loaded by the theme
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500&family=Space+Grotesk:wght@500;600&display=swap');
*/

.elementor-19457 .dm-products {
  --dm-bg: #faf9f6;
  --dm-surface: #ffffff;
  --dm-primary: #38bdf8;
  --dm-primary-strong: #00668a;
  --dm-secondary: #0f172a;
  --dm-tertiary: #e0f2fe;
  --dm-neutral: #0F172A;
  --dm-border: #e8e6e1;
  --dm-font-head: "Plus Jakarta Sans", sans-serif;
  --dm-font-body: "Inter", sans-serif;
  --dm-font-label: "Space Grotesk", sans-serif;
  background-color: var(--dm-bg);
}

/* 6. PRODUCT CARDS: SECTION HEADING */
.elementor-19457 .dm-products .sc_item_title,
.elementor-19457 .dm-products .sc_item_title_text,
.elementor-19457 .dm-products .elementor-heading-title,
.elementor-19457 .dm-products h2 {
  font-family: var(--dm-font-head) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--dm-secondary) !important;
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: 0 !important;
}
.elementor-19457 .dm-products .sc_item_title .sc_item_title_text:before,
.elementor-19457 .dm-products .sc_item_title .sc_item_title_text:after { display: none !important; }

.elementor-19457 .dm-products .sc_item_subtitle,
.elementor-19457 .dm-products .sc_item_subtitle * {
  font-family: var(--dm-font-label) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  color: var(--dm-neutral) !important;
}
.elementor-19457 .dm-products .sc_item_descr,
.elementor-19457 .dm-products .elementor-widget-text-editor,
.elementor-19457 .dm-products .elementor-widget-text-editor p {
  font-family: var(--dm-font-body) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--dm-neutral) !important;
}

/* 7. PRODUCT CARDS: CARD */
.elementor-19457 .dm-products .sc_services_item {
  display: flex !important;
  flex-direction: column;
  height: 100%;
  padding: 12px 12px 20px !important;
  background: var(--dm-surface) !important;
  border: 1px solid var(--dm-border) !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  overflow: hidden;
  text-align: left !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.elementor-19457 .dm-products .sc_services_item:hover {
  transform: translateY(-4px);
  border-color: var(--dm-primary) !important;
  box-shadow: 0 12px 28px -12px rgba(15, 23, 42, .18) !important;
}

/* 8. PRODUCT CARDS: CARD IMAGE */
/* Large top corners (left and right), small bottom corners; zooms slightly on card hover */
.elementor-19457 .dm-products .sc_services_item_thumb {
  width: 100% !important;
  height: 170px !important;
  margin: 0 0 16px !important;
  overflow: hidden;
  border-radius: 56px 56px 16px 16px !important;
}
.elementor-19457 .dm-products .sc_services_item_thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .5s ease;
}
.elementor-19457 .dm-products .sc_services_item:hover .sc_services_item_thumb img { transform: scale(1.05); }

/* 9. PRODUCT CARDS: CARD TEXT */
/* Text area (sc_services_item_info) */
.elementor-19457 .dm-products .sc_services_item_info {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 0 8px !important;
  background: transparent !important;
  text-align: left !important;
}

/* Title */
.elementor-19457 .dm-products .sc_services_item_title,
.elementor-19457 .dm-products .sc_services_item_title a {
  margin: 0 0 6px !important;
  font-family: var(--dm-font-head) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  color: var(--dm-secondary) !important;
  text-align: left !important;
  text-decoration: none !important;
}

/* Description */
.elementor-19457 .dm-products .sc_services_item_content,
.elementor-19457 .dm-products .sc_services_item_text,
.elementor-19457 .dm-products .sc_services_item_description {
  margin: 0 0 14px !important;
  font-family: var(--dm-font-body) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: var(--dm-neutral) !important;
  text-align: left !important;
}

/* 10. PRODUCT CARDS: DETAIL LINK */
.elementor-19457 .dm-products .sc_services_item_button,
.elementor-19457 .dm-products .sc_services_item_info .sc_item_button,
.elementor-19457 .dm-products .sc_services_item_link_wrap {
  margin: auto 0 0 !important;
  text-align: left !important;
}
.elementor-19457 .dm-products .sc_services_item_button a,
.elementor-19457 .dm-products .sc_services_item_info .sc_item_button a,
.elementor-19457 .dm-products .sc_services_item_info .sc_button {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.elementor-19457 .dm-products .sc_services_item_info .sc_button > *,
.elementor-19457 .dm-products .sc_services_item_button a > *,
.elementor-19457 .dm-products .sc_services_item_info .sc_item_button a > * { display: none !important; }
.elementor-19457 .dm-products .sc_services_item_info .sc_button:before,
.elementor-19457 .dm-products .sc_services_item_button a:before { content: none !important; }
.elementor-19457 .dm-products .sc_services_item_info .sc_button:after,
.elementor-19457 .dm-products .sc_services_item_button a:after,
.elementor-19457 .dm-products .sc_services_item_info .sc_item_button a:after {
  content: "Lihat detail \2192" !important;
  position: static !important;
  font-family: var(--dm-font-label);
  font-size: 12px;
  font-weight: 600;
  color: var(--dm-secondary);
  transition: color .2s ease;
}
.elementor-19457 .dm-products .sc_services_item:hover .sc_button:after,
.elementor-19457 .dm-products .sc_services_item:hover .sc_services_item_button a:after { color: var(--dm-primary-strong); }

/* 11. PRODUCT CARDS: RESPONSIVE (<= 640px) */
@media (max-width: 640px) {
  .elementor-19457 .dm-products .sc_services_item_thumb { height: 190px !important; }
}

/* 12. SPACER REPLACEMENT: SECTION AND GRID SPACING */

/* Top and bottom spacing of the section (replaces the top + bottom Spacer) */
.elementor-19457 .elementor-top-section.dm-products,
.elementor-19457 .elementor-top-section:has(.dm-products) {
  --dm-space-top: 120px;
  --dm-space-bottom: 120px;
  padding-top: var(--dm-space-top) !important;
  padding-bottom: var(--dm-space-bottom) !important;
}

/* Gap between the heading and the cards grid */
.elementor-19457 .dm-products .elementor-inner-section:has(.sc_services),
.elementor-19457 .elementor-inner-section.dm-products:has(.sc_services) {
  padding-top: 64px;
}

@media (max-width: 1024px) {
  .elementor-19457 .elementor-top-section.dm-products,
  .elementor-19457 .elementor-top-section:has(.dm-products) {
    --dm-space-top: 80px;
    --dm-space-bottom: 80px;
  }
  .elementor-19457 .dm-products .elementor-inner-section:has(.sc_services) { padding-top: 40px; }
}
@media (max-width: 640px) {
  .elementor-19457 .elementor-top-section.dm-products,
  .elementor-19457 .elementor-top-section:has(.dm-products) {
    --dm-space-top: 56px;
    --dm-space-bottom: 56px;
  }
}

/* 13. SERVICES GRID (.dm-svc): VARIABLES AND SECTION */
body.page-id-19457 .dm-svc {
  --dm-primary: #38bdf8;
  --dm-tint: #e0f2fe;
  --dm-ink: #0f172a;
  --dm-muted: #64748b;
  --dm-line: #e8e6e0;
  --dm-radius: 20px;
  padding: 96px 24px;
}

/* 14. SERVICES GRID: HEADER */
/* Header: full width, centered */
body.page-id-19457 .dm-svc .dm-head {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin-bottom: 48px;
  text-align: center !important;
}
body.page-id-19457 .dm-svc .dm-head > .elementor-widget-wrap,
body.page-id-19457 .dm-svc .dm-head > .elementor-element-populated {
  justify-content: center;
  align-items: center;
  text-align: center;
}
body.page-id-19457 .dm-svc .dm-head .elementor-widget {
  width: 100%;
  text-align: center;
}

/* Label, title, description */
body.page-id-19457 .dm-svc .dm-head .sc_item_subtitle,
body.page-id-19457 .dm-svc .dm-head .sc_item_title,
body.page-id-19457 .dm-svc .dm-head .sc_item_title_text,
body.page-id-19457 .dm-svc .dm-head .sc_item_descr,
body.page-id-19457 .dm-svc .dm-head .elementor-heading-title {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-id-19457 .dm-svc .dm-head .sc_item_title,
body.page-id-19457 .dm-svc .dm-head .elementor-heading-title {
  max-width: 820px;
  font-size: clamp(30px, 5vw, 56px);
  line-height: 1.15;
}
body.page-id-19457 .dm-svc .dm-head .sc_item_descr,
body.page-id-19457 .dm-svc .dm-head .elementor-widget-text-editor {
  max-width: 680px;
  margin: 16px auto 0 !important;
  text-align: center !important;
}
body.page-id-19457 .dm-svc .dm-head .elementor-widget-text-editor p {
  text-align: center !important;
}

/* No underline or decorative lines on titles */
body.page-id-19457 .dm-svc .elementor-heading-title,
body.page-id-19457 .dm-svc .elementor-heading-title * {
  text-decoration: none !important;
  background-image: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
body.page-id-19457 .dm-svc .elementor-heading-title *::before,
body.page-id-19457 .dm-svc .elementor-heading-title *::after {
  display: none !important;
}

/* 15. SERVICES GRID: CARDS */
body.page-id-19457 .dm-svc .sc_icons_item {
  background: #fff;
  border: 1px solid var(--dm-line);
  border-radius: var(--dm-radius);
  padding: 32px 28px;
  height: 100%;
  text-align: left;
  box-shadow: none;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
body.page-id-19457 .dm-svc .sc_icons_item:hover {
  background: #fff !important;
  border-color: var(--dm-primary);
  box-shadow: 0 12px 30px rgba(15, 23, 42, .08);
  transform: translateY(-4px);
}

/* Icon: small pale blue tile */
body.page-id-19457 .dm-svc .sc_icons_item [class*="icon_type_"] {
  width: 48px;
  height: 48px;
  margin: 0 0 24px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--dm-tint);
  border-radius: 14px;
}
body.page-id-19457 .dm-svc .sc_icons_item [class*="icon_type_"] img,
body.page-id-19457 .dm-svc .sc_icons_item [class*="icon_type_"] svg {
  width: 24px !important;
  height: 24px !important;
  max-width: none;
  object-fit: contain;
}

/* Card text (the hover rules keep colors from changing on hover) */
body.page-id-19457 .dm-svc .sc_icons_item_details {
  text-align: left;
}
body.page-id-19457 .dm-svc .sc_icons_item_title,
body.page-id-19457 .dm-svc .sc_icons_item:hover .sc_icons_item_title {
  font-size: 20px;
  margin: 0 0 8px;
  text-align: left;
  color: var(--dm-ink) !important;
}
body.page-id-19457 .dm-svc .sc_icons_item_description,
body.page-id-19457 .dm-svc .sc_icons_item:hover .sc_icons_item_description {
  font-size: 14.5px;
  line-height: 1.65;
  text-align: left;
  color: var(--dm-muted) !important;
}
/* The theme's "more" link is not used in this design */
body.page-id-19457 .dm-svc .sc_icons_item [class*="more_link"] {
  display: none;
}

/* 16. SERVICES GRID: DESKTOP (>= 1025px) */
/* The header column is made full width so the title lines up with the center of the cards */
@media (min-width: 1025px) {
  body.page-id-19457 .dm-svc .dm-head > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  body.page-id-19457 .dm-svc .dm-head > .elementor-container > .elementor-column {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  body.page-id-19457 .dm-svc .dm-head > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* 17. SERVICES GRID: TABLET (<= 1024px), CENTERED HEADER AND 2-COLUMN CARDS */
@media (max-width: 1024px) {
  body.page-id-19457 .dm-svc {
    padding: 72px 24px;
  }

  /* Header */
  body.page-id-19457 .dm-svc .dm-head {
    margin: 0 auto 40px !important;
  }
  body.page-id-19457 .dm-svc .dm-head > .elementor-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  /* Header column: overrides Elementor's default 50% width on tablet */
  body.page-id-19457 .dm-svc .dm-head > .elementor-container > .elementor-column {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  /* Remove the header column's default padding so the title is truly centered */
  body.page-id-19457 .dm-svc .dm-head > .elementor-container > .elementor-column > .elementor-widget-wrap,
  body.page-id-19457 .dm-svc .dm-head > .elementor-container > .elementor-column > .elementor-element-populated {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.page-id-19457 .dm-svc .dm-head .elementor-widget,
  body.page-id-19457 .dm-svc .dm-head .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
  body.page-id-19457 .dm-svc .dm-head .elementor-widget {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.page-id-19457 .dm-svc .dm-head .sc_item_title,
  body.page-id-19457 .dm-svc .dm-head .elementor-heading-title {
    max-width: 100% !important;
    font-size: clamp(30px, 4.6vw, 42px) !important;
  }
  body.page-id-19457 .dm-svc .dm-head .sc_item_descr,
  body.page-id-19457 .dm-svc .dm-head .elementor-widget-text-editor {
    max-width: 620px;
  }

  /* Cards: 2 columns */
  body.page-id-19457 .dm-svc .sc_icons .trx_addons_columns_wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.page-id-19457 .dm-svc .sc_icons .trx_addons_columns_wrap > [class*="trx_addons_column-"] {
    flex: 0 0 calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 0 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* 18. SERVICES GRID: MOBILE (<= 767px), SINGLE COLUMN */
@media (max-width: 767px) {
  body.page-id-19457 .dm-svc {
    padding: 56px 20px;
  }
  body.page-id-19457 .dm-svc .dm-head {
    margin-bottom: 32px !important;
  }
  body.page-id-19457 .dm-svc .dm-head .sc_item_title,
  body.page-id-19457 .dm-svc .dm-head .elementor-heading-title {
    font-size: 30px !important;
  }
  body.page-id-19457 .dm-svc .dm-head .sc_item_descr,
  body.page-id-19457 .dm-svc .dm-head .elementor-widget-text-editor {
    font-size: 15px;
    margin-top: 12px !important;
  }

  /* Cards wrapper: one column */
  body.page-id-19457 .dm-svc .sc_icons .trx_addons_columns_wrap {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  /* Each card: one full row */
  body.page-id-19457 .dm-svc .sc_icons .trx_addons_columns_wrap > [class*="trx_addons_column-"],
  body.page-id-19457 .dm-svc .sc_icons .trx_addons_columns_wrap > [class*="column-"] {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    grid-column: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-id-19457 .dm-svc .sc_icons_item {
    width: 100% !important;
    padding: 28px 24px;
  }
  /* Any remaining Spacer widget inside this section is reduced to 24px on mobile */
  body.page-id-19457 .dm-svc .elementor-widget-spacer .elementor-spacer-inner {
    height: 24px !important;
  }
}

/* 19. CTA (.ps-cta): VARIABLES, LAYOUT, IMAGE, TEXT AND BUTTONS */
body.page-id-19457 .ps-cta {
  --cta-primary: #00668a;
  --cta-primary-hover: #005372;
  --cta-sky: #38bdf8;
  --cta-ink: #0f172a;
  --cta-muted: #64748b;
  padding: 160px 24px !important;
}

/* Layout: two columns side by side, text vertically centered */
body.page-id-19457 .ps-cta > .elementor-container {
  max-width: 1120px !important;
  align-items: center !important;
  gap: 64px;
}
body.page-id-19457 .ps-cta > .elementor-container > .elementor-column {
  width: calc(50% - 32px) !important;
}
body.page-id-19457 .ps-cta .elementor-column > .elementor-widget-wrap {
  align-content: center;
  padding: 0 !important;
}

/* Image: square, no gray strip; one large rounded corner (top right) */
body.page-id-19457 .ps-cta .elementor-widget-image,
body.page-id-19457 .ps-cta .elementor-widget-image .elementor-widget-container {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden;
  border-radius: 24px 140px 24px 24px;
}
body.page-id-19457 .ps-cta .elementor-widget-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 24px 140px 24px 24px;
}

/* Title + quote icon (the big quote mark is drawn with ::before) */
body.page-id-19457 .ps-cta .elementor-heading-title {
  font-size: 40px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  font-weight: 800 !important;
  color: var(--cta-ink) !important;
  margin: 0 !important;
}
body.page-id-19457 .ps-cta .elementor-heading-title::before {
  content: "\201C";
  display: block;
  font-size: 88px;
  line-height: .8;
  font-weight: 800;
  color: var(--cta-sky);
  margin-bottom: 16px;
}
body.page-id-19457 .ps-cta .elementor-widget-heading {
  margin-bottom: 20px !important;
}

/* Description */
body.page-id-19457 .ps-cta .elementor-widget-text-editor {
  max-width: 500px;
  font-size: 17px;
  line-height: 1.7;
  color: var(--cta-muted);
  margin: 0 0 32px 0 !important;
}
body.page-id-19457 .ps-cta .elementor-widget-text-editor * {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
}

/* Buttons: side by side, width follows the text */
body.page-id-19457 .ps-cta .elementor-column > .elementor-widget-wrap {
  column-gap: 12px;
}
body.page-id-19457 .ps-cta .ps-btn-primary,
body.page-id-19457 .ps-cta .ps-btn-outline {
  width: auto !important;
  margin: 0 !important;
}
body.page-id-19457 .ps-cta .ps-btn-primary a,
body.page-id-19457 .ps-cta .ps-btn-outline a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 16px 28px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none !important;
  transition: background .2s, color .2s, transform .2s, border-color .2s;
}
body.page-id-19457 .ps-cta .ps-btn-primary a {
  background: var(--cta-primary) !important;
  border: 1.5px solid var(--cta-primary) !important;
  color: #fff !important;
}
body.page-id-19457 .ps-cta .ps-btn-primary a:hover {
  background: var(--cta-primary-hover) !important;
  border-color: var(--cta-primary-hover) !important;
  transform: translateY(-2px);
}
body.page-id-19457 .ps-cta .ps-btn-outline a {
  background: transparent !important;
  border: 1.5px solid var(--cta-ink) !important;
  color: var(--cta-ink) !important;
}
body.page-id-19457 .ps-cta .ps-btn-outline a:hover {
  background: var(--cta-ink) !important;
  color: #fff !important;
  transform: translateY(-2px);
}
/* Button inner elements always inherit the link color */
body.page-id-19457 .ps-cta .ps-btn-primary a *,
body.page-id-19457 .ps-cta .ps-btn-outline a * { color: inherit !important; }

/* 20. CTA: TABLET (<= 1024px), STILL 2 COLUMNS */
@media (max-width: 1024px) {
  body.page-id-19457 .ps-cta { padding: 72px 32px !important; }
  body.page-id-19457 .ps-cta > .elementor-container {
    gap: 40px;
  }
  body.page-id-19457 .ps-cta > .elementor-container > .elementor-column {
    width: calc(50% - 20px) !important;
  }
  body.page-id-19457 .ps-cta .elementor-widget-image,
  body.page-id-19457 .ps-cta .elementor-widget-image .elementor-widget-container,
  body.page-id-19457 .ps-cta .elementor-widget-image img {
    border-radius: 24px 100px 24px 24px;
  }
  body.page-id-19457 .ps-cta .elementor-heading-title {
    font-size: 28px !important;
  }
  body.page-id-19457 .ps-cta .elementor-heading-title::before {
    font-size: 72px;
    margin-bottom: 12px;
  }
  body.page-id-19457 .ps-cta .elementor-widget-text-editor {
    font-size: 15px;
    margin-bottom: 24px !important;
  }
  body.page-id-19457 .ps-cta .ps-btn-primary a,
  body.page-id-19457 .ps-cta .ps-btn-outline a {
    padding: 14px 22px;
    font-size: 14px;
  }
}

/* 21. CTA: MOBILE (<= 767px), IMAGE ON TOP AND TEXT BELOW */
@media (max-width: 767px) {
  body.page-id-19457 .ps-cta { padding: 56px 28px !important; }
  body.page-id-19457 .ps-cta > .elementor-container {
    flex-wrap: wrap;
    gap: 32px;
  }
  body.page-id-19457 .ps-cta > .elementor-container > .elementor-column {
    width: 100% !important;
  }
  body.page-id-19457 .ps-cta .elementor-widget-image,
  body.page-id-19457 .ps-cta .elementor-widget-image .elementor-widget-container,
  body.page-id-19457 .ps-cta .elementor-widget-image img {
    border-radius: 20px 72px 20px 20px;
  }
  body.page-id-19457 .ps-cta .elementor-widget-image img {
    aspect-ratio: 10 / 9;
  }
  body.page-id-19457 .ps-cta .elementor-heading-title {
    font-size: 26px !important;
  }
  body.page-id-19457 .ps-cta .elementor-heading-title::before {
    font-size: 56px;
    margin-bottom: 10px;
  }
  body.page-id-19457 .ps-cta .elementor-widget-text-editor {
    max-width: 100%;
    font-size: 15px;
    margin-bottom: 24px !important;
  }
  body.page-id-19457 .ps-cta .ps-btn-primary a,
  body.page-id-19457 .ps-cta .ps-btn-outline a {
    padding: 14px 22px;
    font-size: 14px;
  }
}