/* Scale the homepage content without scaling its iframe viewport. This keeps
   the full document height scrollable, including the bottom of the footer. */
html {
  zoom: 1.25;
}

/* The archived demo repeats a placeholder brand logo; omit that strip. */
section.brand {
  display: none !important;
}

section.dash_board {
  display: none !important;
}

/* Keep the scroll header visually identical to the primary header. */
#xb-header-area.header-area--two .xb-header-area-sticky {
  top: 30px;
  background-color: transparent;
}

#xb-header-area.header-area--two .xb-header-area-sticky.xb-header-fixed {
  box-shadow: none;
}

#xb-header-area.header-area--two .xb-header-area-sticky .header__wrap {
  padding: 0 12px 0 30px;
  background: #eef4f1;
}

#xb-header-area.header-area--two .xb-header-area-sticky .main-menu > ul > li {
  padding: 20px 0;
}

#xb-header-area.header-area--two .xb-header-area-sticky .main-menu > ul > li.hover > a,
#xb-header-area.header-area--two .xb-header-area-sticky .main-menu > ul > li.active > a {
  background: linear-gradient(180deg, #fff 2.54%, #d4e3dd 100%);
}

/* The header now has one CTA, so keep it in the primary dark style instead of
   inheriting the former first (white) button treatment. */
#xb-header-area.header-area--two .xb-header-btn a:only-child {
  color: #efe7d8;
  background: linear-gradient(180deg, #2f676b 0%, #1b4a50 100%);
  box-shadow: inset 0 1px 1px 0 rgba(217, 240, 255, 0.08),
    inset 0 -2px 1px 0 rgba(23, 63, 70, 0.24),
    0 0 1px 0 rgba(23, 63, 70, 0.32),
    0 2px 2px 0 rgba(23, 63, 70, 0.06),
    0 4px 4px 0 rgba(23, 63, 70, 0.06),
    0 8px 8px 0 rgba(23, 63, 70, 0.06);
}

#xb-header-area.header-area--two .xb-header-btn a:only-child::before {
  content: none;
}

/* Match the flat navigation used by the React pages. */
#xb-header-area.header-area--two .main-menu > ul {
  gap: 8px;
}

#xb-header-area.header-area--two .main-menu > ul > li,
#xb-header-area.header-area--two .xb-header-area-sticky .main-menu > ul > li {
  margin: 0;
  padding: 13px 0;
}

#xb-header-area.header-area--two .main-menu > ul > li > a,
#xb-header-area.header-area--two .main-menu > ul > li.menu-item-has-children > a {
  padding: 12px 18px;
}

#xb-header-area .main-menu .submenu,
#xb-header-area .xb-header-nav .sub-menu,
#xb-header-area .main-menu > ul > li > a span::after,
#xb-header-area .xb-menu-toggle {
  display: none !important;
}

@media (max-width: 991px) {
  #xb-header-area.header-area--two .xb-header-area-sticky {
    top: 15px;
  }

  #xb-header-area.header-area--two .xb-header-area-sticky .header__wrap {
    padding: 10px 10px 10px 20px;
  }
}

@media (max-width: 767px) {
  #xb-header-area.header-area--two .xb-header-area-sticky .header__wrap {
    padding: 10px 10px 10px 20px;
  }
}

/* The archived page did not include its licensed Font Awesome font files.
   Keep the original icon sizing and placement, but render the few icons used
   by this page with system glyphs so they never appear as missing squares. */
.main-menu ul li.menu-item-has-children > a span::after {
  content: "⌄" !important;
  font-family: Arial, sans-serif !important;
  font-size: 14px;
  line-height: 1;
}

.main-menu ul li .submenu li.menu-item-has-children > a span::after {
  content: "›" !important;
  font-family: Arial, sans-serif !important;
}

.xb-menu-toggle::before {
  content: "⌄" !important;
  font-family: Arial, sans-serif !important;
}

.xb-menu-toggle.active::before {
  content: "⌃" !important;
}

.xb-faq .accordion_box .block .acc-btn .arrow::before,
.xb-faq .accordion_box .block.active-block .acc-btn .arrow::before {
  content: "⌄" !important;
  font-family: Arial, sans-serif !important;
}

.fa-angle-right::before {
  content: "›" !important;
  font-family: Arial, sans-serif !important;
}

.fa-arrow-up::before {
  content: "↑" !important;
  font-family: Arial, sans-serif !important;
}

.fa-search {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  font-family: Arial, sans-serif !important;
}

.fa-search::before {
  content: "" !important;
  position: absolute;
  width: 8px;
  height: 8px;
  top: 0;
  left: 0;
  border: 1.5px solid currentColor;
  border-radius: 50%;
}

.fa-search::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.5px;
  left: 8px;
  top: 9px;
  background: currentColor;
  transform: rotate(45deg);
  transform-origin: left center;
}

/* Use the site's light-blue palette for the shaded CTA border. */
.desk-btn--gradient::before {
  background: #b9dfea !important;
  background-image: none !important;
  animation: none !important;
  filter: blur(9px) !important;
  opacity: 0.82;
}

/* Tone the decorative artwork into a muted mineral-teal palette. */
.hero-area--two .xb-bg-shape img,
.intigration .xb-shape img {
  filter: hue-rotate(55deg) saturate(0.45) brightness(0.92);
}

/* Pull the hero support cards toward the stone and foliage in the photos. */
.xb-hero-bottom .item.bg-pink {
  background: #efe7da !important;
}

.xb-hero-bottom .item.bg-gary {
  background: #e1ebe6;
}

/* Use one purpose-built overview image for the complete website-service feature set. */
.xbf-mockup-frame {
  background: #173f46;
  padding: 10px;
}

.xbf-mockup-container {
  height: 100%;
  transform: none !important;
}

.xbf-mockup-view {
  display: none;
}

.xbf-mockup-view.view-1 {
  display: block;
  height: 100%;
  border-radius: 13px;
}

.xbf-mockup-view.view-1::after {
  display: none;
}

.xbf-mockup-view.view-1 img {
  object-fit: cover;
  object-position: center;
}

/* The service has one simple monthly billing period. */
.pricing-period-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 8px 24px;
  color: #1f5358;
  background: #f7f8f6;
  border: 1px solid #d4e1dc;
  border-radius: 999px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
}

/* Rebalance the original three-plan table after removing the DIY column. */
.xb-pricing-table {
  width: 100%;
  table-layout: fixed;
}

.xb-pricing-table tr th:nth-child(1),
.xb-pricing-table tr td:nth-child(1) {
  width: 40% !important;
}

.xb-pricing-table tr th:nth-child(2),
.xb-pricing-table tr th:nth-child(3),
.xb-pricing-table tr td:nth-child(2),
.xb-pricing-table tr td:nth-child(3) {
  width: 30% !important;
}

.xb-pricing-table tr th:nth-child(2),
.xb-pricing-table tr td:nth-child(2) {
  background: transparent !important;
}

.xb-pricing-table tr th:nth-child(2) .text,
.xb-pricing-table tr th:nth-child(2) .dollar,
.xb-pricing-table tr td:nth-child(2) .text,
.xb-pricing-table tr td:nth-child(2) .dollar {
  color: var(--color-heading) !important;
}

.xb-table-btn {
  width: 20%;
  margin-left: 26.6667% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
}

.xb-table-btn li {
  min-width: 0;
}

.xb-table-btn li a {
  width: 100%;
  justify-content: center;
  white-space: nowrap;
}

@media (max-width: 991px) {
  .xb-table-btn {
    width: 30%;
    margin-left: 40% !important;
    float: none !important;
  }
}

@media (max-width: 575px) {
  .xb-pricing-table {
    min-width: 620px;
  }

  .xb-table-btn {
    width: 50%;
    margin-left: 0 !important;
  }
}

/* Website-focused closing CTA (replaces the leftover help-desk dashboard art). */
.cta-section .xb-cta-wrapper {
  padding: 88px 56px 0;
  background:
    radial-gradient(circle at 74% 20%, rgba(175, 201, 191, 0.18), transparent 34%),
    linear-gradient(135deg, #173f43 0%, #1f565a 100%);
}

/* Light-blue footer palette; replaces the original green template artwork. */
.hd-footer-wrapper.lumaforge-footer-bg {
  background-color: #eaf5f8 !important;
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.92) 0, rgba(255, 255, 255, 0) 30%),
    radial-gradient(circle at 84% 68%, rgba(195, 225, 234, 0.72) 0, rgba(195, 225, 234, 0) 34%),
    linear-gradient(145deg, #f3fafc 0%, #e4f2f6 48%, #d8ebf1 100%) !important;
}

.hd-footer-wrapper.lumaforge-footer-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(115deg, transparent 18%, rgba(151, 205, 218, 0.14) 18.2%, transparent 42%),
    linear-gradient(65deg, transparent 56%, rgba(255, 255, 255, 0.5) 56.2%, transparent 78%);
}

.hd-footer-wrapper.lumaforge-footer-bg .hd-footer-inner {
  z-index: 1;
}

.cta-section .xb-cta-left {
  max-width: 570px;
  padding: 22px 0 96px;
}

.cta-section .xb-cta-left .title {
  max-width: 560px;
  font-size: clamp(46px, 4.3vw, 76px);
  line-height: 0.98;
  letter-spacing: -0.045em;
  text-transform: none;
}

.cta-section .xb-cta-left .xb-content {
  max-width: 510px;
  margin: 30px 0 42px;
  font-size: 18px;
  line-height: 1.55;
  text-transform: none;
  color: rgba(255, 255, 255, 0.8);
}

.lumaforge-cta-visual {
  min-height: 520px;
  padding: 0 18px !important;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.lumaforge-cta-visual::before {
  display: none;
}

.lumaforge-cta-preview {
  width: min(100%, 520px);
  height: 500px;
  overflow: hidden;
  position: relative;
  border: 8px solid rgba(238, 244, 241, 0.92);
  border-bottom: 0;
  border-radius: 28px 28px 0 0;
  background: #eee8dc;
  box-shadow: 0 24px 55px rgba(5, 25, 27, 0.28);
}

.lumaforge-cta-preview img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 50%;
}

.lumaforge-cta-badge {
  position: absolute;
  z-index: 2;
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 9px;
  color: #173f43;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  border: 1px solid rgba(23, 63, 67, 0.1);
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(5, 25, 27, 0.22);
}

.lumaforge-cta-badge span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  color: #173f43;
  border-radius: 50%;
  background: #afc9bf;
}

.lumaforge-cta-badge--design {
  left: -14px;
  top: 72px;
}

.lumaforge-cta-badge--care {
  right: -10px;
  bottom: 78px;
}

@media (max-width: 1199px) {
  .cta-section .xb-cta-wrapper {
    padding-right: 34px;
    padding-left: 34px;
  }

  .lumaforge-cta-badge--design {
    left: 0;
  }

  .lumaforge-cta-badge--care {
    right: 0;
  }
}

@media (max-width: 991px) {
  .cta-section .xb-cta-left {
    max-width: 680px;
    padding-bottom: 28px;
  }

  .lumaforge-cta-visual {
    min-height: 470px;
  }

  .lumaforge-cta-preview {
    height: 450px;
  }
}

@media (max-width: 575px) {
  .cta-section .xb-cta-wrapper {
    padding: 52px 18px 0;
  }

  .cta-section .xb-cta-left {
    padding: 4px 0 12px;
  }

  .cta-section .xb-cta-left .title {
    font-size: 42px;
  }

  .cta-section .xb-cta-left .xb-content {
    margin: 24px 0 34px;
    font-size: 16px;
  }

  .lumaforge-cta-visual {
    min-height: 390px;
    padding: 0 !important;
  }

  .lumaforge-cta-preview {
    height: 365px;
    border-width: 5px;
    border-bottom: 0;
    border-radius: 22px 22px 0 0;
  }

  .lumaforge-cta-badge {
    padding: 10px 12px;
    font-size: 11px;
  }

  .lumaforge-cta-badge--design {
    top: 28px;
    left: -7px;
  }

  .lumaforge-cta-badge--care {
    right: -7px;
    bottom: 34px;
  }
}

/* Give the two supporting hero cards a compact, balanced proportion. */
@media (min-width: 1200px) {
  .xb-hero-bottom .item:nth-child(1),
  .xb-hero-bottom .item:nth-child(5) {
    width: 284px;
    height: 360px;
    flex: 0 0 284px;
  }

  .xb-hero-bottom .item:nth-child(1) > img,
  .xb-hero-bottom .item:nth-child(5) > img {
    width: 284px;
    height: 360px;
    object-fit: cover;
  }

  .xb-hero-bottom .item:nth-child(2),
  .xb-hero-bottom .item:nth-child(4) {
    width: 190px;
    min-height: 220px;
    padding-top: 18px;
    flex: 0 0 190px;
  }

  .xb-hero-bottom .item:nth-child(2) .xb-item--img img,
  .xb-hero-bottom .item:nth-child(4) .xb-item--img img {
    width: 135px;
    height: 115px;
    object-fit: contain;
  }

  .xb-hero-bottom .item.circle_up_down {
    flex-shrink: 0;
  }
}

/* Remove the source-template company marks from the website-needs cards. */
.elementor-element-423128a .xb-item--logo {
  display: none !important;
}

.elementor-element-423128a > .e-con-inner .xb-story-item > .xb-item--holder {
  margin-top: 20px;
}

/* Keep every carousel illustration contained and consistently scaled. */
.elementor-element-423128a .xb-story-slide-box .xb-story-item .xb-item--img {
  top: 16px;
  right: 16px;
  width: 145px;
  height: 105px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.elementor-element-423128a .xb-story-slide-box .xb-story-item .xb-item--img img {
  width: auto;
  max-width: none;
  height: 105px;
  object-fit: contain;
  object-position: top right;
}

/* Match the purple side card to the full carousel height on larger screens. */
@media (min-width: 768px) {
  .elementor-element-423128a .elementor-element-c8d66ee {
    align-self: stretch !important;
    height: auto !important;
  }

  .elementor-element-423128a .elementor-element-c8d66ee > .elementor-widget-sotry-card,
  .elementor-element-423128a .elementor-element-c8d66ee > .elementor-widget-sotry-card > .elementor-widget-container,
  .elementor-element-423128a .elementor-element-c8d66ee .xb-story-item {
    height: 100% !important;
  }
}

/* LumaForge managed-service showcase (replaces the template integrations art). */
.lumaforge-managed-section .xb-intigration-wrapper {
  margin-bottom: 0;
  padding: 74px 0 84px;
  background:
    radial-gradient(circle at 15% 15%, rgba(175, 201, 191, 0.5), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(189, 170, 124, 0.24), transparent 28%),
    #eef4f1;
}

.lumaforge-managed-section .xb-intigration-inner {
  min-height: 0;
  padding: 78px 60px 64px;
  background:
    radial-gradient(circle at 50% 110%, rgba(175, 201, 191, 0.18), transparent 42%),
    linear-gradient(145deg, #173f43 0%, #1f5358 58%, #244d50 100%);
  border: 1px solid rgba(238, 244, 241, 0.12);
  box-shadow: 0 24px 70px rgba(23, 63, 67, 0.14);
}

.lumaforge-managed-section .sec-title .title {
  max-width: 1050px;
  margin: 0 auto;
}

.lumaforge-managed-brand {
  width: fit-content;
  margin: 38px auto 22px;
  padding: 10px 16px 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #eef4f1;
  border: 1px solid rgba(238, 244, 241, 0.2);
  border-radius: 999px;
  background: rgba(238, 244, 241, 0.08);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.lumaforge-managed-mark {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 6px solid #afc9bf;
  border-right-color: #bdaa7c;
  border-radius: 50%;
  transform: rotate(-35deg);
}

.lumaforge-managed-name {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.lumaforge-managed-label {
  padding-left: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #afc9bf;
  border-left: 1px solid rgba(238, 244, 241, 0.2);
}

.lumaforge-managed-section .xb-intigration-inner .xb-content {
  max-width: 620px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(238, 244, 241, 0.82);
}

.lumaforge-service-grid {
  max-width: 1080px;
  margin: 42px auto 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.lumaforge-service-item {
  min-height: 126px;
  padding: 18px 10px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #eef4f1;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  border: 1px solid rgba(238, 244, 241, 0.13);
  border-radius: 16px;
  background: rgba(238, 244, 241, 0.065);
  transition: transform 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.lumaforge-service-item:hover {
  transform: translateY(-4px);
  border-color: rgba(189, 170, 124, 0.48);
  background: rgba(238, 244, 241, 0.1);
}

.lumaforge-service-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  color: #1f5358;
  border-radius: 50%;
  background: linear-gradient(145deg, #eef4f1, #afc9bf);
  box-shadow: 0 8px 20px rgba(5, 25, 27, 0.2);
}

.lumaforge-service-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 991px) {
  .lumaforge-managed-section .xb-intigration-inner {
    padding: 64px 36px 52px;
  }

  .lumaforge-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 575px) {
  .lumaforge-managed-section {
    margin-left: 15px;
    margin-right: 15px;
    padding-top: 80px;
  }

  .lumaforge-managed-section .xb-intigration-wrapper {
    padding: 28px 0;
  }

  .lumaforge-managed-section .xb-intigration-inner {
    padding: 48px 18px 36px;
    border-radius: 22px;
  }

  .lumaforge-managed-label {
    display: none;
  }

  .lumaforge-service-grid {
    margin-top: 32px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .lumaforge-service-item {
    min-height: 112px;
    font-size: 13px;
  }
}
