/* =========================================================
   ZENVENTA INNER PAGES
========================================================= */

/* =========================================================
   INNER PAGE HERO
========================================================= */

.zv-inner-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: 105px 0 95px;

  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(23, 105, 194, 0.2),
      transparent 35%
    ),
    radial-gradient(
      circle at 15% 80%,
      rgba(244, 123, 32, 0.12),
      transparent 30%
    ),
    var(--zv-primary);
}

/* =========================================================
   HERO BACKGROUND DETAILS
========================================================= */

.zv-inner-hero::before {
  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  top: -220px;
  right: -120px;

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 50%;

  pointer-events: none;
}

.zv-inner-hero::after {
  content: "";

  position: absolute;

  width: 280px;
  height: 280px;

  bottom: -180px;
  left: -80px;

  border: 1px solid rgba(244, 123, 32, 0.18);

  border-radius: 50%;

  pointer-events: none;
}

/* =========================================================
   HERO CONTENT
========================================================= */

.zv-inner-hero-content {
  position: relative;
  z-index: 2;

  max-width: 850px;

  margin: 0 auto;

  text-align: center;
}

/* =========================================================
   HERO EYEBROW
========================================================= */

.zv-inner-hero-eyebrow {
  display: inline-flex;
  align-items: center;

  gap: 10px;

  margin-bottom: 18px;

  color: var(--zv-accent);

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.zv-inner-hero-eyebrow::before,
.zv-inner-hero-eyebrow::after {
  content: "";

  width: 28px;
  height: 1px;

  background: var(--zv-accent);
}

/* =========================================================
   HERO TITLE
========================================================= */

.zv-inner-hero-title {
  margin: 0;

  color: var(--zv-white);

  font-family: var(--zv-font-heading);

  font-size: clamp(42px, 5vw, 68px);

  line-height: 1.08;

  font-weight: 800;

  letter-spacing: -0.035em;
}

/* =========================================================
   BREADCRUMB
========================================================= */

.zv-inner-hero-breadcrumb {
  display: flex;

  align-items: center;
  justify-content: center;

  flex-wrap: wrap;

  gap: 10px;

  margin-top: 24px;

  color: rgba(255, 255, 255, 0.72);

  font-size: 14px;
  font-weight: 500;
}

.zv-inner-hero-breadcrumb a {
  color: var(--zv-white);

  transition:
    color var(--zv-transition-fast),
    opacity var(--zv-transition-fast);
}

.zv-inner-hero-breadcrumb a:hover {
  color: var(--zv-accent);

  opacity: 1;
}

.zv-inner-hero-separator {
  color: var(--zv-accent);

  font-weight: 700;
}

/* =========================================================
   ABOUT PAGE
========================================================= */

.zv-about-page {
  overflow: hidden;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {
  .zv-inner-hero {
    padding: 90px 0 80px;
  }

  .zv-inner-hero-title {
    font-size: clamp(38px, 6vw, 56px);
  }
}

@media (max-width: 767px) {
  .zv-inner-hero {
    padding: 75px 0 65px;
  }

  .zv-inner-hero-eyebrow {
    font-size: 11px;

    letter-spacing: 0.13em;
  }

  .zv-inner-hero-title {
    font-size: 40px;

    letter-spacing: -0.025em;
  }

  .zv-inner-hero-breadcrumb {
    margin-top: 18px;

    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .zv-inner-hero {
    padding: 65px 0 55px;
  }

  .zv-inner-hero-title {
    font-size: 34px;
  }

  .zv-inner-hero-eyebrow {
    gap: 7px;
  }

  .zv-inner-hero-eyebrow::before,
  .zv-inner-hero-eyebrow::after {
    width: 18px;
  }
}

/* =========================================================
   ABOUT — WHO WE ARE
========================================================= */

.zv-about-who {
  position: relative;

  padding: 35px 0;

  background: var(--zv-white);
}

/* =========================================================
   GRID
========================================================= */

.zv-about-who-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.05fr)
    minmax(0, 0.95fr);

  align-items: center;

  gap: 80px;
}

/* =========================================================
   CONTENT
========================================================= */

.zv-about-who-content {
  max-width: 650px;
}

.zv-about-who-title {
  margin: 12px 0 24px;

  color: var(--zv-primary);

  font-family: var(--zv-font-heading);

  font-size: clamp(36px, 4vw, 56px);

  line-height: 1.1;

  font-weight: 800;

  letter-spacing: -0.035em;
}

.zv-about-who-title span {
  display: block;

  color: var(--zv-secondary);
}

.zv-about-who-lead {
  margin-bottom: 22px;

  color: var(--zv-text);

  font-size: 20px;

  line-height: 1.65;

  font-weight: 500;
}

.zv-about-who-content p:not(.zv-about-who-lead) {
  margin-bottom: 18px;

  color: var(--zv-text-light);

  font-size: 16px;

  line-height: 1.8;
}

/* =========================================================
   FEATURES
========================================================= */

.zv-about-who-features {
  display: grid;

  gap: 18px;

  margin-top: 32px;
}

.zv-about-who-feature {
  display: flex;

  align-items: flex-start;

  gap: 15px;
}

.zv-about-who-feature-icon {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  flex: 0 0 44px;

  width: 44px;
  height: 44px;

  border-radius: var(--zv-radius-md);

  background: rgba(23, 105, 194, 0.1);

  color: var(--zv-secondary);

  font-size: 20px;
  font-weight: 800;

  transition:
    background var(--zv-transition),
    color var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-who-feature:hover .zv-about-who-feature-icon {
  background: var(--zv-accent);

  color: var(--zv-white);

  transform: translateY(-3px);
}

.zv-about-who-feature div {
  display: flex;

  flex-direction: column;

  gap: 4px;
}

.zv-about-who-feature strong {
  color: var(--zv-primary);

  font-size: 16px;

  font-weight: 700;
}

.zv-about-who-feature div span {
  color: var(--zv-text-light);

  font-size: 14px;

  line-height: 1.6;
}

/* =========================================================
   IMAGE AREA
========================================================= */

.zv-about-who-visual {
  position: relative;
}

.zv-about-who-image-wrap {
  position: relative;

  padding: 20px;
}

.zv-about-who-image-accent {
  position: absolute;

  top: 0;
  right: 0;

  width: 75%;
  height: 75%;

  border-radius: var(--zv-radius-xl);

  background: linear-gradient(
    135deg,
    var(--zv-secondary),
    var(--zv-primary-light)
  );

  opacity: 0.12;
}

.zv-about-who-image {
  position: relative;
  z-index: 2;

  display: block;

  width: 100%;

  aspect-ratio: 4 / 3;

  object-fit: cover;

  border-radius: var(--zv-radius-xl);

  box-shadow: var(--zv-shadow-lg);
}

/* =========================================================
   FLOATING CARD
========================================================= */

.zv-about-who-floating-card {
  position: absolute;

  right: 0;
  bottom: 0;

  z-index: 3;

  display: flex;

  flex-direction: column;

  gap: 2px;

  min-width: 175px;

  padding: 20px 22px;

  border-radius: var(--zv-radius-lg);

  background: var(--zv-white);

  box-shadow: var(--zv-shadow-lg);

  border-left: 4px solid var(--zv-accent);
}

.zv-about-who-floating-number {
  color: var(--zv-primary);

  font-size: 28px;

  line-height: 1;

  font-weight: 800;
}

.zv-about-who-floating-text {
  color: var(--zv-text-light);

  font-size: 13px;

  font-weight: 600;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1199px) {
  .zv-about-who-grid {
    gap: 55px;
  }

  .zv-about-who {
    padding: 95px 0;
  }
}

@media (max-width: 991px) {
  .zv-about-who-grid {
    grid-template-columns: 1fr;

    gap: 55px;
  }

  .zv-about-who-content {
    max-width: 800px;
  }

  .zv-about-who-visual {
    max-width: 700px;

    width: 100%;

    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .zv-about-who {
    padding: 75px 0;
  }

  .zv-about-who-title {
    font-size: 38px;
  }

  .zv-about-who-lead {
    font-size: 18px;
  }

  .zv-about-who-image-wrap {
    padding: 12px;
  }

  .zv-about-who-floating-card {
    right: 5px;
    bottom: 5px;

    min-width: 150px;

    padding: 16px 18px;
  }

  .zv-about-who-floating-number {
    font-size: 24px;
  }
}

@media (max-width: 480px) {
  .zv-about-who {
    padding: 60px 0;
  }

  .zv-about-who-title {
    font-size: 32px;
  }

  .zv-about-who-lead {
    font-size: 17px;
  }

  .zv-about-who-feature-icon {
    flex-basis: 40px;

    width: 40px;
    height: 40px;
  }

  .zv-about-who-floating-card {
    min-width: 135px;

    padding: 13px 15px;
  }
}

/* =========================================================
   ABOUT PAGE - MISSION & VISION
========================================================= */

.zv-about-mission {
  position: relative;
  overflow: hidden;
  background: var(--zv-light);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.zv-about-mission-header {
  max-width: 850px;
  margin: 0 auto 55px;
  text-align: center;
}

.zv-about-mission-header .zv-section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.zv-about-mission-header .zv-section-heading {
  margin-bottom: 18px;
}

.zv-about-mission-header .zv-section-description {
  max-width: 760px;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   MISSION & VISION GRID
--------------------------------------------------------- */

.zv-about-mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 1100px;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   PURPOSE CARD
--------------------------------------------------------- */

.zv-about-purpose-card {
  position: relative;
  display: flex;
  gap: 25px;
  padding: 38px 36px;
  background: var(--zv-white);
  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);
  box-shadow: var(--zv-shadow-sm);
  overflow: hidden;
  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-about-purpose-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: var(--zv-accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--zv-transition);
}

.zv-about-purpose-card:hover {
  transform: translateY(-7px);
  border-color: var(--zv-border-dark);
  box-shadow: var(--zv-shadow-md);
}

.zv-about-purpose-card:hover::before {
  transform: scaleX(1);
}

/* ---------------------------------------------------------
   PURPOSE ICON / NUMBER
--------------------------------------------------------- */

.zv-about-purpose-icon {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);
  border-radius: var(--zv-radius-md);

  box-shadow: 0 8px 20px rgba(11, 33, 72, 0.16);

  transition:
    background var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-purpose-icon span {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: var(--zv-white);
}

.zv-about-purpose-card:hover .zv-about-purpose-icon {
  background: var(--zv-accent);
  transform: translateY(-2px);
}

/* ---------------------------------------------------------
   PURPOSE CONTENT
--------------------------------------------------------- */

.zv-about-purpose-content {
  flex: 1;
  min-width: 0;
}

.zv-about-purpose-label {
  display: inline-block;
  margin-bottom: 9px;

  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  color: var(--zv-secondary);
}

.zv-about-purpose-content h3 {
  margin: 0 0 15px;

  font-family: var(--zv-font-heading);
  font-size: 25px;
  font-weight: 700;
  line-height: 1.25;

  color: var(--zv-primary);
}

.zv-about-purpose-content p {
  margin: 0 0 14px;

  font-family: var(--zv-font-primary);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;

  color: var(--zv-text-light);
}

.zv-about-purpose-content p:last-child {
  margin-bottom: 0;
}

/* ---------------------------------------------------------
   RESPONSIVE - TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-mission-header {
    margin-bottom: 40px;
  }

  .zv-about-mission-grid {
    gap: 22px;
  }

  .zv-about-purpose-card {
    gap: 20px;
    padding: 30px 26px;
  }

  .zv-about-purpose-icon {
    flex-basis: 52px;
    width: 52px;
    height: 52px;
  }

  .zv-about-purpose-content h3 {
    font-size: 22px;
  }

  .zv-about-purpose-content p {
    font-size: 14px;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------
   RESPONSIVE - MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-mission-header {
    margin-bottom: 32px;
  }

  .zv-about-mission-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .zv-about-purpose-card {
    gap: 18px;
    padding: 28px 22px;
    border-radius: var(--zv-radius-md);
  }

  .zv-about-purpose-icon {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
    border-radius: var(--zv-radius-sm);
  }

  .zv-about-purpose-icon span {
    font-size: 14px;
  }

  .zv-about-purpose-label {
    font-size: 12px;
  }

  .zv-about-purpose-content h3 {
    font-size: 20px;
    line-height: 1.3;
  }

  .zv-about-purpose-content p {
    font-size: 14px;
    line-height: 1.7;
  }
}

/* ---------------------------------------------------------
   RESPONSIVE - SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-purpose-card {
    display: block;
    padding: 25px 20px;
  }

  .zv-about-purpose-icon {
    margin-bottom: 18px;
  }

  .zv-about-purpose-content h3 {
    font-size: 19px;
  }
}

/* =========================================================
   ABOUT PAGE - CORE VALUES
========================================================= */

.zv-about-values {
  position: relative;
  overflow: hidden;
  background: var(--zv-white);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.zv-about-values-header {
  max-width: 820px;
  margin: 0 auto 55px;
  text-align: center;
}

.zv-about-values-header .zv-section-eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.zv-about-values-header .zv-section-heading {
  margin-bottom: 18px;
}

.zv-about-values-header .zv-section-description {
  max-width: 740px;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   VALUES GRID
--------------------------------------------------------- */

.zv-about-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* ---------------------------------------------------------
   VALUE CARD
--------------------------------------------------------- */

.zv-about-value-card {
  position: relative;
  padding: 34px 30px;
  background: var(--zv-light);
  border: 1px solid var(--zv-border-light);
  border-radius: var(--zv-radius-lg);
  overflow: hidden;

  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-about-value-card:hover {
  transform: translateY(-7px);
  border-color: var(--zv-border);
  box-shadow: var(--zv-shadow-md);
}

/* ---------------------------------------------------------
   VALUE NUMBER
--------------------------------------------------------- */

.zv-about-value-number {
  position: absolute;
  top: 20px;
  right: 24px;

  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;

  color: var(--zv-border-dark);
}

/* ---------------------------------------------------------
   VALUE ICON
--------------------------------------------------------- */

.zv-about-value-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 24px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);
  border-radius: var(--zv-radius-md);

  box-shadow: 0 8px 20px rgba(11, 33, 72, 0.14);

  transition:
    background var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-value-icon span {
  font-size: 23px;
  font-weight: 600;
  line-height: 1;

  color: var(--zv-white);
}

.zv-about-value-card:hover .zv-about-value-icon {
  background: var(--zv-accent);
  transform: translateY(-3px);
}

/* ---------------------------------------------------------
   VALUE CONTENT
--------------------------------------------------------- */

.zv-about-value-card h3 {
  margin: 0 0 12px;

  font-family: var(--zv-font-heading);
  font-size: 21px;
  font-weight: 700;
  line-height: 1.3;

  color: var(--zv-primary);
}

.zv-about-value-card p {
  margin: 0;

  font-family: var(--zv-font-primary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;

  color: var(--zv-text-light);
}

/* ---------------------------------------------------------
   RESPONSIVE - TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-values-header {
    margin-bottom: 40px;
  }

  .zv-about-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .zv-about-value-card {
    padding: 30px 26px;
  }
}

/* ---------------------------------------------------------
   RESPONSIVE - MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-values-header {
    margin-bottom: 32px;
  }

  .zv-about-values-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .zv-about-value-card {
    padding: 28px 22px;
    border-radius: var(--zv-radius-md);
  }

  .zv-about-value-icon {
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
  }

  .zv-about-value-icon span {
    font-size: 21px;
  }

  .zv-about-value-card h3 {
    font-size: 20px;
  }

  .zv-about-value-card p {
    font-size: 14px;
    line-height: 1.7;
  }
}

/* ---------------------------------------------------------
   RESPONSIVE - SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-value-card {
    padding: 25px 20px;
  }

  .zv-about-value-number {
    top: 17px;
    right: 19px;
  }
}

/* =========================================================
   ABOUT PAGE - WHY BUSINESSES CHOOSE ZENVENTA
========================================================= */

.zv-about-why {
  position: relative;
  overflow: hidden;
  background: var(--zv-light);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   LAYOUT
--------------------------------------------------------- */

.zv-about-why-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 80px;
  align-items: center;
}

/* ---------------------------------------------------------
   LEFT CONTENT
--------------------------------------------------------- */

.zv-about-why-content {
  max-width: 560px;
}

.zv-about-why-content .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 15px;
}

.zv-about-why-content .zv-section-heading {
  margin-bottom: 22px;
}

.zv-about-why-content .zv-section-heading span {
  display: block;
  color: var(--zv-secondary);
}

.zv-about-why-lead {
  margin-bottom: 18px !important;

  font-size: 17px !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;

  color: var(--zv-text) !important;
}

.zv-about-why-content p {
  margin: 0 0 28px;

  font-size: 15px;
  line-height: 1.8;

  color: var(--zv-text-light);
}

/* ---------------------------------------------------------
   FEATURES
--------------------------------------------------------- */

.zv-about-why-features {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* ---------------------------------------------------------
   FEATURE ITEM
--------------------------------------------------------- */

.zv-about-why-item {
  position: relative;

  display: flex;
  gap: 22px;
  align-items: flex-start;

  padding: 26px 28px;

  background: var(--zv-white);
  border: 1px solid var(--zv-border-light);
  border-radius: var(--zv-radius-md);

  box-shadow: var(--zv-shadow-sm);

  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-about-why-item:hover {
  transform: translateX(6px);
  border-color: var(--zv-border);
  box-shadow: var(--zv-shadow-md);
}

/* ---------------------------------------------------------
   FEATURE ICON
--------------------------------------------------------- */

.zv-about-why-icon {
  flex: 0 0 50px;

  width: 50px;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);
  border-radius: var(--zv-radius-sm);

  transition:
    background var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-why-icon span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--zv-white);
}

.zv-about-why-item:hover .zv-about-why-icon {
  background: var(--zv-accent);
  transform: translateY(-2px);
}

/* ---------------------------------------------------------
   FEATURE CONTENT
--------------------------------------------------------- */

.zv-about-why-item-content {
  flex: 1;
  min-width: 0;
}

.zv-about-why-item-content h3 {
  margin: 0 0 8px;

  font-family: var(--zv-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;

  color: var(--zv-primary);
}

.zv-about-why-item-content p {
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: var(--zv-text-light);
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-why-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .zv-about-why-content {
    max-width: 760px;
  }

  .zv-about-why-features {
    max-width: 800px;
  }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-why-layout {
    gap: 35px;
  }

  .zv-about-why-lead {
    font-size: 16px !important;
  }

  .zv-about-why-content p {
    font-size: 14px;
  }

  .zv-about-why-item {
    gap: 16px;
    padding: 22px 20px;
  }

  .zv-about-why-icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .zv-about-why-item-content h3 {
    font-size: 17px;
  }
}

/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-why-item {
    padding: 20px 18px;
  }

  .zv-about-why-item-content p {
    font-size: 13px;
    line-height: 1.65;
  }
}

/* =========================================================
   ABOUT PAGE - OUR PROCESS
========================================================= */

.zv-about-process {
  position: relative;
  overflow: hidden;
  background: var(--zv-white);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.zv-about-process-header {
  max-width: 850px;
  margin: 0 auto 55px;
  text-align: center;
}

.zv-about-process-header .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
}

.zv-about-process-header .zv-section-heading {
  margin-bottom: 18px;
}

.zv-about-process-header .zv-section-description {
  max-width: 750px;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   PROCESS GRID
--------------------------------------------------------- */

.zv-about-process-grid {
  position: relative;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

/* Connecting line */

.zv-about-process-grid::before {
  content: "";

  position: absolute;
  top: 38px;
  left: 11%;
  right: 11%;

  height: 1px;

  background: var(--zv-border);

  z-index: 0;
}

/* ---------------------------------------------------------
   PROCESS CARD
--------------------------------------------------------- */

.zv-about-process-card {
  position: relative;
  z-index: 1;

  padding: 30px 26px;

  background: var(--zv-light);

  border: 1px solid var(--zv-border-light);
  border-radius: var(--zv-radius-lg);

  box-shadow: var(--zv-shadow-sm);

  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-about-process-card:hover {
  transform: translateY(-7px);
  border-color: var(--zv-border);
  box-shadow: var(--zv-shadow-md);
}

/* ---------------------------------------------------------
   PROCESS TOP
--------------------------------------------------------- */

.zv-about-process-top {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 25px;
}

/* ---------------------------------------------------------
   PROCESS NUMBER
--------------------------------------------------------- */

.zv-about-process-number {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;

  color: var(--zv-text-muted);
}

/* ---------------------------------------------------------
   PROCESS ICON
--------------------------------------------------------- */

.zv-about-process-icon {
  width: 52px;
  height: 52px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);

  border-radius: var(--zv-radius-md);

  box-shadow: 0 8px 20px rgba(11, 33, 72, 0.14);

  transition:
    background var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-process-icon span {
  font-size: 22px;
  font-weight: 600;
  line-height: 1;

  color: var(--zv-white);
}

.zv-about-process-card:hover .zv-about-process-icon {
  background: var(--zv-accent);
  transform: translateY(-3px);
}

/* ---------------------------------------------------------
   PROCESS CONTENT
--------------------------------------------------------- */

.zv-about-process-card h3 {
  margin: 0 0 12px;

  font-family: var(--zv-font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;

  color: var(--zv-primary);
}

.zv-about-process-card p {
  margin: 0;

  font-family: var(--zv-font-primary);
  font-size: 14px;
  line-height: 1.75;

  color: var(--zv-text-light);
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-process-header {
    margin-bottom: 40px;
  }

  .zv-about-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .zv-about-process-grid::before {
    display: none;
  }

  .zv-about-process-card {
    padding: 28px 24px;
  }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-process-header {
    margin-bottom: 32px;
  }

  .zv-about-process-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .zv-about-process-card {
    padding: 25px 22px;
    border-radius: var(--zv-radius-md);
  }

  .zv-about-process-top {
    margin-bottom: 20px;
  }

  .zv-about-process-icon {
    width: 48px;
    height: 48px;
  }

  .zv-about-process-card h3 {
    font-size: 19px;
  }

  .zv-about-process-card p {
    font-size: 14px;
    line-height: 1.7;
  }
}

/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-process-card {
    padding: 23px 20px;
  }

  .zv-about-process-icon {
    width: 46px;
    height: 46px;
  }
}

/* =========================================================
   ABOUT PAGE - DIRECTOR
========================================================= */
.zv-about-director {
  position: relative;
  overflow: hidden;
  background: var(--zv-light);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   LAYOUT
--------------------------------------------------------- */

.zv-about-director-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 80px;
  align-items: center;
}

/* ---------------------------------------------------------
   IMAGE
--------------------------------------------------------- */

.zv-about-director-image-wrap {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}

.zv-about-director-image {
  position: relative;
  overflow: hidden;

  aspect-ratio: 4 / 5;

  background: var(--zv-light-2);
  border-radius: var(--zv-radius-xl);

  box-shadow: var(--zv-shadow-lg);
}

.zv-about-director-image::after {
  content: "";

  position: absolute;
  inset: 0;

  background: linear-gradient(to top, rgba(6, 22, 49, 0.18), transparent 40%);

  pointer-events: none;
}

.zv-about-director-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition: transform var(--zv-transition-slow);
}

.zv-about-director-image-wrap:hover .zv-about-director-image img {
  transform: scale(1.03);
}

/* ---------------------------------------------------------
   LEADERSHIP BADGE
--------------------------------------------------------- */

.zv-about-director-badge {
  position: absolute;

  right: -20px;
  bottom: 35px;

  display: inline-flex;
  align-items: center;

  padding: 14px 22px;

  background: var(--zv-primary);
  border-left: 4px solid var(--zv-accent);
  border-radius: var(--zv-radius-sm);

  box-shadow: var(--zv-shadow-md);

  z-index: 2;
}

.zv-about-director-badge span {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;

  color: var(--zv-white);
}

/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.zv-about-director-content {
  max-width: 650px;
}

.zv-about-director-content .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 15px;
}

.zv-about-director-content .zv-section-heading {
  margin-bottom: 22px;
}

.zv-about-director-content .zv-section-heading span {
  display: block;
  color: var(--zv-secondary);
}

/* ---------------------------------------------------------
   DIRECTOR NAME
--------------------------------------------------------- */

.zv-about-director-name {
  margin-bottom: 4px;

  font-family: var(--zv-font-heading);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;

  color: var(--zv-primary);
}

.zv-about-director-designation {
  margin-bottom: 22px;

  font-size: 14px;
  font-weight: 600;

  color: var(--zv-accent);
}

/* ---------------------------------------------------------
   DIRECTOR TEXT
--------------------------------------------------------- */

.zv-about-director-content p {
  margin: 0 0 16px;

  font-size: 15px;
  line-height: 1.8;

  color: var(--zv-text-light);
}

.zv-about-director-content p:last-of-type {
  margin-bottom: 25px;
}

.zv-about-director-intro {
  font-size: 16px !important;
  font-weight: 500;

  color: var(--zv-text) !important;
}

/* ---------------------------------------------------------
   SIGNATURE / ROLE
--------------------------------------------------------- */

.zv-about-director-signature {
  display: inline-flex;
  align-items: center;

  padding-top: 15px;

  border-top: 1px solid var(--zv-border);

  min-width: 180px;
}

.zv-about-director-signature span {
  font-family: var(--zv-font-heading);
  font-size: 14px;
  font-weight: 700;

  color: var(--zv-primary);
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-director-layout {
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 50px;
  }

  .zv-about-director-badge {
    right: -12px;
    bottom: 25px;
  }

  .zv-about-director-name {
    font-size: 22px;
  }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-director-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .zv-about-director-image-wrap {
    width: 100%;
    max-width: 430px;
  }

  .zv-about-director-badge {
    right: 15px;
    bottom: 20px;
  }

  .zv-about-director-content {
    max-width: 100%;
  }

  .zv-about-director-content p {
    font-size: 14px;
    line-height: 1.7;
  }

  .zv-about-director-intro {
    font-size: 15px !important;
  }
}

/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-director-layout {
    gap: 32px;
  }

  .zv-about-director-image {
    border-radius: var(--zv-radius-lg);
  }

  .zv-about-director-badge {
    right: 12px;
    bottom: 15px;
    padding: 12px 17px;
  }

  .zv-about-director-name {
    font-size: 21px;
  }
}

/* =========================================================
   ABOUT PAGE - OUR TEAM
========================================================= */

.zv-about-team {
  position: relative;
  overflow: hidden;
  background: var(--zv-white);
  padding: 35px 0;
}

/* ---------------------------------------------------------
   SECTION HEADER
--------------------------------------------------------- */

.zv-about-team-header {
  max-width: 820px;
  margin: 0 auto 55px;
  text-align: center;
}

.zv-about-team-header .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
}

.zv-about-team-header .zv-section-heading {
  margin-bottom: 18px;
}

.zv-about-team-header .zv-section-heading span {
  color: var(--zv-secondary);
}

.zv-about-team-header .zv-section-description {
  max-width: 740px;
  margin: 0 auto;
}

/* ---------------------------------------------------------
   TEAM GRID
--------------------------------------------------------- */

.zv-about-team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

/* ---------------------------------------------------------
   TEAM CARD
--------------------------------------------------------- */

.zv-about-team-card {
  position: relative;

  background: var(--zv-white);

  border: 1px solid var(--zv-border-light);
  border-radius: var(--zv-radius-lg);

  overflow: hidden;

  box-shadow: var(--zv-shadow-sm);

  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-about-team-card:hover {
  transform: translateY(-7px);

  border-color: var(--zv-border);

  box-shadow: var(--zv-shadow-md);
}

/* ---------------------------------------------------------
   TEAM IMAGE
--------------------------------------------------------- */

.zv-about-team-image {
  position: relative;

  aspect-ratio: 1 / 1.08;

  overflow: hidden;

  background: var(--zv-light-2);
}

.zv-about-team-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition: transform var(--zv-transition-slow);
}

.zv-about-team-card:hover .zv-about-team-image img {
  transform: scale(1.04);
}

/* ---------------------------------------------------------
   SOCIAL
--------------------------------------------------------- */

.zv-about-team-social {
  position: absolute;

  right: 16px;
  bottom: 16px;

  opacity: 0;

  transform: translateY(8px);

  transition:
    opacity var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-team-card:hover .zv-about-team-social {
  opacity: 1;
  transform: translateY(0);
}

.zv-about-team-social a {
  width: 38px;
  height: 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);

  border-radius: 50%;

  font-size: 14px;
  font-weight: 700;

  color: var(--zv-white);

  text-decoration: none;

  transition:
    background var(--zv-transition),
    transform var(--zv-transition);
}

.zv-about-team-social a:hover {
  background: var(--zv-accent);
  transform: translateY(-2px);
}

/* ---------------------------------------------------------
   TEAM INFO
--------------------------------------------------------- */

.zv-about-team-info {
  padding: 22px 22px 24px;

  text-align: center;
}

.zv-about-team-info h3 {
  margin: 0 0 6px;

  font-family: var(--zv-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;

  color: var(--zv-primary);
}

.zv-about-team-info span {
  display: block;

  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;

  color: var(--zv-accent);
}

/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {
  .zv-about-team-header {
    margin-bottom: 40px;
  }

  .zv-about-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {
  .zv-about-team-header {
    margin-bottom: 32px;
  }

  .zv-about-team-grid {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin: 0 auto;
    gap: 18px;
  }

  .zv-about-team-image {
    aspect-ratio: 1 / 1;
  }

  .zv-about-team-info {
    padding: 20px;
  }

  .zv-about-team-info h3 {
    font-size: 17px;
  }
}

/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {
  .zv-about-team-info {
    padding: 18px;
  }
}







/* =========================================================
   CONTACT PAGE - INTRO
========================================================= */

.zv-contact-intro {
  position: relative;
  overflow: hidden;
  background: var(--zv-white);
}


/* ---------------------------------------------------------
   LAYOUT
--------------------------------------------------------- */

.zv-contact-intro-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 70px;
  align-items: center;
}


/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.zv-contact-intro-content {
  max-width: 720px;
}

.zv-contact-intro-content .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 15px;
}

.zv-contact-intro-content .zv-section-heading {
  margin-bottom: 22px;
}

.zv-contact-intro-content .zv-section-heading span {
  display: block;
  color: var(--zv-secondary);
}

.zv-contact-intro-content p {
  margin: 0 0 16px;

  font-size: 15px;
  line-height: 1.8;

  color: var(--zv-text-light);
}

.zv-contact-intro-content p:last-child {
  margin-bottom: 0;
}

.zv-contact-intro-lead {
  font-size: 17px !important;
  font-weight: 500;

  color: var(--zv-text) !important;
}


/* ---------------------------------------------------------
   RESPONSE HIGHLIGHT
--------------------------------------------------------- */

.zv-contact-intro-highlight {
  display: flex;
  gap: 22px;
  align-items: flex-start;

  padding: 32px;

  background: var(--zv-light);

  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);

  box-shadow: var(--zv-shadow-sm);
}

.zv-contact-intro-highlight-icon {
  flex: 0 0 62px;

  width: 62px;
  height: 62px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);

  border-radius: var(--zv-radius-md);

  box-shadow: 0 8px 20px rgba(11, 33, 72, 0.14);
}

.zv-contact-intro-highlight-icon span {
  font-size: 19px;
  font-weight: 800;

  color: var(--zv-white);
}

.zv-contact-intro-highlight-label {
  display: block;

  margin-bottom: 7px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  color: var(--zv-accent);
}

.zv-contact-intro-highlight h3 {
  margin: 0 0 10px;

  font-family: var(--zv-font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.35;

  color: var(--zv-primary);
}

.zv-contact-intro-highlight p {
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: var(--zv-text-light);
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {

  .zv-contact-intro-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .zv-contact-intro-content {
    max-width: 800px;
  }

  .zv-contact-intro-highlight {
    max-width: 650px;
  }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .zv-contact-intro-layout {
    gap: 30px;
  }

  .zv-contact-intro-lead {
    font-size: 16px !important;
  }

  .zv-contact-intro-content p {
    font-size: 14px;
    line-height: 1.7;
  }

  .zv-contact-intro-highlight {
    gap: 17px;
    padding: 24px 22px;

    border-radius: var(--zv-radius-md);
  }

  .zv-contact-intro-highlight-icon {
    flex-basis: 52px;

    width: 52px;
    height: 52px;
  }

  .zv-contact-intro-highlight h3 {
    font-size: 18px;
  }

}


/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {

  .zv-contact-intro-highlight {
    display: block;
  }

  .zv-contact-intro-highlight-icon {
    margin-bottom: 17px;
  }

}




/* =========================================================
   CONTACT PAGE - INFORMATION & FORM
========================================================= */

.zv-contact-details {
  position: relative;
  overflow: hidden;
  background: var(--zv-light);
  padding: 35px 0;
}


/* ---------------------------------------------------------
   MAIN GRID
--------------------------------------------------------- */

.zv-contact-details-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 70px;
  align-items: start;
}


/* ---------------------------------------------------------
   CONTACT INFORMATION
--------------------------------------------------------- */

.zv-contact-info {
  max-width: 520px;
}

.zv-contact-info .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
}

.zv-contact-info .zv-section-heading {
  margin-bottom: 20px;
}

.zv-contact-info .zv-section-heading span {
  display: block;
  color: var(--zv-secondary);
}

.zv-contact-info-intro {
  margin: 0 0 32px;

  font-size: 15px;
  line-height: 1.8;

  color: var(--zv-text-light);
}


/* ---------------------------------------------------------
   CONTACT INFO ITEM
--------------------------------------------------------- */

.zv-contact-info-item {
  display: flex;
  align-items: center;
  gap: 18px;

  margin-bottom: 20px;
  padding: 18px;

  background: var(--zv-white);

  border: 1px solid var(--zv-border-light);
  border-radius: var(--zv-radius-md);

  box-shadow: var(--zv-shadow-sm);

  transition:
    transform var(--zv-transition),
    box-shadow var(--zv-transition),
    border-color var(--zv-transition);
}

.zv-contact-info-item:hover {
  transform: translateX(5px);

  border-color: var(--zv-border);
  box-shadow: var(--zv-shadow-md);
}


/* ---------------------------------------------------------
   CONTACT ICON
--------------------------------------------------------- */

.zv-contact-info-icon {
  flex: 0 0 48px;

  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);

  border-radius: var(--zv-radius-sm);
}

.zv-contact-info-icon span {
  font-size: 17px;
  font-weight: 700;
  line-height: 1;

  color: var(--zv-white);
}


/* ---------------------------------------------------------
   CONTACT INFO CONTENT
--------------------------------------------------------- */

.zv-contact-info-content {
  min-width: 0;
}

.zv-contact-info-label {
  display: block;

  margin-bottom: 4px;

  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;

  letter-spacing: 0.07em;
  text-transform: uppercase;

  color: var(--zv-text-muted);
}

.zv-contact-info-content a,
.zv-contact-info-value {
  display: block;

  font-size: 15px;
  font-weight: 600;
  line-height: 1.5;

  color: var(--zv-primary);

  text-decoration: none;
}

.zv-contact-info-content a {
  transition: color var(--zv-transition);
}

.zv-contact-info-content a:hover {
  color: var(--zv-accent);
}


/* ---------------------------------------------------------
   CONTACT NOTE
--------------------------------------------------------- */

.zv-contact-info-note {
  margin-top: 28px;
  padding: 24px;

  background: var(--zv-primary);

  border-radius: var(--zv-radius-md);

  border-left: 4px solid var(--zv-accent);
}

.zv-contact-info-note strong {
  display: block;

  margin-bottom: 7px;

  font-family: var(--zv-font-heading);
  font-size: 17px;
  font-weight: 700;

  color: var(--zv-white);
}

.zv-contact-info-note p {
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: rgba(255, 255, 255, 0.78);
}


/* ---------------------------------------------------------
   FORM WRAPPER
--------------------------------------------------------- */

.zv-contact-form-wrapper {
  padding: 38px;

  background: var(--zv-white);

  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);

  box-shadow: var(--zv-shadow-md);
}

.zv-contact-form-header {
  margin-bottom: 28px;
}

.zv-contact-form-header .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
}

.zv-contact-form-header h3 {
  margin: 0 0 10px;

  font-family: var(--zv-font-heading);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.3;

  color: var(--zv-primary);
}

.zv-contact-form-header p {
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: var(--zv-text-light);
}


/* ---------------------------------------------------------
   CONTACT FORM 7
--------------------------------------------------------- */

.zv-contact-form .wpcf7 {
  width: 100%;
}

.zv-contact-form .wpcf7 form {
  margin: 0;
}

.zv-contact-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.zv-contact-form .wpcf7-form-control {
  width: 100%;
  box-sizing: border-box;
}

.zv-contact-form input[type="text"],
.zv-contact-form input[type="email"],
.zv-contact-form input[type="tel"],
.zv-contact-form input[type="number"],
.zv-contact-form input[type="url"],
.zv-contact-form input[type="date"],
.zv-contact-form select,
.zv-contact-form textarea {
  width: 100%;

  padding: 13px 15px;

  font-family: var(--zv-font-primary);
  font-size: 14px;
  line-height: 1.5;

  color: var(--zv-text);

  background: var(--zv-white);

  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-sm);

  outline: none;

  transition:
    border-color var(--zv-transition),
    box-shadow var(--zv-transition);
}

.zv-contact-form input[type="text"]:focus,
.zv-contact-form input[type="email"]:focus,
.zv-contact-form input[type="tel"]:focus,
.zv-contact-form input[type="number"]:focus,
.zv-contact-form input[type="url"]:focus,
.zv-contact-form input[type="date"]:focus,
.zv-contact-form select:focus,
.zv-contact-form textarea:focus {
  border-color: var(--zv-secondary);

  box-shadow: 0 0 0 3px rgba(23, 105, 194, 0.10);
}

.zv-contact-form textarea {
  min-height: 130px;
  resize: vertical;
}

.zv-contact-form input::placeholder,
.zv-contact-form textarea::placeholder {
  color: var(--zv-text-muted);
}


/* ---------------------------------------------------------
   FORM LABELS
--------------------------------------------------------- */

.zv-contact-form label {
  display: block;

  margin-bottom: 7px;

  font-size: 13px;
  font-weight: 600;

  color: var(--zv-text);
}


/* ---------------------------------------------------------
   SUBMIT BUTTON
--------------------------------------------------------- */

.zv-contact-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: auto;
  min-width: 170px;

  padding: 13px 24px;

  font-family: var(--zv-font-primary);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;

  letter-spacing: 0.02em;
  text-transform: uppercase;

  color: var(--zv-white);

  background: var(--zv-accent);

  border: 1px solid var(--zv-accent);
  border-radius: var(--zv-radius-sm);

  cursor: pointer;

  transition:
    background var(--zv-transition),
    border-color var(--zv-transition),
    transform var(--zv-transition),
    box-shadow var(--zv-transition);
}

.zv-contact-form input[type="submit"]:hover {
  background: var(--zv-accent-dark);
  border-color: var(--zv-accent-dark);

  transform: translateY(-2px);

  box-shadow: var(--zv-shadow-sm);
}


/* ---------------------------------------------------------
   CF7 MESSAGES
--------------------------------------------------------- */

.zv-contact-form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 15px;

  font-size: 13px;
  line-height: 1.6;

  border-radius: var(--zv-radius-sm);
}

.zv-contact-form .wpcf7-not-valid-tip {
  display: block;

  margin-top: 5px;

  font-size: 12px;
  line-height: 1.5;

  color: var(--zv-danger);
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {

  .zv-contact-details-grid {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .zv-contact-info {
    max-width: 750px;
  }

  .zv-contact-form-wrapper {
    max-width: 800px;
  }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .zv-contact-details-grid {
    gap: 32px;
  }

  .zv-contact-info-intro {
    font-size: 14px;
    line-height: 1.7;
  }

  .zv-contact-info-item {
    gap: 15px;
    padding: 16px;
  }

  .zv-contact-info-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .zv-contact-info-content a,
  .zv-contact-info-value {
    font-size: 14px;
  }

  .zv-contact-info-note {
    padding: 21px;
  }

  .zv-contact-form-wrapper {
    padding: 26px 21px;
    border-radius: var(--zv-radius-md);
  }

  .zv-contact-form-header h3 {
    font-size: 23px;
  }

}


/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {

  .zv-contact-info-item {
    align-items: flex-start;
  }

  .zv-contact-form-wrapper {
    padding: 23px 18px;
  }

  .zv-contact-form input[type="submit"] {
    width: 100%;
  }

}














/* =========================================================
   CONTACT PAGE - MAP / LOCATION
========================================================= */

.zv-contact-map {
  position: relative;
  overflow: hidden;
  background: var(--zv-white);
  padding: 35px 0;
}


/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

.zv-contact-map-header {
  max-width: 760px;
  margin: 0 auto 45px;
  text-align: center;
}

.zv-contact-map-header .zv-section-eyebrow {
  display: inline-flex;
  margin-bottom: 14px;
}

.zv-contact-map-header .zv-section-heading {
  margin-bottom: 16px;
}

.zv-contact-map-header .zv-section-description {
  max-width: 680px;
  margin: 0 auto;
}


/* ---------------------------------------------------------
   MAP WRAPPER
--------------------------------------------------------- */

.zv-contact-map-wrapper {
  width: 100%;
  overflow: hidden;

  border: 1px solid var(--zv-border);
  border-radius: var(--zv-radius-lg);

  box-shadow: var(--zv-shadow-md);
}


/* ---------------------------------------------------------
   PLACEHOLDER
--------------------------------------------------------- */

.zv-contact-map-placeholder {
  min-height: 360px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  padding: 50px 25px;

  text-align: center;

  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(23, 105, 194, 0.08),
      transparent 45%
    ),
    var(--zv-light);
}

.zv-contact-map-placeholder-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 20px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: var(--zv-primary);

  border-radius: 50%;

  box-shadow: var(--zv-shadow-md);
}

.zv-contact-map-placeholder-icon span {
  font-size: 26px;
  line-height: 1;
  color: var(--zv-white);
}

.zv-contact-map-placeholder h3 {
  margin: 0 0 10px;

  font-family: var(--zv-font-heading);
  font-size: 24px;
  font-weight: 700;

  color: var(--zv-primary);
}

.zv-contact-map-placeholder p {
  max-width: 520px;
  margin: 0;

  font-size: 14px;
  line-height: 1.7;

  color: var(--zv-text-light);
}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .zv-contact-map-header {
    margin-bottom: 32px;
  }

  .zv-contact-map-wrapper {
    border-radius: var(--zv-radius-md);
  }

  .zv-contact-map-placeholder {
    min-height: 300px;
    padding: 40px 20px;
  }

  .zv-contact-map-placeholder-icon {
    width: 56px;
    height: 56px;
  }

  .zv-contact-map-placeholder h3 {
    font-size: 21px;
  }

}































/* =========================================================
   CONTACT PAGE - CTA
========================================================= */

.zv-contact-cta {
  position: relative;
  overflow: hidden;
  padding: 35px 0;
  background: var(--zv-white);
}


/* ---------------------------------------------------------
   CTA BOX
--------------------------------------------------------- */

.zv-contact-cta-box {
  position: relative;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 45px;

  padding: 55px 60px;

  background: var(--zv-primary);

  border-radius: var(--zv-radius-xl);

  overflow: hidden;

  box-shadow: var(--zv-shadow-lg);
}


/* Decorative elements */

.zv-contact-cta-box::before {
  content: "";

  position: absolute;

  width: 320px;
  height: 320px;

  top: -180px;
  right: -80px;

  border: 1px solid rgba(255, 255, 255, 0.08);

  border-radius: 50%;
}

.zv-contact-cta-box::after {
  content: "";

  position: absolute;

  width: 220px;
  height: 220px;

  bottom: -150px;
  left: 35%;

  border: 1px solid rgba(255, 255, 255, 0.06);

  border-radius: 50%;
}


/* ---------------------------------------------------------
   CONTENT
--------------------------------------------------------- */

.zv-contact-cta-content {
  position: relative;
  z-index: 1;

  max-width: 720px;
}

.zv-contact-cta-eyebrow {
  display: inline-block;

  margin-bottom: 13px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  color: var(--zv-accent);
}

.zv-contact-cta-content h2 {
  margin: 0 0 16px;

  font-family: var(--zv-font-heading);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  line-height: 1.2;

  color: var(--zv-white);
}

.zv-contact-cta-content h2 span {
  display: block;

  color: var(--zv-secondary-light);
}

.zv-contact-cta-content p {
  max-width: 650px;

  margin: 0;

  font-size: 15px;
  line-height: 1.8;

  color: rgba(255, 255, 255, 0.78);
}


/* ---------------------------------------------------------
   CTA ACTION
--------------------------------------------------------- */

.zv-contact-cta-action {
  position: relative;
  z-index: 1;

  flex: 0 0 auto;
}

.zv-contact-cta-action .zv-button {
  white-space: nowrap;
}


/* ---------------------------------------------------------
   TABLET
--------------------------------------------------------- */

@media (max-width: 991px) {

  .zv-contact-cta-box {
    padding: 45px 40px;

    flex-direction: column;
    align-items: flex-start;
  }

  .zv-contact-cta-action {
    width: auto;
  }

}


/* ---------------------------------------------------------
   MOBILE
--------------------------------------------------------- */

@media (max-width: 767px) {

  .zv-contact-cta-box {
    gap: 28px;

    padding: 38px 25px;

    border-radius: var(--zv-radius-lg);
  }

  .zv-contact-cta-content h2 {
    font-size: 28px;
  }

  .zv-contact-cta-content p {
    font-size: 14px;
    line-height: 1.7;
  }

  .zv-contact-cta-action {
    width: 100%;
  }

  .zv-contact-cta-action .zv-button {
    width: 100%;
  }

}


/* ---------------------------------------------------------
   SMALL MOBILE
--------------------------------------------------------- */

@media (max-width: 480px) {

  .zv-contact-cta-box {
    padding: 32px 20px;
  }

  .zv-contact-cta-content h2 {
    font-size: 25px;
  }

}





/* =========================================================
   CASE STUDIES PAGE
========================================================= */

/* =========================================================
   CASE STUDIES INTRO
========================================================= */

.zv-case-studies-intro {
    padding: 35px 0 40px;
    background: var(--zv-white);
}

.zv-case-studies-intro .zv-section-header {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
}


/* =========================================================
   CASE STUDIES LIST
========================================================= */

.zv-case-studies-list {
    padding: 25px 0 90px;
    background: var(--zv-light);
}


/* =========================================================
   CASE STUDIES GRID
========================================================= */

.zv-case-studies-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}


/* =========================================================
   CASE STUDY CARD
========================================================= */

.zv-case-study-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: var(--zv-white);
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-lg);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-case-study-card:hover {
    transform: translateY(-7px);
    box-shadow: var(--zv-shadow-md);
}


/* =========================================================
   CASE STUDY IMAGE
========================================================= */

.zv-case-study-image {
    position: relative;
    height: 250px;
    overflow: hidden;
    background: var(--zv-light-2);
}

.zv-case-study-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(
            135deg,
            var(--zv-primary),
            var(--zv-primary-light)
        );
    color: var(--zv-white);
    font-size: 20px;
    font-weight: 700;
}

.zv-case-study-placeholder span {
    position: relative;
    padding: 10px 18px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: var(--zv-radius-pill);
}


/* =========================================================
   CASE STUDY CONTENT
========================================================= */

.zv-case-study-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 30px;
}


/* =========================================================
   CATEGORY
========================================================= */

.zv-case-study-category {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}


/* =========================================================
   TITLE
========================================================= */

.zv-case-study-content h3 {
    margin: 0 0 15px;
    color: var(--zv-dark);
    font-size: 22px;
    line-height: 1.35;
    font-weight: 700;
}

.zv-case-study-content p {
    margin: 0 0 25px;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.75;
}


/* =========================================================
   LINK
========================================================= */

.zv-case-study-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    width: fit-content;
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition:
        color var(--zv-transition-fast),
        gap var(--zv-transition-fast);
}

.zv-case-study-link:hover {
    gap: 11px;
    color: var(--zv-accent);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991px) {

    .zv-case-studies-intro {
        padding: 75px 0 45px;
    }

    .zv-case-studies-list {
        padding: 20px 0 75px;
    }

    .zv-case-studies-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .zv-case-study-image {
        height: 220px;
    }

}


@media (max-width: 767px) {

    .zv-case-studies-intro {
        padding: 60px 0 35px;
    }

    .zv-case-studies-list {
        padding: 15px 0 60px;
    }

    .zv-case-studies-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .zv-case-study-image {
        height: 220px;
    }

    .zv-case-study-content {
        padding: 24px;
    }

    .zv-case-study-content h3 {
        font-size: 20px;
    }

}


@media (max-width: 480px) {

    .zv-case-study-image {
        height: 200px;
    }

    .zv-case-study-content {
        padding: 20px;
    }

}




/* =========================================================
   CAREER PAGE
========================================================= */

/* =========================================================
   CAREER INTRO
========================================================= */

.zv-career-intro {
    padding: 90px 0 55px;
    background: var(--zv-white);
}

.zv-career-intro .zv-section-header {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
}


/* =========================================================
   CAREER BENEFITS
========================================================= */

.zv-career-benefits {
    padding: 25px 0 35px;
    background: var(--zv-light);
}

.zv-career-benefits .zv-section-header {
    max-width: 760px;
    margin: 0 auto 50px;
    text-align: center;
}

.zv-career-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}


/* =========================================================
   BENEFIT CARD
========================================================= */

.zv-career-benefit-card {
    padding: 30px;
    background: var(--zv-white);
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-lg);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-career-benefit-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--zv-shadow-md);
}

.zv-career-benefit-card .zv-icon-box {
    margin-bottom: 22px;
}

.zv-career-benefit-card h3 {
    margin: 0 0 12px;
    color: var(--zv-dark);
    font-size: 20px;
    line-height: 1.35;
}

.zv-career-benefit-card p {
    margin: 0;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   OPEN POSITIONS
========================================================= */

.zv-career-openings {
    padding: 35px 0;
    background: var(--zv-white);
}

.zv-career-openings .zv-section-header {
    max-width: 760px;
    margin: 0 auto 50px;
    text-align: center;
}


/* =========================================================
   JOB LIST
========================================================= */

.zv-career-jobs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.zv-career-job {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: 32px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-lg);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition),
        border-color var(--zv-transition);
}

.zv-career-job:hover {
    transform: translateY(-3px);
    border-color: var(--zv-border);
    box-shadow: var(--zv-shadow-md);
}

.zv-career-job-content {
    min-width: 0;
    flex: 1;
}

.zv-career-job-type {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--zv-accent);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.zv-career-job h3 {
    margin: 0 0 10px;
    color: var(--zv-dark);
    font-size: 22px;
    line-height: 1.35;
}

.zv-career-job p {
    max-width: 750px;
    margin: 0 0 16px;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.75;
}

.zv-career-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.zv-career-job-meta span {
    position: relative;
    color: var(--zv-text-muted);
    font-size: 13px;
    font-weight: 600;
}

.zv-career-job-meta span + span {
    padding-left: 18px;
}

.zv-career-job-meta span + span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--zv-accent);
    transform: translateY(-50%);
}

.zv-career-job-action {
    flex-shrink: 0;
}


/* =========================================================
   APPLICATION
========================================================= */
.zv-career-application {
    padding: 35px 0;
    background: var(--zv-light);
}

.zv-career-application-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 70px;
    align-items: start;
}

.zv-career-application-content {
    padding-top: 10px;
}

.zv-career-application-content .zv-section-heading {
    margin-bottom: 20px;
}

.zv-career-application-content p {
    margin: 0 0 18px;
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
}


/* =========================================================
   APPLICATION FORM
========================================================= */

.zv-career-application-form {
    padding: 35px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-lg);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-md);
}

.zv-career-application-form .wpcf7 {
    width: 100%;
}

.zv-career-application-form .wpcf7 form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.zv-career-application-form .wpcf7-form-control-wrap {
    display: block;
    margin-bottom: 0;
}

.zv-career-application-form input:not(
    [type="submit"]
):not(
    [type="checkbox"]
):not(
    [type="radio"]
),
.zv-career-application-form textarea,
.zv-career-application-form select {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-radius-sm);
    background: var(--zv-white);
    color: var(--zv-text);
    font-family: inherit;
    font-size: 14px;
    outline: none;
    transition:
        border-color var(--zv-transition-fast),
        box-shadow var(--zv-transition-fast);
}

.zv-career-application-form textarea {
    min-height: 140px;
    resize: vertical;
}

.zv-career-application-form input:focus,
.zv-career-application-form textarea:focus,
.zv-career-application-form select:focus {
    border-color: var(--zv-secondary);
    box-shadow: 0 0 0 3px rgba(23, 105, 194, 0.10);
}

.zv-career-application-form input[type="submit"] {
    width: fit-content;
    padding: 14px 25px;
    border: 0;
    border-radius: var(--zv-radius-sm);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background var(--zv-transition-fast),
        transform var(--zv-transition-fast);
}

.zv-career-application-form input[type="submit"]:hover {
    background: var(--zv-accent-dark);
    transform: translateY(-2px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .zv-career-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 991px) {

    .zv-career-intro {
        padding: 75px 0 45px;
    }

    .zv-career-benefits {
        padding: 20px 0 75px;
    }

    .zv-career-openings {
        padding: 75px 0;
    }

    .zv-career-application {
        padding: 75px 0;
    }

    .zv-career-application-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

}


@media (max-width: 767px) {

    .zv-career-intro {
        padding: 60px 0 35px;
    }

    .zv-career-benefits {
        padding: 15px 0 60px;
    }

    .zv-career-benefits .zv-section-header,
    .zv-career-openings .zv-section-header {
        margin-bottom: 35px;
    }

    .zv-career-benefits-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .zv-career-benefit-card {
        padding: 25px;
    }

    .zv-career-openings {
        padding: 60px 0;
    }

    .zv-career-job {
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
        padding: 25px;
    }

    .zv-career-job-action {
        width: 100%;
    }

    .zv-career-job-action .zv-button {
        width: 100%;
        justify-content: center;
    }

    .zv-career-application {
        padding: 60px 0;
    }

    .zv-career-application-form {
        padding: 25px;
    }

}


@media (max-width: 480px) {

    .zv-career-benefit-card {
        padding: 22px;
    }

    .zv-career-job {
        padding: 22px;
    }

    .zv-career-job h3 {
        font-size: 20px;
    }

    .zv-career-application-form {
        padding: 20px;
    }

}


/* =========================================================
   ZENVENTA — HOME SERVICES PAGE
   Centered layout + responsive sections
========================================================= */

/* Main page containment */
.zv-home-services-page {
    width: 100%;
    overflow: hidden;
}

.zv-home-services-page .container {
    width: min(100% - 48px, var(--zv-container));
    max-width: var(--zv-container);
    margin-right: auto;
    margin-left: auto;
}

.zv-home-services-page section {
    box-sizing: border-box;
}

.zv-home-services-page section *,
.zv-home-services-page section *::before,
.zv-home-services-page section *::after {
    box-sizing: border-box;
}

/* Section spacing */
.zv-home-services-page .zv-hs-intro,
.zv-home-services-page .zv-hs-businesses,
.zv-home-services-page .zv-hs-challenges,
.zv-home-services-page .zv-hs-solutions,
.zv-home-services-page .zv-hs-process,
.zv-home-services-page .zv-hs-cta {
    padding: 35px 0;
}

/* Shared typography */
.zv-home-services-page .section-subtitle {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.zv-home-services-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.25;
}

.zv-home-services-page h3 {
    margin-top: 0;
    color: var(--zv-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
}

.zv-home-services-page p {
    margin-top: 0;
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
}

.zv-home-services-page .section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-home-services-page .section-heading > p {
    max-width: 650px;
    margin-right: auto;
    margin-left: auto;
}

/* =========================================================
   INTRODUCTION — TEXT + IMAGE
========================================================= */

.zv-home-services-page .zv-hs-intro {
    background: var(--zv-white);
}

.zv-home-services-page .zv-hs-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 48px;
}

.zv-home-services-page .zv-hs-intro-content {
    min-width: 0;
}

.zv-home-services-page .zv-hs-intro-content h2 {
    max-width: 560px;
}

.zv-home-services-page .zv-hs-intro-content p {
    margin-bottom: 18px;
}

.zv-home-services-page .zv-hs-intro-image {
    width: 100%;
    height: 390px;
    overflow: hidden;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-light-2);
}

.zv-home-services-page .zv-hs-intro-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Shared buttons used inside this page */
.zv-home-services-page .zv-hs-intro-content .zv-button,
.zv-home-services-page .zv-hs-challenges-panel .zv-button,
.zv-home-services-page .zv-hs-cta-inner .zv-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--zv-accent);
    border-radius: var(--zv-radius-pill);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: var(--zv-transition);
}

.zv-home-services-page .zv-hs-intro-content .zv-button {
    margin-top: 8px;
}

.zv-home-services-page .zv-hs-intro-content .zv-button:hover,
.zv-home-services-page .zv-hs-challenges-panel .zv-button:hover {
    border-color: var(--zv-accent-dark);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
    transform: translateY(-2px);
}

/* =========================================================
   BUSINESS TYPES
========================================================= */

.zv-home-services-page .zv-hs-businesses {
    background: var(--zv-light);
}

.zv-home-services-page .zv-hs-business-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-home-services-page .zv-hs-business-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-home-services-page .zv-hs-business-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-home-services-page .zv-hs-number {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: var(--zv-radius-md);
    background: var(--zv-light-2);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 700;
}

.zv-home-services-page .zv-hs-business-card h3 {
    margin-bottom: 12px;
}

.zv-home-services-page .zv-hs-business-card p {
    margin-bottom: 0;
    font-size: 15px;
}

/* =========================================================
   CHALLENGES
========================================================= */

.zv-home-services-page .zv-hs-challenges {
    background: var(--zv-white);
}

.zv-home-services-page .zv-hs-challenges-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: 48px;
}

.zv-home-services-page .zv-hs-challenges-content {
    min-width: 0;
}

.zv-home-services-page .zv-hs-check-list {
    display: grid;
    gap: 14px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.zv-home-services-page .zv-hs-check-list li {
    position: relative;
    padding-left: 34px;
    color: var(--zv-text);
    font-size: 15px;
    line-height: 1.7;
}

.zv-home-services-page .zv-hs-check-list li::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(25, 135, 84, 0.12);
    color: var(--zv-success);
    content: "✓";
    font-size: 13px;
    font-weight: 700;
}

.zv-home-services-page .zv-hs-challenges-panel {
    padding: 38px;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-primary);
    box-shadow: var(--zv-shadow-md);
}

.zv-home-services-page .zv-hs-challenges-panel h3 {
    margin-bottom: 16px;
    color: var(--zv-white);
    font-size: 27px;
}

.zv-home-services-page .zv-hs-challenges-panel p {
    margin-bottom: 24px;
    color: rgba(255, 255, 255, 0.85);
}

/* =========================================================
   SOLUTIONS
========================================================= */

.zv-home-services-page .zv-hs-solutions {
    background: var(--zv-light);
}

.zv-home-services-page .zv-hs-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-home-services-page .zv-hs-solution-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-home-services-page .zv-hs-solution-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-home-services-page .zv-hs-solution-card h3 {
    margin-bottom: 12px;
}

.zv-home-services-page .zv-hs-solution-card p {
    margin-bottom: 0;
    font-size: 15px;
}

/* =========================================================
   PROCESS
========================================================= */

.zv-home-services-page .zv-hs-process {
    background: var(--zv-white);
}

.zv-home-services-page .zv-hs-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-home-services-page .zv-hs-process-item {
    min-width: 0;
    padding: 26px 24px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-home-services-page .zv-hs-process-item:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-home-services-page .zv-hs-process-item > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 28px;
    font-weight: 800;
}

.zv-home-services-page .zv-hs-process-item h3 {
    margin-bottom: 10px;
}

.zv-home-services-page .zv-hs-process-item p {
    margin-bottom: 0;
    font-size: 15px;
}

/* =========================================================
   FINAL CTA
========================================================= */

.zv-home-services-page .zv-hs-cta {
    background: var(--zv-primary);
}

.zv-home-services-page .zv-hs-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.zv-home-services-page .zv-hs-cta-inner .section-subtitle {
    color: var(--zv-accent-light);
}

.zv-home-services-page .zv-hs-cta-inner h2 {
    color: var(--zv-white);
}

.zv-home-services-page .zv-hs-cta-inner p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.85);
}

.zv-home-services-page .zv-hs-cta-inner .zv-button:hover {
    border-color: var(--zv-white);
    background: var(--zv-white);
    color: var(--zv-primary);
    transform: translateY(-2px);
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
    .zv-home-services-page .zv-hs-intro,
    .zv-home-services-page .zv-hs-businesses,
    .zv-home-services-page .zv-hs-challenges,
    .zv-home-services-page .zv-hs-solutions,
    .zv-home-services-page .zv-hs-process,
    .zv-home-services-page .zv-hs-cta {
        padding: 65px 0;
    }

    .zv-home-services-page .zv-hs-intro-grid,
    .zv-home-services-page .zv-hs-challenges-grid {
        gap: 32px;
    }

    .zv-home-services-page .zv-hs-business-grid,
    .zv-home-services-page .zv-hs-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-home-services-page .zv-hs-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-home-services-page .zv-hs-intro-image {
        height: 340px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
    .zv-home-services-page .container {
        width: calc(100% - 36px);
    }

    .zv-home-services-page .zv-hs-intro,
    .zv-home-services-page .zv-hs-businesses,
    .zv-home-services-page .zv-hs-challenges,
    .zv-home-services-page .zv-hs-solutions,
    .zv-home-services-page .zv-hs-process,
    .zv-home-services-page .zv-hs-cta {
        padding: 48px 0;
    }

    .zv-home-services-page h2 {
        font-size: 29px;
        line-height: 1.3;
    }

    .zv-home-services-page h3 {
        font-size: 20px;
    }

    .zv-home-services-page p {
        font-size: 15px;
    }

    .zv-home-services-page .zv-hs-intro-grid,
    .zv-home-services-page .zv-hs-challenges-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .zv-home-services-page .zv-hs-intro-image {
        height: 280px;
    }

    .zv-home-services-page .zv-hs-business-grid,
    .zv-home-services-page .zv-hs-solutions-grid,
    .zv-home-services-page .zv-hs-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .zv-home-services-page .section-heading {
        margin-bottom: 30px;
    }

    .zv-home-services-page .zv-hs-business-card,
    .zv-home-services-page .zv-hs-solution-card {
        padding: 25px 23px;
    }

    .zv-home-services-page .zv-hs-challenges-panel {
        padding: 28px 24px;
    }

    .zv-home-services-page .zv-hs-process-item {
        padding: 24px;
    }

    .zv-home-services-page .zv-hs-cta-inner .zv-button {
        width: 100%;
        max-width: 320px;
    }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
    .zv-home-services-page .container {
        width: calc(100% - 30px);
    }

    .zv-home-services-page h2 {
        font-size: 26px;
    }

    .zv-home-services-page .zv-hs-intro-image {
        height: 230px;
    }

    .zv-home-services-page .zv-hs-business-card,
    .zv-home-services-page .zv-hs-solution-card,
    .zv-home-services-page .zv-hs-challenges-panel {
        padding: 22px 19px;
    }

    .zv-home-services-page .zv-hs-intro-content .zv-button,
    .zv-home-services-page .zv-hs-challenges-panel .zv-button {
        width: 100%;
    }
}

/* =========================================================
   HOME SERVICES FAQ SECTION
========================================================= */

.zv-home-services-page .zv-hs-faq {
    padding: 35px 0;
    background: var(--zv-light);
}

.zv-home-services-page .zv-hs-faq .section-heading {
    max-width: 760px;
    margin: 0 auto 40px;
    text-align: center;
}

.zv-home-services-page .zv-hs-faq-list {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.zv-home-services-page .zv-hs-faq-item {
    margin-bottom: 15px;
    overflow: hidden;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition:
        border-color var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-home-services-page .zv-hs-faq-item:hover,
.zv-home-services-page .zv-hs-faq-item[open] {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-home-services-page .zv-hs-faq-item summary {
    position: relative;
    display: flex;
    min-height: 70px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 25px;
    color: var(--zv-primary);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}

.zv-home-services-page .zv-hs-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-home-services-page .zv-hs-faq-item summary::marker {
    content: "";
}

.zv-home-services-page .zv-hs-faq-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--zv-light-2);
    transition:
        background var(--zv-transition),
        transform var(--zv-transition);
}

.zv-home-services-page .zv-hs-faq-icon::before,
.zv-home-services-page .zv-hs-faq-icon::after {
    position: absolute;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--zv-secondary);
    content: "";
}

.zv-home-services-page .zv-hs-faq-icon::after {
    transform: rotate(90deg);
    transition: transform var(--zv-transition);
}

.zv-home-services-page .zv-hs-faq-item[open] .zv-hs-faq-icon {
    background: var(--zv-primary);
}

.zv-home-services-page .zv-hs-faq-item[open] .zv-hs-faq-icon::before,
.zv-home-services-page .zv-hs-faq-item[open] .zv-hs-faq-icon::after {
    background: var(--zv-white);
}

.zv-home-services-page .zv-hs-faq-item[open] .zv-hs-faq-icon::after {
    transform: rotate(0);
}

.zv-home-services-page .zv-hs-faq-answer {
    padding: 0 25px 22px;
}

.zv-home-services-page .zv-hs-faq-answer p {
    margin: 0;
    padding-top: 17px;
    border-top: 1px solid var(--zv-border-light);
    font-size: 15px;
    line-height: 1.8;
}

/* FAQ contact link */
.zv-home-services-page .zv-hs-faq-bottom {
    margin-top: 35px;
    text-align: center;
}

.zv-home-services-page .zv-hs-faq-bottom p {
    margin-bottom: 18px;
}

.zv-home-services-page .zv-hs-faq-bottom .zv-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--zv-accent);
    border-radius: var(--zv-radius-pill);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--zv-transition);
}

.zv-home-services-page .zv-hs-faq-bottom .zv-button:hover {
    border-color: var(--zv-accent-dark);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
}

/* Tablet */
@media (max-width: 767px) {
    .zv-home-services-page .zv-hs-faq {
        padding: 50px 0;
    }

    .zv-home-services-page .zv-hs-faq .section-heading {
        margin-bottom: 28px;
    }

    .zv-home-services-page .zv-hs-faq-item summary {
        min-height: 64px;
        padding: 19px 18px;
        font-size: 16px;
        gap: 14px;
    }

    .zv-home-services-page .zv-hs-faq-answer {
        padding: 0 18px 19px;
    }

    .zv-home-services-page .zv-hs-faq-answer p {
        font-size: 14px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .zv-home-services-page .zv-hs-faq-item summary {
        padding: 17px 15px;
        font-size: 15px;
    }

    .zv-home-services-page .zv-hs-faq-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }

    .zv-home-services-page .zv-hs-faq-answer {
        padding: 0 15px 17px;
    }

    .zv-home-services-page .zv-hs-faq-bottom .zv-button {
        width: 100%;
        max-width: 320px;
    }
}


/* =========================================================
   ZENVENTA — E-COMMERCE INDUSTRY PAGE
========================================================= */

.zv-ecommerce-page {
    width: 100%;
    overflow: hidden;
}

.zv-ecommerce-page .container {
    width: min(100% - 48px, var(--zv-container));
    max-width: var(--zv-container);
    margin-inline: auto;
}

.zv-ecommerce-page section,
.zv-ecommerce-page section *,
.zv-ecommerce-page section *::before,
.zv-ecommerce-page section *::after {
    box-sizing: border-box;
}

.zv-ecommerce-page .zv-ec-intro,
.zv-ecommerce-page .zv-ec-challenges,
.zv-ecommerce-page .zv-ec-services,
.zv-ecommerce-page .zv-ec-platforms,
.zv-ecommerce-page .zv-ec-process,
.zv-ecommerce-page .zv-ec-faq,
.zv-ecommerce-page .zv-ec-cta {
    padding: 35px 0;
}

.zv-ecommerce-page .section-subtitle {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.zv-ecommerce-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.25;
}

.zv-ecommerce-page h3 {
    margin-top: 0;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.zv-ecommerce-page p {
    margin-top: 0;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.8;
}

.zv-ecommerce-page .section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-ecommerce-page .section-heading > p {
    max-width: 650px;
    margin-inline: auto;
}

/* Buttons */
.zv-ecommerce-page .zv-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--zv-accent);
    border-radius: var(--zv-radius-pill);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-button:hover {
    border-color: var(--zv-accent-dark);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
    transform: translateY(-2px);
}

/* Introduction */
.zv-ecommerce-page .zv-ec-intro {
    background: var(--zv-white);
}

.zv-ecommerce-page .zv-ec-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 48px;
}

.zv-ecommerce-page .zv-ec-intro-content {
    min-width: 0;
}

.zv-ecommerce-page .zv-ec-intro-content h2 {
    max-width: 560px;
}

.zv-ecommerce-page .zv-ec-intro-content p {
    margin-bottom: 18px;
}

.zv-ecommerce-page .zv-ec-intro-content .zv-button {
    margin-top: 8px;
}

.zv-ecommerce-page .zv-ec-intro-image {
    height: 390px;
    overflow: hidden;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-light-2);
}

.zv-ecommerce-page .zv-ec-intro-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Challenges */
.zv-ecommerce-page .zv-ec-challenges {
    background: var(--zv-light);
}

.zv-ecommerce-page .zv-ec-challenges-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-ecommerce-page .zv-ec-challenge-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-challenge-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-ecommerce-page .zv-ec-number {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: var(--zv-radius-md);
    background: var(--zv-light-2);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 700;
}

.zv-ecommerce-page .zv-ec-challenge-card h3 {
    margin-bottom: 12px;
}

.zv-ecommerce-page .zv-ec-challenge-card p {
    margin-bottom: 0;
}

/* Services */
.zv-ecommerce-page .zv-ec-services {
    background: var(--zv-white);
}

.zv-ecommerce-page .zv-ec-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-ecommerce-page .zv-ec-service-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-service-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-ecommerce-page .zv-ec-service-card h3 {
    margin-bottom: 12px;
}

.zv-ecommerce-page .zv-ec-service-card p {
    margin-bottom: 0;
}

/* Platforms */
.zv-ecommerce-page .zv-ec-platforms {
    background: var(--zv-light);
}

.zv-ecommerce-page .zv-ec-platforms-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 55px;
}

.zv-ecommerce-page .zv-ec-platforms-content h2 {
    max-width: 560px;
}

.zv-ecommerce-page .zv-ec-platforms-content p {
    margin-bottom: 18px;
}

.zv-ecommerce-page .zv-ec-platforms-content .zv-button {
    margin-top: 8px;
}

.zv-ecommerce-page .zv-ec-platform-list {
    display: grid;
    gap: 15px;
}

.zv-ecommerce-page .zv-ec-platform-item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 22px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-platform-item:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-sm);
}

.zv-ecommerce-page .zv-ec-platform-item > span {
    display: inline-flex;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: var(--zv-radius-md);
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 13px;
    font-weight: 700;
}

.zv-ecommerce-page .zv-ec-platform-item h3 {
    margin-bottom: 5px;
}

.zv-ecommerce-page .zv-ec-platform-item p {
    margin-bottom: 0;
    font-size: 14px;
}

/* Process */
.zv-ecommerce-page .zv-ec-process {
    background: var(--zv-white);
}

.zv-ecommerce-page .zv-ec-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-ecommerce-page .zv-ec-process-item {
    min-width: 0;
    padding: 26px 24px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-process-item:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-ecommerce-page .zv-ec-process-item > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 28px;
    font-weight: 800;
}

.zv-ecommerce-page .zv-ec-process-item h3 {
    margin-bottom: 10px;
}

.zv-ecommerce-page .zv-ec-process-item p {
    margin-bottom: 0;
}

/* FAQ */
.zv-ecommerce-page .zv-ec-faq {
    background: var(--zv-light);
}

.zv-ecommerce-page .zv-ec-faq-list {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.zv-ecommerce-page .zv-ec-faq-item {
    margin-bottom: 15px;
    overflow: hidden;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-faq-item:hover,
.zv-ecommerce-page .zv-ec-faq-item[open] {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-ecommerce-page .zv-ec-faq-item summary {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 21px 24px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}

.zv-ecommerce-page .zv-ec-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-ecommerce-page .zv-ec-faq-item summary::marker {
    content: "";
}

.zv-ecommerce-page .zv-ec-faq-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--zv-light-2);
}

.zv-ecommerce-page .zv-ec-faq-icon::before,
.zv-ecommerce-page .zv-ec-faq-icon::after {
    position: absolute;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--zv-secondary);
    content: "";
}

.zv-ecommerce-page .zv-ec-faq-icon::after {
    transform: rotate(90deg);
    transition: transform var(--zv-transition);
}

.zv-ecommerce-page .zv-ec-faq-item[open] .zv-ec-faq-icon {
    background: var(--zv-primary);
}

.zv-ecommerce-page .zv-ec-faq-item[open] .zv-ec-faq-icon::before,
.zv-ecommerce-page .zv-ec-faq-item[open] .zv-ec-faq-icon::after {
    background: var(--zv-white);
}

.zv-ecommerce-page .zv-ec-faq-item[open] .zv-ec-faq-icon::after {
    transform: rotate(0);
}

.zv-ecommerce-page .zv-ec-faq-answer {
    padding: 0 24px 22px;
}

.zv-ecommerce-page .zv-ec-faq-answer p {
    margin-bottom: 0;
    padding-top: 17px;
    border-top: 1px solid var(--zv-border-light);
}

/* Final CTA */
.zv-ecommerce-page .zv-ec-cta {
    background: var(--zv-primary);
}

.zv-ecommerce-page .zv-ec-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.zv-ecommerce-page .zv-ec-cta-inner .section-subtitle {
    color: var(--zv-accent-light);
}

.zv-ecommerce-page .zv-ec-cta-inner h2 {
    color: var(--zv-white);
}

.zv-ecommerce-page .zv-ec-cta-inner p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.85);
}

/* Tablet */
@media (max-width: 1024px) {
    .zv-ecommerce-page .zv-ec-intro,
    .zv-ecommerce-page .zv-ec-challenges,
    .zv-ecommerce-page .zv-ec-services,
    .zv-ecommerce-page .zv-ec-platforms,
    .zv-ecommerce-page .zv-ec-process,
    .zv-ecommerce-page .zv-ec-faq,
    .zv-ecommerce-page .zv-ec-cta {
        padding: 65px 0;
    }

    .zv-ecommerce-page .zv-ec-challenges-grid,
    .zv-ecommerce-page .zv-ec-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ecommerce-page .zv-ec-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ecommerce-page .zv-ec-intro-grid,
    .zv-ecommerce-page .zv-ec-platforms-grid {
        gap: 32px;
    }

    .zv-ecommerce-page .zv-ec-intro-image {
        height: 340px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .zv-ecommerce-page .container {
        width: calc(100% - 36px);
    }

    .zv-ecommerce-page .zv-ec-intro,
    .zv-ecommerce-page .zv-ec-challenges,
    .zv-ecommerce-page .zv-ec-services,
    .zv-ecommerce-page .zv-ec-platforms,
    .zv-ecommerce-page .zv-ec-process,
    .zv-ecommerce-page .zv-ec-faq,
    .zv-ecommerce-page .zv-ec-cta {
        padding: 48px 0;
    }

    .zv-ecommerce-page h2 {
        font-size: 29px;
    }

    .zv-ecommerce-page .zv-ec-intro-grid,
    .zv-ecommerce-page .zv-ec-platforms-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .zv-ecommerce-page .zv-ec-intro-image {
        height: 280px;
    }

    .zv-ecommerce-page .zv-ec-challenges-grid,
    .zv-ecommerce-page .zv-ec-services-grid,
    .zv-ecommerce-page .zv-ec-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .zv-ecommerce-page .section-heading {
        margin-bottom: 30px;
    }

    .zv-ecommerce-page .zv-ec-challenge-card,
    .zv-ecommerce-page .zv-ec-service-card {
        padding: 25px 23px;
    }

    .zv-ecommerce-page .zv-ec-platform-item {
        padding: 19px;
    }

    .zv-ecommerce-page .zv-ec-faq-item summary {
        min-height: 62px;
        padding: 18px;
        font-size: 15px;
    }

    .zv-ecommerce-page .zv-ec-faq-answer {
        padding: 0 18px 18px;
    }

    .zv-ecommerce-page .zv-ec-cta-inner .zv-button {
        width: 100%;
        max-width: 320px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .zv-ecommerce-page .container {
        width: calc(100% - 30px);
    }

    .zv-ecommerce-page h2 {
        font-size: 26px;
    }

    .zv-ecommerce-page .zv-ec-intro-image {
        height: 230px;
    }

    .zv-ecommerce-page .zv-ec-challenge-card,
    .zv-ecommerce-page .zv-ec-service-card {
        padding: 22px 19px;
    }

    .zv-ecommerce-page .zv-ec-faq-item summary {
        padding: 16px 15px;
        gap: 12px;
    }

    .zv-ecommerce-page .zv-ec-faq-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }

    .zv-ecommerce-page .zv-ec-faq-answer {
        padding: 0 15px 16px;
    }

    .zv-ecommerce-page .zv-ec-intro-content .zv-button,
    .zv-ecommerce-page .zv-ec-platforms-content .zv-button {
        width: 100%;
    }
}


/* =========================================================
   ZENVENTA — LEGAL INDUSTRY PAGE
========================================================= */

.zv-legal-page {
    width: 100%;
    overflow: hidden;
}

.zv-legal-page .container {
    width: min(100% - 48px, var(--zv-container));
    max-width: var(--zv-container);
    margin-inline: auto;
}

.zv-legal-page section,
.zv-legal-page section *,
.zv-legal-page section *::before,
.zv-legal-page section *::after {
    box-sizing: border-box;
}

.zv-legal-page .zv-lg-intro,
.zv-legal-page .zv-lg-services,
.zv-legal-page .zv-lg-challenges,
.zv-legal-page .zv-lg-audience,
.zv-legal-page .zv-lg-benefits,
.zv-legal-page .zv-lg-solutions,
.zv-legal-page .zv-lg-process,
.zv-legal-page .zv-lg-faq,
.zv-legal-page .zv-lg-cta {
    padding: 35px 0;
}

.zv-legal-page .section-subtitle {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.zv-legal-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.25;
}

.zv-legal-page h3 {
    margin-top: 0;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.zv-legal-page p {
    margin-top: 0;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.8;
}

.zv-legal-page .section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-legal-page .section-heading > p {
    max-width: 650px;
    margin-inline: auto;
}

/* Buttons */
.zv-legal-page .zv-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--zv-accent);
    border-radius: var(--zv-radius-pill);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: var(--zv-transition);
}

.zv-legal-page .zv-button:hover {
    border-color: var(--zv-accent-dark);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
    transform: translateY(-2px);
}

/* Introduction */
.zv-legal-page .zv-lg-intro {
    background: var(--zv-white);
}

.zv-legal-page .zv-lg-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 48px;
}

.zv-legal-page .zv-lg-intro-content {
    min-width: 0;
}

.zv-legal-page .zv-lg-intro-content h2 {
    max-width: 560px;
}

.zv-legal-page .zv-lg-intro-content p {
    margin-bottom: 18px;
}

.zv-legal-page .zv-lg-intro-content .zv-button {
    margin-top: 8px;
}

.zv-legal-page .zv-lg-intro-image {
    height: 390px;
    overflow: hidden;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-light-2);
}

.zv-legal-page .zv-lg-intro-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Services */
.zv-legal-page .zv-lg-services,
.zv-legal-page .zv-lg-audience,
.zv-legal-page .zv-lg-solutions,
.zv-legal-page .zv-lg-faq {
    background: var(--zv-light);
}

.zv-legal-page .zv-lg-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.zv-legal-page .zv-lg-service-card {
    min-width: 0;
    padding: 32px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-service-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-legal-page .zv-lg-number {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: var(--zv-radius-md);
    background: var(--zv-light-2);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 700;
}

.zv-legal-page .zv-lg-service-card h3 {
    margin-bottom: 12px;
}

.zv-legal-page .zv-lg-service-card p {
    margin-bottom: 16px;
}

.zv-legal-page .zv-lg-service-card ul,
.zv-legal-page .zv-lg-audience-card ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zv-legal-page .zv-lg-service-card li,
.zv-legal-page .zv-lg-audience-card li {
    position: relative;
    padding-left: 24px;
    color: var(--zv-text);
    font-size: 14px;
    line-height: 1.7;
}

.zv-legal-page .zv-lg-service-card li::before,
.zv-legal-page .zv-lg-audience-card li::before {
    position: absolute;
    top: 1px;
    left: 0;
    color: var(--zv-accent);
    content: "✓";
    font-weight: 700;
}

/* Challenges */
.zv-legal-page .zv-lg-challenges {
    background: var(--zv-white);
}

.zv-legal-page .zv-lg-challenges-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: 48px;
}

.zv-legal-page .zv-lg-challenges-content {
    min-width: 0;
}

.zv-legal-page .zv-lg-check-list {
    display: grid;
    gap: 14px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.zv-legal-page .zv-lg-check-list li {
    position: relative;
    padding-left: 34px;
    color: var(--zv-text);
    font-size: 15px;
    line-height: 1.7;
}

.zv-legal-page .zv-lg-check-list li::before {
    position: absolute;
    top: 2px;
    left: 0;
    display: flex;
    width: 22px;
    height: 22px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(25, 135, 84, 0.12);
    color: var(--zv-success);
    content: "✓";
    font-size: 13px;
    font-weight: 700;
}

.zv-legal-page .zv-lg-challenges-panel {
    padding: 38px;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-primary);
    box-shadow: var(--zv-shadow-md);
}

.zv-legal-page .zv-lg-challenges-panel .section-subtitle {
    color: var(--zv-accent-light);
}

.zv-legal-page .zv-lg-challenges-panel h3 {
    margin-bottom: 16px;
    color: var(--zv-white);
    font-size: 27px;
}

.zv-legal-page .zv-lg-challenges-panel p {
    margin-bottom: 24px;
    color: rgba(255, 255, 255, 0.85);
}

/* Audience */
.zv-legal-page .zv-lg-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-legal-page .zv-lg-audience-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-audience-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-legal-page .zv-lg-audience-card h3 {
    margin-bottom: 12px;
}

.zv-legal-page .zv-lg-audience-card p {
    margin-bottom: 20px;
}

/* Benefits */
.zv-legal-page .zv-lg-benefits {
    background: var(--zv-white);
}

.zv-legal-page .zv-lg-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-legal-page .zv-lg-benefit-card {
    min-width: 0;
    padding: 26px 23px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-benefit-card:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-legal-page .zv-lg-benefit-card > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 27px;
    font-weight: 800;
}

.zv-legal-page .zv-lg-benefit-card h3 {
    margin-bottom: 12px;
    font-size: 18px;
}

.zv-legal-page .zv-lg-benefit-card p {
    margin-bottom: 0;
    font-size: 14px;
}

/* Solutions */
.zv-legal-page .zv-lg-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-legal-page .zv-lg-solution-card {
    min-width: 0;
    padding: 28px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-solution-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-legal-page .zv-lg-solution-card h3 {
    margin-bottom: 12px;
}

.zv-legal-page .zv-lg-solution-card p {
    margin-bottom: 0;
}

/* Process */
.zv-legal-page .zv-lg-process {
    background: var(--zv-white);
}

.zv-legal-page .zv-lg-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-legal-page .zv-lg-process-item {
    min-width: 0;
    padding: 26px 24px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-process-item:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-legal-page .zv-lg-process-item > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 27px;
    font-weight: 800;
}

.zv-legal-page .zv-lg-process-item h3 {
    margin-bottom: 10px;
}

.zv-legal-page .zv-lg-process-item p {
    margin-bottom: 0;
}

/* FAQ */
.zv-legal-page .zv-lg-faq-list {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.zv-legal-page .zv-lg-faq-item {
    margin-bottom: 15px;
    overflow: hidden;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-legal-page .zv-lg-faq-item:hover,
.zv-legal-page .zv-lg-faq-item[open] {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-legal-page .zv-lg-faq-item summary {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 21px 24px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}

.zv-legal-page .zv-lg-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-legal-page .zv-lg-faq-item summary::marker {
    content: "";
}

.zv-legal-page .zv-lg-faq-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--zv-light-2);
}

.zv-legal-page .zv-lg-faq-icon::before,
.zv-legal-page .zv-lg-faq-icon::after {
    position: absolute;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--zv-secondary);
    content: "";
}

.zv-legal-page .zv-lg-faq-icon::after {
    transform: rotate(90deg);
    transition: transform var(--zv-transition);
}

.zv-legal-page .zv-lg-faq-item[open] .zv-lg-faq-icon {
    background: var(--zv-primary);
}

.zv-legal-page .zv-lg-faq-item[open] .zv-lg-faq-icon::before,
.zv-legal-page .zv-lg-faq-item[open] .zv-lg-faq-icon::after {
    background: var(--zv-white);
}

.zv-legal-page .zv-lg-faq-item[open] .zv-lg-faq-icon::after {
    transform: rotate(0);
}

.zv-legal-page .zv-lg-faq-answer {
    padding: 0 24px 22px;
}

.zv-legal-page .zv-lg-faq-answer p {
    margin-bottom: 0;
    padding-top: 17px;
    border-top: 1px solid var(--zv-border-light);
}

/* Final CTA */
.zv-legal-page .zv-lg-cta {
    background: var(--zv-primary);
}

.zv-legal-page .zv-lg-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.zv-legal-page .zv-lg-cta-inner .section-subtitle {
    color: var(--zv-accent-light);
}

.zv-legal-page .zv-lg-cta-inner h2 {
    color: var(--zv-white);
}

.zv-legal-page .zv-lg-cta-inner p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.85);
}

/* Tablet */
@media (max-width: 1024px) {
    .zv-legal-page .zv-lg-intro,
    .zv-legal-page .zv-lg-services,
    .zv-legal-page .zv-lg-challenges,
    .zv-legal-page .zv-lg-audience,
    .zv-legal-page .zv-lg-benefits,
    .zv-legal-page .zv-lg-solutions,
    .zv-legal-page .zv-lg-process,
    .zv-legal-page .zv-lg-faq,
    .zv-legal-page .zv-lg-cta {
        padding: 65px 0;
    }

    .zv-legal-page .zv-lg-intro-grid,
    .zv-legal-page .zv-lg-challenges-grid {
        gap: 32px;
    }

    .zv-legal-page .zv-lg-audience-grid,
    .zv-legal-page .zv-lg-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-legal-page .zv-lg-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-legal-page .zv-lg-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-legal-page .zv-lg-intro-image {
        height: 340px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .zv-legal-page .container {
        width: calc(100% - 36px);
    }

    .zv-legal-page .zv-lg-intro,
    .zv-legal-page .zv-lg-services,
    .zv-legal-page .zv-lg-challenges,
    .zv-legal-page .zv-lg-audience,
    .zv-legal-page .zv-lg-benefits,
    .zv-legal-page .zv-lg-solutions,
    .zv-legal-page .zv-lg-process,
    .zv-legal-page .zv-lg-faq,
    .zv-legal-page .zv-lg-cta {
        padding: 48px 0;
    }

    .zv-legal-page h2 {
        font-size: 29px;
    }

    .zv-legal-page .zv-lg-intro-grid,
    .zv-legal-page .zv-lg-challenges-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .zv-legal-page .zv-lg-intro-image {
        height: 280px;
    }

    .zv-legal-page .zv-lg-services-grid,
    .zv-legal-page .zv-lg-audience-grid,
    .zv-legal-page .zv-lg-benefits-grid,
    .zv-legal-page .zv-lg-solutions-grid,
    .zv-legal-page .zv-lg-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .zv-legal-page .section-heading {
        margin-bottom: 30px;
    }

    .zv-legal-page .zv-lg-service-card,
    .zv-legal-page .zv-lg-audience-card,
    .zv-legal-page .zv-lg-solution-card {
        padding: 25px 23px;
    }

    .zv-legal-page .zv-lg-challenges-panel {
        padding: 28px 24px;
    }

    .zv-legal-page .zv-lg-benefit-card,
    .zv-legal-page .zv-lg-process-item {
        padding: 24px;
    }

    .zv-legal-page .zv-lg-faq-item summary {
        min-height: 62px;
        padding: 18px;
        font-size: 15px;
    }

    .zv-legal-page .zv-lg-faq-answer {
        padding: 0 18px 18px;
    }

    .zv-legal-page .zv-lg-cta-inner .zv-button {
        width: 100%;
        max-width: 320px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .zv-legal-page .container {
        width: calc(100% - 30px);
    }

    .zv-legal-page h2 {
        font-size: 26px;
    }

    .zv-legal-page .zv-lg-intro-image {
        height: 230px;
    }

    .zv-legal-page .zv-lg-service-card,
    .zv-legal-page .zv-lg-audience-card,
    .zv-legal-page .zv-lg-solution-card,
    .zv-legal-page .zv-lg-challenges-panel {
        padding: 22px 19px;
    }

    .zv-legal-page .zv-lg-faq-item summary {
        padding: 16px 15px;
        gap: 12px;
    }

    .zv-legal-page .zv-lg-faq-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }

    .zv-legal-page .zv-lg-faq-answer {
        padding: 0 15px 16px;
    }

    .zv-legal-page .zv-lg-intro-content .zv-button {
        width: 100%;
    }
}



/* =========================================================
   ZENVENTA — REAL ESTATE INDUSTRY PAGE
========================================================= */

.zv-realestate-page {
    width: 100%;
    overflow: hidden;
}

.zv-realestate-page .container {
    width: min(100% - 48px, var(--zv-container));
    max-width: var(--zv-container);
    margin-inline: auto;
}

.zv-realestate-page section,
.zv-realestate-page section *,
.zv-realestate-page section *::before,
.zv-realestate-page section *::after {
    box-sizing: border-box;
}

.zv-realestate-page .zv-re-intro,
.zv-realestate-page .zv-re-challenges,
.zv-realestate-page .zv-re-services,
.zv-realestate-page .zv-re-sectors,
.zv-realestate-page .zv-re-benefits,
.zv-realestate-page .zv-re-process,
.zv-realestate-page .zv-re-faq,
.zv-realestate-page .zv-re-cta {
    padding: 35px 0;
}

.zv-realestate-page .section-subtitle {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.zv-realestate-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.25;
}

.zv-realestate-page h3 {
    margin-top: 0;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.zv-realestate-page p {
    margin-top: 0;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.8;
}

.zv-realestate-page .section-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-realestate-page .section-heading > p {
    max-width: 650px;
    margin-inline: auto;
}

/* Buttons */
.zv-realestate-page .zv-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 13px 28px;
    border: 1px solid var(--zv-accent);
    border-radius: var(--zv-radius-pill);
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-button:hover {
    border-color: var(--zv-accent-dark);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
    transform: translateY(-2px);
}

/* Introduction */
.zv-realestate-page .zv-re-intro {
    background: var(--zv-white);
}

.zv-realestate-page .zv-re-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 48px;
}

.zv-realestate-page .zv-re-intro-content {
    min-width: 0;
}

.zv-realestate-page .zv-re-intro-content h2 {
    max-width: 560px;
}

.zv-realestate-page .zv-re-intro-content p {
    margin-bottom: 18px;
}

.zv-realestate-page .zv-re-intro-content .zv-button {
    margin-top: 8px;
}

.zv-realestate-page .zv-re-intro-image {
    height: 390px;
    overflow: hidden;
    border-radius: var(--zv-radius-lg);
    background: var(--zv-light-2);
}

.zv-realestate-page .zv-re-intro-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Challenges */
.zv-realestate-page .zv-re-challenges,
.zv-realestate-page .zv-re-sectors,
.zv-realestate-page .zv-re-faq {
    background: var(--zv-light);
}

.zv-realestate-page .zv-re-challenges-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-realestate-page .zv-re-challenge-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-challenge-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-realestate-page .zv-re-number {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: var(--zv-radius-md);
    background: var(--zv-light-2);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 700;
}

.zv-realestate-page .zv-re-challenge-card h3 {
    margin-bottom: 12px;
}

.zv-realestate-page .zv-re-challenge-card p {
    margin-bottom: 0;
}

/* Services */
.zv-realestate-page .zv-re-services {
    background: var(--zv-white);
}

.zv-realestate-page .zv-re-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-realestate-page .zv-re-service-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-service-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-realestate-page .zv-re-service-card h3 {
    margin-bottom: 12px;
}

.zv-realestate-page .zv-re-service-card p {
    margin-bottom: 16px;
}

.zv-realestate-page .zv-re-service-card ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.zv-realestate-page .zv-re-service-card li {
    position: relative;
    padding-left: 24px;
    color: var(--zv-text);
    font-size: 14px;
    line-height: 1.7;
}

.zv-realestate-page .zv-re-service-card li::before {
    position: absolute;
    top: 1px;
    left: 0;
    color: var(--zv-accent);
    content: "✓";
    font-weight: 700;
}

/* Property sectors */
.zv-realestate-page .zv-re-sectors-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-realestate-page .zv-re-sector-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-sector-card:hover {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
    transform: translateY(-4px);
}

.zv-realestate-page .zv-re-sector-card h3 {
    margin-bottom: 12px;
}

.zv-realestate-page .zv-re-sector-card p {
    margin-bottom: 0;
}

/* Benefits */
.zv-realestate-page .zv-re-benefits {
    background: var(--zv-white);
}

.zv-realestate-page .zv-re-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-realestate-page .zv-re-benefit-card {
    min-width: 0;
    padding: 26px 23px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-benefit-card:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-realestate-page .zv-re-benefit-card > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 27px;
    font-weight: 800;
}

.zv-realestate-page .zv-re-benefit-card h3 {
    margin-bottom: 12px;
    font-size: 18px;
}

.zv-realestate-page .zv-re-benefit-card p {
    margin-bottom: 0;
    font-size: 14px;
}

/* Process */
.zv-realestate-page .zv-re-process {
    background: var(--zv-white);
}

.zv-realestate-page .zv-re-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-realestate-page .zv-re-process-item {
    min-width: 0;
    padding: 26px 24px;
    border-top: 3px solid var(--zv-secondary);
    border-radius: 0 0 var(--zv-radius-md) var(--zv-radius-md);
    background: var(--zv-light);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-process-item:hover {
    border-top-color: var(--zv-accent);
    transform: translateY(-4px);
}

.zv-realestate-page .zv-re-process-item > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-accent);
    font-size: 27px;
    font-weight: 800;
}

.zv-realestate-page .zv-re-process-item h3 {
    margin-bottom: 10px;
}

.zv-realestate-page .zv-re-process-item p {
    margin-bottom: 0;
}

/* FAQ */
.zv-realestate-page .zv-re-faq-list {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.zv-realestate-page .zv-re-faq-item {
    margin-bottom: 15px;
    overflow: hidden;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-white);
    box-shadow: var(--zv-shadow-sm);
    transition: var(--zv-transition);
}

.zv-realestate-page .zv-re-faq-item:hover,
.zv-realestate-page .zv-re-faq-item[open] {
    border-color: var(--zv-secondary-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-realestate-page .zv-re-faq-item summary {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 21px 24px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
    list-style: none;
}

.zv-realestate-page .zv-re-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-realestate-page .zv-re-faq-item summary::marker {
    content: "";
}

.zv-realestate-page .zv-re-faq-icon {
    position: relative;
    display: inline-flex;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--zv-light-2);
}

.zv-realestate-page .zv-re-faq-icon::before,
.zv-realestate-page .zv-re-faq-icon::after {
    position: absolute;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: var(--zv-secondary);
    content: "";
}

.zv-realestate-page .zv-re-faq-icon::after {
    transform: rotate(90deg);
    transition: transform var(--zv-transition);
}

.zv-realestate-page .zv-re-faq-item[open] .zv-re-faq-icon {
    background: var(--zv-primary);
}

.zv-realestate-page .zv-re-faq-item[open] .zv-re-faq-icon::before,
.zv-realestate-page .zv-re-faq-item[open] .zv-re-faq-icon::after {
    background: var(--zv-white);
}

.zv-realestate-page .zv-re-faq-item[open] .zv-re-faq-icon::after {
    transform: rotate(0);
}

.zv-realestate-page .zv-re-faq-answer {
    padding: 0 24px 22px;
}

.zv-realestate-page .zv-re-faq-answer p {
    margin-bottom: 0;
    padding-top: 17px;
    border-top: 1px solid var(--zv-border-light);
}

/* Final CTA */
.zv-realestate-page .zv-re-cta {
    background: var(--zv-primary);
}

.zv-realestate-page .zv-re-cta-inner {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
}

.zv-realestate-page .zv-re-cta-inner .section-subtitle {
    color: var(--zv-accent-light);
}

.zv-realestate-page .zv-re-cta-inner h2 {
    color: var(--zv-white);
}

.zv-realestate-page .zv-re-cta-inner p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.85);
}

/* Tablet */
@media (max-width: 1024px) {
    .zv-realestate-page .zv-re-intro,
    .zv-realestate-page .zv-re-challenges,
    .zv-realestate-page .zv-re-services,
    .zv-realestate-page .zv-re-sectors,
    .zv-realestate-page .zv-re-benefits,
    .zv-realestate-page .zv-re-process,
    .zv-realestate-page .zv-re-faq,
    .zv-realestate-page .zv-re-cta {
        padding: 65px 0;
    }

    .zv-realestate-page .zv-re-challenges-grid,
    .zv-realestate-page .zv-re-services-grid,
    .zv-realestate-page .zv-re-sectors-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-realestate-page .zv-re-benefits-grid,
    .zv-realestate-page .zv-re-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-realestate-page .zv-re-intro-grid {
        gap: 32px;
    }

    .zv-realestate-page .zv-re-intro-image {
        height: 340px;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .zv-realestate-page .container {
        width: calc(100% - 36px);
    }

    .zv-realestate-page .zv-re-intro,
    .zv-realestate-page .zv-re-challenges,
    .zv-realestate-page .zv-re-services,
    .zv-realestate-page .zv-re-sectors,
    .zv-realestate-page .zv-re-benefits,
    .zv-realestate-page .zv-re-process,
    .zv-realestate-page .zv-re-faq,
    .zv-realestate-page .zv-re-cta {
        padding: 48px 0;
    }

    .zv-realestate-page h2 {
        font-size: 29px;
    }

    .zv-realestate-page .zv-re-intro-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .zv-realestate-page .zv-re-intro-image {
        height: 280px;
    }

    .zv-realestate-page .zv-re-challenges-grid,
    .zv-realestate-page .zv-re-services-grid,
    .zv-realestate-page .zv-re-sectors-grid,
    .zv-realestate-page .zv-re-benefits-grid,
    .zv-realestate-page .zv-re-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .zv-realestate-page .section-heading {
        margin-bottom: 30px;
    }

    .zv-realestate-page .zv-re-challenge-card,
    .zv-realestate-page .zv-re-service-card,
    .zv-realestate-page .zv-re-sector-card {
        padding: 25px 23px;
    }

    .zv-realestate-page .zv-re-benefit-card,
    .zv-realestate-page .zv-re-process-item {
        padding: 24px;
    }

    .zv-realestate-page .zv-re-faq-item summary {
        min-height: 62px;
        padding: 18px;
        font-size: 15px;
    }

    .zv-realestate-page .zv-re-faq-answer {
        padding: 0 18px 18px;
    }

    .zv-realestate-page .zv-re-cta-inner .zv-button {
        width: 100%;
        max-width: 320px;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .zv-realestate-page .container {
        width: calc(100% - 30px);
    }

    .zv-realestate-page h2 {
        font-size: 26px;
    }

    .zv-realestate-page .zv-re-intro-image {
        height: 230px;
    }

    .zv-realestate-page .zv-re-challenge-card,
    .zv-realestate-page .zv-re-service-card,
    .zv-realestate-page .zv-re-sector-card {
        padding: 22px 19px;
    }

    .zv-realestate-page .zv-re-faq-item summary {
        padding: 16px 15px;
        gap: 12px;
    }

    .zv-realestate-page .zv-re-faq-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }

    .zv-realestate-page .zv-re-faq-answer {
        padding: 0 15px 16px;
    }

    .zv-realestate-page .zv-re-intro-content .zv-button {
        width: 100%;
    }
}




/* =========================================================
   SAAS INDUSTRY PAGE
========================================================= */

.zv-saas-page {
    --zv-saas-container: min(1200px, calc(100% - 48px));
    color: var(--zv-text);
    overflow: hidden;
}

.zv-saas-page *,
.zv-saas-page *::before,
.zv-saas-page *::after {
    box-sizing: border-box;
}

.zv-saas-container {
    width: var(--zv-saas-container);
    max-width: 100%;
    margin-inline: auto;
}

.zv-saas-section {
    padding: 35px 0;
}

.zv-saas-page h2,
.zv-saas-page h3,
.zv-saas-page p {
    margin-top: 0;
}

.zv-saas-page h2 {
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.2;
    font-weight: 750;
    margin-bottom: 20px;
}

.zv-saas-page h3 {
    color: var(--zv-primary);
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.zv-saas-page p {
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 16px;
}

.zv-saas-eyebrow {
    display: inline-block;
    color: var(--zv-accent);
    font-size: 12px;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.zv-saas-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-saas-heading > p {
    max-width: 680px;
    margin: 0 auto;
}

.zv-saas-grid {
    display: grid;
    gap: 24px;
}

.zv-saas-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 14px 25px;
    border: 2px solid var(--zv-accent);
    border-radius: 6px;
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease,
                transform .25s ease;
}

.zv-saas-btn:hover {
    background: var(--zv-accent-dark);
    border-color: var(--zv-accent-dark);
    color: var(--zv-white);
    transform: translateY(-2px);
}

/* INTRO */

.zv-saas-intro {
    background: var(--zv-white);
}

.zv-saas-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 56px;
}

.zv-saas-intro-content {
    min-width: 0;
}

.zv-saas-intro-image {
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
    background: var(--zv-light-2);
    box-shadow: 0 18px 45px rgba(11, 33, 72, .12);
}

.zv-saas-intro-image img {
    display: block;
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: center;
}

/* CHALLENGES */

.zv-saas-challenges {
    background: var(--zv-light);
}

.zv-saas-challenge-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zv-saas-card {
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zv-border-light);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
    transition: transform .25s ease, box-shadow .25s ease,
                border-color .25s ease;
}

.zv-saas-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, .35);
    box-shadow: 0 16px 32px rgba(11, 33, 72, .09);
}

.zv-saas-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 10px;
    margin-bottom: 22px;
    background: rgba(23, 105, 194, .09);
    color: var(--zv-secondary);
    font-size: 15px;
    font-weight: 800;
}

.zv-saas-card p {
    margin-bottom: 0;
}

/* SERVICES */

.zv-saas-services {
    background: var(--zv-white);
}

.zv-saas-service-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zv-saas-service-card {
    padding: 32px;
}

.zv-saas-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    margin-bottom: 22px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 14px;
    font-weight: 800;
}

.zv-saas-service-card ul {
    padding-left: 20px;
    margin: 20px 0 0;
}

.zv-saas-service-card li {
    padding-left: 3px;
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 15px;
    line-height: 1.6;
}

.zv-saas-service-card li::marker {
    color: var(--zv-accent);
}

/* BUSINESS TYPES */

.zv-saas-sectors {
    background: var(--zv-light);
}

.zv-saas-sectors-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: 64px;
}

.zv-saas-sectors-heading {
    position: sticky;
    top: 30px;
    margin: 0;
    text-align: left;
}

.zv-saas-sector-list {
    display: grid;
    gap: 16px;
}

.zv-saas-sector-item {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 18px;
    padding: 24px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-saas-sector-item > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 13px;
    font-weight: 800;
}

.zv-saas-sector-item h3 {
    font-size: 18px;
    margin-bottom: 6px;
}

.zv-saas-sector-item p {
    font-size: 15px;
    margin-bottom: 0;
}

/* BENEFITS */

.zv-saas-benefits {
    background: var(--zv-white);
}

.zv-saas-benefit-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zv-saas-benefit {
    padding: 26px 22px;
    border-top: 3px solid var(--zv-accent);
    background: var(--zv-light);
}

.zv-saas-benefit h3 {
    font-size: 18px;
}

.zv-saas-benefit p {
    font-size: 15px;
    margin-bottom: 0;
}

/* PROCESS */

.zv-saas-process {
    background: var(--zv-primary);
}

.zv-saas-process .zv-saas-heading h2 {
    color: var(--zv-white);
}

.zv-saas-process .zv-saas-heading > p {
    color: rgba(255, 255, 255, .78);
}

.zv-saas-process .zv-saas-eyebrow {
    color: var(--zv-accent-light);
}

.zv-saas-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.zv-saas-process-grid article {
    padding: 28px 24px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 10px;
    background: rgba(255, 255, 255, .055);
}

.zv-saas-process-grid article > span {
    display: inline-block;
    color: var(--zv-accent-light);
    font-size: 14px;
    font-weight: 800;
    margin-bottom: 20px;
}

.zv-saas-process-grid h3 {
    color: var(--zv-white);
}

.zv-saas-process-grid p {
    color: rgba(255, 255, 255, .76);
    font-size: 15px;
    margin-bottom: 0;
}

/* FAQ */

.zv-saas-faq {
    background: var(--zv-light);
}

.zv-saas-faq-layout {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    gap: 64px;
    align-items: start;
}

.zv-saas-faq-heading h2 {
    margin-bottom: 18px;
}

.zv-saas-faq-list {
    display: grid;
    gap: 14px;
}

.zv-saas-faq-list details {
    border: 1px solid var(--zv-border-light);
    border-radius: 9px;
    padding: 20px 22px;
    background: var(--zv-white);
}

.zv-saas-faq-list summary {
    position: relative;
    padding-right: 24px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.55;
    cursor: pointer;
    list-style: none;
}

.zv-saas-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-saas-faq-list summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: -2px;
    color: var(--zv-accent);
    font-size: 24px;
    line-height: 1;
}

.zv-saas-faq-list details[open] summary::after {
    content: "−";
}

.zv-saas-faq-list details p {
    margin: 14px 0 0;
    font-size: 15px;
}

/* FINAL CTA */

.zv-saas-cta {
    padding: 76px 0;
    background: var(--zv-secondary);
}

.zv-saas-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
}

.zv-saas-cta-inner > div {
    max-width: 780px;
}

.zv-saas-cta h2 {
    color: var(--zv-white);
    margin-bottom: 16px;
}

.zv-saas-cta p {
    color: rgba(255, 255, 255, .85);
    margin-bottom: 0;
}

.zv-saas-btn-light {
    flex-shrink: 0;
    background: var(--zv-white);
    border-color: var(--zv-white);
    color: var(--zv-primary);
}

.zv-saas-btn-light:hover {
    background: var(--zv-light);
    border-color: var(--zv-light);
    color: var(--zv-primary);
}

/* RESPONSIVE */

@media (max-width: 1024px) {
    .zv-saas-section {
        padding: 68px 0;
    }

    .zv-saas-intro-grid {
        gap: 36px;
    }

    .zv-saas-challenge-grid,
    .zv-saas-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-saas-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-saas-sectors-grid,
    .zv-saas-faq-layout {
        gap: 36px;
    }

    .zv-saas-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .zv-saas-page {
        --zv-saas-container: calc(100% - 36px);
    }

    .zv-saas-section {
        padding: 54px 0;
    }

    .zv-saas-intro-grid,
    .zv-saas-sectors-grid,
    .zv-saas-faq-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .zv-saas-intro-image img {
        height: 320px;
    }

    .zv-saas-heading {
        margin-bottom: 30px;
    }

    .zv-saas-sectors-heading {
        position: static;
    }

    .zv-saas-cta {
        padding: 56px 0;
    }

    .zv-saas-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 24px;
    }
}

@media (max-width: 480px) {
    .zv-saas-page {
        --zv-saas-container: calc(100% - 30px);
    }

    .zv-saas-section {
        padding: 44px 0;
    }

    .zv-saas-challenge-grid,
    .zv-saas-service-grid,
    .zv-saas-benefit-grid,
    .zv-saas-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zv-saas-card,
    .zv-saas-service-card {
        padding: 24px;
    }

    .zv-saas-sector-item {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 13px;
        padding: 18px;
    }

    .zv-saas-sector-item > span {
        width: 36px;
        height: 36px;
    }

    .zv-saas-faq-list details {
        padding: 18px;
    }

    .zv-saas-btn {
        width: 100%;
        text-align: center;
    }
}




/* =========================================================
   INDUSTRIES DIRECTORY PAGE
========================================================= */

.zv-industries-page {
    color: var(--zv-text);
    overflow: hidden;
}

.zv-industries-page *,
.zv-industries-page *::before,
.zv-industries-page *::after {
    box-sizing: border-box;
}

.zv-industries-container {
    width: min(1200px, calc(100% - 48px));
    max-width: 100%;
    margin-inline: auto;
}

.zv-industries-page h2 {
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    line-height: 1.2;
    margin: 0 0 18px;
}

.zv-industries-page h3 {
    color: var(--zv-primary);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 14px;
}

.zv-industries-page p {
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
    margin: 0;
}

.zv-industries-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

/* INTRO */

.zv-industries-intro {
    padding: 78px 0 36px;
    background: var(--zv-white);
    text-align: center;
}

.zv-industries-intro .zv-industries-container {
    max-width: 850px;
}

.zv-industries-intro h2 {
    margin-bottom: 20px;
}

/* DIRECTORY */

.zv-industries-directory {
    padding: 35px 0 45px;
    background: var(--zv-white);
}

.zv-industries-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 38px;
}

.zv-industries-section-heading > div {
    flex: 1;
    min-width: 0;
}

.zv-industries-section-heading h2 {
    margin-bottom: 0;
}

.zv-industries-section-heading > p {
    max-width: 390px;
}

.zv-industries-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.zv-industry-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 300px;
    padding: 30px;
    border: 1px solid var(--zv-border);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 26px rgba(11, 33, 72, .045);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.zv-industry-card:hover {
    transform: translateY(-5px);
    border-color: var(--zv-secondary-light);
    box-shadow: 0 16px 34px rgba(11, 33, 72, .1);
}

.zv-industry-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}

.zv-industry-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 800;
}

.zv-industry-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--zv-light);
    color: var(--zv-primary);
    font-size: 23px;
    transition: background .25s ease, color .25s ease;
}

.zv-industry-card:hover .zv-industry-arrow {
    background: var(--zv-accent);
    color: var(--zv-white);
}

.zv-industry-card h3 {
    margin-bottom: 12px;
}

.zv-industry-card p {
    margin-bottom: 24px;
    font-size: 15px;
}

.zv-industry-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    max-width: 100%;
    margin-top: auto;
    color: var(--zv-secondary);
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
    transition: color .2s ease, gap .2s ease;
}

.zv-industry-link:hover {
    gap: 15px;
    color: var(--zv-accent-dark);
}

/* CAPABILITIES */

.zv-industries-capabilities {
    padding: 35px 0;
    background: var(--zv-light);
}

.zv-industries-capabilities-heading {
    max-width: 760px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-industries-capabilities-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-industries-capability {
    padding: 28px 24px;
    border-top: 3px solid var(--zv-accent);
    border-radius: 0 0 10px 10px;
    background: var(--zv-white);
    box-shadow: 0 8px 24px rgba(11, 33, 72, .04);
}

.zv-industries-capability > span {
    display: block;
    margin-bottom: 22px;
    color: var(--zv-accent);
    font-size: 14px;
    font-weight: 800;
}

.zv-industries-capability h3 {
    font-size: 18px;
}

.zv-industries-capability p {
    font-size: 15px;
}

/* CTA */

.zv-industries-cta {
    padding: 76px 0;
    background: var(--zv-primary);
}

.zv-industries-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 44px;
}

.zv-industries-cta-inner > div {
    max-width: 790px;
}

.zv-industries-cta h2 {
    color: var(--zv-white);
}

.zv-industries-cta p {
    color: rgba(255, 255, 255, .82);
}

.zv-industries-cta .zv-industries-eyebrow {
    color: var(--zv-accent-light);
}

.zv-industries-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 24px;
    border: 2px solid var(--zv-accent);
    border-radius: 6px;
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 750;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

.zv-industries-btn:hover {
    transform: translateY(-2px);
    background: var(--zv-accent-dark);
    color: var(--zv-white);
}

/* RESPONSIVE */

@media (max-width: 1024px) {
    .zv-industries-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-industries-capabilities-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-industries-cta-inner {
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .zv-industries-container {
        width: calc(100% - 36px);
    }

    .zv-industries-intro {
        padding-top: 56px;
    }

    .zv-industries-directory {
        padding: 34px 0 60px;
    }

    .zv-industries-section-heading {
        display: block;
        margin-bottom: 28px;
    }

    .zv-industries-section-heading > p {
        margin-top: 16px;
    }

    .zv-industries-grid {
        gap: 18px;
    }

    .zv-industry-card {
        min-height: 285px;
        padding: 24px;
    }

    .zv-industries-capabilities {
        padding: 60px 0;
    }

    .zv-industries-cta {
        padding: 58px 0;
    }

    .zv-industries-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .zv-industries-container {
        width: calc(100% - 30px);
    }

    .zv-industries-grid,
    .zv-industries-capabilities-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zv-industry-card {
        min-height: auto;
    }

    .zv-industry-card-top {
        margin-bottom: 22px;
    }

    .zv-industries-capabilities-heading {
        margin-bottom: 28px;
    }

    .zv-industries-capability {
        padding: 24px;
    }

    .zv-industries-btn {
        width: 100%;
    }
}





/* =========================================================
   AI CHATBOT DEVELOPMENT SERVICES
========================================================= */

.zv-chatbot-page {
    color: var(--zv-text);
    overflow: hidden;
}

.zv-chatbot-page *,
.zv-chatbot-page *::before,
.zv-chatbot-page *::after {
    box-sizing: border-box;
}

.zv-chatbot-container {
    width: min(1200px, calc(100% - 48px));
    max-width: 100%;
    margin-inline: auto;
}

.zv-chatbot-section {
    padding: 35px 0;
}

.zv-chatbot-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    line-height: 1.2;
}

.zv-chatbot-page h3 {
    margin: 0 0 12px;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 750;
    line-height: 1.4;
}

.zv-chatbot-page p {
    margin: 0 0 16px;
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
}

.zv-chatbot-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-chatbot-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-chatbot-heading > p {
    max-width: 700px;
    margin: 0 auto;
}

.zv-chatbot-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 24px;
    border: 2px solid var(--zv-accent);
    border-radius: 6px;
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: background .25s ease, transform .25s ease;
}

.zv-chatbot-btn:hover {
    transform: translateY(-2px);
    background: var(--zv-accent-dark);
    border-color: var(--zv-accent-dark);
    color: var(--zv-white);
}

.zv-chatbot-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zv-secondary);
    font-weight: 750;
    text-decoration: none;
    transition: gap .2s ease, color .2s ease;
}

.zv-chatbot-text-link:hover {
    gap: 15px;
    color: var(--zv-accent-dark);
}

/* INTRO */

.zv-chatbot-intro {
    background: var(--zv-white);
}

.zv-chatbot-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 54px;
}

.zv-chatbot-intro-content,
.zv-chatbot-intro-visual {
    min-width: 0;
}

.zv-chatbot-intro-visual {
    overflow: hidden;
    border-radius: 14px;
    background: var(--zv-light-2);
    box-shadow: 0 18px 44px rgba(11, 33, 72, .12);
}

.zv-chatbot-intro-visual img {
    display: block;
    width: 100%;
    height: 450px;
    object-fit: cover;
    object-position: center;
}

/* BENEFITS */

.zv-chatbot-benefits {
    background: var(--zv-light);
}

.zv-chatbot-benefit-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.zv-chatbot-benefit-item {
    min-width: 0;
    padding: 23px 18px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-chatbot-benefit-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(11, 33, 72, .08);
}

.zv-chatbot-benefit-item > span {
    display: block;
    margin-bottom: 22px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 800;
}

.zv-chatbot-benefit-item h3 {
    margin-bottom: 0;
    font-size: 16px;
}

/* SOLUTIONS */

.zv-chatbot-solutions {
    background: var(--zv-white);
}

.zv-chatbot-solution-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-chatbot-solution-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 27px 24px;
    border: 1px solid var(--zv-border-light);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
    transition: transform .25s ease, box-shadow .25s ease,
                border-color .25s ease;
}

.zv-chatbot-solution-card:hover {
    transform: translateY(-5px);
    border-color: var(--zv-secondary-light);
    box-shadow: 0 15px 30px rgba(11, 33, 72, .09);
}

.zv-chatbot-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 800;
}

.zv-chatbot-solution-card h3 {
    font-size: 18px;
}

.zv-chatbot-solution-card > p {
    font-size: 15px;
}

.zv-chatbot-solution-card ul,
.zv-chatbot-price-card ul {
    padding-left: 20px;
    margin: 10px 0 0;
}

.zv-chatbot-solution-card li,
.zv-chatbot-price-card li {
    padding-left: 2px;
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.65;
}

.zv-chatbot-solution-card li::marker,
.zv-chatbot-price-card li::marker {
    color: var(--zv-accent);
}

/* INDUSTRIES */

.zv-chatbot-industries {
    background: var(--zv-light);
}

.zv-chatbot-industries-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 60px;
}

.zv-chatbot-industries-content {
    min-width: 0;
}

.zv-chatbot-industries-content p {
    margin-bottom: 24px;
}

.zv-chatbot-tag-list,
.zv-chatbot-platform-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.zv-chatbot-tag-list span,
.zv-chatbot-platform-list span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 16px;
    border: 1px solid var(--zv-border);
    border-radius: 7px;
    background: var(--zv-white);
    color: var(--zv-primary);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
}

/* PLATFORMS */

.zv-chatbot-platforms {
    background: var(--zv-white);
}

.zv-chatbot-platform-list {
    justify-content: center;
    gap: 14px;
}

.zv-chatbot-platform-list span {
    padding: 12px 20px;
    min-height: 46px;
    background: var(--zv-light);
}

/* USE CASE TABLE */

.zv-chatbot-usecases {
    background: var(--zv-light);
}

.zv-chatbot-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--zv-border);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-chatbot-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.zv-chatbot-table th,
.zv-chatbot-table td {
    padding: 19px 24px;
    border-bottom: 1px solid var(--zv-border-light);
    font-size: 15px;
    line-height: 1.6;
}

.zv-chatbot-table th {
    background: var(--zv-primary);
    color: var(--zv-white);
    font-weight: 750;
}

.zv-chatbot-table td {
    color: var(--zv-text);
}

.zv-chatbot-table tbody tr:last-child td {
    border-bottom: 0;
}

.zv-chatbot-table tbody tr:hover td {
    background: var(--zv-light);
}

/* DEVELOPMENT PROCESS */

.zv-chatbot-process {
    background: var(--zv-primary);
}

.zv-chatbot-process .zv-chatbot-heading h2 {
    color: var(--zv-white);
}

.zv-chatbot-process .zv-chatbot-heading > p {
    color: rgba(255, 255, 255, .78);
}

.zv-chatbot-process .zv-chatbot-eyebrow {
    color: var(--zv-accent-light);
}

.zv-chatbot-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.zv-chatbot-process-grid article {
    min-width: 0;
    padding: 24px 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 9px;
    background: rgba(255, 255, 255, .055);
}

.zv-chatbot-process-grid article > span {
    display: block;
    margin-bottom: 20px;
    color: var(--zv-accent-light);
    font-size: 14px;
    font-weight: 800;
}

.zv-chatbot-process-grid h3 {
    margin-bottom: 0;
    color: var(--zv-white);
    font-size: 17px;
}

/* WHY ZENVENTA */

.zv-chatbot-why {
    background: var(--zv-white);
}

.zv-chatbot-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-chatbot-why-grid article {
    padding: 28px 24px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-chatbot-why-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 14px;
    font-weight: 800;
}

.zv-chatbot-why-grid h3 {
    font-size: 18px;
}

.zv-chatbot-why-grid p {
    margin-bottom: 0;
    font-size: 15px;
}

/* PRICING */

.zv-chatbot-pricing {
    background: var(--zv-light);
}

.zv-chatbot-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.zv-chatbot-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 30px 23px;
    border: 1px solid var(--zv-border);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
}

.zv-chatbot-price-card.is-featured {
    border: 2px solid var(--zv-secondary);
    box-shadow: 0 14px 35px rgba(23, 105, 194, .12);
}

.zv-chatbot-popular {
    align-self: flex-start;
    margin: -30px 0 20px -23px;
    padding: 9px 15px;
    border-radius: 9px 0 9px 0;
    background: var(--zv-secondary);
    color: var(--zv-white);
    font-size: 12px;
    font-weight: 800;
}

.zv-chatbot-price-card h3 {
    font-size: 19px;
}

.zv-chatbot-price-label {
    min-height: 48px;
    margin-bottom: 16px !important;
    font-size: 14px !important;
}

.zv-chatbot-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 74px;
    margin-bottom: 16px;
}

.zv-chatbot-price-amount {
    color: var(--zv-primary);
    font-size: clamp(26px, 2.3vw, 34px);
    font-weight: 800;
    line-height: 1.2;
}

.zv-chatbot-custom-price {
    color: var(--zv-primary);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.3;
}

.zv-chatbot-price-note {
    margin-top: 5px;
    color: var(--zv-text-light);
    font-size: 12px;
}

.zv-chatbot-price-description {
    min-height: 110px;
    font-size: 14px !important;
}

.zv-chatbot-price-card h4 {
    margin: 8px 0 6px;
    color: var(--zv-primary);
    font-size: 15px;
    font-weight: 750;
}

.zv-chatbot-price-card ul {
    margin-bottom: 25px;
}

.zv-chatbot-price-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin-top: auto;
    padding: 12px 14px;
    border: 1px solid var(--zv-secondary);
    border-radius: 6px;
    background: var(--zv-white);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.zv-chatbot-price-btn:hover,
.zv-chatbot-price-card.is-featured .zv-chatbot-price-btn {
    background: var(--zv-secondary);
    color: var(--zv-white);
}

.zv-chatbot-price-card.is-featured .zv-chatbot-price-btn:hover {
    background: var(--zv-secondary-dark);
}

.zv-chatbot-pricing-note {
    max-width: 850px;
    margin: 26px auto 0 !important;
    font-size: 13px !important;
    text-align: center;
}

/* FAQ */

.zv-chatbot-faq {
    background: var(--zv-white);
}

.zv-chatbot-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 60px;
}

.zv-chatbot-faq-intro p {
    margin-bottom: 24px;
}

.zv-chatbot-faq-list {
    display: grid;
    gap: 14px;
}

.zv-chatbot-faq-list details {
    padding: 21px 23px;
    border: 1px solid var(--zv-border-light);
    border-radius: 9px;
    background: var(--zv-white);
}

.zv-chatbot-faq-list summary {
    position: relative;
    padding-right: 30px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.zv-chatbot-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-chatbot-faq-list summary::after {
    content: "+";
    position: absolute;
    top: -3px;
    right: 0;
    color: var(--zv-accent);
    font-size: 24px;
    line-height: 1;
}

.zv-chatbot-faq-list details[open] summary::after {
    content: "\2212";
}

.zv-chatbot-faq-list details p {
    margin: 14px 0 0;
    font-size: 15px;
}

/* FINAL CTA */

.zv-chatbot-cta {
    padding: 76px 0;
    background: var(--zv-secondary);
}

.zv-chatbot-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.zv-chatbot-cta-inner > div {
    max-width: 790px;
}

.zv-chatbot-cta h2 {
    color: var(--zv-white);
}

.zv-chatbot-cta p {
    color: rgba(255, 255, 255, .88);
}

.zv-chatbot-cta .zv-chatbot-eyebrow {
    color: var(--zv-accent-light);
}

.zv-chatbot-cta .zv-chatbot-cta-tagline {
    margin-bottom: 0;
    color: var(--zv-white);
    font-weight: 750;
}

.zv-chatbot-btn-light {
    flex-shrink: 0;
    background: var(--zv-white);
    border-color: var(--zv-white);
    color: var(--zv-primary);
}

.zv-chatbot-btn-light:hover {
    background: var(--zv-light);
    border-color: var(--zv-light);
    color: var(--zv-primary);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .zv-chatbot-benefit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-chatbot-solution-grid,
    .zv-chatbot-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-chatbot-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-chatbot-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-chatbot-price-description {
        min-height: auto;
    }
}

@media (max-width: 767px) {
    .zv-chatbot-container {
        width: calc(100% - 36px);
    }

    .zv-chatbot-section {
        padding: 56px 0;
    }

    .zv-chatbot-intro-grid,
    .zv-chatbot-industries-grid,
    .zv-chatbot-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .zv-chatbot-intro-visual img {
        height: 330px;
    }

    .zv-chatbot-heading {
        margin-bottom: 30px;
    }

    .zv-chatbot-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-chatbot-cta {
        padding: 58px 0;
    }

    .zv-chatbot-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }
}

@media (max-width: 520px) {
    .zv-chatbot-container {
        width: calc(100% - 30px);
    }

    .zv-chatbot-section {
        padding: 44px 0;
    }

    .zv-chatbot-benefit-grid,
    .zv-chatbot-solution-grid,
    .zv-chatbot-process-grid,
    .zv-chatbot-why-grid,
    .zv-chatbot-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zv-chatbot-benefit-item,
    .zv-chatbot-solution-card,
    .zv-chatbot-why-grid article,
    .zv-chatbot-price-card {
        padding: 23px;
    }

    .zv-chatbot-popular {
        margin: -23px 0 20px -23px;
    }

    .zv-chatbot-price-description,
    .zv-chatbot-price-label {
        min-height: auto;
    }

    .zv-chatbot-table th,
    .zv-chatbot-table td {
        padding: 15px;
        min-width: 145px;
    }

    .zv-chatbot-btn,
    .zv-chatbot-btn-light {
        width: 100%;
    }
}







/* =========================================================
   CRM AUTOMATION SERVICES PAGE
========================================================= */

.zv-crm-page {
    color: var(--zv-text);
    overflow: hidden;
}

.zv-crm-page *,
.zv-crm-page *::before,
.zv-crm-page *::after {
    box-sizing: border-box;
}

.zv-crm-container {
    width: min(1200px, calc(100% - 48px));
    max-width: 100%;
    margin-inline: auto;
}

.zv-crm-section {
    padding: 35px 0;
}

.zv-crm-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    line-height: 1.2;
}

.zv-crm-page h3 {
    margin: 0 0 12px;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 750;
    line-height: 1.4;
}

.zv-crm-page p {
    margin: 0 0 16px;
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
}

.zv-crm-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-crm-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-crm-heading > p {
    max-width: 700px;
    margin: 0 auto;
}

.zv-crm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 24px;
    border: 2px solid var(--zv-accent);
    border-radius: 6px;
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: background .25s ease, transform .25s ease;
}

.zv-crm-btn:hover {
    transform: translateY(-2px);
    background: var(--zv-accent-dark);
    border-color: var(--zv-accent-dark);
    color: var(--zv-white);
}

.zv-crm-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zv-secondary);
    font-weight: 750;
    text-decoration: none;
    transition: gap .2s ease, color .2s ease;
}

.zv-crm-text-link:hover {
    gap: 15px;
    color: var(--zv-accent-dark);
}

/* INTRO */

.zv-crm-intro {
    background: var(--zv-white);
}

.zv-crm-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 54px;
}

.zv-crm-intro-grid > div {
    min-width: 0;
}

.zv-crm-intro-image {
    overflow: hidden;
    border-radius: 14px;
    background: var(--zv-light-2);
    box-shadow: 0 18px 44px rgba(11, 33, 72, .12);
}

.zv-crm-intro-image img {
    display: block;
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: center;
}

/* BENEFITS */

.zv-crm-benefits {
    background: var(--zv-light);
}

.zv-crm-benefit-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.zv-crm-benefit {
    min-width: 0;
    padding: 23px 18px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-crm-benefit:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(11, 33, 72, .08);
}

.zv-crm-benefit > span {
    display: block;
    margin-bottom: 22px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 800;
}

.zv-crm-benefit h3 {
    margin-bottom: 0;
    font-size: 16px;
}

/* SERVICES */

.zv-crm-services {
    background: var(--zv-white);
}

.zv-crm-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-crm-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 25px;
    border: 1px solid var(--zv-border-light);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
    transition: transform .25s ease, box-shadow .25s ease,
                border-color .25s ease;
}

.zv-crm-service-card:hover {
    transform: translateY(-5px);
    border-color: var(--zv-secondary-light);
    box-shadow: 0 15px 30px rgba(11, 33, 72, .09);
}

.zv-crm-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 800;
}

.zv-crm-service-card h3 {
    font-size: 19px;
}

.zv-crm-service-card > p {
    font-size: 15px;
}

.zv-crm-service-card ul {
    padding-left: 20px;
    margin: 10px 0 0;
}

.zv-crm-service-card li {
    padding-left: 2px;
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.65;
}

.zv-crm-service-card li::marker {
    color: var(--zv-accent);
}

/* PLATFORMS */

.zv-crm-platforms {
    background: var(--zv-light);
}

.zv-crm-platforms-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 60px;
}

.zv-crm-platforms-grid > div {
    min-width: 0;
}

.zv-crm-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.zv-crm-tag-list span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid var(--zv-border);
    border-radius: 7px;
    background: var(--zv-white);
    color: var(--zv-primary);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
}

/* INTEGRATIONS */

.zv-crm-integrations {
    background: var(--zv-white);
}

.zv-crm-integration-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}

.zv-crm-integration-grid > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 16px;
    border: 1px solid var(--zv-border-light);
    border-radius: 8px;
    background: var(--zv-light);
    color: var(--zv-primary);
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}

/* USE CASES */

.zv-crm-usecases {
    background: var(--zv-light);
}

.zv-crm-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--zv-border);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-crm-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.zv-crm-table th,
.zv-crm-table td {
    padding: 19px 24px;
    border-bottom: 1px solid var(--zv-border-light);
    font-size: 15px;
    line-height: 1.6;
}

.zv-crm-table th {
    background: var(--zv-primary);
    color: var(--zv-white);
    font-weight: 750;
}

.zv-crm-table td {
    color: var(--zv-text);
}

.zv-crm-table tbody tr:last-child td {
    border-bottom: 0;
}

.zv-crm-table tbody tr:hover td {
    background: var(--zv-light);
}

/* PROCESS */

.zv-crm-process {
    background: var(--zv-primary);
}

.zv-crm-process .zv-crm-heading h2 {
    color: var(--zv-white);
}

.zv-crm-process .zv-crm-heading > p {
    color: rgba(255, 255, 255, .78);
}

.zv-crm-process .zv-crm-eyebrow {
    color: var(--zv-accent-light);
}

.zv-crm-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.zv-crm-process-grid article {
    min-width: 0;
    padding: 24px 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 9px;
    background: rgba(255, 255, 255, .055);
}

.zv-crm-process-grid article > span {
    display: block;
    margin-bottom: 20px;
    color: var(--zv-accent-light);
    font-size: 14px;
    font-weight: 800;
}

.zv-crm-process-grid h3 {
    margin-bottom: 0;
    color: var(--zv-white);
    font-size: 17px;
}

/* WHY ZENVENTA */

.zv-crm-why {
    background: var(--zv-white);
}

.zv-crm-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-crm-why-grid article {
    padding: 28px 24px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-crm-why-grid article > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 14px;
    font-weight: 800;
}

.zv-crm-why-grid h3 {
    font-size: 18px;
}

.zv-crm-why-grid p {
    margin-bottom: 0;
    font-size: 15px;
}

/* PRICING */

.zv-crm-pricing {
    background: var(--zv-light);
}

.zv-crm-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.zv-crm-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 29px 22px;
    border: 1px solid var(--zv-border);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
}

.zv-crm-price-card.is-featured {
    border: 2px solid var(--zv-secondary);
    box-shadow: 0 14px 35px rgba(23, 105, 194, .12);
}

.zv-crm-popular {
    align-self: flex-start;
    margin: -29px 0 20px -22px;
    padding: 9px 14px;
    border-radius: 9px 0 9px 0;
    background: var(--zv-secondary);
    color: var(--zv-white);
    font-size: 12px;
    font-weight: 800;
}

.zv-crm-price-card h3 {
    font-size: 19px;
}

.zv-crm-price-label {
    min-height: 44px;
    margin-bottom: 15px !important;
    font-size: 14px !important;
}

.zv-crm-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 72px;
    margin-bottom: 15px;
}

.zv-crm-price-amount {
    color: var(--zv-primary);
    font-size: clamp(26px, 2.2vw, 34px);
    font-weight: 800;
    line-height: 1.2;
}

.zv-crm-custom-price {
    color: var(--zv-primary);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.3;
}

.zv-crm-price-note {
    margin-top: 5px;
    font-size: 12px;
}

.zv-crm-price-description {
    min-height: 105px;
    font-size: 14px !important;
}

.zv-crm-price-card h4 {
    margin: 8px 0 6px;
    color: var(--zv-primary);
    font-size: 15px;
    font-weight: 750;
}

.zv-crm-price-card ul {
    padding-left: 20px;
    margin: 10px 0 25px;
}

.zv-crm-price-card li {
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.6;
}

.zv-crm-price-card li::marker {
    color: var(--zv-accent);
}

.zv-crm-price-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin-top: auto;
    padding: 12px;
    border: 1px solid var(--zv-secondary);
    border-radius: 6px;
    background: var(--zv-white);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.zv-crm-price-btn:hover,
.zv-crm-price-card.is-featured .zv-crm-price-btn {
    background: var(--zv-secondary);
    color: var(--zv-white);
}

.zv-crm-price-card.is-featured .zv-crm-price-btn:hover {
    background: var(--zv-secondary-dark);
}

.zv-crm-pricing-note {
    max-width: 850px;
    margin: 26px auto 0 !important;
    font-size: 13px !important;
    text-align: center;
}

/* FAQ */

.zv-crm-faq {
    background: var(--zv-white);
}

.zv-crm-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 60px;
}

.zv-crm-faq-list {
    display: grid;
    gap: 14px;
}

.zv-crm-faq-list details {
    padding: 21px 23px;
    border: 1px solid var(--zv-border-light);
    border-radius: 9px;
    background: var(--zv-white);
}

.zv-crm-faq-list summary {
    position: relative;
    padding-right: 30px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.zv-crm-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-crm-faq-list summary::after {
    content: "+";
    position: absolute;
    top: -3px;
    right: 0;
    color: var(--zv-accent);
    font-size: 24px;
    line-height: 1;
}

.zv-crm-faq-list details[open] summary::after {
    content: "\2212";
}

.zv-crm-faq-list details p {
    margin: 14px 0 0;
    font-size: 15px;
}

/* FINAL CTA */

.zv-crm-cta {
    padding: 76px 0;
    background: var(--zv-secondary);
}

.zv-crm-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.zv-crm-cta-inner > div {
    max-width: 790px;
}

.zv-crm-cta h2 {
    color: var(--zv-white);
}

.zv-crm-cta p {
    color: rgba(255, 255, 255, .88);
}

.zv-crm-cta .zv-crm-eyebrow {
    color: var(--zv-accent-light);
}

.zv-crm-cta .zv-crm-cta-tagline {
    margin-bottom: 0;
    color: var(--zv-white);
    font-weight: 750;
}

.zv-crm-btn-light {
    flex-shrink: 0;
    background: var(--zv-white);
    border-color: var(--zv-white);
    color: var(--zv-primary);
}

.zv-crm-btn-light:hover {
    background: var(--zv-light);
    border-color: var(--zv-light);
    color: var(--zv-primary);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .zv-crm-benefit-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-crm-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-crm-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-crm-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-crm-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-crm-price-description {
        min-height: auto;
    }
}

@media (max-width: 767px) {
    .zv-crm-container {
        width: calc(100% - 36px);
    }

    .zv-crm-section {
        padding: 56px 0;
    }

    .zv-crm-intro-grid,
    .zv-crm-platforms-grid,
    .zv-crm-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .zv-crm-intro-image img {
        height: 320px;
    }

    .zv-crm-heading {
        margin-bottom: 30px;
    }

    .zv-crm-process-grid,
    .zv-crm-integration-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-crm-cta {
        padding: 58px 0;
    }

    .zv-crm-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }
}

@media (max-width: 520px) {
    .zv-crm-container {
        width: calc(100% - 30px);
    }

    .zv-crm-section {
        padding: 44px 0;
    }

    .zv-crm-benefit-grid,
    .zv-crm-service-grid,
    .zv-crm-process-grid,
    .zv-crm-why-grid,
    .zv-crm-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zv-crm-benefit,
    .zv-crm-service-card,
    .zv-crm-why-grid article,
    .zv-crm-price-card {
        padding: 23px;
    }

    .zv-crm-popular {
        margin: -23px 0 20px -23px;
    }

    .zv-crm-price-description,
    .zv-crm-price-label {
        min-height: auto;
    }

    .zv-crm-table th,
    .zv-crm-table td {
        min-width: 150px;
        padding: 15px;
    }

    .zv-crm-btn,
    .zv-crm-btn-light {
        width: 100%;
    }
}




/* =========================================================
   AI AUTOMATION SERVICES PAGE
========================================================= */

.zv-ai-automation-page {
    color: var(--zv-text);
    overflow: hidden;
}

.zv-ai-automation-page *,
.zv-ai-automation-page *::before,
.zv-ai-automation-page *::after {
    box-sizing: border-box;
}

.zv-ai-container {
    width: min(1200px, calc(100% - 48px));
    max-width: 100%;
    margin-inline: auto;
}

.zv-ai-section {
    padding: 35px 0;
}

.zv-ai-automation-page h2 {
    margin: 0 0 20px;
    color: var(--zv-primary);
    font-size: clamp(28px, 3vw, 40px);
    font-weight: 750;
    line-height: 1.2;
}

.zv-ai-automation-page h3 {
    margin: 0 0 12px;
    color: var(--zv-primary);
    font-size: 20px;
    font-weight: 750;
    line-height: 1.4;
}

.zv-ai-automation-page p {
    margin: 0 0 16px;
    color: var(--zv-text-light);
    font-size: 16px;
    line-height: 1.8;
}

.zv-ai-eyebrow {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--zv-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-ai-heading {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center;
}

.zv-ai-heading > p {
    max-width: 700px;
    margin: 0 auto;
}

.zv-ai-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 24px;
    border: 2px solid var(--zv-accent);
    border-radius: 6px;
    background: var(--zv-accent);
    color: var(--zv-white);
    font-size: 15px;
    font-weight: 750;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    transition: background .25s ease, transform .25s ease;
}

.zv-ai-btn:hover {
    transform: translateY(-2px);
    background: var(--zv-accent-dark);
    border-color: var(--zv-accent-dark);
    color: var(--zv-white);
}

.zv-ai-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
    text-decoration: none;
    transition: gap .2s ease, color .2s ease;
}

.zv-ai-text-link:hover {
    gap: 15px;
    color: var(--zv-accent-dark);
}

/* INTRO */

.zv-ai-intro {
    background: var(--zv-white);
}

.zv-ai-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    align-items: center;
    gap: 54px;
}

.zv-ai-intro-grid > div {
    min-width: 0;
}

.zv-ai-intro-image {
    overflow: hidden;
    border-radius: 14px;
    background: var(--zv-light-2);
    box-shadow: 0 18px 44px rgba(11, 33, 72, .12);
}

.zv-ai-intro-image img {
    display: block;
    width: 100%;
    height: 440px;
    object-fit: cover;
    object-position: center;
}

/* BENEFITS */

.zv-ai-benefits {
    background: var(--zv-light);
}

.zv-ai-benefit-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.zv-ai-benefit-card {
    min-width: 0;
    padding: 23px 18px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-ai-benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 26px rgba(11, 33, 72, .08);
}

.zv-ai-benefit-card > span {
    display: block;
    margin-bottom: 22px;
    color: var(--zv-accent);
    font-size: 13px;
    font-weight: 800;
}

.zv-ai-benefit-card h3 {
    margin-bottom: 0;
    font-size: 16px;
}

/* SERVICE CARDS */

.zv-ai-services {
    background: var(--zv-white);
}

.zv-ai-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-ai-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 28px 25px;
    border: 1px solid var(--zv-border-light);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
    transition: transform .25s ease, box-shadow .25s ease,
                border-color .25s ease;
}

.zv-ai-service-card:hover {
    transform: translateY(-5px);
    border-color: var(--zv-secondary-light);
    box-shadow: 0 15px 30px rgba(11, 33, 72, .09);
}

.zv-ai-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 800;
}

.zv-ai-service-card h3 {
    font-size: 19px;
}

.zv-ai-service-card > p {
    font-size: 15px;
}

.zv-ai-service-card ul {
    padding-left: 20px;
    margin: 10px 0 24px;
}

.zv-ai-service-card li {
    padding-left: 2px;
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.65;
}

.zv-ai-service-card li::marker {
    color: var(--zv-accent);
}

.zv-ai-service-card .zv-ai-text-link {
    align-self: flex-start;
}

/* CHALLENGE TABLE */

.zv-ai-challenges {
    background: var(--zv-light);
}

.zv-ai-table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--zv-border);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-ai-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.zv-ai-table th,
.zv-ai-table td {
    padding: 19px 24px;
    border-bottom: 1px solid var(--zv-border-light);
    font-size: 15px;
    line-height: 1.6;
}

.zv-ai-table th {
    background: var(--zv-primary);
    color: var(--zv-white);
    font-weight: 750;
}

.zv-ai-table td {
    color: var(--zv-text);
}

.zv-ai-table tbody tr:last-child td {
    border-bottom: 0;
}

.zv-ai-table tbody tr:hover td {
    background: var(--zv-light);
}

/* INDUSTRIES */

.zv-ai-industries {
    background: var(--zv-white);
}

.zv-ai-industries-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 60px;
}

.zv-ai-industries-grid > div {
    min-width: 0;
}

.zv-ai-industries-grid > div:first-child p {
    margin-bottom: 24px;
}

.zv-ai-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.zv-ai-tag-list span {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 10px 15px;
    border: 1px solid var(--zv-border);
    border-radius: 7px;
    background: var(--zv-light);
    color: var(--zv-primary);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.5;
}

/* TECHNOLOGIES */

.zv-ai-technologies {
    background: var(--zv-light);
}

.zv-ai-tech-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 15px;
}

.zv-ai-tech-grid > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 68px;
    padding: 15px;
    border: 1px solid var(--zv-border-light);
    border-radius: 8px;
    background: var(--zv-white);
    color: var(--zv-primary);
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    overflow-wrap: anywhere;
}

/* PROCESS */

.zv-ai-process {
    background: var(--zv-primary);
}

.zv-ai-process .zv-ai-heading h2 {
    color: var(--zv-white);
}

.zv-ai-process .zv-ai-heading > p {
    color: rgba(255, 255, 255, .78);
}

.zv-ai-process .zv-ai-eyebrow {
    color: var(--zv-accent-light);
}

.zv-ai-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 18px;
}

.zv-ai-process-grid article {
    min-width: 0;
    padding: 24px 20px;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 9px;
    background: rgba(255, 255, 255, .055);
}

.zv-ai-process-grid article > span {
    display: block;
    margin-bottom: 20px;
    color: var(--zv-accent-light);
    font-size: 14px;
    font-weight: 800;
}

.zv-ai-process-grid h3 {
    margin-bottom: 0;
    color: var(--zv-white);
    font-size: 17px;
}

/* WHY ZENVENTA */

.zv-ai-why {
    background: var(--zv-white);
}

.zv-ai-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zv-ai-why-grid article {
    padding: 28px 24px;
    border: 1px solid var(--zv-border-light);
    border-radius: 10px;
    background: var(--zv-white);
}

.zv-ai-why-grid article > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 22px;
    border-radius: 10px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 14px;
    font-weight: 800;
}

.zv-ai-why-grid h3 {
    font-size: 18px;
}

.zv-ai-why-grid p {
    margin-bottom: 0;
    font-size: 15px;
}

/* PRICING */

.zv-ai-pricing {
    background: var(--zv-light);
}

.zv-ai-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 20px;
}

.zv-ai-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 29px 22px;
    border: 1px solid var(--zv-border);
    border-radius: 12px;
    background: var(--zv-white);
    box-shadow: 0 8px 25px rgba(11, 33, 72, .045);
}

.zv-ai-price-card.is-featured {
    border: 2px solid var(--zv-secondary);
    box-shadow: 0 14px 35px rgba(23, 105, 194, .12);
}

.zv-ai-popular {
    align-self: flex-start;
    margin: -29px 0 20px -22px;
    padding: 9px 14px;
    border-radius: 9px 0 9px 0;
    background: var(--zv-secondary);
    color: var(--zv-white);
    font-size: 12px;
    font-weight: 800;
}

.zv-ai-price-card h3 {
    font-size: 19px;
}

.zv-ai-package-label {
    min-height: 48px;
    margin-bottom: 16px !important;
    font-size: 14px !important;
}

.zv-ai-price {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 72px;
    margin-bottom: 15px;
}

.zv-ai-price-amount {
    color: var(--zv-primary);
    font-size: clamp(27px, 2.2vw, 34px);
    font-weight: 800;
    line-height: 1.2;
}

.zv-ai-custom-price {
    color: var(--zv-primary);
    font-size: 25px;
    font-weight: 800;
    line-height: 1.3;
}

.zv-ai-price-note {
    margin-top: 5px;
    color: var(--zv-text-light);
    font-size: 12px;
}

.zv-ai-package-description {
    min-height: 110px;
    font-size: 14px !important;
}

.zv-ai-price-card h4 {
    margin: 8px 0 6px;
    color: var(--zv-primary);
    font-size: 15px;
    font-weight: 750;
}

.zv-ai-price-card ul {
    padding-left: 20px;
    margin: 10px 0 25px;
}

.zv-ai-price-card li {
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 14px;
    line-height: 1.6;
}

.zv-ai-price-card li::marker {
    color: var(--zv-accent);
}

.zv-ai-price-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    margin-top: auto;
    padding: 12px;
    border: 1px solid var(--zv-secondary);
    border-radius: 6px;
    background: var(--zv-white);
    color: var(--zv-secondary);
    font-size: 14px;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
    transition: background .2s ease, color .2s ease;
}

.zv-ai-price-btn:hover,
.zv-ai-price-card.is-featured .zv-ai-price-btn {
    background: var(--zv-secondary);
    color: var(--zv-white);
}

.zv-ai-price-card.is-featured .zv-ai-price-btn:hover {
    background: var(--zv-secondary-dark);
}

.zv-ai-pricing-note {
    max-width: 850px;
    margin: 26px auto 0 !important;
    font-size: 13px !important;
    text-align: center;
}

/* FAQ */

.zv-ai-faq {
    background: var(--zv-white);
}

.zv-ai-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 60px;
}

.zv-ai-faq-list {
    display: grid;
    gap: 14px;
}

.zv-ai-faq-list details {
    padding: 21px 23px;
    border: 1px solid var(--zv-border-light);
    border-radius: 9px;
    background: var(--zv-white);
}

.zv-ai-faq-list summary {
    position: relative;
    padding-right: 30px;
    color: var(--zv-primary);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.zv-ai-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-ai-faq-list summary::after {
    content: "+";
    position: absolute;
    top: -3px;
    right: 0;
    color: var(--zv-accent);
    font-size: 24px;
    line-height: 1;
}

.zv-ai-faq-list details[open] summary::after {
    content: "\2212";
}

.zv-ai-faq-list details p {
    margin: 14px 0 0;
    font-size: 15px;
}

/* FINAL CTA */

.zv-ai-cta {
    padding: 76px 0;
    background: var(--zv-secondary);
}

.zv-ai-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 45px;
}

.zv-ai-cta-inner > div {
    max-width: 790px;
}

.zv-ai-cta h2 {
    color: var(--zv-white);
}

.zv-ai-cta p {
    color: rgba(255, 255, 255, .88);
}

.zv-ai-cta .zv-ai-eyebrow {
    color: var(--zv-accent-light);
}

.zv-ai-cta .zv-ai-cta-tagline {
    margin-bottom: 0;
    color: var(--zv-white);
    font-weight: 750;
}

.zv-ai-btn-light {
    flex-shrink: 0;
    background: var(--zv-white);
    border-color: var(--zv-white);
    color: var(--zv-primary);
}

.zv-ai-btn-light:hover {
    background: var(--zv-light);
    border-color: var(--zv-light);
    color: var(--zv-primary);
}

/* RESPONSIVE */

@media (max-width: 1100px) {
    .zv-ai-benefit-grid,
    .zv-ai-tech-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-ai-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ai-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-ai-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ai-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ai-package-description {
        min-height: auto;
    }
}

@media (max-width: 767px) {
    .zv-ai-container {
        width: calc(100% - 36px);
    }

    .zv-ai-section {
        padding: 56px 0;
    }

    .zv-ai-intro-grid,
    .zv-ai-industries-grid,
    .zv-ai-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 32px;
    }

    .zv-ai-intro-image img {
        height: 320px;
    }

    .zv-ai-heading {
        margin-bottom: 30px;
    }

    .zv-ai-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-ai-cta {
        padding: 58px 0;
    }

    .zv-ai-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 25px;
    }
}

@media (max-width: 520px) {
    .zv-ai-container {
        width: calc(100% - 30px);
    }

    .zv-ai-section {
        padding: 44px 0;
    }

    .zv-ai-benefit-grid,
    .zv-ai-service-grid,
    .zv-ai-process-grid,
    .zv-ai-why-grid,
    .zv-ai-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zv-ai-tech-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .zv-ai-benefit-card,
    .zv-ai-service-card,
    .zv-ai-why-grid article,
    .zv-ai-price-card {
        padding: 23px;
    }

    .zv-ai-popular {
        margin: -23px 0 20px -23px;
    }

    .zv-ai-package-description,
    .zv-ai-package-label {
        min-height: auto;
    }

    .zv-ai-table th,
    .zv-ai-table td {
        min-width: 150px;
        padding: 15px;
    }

    .zv-ai-btn,
    .zv-ai-btn-light {
        width: 100%;
    }
}








/* =========================================================
   ZENVENTA GLOBAL — WEBSITE DEVELOPMENT PAGE
   Scoped to .zv-website-development-page
========================================================= */

.zv-website-development-page {
    --zv-wd-radius: 18px;
    --zv-wd-shadow: 0 12px 35px rgba(11, 33, 72, 0.07);
    color: var(--zv-text);
    background: var(--zv-white);
    overflow: clip;
}

.zv-website-development-page *,
.zv-website-development-page *::before,
.zv-website-development-page *::after {
    box-sizing: border-box;
}

.zv-website-development-page img {
    display: block;
    max-width: 100%;
}

.zv-website-development-page a {
    text-decoration: none;
}

.zv-website-development-page h2,
.zv-website-development-page h3,
.zv-website-development-page p {
    margin-top: 0;
}

.zv-website-development-page h2 {
    color: var(--zv-primary);
    font-size: clamp(1.85rem, 3.1vw, 2.65rem);
    line-height: 1.2;
    letter-spacing: -0.035em;
    font-weight: 750;
    margin-bottom: 18px;
}

.zv-website-development-page h3 {
    color: var(--zv-primary);
    font-size: 1.12rem;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 12px;
}

.zv-website-development-page p {
    color: var(--zv-text-light);
    line-height: 1.8;
    font-size: 0.97rem;
    margin-bottom: 16px;
}

.zv-website-development-page .zv-wd-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-website-development-page .zv-wd-section {
    padding-block: 35px;
}

.zv-website-development-page .zv-wd-eyebrow {
    display: inline-block;
    color: var(--zv-secondary);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.5;
    margin-bottom: 16px;
}

.zv-website-development-page .zv-wd-section-heading {
    max-width: 720px;
    margin: 0 auto 44px;
    text-align: center;
}

.zv-website-development-page .zv-wd-section-heading > p {
    max-width: 630px;
    margin: 0 auto;
}

.zv-website-development-page .zv-wd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease;
}

.zv-website-development-page .zv-wd-btn:hover {
    transform: translateY(-2px);
}

.zv-website-development-page .zv-wd-btn-primary {
    background: var(--zv-accent);
    color: var(--zv-white);
}

.zv-website-development-page .zv-wd-btn-primary:hover {
    background: var(--zv-accent-dark);
    color: var(--zv-white);
}

.zv-website-development-page .zv-wd-btn-light {
    background: var(--zv-white);
    color: var(--zv-primary);
}

.zv-website-development-page .zv-wd-btn-light:hover {
    background: var(--zv-light-2);
    color: var(--zv-primary);
}

.zv-website-development-page .zv-wd-btn-white {
    background: var(--zv-white);
    color: var(--zv-primary);
}

.zv-website-development-page .zv-wd-btn-white:hover {
    background: var(--zv-light-2);
    color: var(--zv-primary);
}

.zv-website-development-page .zv-wd-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--zv-secondary);
    font-size: 0.9rem;
    font-weight: 750;
    line-height: 1.5;
}

.zv-website-development-page .zv-wd-text-link:hover {
    color: var(--zv-accent-dark);
}

/* INTRO */

.zv-website-development-page .zv-wd-intro {
    background: var(--zv-white);
}

.zv-website-development-page .zv-wd-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
    align-items: center;
    gap: clamp(40px, 6vw, 82px);
}

.zv-website-development-page .zv-wd-intro-content h2 {
    max-width: 580px;
}

.zv-website-development-page .zv-wd-intro-content .zv-wd-lead {
    color: var(--zv-text);
    font-size: 1.08rem;
    line-height: 1.8;
}

.zv-website-development-page .zv-wd-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin: 26px 0 30px;
}

.zv-website-development-page .zv-wd-check-list > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--zv-text);
    font-size: 0.9rem;
    line-height: 1.6;
}

.zv-website-development-page .zv-wd-check-list > div > span {
    flex: 0 0 22px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zv-secondary);
    font-size: 0.8rem;
    font-weight: 800;
}

.zv-website-development-page .zv-wd-intro-visual {
    position: relative;
    min-width: 0;
    padding: 0 0 28px 18px;
}

.zv-website-development-page .zv-wd-image-frame {
    position: relative;
    overflow: hidden;
    min-height: 360px;
    aspect-ratio: 5 / 4;
    border-radius: 22px;
    background: var(--zv-light-2);
    box-shadow: var(--zv-wd-shadow);
}

.zv-website-development-page .zv-wd-image-frame img {
    width: 100%;
    height: 100%;
    min-height: 360px;
    position: absolute;
    inset: 0;
    object-fit: cover;
    object-position: center;
}

.zv-website-development-page .zv-wd-floating-card {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: min(340px, 90%);
    padding: 20px;
    border: 1px solid var(--zv-border-light);
    border-radius: 13px;
    background: var(--zv-white);
    box-shadow: 0 15px 45px rgba(11, 33, 72, 0.13);
}

.zv-website-development-page .zv-wd-floating-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(244, 123, 32, 0.12);
    color: var(--zv-accent-dark);
    font-size: 1.35rem;
    font-weight: 800;
}

.zv-website-development-page .zv-wd-floating-card strong {
    display: block;
    margin: 1px 0 5px;
    color: var(--zv-primary);
    font-size: 0.94rem;
}

.zv-website-development-page .zv-wd-floating-card p {
    font-size: 0.82rem;
    line-height: 1.6;
    margin-bottom: 0;
}

/* BENEFITS */

.zv-website-development-page .zv-wd-benefits {
    background: var(--zv-light);
}

.zv-website-development-page .zv-wd-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-website-development-page .zv-wd-benefit-card {
    padding: 30px 26px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-wd-radius);
    background: var(--zv-white);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.zv-website-development-page .zv-wd-benefit-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--zv-wd-shadow);
}

.zv-website-development-page .zv-wd-number {
    display: grid;
    place-items: center;
    width: 47px;
    height: 47px;
    margin-bottom: 24px;
    border-radius: 12px;
    background: var(--zv-primary);
    color: var(--zv-white);
    font-size: 0.86rem;
    font-weight: 800;
}

.zv-website-development-page .zv-wd-benefit-card p {
    margin-bottom: 0;
}

/* SERVICES */

.zv-website-development-page .zv-wd-services {
    background: var(--zv-white);
}

.zv-website-development-page .zv-wd-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-website-development-page .zv-wd-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 29px 26px;
    border: 1px solid var(--zv-border);
    border-radius: var(--zv-wd-radius);
    background: var(--zv-white);
    transition: border-color 0.25s ease, box-shadow 0.25s ease,
        transform 0.25s ease;
}

.zv-website-development-page .zv-wd-service-card:hover {
    border-color: rgba(23, 105, 194, 0.42);
    box-shadow: var(--zv-wd-shadow);
    transform: translateY(-4px);
}

.zv-website-development-page .zv-wd-service-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}

.zv-website-development-page .zv-wd-service-number {
    color: var(--zv-secondary);
    font-size: 0.84rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.zv-website-development-page .zv-wd-service-arrow {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--zv-light);
    color: var(--zv-primary);
    font-size: 1.1rem;
}

.zv-website-development-page .zv-wd-service-card > p {
    margin-bottom: 18px;
}

.zv-website-development-page .zv-wd-service-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 25px;
}

.zv-website-development-page .zv-wd-service-card li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 10px;
    color: var(--zv-text-light);
    font-size: 0.88rem;
    line-height: 1.65;
}

.zv-website-development-page .zv-wd-service-card li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: var(--zv-secondary);
    font-weight: 800;
}

.zv-website-development-page .zv-wd-service-card .zv-wd-text-link {
    margin-top: auto;
    align-self: flex-start;
}

/* WEBSITE TYPES */

.zv-website-development-page .zv-wd-types {
    background: var(--zv-primary);
}

.zv-website-development-page .zv-wd-types-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
}

.zv-website-development-page .zv-wd-types-content h2 {
    color: var(--zv-white);
}

.zv-website-development-page .zv-wd-types-content > p {
    color: rgba(255, 255, 255, 0.76);
    margin-bottom: 28px;
}

.zv-website-development-page .zv-wd-types-content .zv-wd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-website-development-page .zv-wd-types-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.zv-website-development-page .zv-wd-type-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
    padding: 21px 18px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.055);
}

.zv-website-development-page .zv-wd-type-check {
    display: grid;
    place-items: center;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: rgba(244, 123, 32, 0.18);
    color: var(--zv-accent-light);
    font-size: 0.78rem;
    font-weight: 800;
}

.zv-website-development-page .zv-wd-type-item h3 {
    color: var(--zv-white);
    font-size: 0.96rem;
    margin-bottom: 7px;
}

.zv-website-development-page .zv-wd-type-item p {
    color: rgba(255, 255, 255, 0.69);
    font-size: 0.82rem;
    line-height: 1.65;
    margin-bottom: 0;
}

/* PROCESS */

.zv-website-development-page .zv-wd-process {
    background: var(--zv-light);
}

.zv-website-development-page .zv-wd-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-website-development-page .zv-wd-process-card {
    position: relative;
    padding: 28px 25px;
    border: 1px solid var(--zv-border-light);
    border-radius: var(--zv-wd-radius);
    background: var(--zv-white);
}

.zv-website-development-page .zv-wd-process-number {
    display: inline-block;
    margin-bottom: 22px;
    color: var(--zv-accent);
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1;
}

.zv-website-development-page .zv-wd-process-card p {
    margin-bottom: 0;
}

/* WHY ZENVENTA */

.zv-website-development-page .zv-wd-why {
    background: var(--zv-white);
}

.zv-website-development-page .zv-wd-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: clamp(45px, 8vw, 100px);
}

.zv-website-development-page .zv-wd-why-heading > p {
    margin-bottom: 26px;
}

.zv-website-development-page .zv-wd-why-points {
    border-top: 1px solid var(--zv-border);
}

.zv-website-development-page .zv-wd-why-points article {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 23px 0;
    border-bottom: 1px solid var(--zv-border);
}

.zv-website-development-page .zv-wd-why-points article > span {
    flex: 0 0 38px;
    color: var(--zv-secondary);
    font-size: 0.83rem;
    font-weight: 800;
    padding-top: 3px;
}

.zv-website-development-page .zv-wd-why-points h3 {
    margin-bottom: 7px;
}

.zv-website-development-page .zv-wd-why-points p {
    margin-bottom: 0;
}

/* FAQ */

.zv-website-development-page .zv-wd-faq {
    background: var(--zv-light);
}

.zv-website-development-page .zv-wd-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(40px, 7vw, 90px);
}

.zv-website-development-page .zv-wd-faq-intro > p {
    margin-bottom: 25px;
}

.zv-website-development-page .zv-wd-faq-list details {
    border-bottom: 1px solid var(--zv-border);
    background: transparent;
}

.zv-website-development-page .zv-wd-faq-list details:first-child {
    border-top: 1px solid var(--zv-border);
}

.zv-website-development-page .zv-wd-faq-list summary {
    position: relative;
    padding: 21px 36px 21px 0;
    color: var(--zv-primary);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.55;
    cursor: pointer;
    list-style: none;
}

.zv-website-development-page .zv-wd-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-website-development-page .zv-wd-faq-list summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 3px;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: var(--zv-white);
    color: var(--zv-secondary);
    font-size: 1.2rem;
    transform: translateY(-50%);
}

.zv-website-development-page .zv-wd-faq-list details[open] summary::after {
    content: "−";
}

.zv-website-development-page .zv-wd-faq-list details > p {
    padding: 0 25px 20px 0;
    margin-bottom: 0;
}

/* FINAL CTA */

.zv-website-development-page .zv-wd-final-cta {
    position: relative;
    padding: 72px 0;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(61, 134, 211, 0.22),
            transparent 35%
        ),
        var(--zv-primary);
}

.zv-website-development-page .zv-wd-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.zv-website-development-page .zv-wd-final-inner > div:first-child {
    max-width: 720px;
}

.zv-website-development-page .zv-wd-final-inner h2 {
    color: var(--zv-white);
    margin-bottom: 15px;
}

.zv-website-development-page .zv-wd-final-inner p {
    color: rgba(255, 255, 255, 0.77);
    margin-bottom: 0;
}

.zv-website-development-page .zv-wd-final-inner .zv-wd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-website-development-page .zv-wd-final-actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.zv-website-development-page .zv-wd-final-phone {
    color: rgba(255, 255, 255, 0.87);
    font-size: 0.88rem;
    font-weight: 600;
}

.zv-website-development-page .zv-wd-final-phone:hover {
    color: var(--zv-accent-light);
}

/* TABLET */

@media (max-width: 1024px) {
    .zv-website-development-page .zv-wd-section {
        padding-block: 70px;
    }

    .zv-website-development-page .zv-wd-intro-grid {
        gap: 38px;
    }

    .zv-website-development-page .zv-wd-benefit-grid,
    .zv-website-development-page .zv-wd-service-grid,
    .zv-website-development-page .zv-wd-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-website-development-page .zv-wd-types-grid,
    .zv-website-development-page .zv-wd-why-grid {
        gap: 38px;
    }

    .zv-website-development-page .zv-wd-final-inner {
        align-items: flex-start;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .zv-website-development-page .zv-wd-container {
        width: min(100% - 36px, 560px);
    }

    .zv-website-development-page .zv-wd-section {
        padding-block: 54px;
    }

    .zv-website-development-page h2 {
        font-size: clamp(1.7rem, 7vw, 2.15rem);
        line-height: 1.25;
        margin-bottom: 15px;
    }

    .zv-website-development-page p {
        font-size: 0.93rem;
        line-height: 1.75;
    }

    .zv-website-development-page .zv-wd-section-heading {
        margin-bottom: 30px;
        text-align: left;
    }

    .zv-website-development-page .zv-wd-section-heading > p {
        margin-left: 0;
    }

    .zv-website-development-page .zv-wd-intro-grid,
    .zv-website-development-page .zv-wd-types-grid,
    .zv-website-development-page .zv-wd-why-grid,
    .zv-website-development-page .zv-wd-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .zv-website-development-page .zv-wd-intro-content .zv-wd-lead {
        font-size: 1rem;
    }

    .zv-website-development-page .zv-wd-check-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-block: 23px 27px;
    }

    .zv-website-development-page .zv-wd-intro-visual {
        padding-left: 10px;
        padding-bottom: 22px;
        margin-top: 5px;
    }

    .zv-website-development-page .zv-wd-image-frame,
    .zv-website-development-page .zv-wd-image-frame img {
        min-height: 260px;
    }

    .zv-website-development-page .zv-wd-image-frame {
        aspect-ratio: 4 / 3;
        border-radius: 16px;
    }

    .zv-website-development-page .zv-wd-floating-card {
        width: min(320px, 94%);
        padding: 15px;
        gap: 11px;
    }

    .zv-website-development-page .zv-wd-benefit-grid,
    .zv-website-development-page .zv-wd-service-grid,
    .zv-website-development-page .zv-wd-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .zv-website-development-page .zv-wd-benefit-card,
    .zv-website-development-page .zv-wd-service-card,
    .zv-website-development-page .zv-wd-process-card {
        padding: 23px 21px;
    }

    .zv-website-development-page .zv-wd-number {
        margin-bottom: 19px;
    }

    .zv-website-development-page .zv-wd-service-top {
        margin-bottom: 17px;
    }

    .zv-website-development-page .zv-wd-types-list {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .zv-website-development-page .zv-wd-type-item {
        padding: 18px 16px;
    }

    .zv-website-development-page .zv-wd-why-points article {
        gap: 13px;
        padding: 19px 0;
    }

    .zv-website-development-page .zv-wd-faq-list summary {
        padding-block: 18px;
        font-size: 0.94rem;
    }

    .zv-website-development-page .zv-wd-final-cta {
        padding-block: 52px;
    }

    .zv-website-development-page .zv-wd-final-inner {
        flex-direction: column;
        gap: 25px;
    }

    .zv-website-development-page .zv-wd-final-actions {
        width: 100%;
        align-items: stretch;
    }

    .zv-website-development-page .zv-wd-final-actions .zv-wd-btn {
        width: 100%;
    }

    .zv-website-development-page .zv-wd-final-phone {
        text-align: center;
    }
}

/* SMALL MOBILE */

@media (max-width: 380px) {
    .zv-website-development-page .zv-wd-container {
        width: calc(100% - 28px);
    }

    .zv-website-development-page .zv-wd-btn {
        padding: 12px 15px;
        font-size: 0.86rem;
    }

    .zv-website-development-page .zv-wd-floating-card {
        width: 97%;
    }
}

/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .zv-website-development-page *,
    .zv-website-development-page *::before,
    .zv-website-development-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}








/* ==========================================================
   BUSINESS WEBSITE DEVELOPMENT — ZENVENTA GLOBAL
   Scoped styles: .zv-business-website-page
========================================================== */


.zv-business-website-page {
    --bwd-navy: var(--zv-primary);
    --bwd-navy-dark: var(--zv-primary-dark);
    --bwd-navy-light: var(--zv-primary-light);

    --bwd-blue: var(--zv-secondary);
    --bwd-blue-dark: var(--zv-secondary-dark);
    --bwd-blue-light: var(--zv-secondary-light);

    --bwd-orange: var(--zv-accent);
    --bwd-orange-dark: var(--zv-accent-dark);
    --bwd-orange-light: var(--zv-accent-light);

    --bwd-muted: var(--zv-text-light);
    --bwd-line: var(--zv-border);
    --bwd-soft: var(--zv-light);

    color: var(--zv-text);
    background: var(--zv-white);
    overflow: clip;
}


.zv-business-website-page *,
.zv-business-website-page *::before,
.zv-business-website-page *::after {
    box-sizing: border-box;
}

.zv-business-website-page img {
    display: block;
    max-width: 100%;
}

.zv-business-website-page a {
    text-decoration: none;
}

.zv-business-website-page h2,
.zv-business-website-page h3,
.zv-business-website-page p {
    margin-top: 0;
}

.zv-business-website-page h2 {
    margin-bottom: 17px;
    color: var(--bwd-navy);
    font-size: clamp(1.9rem, 3.2vw, 2.7rem);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -0.035em;
}

.zv-business-website-page h3 {
    margin-bottom: 12px;
    color: var(--bwd-navy);
    font-size: 1.12rem;
    font-weight: 720;
    line-height: 1.4;
}

.zv-business-website-page p {
    margin-bottom: 16px;
    color: var(--bwd-muted);
    font-size: .96rem;
    line-height: 1.8;
}

.zv-business-website-page .zv-bwd-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-business-website-page .zv-bwd-section {
    padding-block: 35px;
}

.zv-business-website-page .zv-bwd-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--zv-secondary);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: .14em;
}

.zv-business-website-page .zv-bwd-heading {
    max-width: 760px;
    margin: 0 auto 43px;
    text-align: center;
}

.zv-business-website-page .zv-bwd-heading > p {
    max-width: 670px;
    margin: 0 auto;
}

.zv-business-website-page .zv-bwd-btn {
    display: inline-flex;
    min-height: 49px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    transition: transform .22s ease, background-color .22s ease,
        border-color .22s ease, color .22s ease;
}

.zv-business-website-page .zv-bwd-btn:hover {
    transform: translateY(-2px);
}

.zv-business-website-page .zv-bwd-btn-orange {
    color: #fff;
    background: var(--zv-accent);
}

.zv-business-website-page .zv-bwd-btn-orange:hover {
    color: #fff;
    background: var(--zv-accent-dark);
}

.zv-business-website-page .zv-bwd-btn-white {
    color: var(--bwd-navy);
    background: #fff;
}

.zv-business-website-page .zv-bwd-btn-white:hover {
    color: var(--bwd-navy);
    background: #f0f2f8;
}

.zv-business-website-page .zv-bwd-btn-purple {
    color: #fff;
    background: var(--zv-secondary);
}

.zv-business-website-page .zv-bwd-btn-purple:hover {
    color: #fff;
    background: var(--zv-secondary-light);
}

.zv-business-website-page .zv-bwd-btn-outline {
    color: var(--bwd-navy);
    border-color: #d5dbe7;
    background: #fff;
}

.zv-business-website-page .zv-bwd-btn-outline:hover {
    color: var(--zv-secondary);
    border-color: var(--zv-secondary);
}

.zv-business-website-page .zv-bwd-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--zv-secondary);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.5;
}

.zv-business-website-page .zv-bwd-link:hover {
    color: var(--zv-accent-dark);
}

/* INTRO */

.zv-business-website-page .zv-bwd-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .94fr);
    align-items: center;
    gap: clamp(38px, 6vw, 78px);
}

.zv-business-website-page .zv-bwd-intro-copy h2 {
    max-width: 610px;
}

.zv-business-website-page .zv-bwd-intro-copy .zv-bwd-lead {
    color: var(--zv-text);
    font-size: 1.06rem;
}

.zv-business-website-page .zv-bwd-checks {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 18px;
    margin: 25px 0 29px;
}

.zv-business-website-page .zv-bwd-checks span {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--zv-text);
    font-size: .88rem;
    line-height: 1.65;
}

.zv-business-website-page .zv-bwd-checks span::first-letter {
    color: var(--zv-secondary);
}

.zv-business-website-page .zv-bwd-intro-art {
    position: relative;
    min-width: 0;
    padding: 0 0 26px 17px;
}

.zv-business-website-page .zv-bwd-intro-art > img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
    background: var(--bwd-soft);
    box-shadow: 0 18px 48px rgba(11, 33, 72, .12);
}

.zv-business-website-page .zv-bwd-image-note {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    width: min(350px, 92%);
    align-items: flex-start;
    gap: 13px;
    padding: 19px;
    border: 1px solid #edf0f5;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(11, 33, 72, .12);
}

.zv-business-website-page .zv-bwd-note-mark {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 10px;
    color: var(--zv-secondary);
    background: var(--zv-light-2);
    font-size: 1.35rem;
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-image-note strong {
    display: block;
    margin-bottom: 5px;
    color: var(--bwd-navy);
    font-size: .91rem;
}

.zv-business-website-page .zv-bwd-image-note p {
    margin-bottom: 0;
    font-size: .81rem;
    line-height: 1.6;
}

/* BENEFITS */

.zv-business-website-page .zv-bwd-need {
    background: var(--bwd-soft);
}

.zv-business-website-page .zv-bwd-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.zv-business-website-page .zv-bwd-benefit-card {
    padding: 28px 25px;
    border: 1px solid #e9edf4;
    border-radius: 15px;
    background: #fff;
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-business-website-page .zv-bwd-benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(11, 33, 72, .08);
}

.zv-business-website-page .zv-bwd-index {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    margin-bottom: 22px;
    border: 1px solid var(--zv-border);
    border-radius: 50%;
    color: var(--zv-secondary);
    background: var(--zv-light);
    font-size: .79rem;
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-benefit-card p {
    margin-bottom: 0;
}

/* CTA 2 */

.zv-business-website-page .zv-bwd-cta {
    padding-block: 44px;
    background: var(--bwd-navy);
}

.zv-business-website-page .zv-bwd-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.zv-business-website-page .zv-bwd-cta-inner > div {
    max-width: 730px;
}

.zv-business-website-page .zv-bwd-cta .zv-bwd-eyebrow {
    color: #c9a1ff;
}

.zv-business-website-page .zv-bwd-cta h2 {
    margin-bottom: 10px;
    color: #fff;
    font-size: clamp(1.55rem, 2.7vw, 2.15rem);
}

.zv-business-website-page .zv-bwd-cta p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, .75);
}

/* SERVICE CARDS */

.zv-business-website-page .zv-bwd-services {
    background: #fff;
}

.zv-business-website-page .zv-bwd-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #e8dfd8;
    border-left: 1px solid #e8dfd8;
}

.zv-business-website-page .zv-bwd-service-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 30px 28px 28px;
    border-right: 1px solid #e8dfd8;
    border-bottom: 1px solid #e8dfd8;
    background: #fff;
    transition: background-color .25s ease;
}

.zv-business-website-page .zv-bwd-service-card:hover {
    background: #fdfaff;
}

.zv-business-website-page .zv-bwd-service-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 23px;
}

.zv-business-website-page .zv-bwd-service-icon {
    display: grid;
    width: 55px;
    height: 55px;
    flex: 0 0 55px;
    place-items: center;
    border: 1.5px solid var(--zv-secondary-light);
    border-radius: 50%;
    color: var(--zv-secondary);
    background: #fffaff;
    font-size: .78rem;
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-service-arrow {
    color: var(--zv-secondary);
    font-size: 1.3rem;
}

.zv-business-website-page .zv-bwd-service-card h3 {
    margin-bottom: 12px;
    font-size: 1.13rem;
}

.zv-business-website-page .zv-bwd-service-tag {
    display: inline-flex;
    align-self: flex-start;
    margin-bottom: 17px;
    padding: 6px 12px;
    border: 1px solid var(--zv-border);
    border-radius: 30px;
    color: #51415f;
    background: var(--zv-light);
    font-size: .72rem;
    line-height: 1.4;
}

.zv-business-website-page .zv-bwd-service-card > p {
    font-size: .89rem;
    line-height: 1.75;
}

.zv-business-website-page .zv-bwd-service-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 22px;
}

.zv-business-website-page .zv-bwd-service-card li {
    position: relative;
    padding-left: 19px;
    margin-bottom: 9px;
    color: var(--bwd-muted);
    font-size: .84rem;
    line-height: 1.6;
}

.zv-business-website-page .zv-bwd-service-card li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: var(--zv-secondary);
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-service-card .zv-bwd-link {
    margin-top: auto;
    align-self: flex-start;
}

/* INDUSTRIES */

.zv-business-website-page .zv-bwd-industries {
    padding-block: 80px;
    background: #f7f8fc;
}

.zv-business-website-page .zv-bwd-industry-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: 65px;
}

.zv-business-website-page .zv-bwd-industry-grid > div:first-child > p {
    margin-bottom: 25px;
}

.zv-business-website-page .zv-bwd-industry-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
}

.zv-business-website-page .zv-bwd-industry-tags span {
    padding: 11px 15px;
    border: 1px solid #e0e5ef;
    border-radius: 7px;
    color: var(--bwd-navy);
    background: #fff;
    font-size: .84rem;
    font-weight: 650;
}

/* TECHNOLOGY */

.zv-business-website-page .zv-bwd-tech {
    padding-block: 35px;
    background: #fff;
    text-align: center;
}

.zv-business-website-page .zv-bwd-tech-inner > p {
    max-width: 670px;
    margin: 0 auto 27px;
}

.zv-business-website-page .zv-bwd-tech-inner h2 {
    font-size: clamp(1.75rem, 2.8vw, 2.25rem);
}

.zv-business-website-page .zv-bwd-tech-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 11px;
}

.zv-business-website-page .zv-bwd-tech-list span {
    padding: 11px 16px;
    border: 1px solid #e2e6ef;
    border-radius: 7px;
    color: #34445c;
    background: #fafbfe;
    font-size: .85rem;
    font-weight: 650;
}

/* PORTFOLIO */

.zv-business-website-page .zv-bwd-portfolio {
    background: #f7f8fc;
}

.zv-business-website-page .zv-bwd-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 23px;
}

.zv-business-website-page .zv-bwd-portfolio-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e8f0;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(11, 33, 72, .035);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-business-website-page .zv-bwd-portfolio-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 35px rgba(11, 33, 72, .1);
}

.zv-business-website-page .zv-bwd-portfolio-visual {
    position: relative;
    display: flex;
    height: 220px;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 20px;
    background: linear-gradient(135deg, #162e58, #7851b5);
}

.zv-business-website-page .zv-bwd-portfolio-visual > span {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 4px;
    color: #fff;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.zv-business-website-page .zv-bwd-visual-services {
    background: linear-gradient(135deg, #163d70, #6d8fbd);
}

.zv-business-website-page .zv-bwd-visual-store {
    background: linear-gradient(135deg, #263c4d, #c18a5c);
}

.zv-business-website-page .zv-bwd-mock-browser {
    position: relative;
    width: 100%;
    min-height: 125px;
    padding: 17px 14px 12px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 7px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .1);
}

.zv-business-website-page .zv-bwd-mock-browser > i {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 4px;
    border-radius: 50%;
    background: #aab1c0;
}

.zv-business-website-page .zv-bwd-mock-line {
    width: 62%;
    height: 7px;
    margin-top: 14px;
    border-radius: 5px;
    background: #d9ddec;
}

.zv-business-website-page .zv-bwd-mock-block {
    width: 100%;
    height: 37px;
    margin-top: 10px;
    border-radius: 4px;
    background: linear-gradient(90deg, #e9e6f8, #f4e9ff);
}

.zv-business-website-page .zv-bwd-mock-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 7px;
    margin-top: 10px;
}

.zv-business-website-page .zv-bwd-mock-cards b {
    height: 30px;
    border-radius: 3px;
    background: #e9edf5;
}

.zv-business-website-page .zv-bwd-portfolio-copy {
    padding: 23px;
}

.zv-business-website-page .zv-bwd-portfolio-label {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--zv-secondary);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.zv-business-website-page .zv-bwd-portfolio-copy p {
    font-size: .89rem;
}

.zv-business-website-page .zv-bwd-portfolio-note,
.zv-business-website-page .zv-bwd-pricing-note {
    margin: 22px auto 0;
    font-size: .81rem;
    text-align: center;
}

/* PROCESS — DARK SIX-STAGE TIMELINE */

.zv-business-website-page .zv-bwd-process {
    position: relative;
    padding-block: 35px 45px;
    color: #fff;
    background:
        radial-gradient(ellipse at 12% 8%, rgba(105, 53, 186, .43), transparent 42%),
        radial-gradient(ellipse at 92% 85%, rgba(122, 34, 116, .25), transparent 38%),
        linear-gradient(115deg, #1d123d, #100c26 68%, #21112c);
}

.zv-business-website-page .zv-bwd-process-intro {
    max-width: 900px;
    margin: 0 auto 65px;
    text-align: center;
}

.zv-business-website-page .zv-bwd-process .zv-bwd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-business-website-page .zv-bwd-process h2 {
    color: #fff;
}

.zv-business-website-page .zv-bwd-process-intro > p {
    max-width: 850px;
    margin: 0 auto 26px;
    color: rgba(255, 255, 255, .76);
    font-size: 1rem;
}

.zv-business-website-page .zv-bwd-timeline {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.zv-business-website-page .zv-bwd-timeline::before {
    position: absolute;
    top: 27px;
    right: 7%;
    left: 7%;
    height: 1px;
    border-top: 2px dashed rgba(180, 108, 239, .42);
    content: "";
}

.zv-business-website-page .zv-bwd-timeline-step {
    position: relative;
    min-width: 0;
    padding: 0 18px;
}

.zv-business-website-page .zv-bwd-timeline-step:first-child {
    padding-left: 0;
}

.zv-business-website-page .zv-bwd-timeline-step:last-child {
    padding-right: 0;
}

.zv-business-website-page .zv-bwd-timeline-marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: 55px;
    height: 55px;
    place-items: center;
    margin-bottom: 25px;
    border: 1px solid rgba(177, 92, 241, .8);
    border-radius: 50%;
    color: #d6a9ff;
    background: #21153d;
    box-shadow: 0 0 0 7px rgba(25, 15, 48, .7);
    font-size: .79rem;
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-timeline-content {
    min-height: 175px;
    padding-right: 10px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.zv-business-website-page .zv-bwd-timeline-step:last-child .zv-bwd-timeline-content {
    border-right: 0;
}

.zv-business-website-page .zv-bwd-timeline-kicker {
    display: block;
    margin-bottom: 9px;
    color: var(--zv-accent-light);
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.zv-business-website-page .zv-bwd-timeline-content h3 {
    color: #fff;
    font-size: .98rem;
    line-height: 1.45;
}

.zv-business-website-page .zv-bwd-timeline-content p {
    color: rgba(255, 255, 255, .72);
    font-size: .82rem;
    line-height: 1.7;
}

/* WHY CHOOSE US */

.zv-business-website-page .zv-bwd-why {
    background: #fff;
}

.zv-business-website-page .zv-bwd-why-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 21px;
}

.zv-business-website-page .zv-bwd-why-grid article {
    padding: 26px;
    border: 1px solid #e5e8f0;
    border-radius: 13px;
    background: #fff;
}

.zv-business-website-page .zv-bwd-why-grid article > span {
    display: inline-block;
    margin-bottom: 18px;
    color: var(--zv-secondary);
    font-size: 1.3rem;
    font-weight: 850;
}

.zv-business-website-page .zv-bwd-why-grid article p {
    margin-bottom: 0;
}

/* TESTIMONIALS */

.zv-business-website-page .zv-bwd-testimonials {
    background: #f7f8fc;
}

.zv-business-website-page .zv-bwd-testimonial-panel {
    max-width: 850px;
    margin-inline: auto;
    padding: 38px;
    border: 1px solid #e6e1f0;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 36px rgba(11, 33, 72, .05);
}

.zv-business-website-page .zv-bwd-quote-mark {
    display: block;
    height: 52px;
    color: var(--zv-secondary);
    font-family: Georgia, serif;
    font-size: 5rem;
    line-height: 1;
}

.zv-business-website-page .zv-bwd-testimonial-panel h3 {
    font-size: 1.35rem;
}

.zv-business-website-page .zv-bwd-testimonial-author {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #e8ebf2;
}

.zv-business-website-page .zv-bwd-author-avatar {
    display: grid;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--bwd-navy);
    font-size: .76rem;
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-testimonial-author strong,
.zv-business-website-page .zv-bwd-testimonial-author small {
    display: block;
}

.zv-business-website-page .zv-bwd-testimonial-author strong {
    color: var(--bwd-navy);
    font-size: .9rem;
}

.zv-business-website-page .zv-bwd-testimonial-author small {
    margin-top: 4px;
    color: var(--bwd-muted);
    font-size: .78rem;
}

/* PRICING */

.zv-business-website-page .zv-bwd-pricing {
    background: #fff;
}

.zv-business-website-page .zv-bwd-package-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 17px;
}

.zv-business-website-page .zv-bwd-package {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 27px 22px;
    border: 1px solid #e1e5ee;
    border-radius: 14px;
    background: #fff;
}

.zv-business-website-page .zv-bwd-package-featured {
    border: 1.5px solid var(--zv-secondary);
    box-shadow: 0 12px 35px rgba(135, 59, 208, .1);
}

.zv-business-website-page .zv-bwd-popular {
    align-self: flex-start;
    margin-bottom: 15px;
    padding: 6px 9px;
    border-radius: 4px;
    color: #fff;
    background: var(--zv-secondary);
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.zv-business-website-page .zv-bwd-package h3 {
    font-size: 1.05rem;
}

.zv-business-website-page .zv-bwd-price {
    margin-bottom: 12px;
    color: var(--bwd-navy);
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: -.04em;
}

.zv-business-website-page .zv-bwd-package > p {
    min-height: 78px;
    font-size: .85rem;
}

.zv-business-website-page .zv-bwd-page-count {
    padding: 12px 0;
    border-top: 1px solid #e7eaf1;
    border-bottom: 1px solid #e7eaf1;
    color: var(--bwd-navy);
    font-size: .85rem;
    font-weight: 750;
}

.zv-business-website-page .zv-bwd-package ul {
    list-style: none;
    padding: 18px 0;
    margin: 0 0 20px;
}

.zv-business-website-page .zv-bwd-package li {
    position: relative;
    padding-left: 19px;
    margin-bottom: 12px;
    color: var(--bwd-muted);
    font-size: .82rem;
    line-height: 1.55;
}

.zv-business-website-page .zv-bwd-package li::before {
    position: absolute;
    left: 0;
    content: "✓";
    color: var(--zv-secondary);
    font-weight: 800;
}

.zv-business-website-page .zv-bwd-package .zv-bwd-btn {
    width: 100%;
    margin-top: auto;
}

/* FAQ */

.zv-business-website-page .zv-bwd-faq {
    background: #f7f8fc;
}

.zv-business-website-page .zv-bwd-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(40px, 7vw, 90px);
}

.zv-business-website-page .zv-bwd-faq-intro > p {
    margin-bottom: 23px;
}

.zv-business-website-page .zv-bwd-faq-list details {
    border-bottom: 1px solid #dfe4ee;
}

.zv-business-website-page .zv-bwd-faq-list details:first-child {
    border-top: 1px solid #dfe4ee;
}

.zv-business-website-page .zv-bwd-faq-list summary {
    position: relative;
    padding: 21px 39px 21px 0;
    color: var(--bwd-navy);
    font-size: .96rem;
    font-weight: 750;
    line-height: 1.55;
    cursor: pointer;
    list-style: none;
}

.zv-business-website-page .zv-bwd-faq-list summary::-webkit-details-marker {
    display: none;
}

.zv-business-website-page .zv-bwd-faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 2px;
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 50%;
    color: var(--zv-secondary);
    background: #fff;
    content: "+";
    font-size: 1.2rem;
    transform: translateY(-50%);
}

.zv-business-website-page .zv-bwd-faq-list details[open] summary::after {
    content: "−";
}

.zv-business-website-page .zv-bwd-faq-list details > p {
    padding: 0 28px 20px 0;
    margin-bottom: 0;
}

/* FINAL CTA — THIRD CTA SECTION */

.zv-business-website-page .zv-bwd-final-cta {
    padding-block: 72px;
    background:
        radial-gradient(ellipse at 85% 15%, rgba(135, 59, 208, .3), transparent 40%),
        linear-gradient(115deg, #0b2148, #171033);
}

.zv-business-website-page .zv-bwd-final-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.zv-business-website-page .zv-bwd-final-inner > div:first-child {
    max-width: 720px;
}

.zv-business-website-page .zv-bwd-final-inner .zv-bwd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-business-website-page .zv-bwd-final-inner h2 {
    color: #fff;
}

.zv-business-website-page .zv-bwd-final-inner p {
    color: rgba(255, 255, 255, .76);
    margin-bottom: 0;
}

.zv-business-website-page .zv-bwd-final-actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
}

.zv-business-website-page .zv-bwd-final-actions > a:not(.zv-bwd-btn) {
    color: rgba(255, 255, 255, .84);
    font-size: .86rem;
}

.zv-business-website-page .zv-bwd-final-actions > a:not(.zv-bwd-btn):hover {
    color: var(--zv-accent-light);
}

/* TABLET */

@media (max-width: 1050px) {
    .zv-business-website-page .zv-bwd-section {
        padding-block: 70px;
    }

    .zv-business-website-page .zv-bwd-benefit-grid,
    .zv-business-website-page .zv-bwd-service-grid,
    .zv-business-website-page .zv-bwd-portfolio-grid,
    .zv-business-website-page .zv-bwd-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-business-website-page .zv-bwd-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-business-website-page .zv-bwd-timeline {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 35px;
    }

    .zv-business-website-page .zv-bwd-timeline::before {
        display: none;
    }

    .zv-business-website-page .zv-bwd-timeline-step,
    .zv-business-website-page .zv-bwd-timeline-step:first-child,
    .zv-business-website-page .zv-bwd-timeline-step:last-child {
        padding-inline: 14px;
    }

    .zv-business-website-page .zv-bwd-timeline-content {
        min-height: 150px;
    }

    .zv-business-website-page .zv-bwd-timeline-step:nth-child(3n) .zv-bwd-timeline-content {
        border-right: 0;
    }

    .zv-business-website-page .zv-bwd-industry-grid {
        gap: 38px;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .zv-business-website-page .zv-bwd-container {
        width: min(100% - 36px, 560px);
    }

    .zv-business-website-page .zv-bwd-section {
        padding-block: 54px;
    }

    .zv-business-website-page h2 {
        font-size: clamp(1.72rem, 7vw, 2.15rem);
        line-height: 1.24;
    }

    .zv-business-website-page p {
        font-size: .92rem;
        line-height: 1.75;
    }

    .zv-business-website-page .zv-bwd-heading {
        margin-bottom: 29px;
        text-align: left;
    }

    .zv-business-website-page .zv-bwd-heading > p {
        margin-left: 0;
    }

    .zv-business-website-page .zv-bwd-intro-grid,
    .zv-business-website-page .zv-bwd-industry-grid,
    .zv-business-website-page .zv-bwd-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 33px;
    }

    .zv-business-website-page .zv-bwd-checks {
        grid-template-columns: minmax(0, 1fr);
        gap: 11px;
        margin-block: 22px 26px;
    }

    .zv-business-website-page .zv-bwd-intro-art {
        padding-left: 10px;
        padding-bottom: 23px;
    }

    .zv-business-website-page .zv-bwd-intro-art > img {
        height: 290px;
        border-radius: 15px;
    }

    .zv-business-website-page .zv-bwd-image-note {
        width: min(330px, 95%);
        padding: 15px;
    }

    .zv-business-website-page .zv-bwd-benefit-grid,
    .zv-business-website-page .zv-bwd-service-grid,
    .zv-business-website-page .zv-bwd-portfolio-grid,
    .zv-business-website-page .zv-bwd-why-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zv-business-website-page .zv-bwd-benefit-card,
    .zv-business-website-page .zv-bwd-why-grid article {
        padding: 23px 21px;
    }

    .zv-business-website-page .zv-bwd-service-card {
        padding: 25px 22px;
    }

    .zv-business-website-page .zv-bwd-service-grid {
        border-top: 1px solid #e8dfd8;
        border-left: 1px solid #e8dfd8;
    }

    .zv-business-website-page .zv-bwd-cta {
        padding-block: 38px;
    }

    .zv-business-website-page .zv-bwd-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 22px;
    }

    .zv-business-website-page .zv-bwd-cta-inner .zv-bwd-btn {
        width: 100%;
    }

    .zv-business-website-page .zv-bwd-industries {
        padding-block: 54px;
    }

    .zv-business-website-page .zv-bwd-industry-tags {
        gap: 9px;
    }

    .zv-business-website-page .zv-bwd-industry-tags span {
        padding: 9px 11px;
        font-size: .79rem;
    }

    .zv-business-website-page .zv-bwd-tech {
        padding-block: 48px;
        text-align: left;
    }

    .zv-business-website-page .zv-bwd-tech-list {
        justify-content: flex-start;
        gap: 8px;
    }

    .zv-business-website-page .zv-bwd-tech-list span {
        padding: 9px 11px;
        font-size: .79rem;
    }

    .zv-business-website-page .zv-bwd-portfolio-visual {
        height: 200px;
    }

    .zv-business-website-page .zv-bwd-portfolio-copy {
        padding: 21px;
    }

    .zv-business-website-page .zv-bwd-process {
        padding-block: 55px;
    }

    .zv-business-website-page .zv-bwd-process-intro {
        margin-bottom: 42px;
        text-align: left;
    }

    .zv-business-website-page .zv-bwd-process-intro > p {
        font-size: .93rem;
    }

    .zv-business-website-page .zv-bwd-timeline {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .zv-business-website-page .zv-bwd-timeline::before {
        position: absolute;
        top: 25px;
        bottom: 28px;
        left: 26px;
        display: block;
        width: 0;
        height: auto;
        border-top: 0;
        border-left: 2px dashed rgba(180, 108, 239, .48);
    }

    .zv-business-website-page .zv-bwd-timeline-step,
    .zv-business-website-page .zv-bwd-timeline-step:first-child,
    .zv-business-website-page .zv-bwd-timeline-step:last-child {
        display: grid;
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 17px;
        padding: 0 0 28px;
    }

    .zv-business-website-page .zv-bwd-timeline-marker {
        width: 53px;
        height: 53px;
        margin-bottom: 0;
        font-size: .76rem;
    }

    .zv-business-website-page .zv-bwd-timeline-content,
    .zv-business-website-page .zv-bwd-timeline-step:nth-child(3n) .zv-bwd-timeline-content {
        min-height: 0;
        padding: 3px 0 20px;
        border-right: 0;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .zv-business-website-page .zv-bwd-timeline-step:last-child .zv-bwd-timeline-content {
        border-bottom: 0;
    }

    .zv-business-website-page .zv-bwd-timeline-content h3 {
        font-size: 1.03rem;
    }

    .zv-business-website-page .zv-bwd-timeline-content p {
        margin-bottom: 0;
    }

    .zv-business-website-page .zv-bwd-package-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .zv-business-website-page .zv-bwd-package {
        padding: 25px 22px;
    }

    .zv-business-website-page .zv-bwd-package > p {
        min-height: 0;
    }

    .zv-business-website-page .zv-bwd-testimonial-panel {
        padding: 27px 22px;
    }

    .zv-business-website-page .zv-bwd-faq-list summary {
        padding-block: 18px;
        font-size: .92rem;
    }

    .zv-business-website-page .zv-bwd-final-cta {
        padding-block: 53px;
    }

    .zv-business-website-page .zv-bwd-final-inner {
        align-items: stretch;
        flex-direction: column;
        gap: 26px;
    }

    .zv-business-website-page .zv-bwd-final-actions {
        align-items: stretch;
    }

    .zv-business-website-page .zv-bwd-final-actions .zv-bwd-btn {
        width: 100%;
    }

    .zv-business-website-page .zv-bwd-final-actions > a:not(.zv-bwd-btn) {
        text-align: center;
    }
}

@media (max-width: 380px) {
    .zv-business-website-page .zv-bwd-container {
        width: calc(100% - 28px);
    }

    .zv-business-website-page .zv-bwd-btn {
        padding-inline: 15px;
        font-size: .85rem;
    }

    .zv-business-website-page .zv-bwd-service-card {
        padding-inline: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-business-website-page *,
    .zv-business-website-page *::before,
    .zv-business-website-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}






























/* =========================================================
   WEBSITE MAINTENANCE & SUPPORT PAGE
   Theme: Zenventa Custom
   Scope: .zv-maintenance-page
   ========================================================= */

.zv-maintenance-page {
    --zv-ms-navy: var(--zv-primary);
    --zv-ms-navy-dark: var(--zv-primary-dark);
    --zv-ms-blue: var(--zv-secondary);
    --zv-ms-blue-light: var(--zv-secondary-light);
    --zv-ms-orange: var(--zv-accent);
    --zv-ms-text: var(--zv-text);
    --zv-ms-muted: var(--zv-text-light);
    --zv-ms-border: var(--zv-border);
    --zv-ms-soft: var(--zv-light);
    --zv-ms-white: var(--zv-white);

    color: var(--zv-ms-text);
    background: var(--zv-ms-white);
    overflow: clip;
}

.zv-maintenance-page *,
.zv-maintenance-page *::before,
.zv-maintenance-page *::after {
    box-sizing: border-box;
}

.zv-maintenance-page .zv-ms-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-maintenance-page .zv-ms-section {
    padding: 35px 0;
}

.zv-maintenance-page h2,
.zv-maintenance-page h3,
.zv-maintenance-page p {
    margin-top: 0;
}

.zv-maintenance-page h2 {
    margin-bottom: 20px;
    color: var(--zv-ms-navy);
    font-family: var(--zv-font-heading);
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -0.8px;
}

.zv-maintenance-page h3 {
    color: var(--zv-ms-navy);
    font-family: var(--zv-font-heading);
    font-weight: 700;
    line-height: 1.35;
}

.zv-maintenance-page p {
    color: var(--zv-ms-muted);
    font-size: 15px;
    line-height: 1.85;
}

.zv-maintenance-page a {
    text-decoration: none;
}

.zv-maintenance-page .zv-ms-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--zv-ms-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.6px;
    line-height: 1.5;
}

.zv-maintenance-page .zv-ms-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: var(--zv-radius-sm);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    transition:
        background var(--zv-transition),
        color var(--zv-transition),
        border-color var(--zv-transition),
        transform var(--zv-transition);
}

.zv-maintenance-page .zv-ms-btn:hover {
    transform: translateY(-2px);
}

.zv-maintenance-page .zv-ms-btn-primary {
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
}

.zv-maintenance-page .zv-ms-btn-primary:hover {
    color: var(--zv-ms-white);
    background: var(--zv-secondary-dark);
}

.zv-maintenance-page .zv-ms-btn-outline {
    color: var(--zv-ms-navy);
    background: var(--zv-ms-white);
    border-color: var(--zv-ms-border);
}

.zv-maintenance-page .zv-ms-btn-outline:hover {
    color: var(--zv-ms-blue);
    border-color: var(--zv-ms-blue);
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-btn-light {
    color: var(--zv-ms-navy);
    background: var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-btn-light:hover {
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
}

.zv-maintenance-page .zv-ms-btn-ghost {
    color: var(--zv-ms-white);
    border-color: rgba(255, 255, 255, 0.45);
    background: transparent;
}

.zv-maintenance-page .zv-ms-btn-ghost:hover {
    color: var(--zv-ms-navy);
    background: var(--zv-ms-white);
}

/* INTRO */

.zv-maintenance-page .zv-ms-intro {
    padding-top: 35px;
    padding-bottom: 45px;
    background:
        radial-gradient(
            ellipse at 90% 10%,
            rgba(61, 134, 211, 0.09),
            transparent 40%
        ),
        var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
    align-items: center;
    gap: 75px;
}

.zv-maintenance-page .zv-ms-intro-content > p {
    max-width: 610px;
    margin-bottom: 17px;
}

.zv-maintenance-page .zv-ms-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 18px;
    margin: 27px 0 30px;
}

.zv-maintenance-page .zv-ms-check-list > div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--zv-ms-navy);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.6;
}

.zv-maintenance-page .zv-ms-check-list > div span {
    display: inline-flex;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
    margin-top: 1px;
    border-radius: 50%;
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
    font-size: 12px;
    font-weight: 800;
}

/* CSS DASHBOARD VISUAL */

.zv-maintenance-page .zv-ms-intro-visual {
    position: relative;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-xl);
    background: linear-gradient(145deg, #f9fbfe, #edf3fa);
    box-shadow: var(--zv-shadow-lg);
}

.zv-maintenance-page .zv-ms-dashboard {
    position: relative;
    padding: 22px;
    border: 1px solid rgba(220, 228, 238, 0.95);
    border-radius: var(--zv-radius-lg);
    background: var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-dashboard-top {
    display: flex;
    min-height: 35px;
    align-items: center;
    gap: 12px;
    padding-bottom: 19px;
    border-bottom: 1px solid var(--zv-ms-border);
    color: var(--zv-ms-navy);
    font-size: 12px;
    font-weight: 750;
}

.zv-maintenance-page .zv-ms-window-dots {
    display: flex;
    gap: 4px;
}

.zv-maintenance-page .zv-ms-window-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--zv-ms-border);
}

.zv-maintenance-page .zv-ms-window-dots i:first-child {
    background: var(--zv-ms-orange);
}

.zv-maintenance-page .zv-ms-window-dots i:nth-child(2) {
    background: var(--zv-ms-blue-light);
}

.zv-maintenance-page .zv-ms-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
    color: var(--zv-ms-muted);
    font-size: 10px;
    font-weight: 600;
}

.zv-maintenance-page .zv-ms-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--zv-success);
}

.zv-maintenance-page .zv-ms-health-card {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 22px;
    padding: 19px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-health-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 14px;
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
    font-size: 23px;
    font-weight: 800;
}

.zv-maintenance-page .zv-ms-health-card strong,
.zv-maintenance-page .zv-ms-monitor-card strong {
    display: block;
    color: var(--zv-ms-navy);
    font-size: 14px;
}

.zv-maintenance-page .zv-ms-health-card p {
    margin: 5px 0 0;
    font-size: 11px;
    line-height: 1.6;
}

.zv-maintenance-page .zv-ms-dashboard-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 13px;
}

.zv-maintenance-page .zv-ms-mini-card {
    display: flex;
    min-height: 130px;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
}

.zv-maintenance-page .zv-ms-mini-icon {
    display: grid;
    width: 33px;
    height: 33px;
    place-items: center;
    margin-bottom: 13px;
    border-radius: 10px;
    color: var(--zv-ms-blue);
    background: rgba(23, 105, 194, 0.09);
    font-size: 20px;
}

.zv-maintenance-page .zv-ms-mini-card strong {
    color: var(--zv-ms-navy);
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-mini-card small {
    margin-top: 5px;
    color: var(--zv-ms-muted);
    font-size: 10px;
    line-height: 1.5;
}

.zv-maintenance-page .zv-ms-monitor-card {
    margin-top: 13px;
    padding: 18px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
}

.zv-maintenance-page .zv-ms-monitor-card span {
    display: block;
    margin-top: 5px;
    color: var(--zv-ms-muted);
    font-size: 11px;
}

.zv-maintenance-page .zv-ms-monitor-line {
    display: flex;
    height: 35px;
    align-items: flex-end;
    gap: 5px;
    margin-top: 16px;
}

.zv-maintenance-page .zv-ms-monitor-line i {
    flex: 1;
    min-width: 3px;
    height: 35%;
    border-radius: 3px 3px 0 0;
    background: var(--zv-ms-blue-light);
}

.zv-maintenance-page .zv-ms-monitor-line i:nth-child(3n) {
    height: 85%;
    background: var(--zv-ms-orange);
}

.zv-maintenance-page .zv-ms-monitor-line i:nth-child(3n + 1) {
    height: 60%;
}

.zv-maintenance-page .zv-ms-monitor-line i:nth-child(4n) {
    height: 100%;
    background: var(--zv-ms-blue);
}

.zv-maintenance-page .zv-ms-floating-badge {
    position: absolute;
    right: -20px;
    bottom: 30px;
    display: flex;
    max-width: calc(100% - 30px);
    align-items: center;
    gap: 12px;
    padding: 14px 17px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-ms-white);
    box-shadow: var(--zv-shadow-md);
}

.zv-maintenance-page .zv-ms-floating-badge > span {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 50%;
    color: var(--zv-ms-white);
    background: var(--zv-ms-orange);
    font-weight: 800;
}

.zv-maintenance-page .zv-ms-floating-badge strong,
.zv-maintenance-page .zv-ms-floating-badge small {
    display: block;
}

.zv-maintenance-page .zv-ms-floating-badge strong {
    color: var(--zv-ms-navy);
    font-size: 12px;
}

.zv-maintenance-page .zv-ms-floating-badge small {
    margin-top: 4px;
    color: var(--zv-ms-muted);
    font-size: 10px;
}

/* BENEFIT STRIP */

.zv-maintenance-page .zv-ms-benefit-strip {
    padding: 30px 0;
    border-top: 1px solid var(--zv-ms-border);
    border-bottom: 1px solid var(--zv-ms-border);
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}

.zv-maintenance-page .zv-ms-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.zv-maintenance-page .zv-ms-benefit-symbol {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    color: var(--zv-ms-blue);
    background: var(--zv-ms-white);
    box-shadow: var(--zv-shadow-sm);
    font-size: 20px;
}

.zv-maintenance-page .zv-ms-benefit-item strong {
    display: block;
    margin: 1px 0 5px;
    color: var(--zv-ms-navy);
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-benefit-item p {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.65;
}

/* SECTION HEADINGS */

.zv-maintenance-page .zv-ms-section-heading {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.zv-maintenance-page .zv-ms-section-heading > p {
    max-width: 670px;
    margin: 0 auto;
}

/* SERVICES GRID */

.zv-maintenance-page .zv-ms-services {
    background: var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-maintenance-page .zv-ms-service-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 29px 27px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-lg);
    background: var(--zv-ms-white);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        border-color var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-maintenance-page .zv-ms-service-card:hover {
    transform: translateY(-5px);
    border-color: var(--zv-ms-blue-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-maintenance-page .zv-ms-service-icon {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 15px;
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
    box-shadow: 0 8px 18px rgba(23, 105, 194, 0.16);
    font-size: 25px;
    font-weight: 700;
}

.zv-maintenance-page .zv-ms-card-tag {
    margin-bottom: 9px;
    color: var(--zv-ms-orange);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.zv-maintenance-page .zv-ms-service-card h3 {
    margin-bottom: 12px;
    font-size: 19px;
    letter-spacing: -0.2px;
}

.zv-maintenance-page .zv-ms-service-card > p {
    margin-bottom: 18px;
    font-size: 13px;
    line-height: 1.8;
}

.zv-maintenance-page .zv-ms-service-card ul,
.zv-maintenance-page .zv-ms-price-card ul {
    display: grid;
    width: 100%;
    gap: 11px;
    margin: auto 0 0;
    padding: 0;
    list-style: none;
}

.zv-maintenance-page .zv-ms-service-card li,
.zv-maintenance-page .zv-ms-price-card li {
    position: relative;
    padding-left: 23px;
    color: var(--zv-ms-text);
    font-size: 12px;
    line-height: 1.7;
}

.zv-maintenance-page .zv-ms-service-card li::before,
.zv-maintenance-page .zv-ms-price-card li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--zv-ms-blue);
    content: "✓";
    font-size: 14px;
    font-weight: 800;
}

/* CTA BAND */

.zv-maintenance-page .zv-ms-cta-band {
    padding: 48px 0;
    background:
        radial-gradient(
            ellipse at 90% 0%,
            rgba(61, 134, 211, 0.25),
            transparent 45%
        ),
        var(--zv-ms-navy);
}

.zv-maintenance-page .zv-ms-cta-band-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.zv-maintenance-page .zv-ms-cta-band .zv-ms-eyebrow {
    color: var(--zv-ms-orange-light);
}

.zv-maintenance-page .zv-ms-cta-band h2 {
    max-width: 710px;
    margin-bottom: 10px;
    color: var(--zv-ms-white);
    font-size: clamp(26px, 3vw, 36px);
}

.zv-maintenance-page .zv-ms-cta-band p {
    max-width: 680px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
}

.zv-maintenance-page .zv-ms-cta-band .zv-ms-btn {
    flex: 0 0 auto;
}

/* AUDIENCE */

.zv-maintenance-page .zv-ms-audience {
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-audience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.zv-maintenance-page .zv-ms-audience-card {
    padding: 27px 23px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-ms-white);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-maintenance-page .zv-ms-audience-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--zv-shadow-md);
}

.zv-maintenance-page .zv-ms-audience-card > span {
    display: inline-block;
    margin-bottom: 25px;
    color: var(--zv-ms-orange);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zv-maintenance-page .zv-ms-audience-card h3 {
    margin-bottom: 12px;
    font-size: 18px;
}

.zv-maintenance-page .zv-ms-audience-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* PROCESS */

.zv-maintenance-page .zv-ms-process {
    position: relative;
    color: var(--zv-ms-white);
    background:
        radial-gradient(
            ellipse at 12% 8%,
            rgba(22, 59, 120, 0.65),
            transparent 42%
        ),
        linear-gradient(
            115deg,
            var(--zv-primary-dark),
            var(--zv-primary) 68%,
            var(--zv-dark-2)
        );
}

.zv-maintenance-page .zv-ms-section-heading-light h2 {
    color: var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-section-heading-light > p {
    color: rgba(255, 255, 255, 0.72);
}

.zv-maintenance-page .zv-ms-section-heading-light .zv-ms-eyebrow {
    color: var(--zv-ms-orange-light);
}

.zv-maintenance-page .zv-ms-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 17px;
}

.zv-maintenance-page .zv-ms-process-step {
    position: relative;
    min-width: 0;
    padding: 23px 19px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--zv-radius-md);
    background: rgba(255, 255, 255, 0.055);
    transition:
        transform var(--zv-transition),
        background var(--zv-transition);
}

.zv-maintenance-page .zv-ms-process-step:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.1);
}

.zv-maintenance-page .zv-ms-step-number {
    display: block;
    margin-bottom: 23px;
    color: var(--zv-ms-orange-light);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.zv-maintenance-page .zv-ms-step-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin-bottom: 20px;
    border: 1px solid rgba(61, 134, 211, 0.6);
    border-radius: 13px;
    color: var(--zv-ms-white);
    background: rgba(23, 105, 194, 0.3);
    font-size: 23px;
}

.zv-maintenance-page .zv-ms-process-step h3 {
    margin-bottom: 10px;
    color: var(--zv-ms-white);
    font-size: 16px;
}

.zv-maintenance-page .zv-ms-process-step p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 1.8;
}

.zv-maintenance-page .zv-ms-process-note {
    display: flex;
    max-width: 780px;
    align-items: flex-start;
    gap: 14px;
    margin: 30px auto 0;
    padding: 19px 22px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: var(--zv-radius-md);
    background: rgba(255, 255, 255, 0.06);
}

.zv-maintenance-page .zv-ms-process-note > span {
    display: grid;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    color: var(--zv-ms-navy);
    background: var(--zv-ms-orange-light);
    font-weight: 800;
}

.zv-maintenance-page .zv-ms-process-note p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-process-note strong {
    color: var(--zv-ms-white);
}

/* WHY ZENVENTA */

.zv-maintenance-page .zv-ms-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: 75px;
}

.zv-maintenance-page .zv-ms-why-heading > p {
    margin-bottom: 25px;
}

.zv-maintenance-page .zv-ms-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zv-ms-blue);
    font-size: 14px;
    font-weight: 750;
}

.zv-maintenance-page .zv-ms-text-link:hover {
    color: var(--zv-secondary-dark);
}

.zv-maintenance-page .zv-ms-why-list {
    display: grid;
    gap: 0;
}

.zv-maintenance-page .zv-ms-why-item {
    display: flex;
    align-items: flex-start;
    gap: 19px;
    padding: 24px 0;
    border-bottom: 1px solid var(--zv-ms-border);
}

.zv-maintenance-page .zv-ms-why-item:first-child {
    padding-top: 0;
}

.zv-maintenance-page .zv-ms-why-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.zv-maintenance-page .zv-ms-why-icon {
    display: grid;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 13px;
    color: var(--zv-ms-blue);
    background: var(--zv-ms-soft);
    font-size: 12px;
    font-weight: 800;
}

.zv-maintenance-page .zv-ms-why-item h3 {
    margin-bottom: 7px;
    font-size: 17px;
}

.zv-maintenance-page .zv-ms-why-item p {
    margin-bottom: 0;
    font-size: 13px;
}

/* PRICING */

.zv-maintenance-page .zv-ms-pricing {
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 23px;
}

.zv-maintenance-page .zv-ms-price-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 32px 27px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-lg);
    background: var(--zv-ms-white);
    box-shadow: var(--zv-shadow-sm);
}

.zv-maintenance-page .zv-ms-price-featured {
    border: 2px solid var(--zv-ms-blue);
    box-shadow: var(--zv-shadow-md);
}

.zv-maintenance-page .zv-ms-popular {
    position: absolute;
    top: -14px;
    right: 22px;
    padding: 7px 12px;
    border-radius: var(--zv-radius-pill);
    color: var(--zv-ms-white);
    background: var(--zv-ms-orange);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.8px;
}

.zv-maintenance-page .zv-ms-price-label {
    margin-bottom: 12px;
    color: var(--zv-ms-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.1px;
}

.zv-maintenance-page .zv-ms-price-card h3 {
    margin-bottom: 10px;
    font-size: 24px;
}

.zv-maintenance-page .zv-ms-price-description {
    min-height: 54px;
    margin-bottom: 22px;
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 25px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--zv-ms-border);
}

.zv-maintenance-page .zv-ms-price strong {
    color: var(--zv-ms-navy);
    font-size: clamp(30px, 3vw, 38px);
    font-weight: 800;
    letter-spacing: -1px;
}

.zv-maintenance-page .zv-ms-price span {
    color: var(--zv-ms-muted);
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-price-card ul {
    gap: 13px;
    margin-bottom: 28px;
}

.zv-maintenance-page .zv-ms-price-card .zv-ms-btn {
    width: 100%;
    margin-top: auto;
}

.zv-maintenance-page .zv-ms-pricing-note {
    max-width: 850px;
    margin: 28px auto 0;
    font-size: 12px;
    text-align: center;
}

/* TRUST / POSITIONING */

.zv-maintenance-page .zv-ms-trust {
    background: var(--zv-ms-white);
}

.zv-maintenance-page .zv-ms-trust-inner {
    display: grid;
    grid-template-columns: 85px minmax(0, 1fr);
    align-items: start;
    gap: 30px;
    max-width: 900px;
    padding: 43px;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-lg);
    background:
        radial-gradient(
            ellipse at 100% 0%,
            rgba(61, 134, 211, 0.1),
            transparent 45%
        ),
        var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-trust-mark {
    color: var(--zv-ms-orange);
    font-family: Georgia, serif;
    font-size: 100px;
    line-height: 0.9;
}

.zv-maintenance-page .zv-ms-trust-inner h2 {
    font-size: clamp(27px, 3vw, 36px);
}

.zv-maintenance-page .zv-ms-trust-inner p {
    margin-bottom: 20px;
}

/* FAQ */

.zv-maintenance-page .zv-ms-faq {
    background: var(--zv-ms-soft);
}

.zv-maintenance-page .zv-ms-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 70px;
}

.zv-maintenance-page .zv-ms-faq-intro {
    position: sticky;
    top: 110px;
}

.zv-maintenance-page .zv-ms-faq-intro > p {
    margin-bottom: 25px;
}

.zv-maintenance-page .zv-ms-faq-list {
    display: grid;
    gap: 12px;
}

.zv-maintenance-page .zv-ms-faq-item {
    overflow: hidden;
    border: 1px solid var(--zv-ms-border);
    border-radius: var(--zv-radius-md);
    background: var(--zv-ms-white);
    transition: border-color var(--zv-transition);
}

.zv-maintenance-page .zv-ms-faq-item[open] {
    border-color: var(--zv-ms-blue-light);
}

.zv-maintenance-page .zv-ms-faq-item summary {
    position: relative;
    padding: 21px 54px 21px 22px;
    color: var(--zv-ms-navy);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
}

.zv-maintenance-page .zv-ms-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-maintenance-page .zv-ms-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    color: var(--zv-ms-blue);
    background: var(--zv-ms-soft);
    content: "+";
    font-size: 18px;
    font-weight: 500;
    transform: translateY(-50%);
}

.zv-maintenance-page .zv-ms-faq-item[open] summary::after {
    color: var(--zv-ms-white);
    background: var(--zv-ms-blue);
    content: "−";
}

.zv-maintenance-page .zv-ms-faq-answer {
    padding: 0 22px 20px;
}

.zv-maintenance-page .zv-ms-faq-answer p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.85;
}

/* FINAL CTA */

.zv-maintenance-page .zv-ms-final-cta {
    padding: 88px 0;
    text-align: center;
    background:
        radial-gradient(
            ellipse at 85% 15%,
            rgba(22, 59, 120, 0.65),
            transparent 40%
        ),
        linear-gradient(
            115deg,
            var(--zv-primary-dark),
            var(--zv-primary)
        );
}

.zv-maintenance-page .zv-ms-final-inner {
    max-width: 850px;
}

.zv-maintenance-page .zv-ms-final-cta .zv-ms-eyebrow {
    color: var(--zv-ms-orange-light);
}

.zv-maintenance-page .zv-ms-final-cta h2 {
    margin-bottom: 20px;
    color: var(--zv-ms-white);
    font-size: clamp(32px, 4.2vw, 48px);
}

.zv-maintenance-page .zv-ms-final-cta p {
    max-width: 690px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
}

.zv-maintenance-page .zv-ms-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
}

.zv-maintenance-page .zv-ms-final-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 25px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
}

.zv-maintenance-page .zv-ms-final-contact a {
    color: var(--zv-ms-white);
    font-weight: 700;
}

/* TABLET */

@media (max-width: 1024px) {
    .zv-maintenance-page .zv-ms-section {
        padding: 72px 0;
    }

    .zv-maintenance-page .zv-ms-intro-grid {
        gap: 42px;
    }

    .zv-maintenance-page .zv-ms-intro-visual {
        padding: 15px;
    }

    .zv-maintenance-page .zv-ms-dashboard {
        padding: 16px;
    }

    .zv-maintenance-page .zv-ms-benefit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 25px;
    }

    .zv-maintenance-page .zv-ms-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-maintenance-page .zv-ms-audience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-maintenance-page .zv-ms-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zv-maintenance-page .zv-ms-why-grid {
        gap: 42px;
    }

    .zv-maintenance-page .zv-ms-pricing-grid {
        gap: 15px;
    }

    .zv-maintenance-page .zv-ms-price-card {
        padding: 28px 21px;
    }

    .zv-maintenance-page .zv-ms-faq-grid {
        gap: 40px;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .zv-maintenance-page .zv-ms-container {
        width: min(100% - 36px, 560px);
    }

    .zv-maintenance-page .zv-ms-section {
        padding: 58px 0;
    }

    .zv-maintenance-page h2 {
        margin-bottom: 16px;
        font-size: clamp(27px, 7vw, 35px);
        letter-spacing: -0.5px;
    }

    .zv-maintenance-page p {
        font-size: 14px;
        line-height: 1.8;
    }

    .zv-maintenance-page .zv-ms-intro {
        padding-top: 56px;
        padding-bottom: 58px;
    }

    .zv-maintenance-page .zv-ms-intro-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 42px;
    }

    .zv-maintenance-page .zv-ms-check-list {
        gap: 13px 10px;
    }

    .zv-maintenance-page .zv-ms-check-list > div {
        font-size: 12px;
    }

    .zv-maintenance-page .zv-ms-intro-visual {
        max-width: 530px;
        margin: 0 auto;
    }

    .zv-maintenance-page .zv-ms-floating-badge {
        right: -7px;
        bottom: 16px;
    }

    .zv-maintenance-page .zv-ms-benefit-strip {
        padding: 27px 0;
    }

    .zv-maintenance-page .zv-ms-benefit-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .zv-maintenance-page .zv-ms-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .zv-maintenance-page .zv-ms-section-heading > p {
        margin-left: 0;
    }

    .zv-maintenance-page .zv-ms-services-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 17px;
    }

    .zv-maintenance-page .zv-ms-service-card {
        padding: 25px 23px;
    }

    .zv-maintenance-page .zv-ms-service-card h3 {
        font-size: 19px;
    }

    .zv-maintenance-page .zv-ms-cta-band {
        padding: 42px 0;
    }

    .zv-maintenance-page .zv-ms-cta-band-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px;
    }

    .zv-maintenance-page .zv-ms-cta-band h2 {
        font-size: 29px;
    }

    .zv-maintenance-page .zv-ms-audience-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .zv-maintenance-page .zv-ms-audience-card {
        padding: 23px;
    }

    .zv-maintenance-page .zv-ms-audience-card > span {
        margin-bottom: 15px;
    }

    .zv-maintenance-page .zv-ms-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
    }

    .zv-maintenance-page .zv-ms-process-step {
        display: grid;
        grid-template-columns: 43px 48px minmax(0, 1fr);
        align-items: center;
        column-gap: 13px;
        padding: 18px;
    }

    .zv-maintenance-page .zv-ms-step-number {
        grid-column: 1;
        grid-row: 1 / span 2;
        margin: 0;
    }

    .zv-maintenance-page .zv-ms-step-icon {
        grid-column: 2;
        grid-row: 1 / span 2;
        width: 43px;
        height: 43px;
        margin: 0;
    }

    .zv-maintenance-page .zv-ms-process-step h3 {
        grid-column: 3;
        margin-bottom: 5px;
    }

    .zv-maintenance-page .zv-ms-process-step p {
        grid-column: 3;
    }

    .zv-maintenance-page .zv-ms-process-note {
        padding: 17px;
    }

    .zv-maintenance-page .zv-ms-why-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .zv-maintenance-page .zv-ms-why-item {
        gap: 14px;
        padding: 20px 0;
    }

    .zv-maintenance-page .zv-ms-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 27px;
    }

    .zv-maintenance-page .zv-ms-price-card {
        padding: 29px 24px;
    }

    .zv-maintenance-page .zv-ms-price-description {
        min-height: 0;
    }

    .zv-maintenance-page .zv-ms-trust-inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
        padding: 28px 23px;
    }

    .zv-maintenance-page .zv-ms-trust-mark {
        font-size: 72px;
    }

    .zv-maintenance-page .zv-ms-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .zv-maintenance-page .zv-ms-faq-intro {
        position: static;
    }

    .zv-maintenance-page .zv-ms-faq-item summary {
        padding: 18px 48px 18px 17px;
        font-size: 13px;
    }

    .zv-maintenance-page .zv-ms-faq-item summary::after {
        right: 15px;
    }

    .zv-maintenance-page .zv-ms-faq-answer {
        padding: 0 17px 18px;
    }

    .zv-maintenance-page .zv-ms-final-cta {
        padding: 62px 0;
    }

    .zv-maintenance-page .zv-ms-final-cta h2 {
        font-size: 32px;
    }

    .zv-maintenance-page .zv-ms-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .zv-maintenance-page .zv-ms-final-actions .zv-ms-btn {
        width: 100%;
    }
}

/* SMALL MOBILE */

@media (max-width: 380px) {
    .zv-maintenance-page .zv-ms-container {
        width: calc(100% - 28px);
    }

    .zv-maintenance-page .zv-ms-check-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .zv-maintenance-page .zv-ms-intro-visual {
        padding: 9px;
    }

    .zv-maintenance-page .zv-ms-dashboard {
        padding: 12px;
    }

    .zv-maintenance-page .zv-ms-dashboard-top {
        gap: 7px;
        font-size: 10px;
    }

    .zv-maintenance-page .zv-ms-status {
        font-size: 9px;
    }

    .zv-maintenance-page .zv-ms-health-card {
        padding: 13px;
    }

    .zv-maintenance-page .zv-ms-floating-badge {
        right: 0;
        max-width: 95%;
        padding: 10px 12px;
    }

    .zv-maintenance-page .zv-ms-process-step {
        grid-template-columns: 32px 40px minmax(0, 1fr);
        column-gap: 9px;
        padding: 15px 12px;
    }

    .zv-maintenance-page .zv-ms-step-icon {
        width: 38px;
        height: 38px;
    }

    .zv-maintenance-page .zv-ms-process-step h3 {
        font-size: 14px;
    }

    .zv-maintenance-page .zv-ms-process-step p {
        font-size: 11px;
    }
}

/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .zv-maintenance-page *,
    .zv-maintenance-page *::before,
    .zv-maintenance-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}






























/* =========================================================
   LANDING PAGE DEVELOPMENT
   Scoped to .zv-landing-dev-page
   ========================================================= */

.zv-landing-dev-page {
    --lpd-navy: var(--zv-primary);
    --lpd-navy-dark: var(--zv-primary-dark);
    --lpd-blue: var(--zv-secondary);
    --lpd-blue-light: var(--zv-secondary-light);
    --lpd-orange: var(--zv-accent);
    --lpd-text: var(--zv-text);
    --lpd-muted: var(--zv-text-light);
    --lpd-border: var(--zv-border);
    --lpd-soft: var(--zv-light);
    --lpd-white: var(--zv-white);

    color: var(--lpd-text);
    background: var(--lpd-white);
    overflow: clip;
}

.zv-landing-dev-page *,
.zv-landing-dev-page *::before,
.zv-landing-dev-page *::after {
    box-sizing: border-box;
}

.zv-landing-dev-page .zv-lpd-container {
    width: min(var(--zv-container), calc(100% - 48px));
    margin-inline: auto;
}

.zv-landing-dev-page .zv-lpd-section {
    padding: 35px 0;
}

.zv-landing-dev-page h2,
.zv-landing-dev-page h3,
.zv-landing-dev-page p {
    margin-top: 0;
}

.zv-landing-dev-page h2 {
    margin-bottom: 20px;
    color: var(--lpd-navy);
    font-family: var(--zv-font-heading);
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -0.8px;
}

.zv-landing-dev-page h3 {
    color: var(--lpd-navy);
    font-family: var(--zv-font-heading);
    font-weight: 700;
    line-height: 1.35;
}

.zv-landing-dev-page p {
    color: var(--lpd-muted);
    font-size: 14px;
    line-height: 1.85;
}

.zv-landing-dev-page a {
    text-decoration: none;
}

.zv-landing-dev-page .zv-lpd-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--lpd-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.6px;
    line-height: 1.6;
}

.zv-landing-dev-page .zv-lpd-btn {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: var(--zv-radius-sm);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
    transition:
        color var(--zv-transition),
        background var(--zv-transition),
        border-color var(--zv-transition),
        transform var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-btn:hover {
    transform: translateY(-2px);
}

.zv-landing-dev-page .zv-lpd-btn-primary {
    color: var(--lpd-white);
    background: var(--lpd-blue);
}

.zv-landing-dev-page .zv-lpd-btn-primary:hover {
    color: var(--lpd-white);
    background: var(--zv-secondary-dark);
}

.zv-landing-dev-page .zv-lpd-btn-outline {
    color: var(--lpd-navy);
    border-color: var(--lpd-border);
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-btn-outline:hover {
    color: var(--lpd-blue);
    border-color: var(--lpd-blue);
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-btn-light {
    color: var(--lpd-navy);
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-btn-light:hover {
    color: var(--lpd-white);
    background: var(--lpd-blue);
}

.zv-landing-dev-page .zv-lpd-btn-ghost {
    color: var(--lpd-white);
    border-color: rgba(255, 255, 255, 0.42);
    background: transparent;
}

.zv-landing-dev-page .zv-lpd-btn-ghost:hover {
    color: var(--lpd-navy);
    background: var(--lpd-white);
}

/* INTRO */

.zv-landing-dev-page .zv-lpd-intro {
    padding-top: 35px;
    padding-bottom: 45px;
    background:
        radial-gradient(
            ellipse at 90% 5%,
            rgba(61, 134, 211, 0.11),
            transparent 42%
        ),
        var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
    align-items: center;
    gap: 68px;
}

.zv-landing-dev-page .zv-lpd-intro-content > p {
    max-width: 610px;
    margin-bottom: 16px;
}

.zv-landing-dev-page .zv-lpd-intro-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 16px;
    margin: 27px 0 30px;
}

.zv-landing-dev-page .zv-lpd-intro-points > div {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--lpd-navy);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.7;
}

.zv-landing-dev-page .zv-lpd-intro-points > div span {
    display: inline-grid;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    color: var(--lpd-white);
    background: var(--lpd-blue);
    font-size: 11px;
    font-weight: 800;
}

.zv-landing-dev-page .zv-lpd-intro-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.zv-landing-dev-page .zv-lpd-secondary-link {
    color: var(--lpd-navy);
    font-size: 13px;
    font-weight: 750;
}

.zv-landing-dev-page .zv-lpd-secondary-link:hover {
    color: var(--lpd-blue);
}

/* CSS LANDING PAGE PREVIEW */

.zv-landing-dev-page .zv-lpd-preview-wrap {
    position: relative;
    min-width: 0;
    padding: 19px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-xl);
    background: linear-gradient(145deg, #f9fbfe, #edf3fa);
    box-shadow: var(--zv-shadow-lg);
}

.zv-landing-dev-page .zv-lpd-preview {
    overflow: hidden;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-preview-toolbar {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 0 13px;
    border-bottom: 1px solid var(--lpd-border);
    color: var(--lpd-muted);
    font-size: 10px;
}

.zv-landing-dev-page .zv-lpd-preview-dots {
    display: flex;
    gap: 4px;
}

.zv-landing-dev-page .zv-lpd-preview-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-preview-dots i:first-child {
    background: var(--lpd-orange);
}

.zv-landing-dev-page .zv-lpd-preview-dots i:nth-child(2) {
    background: var(--lpd-blue-light);
}

.zv-landing-dev-page .zv-lpd-preview-device {
    padding: 5px 8px;
    border-radius: var(--zv-radius-pill);
    color: var(--lpd-blue);
    background: rgba(23, 105, 194, 0.08);
    font-size: 9px;
    font-weight: 700;
}

.zv-landing-dev-page .zv-lpd-preview-content {
    padding: 19px;
}

.zv-landing-dev-page .zv-lpd-preview-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-preview-logo {
    color: var(--lpd-navy);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1px;
}

.zv-landing-dev-page .zv-lpd-preview-nav-lines {
    display: flex;
    gap: 6px;
}

.zv-landing-dev-page .zv-lpd-preview-nav-lines i {
    width: 20px;
    height: 3px;
    border-radius: 4px;
    background: var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-preview-hero {
    padding: 30px 22px;
    border-radius: 10px;
    background:
        radial-gradient(
            ellipse at 90% 15%,
            rgba(61, 134, 211, 0.28),
            transparent 42%
        ),
        var(--lpd-navy);
}

.zv-landing-dev-page .zv-lpd-preview-label {
    display: block;
    margin-bottom: 12px;
    color: var(--zv-accent-light);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.zv-landing-dev-page .zv-lpd-preview-hero strong {
    display: block;
    color: var(--lpd-white);
    font-size: clamp(22px, 2.6vw, 31px);
    line-height: 1.15;
    letter-spacing: -0.6px;
}

.zv-landing-dev-page .zv-lpd-preview-hero p {
    max-width: 250px;
    margin: 12px 0 17px;
    color: rgba(255, 255, 255, 0.75);
    font-size: 10px;
    line-height: 1.7;
}

.zv-landing-dev-page .zv-lpd-preview-button {
    display: inline-block;
    padding: 10px 13px;
    border-radius: 4px;
    color: var(--lpd-white);
    background: var(--lpd-orange);
    font-size: 9px;
    font-weight: 750;
}

.zv-landing-dev-page .zv-lpd-preview-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 13px 0;
}

.zv-landing-dev-page .zv-lpd-preview-stats > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 11px;
    border: 1px solid var(--lpd-border);
    border-radius: 7px;
}

.zv-landing-dev-page .zv-lpd-preview-stats i {
    width: 75%;
    height: 4px;
    border-radius: 4px;
    background: var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-preview-stats i:first-child {
    width: 43%;
    height: 8px;
    background: var(--lpd-blue-light);
}

.zv-landing-dev-page .zv-lpd-preview-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.zv-landing-dev-page .zv-lpd-preview-cards > span {
    display: flex;
    flex-direction: column;
    gap: 7px;
    padding: 11px;
    border: 1px solid var(--lpd-border);
    border-radius: 7px;
}

.zv-landing-dev-page .zv-lpd-preview-cards > span > i {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 7px;
    color: var(--lpd-white);
    background: var(--lpd-blue);
    font-size: 12px;
    font-style: normal;
}

.zv-landing-dev-page .zv-lpd-preview-cards b,
.zv-landing-dev-page .zv-lpd-preview-cards small {
    display: block;
    height: 4px;
    border-radius: 4px;
    background: var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-preview-cards b {
    width: 80%;
    background: var(--lpd-navy);
}

.zv-landing-dev-page .zv-lpd-preview-cards small:last-child {
    width: 65%;
}

.zv-landing-dev-page .zv-lpd-preview-badge {
    position: absolute;
    right: -16px;
    bottom: 28px;
    display: flex;
    max-width: calc(100% - 25px);
    align-items: center;
    gap: 11px;
    padding: 13px 16px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
    box-shadow: var(--zv-shadow-md);
}

.zv-landing-dev-page .zv-lpd-preview-badge > span {
    display: grid;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    place-items: center;
    border-radius: 10px;
    color: var(--lpd-white);
    background: var(--lpd-orange);
    font-size: 18px;
}

.zv-landing-dev-page .zv-lpd-preview-badge strong,
.zv-landing-dev-page .zv-lpd-preview-badge small {
    display: block;
}

.zv-landing-dev-page .zv-lpd-preview-badge strong {
    color: var(--lpd-navy);
    font-size: 11px;
}

.zv-landing-dev-page .zv-lpd-preview-badge small {
    margin-top: 4px;
    color: var(--lpd-muted);
    font-size: 10px;
}

/* VALUE STRIP */

.zv-landing-dev-page .zv-lpd-value-strip {
    padding: 28px 0;
    border-block: 1px solid var(--lpd-border);
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 23px;
}

.zv-landing-dev-page .zv-lpd-value-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.zv-landing-dev-page .zv-lpd-value-item > span {
    color: var(--lpd-orange);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: 1px;
}

.zv-landing-dev-page .zv-lpd-value-item strong {
    display: block;
    margin-bottom: 5px;
    color: var(--lpd-navy);
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-value-item p {
    margin-bottom: 0;
    font-size: 11px;
    line-height: 1.7;
}

/* SECTION HEADINGS */

.zv-landing-dev-page .zv-lpd-section-heading {
    max-width: 770px;
    margin: 0 auto 45px;
    text-align: center;
}

.zv-landing-dev-page .zv-lpd-section-heading > p {
    max-width: 680px;
    margin: 0 auto;
}

/* SERVICES */

.zv-landing-dev-page .zv-lpd-services {
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-landing-dev-page .zv-lpd-service-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 29px 26px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-lg);
    background: var(--lpd-white);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        border-color var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-service-card:hover {
    transform: translateY(-5px);
    border-color: var(--lpd-blue-light);
    box-shadow: var(--zv-shadow-md);
}

.zv-landing-dev-page .zv-lpd-service-icon {
    display: grid;
    width: 53px;
    height: 53px;
    place-items: center;
    margin-bottom: 21px;
    border-radius: 15px;
    color: var(--lpd-white);
    background: var(--lpd-blue);
    box-shadow: 0 8px 18px rgba(23, 105, 194, 0.16);
    font-size: 24px;
}

.zv-landing-dev-page .zv-lpd-card-label {
    margin-bottom: 10px;
    color: var(--lpd-orange);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.1px;
}

.zv-landing-dev-page .zv-lpd-service-card h3 {
    margin-bottom: 12px;
    font-size: 18px;
    letter-spacing: -0.2px;
}

.zv-landing-dev-page .zv-lpd-service-card > p {
    margin-bottom: 18px;
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-service-card ul,
.zv-landing-dev-page .zv-lpd-price-card ul {
    display: grid;
    width: 100%;
    gap: 11px;
    margin: auto 0 0;
    padding: 0;
    list-style: none;
}

.zv-landing-dev-page .zv-lpd-service-card li,
.zv-landing-dev-page .zv-lpd-price-card li {
    position: relative;
    padding-left: 22px;
    color: var(--lpd-text);
    font-size: 12px;
    line-height: 1.7;
}

.zv-landing-dev-page .zv-lpd-service-card li::before,
.zv-landing-dev-page .zv-lpd-price-card li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--lpd-blue);
    content: "✓";
    font-size: 14px;
    font-weight: 850;
}

/* CTA BAND */

.zv-landing-dev-page .zv-lpd-cta-band {
    padding: 47px 0;
    background:
        radial-gradient(
            ellipse at 90% 0%,
            rgba(61, 134, 211, 0.24),
            transparent 44%
        ),
        var(--lpd-navy);
}

.zv-landing-dev-page .zv-lpd-cta-band-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.zv-landing-dev-page .zv-lpd-cta-band .zv-lpd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-cta-band h2 {
    max-width: 720px;
    margin-bottom: 10px;
    color: var(--lpd-white);
    font-size: clamp(26px, 3vw, 36px);
}

.zv-landing-dev-page .zv-lpd-cta-band p {
    max-width: 680px;
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
}

.zv-landing-dev-page .zv-lpd-cta-band .zv-lpd-btn {
    flex: 0 0 auto;
}

/* USE CASES */

.zv-landing-dev-page .zv-lpd-use-cases {
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-use-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 19px;
}

.zv-landing-dev-page .zv-lpd-use-card {
    padding: 26px 24px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-use-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--zv-shadow-md);
}

.zv-landing-dev-page .zv-lpd-use-card > span {
    display: block;
    margin-bottom: 21px;
    color: var(--lpd-orange);
    font-size: 12px;
    font-weight: 850;
}

.zv-landing-dev-page .zv-lpd-use-card h3 {
    margin-bottom: 11px;
    font-size: 18px;
}

.zv-landing-dev-page .zv-lpd-use-card p {
    margin-bottom: 17px;
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-use-card a {
    display: inline-flex;
    color: var(--lpd-blue);
    font-size: 12px;
    font-weight: 750;
}

.zv-landing-dev-page .zv-lpd-use-card a:hover {
    color: var(--zv-secondary-dark);
}

/* PRINCIPLES */

.zv-landing-dev-page .zv-lpd-principles {
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-principles-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: 70px;
}

.zv-landing-dev-page .zv-lpd-principles-content > p {
    margin-bottom: 27px;
}

.zv-landing-dev-page .zv-lpd-principle-list {
    display: grid;
    gap: 19px;
}

.zv-landing-dev-page .zv-lpd-principle-list article {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.zv-landing-dev-page .zv-lpd-principle-list article > span {
    display: grid;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 50%;
    color: var(--lpd-white);
    background: var(--lpd-blue);
    font-size: 12px;
    font-weight: 850;
}

.zv-landing-dev-page .zv-lpd-principle-list h3 {
    margin-bottom: 5px;
    font-size: 16px;
}

.zv-landing-dev-page .zv-lpd-principle-list p {
    margin-bottom: 0;
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-principles-visual {
    padding: 30px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-xl);
    background:
        radial-gradient(
            ellipse at 100% 0%,
            rgba(61, 134, 211, 0.13),
            transparent 45%
        ),
        var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-funnel {
    display: grid;
    gap: 12px;
}

.zv-landing-dev-page .zv-lpd-funnel-step {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
    box-shadow: var(--zv-shadow-sm);
}

.zv-landing-dev-page .zv-lpd-funnel-step > span {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    color: var(--lpd-white);
    background: var(--lpd-blue);
    font-size: 11px;
    font-weight: 850;
}

.zv-landing-dev-page .zv-lpd-funnel-step strong,
.zv-landing-dev-page .zv-lpd-funnel-step small {
    display: block;
}

.zv-landing-dev-page .zv-lpd-funnel-step strong {
    color: var(--lpd-navy);
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-funnel-step small {
    margin-top: 4px;
    color: var(--lpd-muted);
    font-size: 11px;
}

.zv-landing-dev-page .zv-lpd-funnel-two {
    margin-left: 15px;
}

.zv-landing-dev-page .zv-lpd-funnel-three {
    margin-left: 30px;
}

.zv-landing-dev-page .zv-lpd-funnel-four {
    margin-left: 45px;
    border-color: rgba(244, 123, 32, 0.5);
}

.zv-landing-dev-page .zv-lpd-funnel-four > span {
    background: var(--lpd-orange);
}

.zv-landing-dev-page .zv-lpd-funnel-caption {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding: 18px;
    border-radius: var(--zv-radius-md);
    color: var(--lpd-white);
    background: var(--lpd-navy);
}

.zv-landing-dev-page .zv-lpd-funnel-caption > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    color: var(--lpd-white);
    background: var(--lpd-orange);
    font-size: 18px;
}

.zv-landing-dev-page .zv-lpd-funnel-caption strong,
.zv-landing-dev-page .zv-lpd-funnel-caption small {
    display: block;
}

.zv-landing-dev-page .zv-lpd-funnel-caption strong {
    font-size: 12px;
}

.zv-landing-dev-page .zv-lpd-funnel-caption small {
    margin-top: 4px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 10px;
}

/* PROCESS */

.zv-landing-dev-page .zv-lpd-process {
    color: var(--lpd-white);
    background:
        radial-gradient(
            ellipse at 12% 8%,
            rgba(22, 59, 120, 0.65),
            transparent 42%
        ),
        linear-gradient(
            115deg,
            var(--zv-primary-dark),
            var(--zv-primary) 68%,
            var(--zv-dark-2)
        );
}

.zv-landing-dev-page .zv-lpd-heading-light h2 {
    color: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-heading-light > p {
    color: rgba(255, 255, 255, 0.73);
}

.zv-landing-dev-page .zv-lpd-heading-light .zv-lpd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.zv-landing-dev-page .zv-lpd-process-card {
    min-width: 0;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.17);
    border-radius: var(--zv-radius-md);
    background: rgba(255, 255, 255, 0.055);
    transition:
        transform var(--zv-transition),
        background var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-process-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, 0.1);
}

.zv-landing-dev-page .zv-lpd-process-number {
    display: block;
    margin-bottom: 22px;
    color: var(--zv-accent-light);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 1.3px;
}

.zv-landing-dev-page .zv-lpd-process-icon {
    display: grid;
    width: 47px;
    height: 47px;
    place-items: center;
    margin-bottom: 19px;
    border: 1px solid rgba(61, 134, 211, 0.6);
    border-radius: 12px;
    color: var(--lpd-white);
    background: rgba(23, 105, 194, 0.3);
    font-size: 22px;
}

.zv-landing-dev-page .zv-lpd-process-card h3 {
    margin-bottom: 10px;
    color: var(--lpd-white);
    font-size: 17px;
}

.zv-landing-dev-page .zv-lpd-process-card p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-process-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 28px;
    padding: 23px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: var(--zv-radius-md);
    background: rgba(255, 255, 255, 0.06);
}

.zv-landing-dev-page .zv-lpd-process-cta p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-process-cta strong {
    color: var(--lpd-white);
}

/* INDUSTRIES */

.zv-landing-dev-page .zv-lpd-industries {
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-industry-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.zv-landing-dev-page .zv-lpd-industry-grid > div {
    display: flex;
    min-height: 78px;
    align-items: center;
    gap: 13px;
    padding: 18px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-industry-grid span {
    color: var(--lpd-orange);
    font-size: 11px;
    font-weight: 850;
}

.zv-landing-dev-page .zv-lpd-industry-grid strong {
    color: var(--lpd-navy);
    font-size: 12px;
    line-height: 1.6;
}

/* PORTFOLIO CONCEPTS */

.zv-landing-dev-page .zv-lpd-concepts {
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-concept-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-landing-dev-page .zv-lpd-concept-card {
    overflow: hidden;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-lg);
    background: var(--lpd-white);
    box-shadow: var(--zv-shadow-sm);
    transition:
        transform var(--zv-transition),
        box-shadow var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-concept-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--zv-shadow-md);
}

.zv-landing-dev-page .zv-lpd-concept-art {
    position: relative;
    display: flex;
    min-height: 255px;
    overflow: hidden;
    flex-direction: column;
    align-items: flex-start;
    padding: 25px;
}

.zv-landing-dev-page .zv-lpd-concept-art > span {
    position: relative;
    z-index: 2;
    margin-bottom: 22px;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1px;
}

.zv-landing-dev-page .zv-lpd-concept-art > strong {
    position: relative;
    z-index: 2;
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.12;
    letter-spacing: -0.6px;
}

.zv-landing-dev-page .zv-lpd-concept-art > i {
    position: relative;
    z-index: 2;
    margin-top: 16px;
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
}

.zv-landing-dev-page .zv-lpd-art-saas {
    color: var(--lpd-white);
    background:
        radial-gradient(
            circle at 85% 85%,
            rgba(61, 134, 211, 0.6),
            transparent 38%
        ),
        var(--lpd-navy);
}

.zv-landing-dev-page .zv-lpd-art-saas > span {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-art-saas > i {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-art-business {
    color: var(--lpd-navy);
    background: linear-gradient(135deg, #edf4fb, #dce9f7);
}

.zv-landing-dev-page .zv-lpd-art-business > span {
    color: var(--lpd-blue);
}

.zv-landing-dev-page .zv-lpd-art-business > i {
    color: var(--lpd-blue);
}

.zv-landing-dev-page .zv-lpd-art-launch {
    color: var(--lpd-white);
    background:
        radial-gradient(
            circle at 85% 65%,
            rgba(244, 123, 32, 0.34),
            transparent 35%
        ),
        linear-gradient(140deg, var(--lpd-blue), var(--lpd-navy));
}

.zv-landing-dev-page .zv-lpd-art-launch > span {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-art-launch > i {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-art-window {
    position: absolute;
    right: -10px;
    bottom: -25px;
    display: flex;
    width: 55%;
    height: 100px;
    flex-wrap: wrap;
    align-content: flex-start;
    gap: 6px;
    padding: 13px;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 10px 0 0 0;
    background: rgba(255, 255, 255, 0.1);
    transform: rotate(-8deg);
}

.zv-landing-dev-page .zv-lpd-art-window b {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-art-window span {
    width: 80%;
    height: 5px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.45);
}

.zv-landing-dev-page .zv-lpd-art-window span:last-child {
    width: 55%;
}

.zv-landing-dev-page .zv-lpd-art-business-shape {
    position: absolute;
    right: -25px;
    bottom: -45px;
    width: 175px;
    height: 175px;
    border: 22px solid rgba(23, 105, 194, 0.12);
    border-radius: 50%;
}

.zv-landing-dev-page .zv-lpd-art-launch-orb {
    position: absolute;
    right: 25px;
    bottom: 22px;
    width: 80px;
    height: 80px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    background: radial-gradient(circle at 30% 25%, var(--zv-accent-light), var(--lpd-orange) 55%, var(--lpd-navy));
    box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.05);
}

.zv-landing-dev-page .zv-lpd-concept-info {
    padding: 23px;
}

.zv-landing-dev-page .zv-lpd-concept-info > span {
    display: block;
    margin-bottom: 9px;
    color: var(--lpd-orange);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1px;
}

.zv-landing-dev-page .zv-lpd-concept-info h3 {
    margin-bottom: 10px;
    font-size: 18px;
}

.zv-landing-dev-page .zv-lpd-concept-info p {
    margin-bottom: 0;
    font-size: 13px;
}

/* WHY ZENVENTA */

.zv-landing-dev-page .zv-lpd-why {
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: 70px;
}

.zv-landing-dev-page .zv-lpd-why-grid > div:first-child > p {
    margin-bottom: 25px;
}

.zv-landing-dev-page .zv-lpd-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--lpd-blue);
    font-size: 13px;
    font-weight: 800;
}

.zv-landing-dev-page .zv-lpd-text-link:hover {
    color: var(--zv-secondary-dark);
}

.zv-landing-dev-page .zv-lpd-why-list {
    display: grid;
}

.zv-landing-dev-page .zv-lpd-why-list article {
    display: flex;
    gap: 17px;
    padding: 21px 0;
    border-bottom: 1px solid var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-why-list article:first-child {
    padding-top: 0;
}

.zv-landing-dev-page .zv-lpd-why-list article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.zv-landing-dev-page .zv-lpd-why-list article > span {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 12px;
    color: var(--lpd-blue);
    background: var(--lpd-white);
    font-size: 11px;
    font-weight: 850;
}

.zv-landing-dev-page .zv-lpd-why-list h3 {
    margin-bottom: 6px;
    font-size: 16px;
}

.zv-landing-dev-page .zv-lpd-why-list p {
    margin-bottom: 0;
    font-size: 13px;
}

/* PRICING */

.zv-landing-dev-page .zv-lpd-pricing {
    background: var(--lpd-white);
}

.zv-landing-dev-page .zv-lpd-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 22px;
}

.zv-landing-dev-page .zv-lpd-price-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 31px 26px;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-lg);
    background: var(--lpd-white);
    box-shadow: var(--zv-shadow-sm);
}

.zv-landing-dev-page .zv-lpd-price-featured {
    border: 2px solid var(--lpd-blue);
    box-shadow: var(--zv-shadow-md);
}

.zv-landing-dev-page .zv-lpd-popular {
    position: absolute;
    top: -13px;
    right: 20px;
    padding: 7px 12px;
    border-radius: var(--zv-radius-pill);
    color: var(--lpd-white);
    background: var(--lpd-orange);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.8px;
}

.zv-landing-dev-page .zv-lpd-price-label {
    margin-bottom: 12px;
    color: var(--lpd-blue);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.2px;
}

.zv-landing-dev-page .zv-lpd-price-card h3 {
    margin-bottom: 9px;
    font-size: 24px;
}

.zv-landing-dev-page .zv-lpd-price-desc {
    min-height: 53px;
    margin-bottom: 20px;
    font-size: 13px;
}

.zv-landing-dev-page .zv-lpd-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--lpd-border);
}

.zv-landing-dev-page .zv-lpd-price strong {
    color: var(--lpd-navy);
    font-size: clamp(29px, 3vw, 37px);
    font-weight: 850;
    letter-spacing: -1px;
}

.zv-landing-dev-page .zv-lpd-price > span {
    color: var(--lpd-muted);
    font-size: 12px;
}

.zv-landing-dev-page .zv-lpd-price-card ul {
    gap: 12px;
    margin-bottom: 28px;
}

.zv-landing-dev-page .zv-lpd-price-card .zv-lpd-btn {
    width: 100%;
    margin-top: auto;
}

.zv-landing-dev-page .zv-lpd-pricing-note {
    max-width: 850px;
    margin: 27px auto 0;
    font-size: 12px;
    text-align: center;
}

/* FAQ */

.zv-landing-dev-page .zv-lpd-faq {
    background: var(--lpd-soft);
}

.zv-landing-dev-page .zv-lpd-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 65px;
}

.zv-landing-dev-page .zv-lpd-faq-intro {
    position: sticky;
    top: 110px;
}

.zv-landing-dev-page .zv-lpd-faq-intro > p {
    margin-bottom: 25px;
}

.zv-landing-dev-page .zv-lpd-faq-list {
    display: grid;
    gap: 12px;
}

.zv-landing-dev-page .zv-lpd-faq-item {
    overflow: hidden;
    border: 1px solid var(--lpd-border);
    border-radius: var(--zv-radius-md);
    background: var(--lpd-white);
    transition: border-color var(--zv-transition);
}

.zv-landing-dev-page .zv-lpd-faq-item[open] {
    border-color: var(--lpd-blue-light);
}

.zv-landing-dev-page .zv-lpd-faq-item summary {
    position: relative;
    padding: 20px 54px 20px 21px;
    color: var(--lpd-navy);
    cursor: pointer;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.65;
    list-style: none;
}

.zv-landing-dev-page .zv-lpd-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-landing-dev-page .zv-lpd-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 18px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 50%;
    color: var(--lpd-blue);
    background: var(--lpd-soft);
    content: "+";
    font-size: 18px;
    font-weight: 500;
    transform: translateY(-50%);
}

.zv-landing-dev-page .zv-lpd-faq-item[open] summary::after {
    color: var(--lpd-white);
    background: var(--lpd-blue);
    content: "−";
}

.zv-landing-dev-page .zv-lpd-faq-item > div {
    padding: 0 21px 20px;
}

.zv-landing-dev-page .zv-lpd-faq-item > div p {
    margin-bottom: 0;
    font-size: 13px;
}

/* FINAL CTA */

.zv-landing-dev-page .zv-lpd-final-cta {
    padding: 85px 0;
    text-align: center;
    background:
        radial-gradient(
            ellipse at 85% 15%,
            rgba(22, 59, 120, 0.65),
            transparent 40%
        ),
        linear-gradient(
            115deg,
            var(--zv-primary-dark),
            var(--zv-primary)
        );
}

.zv-landing-dev-page .zv-lpd-final-inner {
    max-width: 850px;
}

.zv-landing-dev-page .zv-lpd-final-cta .zv-lpd-eyebrow {
    color: var(--zv-accent-light);
}

.zv-landing-dev-page .zv-lpd-final-cta h2 {
    margin-bottom: 20px;
    color: var(--lpd-white);
    font-size: clamp(32px, 4.2vw, 48px);
}

.zv-landing-dev-page .zv-lpd-final-cta p {
    max-width: 700px;
    margin: 0 auto 28px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
}

.zv-landing-dev-page .zv-lpd-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
}

.zv-landing-dev-page .zv-lpd-final-email {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 24px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
}

.zv-landing-dev-page .zv-lpd-final-email a {
    color: var(--lpd-white);
    font-weight: 750;
}

/* TABLET */

@media (max-width: 1024px) {
    .zv-landing-dev-page .zv-lpd-section {
        padding: 72px 0;
    }

    .zv-landing-dev-page .zv-lpd-intro-grid {
        gap: 38px;
    }

    .zv-landing-dev-page .zv-lpd-preview-wrap {
        padding: 13px;
    }

    .zv-landing-dev-page .zv-lpd-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 22px;
    }

    .zv-landing-dev-page .zv-lpd-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-landing-dev-page .zv-lpd-use-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-landing-dev-page .zv-lpd-principles-grid,
    .zv-landing-dev-page .zv-lpd-why-grid {
        gap: 38px;
    }

    .zv-landing-dev-page .zv-lpd-industry-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-landing-dev-page .zv-lpd-concept-grid {
        gap: 15px;
    }

    .zv-landing-dev-page .zv-lpd-concept-art {
        min-height: 230px;
        padding: 20px;
    }

    .zv-landing-dev-page .zv-lpd-concept-info {
        padding: 18px;
    }

    .zv-landing-dev-page .zv-lpd-pricing-grid {
        gap: 14px;
    }

    .zv-landing-dev-page .zv-lpd-price-card {
        padding: 27px 20px;
    }

    .zv-landing-dev-page .zv-lpd-faq-grid {
        gap: 38px;
    }
}

/* MOBILE */

@media (max-width: 767px) {
    .zv-landing-dev-page .zv-lpd-container {
        width: min(100% - 36px, 560px);
    }

    .zv-landing-dev-page .zv-lpd-section {
        padding: 58px 0;
    }

    .zv-landing-dev-page h2 {
        margin-bottom: 16px;
        font-size: clamp(27px, 7vw, 35px);
        letter-spacing: -0.5px;
    }

    .zv-landing-dev-page p {
        font-size: 14px;
        line-height: 1.8;
    }

    .zv-landing-dev-page .zv-lpd-intro {
        padding-top: 55px;
        padding-bottom: 58px;
    }

    .zv-landing-dev-page .zv-lpd-intro-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 40px;
    }

    .zv-landing-dev-page .zv-lpd-intro-points {
        gap: 12px 9px;
    }

    .zv-landing-dev-page .zv-lpd-intro-points > div {
        font-size: 11px;
    }

    .zv-landing-dev-page .zv-lpd-intro-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 17px;
    }

    .zv-landing-dev-page .zv-lpd-preview-wrap {
        max-width: 530px;
        margin: 0 auto;
    }

    .zv-landing-dev-page .zv-lpd-preview-badge {
        right: -6px;
        bottom: 14px;
    }

    .zv-landing-dev-page .zv-lpd-preview-hero {
        padding: 26px 17px;
    }

    .zv-landing-dev-page .zv-lpd-value-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 19px;
    }

    .zv-landing-dev-page .zv-lpd-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .zv-landing-dev-page .zv-lpd-section-heading > p {
        margin-left: 0;
    }

    .zv-landing-dev-page .zv-lpd-services-grid,
    .zv-landing-dev-page .zv-lpd-use-grid,
    .zv-landing-dev-page .zv-lpd-concept-grid,
    .zv-landing-dev-page .zv-lpd-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 17px;
    }

    .zv-landing-dev-page .zv-lpd-service-card {
        padding: 25px 23px;
    }

    .zv-landing-dev-page .zv-lpd-cta-band {
        padding: 42px 0;
    }

    .zv-landing-dev-page .zv-lpd-cta-band-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px;
    }

    .zv-landing-dev-page .zv-lpd-cta-band h2 {
        font-size: 29px;
    }

    .zv-landing-dev-page .zv-lpd-use-card {
        padding: 23px;
    }

    .zv-landing-dev-page .zv-lpd-use-card > span {
        margin-bottom: 14px;
    }

    .zv-landing-dev-page .zv-lpd-principles-grid,
    .zv-landing-dev-page .zv-lpd-why-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 34px;
    }

    .zv-landing-dev-page .zv-lpd-principles-visual {
        padding: 19px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-two {
        margin-left: 8px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-three {
        margin-left: 16px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-four {
        margin-left: 24px;
    }

    .zv-landing-dev-page .zv-lpd-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 13px;
    }

    .zv-landing-dev-page .zv-lpd-process-card {
        padding: 21px;
    }

    .zv-landing-dev-page .zv-lpd-process-number {
        margin-bottom: 13px;
    }

    .zv-landing-dev-page .zv-lpd-process-cta {
        align-items: flex-start;
        flex-direction: column;
        padding: 19px;
    }

    .zv-landing-dev-page .zv-lpd-industry-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 11px;
    }

    .zv-landing-dev-page .zv-lpd-industry-grid > div {
        min-height: 64px;
    }

    .zv-landing-dev-page .zv-lpd-concept-art {
        min-height: 245px;
        padding: 24px;
    }

    .zv-landing-dev-page .zv-lpd-concept-info {
        padding: 22px;
    }

    .zv-landing-dev-page .zv-lpd-why-list article {
        gap: 13px;
        padding: 19px 0;
    }

    .zv-landing-dev-page .zv-lpd-price-card {
        padding: 29px 24px;
    }

    .zv-landing-dev-page .zv-lpd-price-desc {
        min-height: 0;
    }

    .zv-landing-dev-page .zv-lpd-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .zv-landing-dev-page .zv-lpd-faq-intro {
        position: static;
    }

    .zv-landing-dev-page .zv-lpd-faq-item summary {
        padding: 18px 48px 18px 17px;
        font-size: 13px;
    }

    .zv-landing-dev-page .zv-lpd-faq-item summary::after {
        right: 14px;
    }

    .zv-landing-dev-page .zv-lpd-faq-item > div {
        padding: 0 17px 18px;
    }

    .zv-landing-dev-page .zv-lpd-final-cta {
        padding: 62px 0;
    }

    .zv-landing-dev-page .zv-lpd-final-cta h2 {
        font-size: 32px;
    }

    .zv-landing-dev-page .zv-lpd-final-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .zv-landing-dev-page .zv-lpd-final-actions .zv-lpd-btn {
        width: 100%;
    }
}

/* SMALL MOBILE */

@media (max-width: 380px) {
    .zv-landing-dev-page .zv-lpd-container {
        width: calc(100% - 28px);
    }

    .zv-landing-dev-page .zv-lpd-intro-points {
        grid-template-columns: minmax(0, 1fr);
    }

    .zv-landing-dev-page .zv-lpd-preview-wrap {
        padding: 8px;
    }

    .zv-landing-dev-page .zv-lpd-preview-content {
        padding: 12px;
    }

    .zv-landing-dev-page .zv-lpd-preview-hero strong {
        font-size: 23px;
    }

    .zv-landing-dev-page .zv-lpd-preview-badge {
        right: 0;
        max-width: 95%;
        padding: 10px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-two {
        margin-left: 5px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-three {
        margin-left: 10px;
    }

    .zv-landing-dev-page .zv-lpd-funnel-four {
        margin-left: 15px;
    }
}

/* ACCESSIBILITY */

.zv-landing-dev-page a:focus-visible,
.zv-landing-dev-page summary:focus-visible {
    outline: 3px solid var(--lpd-orange);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .zv-landing-dev-page *,
    .zv-landing-dev-page *::before,
    .zv-landing-dev-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}




















/* =========================================================
   WORDPRESS DEVELOPMENT PAGE
   Root: .zv-wordpress-dev-page
   ========================================================= */

.zv-wordpress-dev-page {
    --zwd-navy: var(--zv-primary, #0b2148);
    --zwd-navy-dark: var(--zv-primary-dark, #061631);
    --zwd-blue: var(--zv-secondary, #1769c2);
    --zwd-blue-light: var(--zv-secondary-light, #3d86d3);
    --zwd-orange: var(--zv-accent, #f47b20);
    --zwd-text: var(--zv-text, #26364d);
    --zwd-muted: var(--zv-text-light, #65748a);
    --zwd-border: var(--zv-border, #dce4ee);
    --zwd-light: var(--zv-light, #f7f9fc);
    --zwd-white: var(--zv-white, #fff);
    color: var(--zwd-text);
    font-family: var(--zv-font-primary, "Inter", Arial, sans-serif);
    overflow: clip;
}

.zv-wordpress-dev-page *,
.zv-wordpress-dev-page *::before,
.zv-wordpress-dev-page *::after {
    box-sizing: border-box;
}

.zv-wordpress-dev-page h2,
.zv-wordpress-dev-page h3,
.zv-wordpress-dev-page p {
    margin-top: 0;
}

.zv-wordpress-dev-page h2,
.zv-wordpress-dev-page h3 {
    color: var(--zwd-navy);
    line-height: 1.25;
    letter-spacing: -0.035em;
}

.zv-wordpress-dev-page p {
    color: var(--zwd-muted);
    line-height: 1.8;
}

.zv-wordpress-dev-page a {
    text-decoration: none;
}

.zv-wordpress-dev-page a:focus-visible,
.zv-wordpress-dev-page summary:focus-visible {
    outline: 3px solid var(--zwd-orange);
    outline-offset: 4px;
}

.zwd-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zwd-section {
    padding-block: 35px;
}

.zwd-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--zwd-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
}

.zwd-eyebrow::before {
    width: 25px;
    height: 3px;
    flex: 0 0 25px;
    background: var(--zwd-orange);
    content: "";
}

.zwd-section-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.zwd-section-heading h2,
.zwd-intro-content h2,
.zwd-approach-content h2,
.zwd-why-grid > div:first-child h2,
.zwd-faq-intro h2 {
    margin-bottom: 20px;
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 800;
}

.zwd-section-heading > p {
    max-width: 660px;
    margin: 0 auto;
    font-size: 15px;
}

.zwd-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
    transition: transform 0.25s ease, background 0.25s ease,
                box-shadow 0.25s ease;
}

.zwd-btn:hover {
    transform: translateY(-2px);
}

.zwd-btn-primary {
    background: var(--zwd-orange);
    color: var(--zwd-white) !important;
    box-shadow: 0 9px 22px rgba(244, 123, 32, 0.18);
}

.zwd-btn-primary:hover {
    background: var(--zv-accent-dark, #d9610b);
    box-shadow: 0 12px 25px rgba(244, 123, 32, 0.25);
}

.zwd-btn-light {
    background: var(--zwd-white);
    color: var(--zwd-navy) !important;
}

.zwd-btn-light:hover {
    background: var(--zv-light-2, #eef3f8);
}

.zwd-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--zwd-blue);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
}

.zwd-text-link span,
.zwd-text-link:hover {
    color: var(--zwd-orange);
}

/* Introduction */

.zwd-intro {
    padding-block: 35px 45px;
    background:
        radial-gradient(ellipse at 86% 18%, rgba(22, 105, 194, 0.07), transparent 32%),
        var(--zwd-white);
}

.zwd-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(45px, 7vw, 95px);
}

.zwd-intro-content h2 {
    max-width: 570px;
    margin-bottom: 22px;
}

.zwd-intro-content > p {
    margin-bottom: 15px;
    font-size: 15px;
}

.zwd-check-list {
    display: grid;
    gap: 13px;
    margin: 27px 0 30px;
    padding: 0;
    list-style: none;
}

.zwd-check-list li {
    position: relative;
    padding-left: 31px;
    color: var(--zwd-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.zwd-check-list li::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zwd-blue);
    content: "✓";
    font-size: 12px;
    font-weight: 900;
}

.zwd-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
}

/* CSS-generated website mockup */

.zwd-visual {
    position: relative;
    min-width: 0;
    padding: 25px 15px 35px;
}

.zwd-visual::before {
    position: absolute;
    inset: 6% 0 0 9%;
    z-index: 0;
    border-radius: 35px;
    background: linear-gradient(135deg, rgba(22, 105, 194, 0.1), rgba(244, 123, 32, 0.08));
    content: "";
    transform: rotate(-5deg);
}

.zwd-visual-card {
    position: relative;
    z-index: 1;
    overflow: hidden;
    border: 1px solid var(--zwd-border);
    border-radius: 15px;
    background: var(--zwd-white);
    box-shadow: 0 24px 65px rgba(11, 33, 72, 0.14);
    transform: rotate(1deg);
}

.zwd-browser-bar {
    display: flex;
    min-height: 47px;
    align-items: center;
    gap: 6px;
    padding: 0 15px;
    border-bottom: 1px solid var(--zwd-border);
    background: #f5f7fa;
}

.zwd-browser-bar > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c7d2df;
}

.zwd-browser-bar > span:first-child {
    background: var(--zwd-orange);
}

.zwd-browser-address {
    overflow: hidden;
    width: min(210px, 65%);
    margin-left: 12px;
    padding: 5px 12px;
    border: 1px solid var(--zwd-border);
    border-radius: 5px;
    background: var(--zwd-white);
    color: var(--zwd-muted);
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zwd-browser-page {
    padding: 21px 22px 24px;
}

.zwd-mock-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 32px;
}

.zwd-mock-logo {
    color: var(--zwd-navy);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.zwd-mock-menu {
    width: 85px;
    height: 5px;
    border-radius: 10px;
    background: #e3e9f1;
}

.zwd-mock-hero {
    padding: 29px 22px;
    border-radius: 9px;
    background: linear-gradient(120deg, var(--zwd-navy), #173e72);
}

.zwd-mock-kicker,
.zwd-mock-heading,
.zwd-mock-copy,
.zwd-mock-button {
    display: block;
}

.zwd-mock-kicker {
    margin-bottom: 13px;
    color: #bcd7f7;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.zwd-mock-heading {
    margin-bottom: 13px;
    color: var(--zwd-white);
    font-size: clamp(19px, 2.5vw, 29px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.04em;
}

.zwd-mock-copy {
    width: 87%;
    height: 5px;
    margin-bottom: 7px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.3);
}

.zwd-mock-copy-short {
    width: 61%;
}

.zwd-mock-button {
    width: fit-content;
    margin-top: 18px;
    padding: 10px 13px;
    border-radius: 4px;
    background: var(--zwd-orange);
    color: var(--zwd-white);
    font-size: 8px;
    font-weight: 800;
}

.zwd-mock-features {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.zwd-mock-features span {
    height: 59px;
    border: 1px solid var(--zwd-border);
    border-radius: 7px;
    background: linear-gradient(180deg, #fff, #f5f8fc);
}

.zwd-float-card {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid var(--zwd-border);
    border-radius: 10px;
    background: var(--zwd-white);
    box-shadow: 0 12px 35px rgba(11, 33, 72, 0.12);
}

.zwd-float-top {
    top: 2px;
    right: -4px;
}

.zwd-float-bottom {
    bottom: 3px;
    left: -12px;
}

.zwd-float-icon {
    display: grid;
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    place-items: center;
    border-radius: 8px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zwd-blue);
    font-size: 18px;
    font-weight: 900;
}

.zwd-float-orange {
    background: rgba(244, 123, 32, 0.12);
    color: var(--zwd-orange);
}

.zwd-float-card strong,
.zwd-float-card small {
    display: block;
}

.zwd-float-card strong {
    color: var(--zwd-navy);
    font-size: 11px;
}

.zwd-float-card small {
    margin-top: 4px;
    color: var(--zwd-muted);
    font-size: 10px;
}

/* Value strip */

.zwd-value-strip {
    padding-block: 26px;
    background: var(--zwd-light);
    border-block: 1px solid var(--zwd-border);
}

.zwd-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.zwd-value-item {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

.zwd-value-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 1px solid rgba(23, 105, 194, 0.18);
    border-radius: 10px;
    background: var(--zwd-white);
    color: var(--zwd-blue);
    font-size: 12px;
    font-weight: 850;
}

.zwd-value-item strong,
.zwd-value-item small {
    display: block;
}

.zwd-value-item strong {
    color: var(--zwd-navy);
    font-size: 13px;
}

.zwd-value-item small {
    margin-top: 5px;
    color: var(--zwd-muted);
    font-size: 11px;
    line-height: 1.5;
}

/* Services */

.zwd-services {
    background: var(--zwd-white);
}

.zwd-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zwd-service-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 30px;
    border: 1px solid var(--zwd-border);
    border-radius: 13px;
    background: var(--zwd-white);
    transition: transform 0.25s ease, border-color 0.25s ease,
                box-shadow 0.25s ease;
}

.zwd-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, 0.4);
    box-shadow: 0 16px 36px rgba(11, 33, 72, 0.08);
}

.zwd-card-icon {
    display: grid;
    width: 47px;
    height: 47px;
    margin-bottom: 24px;
    place-items: center;
    border-radius: 10px;
    background: var(--zwd-navy);
    color: var(--zwd-white);
    font-size: 12px;
    font-weight: 850;
}

.zwd-service-card:nth-child(2n) .zwd-card-icon {
    background: var(--zwd-blue);
}

.zwd-service-card h3 {
    margin-bottom: 12px;
    font-size: 19px;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.zwd-service-card p {
    margin-bottom: 23px;
    font-size: 13px;
    line-height: 1.8;
}

.zwd-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--zwd-blue);
    font-size: 12px;
    font-weight: 800;
}

.zwd-service-card > a span {
    color: var(--zwd-orange);
    transition: transform 0.2s ease;
}

.zwd-service-card > a:hover span {
    transform: translateX(4px);
}

/* CTA band */

.zwd-cta-band {
    position: relative;
    overflow: hidden;
    padding-block: 45px;
    background: var(--zwd-navy);
}

.zwd-cta-band::after {
    position: absolute;
    top: -110px;
    right: 12%;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.025),
                0 0 0 70px rgba(255, 255, 255, 0.02);
    content: "";
    pointer-events: none;
}

.zwd-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.zwd-cta-kicker {
    display: block;
    margin-bottom: 12px;
    color: #a9c8ee;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.zwd-cta-inner h2 {
    max-width: 710px;
    margin-bottom: 10px;
    color: var(--zwd-white);
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 800;
    letter-spacing: -0.035em;
}

.zwd-cta-inner p {
    margin-bottom: 0;
    color: #d0dced;
    font-size: 14px;
}

/* Solutions */

.zwd-solutions {
    background: var(--zwd-light);
}

.zwd-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.zwd-solution-card {
    min-width: 0;
    padding: 28px;
    border: 1px solid var(--zwd-border);
    border-radius: 12px;
    background: var(--zwd-white);
    transition: border-color 0.25s ease, transform 0.25s ease;
}

.zwd-solution-card:hover {
    transform: translateY(-4px);
    border-color: var(--zwd-blue-light);
}

.zwd-solution-number {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--zwd-orange);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.1em;
}

.zwd-solution-card h3 {
    margin-bottom: 11px;
    font-size: 19px;
}

.zwd-solution-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Development approach */

.zwd-approach {
    background: var(--zwd-white);
}

.zwd-approach-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
    align-items: center;
    gap: clamp(45px, 7vw, 90px);
}

.zwd-approach-content > p,
.zwd-why-grid > div:first-child > p,
.zwd-faq-intro > p {
    font-size: 14px;
}

.zwd-benefit-list {
    display: grid;
    gap: 22px;
    margin-top: 30px;
}

.zwd-benefit {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.zwd-benefit > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zwd-blue);
    font-size: 15px;
    font-weight: 900;
}

.zwd-benefit h3 {
    margin-bottom: 6px;
    font-size: 16px;
    letter-spacing: -0.015em;
}

.zwd-benefit p {
    margin-bottom: 0;
    font-size: 12px;
}

.zwd-approach-visual {
    padding: 35px;
    border-radius: 20px;
    background: linear-gradient(140deg, #edf3fa, #f8fafc);
}

.zwd-stack-card {
    padding: 28px;
    border: 1px solid var(--zwd-border);
    border-radius: 14px;
    background: var(--zwd-white);
    box-shadow: 0 20px 45px rgba(11, 33, 72, 0.08);
}

.zwd-stack-label {
    display: block;
    margin-bottom: 22px;
    color: var(--zwd-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.1em;
}

.zwd-stack-layer {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px solid var(--zwd-border);
    border-radius: 9px;
}

.zwd-stack-layer + .zwd-stack-layer {
    margin-top: 12px;
}

.zwd-stack-layer > span {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.13);
    color: var(--zwd-white);
    font-size: 10px;
    font-weight: 850;
}

.zwd-layer-top {
    background: var(--zwd-navy);
}

.zwd-layer-middle {
    border-color: #b9d5f4;
    background: #edf5ff;
}

.zwd-layer-middle > span {
    background: var(--zwd-blue);
}

.zwd-layer-bottom {
    border-color: #f4d4bc;
    background: #fff6ee;
}

.zwd-layer-bottom > span {
    background: var(--zwd-orange);
}

.zwd-stack-layer strong,
.zwd-stack-layer small {
    display: block;
}

.zwd-stack-layer strong {
    color: var(--zwd-navy);
    font-size: 13px;
}

.zwd-layer-top strong {
    color: var(--zwd-white);
}

.zwd-stack-layer small {
    margin-top: 5px;
    color: var(--zwd-muted);
    font-size: 10px;
    line-height: 1.5;
}

.zwd-layer-top small {
    color: #d0dced;
}

.zwd-stack-card > p {
    margin: 20px 0 0;
    font-size: 11px;
    text-align: center;
}

/* Process */

.zwd-process {
    background: var(--zwd-light);
}

.zwd-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zwd-process-card {
    position: relative;
    min-width: 0;
    padding: 30px;
    border: 1px solid var(--zwd-border);
    border-radius: 12px;
    background: var(--zwd-white);
}

.zwd-process-step {
    display: inline-block;
    margin-bottom: 23px;
    color: var(--zwd-orange);
    font-size: 26px;
    font-weight: 900;
    letter-spacing: -0.05em;
}

.zwd-process-card h3 {
    margin-bottom: 10px;
    font-size: 19px;
}

.zwd-process-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Why Zenventa */

.zwd-why {
    background: var(--zwd-white);
}

.zwd-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(45px, 8vw, 105px);
}

.zwd-why-grid > div:first-child h2 {
    max-width: 440px;
}

.zwd-why-points {
    display: grid;
}

.zwd-why-point {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 18px;
    padding-block: 22px;
    border-bottom: 1px solid var(--zwd-border);
}

.zwd-why-point:first-child {
    padding-top: 0;
}

.zwd-why-point:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.zwd-why-point > span {
    color: var(--zwd-orange);
    font-size: 15px;
    font-weight: 900;
}

.zwd-why-point h3 {
    margin-bottom: 7px;
    font-size: 17px;
}

.zwd-why-point p {
    margin-bottom: 0;
    font-size: 13px;
}

/* FAQ */

.zwd-faq {
    background: var(--zwd-light);
}

.zwd-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: clamp(45px, 7vw, 90px);
}

.zwd-faq-intro {
    position: sticky;
    top: 110px;
}

.zwd-faq-intro .zwd-text-link {
    margin-top: 12px;
}

.zwd-faq-list {
    display: grid;
    gap: 12px;
}

.zwd-faq-item {
    overflow: hidden;
    border: 1px solid var(--zwd-border);
    border-radius: 10px;
    background: var(--zwd-white);
}

.zwd-faq-item summary {
    position: relative;
    padding: 21px 52px 21px 22px;
    color: var(--zwd-navy);
    cursor: pointer;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
    list-style: none;
}

.zwd-faq-item summary::-webkit-details-marker {
    display: none;
}

.zwd-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 7px;
    background: rgba(23, 105, 194, 0.09);
    color: var(--zwd-blue);
    content: "+";
    font-size: 18px;
    font-weight: 500;
    transform: translateY(-50%);
}

.zwd-faq-item[open] summary {
    color: var(--zwd-blue);
}

.zwd-faq-item[open] summary::after {
    background: var(--zwd-navy);
    color: var(--zwd-white);
    content: "−";
}

.zwd-faq-answer {
    padding: 0 22px 21px;
}

.zwd-faq-answer p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Final CTA */

.zwd-final-cta {
    position: relative;
    overflow: hidden;
    padding-block: 90px;
    background: var(--zwd-navy);
    text-align: center;
}

.zwd-final-cta::before,
.zwd-final-cta::after {
    position: absolute;
    width: 320px;
    height: 320px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.zwd-final-cta::before {
    top: -190px;
    left: -100px;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.025);
}

.zwd-final-cta::after {
    right: -130px;
    bottom: -210px;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.025);
}

.zwd-final-inner {
    position: relative;
    z-index: 1;
}

.zwd-final-cta .zwd-eyebrow {
    color: #b8d5f5;
}

.zwd-final-inner h2 {
    max-width: 800px;
    margin: 0 auto 18px;
    color: var(--zwd-white);
    font-size: clamp(30px, 4.2vw, 46px);
    font-weight: 850;
    letter-spacing: -0.04em;
}

.zwd-final-inner > p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: #d0dced;
    font-size: 14px;
}

.zwd-final-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

.zwd-email-link {
    color: var(--zwd-white);
    font-size: 13px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.zwd-email-link:hover {
    color: #b8d5f5;
}

/* Tablet */

@media (max-width: 1024px) {
    .zwd-section {
        padding-block: 78px;
    }

    .zwd-intro {
        padding-block: 75px 85px;
    }

    .zwd-intro-grid,
    .zwd-approach-grid {
        gap: 40px;
    }

    .zwd-services-grid,
    .zwd-solutions-grid,
    .zwd-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zwd-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 22px;
    }

    .zwd-service-card,
    .zwd-solution-card,
    .zwd-process-card {
        padding: 25px;
    }

    .zwd-approach-visual {
        padding: 24px;
    }

    .zwd-stack-card {
        padding: 20px;
    }

    .zwd-float-top {
        right: -3px;
    }
}

/* Mobile and smaller tablets */

@media (max-width: 767px) {
    .zwd-container {
        width: min(100% - 36px, 560px);
    }

    .zwd-section {
        padding-block: 65px;
    }

    .zwd-intro {
        padding-block: 58px 68px;
    }

    .zwd-intro-grid,
    .zwd-approach-grid,
    .zwd-why-grid,
    .zwd-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .zwd-intro-content h2,
    .zwd-section-heading h2,
    .zwd-approach-content h2,
    .zwd-why-grid > div:first-child h2,
    .zwd-faq-intro h2 {
        font-size: clamp(28px, 7vw, 36px);
    }

    .zwd-intro-content > p,
    .zwd-approach-content > p {
        font-size: 14px;
    }

    .zwd-visual {
        width: min(100%, 520px);
        margin-inline: auto;
        padding: 25px 8px 35px;
    }

    .zwd-float-top {
        right: -2px;
    }

    .zwd-float-bottom {
        left: -2px;
    }

    .zwd-browser-page {
        padding: 17px;
    }

    .zwd-mock-hero {
        padding: 24px 17px;
    }

    .zwd-value-grid {
        gap: 20px 15px;
    }

    .zwd-value-item {
        align-items: flex-start;
        gap: 10px;
    }

    .zwd-value-icon {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .zwd-value-item strong {
        font-size: 12px;
    }

    .zwd-value-item small {
        font-size: 10px;
    }

    .zwd-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .zwd-section-heading > p {
        margin-left: 0;
    }

    .zwd-services-grid,
    .zwd-solutions-grid,
    .zwd-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zwd-service-card,
    .zwd-solution-card,
    .zwd-process-card {
        padding: 25px;
    }

    .zwd-card-icon {
        margin-bottom: 18px;
    }

    .zwd-cta-band {
        padding-block: 38px;
    }

    .zwd-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px;
    }

    .zwd-cta-inner h2 {
        font-size: 27px;
    }

    .zwd-approach-visual {
        padding: 20px;
    }

    .zwd-stack-card {
        padding: 17px;
    }

    .zwd-stack-layer {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
        padding: 14px 11px;
    }

    .zwd-stack-layer > span {
        width: 29px;
        height: 29px;
    }

    .zwd-stack-layer strong {
        font-size: 12px;
    }

    .zwd-stack-layer small {
        font-size: 10px;
    }

    .zwd-faq-intro {
        position: static;
    }

    .zwd-faq-item summary {
        padding: 18px 48px 18px 17px;
        font-size: 13px;
    }

    .zwd-faq-item summary::after {
        right: 14px;
    }

    .zwd-faq-answer {
        padding: 0 17px 18px;
    }

    .zwd-final-cta {
        padding-block: 68px;
    }

    .zwd-final-inner h2 {
        font-size: clamp(28px, 7vw, 36px);
    }
}

/* Small phones */

@media (max-width: 420px) {
    .zwd-container {
        width: calc(100% - 30px);
    }

    .zwd-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 17px;
    }

    .zwd-actions .zwd-btn {
        width: 100%;
    }

    .zwd-actions .zwd-text-link {
        justify-content: center;
    }

    .zwd-value-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zwd-value-item {
        align-items: center;
    }

    .zwd-float-card {
        gap: 8px;
        padding: 10px;
    }

    .zwd-float-icon {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }

    .zwd-float-card strong {
        font-size: 10px;
    }

    .zwd-float-card small {
        font-size: 9px;
    }

    .zwd-browser-bar {
        min-height: 39px;
        padding-inline: 10px;
    }

    .zwd-browser-address {
        margin-left: 5px;
    }

    .zwd-mock-logo {
        font-size: 10px;
    }

    .zwd-mock-menu {
        width: 55px;
    }

    .zwd-mock-hero {
        padding: 20px 14px;
    }

    .zwd-mock-heading {
        font-size: 22px;
    }

    .zwd-final-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .zv-wordpress-dev-page *,
    .zv-wordpress-dev-page *::before,
    .zv-wordpress-dev-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .zwd-service-card:hover,
    .zwd-solution-card:hover,
    .zwd-btn:hover {
        transform: none;
    }
}























/* =========================================================
   SEO SERVICES PAGE
   Root: .zv-seo-services-page
   ========================================================= */

.zv-seo-services-page {
    --zseo-navy: var(--zv-primary, #0b2148);
    --zseo-navy-dark: var(--zv-primary-dark, #061631);
    --zseo-blue: var(--zv-secondary, #1769c2);
    --zseo-blue-light: var(--zv-secondary-light, #3d86d3);
    --zseo-orange: var(--zv-accent, #f47b20);
    --zseo-text: var(--zv-text, #26364d);
    --zseo-muted: var(--zv-text-light, #65748a);
    --zseo-border: var(--zv-border, #dce4ee);
    --zseo-light: var(--zv-light, #f7f9fc);
    --zseo-white: var(--zv-white, #fff);
    color: var(--zseo-text);
    font-family: var(--zv-font-primary, "Inter", Arial, sans-serif);
    overflow: clip;
}

.zv-seo-services-page *,
.zv-seo-services-page *::before,
.zv-seo-services-page *::after {
    box-sizing: border-box;
}

.zv-seo-services-page h2,
.zv-seo-services-page h3,
.zv-seo-services-page p {
    margin-top: 0;
}

.zv-seo-services-page h2,
.zv-seo-services-page h3 {
    color: var(--zseo-navy);
    line-height: 1.25;
    letter-spacing: -0.03em;
}

.zv-seo-services-page p {
    color: var(--zseo-muted);
    line-height: 1.8;
}

.zv-seo-services-page a {
    text-decoration: none;
}

.zv-seo-services-page a:focus-visible,
.zv-seo-services-page summary:focus-visible {
    outline: 3px solid var(--zseo-orange);
    outline-offset: 4px;
}

.zseo-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zseo-section {
    padding-block: 35px;
}

.zseo-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--zseo-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.5;
}

.zseo-eyebrow::before {
    width: 25px;
    height: 3px;
    flex: 0 0 25px;
    background: var(--zseo-orange);
    content: "";
}

.zseo-section-heading {
    max-width: 770px;
    margin: 0 auto 46px;
    text-align: center;
}

.zseo-section-heading h2,
.zseo-intro-content h2,
.zseo-business-intro h2,
.zseo-faq-intro h2 {
    margin-bottom: 19px;
    font-size: clamp(30px, 3.5vw, 44px);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.zseo-section-heading > p {
    max-width: 680px;
    margin: 0 auto;
    font-size: 15px;
}

.zseo-btn {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    transition: background 0.25s ease, transform 0.25s ease,
                box-shadow 0.25s ease;
}

.zseo-btn:hover {
    transform: translateY(-2px);
}

.zseo-btn-primary {
    background: var(--zseo-orange);
    color: var(--zseo-white) !important;
    box-shadow: 0 9px 22px rgba(244, 123, 32, 0.18);
}

.zseo-btn-primary:hover {
    background: var(--zv-accent-dark, #d9610b);
    box-shadow: 0 12px 25px rgba(244, 123, 32, 0.25);
}

.zseo-btn-light {
    background: var(--zseo-white);
    color: var(--zseo-navy) !important;
}

.zseo-btn-light:hover {
    background: var(--zv-light-2, #eef3f8);
}

.zseo-text-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--zseo-blue);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
}

.zseo-text-link:hover,
.zseo-text-link span {
    color: var(--zseo-orange);
}

/* Introduction */

.zseo-intro {
    padding-block: 35px 45px;
    background:
        radial-gradient(ellipse at 88% 15%, rgba(23, 105, 194, 0.07), transparent 32%),
        var(--zseo-white);
}

.zseo-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
    align-items: center;
    gap: clamp(45px, 7vw, 90px);
}

.zseo-intro-content h2 {
    max-width: 580px;
}

.zseo-intro-content > p {
    margin-bottom: 15px;
    font-size: 15px;
}

.zseo-check-list {
    display: grid;
    gap: 13px;
    margin: 27px 0 30px;
    padding: 0;
    list-style: none;
}

.zseo-check-list li {
    position: relative;
    padding-left: 31px;
    color: var(--zseo-text);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

.zseo-check-list li::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zseo-blue);
    content: "✓";
    font-size: 12px;
    font-weight: 900;
}

.zseo-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 22px;
}

/* SEO dashboard illustration */

.zseo-visual {
    position: relative;
    min-width: 0;
    padding: 18px 13px 35px;
}

.zseo-visual::before {
    position: absolute;
    inset: 4% 0 0 8%;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(23, 105, 194, 0.11), rgba(244, 123, 32, 0.08));
    content: "";
    transform: rotate(-4deg);
}

.zseo-dashboard {
    position: relative;
    z-index: 1;
    padding: 23px;
    border: 1px solid var(--zseo-border);
    border-radius: 15px;
    background: var(--zseo-white);
    box-shadow: 0 24px 60px rgba(11, 33, 72, 0.13);
}

.zseo-dashboard-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 19px;
    border-bottom: 1px solid var(--zseo-border);
}

.zseo-dash-caption {
    display: block;
    margin-bottom: 6px;
    color: var(--zseo-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.11em;
}

.zseo-dashboard-top strong {
    display: block;
    color: var(--zseo-navy);
    font-size: 17px;
    font-weight: 800;
}

.zseo-dash-status {
    padding: 7px 9px;
    border-radius: 5px;
    background: rgba(244, 123, 32, 0.12);
    color: var(--zseo-orange);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 0.06em;
}

.zseo-dash-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-block: 18px;
}

.zseo-metric {
    min-width: 0;
    padding: 15px;
    border: 1px solid var(--zseo-border);
    border-radius: 8px;
    background: #fbfcfe;
}

.zseo-metric > span,
.zseo-metric > strong,
.zseo-metric > small {
    display: block;
}

.zseo-metric > span {
    color: var(--zseo-muted);
    font-size: 10px;
    line-height: 1.5;
}

.zseo-metric > strong {
    margin-top: 9px;
    color: var(--zseo-navy);
    font-size: 19px;
    font-weight: 850;
}

.zseo-metric > small {
    margin-top: 4px;
    color: var(--zseo-muted);
    font-size: 9px;
}

.zseo-chart-card {
    padding: 17px;
    border: 1px solid var(--zseo-border);
    border-radius: 9px;
}

.zseo-chart-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.zseo-chart-heading strong {
    color: var(--zseo-navy);
    font-size: 12px;
}

.zseo-chart-heading > span {
    color: var(--zseo-muted);
    font-size: 9px;
    text-align: right;
}

.zseo-chart {
    position: relative;
    height: 130px;
    margin-top: 12px;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 31px,
        #edf1f6 32px
    );
}

.zseo-chart svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.zseo-chart-labels {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    color: var(--zseo-muted);
    font-size: 9px;
}

.zseo-audit-list {
    display: grid;
    gap: 0;
    margin-top: 14px;
}

.zseo-audit-list > div {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding-block: 11px;
    border-bottom: 1px solid var(--zseo-border);
    color: var(--zseo-text);
    font-size: 11px;
    font-weight: 600;
}

.zseo-audit-list > div:last-child {
    border-bottom: 0;
}

.zseo-audit-check {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 6px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zseo-blue);
    font-weight: 900;
}

.zseo-audit-list b {
    color: var(--zseo-muted);
    font-size: 10px;
}

.zseo-float-note {
    position: absolute;
    right: -3px;
    bottom: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid var(--zseo-border);
    border-radius: 10px;
    background: var(--zseo-white);
    box-shadow: 0 12px 32px rgba(11, 33, 72, 0.12);
}

.zseo-float-symbol {
    display: grid;
    width: 35px;
    height: 35px;
    flex: 0 0 35px;
    place-items: center;
    border-radius: 8px;
    background: rgba(244, 123, 32, 0.12);
    color: var(--zseo-orange);
    font-size: 19px;
    font-weight: 900;
}

.zseo-float-note strong,
.zseo-float-note small {
    display: block;
}

.zseo-float-note strong {
    color: var(--zseo-navy);
    font-size: 11px;
}

.zseo-float-note small {
    margin-top: 4px;
    color: var(--zseo-muted);
    font-size: 10px;
}

/* Value strip */

.zseo-value-strip {
    padding-block: 26px;
    border-block: 1px solid var(--zseo-border);
    background: var(--zseo-light);
}

.zseo-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.zseo-value-grid > div {
    display: flex;
    align-items: center;
    gap: 12px;
}

.zseo-value-grid > div > span {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border: 1px solid rgba(23, 105, 194, 0.17);
    border-radius: 9px;
    background: var(--zseo-white);
    color: var(--zseo-blue);
    font-size: 11px;
    font-weight: 850;
}

.zseo-value-grid strong {
    color: var(--zseo-navy);
    font-size: 12px;
    line-height: 1.55;
}

/* Service cards */

.zseo-services {
    background: var(--zseo-white);
}

.zseo-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zseo-service-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    padding: 29px;
    border: 1px solid var(--zseo-border);
    border-radius: 13px;
    background: var(--zseo-white);
    transition: transform 0.25s ease, border-color 0.25s ease,
                box-shadow 0.25s ease;
}

.zseo-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, 0.4);
    box-shadow: 0 16px 36px rgba(11, 33, 72, 0.08);
}

.zseo-card-number {
    position: absolute;
    top: 26px;
    right: 27px;
    color: #a5b1c0;
    font-size: 11px;
    font-weight: 850;
}

.zseo-card-icon {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 23px;
    place-items: center;
    border-radius: 10px;
    background: var(--zseo-navy);
    color: var(--zseo-white);
    font-size: 17px;
    font-weight: 850;
}

.zseo-service-card:nth-child(3n + 2) .zseo-card-icon {
    background: var(--zseo-blue);
}

.zseo-service-card:nth-child(3n) .zseo-card-icon {
    background: var(--zseo-orange);
}

.zseo-service-card h3 {
    margin-bottom: 12px;
    font-size: 19px;
    font-weight: 800;
}

.zseo-service-card p {
    margin-bottom: 23px;
    font-size: 13px;
    line-height: 1.8;
}

.zseo-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--zseo-blue);
    font-size: 12px;
    font-weight: 800;
}

.zseo-service-card > a span {
    color: var(--zseo-orange);
    transition: transform 0.2s ease;
}

.zseo-service-card > a:hover span {
    transform: translateX(4px);
}

/* CTA band */

.zseo-cta-band {
    position: relative;
    overflow: hidden;
    padding-block: 46px;
    background: var(--zseo-navy);
}

.zseo-cta-band::after {
    position: absolute;
    top: -120px;
    right: 12%;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(255, 255, 255, 0.025),
                0 0 0 76px rgba(255, 255, 255, 0.02);
    content: "";
    pointer-events: none;
}

.zseo-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.zseo-cta-label {
    display: block;
    margin-bottom: 12px;
    color: #b8d5f5;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.zseo-cta-inner h2 {
    max-width: 700px;
    margin-bottom: 10px;
    color: var(--zseo-white);
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 800;
}

.zseo-cta-inner p {
    margin-bottom: 0;
    color: #d0dced;
    font-size: 14px;
}

/* SEO areas */

.zseo-areas {
    background: var(--zseo-light);
}

.zseo-areas-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.zseo-area-card {
    min-width: 0;
    padding: 28px;
    border: 1px solid var(--zseo-border);
    border-radius: 12px;
    background: var(--zseo-white);
    transition: transform 0.25s ease, border-color 0.25s ease;
}

.zseo-area-card:hover {
    transform: translateY(-4px);
    border-color: var(--zseo-blue-light);
}

.zseo-area-card > span {
    display: block;
    margin-bottom: 19px;
    color: var(--zseo-orange);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.09em;
}

.zseo-area-card h3 {
    margin-bottom: 11px;
    font-size: 19px;
}

.zseo-area-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Process */

.zseo-process {
    background: var(--zseo-white);
}

.zseo-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zseo-process-card {
    min-width: 0;
    padding: 29px;
    border: 1px solid var(--zseo-border);
    border-radius: 12px;
    background: var(--zseo-white);
}

.zseo-process-card > span {
    display: grid;
    width: 43px;
    height: 43px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 10px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zseo-blue);
    font-size: 13px;
    font-weight: 900;
}

.zseo-process-card:nth-child(2n) > span {
    background: rgba(244, 123, 32, 0.12);
    color: var(--zseo-orange);
}

.zseo-process-card h3 {
    margin-bottom: 10px;
    font-size: 19px;
}

.zseo-process-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Business types */

.zseo-business {
    background: var(--zseo-light);
}

.zseo-business-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: clamp(45px, 8vw, 100px);
}

.zseo-business-intro h2 {
    max-width: 470px;
}

.zseo-business-intro > p {
    margin-bottom: 27px;
    font-size: 14px;
}

.zseo-business-list {
    display: grid;
    gap: 0;
    padding: 7px 25px;
    border: 1px solid var(--zseo-border);
    border-radius: 13px;
    background: var(--zseo-white);
}

.zseo-business-list > div {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 15px;
    padding-block: 23px;
    border-bottom: 1px solid var(--zseo-border);
}

.zseo-business-list > div:last-child {
    border-bottom: 0;
}

.zseo-business-list > div > span {
    color: var(--zseo-orange);
    font-size: 13px;
    font-weight: 900;
}

.zseo-business-list h3 {
    margin-bottom: 7px;
    font-size: 17px;
}

.zseo-business-list p {
    margin-bottom: 0;
    font-size: 12px;
}

/* Why Zenventa */

.zseo-why {
    background: var(--zseo-white);
}

.zseo-why-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.zseo-why-grid article {
    padding: 29px;
    border: 1px solid var(--zseo-border);
    border-radius: 12px;
    background: var(--zseo-white);
}

.zseo-why-grid article > span {
    display: inline-block;
    margin-bottom: 20px;
    color: var(--zseo-orange);
    font-size: 23px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

.zseo-why-grid h3 {
    margin-bottom: 10px;
    font-size: 19px;
}

.zseo-why-grid p {
    margin-bottom: 0;
    font-size: 13px;
}

/* FAQ */

.zseo-faq {
    background: var(--zseo-light);
}

.zseo-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
    align-items: start;
    gap: clamp(45px, 7vw, 90px);
}

.zseo-faq-intro {
    position: sticky;
    top: 110px;
}

.zseo-faq-intro > p {
    font-size: 14px;
}

.zseo-faq-intro .zseo-text-link {
    margin-top: 12px;
}

.zseo-faq-list {
    display: grid;
    gap: 12px;
}

.zseo-faq-item {
    overflow: hidden;
    border: 1px solid var(--zseo-border);
    border-radius: 10px;
    background: var(--zseo-white);
}

.zseo-faq-item summary {
    position: relative;
    padding: 21px 52px 21px 22px;
    color: var(--zseo-navy);
    cursor: pointer;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
    list-style: none;
}

.zseo-faq-item summary::-webkit-details-marker {
    display: none;
}

.zseo-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 19px;
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 7px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zseo-blue);
    content: "+";
    font-size: 18px;
    font-weight: 500;
    transform: translateY(-50%);
}

.zseo-faq-item[open] summary {
    color: var(--zseo-blue);
}

.zseo-faq-item[open] summary::after {
    background: var(--zseo-navy);
    color: var(--zseo-white);
    content: "−";
}

.zseo-faq-item > div {
    padding: 0 22px 21px;
}

.zseo-faq-item > div p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Final CTA */

.zseo-final-cta {
    position: relative;
    overflow: hidden;
    padding-block: 90px;
    background: var(--zseo-navy);
    text-align: center;
}

.zseo-final-cta::before,
.zseo-final-cta::after {
    position: absolute;
    width: 320px;
    height: 320px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.zseo-final-cta::before {
    top: -190px;
    left: -100px;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.025);
}

.zseo-final-cta::after {
    right: -130px;
    bottom: -210px;
    box-shadow: 0 0 0 35px rgba(255, 255, 255, 0.025);
}

.zseo-final-inner {
    position: relative;
    z-index: 1;
}

.zseo-final-cta .zseo-eyebrow {
    color: #b8d5f5;
}

.zseo-final-inner h2 {
    max-width: 790px;
    margin: 0 auto 18px;
    color: var(--zseo-white);
    font-size: clamp(30px, 4.2vw, 46px);
    font-weight: 850;
    letter-spacing: -0.04em;
}

.zseo-final-inner > p {
    max-width: 650px;
    margin: 0 auto 28px;
    color: #d0dced;
    font-size: 14px;
}

.zseo-final-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

.zseo-email-link {
    color: var(--zseo-white);
    font-size: 13px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.zseo-email-link:hover {
    color: #b8d5f5;
}

/* Tablet */

@media (max-width: 1024px) {
    .zseo-section {
        padding-block: 78px;
    }

    .zseo-intro {
        padding-block: 75px 85px;
    }

    .zseo-intro-grid {
        gap: 38px;
    }

    .zseo-services-grid,
    .zseo-areas-grid,
    .zseo-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zseo-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 19px;
    }

    .zseo-business-grid {
        gap: 40px;
    }

    .zseo-service-card,
    .zseo-area-card,
    .zseo-process-card,
    .zseo-why-grid article {
        padding: 25px;
    }

    .zseo-dashboard {
        padding: 18px;
    }

    .zseo-metric {
        padding: 12px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .zseo-container {
        width: min(100% - 36px, 560px);
    }

    .zseo-section {
        padding-block: 65px;
    }

    .zseo-intro {
        padding-block: 58px 68px;
    }

    .zseo-intro-grid,
    .zseo-business-grid,
    .zseo-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 38px;
    }

    .zseo-intro-content h2,
    .zseo-section-heading h2,
    .zseo-business-intro h2,
    .zseo-faq-intro h2 {
        font-size: clamp(28px, 7vw, 36px);
    }

    .zseo-intro-content > p {
        font-size: 14px;
    }

    .zseo-visual {
        width: min(100%, 510px);
        margin-inline: auto;
        padding: 15px 6px 33px;
    }

    .zseo-float-note {
        right: 0;
    }

    .zseo-dashboard {
        padding: 16px;
    }

    .zseo-dash-metrics {
        gap: 9px;
    }

    .zseo-metric {
        padding: 11px;
    }

    .zseo-metric > strong {
        font-size: 17px;
    }

    .zseo-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .zseo-section-heading > p {
        margin-left: 0;
    }

    .zseo-services-grid,
    .zseo-areas-grid,
    .zseo-process-grid,
    .zseo-why-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .zseo-service-card,
    .zseo-area-card,
    .zseo-process-card,
    .zseo-why-grid article {
        padding: 24px;
    }

    .zseo-card-icon {
        margin-bottom: 18px;
    }

    .zseo-cta-band {
        padding-block: 38px;
    }

    .zseo-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px;
    }

    .zseo-cta-inner h2 {
        font-size: 27px;
    }

    .zseo-business-intro > p {
        font-size: 14px;
    }

    .zseo-business-list {
        padding-inline: 18px;
    }

    .zseo-faq-intro {
        position: static;
    }

    .zseo-faq-item summary {
        padding: 18px 48px 18px 17px;
        font-size: 13px;
    }

    .zseo-faq-item summary::after {
        right: 14px;
    }

    .zseo-faq-item > div {
        padding: 0 17px 18px;
    }

    .zseo-final-cta {
        padding-block: 68px;
    }

    .zseo-final-inner h2 {
        font-size: clamp(28px, 7vw, 36px);
    }
}

/* Small phones */

@media (max-width: 420px) {
    .zseo-container {
        width: calc(100% - 30px);
    }

    .zseo-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
    }

    .zseo-actions .zseo-btn {
        width: 100%;
    }

    .zseo-actions .zseo-text-link {
        justify-content: center;
    }

    .zseo-value-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .zseo-value-grid > div {
        align-items: center;
    }

    .zseo-dashboard {
        padding: 12px;
    }

    .zseo-dashboard-top strong {
        font-size: 15px;
    }

    .zseo-dash-status {
        padding: 6px;
        font-size: 8px;
    }

    .zseo-chart-card {
        padding: 12px;
    }

    .zseo-chart {
        height: 105px;
    }

    .zseo-float-note {
        gap: 8px;
        padding: 10px;
    }

    .zseo-float-symbol {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }

    .zseo-float-note strong {
        font-size: 10px;
    }

    .zseo-float-note small {
        font-size: 9px;
    }

    .zseo-business-list {
        padding-inline: 14px;
    }

    .zseo-business-list > div {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 10px;
    }

    .zseo-final-actions {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .zv-seo-services-page *,
    .zv-seo-services-page *::before,
    .zv-seo-services-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .zseo-service-card:hover,
    .zseo-area-card:hover,
    .zseo-btn:hover {
        transform: none;
    }
}



































/* =========================================================
   GOOGLE ADS MANAGEMENT SERVICES
   Theme: Zenventa Custom
   Scoped to .zv-google-ads-page
========================================================= */

.zv-google-ads-page {
    --zga-primary: var(--zv-primary, #0b2148);
    --zga-primary-dark: var(--zv-primary-dark, #061631);
    --zga-secondary: var(--zv-secondary, #1769c2);
    --zga-accent: var(--zv-accent, #f47b20);
    --zga-white: var(--zv-white, #ffffff);
    --zga-light: var(--zv-light, #f7f9fc);
    --zga-light-2: var(--zv-light-2, #eef3f8);
    --zga-text: var(--zv-text, #26364d);
    --zga-muted: var(--zv-text-light, #65748a);
    --zga-border: var(--zv-border, #dce4ee);
    --zga-font: var(--zv-font-primary, "Inter", Arial, sans-serif);

    color: var(--zga-text);
    font-family: var(--zga-font);
    font-size: 16px;
    line-height: 1.75;
    overflow: clip;
}

.zv-google-ads-page *,
.zv-google-ads-page *::before,
.zv-google-ads-page *::after {
    box-sizing: border-box;
}

.zv-google-ads-page img,
.zv-google-ads-page svg {
    max-width: 100%;
}

.zv-google-ads-page a {
    text-decoration: none;
}

.zv-google-ads-page p {
    margin-top: 0;
}

.zv-google-ads-page h2,
.zv-google-ads-page h3 {
    color: var(--zga-primary);
    font-family: var(--zga-font);
    letter-spacing: -0.035em;
    line-height: 1.2;
    margin-top: 0;
}

.zv-google-ads-page h2 {
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 750;
    margin-bottom: 20px;
}

.zv-google-ads-page h3 {
    font-size: 21px;
    font-weight: 700;
    margin-bottom: 13px;
}

.zv-google-ads-page .zga-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-google-ads-page .zga-section {
    padding: 35px 0;
}

.zv-google-ads-page .zga-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--zga-secondary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
    margin-bottom: 18px;
    text-transform: uppercase;
}

.zv-google-ads-page .zga-eyebrow::before {
    content: "";
    width: 26px;
    height: 3px;
    border-radius: 5px;
    background: var(--zga-accent);
}

.zv-google-ads-page .zga-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-height: 54px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: var(--zga-font);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
    transition:
        background-color 0.25s ease,
        color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.zv-google-ads-page .zga-btn span {
    font-size: 19px;
    line-height: 1;
    transition: transform 0.25s ease;
}

.zv-google-ads-page .zga-btn:hover span {
    transform: translateX(4px);
}

.zv-google-ads-page .zga-btn-primary {
    background: var(--zga-primary);
    color: var(--zga-white);
    box-shadow: 0 8px 20px rgba(11, 33, 72, 0.12);
}

.zv-google-ads-page .zga-btn-primary:hover {
    background: var(--zga-secondary);
    color: var(--zga-white);
    box-shadow: 0 12px 24px rgba(23, 105, 194, 0.2);
    transform: translateY(-2px);
}

.zv-google-ads-page .zga-btn-light {
    background: var(--zga-white);
    color: var(--zga-primary);
}

.zv-google-ads-page .zga-btn-light:hover {
    background: var(--zga-light-2);
    color: var(--zga-primary);
    transform: translateY(-2px);
}

.zv-google-ads-page a:focus-visible,
.zv-google-ads-page summary:focus-visible {
    outline: 3px solid var(--zga-accent);
    outline-offset: 4px;
}

/* INTRO */

.zv-google-ads-page .zga-intro {
    background: var(--zga-white);
}

.zv-google-ads-page .zga-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: clamp(38px, 6vw, 78px);
}

.zv-google-ads-page .zga-intro-content > p {
    color: var(--zga-muted);
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 17px;
}

.zv-google-ads-page .zga-intro-content h2 span {
    color: var(--zga-secondary);
}

.zv-google-ads-page .zga-intro-points {
    display: grid;
    gap: 12px;
    margin: 27px 0 30px;
}

.zv-google-ads-page .zga-intro-points > div {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--zga-primary);
    font-size: 14px;
    font-weight: 650;
}

.zv-google-ads-page .zga-check {
    display: inline-grid;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-size: 12px;
    font-weight: 800;
}

/* DASHBOARD */

.zv-google-ads-page .zga-dashboard-wrap {
    position: relative;
    min-width: 0;
    padding: 15px 12px 24px 0;
}

.zv-google-ads-page .zga-dashboard {
    position: relative;
    z-index: 1;
    padding: 27px;
    border: 1px solid var(--zga-border);
    border-radius: 15px;
    background: var(--zga-white);
    box-shadow: 0 25px 70px rgba(11, 33, 72, 0.1);
}

.zv-google-ads-page .zga-dashboard-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 25px;
}

.zv-google-ads-page .zga-dashboard-kicker {
    display: block;
    margin-bottom: 8px;
    color: var(--zga-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.zv-google-ads-page .zga-dashboard-top h3 {
    margin: 0;
    font-size: 19px;
}

.zv-google-ads-page .zga-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid var(--zga-border);
    border-radius: 30px;
    color: var(--zga-muted);
    font-size: 11px;
    font-weight: 650;
    white-space: nowrap;
}

.zv-google-ads-page .zga-status > span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #269c65;
}

.zv-google-ads-page .zga-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    margin-bottom: 17px;
}

.zv-google-ads-page .zga-metric {
    min-width: 0;
    padding: 15px 12px;
    border: 1px solid var(--zga-border);
    border-radius: 9px;
    background: var(--zga-light);
}

.zv-google-ads-page .zga-metric > span {
    display: block;
    margin-bottom: 7px;
    color: var(--zga-muted);
    font-size: 11px;
    font-weight: 650;
}

.zv-google-ads-page .zga-metric strong {
    display: block;
    min-height: 34px;
    color: var(--zga-primary);
    font-size: 26px;
    line-height: 1.3;
}

.zv-google-ads-page .zga-metric-icon {
    display: inline-grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 7px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-size: 19px;
}

.zv-google-ads-page .zga-metric small {
    display: block;
    margin-top: 5px;
    color: var(--zga-muted);
    font-size: 10px;
    line-height: 1.5;
}

.zv-google-ads-page .zga-chart-card {
    padding: 18px;
    border: 1px solid var(--zga-border);
    border-radius: 10px;
}

.zv-google-ads-page .zga-chart-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.zv-google-ads-page .zga-chart-heading strong,
.zv-google-ads-page .zga-chart-heading span {
    display: block;
}

.zv-google-ads-page .zga-chart-heading strong {
    color: var(--zga-primary);
    font-size: 13px;
}

.zv-google-ads-page .zga-chart-heading > div > span {
    margin-top: 3px;
    color: var(--zga-muted);
    font-size: 10px;
}

.zv-google-ads-page .zga-chart-period {
    padding: 5px 9px;
    border-radius: 5px;
    background: var(--zga-light);
    color: var(--zga-muted);
    font-size: 10px;
}

.zv-google-ads-page .zga-chart {
    position: relative;
    display: flex;
    height: 145px;
    padding-left: 40px;
    background: repeating-linear-gradient(
        to bottom,
        transparent 0,
        transparent 35px,
        var(--zga-border) 36px,
        transparent 37px
    );
}

.zv-google-ads-page .zga-chart-y {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 0 0 1px;
    color: var(--zga-muted);
    font-size: 9px;
}

.zv-google-ads-page .zga-chart svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.zv-google-ads-page .zga-chart-legend {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 13px;
    color: var(--zga-muted);
    font-size: 10px;
}

.zv-google-ads-page .zga-chart-legend span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.zv-google-ads-page .zga-chart-legend i {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--zga-secondary);
}

.zv-google-ads-page .zga-dashboard-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 13px;
    border-radius: 9px;
    background: var(--zga-light);
}

.zv-google-ads-page .zga-dashboard-footer-icon {
    display: grid;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    background: var(--zga-white);
    color: var(--zga-secondary);
    font-size: 13px;
    font-weight: 800;
}

.zv-google-ads-page .zga-dashboard-footer strong,
.zv-google-ads-page .zga-dashboard-footer span:not(.zga-dashboard-footer-icon) {
    display: block;
}

.zv-google-ads-page .zga-dashboard-footer strong {
    color: var(--zga-primary);
    font-size: 12px;
}

.zv-google-ads-page .zga-dashboard-footer div > span {
    margin-top: 2px;
    color: var(--zga-muted);
    font-size: 10px;
}

.zv-google-ads-page .zga-floating-note {
    position: absolute;
    z-index: 2;
    right: -9px;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 19px;
    border: 1px solid var(--zga-border);
    border-radius: 10px;
    background: var(--zga-white);
    box-shadow: 0 12px 35px rgba(11, 33, 72, 0.12);
}

.zv-google-ads-page .zga-floating-icon {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border-radius: 9px;
    background: rgba(244, 123, 32, 0.12);
    color: var(--zga-accent);
    font-size: 20px;
}

.zv-google-ads-page .zga-floating-note strong,
.zv-google-ads-page .zga-floating-note small {
    display: block;
}

.zv-google-ads-page .zga-floating-note strong {
    color: var(--zga-primary);
    font-size: 12px;
}

.zv-google-ads-page .zga-floating-note small {
    margin-top: 2px;
    color: var(--zga-muted);
    font-size: 10px;
}

/* VALUE STRIP */

.zv-google-ads-page .zga-value-strip {
    padding: 30px 0;
    background: var(--zga-primary);
}

.zv-google-ads-page .zga-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zv-google-ads-page .zga-value-grid > div {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    padding: 8px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.17);
}

.zv-google-ads-page .zga-value-grid > div:first-child {
    padding-left: 0;
}

.zv-google-ads-page .zga-value-grid > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.zv-google-ads-page .zga-value-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 9px;
    color: #ffffff;
    font-size: 23px;
}

.zv-google-ads-page .zga-value-grid strong {
    display: block;
    color: var(--zga-white);
    font-size: 13px;
    line-height: 1.4;
}

.zv-google-ads-page .zga-value-grid p {
    margin: 5px 0 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 11px;
    line-height: 1.5;
}

/* SECTION HEADINGS */

.zv-google-ads-page .zga-section-heading {
    max-width: 760px;
    margin: 0 auto 48px;
    text-align: center;
}

.zv-google-ads-page .zga-section-heading .zga-eyebrow {
    justify-content: center;
}

.zv-google-ads-page .zga-section-heading > p {
    max-width: 650px;
    margin: 0 auto;
    color: var(--zga-muted);
    font-size: 15px;
    line-height: 1.85;
}

/* SERVICE CARDS */

.zv-google-ads-page .zga-services {
    background: var(--zga-light);
}

.zv-google-ads-page .zga-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 23px;
}

.zv-google-ads-page .zga-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 325px;
    padding: 30px 27px 26px;
    border: 1px solid var(--zga-border);
    border-radius: 12px;
    background: var(--zga-white);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.zv-google-ads-page .zga-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, 0.42);
    box-shadow: 0 18px 40px rgba(11, 33, 72, 0.08);
}

.zv-google-ads-page .zga-service-number {
    position: absolute;
    top: 25px;
    right: 25px;
    color: #a4b2c4;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.zv-google-ads-page .zga-service-icon {
    display: grid;
    width: 57px;
    height: 57px;
    place-items: center;
    margin-bottom: 24px;
    border-radius: 11px;
    background: rgba(23, 105, 194, 0.09);
    color: var(--zga-secondary);
    transition:
        background-color 0.25s ease,
        color 0.25s ease;
}

.zv-google-ads-page .zga-service-card:hover .zga-service-icon {
    background: var(--zga-secondary);
    color: var(--zga-white);
}

.zv-google-ads-page .zga-service-icon svg {
    width: 35px;
    height: 35px;
}

.zv-google-ads-page .zga-service-card h3 {
    margin-bottom: 12px;
    font-size: 19px;
}

.zv-google-ads-page .zga-service-card > p {
    margin-bottom: 24px;
    color: var(--zga-muted);
    font-size: 13px;
    line-height: 1.85;
}

.zv-google-ads-page .zga-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--zga-secondary);
    font-size: 12px;
    font-weight: 750;
}

.zv-google-ads-page .zga-service-card > a span {
    font-size: 17px;
    transition: transform 0.2s ease;
}

.zv-google-ads-page .zga-service-card > a:hover span {
    transform: translateX(4px);
}

/* CTA BAND */

.zv-google-ads-page .zga-cta-band {
    padding: 0 0 10px;
    background: var(--zga-light);
}

.zv-google-ads-page .zga-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: 43px 48px;
    border-radius: 13px;
    background: var(--zga-primary);
}

.zv-google-ads-page .zga-cta-inner > div {
    max-width: 720px;
}

.zv-google-ads-page .zga-cta-label {
    display: block;
    margin-bottom: 12px;
    color: #b8d8ff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.zv-google-ads-page .zga-cta-inner h2 {
    margin-bottom: 12px;
    color: var(--zga-white);
    font-size: clamp(25px, 3vw, 35px);
}

.zv-google-ads-page .zga-cta-inner p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.8;
}

.zv-google-ads-page .zga-cta-inner > .zga-btn {
    flex: 0 0 auto;
}

/* CAMPAIGN TYPES */

.zv-google-ads-page .zga-campaign-types {
    background: var(--zga-white);
}

.zv-google-ads-page .zga-types-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 23px;
}

.zv-google-ads-page .zga-type-card {
    position: relative;
    padding: 32px 28px;
    border: 1px solid var(--zga-border);
    border-radius: 12px;
    background: var(--zga-white);
}

.zv-google-ads-page .zga-type-featured {
    border: 1px solid var(--zga-secondary);
    box-shadow: 0 15px 40px rgba(23, 105, 194, 0.09);
}

.zv-google-ads-page .zga-type-tag {
    position: absolute;
    top: 0;
    right: 22px;
    padding: 7px 11px;
    border-radius: 0 0 6px 6px;
    background: var(--zga-secondary);
    color: var(--zga-white);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.zv-google-ads-page .zga-type-icon {
    display: grid;
    width: 53px;
    height: 53px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 11px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-size: 27px;
}

.zv-google-ads-page .zga-type-card h3 {
    font-size: 21px;
}

.zv-google-ads-page .zga-type-card > p {
    min-height: 78px;
    margin-bottom: 22px;
    color: var(--zga-muted);
    font-size: 13px;
    line-height: 1.85;
}

.zv-google-ads-page .zga-type-card ul {
    display: grid;
    gap: 13px;
    margin: 0;
    padding: 21px 0 0;
    border-top: 1px solid var(--zga-border);
    list-style: none;
}

.zv-google-ads-page .zga-type-card li {
    position: relative;
    padding-left: 24px;
    color: var(--zga-text);
    font-size: 12px;
    line-height: 1.7;
}

.zv-google-ads-page .zga-type-card li::before {
    content: "\2713";
    position: absolute;
    top: 0;
    left: 0;
    color: var(--zga-secondary);
    font-weight: 800;
}

/* PROCESS */

.zv-google-ads-page .zga-process {
    background: var(--zga-light);
}

.zv-google-ads-page .zga-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.zv-google-ads-page .zga-process-step {
    position: relative;
    min-width: 0;
    padding-top: 8px;
}

.zv-google-ads-page .zga-step-number {
    display: grid;
    width: 51px;
    height: 51px;
    place-items: center;
    border: 1px solid rgba(23, 105, 194, 0.25);
    border-radius: 50%;
    background: var(--zga-white);
    color: var(--zga-secondary);
    font-size: 13px;
    font-weight: 800;
}

.zv-google-ads-page .zga-step-line {
    position: absolute;
    top: 33px;
    left: 62px;
    right: -20px;
    height: 1px;
    background: var(--zga-border);
}

.zv-google-ads-page .zga-process-step:last-child .zga-step-line {
    display: none;
}

.zv-google-ads-page .zga-process-step h3 {
    margin-top: 24px;
    margin-bottom: 11px;
    font-size: 18px;
}

.zv-google-ads-page .zga-process-step p {
    margin-bottom: 0;
    color: var(--zga-muted);
    font-size: 12px;
    line-height: 1.9;
}

/* WHY ZENVENTA */

.zv-google-ads-page .zga-why {
    background: var(--zga-white);
}

.zv-google-ads-page .zga-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
}

.zv-google-ads-page .zga-why-visual {
    position: relative;
    padding: 0 15px 28px 0;
}

.zv-google-ads-page .zga-why-main-card {
    padding: 39px 34px;
    border: 1px solid var(--zga-border);
    border-radius: 14px;
    background: var(--zga-light);
}

.zv-google-ads-page .zga-why-main-card h3 {
    max-width: 360px;
    margin-bottom: 14px;
    font-size: 27px;
}

.zv-google-ads-page .zga-why-main-card > p {
    margin-bottom: 27px;
    color: var(--zga-muted);
    font-size: 13px;
    line-height: 1.85;
}

.zv-google-ads-page .zga-why-flow {
    display: grid;
    justify-items: start;
    gap: 9px;
}

.zv-google-ads-page .zga-why-flow > span {
    display: block;
    width: 100%;
    padding: 13px 17px;
    border: 1px solid var(--zga-border);
    border-radius: 7px;
    background: var(--zga-white);
    color: var(--zga-primary);
    font-size: 13px;
    font-weight: 750;
}

.zv-google-ads-page .zga-why-flow > span:nth-of-type(2) {
    border-color: rgba(23, 105, 194, 0.35);
    background: rgba(23, 105, 194, 0.06);
}

.zv-google-ads-page .zga-why-flow > i {
    padding-left: 22px;
    color: var(--zga-secondary);
    font-size: 17px;
    font-style: normal;
    line-height: 1;
}

.zv-google-ads-page .zga-why-small-card {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 300px;
    padding: 17px 21px;
    border: 1px solid var(--zga-border);
    border-radius: 10px;
    background: var(--zga-white);
    box-shadow: 0 12px 35px rgba(11, 33, 72, 0.1);
}

.zv-google-ads-page .zga-why-small-card > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-weight: 800;
}

.zv-google-ads-page .zga-why-small-card strong,
.zv-google-ads-page .zga-why-small-card small {
    display: block;
}

.zv-google-ads-page .zga-why-small-card strong {
    color: var(--zga-primary);
    font-size: 12px;
}

.zv-google-ads-page .zga-why-small-card small {
    margin-top: 3px;
    color: var(--zga-muted);
    font-size: 10px;
}

.zv-google-ads-page .zga-why-content > p {
    margin-bottom: 26px;
    color: var(--zga-muted);
    font-size: 14px;
    line-height: 1.9;
}

.zv-google-ads-page .zga-why-list {
    display: grid;
    gap: 21px;
    margin-bottom: 31px;
}

.zv-google-ads-page .zga-why-list > div {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.zv-google-ads-page .zga-why-check {
    display: grid;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    place-items: center;
    margin-top: 2px;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-size: 12px;
    font-weight: 800;
}

.zv-google-ads-page .zga-why-list h3 {
    margin-bottom: 5px;
    font-size: 15px;
    letter-spacing: -0.015em;
}

.zv-google-ads-page .zga-why-list p {
    margin-bottom: 0;
    color: var(--zga-muted);
    font-size: 12px;
    line-height: 1.8;
}

/* FAQ */

.zv-google-ads-page .zga-faq {
    background: var(--zga-light);
}

.zv-google-ads-page .zga-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(35px, 6vw, 75px);
}

.zv-google-ads-page .zga-faq-intro {
    position: sticky;
    top: 30px;
}

.zv-google-ads-page .zga-faq-intro > p {
    margin-bottom: 30px;
    color: var(--zga-muted);
    font-size: 14px;
    line-height: 1.9;
}

.zv-google-ads-page .zga-faq-contact {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 22px;
    border: 1px solid var(--zga-border);
    border-radius: 10px;
    background: var(--zga-white);
}

.zv-google-ads-page .zga-faq-contact-icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 8px;
    background: rgba(23, 105, 194, 0.1);
    color: var(--zga-secondary);
    font-size: 20px;
}

.zv-google-ads-page .zga-faq-contact strong {
    display: block;
    margin-bottom: 5px;
    color: var(--zga-primary);
    font-size: 13px;
}

.zv-google-ads-page .zga-faq-contact p {
    margin-bottom: 10px;
    color: var(--zga-muted);
    font-size: 11px;
    line-height: 1.7;
}

.zv-google-ads-page .zga-faq-contact a {
    color: var(--zga-secondary);
    font-size: 12px;
    font-weight: 750;
}

.zv-google-ads-page .zga-faq-list {
    display: grid;
    gap: 12px;
}

.zv-google-ads-page .zga-faq-item {
    overflow: hidden;
    border: 1px solid var(--zga-border);
    border-radius: 9px;
    background: var(--zga-white);
}

.zv-google-ads-page .zga-faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 23px;
    color: var(--zga-primary);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
}

.zv-google-ads-page .zga-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-google-ads-page .zga-faq-toggle {
    position: relative;
    flex: 0 0 25px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: rgba(23, 105, 194, 0.09);
}

.zv-google-ads-page .zga-faq-toggle::before,
.zv-google-ads-page .zga-faq-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 2px;
    border-radius: 2px;
    background: var(--zga-secondary);
    transform: translate(-50%, -50%);
    transition: transform 0.2s ease;
}

.zv-google-ads-page .zga-faq-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.zv-google-ads-page .zga-faq-item[open] .zga-faq-toggle::after {
    transform: translate(-50%, -50%) rotate(0);
}

.zv-google-ads-page .zga-faq-item[open] summary {
    color: var(--zga-secondary);
}

.zv-google-ads-page .zga-faq-answer {
    padding: 0 23px 22px;
}

.zv-google-ads-page .zga-faq-answer p {
    margin: 0;
    color: var(--zga-muted);
    font-size: 13px;
    line-height: 1.9;
}

/* FINAL CTA */

.zv-google-ads-page .zga-final-cta {
    padding: 75px 0;
    background: var(--zga-white);
}

.zv-google-ads-page .zga-final-cta-inner {
    position: relative;
    overflow: hidden;
    padding: 58px 35px;
    border-radius: 14px;
    background: var(--zga-primary);
    text-align: center;
}

.zv-google-ads-page .zga-final-cta-inner::before,
.zv-google-ads-page .zga-final-cta-inner::after {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    pointer-events: none;
}

.zv-google-ads-page .zga-final-cta-inner::before {
    top: -140px;
    left: -100px;
}

.zv-google-ads-page .zga-final-cta-inner::after {
    right: -90px;
    bottom: -160px;
}

.zv-google-ads-page .zga-final-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    margin: 0 auto 21px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 12px;
    color: var(--zga-white);
    font-size: 27px;
}

.zv-google-ads-page .zga-final-cta-inner h2 {
    max-width: 750px;
    margin: 0 auto 17px;
    color: var(--zga-white);
    font-size: clamp(28px, 3.5vw, 43px);
}

.zv-google-ads-page .zga-final-cta-inner > p {
    max-width: 650px;
    margin: 0 auto 27px;
    color: rgba(255, 255, 255, 0.76);
    font-size: 14px;
    line-height: 1.9;
}

.zv-google-ads-page .zga-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 19px;
}

.zv-google-ads-page .zga-final-email {
    color: var(--zga-white);
    font-size: 13px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.zv-google-ads-page .zga-final-email:hover {
    color: #b8d8ff;
}

/* =========================================================
   RESPONSIVE LAYOUT
========================================================= */

@media (max-width: 1100px) {
    .zv-google-ads-page .zga-container {
        width: min(100% - 40px, 1200px);
    }

    .zv-google-ads-page .zga-section {
        padding: 78px 0;
    }

    .zv-google-ads-page .zga-intro-grid {
        gap: 38px;
    }

    .zv-google-ads-page .zga-dashboard {
        padding: 20px;
    }

    .zv-google-ads-page .zga-service-card {
        padding: 26px 22px 23px;
    }

    .zv-google-ads-page .zga-value-grid > div {
        padding-inline: 13px;
    }

    .zv-google-ads-page .zga-value-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 19px;
    }
}

@media (max-width: 900px) {
    .zv-google-ads-page .zga-intro-grid {
        grid-template-columns: 1fr;
        gap: 52px;
    }

    .zv-google-ads-page .zga-intro-content {
        max-width: 760px;
    }

    .zv-google-ads-page .zga-dashboard-wrap {
        width: min(100%, 650px);
        margin-inline: auto;
    }

    .zv-google-ads-page .zga-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 22px;
    }

    .zv-google-ads-page .zga-value-grid > div {
        padding: 8px 20px;
        border-right: 0;
    }

    .zv-google-ads-page .zga-value-grid > div:nth-child(odd) {
        padding-left: 0;
        border-right: 1px solid rgba(255, 255, 255, 0.17);
    }

    .zv-google-ads-page .zga-value-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-google-ads-page .zga-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-google-ads-page .zga-types-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-google-ads-page .zga-type-card:last-child {
        grid-column: 1 / -1;
    }

    .zv-google-ads-page .zga-type-card > p {
        min-height: auto;
    }

    .zv-google-ads-page .zga-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 35px;
    }

    .zv-google-ads-page .zga-process-step:nth-child(3) .zga-step-line {
        display: none;
    }

    .zv-google-ads-page .zga-why-grid {
        grid-template-columns: 1fr;
        gap: 55px;
    }

    .zv-google-ads-page .zga-why-visual {
        width: min(100%, 620px);
        margin-inline: auto;
    }

    .zv-google-ads-page .zga-why-content {
        max-width: 760px;
    }

    .zv-google-ads-page .zga-faq-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .zv-google-ads-page .zga-faq-intro {
        position: static;
        max-width: 720px;
    }

    .zv-google-ads-page .zga-faq-contact {
        max-width: 430px;
    }

    .zv-google-ads-page .zga-cta-inner {
        padding: 36px;
    }
}

@media (max-width: 600px) {
    .zv-google-ads-page {
        font-size: 15px;
    }

    .zv-google-ads-page .zga-container {
        width: calc(100% - 36px);
    }

    .zv-google-ads-page .zga-section {
        padding: 62px 0;
    }

    .zv-google-ads-page h2 {
        font-size: clamp(28px, 7vw, 34px);
        margin-bottom: 16px;
    }

    .zv-google-ads-page h3 {
        font-size: 19px;
    }

    .zv-google-ads-page .zga-eyebrow {
        margin-bottom: 13px;
        font-size: 10px;
    }

    .zv-google-ads-page .zga-intro-grid {
        gap: 36px;
    }

    .zv-google-ads-page .zga-intro-content > p {
        font-size: 14px;
    }

    .zv-google-ads-page .zga-intro-points {
        margin: 23px 0 26px;
    }

    .zv-google-ads-page .zga-intro-points > div {
        align-items: flex-start;
        font-size: 13px;
    }

    .zv-google-ads-page .zga-btn {
        min-height: 50px;
        padding: 12px 17px;
        font-size: 13px;
    }

    .zv-google-ads-page .zga-dashboard-wrap {
        padding: 0 0 17px;
    }

    .zv-google-ads-page .zga-dashboard {
        padding: 15px;
        border-radius: 11px;
    }

    .zv-google-ads-page .zga-dashboard-top {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 17px;
    }

    .zv-google-ads-page .zga-dashboard-top h3 {
        font-size: 17px;
    }

    .zv-google-ads-page .zga-dashboard-metrics {
        gap: 7px;
    }

    .zv-google-ads-page .zga-metric {
        padding: 10px 8px;
    }

    .zv-google-ads-page .zga-metric > span {
        font-size: 9px;
    }

    .zv-google-ads-page .zga-metric strong {
        min-height: 29px;
        font-size: 20px;
    }

    .zv-google-ads-page .zga-metric-icon {
        width: 27px;
        height: 27px;
        font-size: 16px;
    }

    .zv-google-ads-page .zga-metric small {
        font-size: 9px;
        overflow-wrap: anywhere;
    }

    .zv-google-ads-page .zga-chart-card {
        padding: 12px;
    }

    .zv-google-ads-page .zga-chart {
        height: 120px;
        padding-left: 30px;
    }

    .zv-google-ads-page .zga-chart-heading strong {
        font-size: 12px;
    }

    .zv-google-ads-page .zga-chart-legend {
        font-size: 9px;
    }

    .zv-google-ads-page .zga-dashboard-footer {
        align-items: flex-start;
        padding: 11px;
    }

    .zv-google-ads-page .zga-dashboard-footer div > span {
        line-height: 1.6;
    }

    .zv-google-ads-page .zga-floating-note {
        position: relative;
        right: auto;
        bottom: auto;
        width: fit-content;
        max-width: calc(100% - 15px);
        margin: -2px 0 0 auto;
        padding: 11px 13px;
        box-shadow: 0 8px 20px rgba(11, 33, 72, 0.08);
    }

    .zv-google-ads-page .zga-floating-icon {
        flex: 0 0 32px;
        width: 32px;
        height: 32px;
    }

    .zv-google-ads-page .zga-value-strip {
        padding: 23px 0;
    }

    .zv-google-ads-page .zga-value-grid {
        gap: 17px 10px;
    }

    .zv-google-ads-page .zga-value-grid > div,
    .zv-google-ads-page .zga-value-grid > div:nth-child(odd),
    .zv-google-ads-page .zga-value-grid > div:nth-child(even) {
        align-items: flex-start;
        gap: 9px;
        padding: 5px 8px;
        border-right: 0;
    }

    .zv-google-ads-page .zga-value-grid > div:nth-child(odd) {
        padding-left: 0;
    }

    .zv-google-ads-page .zga-value-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-google-ads-page .zga-value-icon {
        flex-basis: 31px;
        width: 31px;
        height: 31px;
        font-size: 16px;
    }

    .zv-google-ads-page .zga-value-grid strong {
        font-size: 11px;
    }

    .zv-google-ads-page .zga-value-grid p {
        font-size: 10px;
        line-height: 1.6;
    }

    .zv-google-ads-page .zga-section-heading {
        margin-bottom: 32px;
    }

    .zv-google-ads-page .zga-section-heading > p {
        font-size: 13px;
    }

    .zv-google-ads-page .zga-service-grid,
    .zv-google-ads-page .zga-types-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .zv-google-ads-page .zga-service-card {
        min-height: 0;
        padding: 25px 22px;
    }

    .zv-google-ads-page .zga-service-icon {
        width: 49px;
        height: 49px;
        margin-bottom: 19px;
    }

    .zv-google-ads-page .zga-service-icon svg {
        width: 30px;
        height: 30px;
    }

    .zv-google-ads-page .zga-service-card h3 {
        font-size: 18px;
    }

    .zv-google-ads-page .zga-service-card > p {
        margin-bottom: 18px;
        font-size: 13px;
    }

    .zv-google-ads-page .zga-cta-band {
        padding: 0;
    }

    .zv-google-ads-page .zga-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 23px;
        padding: 30px 23px;
        border-radius: 10px;
    }

    .zv-google-ads-page .zga-cta-inner h2 {
        font-size: 26px;
    }

    .zv-google-ads-page .zga-cta-inner p {
        font-size: 13px;
    }

    .zv-google-ads-page .zga-types-grid {
        gap: 15px;
    }

    .zv-google-ads-page .zga-type-card,
    .zv-google-ads-page .zga-type-card:last-child {
        grid-column: auto;
        padding: 27px 23px;
    }

    .zv-google-ads-page .zga-type-card h3 {
        font-size: 20px;
    }

    .zv-google-ads-page .zga-type-card > p {
        margin-bottom: 18px;
        font-size: 13px;
    }

    .zv-google-ads-page .zga-process-grid {
        grid-template-columns: 1fr;
        gap: 27px;
    }

    .zv-google-ads-page .zga-process-step {
        display: grid;
        grid-template-columns: 49px minmax(0, 1fr);
        align-items: start;
        column-gap: 16px;
    }

    .zv-google-ads-page .zga-step-number {
        grid-row: 1 / span 2;
        width: 45px;
        height: 45px;
    }

    .zv-google-ads-page .zga-step-line,
    .zv-google-ads-page .zga-process-step:nth-child(3) .zga-step-line {
        display: block;
        top: 52px;
        bottom: -29px;
        left: 22px;
        right: auto;
        width: 1px;
        height: auto;
    }

    .zv-google-ads-page .zga-process-step:last-child .zga-step-line {
        display: none;
    }

    .zv-google-ads-page .zga-process-step h3 {
        margin: 1px 0 7px;
        font-size: 17px;
    }

    .zv-google-ads-page .zga-process-step p {
        font-size: 12px;
    }

    .zv-google-ads-page .zga-why-grid {
        gap: 42px;
    }

    .zv-google-ads-page .zga-why-visual {
        padding: 0 0 20px;
    }

    .zv-google-ads-page .zga-why-main-card {
        padding: 27px 22px;
    }

    .zv-google-ads-page .zga-why-main-card h3 {
        font-size: 23px;
    }

    .zv-google-ads-page .zga-why-small-card {
        right: 8px;
        max-width: calc(100% - 16px);
        padding: 12px;
    }

    .zv-google-ads-page .zga-why-small-card strong {
        font-size: 11px;
    }

    .zv-google-ads-page .zga-why-small-card small {
        font-size: 9px;
    }

    .zv-google-ads-page .zga-why-content > p {
        font-size: 13px;
    }

    .zv-google-ads-page .zga-why-list {
        gap: 18px;
    }

    .zv-google-ads-page .zga-why-list h3 {
        font-size: 14px;
    }

    .zv-google-ads-page .zga-why-list p {
        font-size: 12px;
    }

    .zv-google-ads-page .zga-faq-grid {
        gap: 28px;
    }

    .zv-google-ads-page .zga-faq-intro > p {
        font-size: 13px;
    }

    .zv-google-ads-page .zga-faq-contact {
        padding: 17px;
    }

    .zv-google-ads-page .zga-faq-item summary {
        gap: 12px;
        padding: 17px 15px;
        font-size: 12px;
    }

    .zv-google-ads-page .zga-faq-toggle {
        flex-basis: 23px;
        width: 23px;
        height: 23px;
    }

    .zv-google-ads-page .zga-faq-answer {
        padding: 0 15px 17px;
    }

    .zv-google-ads-page .zga-faq-answer p {
        font-size: 12px;
    }

    .zv-google-ads-page .zga-final-cta {
        padding: 52px 0;
    }

    .zv-google-ads-page .zga-final-cta-inner {
        padding: 40px 21px;
        border-radius: 10px;
    }

    .zv-google-ads-page .zga-final-cta-inner h2 {
        font-size: 29px;
    }

    .zv-google-ads-page .zga-final-cta-inner > p {
        font-size: 13px;
    }

    .zv-google-ads-page .zga-final-actions {
        flex-direction: column;
        gap: 16px;
    }
}

@media (max-width: 360px) {
    .zv-google-ads-page .zga-container {
        width: calc(100% - 28px);
    }

    .zv-google-ads-page .zga-dashboard {
        padding: 11px;
    }

    .zv-google-ads-page .zga-metric {
        padding: 9px 6px;
    }

    .zv-google-ads-page .zga-metric > span {
        font-size: 8px;
    }

    .zv-google-ads-page .zga-metric strong {
        font-size: 18px;
    }

    .zv-google-ads-page .zga-chart-card {
        padding: 9px;
    }

    .zv-google-ads-page .zga-value-grid > div {
        gap: 7px;
    }

    .zv-google-ads-page .zga-value-icon {
        flex-basis: 27px;
        width: 27px;
        height: 27px;
        font-size: 14px;
    }

    .zv-google-ads-page .zga-final-cta-inner h2 {
        font-size: 26px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-google-ads-page *,
    .zv-google-ads-page *::before,
    .zv-google-ads-page *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}











/* =========================================================
   SOCIAL MEDIA MARKETING PAGE
   Zenventa Custom Theme
========================================================= */

.zv-social-media-page {
    --zsm-primary: var(--zv-primary, #0b2148);
    --zsm-primary-dark: var(--zv-primary-dark, #061631);
    --zsm-secondary: var(--zv-secondary, #1769c2);
    --zsm-accent: var(--zv-accent, #f47b20);
    --zsm-white: var(--zv-white, #fff);
    --zsm-light: var(--zv-light, #f7f9fc);
    --zsm-light-2: var(--zv-light-2, #eef3f8);
    --zsm-text: var(--zv-text, #26364d);
    --zsm-muted: var(--zv-text-light, #65748a);
    --zsm-border: var(--zv-border, #dce4ee);
    --zsm-font: var(--zv-font-primary, "Inter", Arial, sans-serif);

    overflow: clip;
    color: var(--zsm-text);
    font-family: var(--zsm-font);
    font-size: 16px;
    line-height: 1.75;
}

.zv-social-media-page *,
.zv-social-media-page *::before,
.zv-social-media-page *::after {
    box-sizing: border-box;
}

.zv-social-media-page img,
.zv-social-media-page svg {
    max-width: 100%;
}

.zv-social-media-page a {
    text-decoration: none;
}

.zv-social-media-page h2,
.zv-social-media-page h3 {
    color: var(--zsm-primary);
    font-family: var(--zsm-font);
    letter-spacing: -0.035em;
    line-height: 1.22;
}

.zv-social-media-page h2 {
    margin: 0 0 19px;
    font-size: clamp(30px, 3.3vw, 43px);
    font-weight: 750;
}

.zv-social-media-page h3 {
    margin: 0 0 12px;
    font-size: 20px;
    font-weight: 700;
}

.zv-social-media-page p {
    margin-top: 0;
}

.zv-social-media-page .zsm-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-social-media-page .zsm-section {
    padding: 35px 0;
}

.zv-social-media-page .zsm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--zsm-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-social-media-page .zsm-eyebrow::before {
    width: 26px;
    height: 3px;
    border-radius: 3px;
    background: var(--zsm-accent);
    content: "";
}

.zv-social-media-page .zsm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 53px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: var(--zsm-font);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    transition:
        background-color .25s ease,
        color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.zv-social-media-page .zsm-btn > span {
    font-size: 19px;
    line-height: 1;
    transition: transform .25s ease;
}

.zv-social-media-page .zsm-btn:hover > span {
    transform: translateX(4px);
}

.zv-social-media-page .zsm-btn-primary {
    background: var(--zsm-primary);
    color: var(--zsm-white);
    box-shadow: 0 8px 22px rgba(11, 33, 72, .12);
}

.zv-social-media-page .zsm-btn-primary:hover {
    transform: translateY(-2px);
    background: var(--zsm-secondary);
    color: var(--zsm-white);
    box-shadow: 0 12px 26px rgba(23, 105, 194, .2);
}

.zv-social-media-page .zsm-btn-light {
    background: var(--zsm-white);
    color: var(--zsm-primary);
}

.zv-social-media-page .zsm-btn-light:hover {
    transform: translateY(-2px);
    background: var(--zsm-light-2);
    color: var(--zsm-primary);
}

.zv-social-media-page a:focus-visible,
.zv-social-media-page summary:focus-visible {
    outline: 3px solid var(--zsm-accent);
    outline-offset: 4px;
}

/* INTRO */

.zv-social-media-page .zsm-intro {
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    align-items: center;
    gap: clamp(38px, 6vw, 78px);
}

.zv-social-media-page .zsm-intro-content > p {
    margin-bottom: 17px;
    color: var(--zsm-muted);
    font-size: 14px;
    line-height: 1.95;
}

.zv-social-media-page .zsm-intro-content h2 span {
    color: var(--zsm-secondary);
}

.zv-social-media-page .zsm-intro-points {
    display: grid;
    gap: 12px;
    margin: 27px 0 30px;
}

.zv-social-media-page .zsm-intro-points > div {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    color: var(--zsm-primary);
    font-size: 13px;
    font-weight: 650;
}

.zv-social-media-page .zsm-intro-points > div > span {
    display: grid;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zsm-secondary);
    font-size: 12px;
    font-weight: 800;
}

/* SOCIAL CONTENT MOCKUP */

.zv-social-media-page .zsm-social-visual {
    min-width: 0;
    padding: 27px;
    border: 1px solid var(--zsm-border);
    border-radius: 15px;
    background: var(--zsm-light);
    box-shadow: 0 24px 65px rgba(11, 33, 72, .08);
}

.zv-social-media-page .zsm-social-visual-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 23px;
}

.zv-social-media-page .zsm-visual-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--zsm-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
}

.zv-social-media-page .zsm-social-visual-heading h3 {
    margin: 0;
    font-size: 20px;
}

.zv-social-media-page .zsm-live-dot {
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #269c65;
    box-shadow: 0 0 0 5px rgba(38, 156, 101, .1);
}

.zv-social-media-page .zsm-post-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 13px;
}

.zv-social-media-page .zsm-post-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--zsm-border);
    border-radius: 9px;
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-post-art {
    position: relative;
    display: flex;
    min-height: 194px;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 20px;
}

.zv-social-media-page .zsm-art-blue {
    background: var(--zsm-primary);
    color: var(--zsm-white);
}

.zv-social-media-page .zsm-art-orange {
    background: var(--zsm-accent);
    color: var(--zsm-white);
}

.zv-social-media-page .zsm-art-overline {
    position: relative;
    z-index: 1;
    margin-bottom: 13px;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .13em;
}

.zv-social-media-page .zsm-post-art strong {
    position: relative;
    z-index: 1;
    color: inherit;
    font-size: clamp(21px, 2.3vw, 30px);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.1;
}

.zv-social-media-page .zsm-art-mark {
    position: absolute;
    right: 10px;
    bottom: -22px;
    color: rgba(255, 255, 255, .13);
    font-size: 110px;
    line-height: 1;
}

.zv-social-media-page .zsm-art-circle {
    position: absolute;
    right: -30px;
    bottom: -42px;
    width: 125px;
    height: 125px;
    border: 19px solid rgba(255, 255, 255, .17);
    border-radius: 50%;
}

.zv-social-media-page .zsm-post-meta {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 12px 10px;
}

.zv-social-media-page .zsm-mini-avatar {
    display: grid;
    flex: 0 0 29px;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: 50%;
    color: var(--zsm-white);
    font-size: 12px;
    font-weight: 800;
}

.zv-social-media-page .zsm-avatar-blue {
    background: var(--zsm-secondary);
}

.zv-social-media-page .zsm-avatar-orange {
    background: var(--zsm-accent);
}

.zv-social-media-page .zsm-avatar-navy {
    background: var(--zsm-primary);
}

.zv-social-media-page .zsm-post-meta > div {
    min-width: 0;
}

.zv-social-media-page .zsm-post-meta strong,
.zv-social-media-page .zsm-post-meta small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.zv-social-media-page .zsm-post-meta strong {
    color: var(--zsm-primary);
    font-size: 10px;
}

.zv-social-media-page .zsm-post-meta small {
    margin-top: 2px;
    color: var(--zsm-muted);
    font-size: 8px;
}

.zv-social-media-page .zsm-post-dots {
    margin-left: auto;
    color: var(--zsm-muted);
    font-size: 19px;
}

.zv-social-media-page .zsm-post-actions {
    display: flex;
    justify-content: space-between;
    padding: 0 12px 12px;
    color: var(--zsm-muted);
    font-size: 12px;
}

.zv-social-media-page .zsm-post-wide {
    grid-column: 1 / -1;
}

.zv-social-media-page .zsm-post-wide-art {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px;
    background: var(--zsm-light-2);
}

.zv-social-media-page .zsm-wide-icon {
    display: grid;
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 9px;
    background: var(--zsm-white);
    color: var(--zsm-secondary);
    font-size: 25px;
}

.zv-social-media-page .zsm-post-wide-art strong,
.zv-social-media-page .zsm-post-wide-art small {
    display: block;
}

.zv-social-media-page .zsm-post-wide-art strong {
    color: var(--zsm-primary);
    font-size: 12px;
}

.zv-social-media-page .zsm-post-wide-art small {
    margin-top: 4px;
    color: var(--zsm-muted);
    font-size: 10px;
    line-height: 1.6;
}

.zv-social-media-page .zsm-visual-footer {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid var(--zsm-border);
    border-radius: 9px;
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-visual-check {
    display: grid;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zsm-secondary);
    font-weight: 800;
}

.zv-social-media-page .zsm-visual-footer strong,
.zv-social-media-page .zsm-visual-footer small {
    display: block;
}

.zv-social-media-page .zsm-visual-footer strong {
    color: var(--zsm-primary);
    font-size: 12px;
}

.zv-social-media-page .zsm-visual-footer small {
    margin-top: 2px;
    color: var(--zsm-muted);
    font-size: 10px;
}

/* VALUE STRIP */

.zv-social-media-page .zsm-value-strip {
    padding: 30px 0;
    background: var(--zsm-primary);
}

.zv-social-media-page .zsm-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zv-social-media-page .zsm-value-grid > div {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 8px 19px;
    border-right: 1px solid rgba(255, 255, 255, .17);
}

.zv-social-media-page .zsm-value-grid > div:first-child {
    padding-left: 0;
}

.zv-social-media-page .zsm-value-grid > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.zv-social-media-page .zsm-value-icon {
    display: grid;
    flex: 0 0 41px;
    width: 41px;
    height: 41px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 9px;
    color: var(--zsm-white);
    font-size: 21px;
}

.zv-social-media-page .zsm-value-grid strong {
    display: block;
    color: var(--zsm-white);
    font-size: 12px;
    line-height: 1.5;
}

.zv-social-media-page .zsm-value-grid p {
    margin: 5px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    line-height: 1.6;
}

/* SECTION HEADINGS */

.zv-social-media-page .zsm-section-heading {
    max-width: 780px;
    margin: 0 auto 47px;
    text-align: center;
}

.zv-social-media-page .zsm-section-heading .zsm-eyebrow {
    justify-content: center;
}

.zv-social-media-page .zsm-section-heading > p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--zsm-muted);
    font-size: 14px;
    line-height: 1.9;
}

/* SERVICES */

.zv-social-media-page .zsm-services {
    background: var(--zsm-light);
}

.zv-social-media-page .zsm-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-social-media-page .zsm-service-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 310px;
    flex-direction: column;
    padding: 28px 25px 25px;
    border: 1px solid var(--zsm-border);
    border-radius: 11px;
    background: var(--zsm-white);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.zv-social-media-page .zsm-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, .4);
    box-shadow: 0 18px 38px rgba(11, 33, 72, .08);
}

.zv-social-media-page .zsm-service-number {
    position: absolute;
    top: 24px;
    right: 24px;
    color: #9cacc0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
}

.zv-social-media-page .zsm-service-icon {
    display: grid;
    width: 55px;
    height: 55px;
    place-items: center;
    margin-bottom: 23px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zsm-secondary);
    transition: background-color .25s ease, color .25s ease;
}

.zv-social-media-page .zsm-service-card:hover .zsm-service-icon {
    background: var(--zsm-secondary);
    color: var(--zsm-white);
}

.zv-social-media-page .zsm-service-icon svg {
    width: 34px;
    height: 34px;
}

.zv-social-media-page .zsm-service-card h3 {
    margin-bottom: 11px;
    font-size: 18px;
    letter-spacing: -.02em;
}

.zv-social-media-page .zsm-service-card > p {
    margin-bottom: 23px;
    color: var(--zsm-muted);
    font-size: 12px;
    line-height: 1.9;
}

.zv-social-media-page .zsm-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--zsm-secondary);
    font-size: 11px;
    font-weight: 750;
}

.zv-social-media-page .zsm-service-card > a span {
    font-size: 17px;
    transition: transform .2s ease;
}

.zv-social-media-page .zsm-service-card > a:hover span {
    transform: translateX(4px);
}

/* PLATFORMS */

.zv-social-media-page .zsm-platforms {
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-platform-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.zv-social-media-page .zsm-platform-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    min-width: 0;
    padding: 22px;
    border: 1px solid var(--zsm-border);
    border-radius: 10px;
    background: var(--zsm-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-social-media-page .zsm-platform-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(11, 33, 72, .07);
}

.zv-social-media-page .zsm-platform-letter {
    display: grid;
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
    place-items: center;
    border-radius: 10px;
    color: var(--zsm-white);
    font-size: 18px;
    font-weight: 800;
}

.zv-social-media-page .zsm-platform-instagram {
    background: var(--zsm-accent);
}

.zv-social-media-page .zsm-platform-facebook {
    background: var(--zsm-secondary);
    font-family: Arial, sans-serif;
    font-size: 25px;
}

.zv-social-media-page .zsm-platform-linkedin {
    background: var(--zsm-primary);
    font-size: 16px;
}

.zv-social-media-page .zsm-platform-youtube {
    background: var(--zsm-primary-dark);
    font-size: 20px;
}

.zv-social-media-page .zsm-platform-tiktok {
    background: var(--zsm-secondary);
    font-size: 25px;
}

.zv-social-media-page .zsm-platform-pinterest {
    background: var(--zsm-accent-dark, #d9610b);
    font-family: Georgia, serif;
    font-size: 24px;
}

.zv-social-media-page .zsm-platform-card > div {
    min-width: 0;
}

.zv-social-media-page .zsm-platform-card h3 {
    margin-bottom: 7px;
    font-size: 17px;
}

.zv-social-media-page .zsm-platform-card p {
    margin-bottom: 0;
    color: var(--zsm-muted);
    font-size: 11px;
    line-height: 1.8;
}

.zv-social-media-page .zsm-platform-note {
    max-width: 820px;
    margin: 27px auto 0;
    color: var(--zsm-muted);
    font-size: 11px;
    line-height: 1.8;
    text-align: center;
}

/* CONTENT PILLARS */

.zv-social-media-page .zsm-content {
    background: var(--zsm-light);
}

.zv-social-media-page .zsm-content-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: clamp(38px, 6vw, 76px);
}

.zv-social-media-page .zsm-content-intro > p {
    margin-bottom: 24px;
    color: var(--zsm-muted);
    font-size: 13px;
    line-height: 1.95;
}

.zv-social-media-page .zsm-text-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--zsm-secondary);
    font-size: 12px;
    font-weight: 750;
}

.zv-social-media-page .zsm-text-link span {
    font-size: 18px;
    transition: transform .2s ease;
}

.zv-social-media-page .zsm-text-link:hover span {
    transform: translateX(4px);
}

.zv-social-media-page .zsm-content-pillar-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.zv-social-media-page .zsm-pillar-card {
    position: relative;
    display: flex;
    min-height: 215px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    overflow: hidden;
    padding: 24px;
    border-radius: 11px;
}

.zv-social-media-page .zsm-pillar-card > span:first-child {
    margin-bottom: 12px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
}

.zv-social-media-page .zsm-pillar-card h3 {
    position: relative;
    z-index: 1;
    margin-bottom: 9px;
    color: inherit;
    font-size: 18px;
}

.zv-social-media-page .zsm-pillar-card p {
    position: relative;
    z-index: 1;
    max-width: 260px;
    margin-bottom: 0;
    color: inherit;
    font-size: 11px;
    line-height: 1.8;
    opacity: .83;
}

.zv-social-media-page .zsm-pillar-mark {
    position: absolute;
    top: 9px;
    right: 15px;
    font-size: 64px;
    line-height: 1;
    opacity: .17;
}

.zv-social-media-page .zsm-pillar-blue {
    background: var(--zsm-secondary);
    color: var(--zsm-white);
}

.zv-social-media-page .zsm-pillar-orange {
    background: var(--zsm-accent);
    color: var(--zsm-white);
}

.zv-social-media-page .zsm-pillar-light {
    border: 1px solid var(--zsm-border);
    background: var(--zsm-white);
    color: var(--zsm-primary);
}

.zv-social-media-page .zsm-pillar-navy {
    background: var(--zsm-primary);
    color: var(--zsm-white);
}

/* PROCESS */

.zv-social-media-page .zsm-process {
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 22px;
}

.zv-social-media-page .zsm-process-step {
    position: relative;
    min-width: 0;
    padding-top: 7px;
}

.zv-social-media-page .zsm-step-number {
    display: grid;
    width: 51px;
    height: 51px;
    place-items: center;
    border: 1px solid rgba(23, 105, 194, .28);
    border-radius: 50%;
    background: var(--zsm-light);
    color: var(--zsm-secondary);
    font-size: 12px;
    font-weight: 800;
}

.zv-social-media-page .zsm-process-step:not(:last-child)::after {
    position: absolute;
    top: 32px;
    left: 63px;
    right: -22px;
    height: 1px;
    background: var(--zsm-border);
    content: "";
}

.zv-social-media-page .zsm-process-step h3 {
    margin-top: 24px;
    margin-bottom: 10px;
    font-size: 17px;
}

.zv-social-media-page .zsm-process-step p {
    margin-bottom: 0;
    color: var(--zsm-muted);
    font-size: 11px;
    line-height: 1.9;
}

/* WHY ZENVENTA */

.zv-social-media-page .zsm-why {
    background: var(--zsm-light);
}

.zv-social-media-page .zsm-why-grid {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: center;
    gap: clamp(40px, 6vw, 80px);
}

.zv-social-media-page .zsm-why-card {
    padding: 34px;
    border: 1px solid var(--zsm-border);
    border-radius: 13px;
    background: var(--zsm-white);
    box-shadow: 0 16px 42px rgba(11, 33, 72, .05);
}

.zv-social-media-page .zsm-why-card h3 {
    margin-bottom: 14px;
    font-size: 26px;
}

.zv-social-media-page .zsm-why-card > p {
    margin-bottom: 24px;
    color: var(--zsm-muted);
    font-size: 12px;
    line-height: 1.9;
}

.zv-social-media-page .zsm-why-flow {
    display: grid;
    gap: 8px;
}

.zv-social-media-page .zsm-why-flow > div {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 12px 14px;
    border: 1px solid var(--zsm-border);
    border-radius: 7px;
    background: var(--zsm-light);
}

.zv-social-media-page .zsm-why-flow > div > span {
    color: var(--zsm-secondary);
    font-size: 10px;
    font-weight: 800;
}

.zv-social-media-page .zsm-why-flow strong {
    color: var(--zsm-primary);
    font-size: 12px;
}

.zv-social-media-page .zsm-why-flow > i {
    padding-left: 22px;
    color: var(--zsm-secondary);
    font-size: 15px;
    font-style: normal;
    line-height: 1;
}

.zv-social-media-page .zsm-why-content > p {
    margin-bottom: 26px;
    color: var(--zsm-muted);
    font-size: 13px;
    line-height: 1.9;
}

.zv-social-media-page .zsm-why-list {
    display: grid;
    gap: 19px;
    margin-bottom: 29px;
}

.zv-social-media-page .zsm-why-list > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.zv-social-media-page .zsm-why-list > div > span {
    display: grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    margin-top: 2px;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zsm-secondary);
    font-size: 11px;
    font-weight: 800;
}

.zv-social-media-page .zsm-why-list h3 {
    margin-bottom: 5px;
    font-size: 14px;
    letter-spacing: -.01em;
}

.zv-social-media-page .zsm-why-list p {
    margin-bottom: 0;
    color: var(--zsm-muted);
    font-size: 11px;
    line-height: 1.8;
}

/* FAQ */

.zv-social-media-page .zsm-faq {
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);
    align-items: start;
    gap: clamp(35px, 6vw, 75px);
}

.zv-social-media-page .zsm-faq-intro {
    position: sticky;
    top: 30px;
}

.zv-social-media-page .zsm-faq-intro > p {
    margin-bottom: 28px;
    color: var(--zsm-muted);
    font-size: 13px;
    line-height: 1.9;
}

.zv-social-media-page .zsm-faq-contact {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 20px;
    border: 1px solid var(--zsm-border);
    border-radius: 10px;
    background: var(--zsm-light);
}

.zv-social-media-page .zsm-faq-contact-icon {
    display: grid;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 8px;
    background: rgba(23, 105, 194, .1);
    color: var(--zsm-secondary);
    font-size: 19px;
}

.zv-social-media-page .zsm-faq-contact strong {
    display: block;
    margin-bottom: 5px;
    color: var(--zsm-primary);
    font-size: 12px;
}

.zv-social-media-page .zsm-faq-contact p {
    margin-bottom: 9px;
    color: var(--zsm-muted);
    font-size: 10px;
    line-height: 1.7;
}

.zv-social-media-page .zsm-faq-contact a {
    color: var(--zsm-secondary);
    font-size: 11px;
    font-weight: 750;
}

.zv-social-media-page .zsm-faq-contact a span {
    font-size: 15px;
}

.zv-social-media-page .zsm-faq-list {
    display: grid;
    gap: 11px;
}

.zv-social-media-page .zsm-faq-item {
    overflow: hidden;
    border: 1px solid var(--zsm-border);
    border-radius: 9px;
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    padding: 19px 21px;
    color: var(--zsm-primary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.65;
    list-style: none;
}

.zv-social-media-page .zsm-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-social-media-page .zsm-faq-item summary > span {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(23, 105, 194, .09);
}

.zv-social-media-page .zsm-faq-item summary > span::before,
.zv-social-media-page .zsm-faq-item summary > span::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 9px;
    height: 2px;
    border-radius: 2px;
    background: var(--zsm-secondary);
    content: "";
    transform: translate(-50%, -50%);
}

.zv-social-media-page .zsm-faq-item summary > span::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform .2s ease;
}

.zv-social-media-page .zsm-faq-item[open] summary {
    color: var(--zsm-secondary);
}

.zv-social-media-page .zsm-faq-item[open] summary > span::after {
    transform: translate(-50%, -50%) rotate(0);
}

.zv-social-media-page .zsm-faq-answer {
    padding: 0 21px 20px;
}

.zv-social-media-page .zsm-faq-answer p {
    margin: 0;
    color: var(--zsm-muted);
    font-size: 12px;
    line-height: 1.9;
}

/* FINAL CTA */

.zv-social-media-page .zsm-final-cta {
    padding: 75px 0;
    background: var(--zsm-white);
}

.zv-social-media-page .zsm-final-inner {
    position: relative;
    overflow: hidden;
    padding: 57px 30px;
    border-radius: 14px;
    background: var(--zsm-primary);
    text-align: center;
}

.zv-social-media-page .zsm-final-inner::before,
.zv-social-media-page .zsm-final-inner::after {
    position: absolute;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.zv-social-media-page .zsm-final-inner::before {
    top: -140px;
    left: -90px;
}

.zv-social-media-page .zsm-final-inner::after {
    right: -90px;
    bottom: -150px;
}

.zv-social-media-page .zsm-final-icon {
    display: grid;
    width: 51px;
    height: 51px;
    place-items: center;
    margin: 0 auto 20px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 11px;
    color: var(--zsm-white);
    font-size: 25px;
}

.zv-social-media-page .zsm-final-inner h2 {
    max-width: 760px;
    margin: 0 auto 16px;
    color: var(--zsm-white);
    font-size: clamp(28px, 3.5vw, 42px);
}

.zv-social-media-page .zsm-final-inner > p {
    max-width: 660px;
    margin: 0 auto 27px;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.9;
}

.zv-social-media-page .zsm-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.zv-social-media-page .zsm-final-email {
    color: var(--zsm-white);
    font-size: 12px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.zv-social-media-page .zsm-final-email:hover {
    color: #b8d8ff;
}

/* TABLET */

@media (max-width: 1050px) {
    .zv-social-media-page .zsm-container {
        width: min(100% - 40px, 1200px);
    }

    .zv-social-media-page .zsm-section {
        padding: 78px 0;
    }

    .zv-social-media-page .zsm-intro-grid {
        gap: 35px;
    }

    .zv-social-media-page .zsm-social-visual {
        padding: 20px;
    }

    .zv-social-media-page .zsm-post-art {
        min-height: 170px;
        padding: 15px;
    }

    .zv-social-media-page .zsm-value-grid > div {
        padding-inline: 12px;
    }

    .zv-social-media-page .zsm-value-icon {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
    }

    .zv-social-media-page .zsm-service-card {
        padding-inline: 21px;
    }
}

@media (max-width: 900px) {
    .zv-social-media-page .zsm-intro-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .zv-social-media-page .zsm-intro-content {
        max-width: 760px;
    }

    .zv-social-media-page .zsm-social-visual {
        width: min(100%, 640px);
        margin-inline: auto;
    }

    .zv-social-media-page .zsm-post-art {
        min-height: 190px;
    }

    .zv-social-media-page .zsm-value-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 20px;
    }

    .zv-social-media-page .zsm-value-grid > div {
        padding: 8px 20px;
        border-right: 0;
    }

    .zv-social-media-page .zsm-value-grid > div:nth-child(odd) {
        padding-left: 0;
        border-right: 1px solid rgba(255, 255, 255, .17);
    }

    .zv-social-media-page .zsm-value-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-social-media-page .zsm-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-social-media-page .zsm-platform-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-social-media-page .zsm-content-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .zv-social-media-page .zsm-content-intro {
        max-width: 700px;
    }

    .zv-social-media-page .zsm-pillar-card {
        min-height: 200px;
    }

    .zv-social-media-page .zsm-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 35px;
    }

    .zv-social-media-page .zsm-process-step:nth-child(3)::after {
        display: none;
    }

    .zv-social-media-page .zsm-why-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }

    .zv-social-media-page .zsm-why-card {
        max-width: 620px;
    }

    .zv-social-media-page .zsm-why-content {
        max-width: 760px;
    }

    .zv-social-media-page .zsm-faq-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .zv-social-media-page .zsm-faq-intro {
        position: static;
        max-width: 700px;
    }

    .zv-social-media-page .zsm-faq-contact {
        max-width: 420px;
    }
}

/* MOBILE */

@media (max-width: 600px) {
    .zv-social-media-page {
        font-size: 14px;
    }

    .zv-social-media-page .zsm-container {
        width: calc(100% - 36px);
    }

    .zv-social-media-page .zsm-section {
        padding: 61px 0;
    }

    .zv-social-media-page h2 {
        margin-bottom: 15px;
        font-size: clamp(27px, 7vw, 34px);
    }

    .zv-social-media-page h3 {
        font-size: 19px;
    }

    .zv-social-media-page .zsm-eyebrow {
        margin-bottom: 13px;
        font-size: 10px;
    }

    .zv-social-media-page .zsm-btn {
        min-height: 49px;
        padding: 12px 16px;
        font-size: 12px;
    }

    .zv-social-media-page .zsm-intro-grid {
        gap: 30px;
    }

    .zv-social-media-page .zsm-intro-content > p {
        font-size: 13px;
    }

    .zv-social-media-page .zsm-intro-points {
        gap: 11px;
        margin: 22px 0 25px;
    }

    .zv-social-media-page .zsm-intro-points > div {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-social-visual {
        padding: 15px;
        border-radius: 11px;
    }

    .zv-social-media-page .zsm-social-visual-heading {
        margin-bottom: 17px;
    }

    .zv-social-media-page .zsm-social-visual-heading h3 {
        font-size: 17px;
    }

    .zv-social-media-page .zsm-post-grid {
        gap: 9px;
    }

    .zv-social-media-page .zsm-post-art {
        min-height: 155px;
        padding: 12px;
    }

    .zv-social-media-page .zsm-post-art strong {
        font-size: clamp(20px, 6vw, 27px);
    }

    .zv-social-media-page .zsm-art-overline {
        font-size: 7px;
    }

    .zv-social-media-page .zsm-post-meta {
        gap: 6px;
        padding: 10px 7px;
    }

    .zv-social-media-page .zsm-mini-avatar {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
        font-size: 10px;
    }

    .zv-social-media-page .zsm-post-meta strong {
        font-size: 9px;
    }

    .zv-social-media-page .zsm-post-meta small {
        font-size: 7px;
    }

    .zv-social-media-page .zsm-post-actions {
        padding: 0 9px 10px;
        font-size: 10px;
    }

    .zv-social-media-page .zsm-post-wide-art {
        gap: 10px;
        padding: 12px;
    }

    .zv-social-media-page .zsm-wide-icon {
        flex-basis: 37px;
        width: 37px;
        height: 37px;
    }

    .zv-social-media-page .zsm-post-wide-art strong {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-post-wide-art small {
        font-size: 9px;
    }

    .zv-social-media-page .zsm-visual-footer {
        margin-top: 12px;
        padding: 11px;
    }

    .zv-social-media-page .zsm-visual-footer strong {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-visual-footer small {
        font-size: 9px;
    }

    .zv-social-media-page .zsm-value-strip {
        padding: 22px 0;
    }

    .zv-social-media-page .zsm-value-grid {
        gap: 17px 8px;
    }

    .zv-social-media-page .zsm-value-grid > div,
    .zv-social-media-page .zsm-value-grid > div:nth-child(odd),
    .zv-social-media-page .zsm-value-grid > div:nth-child(even) {
        align-items: flex-start;
        gap: 8px;
        padding: 5px 7px;
        border-right: 0;
    }

    .zv-social-media-page .zsm-value-grid > div:nth-child(odd) {
        padding-left: 0;
    }

    .zv-social-media-page .zsm-value-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-social-media-page .zsm-value-icon {
        flex-basis: 29px;
        width: 29px;
        height: 29px;
        font-size: 15px;
    }

    .zv-social-media-page .zsm-value-grid strong {
        font-size: 10px;
    }

    .zv-social-media-page .zsm-value-grid p {
        font-size: 9px;
        line-height: 1.6;
    }

    .zv-social-media-page .zsm-section-heading {
        margin-bottom: 31px;
    }

    .zv-social-media-page .zsm-section-heading > p {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-service-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .zv-social-media-page .zsm-service-card {
        min-height: 0;
        padding: 23px 20px;
    }

    .zv-social-media-page .zsm-service-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 17px;
    }

    .zv-social-media-page .zsm-service-icon svg {
        width: 29px;
        height: 29px;
    }

    .zv-social-media-page .zsm-service-card h3 {
        font-size: 17px;
    }

    .zv-social-media-page .zsm-service-card > p {
        margin-bottom: 17px;
        font-size: 12px;
    }

    .zv-social-media-page .zsm-platform-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .zv-social-media-page .zsm-platform-card {
        gap: 13px;
        padding: 17px;
    }

    .zv-social-media-page .zsm-platform-letter {
        flex-basis: 41px;
        width: 41px;
        height: 41px;
    }

    .zv-social-media-page .zsm-platform-card h3 {
        margin-bottom: 5px;
        font-size: 16px;
    }

    .zv-social-media-page .zsm-platform-card p {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-platform-note {
        margin-top: 20px;
        font-size: 10px;
    }

    .zv-social-media-page .zsm-content-grid {
        gap: 27px;
    }

    .zv-social-media-page .zsm-content-intro > p {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-content-pillar-grid {
        gap: 10px;
    }

    .zv-social-media-page .zsm-pillar-card {
        min-height: 183px;
        padding: 16px;
        border-radius: 9px;
    }

    .zv-social-media-page .zsm-pillar-card > span:first-child {
        margin-bottom: 9px;
        font-size: 8px;
    }

    .zv-social-media-page .zsm-pillar-card h3 {
        font-size: 15px;
    }

    .zv-social-media-page .zsm-pillar-card p {
        font-size: 10px;
    }

    .zv-social-media-page .zsm-pillar-mark {
        right: 9px;
        font-size: 46px;
    }

    .zv-social-media-page .zsm-process-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .zv-social-media-page .zsm-process-step {
        display: grid;
        grid-template-columns: 45px minmax(0, 1fr);
        align-items: start;
        column-gap: 14px;
    }

    .zv-social-media-page .zsm-step-number {
        grid-row: 1 / span 2;
        width: 43px;
        height: 43px;
    }

    .zv-social-media-page .zsm-process-step:not(:last-child)::after,
    .zv-social-media-page .zsm-process-step:nth-child(3)::after {
        top: 50px;
        bottom: -27px;
        left: 21px;
        right: auto;
        width: 1px;
        height: auto;
    }

    .zv-social-media-page .zsm-process-step h3 {
        margin: 0 0 6px;
        font-size: 16px;
    }

    .zv-social-media-page .zsm-process-step p {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-why-grid {
        gap: 30px;
    }

    .zv-social-media-page .zsm-why-card {
        padding: 24px 19px;
    }

    .zv-social-media-page .zsm-why-card h3 {
        font-size: 22px;
    }

    .zv-social-media-page .zsm-why-card > p,
    .zv-social-media-page .zsm-why-content > p {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-why-flow > div {
        padding: 11px;
    }

    .zv-social-media-page .zsm-why-flow strong {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-why-list {
        gap: 16px;
    }

    .zv-social-media-page .zsm-why-list h3 {
        font-size: 13px;
    }

    .zv-social-media-page .zsm-why-list p {
        font-size: 10px;
    }

    .zv-social-media-page .zsm-faq-grid {
        gap: 25px;
    }

    .zv-social-media-page .zsm-faq-intro > p {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-faq-contact {
        padding: 16px;
    }

    .zv-social-media-page .zsm-faq-item summary {
        gap: 11px;
        padding: 16px 14px;
        font-size: 12px;
    }

    .zv-social-media-page .zsm-faq-item summary > span {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }

    .zv-social-media-page .zsm-faq-answer {
        padding: 0 14px 16px;
    }

    .zv-social-media-page .zsm-faq-answer p {
        font-size: 11px;
    }

    .zv-social-media-page .zsm-final-cta {
        padding: 48px 0;
    }

    .zv-social-media-page .zsm-final-inner {
        padding: 38px 19px;
        border-radius: 10px;
    }

    .zv-social-media-page .zsm-final-inner h2 {
        font-size: 28px;
    }

    .zv-social-media-page .zsm-final-inner > p {
        font-size: 12px;
    }

    .zv-social-media-page .zsm-final-actions {
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 360px) {
    .zv-social-media-page .zsm-container {
        width: calc(100% - 28px);
    }

    .zv-social-media-page .zsm-social-visual {
        padding: 10px;
    }

    .zv-social-media-page .zsm-post-art {
        min-height: 135px;
        padding: 9px;
    }

    .zv-social-media-page .zsm-post-art strong {
        font-size: 20px;
    }

    .zv-social-media-page .zsm-post-meta {
        gap: 5px;
        padding: 8px 5px;
    }

    .zv-social-media-page .zsm-mini-avatar {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }

    .zv-social-media-page .zsm-post-meta strong {
        font-size: 8px;
    }

    .zv-social-media-page .zsm-post-meta small {
        font-size: 6px;
    }

    .zv-social-media-page .zsm-value-grid > div {
        gap: 6px;
    }

    .zv-social-media-page .zsm-value-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
        font-size: 13px;
    }

    .zv-social-media-page .zsm-value-grid strong {
        font-size: 9px;
    }

    .zv-social-media-page .zsm-pillar-card {
        min-height: 175px;
        padding: 12px;
    }

    .zv-social-media-page .zsm-pillar-card h3 {
        font-size: 14px;
    }

    .zv-social-media-page .zsm-final-inner h2 {
        font-size: 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-social-media-page *,
    .zv-social-media-page *::before,
    .zv-social-media-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}






























/* =========================================================
   ZENVENTA - EMAIL MARKETING SERVICES PAGE
   Scoped to .zv-email-marketing-page
========================================================= */

.zv-email-marketing-page {
    --zv-em-navy: var(--zv-primary, #0b2148);
    --zv-em-blue: var(--zv-secondary, #1769c2);
    --zv-em-orange: var(--zv-accent, #f47b20);
    --zv-em-text: var(--zv-text, #26364d);
    --zv-em-muted: var(--zv-text-light, #65748a);
    --zv-em-border: var(--zv-border, #dce4ee);
    --zv-em-light: var(--zv-light, #f7f9fc);
    --zv-em-white: var(--zv-white, #fff);
    --zv-em-container: var(--zv-container, 1200px);

    color: var(--zv-em-text);
    font-family: var(--zv-font-primary, "Inter", Arial, sans-serif);
    overflow: clip;
}

.zv-email-marketing-page *,
.zv-email-marketing-page *::before,
.zv-email-marketing-page *::after {
    box-sizing: border-box;
}

.zv-email-marketing-page img {
    display: block;
    max-width: 100%;
}

.zv-email-marketing-page a {
    text-decoration: none;
}

.zv-email-marketing-page p {
    margin-top: 0;
}

.zv-email-marketing-page .zv-em-container {
    width: min(var(--zv-em-container), calc(100% - 48px));
    margin-inline: auto;
}

.zv-email-marketing-page .zv-em-section {
    padding-block: 35px;
}

.zv-email-marketing-page .zv-em-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--zv-em-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.8px;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-email-marketing-page h2 {
    margin: 0 0 20px;
    color: var(--zv-em-navy);
    font-size: clamp(30px, 3.4vw, 44px);
    font-weight: 750;
    letter-spacing: -1.4px;
    line-height: 1.18;
}

.zv-email-marketing-page h3 {
    color: var(--zv-em-navy);
}

.zv-email-marketing-page p {
    color: var(--zv-em-muted);
    font-size: 15px;
    line-height: 1.85;
}

.zv-email-marketing-page .zv-em-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 14px 22px;
    border: 1px solid transparent;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transition: background-color .25s ease, color .25s ease,
                border-color .25s ease, transform .25s ease;
}

.zv-email-marketing-page .zv-em-button:hover {
    transform: translateY(-2px);
}

.zv-email-marketing-page .zv-em-button:focus-visible,
.zv-email-marketing-page .zv-em-text-link:focus-visible,
.zv-email-marketing-page .zv-em-cta-secondary:focus-visible,
.zv-email-marketing-page .zv-em-faq-item summary:focus-visible {
    outline: 3px solid var(--zv-em-orange);
    outline-offset: 4px;
}

.zv-email-marketing-page .zv-em-button-primary {
    background: var(--zv-em-blue);
    color: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-button-primary:hover {
    background: var(--zv-em-navy);
    color: var(--zv-em-white);
}

/* INTRO */

.zv-email-marketing-page .zv-em-intro {
    background: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
    align-items: center;
    gap: clamp(40px, 7vw, 90px);
}

.zv-email-marketing-page .zv-em-intro-content h2 span {
    display: block;
    color: var(--zv-em-blue);
}

.zv-email-marketing-page .zv-em-intro-content > p {
    max-width: 590px;
    margin-bottom: 16px;
}

.zv-email-marketing-page .zv-em-intro-content .zv-em-button {
    margin-top: 13px;
}

/* CSS EMAIL PREVIEW ILLUSTRATION */

.zv-email-marketing-page .zv-em-visual {
    position: relative;
    display: flex;
    min-height: 460px;
    align-items: center;
    justify-content: center;
    padding: 35px 24px;
    isolation: isolate;
}

.zv-email-marketing-page .zv-em-visual-glow {
    position: absolute;
    z-index: -1;
    inset: 8% 5%;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(22, 105, 194, .14),
        rgba(22, 105, 194, .035) 58%,
        transparent 74%
    );
}

.zv-email-marketing-page .zv-em-mail-card {
    position: relative;
    width: min(100%, 380px);
    overflow: hidden;
    border: 1px solid rgba(220, 228, 238, .9);
    border-radius: 12px;
    background: var(--zv-em-white);
    box-shadow: 0 28px 75px rgba(11, 33, 72, .15);
    transform: rotate(-2deg);
}

.zv-email-marketing-page .zv-em-mail-top {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 17px;
    border-bottom: 1px solid var(--zv-em-border);
    background: #f8fafd;
}

.zv-email-marketing-page .zv-em-mail-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #b9c8da;
}

.zv-email-marketing-page .zv-em-mail-label {
    margin-left: auto;
    color: var(--zv-em-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zv-email-marketing-page .zv-em-mail-body {
    padding: 27px 27px 23px;
}

.zv-email-marketing-page .zv-em-brand-mark {
    display: grid;
    width: 43px;
    height: 43px;
    margin-bottom: 23px;
    place-items: center;
    border-radius: 9px;
    background: var(--zv-em-navy);
    color: var(--zv-em-white);
    font-size: 23px;
    font-weight: 800;
}

.zv-email-marketing-page .zv-em-mail-kicker {
    color: var(--zv-em-orange);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.zv-email-marketing-page .zv-em-mail-body h3 {
    margin: 11px 0 12px;
    font-size: 27px;
    font-weight: 750;
    letter-spacing: -.7px;
    line-height: 1.2;
}

.zv-email-marketing-page .zv-em-mail-body > p {
    margin-bottom: 19px;
    font-size: 12px;
    line-height: 1.8;
}

.zv-email-marketing-page .zv-em-mail-cta {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 12px;
    padding: 11px 15px;
    border-radius: 4px;
    background: var(--zv-em-blue);
    color: var(--zv-em-white);
    font-size: 11px;
    font-weight: 700;
}

.zv-email-marketing-page .zv-em-mail-lines {
    display: grid;
    gap: 8px;
    margin-top: 23px;
}

.zv-email-marketing-page .zv-em-mail-lines span {
    display: block;
    height: 6px;
    border-radius: 5px;
    background: #edf1f6;
}

.zv-email-marketing-page .zv-em-mail-lines span:nth-child(2) {
    width: 88%;
}

.zv-email-marketing-page .zv-em-mail-lines span:nth-child(3) {
    width: 64%;
}

.zv-email-marketing-page .zv-em-mail-footer {
    margin-top: 22px;
    padding-top: 15px;
    border-top: 1px solid var(--zv-em-border);
    color: var(--zv-em-muted);
    font-size: 9px;
    line-height: 1.6;
    text-align: center;
}

.zv-email-marketing-page .zv-em-floating-note {
    position: absolute;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 11px;
    max-width: calc(100% - 20px);
    padding: 13px 15px;
    border: 1px solid rgba(220, 228, 238, .9);
    border-radius: 9px;
    background: var(--zv-em-white);
    box-shadow: 0 13px 35px rgba(11, 33, 72, .10);
}

.zv-email-marketing-page .zv-em-note-top {
    top: 14%;
    right: -1%;
}

.zv-email-marketing-page .zv-em-note-bottom {
    bottom: 12%;
    left: -2%;
}

.zv-email-marketing-page .zv-em-note-icon {
    display: grid;
    flex: 0 0 37px;
    width: 37px;
    height: 37px;
    place-items: center;
    border-radius: 7px;
    background: #eaf3ff;
    color: var(--zv-em-blue);
    font-size: 19px;
}

.zv-email-marketing-page .zv-em-note-bottom .zv-em-note-icon {
    background: #fff0e5;
    color: var(--zv-em-orange);
}

.zv-email-marketing-page .zv-em-floating-note strong,
.zv-email-marketing-page .zv-em-floating-note small {
    display: block;
}

.zv-email-marketing-page .zv-em-floating-note strong {
    color: var(--zv-em-navy);
    font-size: 11px;
    line-height: 1.5;
}

.zv-email-marketing-page .zv-em-floating-note small {
    margin-top: 3px;
    color: var(--zv-em-muted);
    font-size: 10px;
    line-height: 1.4;
}

/* BENEFITS STRIP */

.zv-email-marketing-page .zv-em-benefits {
    padding-block: 31px;
    border-block: 1px solid var(--zv-em-border);
    background: var(--zv-em-light);
}

.zv-email-marketing-page .zv-em-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.zv-email-marketing-page .zv-em-benefit {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.zv-email-marketing-page .zv-em-benefit-icon {
    display: grid;
    flex: 0 0 43px;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 8px;
    background: var(--zv-em-white);
    color: var(--zv-em-blue);
    box-shadow: 0 3px 12px rgba(11, 33, 72, .06);
    font-size: 21px;
}

.zv-email-marketing-page .zv-em-benefit h3 {
    margin: 1px 0 6px;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.45;
}

.zv-email-marketing-page .zv-em-benefit p {
    margin: 0;
    font-size: 12px;
    line-height: 1.7;
}

/* SHARED SECTION HEADING */

.zv-email-marketing-page .zv-em-section-heading {
    max-width: 760px;
    margin: 0 auto 46px;
    text-align: center;
}

.zv-email-marketing-page .zv-em-section-heading h2 {
    margin-bottom: 16px;
}

.zv-email-marketing-page .zv-em-section-heading p {
    max-width: 670px;
    margin: 0 auto;
}

/* SERVICE CARDS */

.zv-email-marketing-page .zv-em-services {
    background: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-service-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-email-marketing-page .zv-em-service-card {
    position: relative;
    min-width: 0;
    padding: 30px 26px 27px;
    border: 1px solid var(--zv-em-border);
    border-radius: 8px;
    background: var(--zv-em-white);
    transition: border-color .25s ease, box-shadow .25s ease,
                transform .25s ease;
}

.zv-email-marketing-page .zv-em-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(22, 105, 194, .45);
    box-shadow: 0 18px 45px rgba(11, 33, 72, .08);
}

.zv-email-marketing-page .zv-em-card-number {
    position: absolute;
    top: 25px;
    right: 25px;
    color: #a7b7ca;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zv-email-marketing-page .zv-em-service-icon {
    display: grid;
    width: 53px;
    height: 53px;
    margin-bottom: 23px;
    place-items: center;
    border-radius: 9px;
    background: #eaf3ff;
    color: var(--zv-em-blue);
    font-size: 24px;
}

.zv-email-marketing-page .zv-em-service-card:nth-child(3n + 2) .zv-em-service-icon {
    background: #fff0e5;
    color: var(--zv-em-orange);
}

.zv-email-marketing-page .zv-em-service-card h3 {
    margin: 0 0 12px;
    font-size: 19px;
    font-weight: 750;
    letter-spacing: -.3px;
    line-height: 1.4;
}

.zv-email-marketing-page .zv-em-service-card > p {
    margin-bottom: 20px;
    font-size: 13px;
    line-height: 1.8;
}

.zv-email-marketing-page .zv-em-service-card ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--zv-em-border);
    list-style: none;
}

.zv-email-marketing-page .zv-em-service-card li {
    position: relative;
    padding-left: 20px;
    color: var(--zv-em-text);
    font-size: 12px;
    line-height: 1.6;
}

.zv-email-marketing-page .zv-em-service-card li::before {
    position: absolute;
    top: 0;
    left: 0;
    color: var(--zv-em-blue);
    content: "\2713";
    font-weight: 800;
}

/* EMAIL TYPES */

.zv-email-marketing-page .zv-em-types {
    background: var(--zv-em-light);
}

.zv-email-marketing-page .zv-em-types-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: start;
    gap: clamp(40px, 8vw, 100px);
}

.zv-email-marketing-page .zv-em-types-heading {
    position: sticky;
    top: 30px;
}

.zv-email-marketing-page .zv-em-types-heading h2 {
    max-width: 460px;
}

.zv-email-marketing-page .zv-em-types-heading > p {
    max-width: 450px;
}

.zv-email-marketing-page .zv-em-text-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    color: var(--zv-em-blue);
    font-size: 14px;
    font-weight: 750;
}

.zv-email-marketing-page .zv-em-text-link span {
    transition: transform .2s ease;
}

.zv-email-marketing-page .zv-em-text-link:hover span {
    transform: translateX(4px);
}

.zv-email-marketing-page .zv-em-type-list {
    border-top: 1px solid var(--zv-em-border);
}

.zv-email-marketing-page .zv-em-type-item {
    display: grid;
    grid-template-columns: 43px minmax(0, 1fr) 20px;
    align-items: start;
    gap: 16px;
    padding: 23px 0;
    border-bottom: 1px solid var(--zv-em-border);
}

.zv-email-marketing-page .zv-em-type-index {
    padding-top: 3px;
    color: var(--zv-em-orange);
    font-size: 12px;
    font-weight: 800;
}

.zv-email-marketing-page .zv-em-type-item h3 {
    margin: 0 0 7px;
    font-size: 17px;
    font-weight: 750;
    line-height: 1.45;
}

.zv-email-marketing-page .zv-em-type-item p {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
}

.zv-email-marketing-page .zv-em-type-arrow {
    padding-top: 2px;
    color: var(--zv-em-blue);
    font-size: 20px;
}

/* PROCESS */

.zv-email-marketing-page .zv-em-process {
    background: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}

.zv-email-marketing-page .zv-em-process-step {
    position: relative;
    padding: 25px 22px;
    border-top: 3px solid var(--zv-em-blue);
    background: var(--zv-em-light);
}

.zv-email-marketing-page .zv-em-step-number {
    display: inline-block;
    margin-bottom: 25px;
    color: var(--zv-em-orange);
    font-size: 13px;
    font-weight: 850;
    letter-spacing: 1px;
}

.zv-email-marketing-page .zv-em-process-step h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.4;
}

.zv-email-marketing-page .zv-em-process-step p {
    margin: 0;
    font-size: 13px;
    line-height: 1.8;
}

/* WHY ZENVENTA */

.zv-email-marketing-page .zv-em-why {
    background: var(--zv-em-light);
}

.zv-email-marketing-page .zv-em-why-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    align-items: center;
    gap: clamp(40px, 7vw, 85px);
}

.zv-email-marketing-page .zv-em-why-content > p {
    max-width: 580px;
    margin-bottom: 27px;
}

.zv-email-marketing-page .zv-em-check-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-top: 21px;
}

.zv-email-marketing-page .zv-em-check-item > span {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #e4efff;
    color: var(--zv-em-blue);
    font-size: 13px;
    font-weight: 800;
}

.zv-email-marketing-page .zv-em-check-item h3 {
    margin: 0 0 5px;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.5;
}

.zv-email-marketing-page .zv-em-check-item p {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
}

.zv-email-marketing-page .zv-em-why-panel {
    padding: 34px;
    border: 1px solid var(--zv-em-border);
    border-radius: 10px;
    background: var(--zv-em-white);
    box-shadow: 0 18px 50px rgba(11, 33, 72, .06);
}

.zv-email-marketing-page .zv-em-panel-overline {
    color: var(--zv-em-blue);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 1.6px;
}

.zv-email-marketing-page .zv-em-why-panel > h3 {
    margin: 12px 0 26px;
    font-size: 25px;
    font-weight: 750;
    letter-spacing: -.5px;
    line-height: 1.35;
}

.zv-email-marketing-page .zv-em-checklist-row {
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 15px 0;
    border-top: 1px solid var(--zv-em-border);
}

.zv-email-marketing-page .zv-em-check-circle {
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: #e8f6ef;
    color: #18794e;
    font-size: 11px;
    font-weight: 800;
}

.zv-email-marketing-page .zv-em-checklist-row > span:nth-child(2) {
    color: var(--zv-em-text);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.6;
}

.zv-email-marketing-page .zv-em-check-status {
    color: #18794e;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .7px;
}

.zv-email-marketing-page .zv-em-panel-footnote {
    margin: 17px 0 0;
    font-size: 11px;
    line-height: 1.7;
}

/* FAQ */

.zv-email-marketing-page .zv-em-faq {
    background: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(40px, 8vw, 100px);
}

.zv-email-marketing-page .zv-em-faq-intro > p {
    max-width: 390px;
}

.zv-email-marketing-page .zv-em-faq-list {
    border-top: 1px solid var(--zv-em-border);
}

.zv-email-marketing-page .zv-em-faq-item {
    border-bottom: 1px solid var(--zv-em-border);
}

.zv-email-marketing-page .zv-em-faq-item summary {
    position: relative;
    padding: 21px 37px 21px 0;
    color: var(--zv-em-navy);
    cursor: pointer;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.6;
    list-style: none;
}

.zv-email-marketing-page .zv-em-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-email-marketing-page .zv-em-faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 4px;
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid var(--zv-em-border);
    border-radius: 50%;
    color: var(--zv-em-blue);
    content: "+";
    font-size: 17px;
    font-weight: 500;
    transform: translateY(-50%);
}

.zv-email-marketing-page .zv-em-faq-item[open] summary::after {
    content: "\2212";
    border-color: var(--zv-em-blue);
}

.zv-email-marketing-page .zv-em-faq-answer {
    padding: 0 25px 20px 0;
}

.zv-email-marketing-page .zv-em-faq-answer p {
    margin: 0;
    font-size: 13px;
    line-height: 1.85;
}

/* FINAL CTA */

.zv-email-marketing-page .zv-em-cta-section {
    padding: 0 0 90px;
    background: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-cta-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(40px, 6vw, 72px);
    border-radius: 10px;
    background: var(--zv-em-navy);
    isolation: isolate;
}

.zv-email-marketing-page .zv-em-cta-decoration {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    pointer-events: none;
}

.zv-email-marketing-page .zv-em-cta-decoration-one {
    top: -190px;
    right: -75px;
    width: 410px;
    height: 410px;
}

.zv-email-marketing-page .zv-em-cta-decoration-two {
    top: -130px;
    right: -15px;
    width: 290px;
    height: 290px;
    border-color: rgba(244, 123, 32, .42);
}

.zv-email-marketing-page .zv-em-cta-content {
    max-width: 760px;
}

.zv-email-marketing-page .zv-em-cta-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: #ffad70;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 1.7px;
}

.zv-email-marketing-page .zv-em-cta-content h2 {
    max-width: 700px;
    margin-bottom: 17px;
    color: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-cta-content > p {
    max-width: 650px;
    margin-bottom: 25px;
    color: rgba(255, 255, 255, .78);
}

.zv-email-marketing-page .zv-em-cta-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
}

.zv-email-marketing-page .zv-em-button-light {
    background: var(--zv-em-white);
    color: var(--zv-em-navy);
}

.zv-email-marketing-page .zv-em-button-light:hover {
    background: var(--zv-em-orange);
    color: var(--zv-em-white);
}

.zv-email-marketing-page .zv-em-cta-secondary {
    color: var(--zv-em-white);
    font-size: 13px;
    font-weight: 700;
}

.zv-email-marketing-page .zv-em-cta-secondary:hover {
    color: #ffad70;
}

/* RESPONSIVE: TABLETS */

@media (max-width: 1050px) {
    .zv-email-marketing-page .zv-em-section {
        padding-block: 70px;
    }

    .zv-email-marketing-page .zv-em-intro-grid {
        gap: 35px;
    }

    .zv-email-marketing-page .zv-em-visual {
        min-height: 420px;
        padding-inline: 12px;
    }

    .zv-email-marketing-page .zv-em-note-top {
        right: -3px;
    }

    .zv-email-marketing-page .zv-em-note-bottom {
        left: -3px;
    }

    .zv-email-marketing-page .zv-em-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-email-marketing-page .zv-em-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .zv-email-marketing-page .zv-em-types-grid,
    .zv-email-marketing-page .zv-em-why-grid,
    .zv-email-marketing-page .zv-em-faq-grid {
        gap: 40px;
    }
}

/* RESPONSIVE: SMALL TABLETS AND LARGE PHONES */

@media (max-width: 760px) {
    .zv-email-marketing-page .zv-em-container {
        width: min(var(--zv-em-container), calc(100% - 36px));
    }

    .zv-email-marketing-page .zv-em-section {
        padding-block: 58px;
    }

    .zv-email-marketing-page h2 {
        font-size: clamp(28px, 6vw, 36px);
        letter-spacing: -.8px;
    }

    .zv-email-marketing-page .zv-em-intro-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .zv-email-marketing-page .zv-em-intro-content {
        max-width: 650px;
    }

    .zv-email-marketing-page .zv-em-visual {
        width: min(100%, 520px);
        min-height: 430px;
        margin-inline: auto;
    }

    .zv-email-marketing-page .zv-em-benefits-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 23px;
    }

    .zv-email-marketing-page .zv-em-benefit {
        max-width: 500px;
    }

    .zv-email-marketing-page .zv-em-section-heading {
        margin-bottom: 32px;
        text-align: left;
    }

    .zv-email-marketing-page .zv-em-section-heading p {
        margin-inline: 0;
    }

    .zv-email-marketing-page .zv-em-types-grid,
    .zv-email-marketing-page .zv-em-why-grid,
    .zv-email-marketing-page .zv-em-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 35px;
    }

    .zv-email-marketing-page .zv-em-types-heading {
        position: static;
    }

    .zv-email-marketing-page .zv-em-why-panel {
        padding: 28px 23px;
    }

    .zv-email-marketing-page .zv-em-cta-section {
        padding-bottom: 58px;
    }

    .zv-email-marketing-page .zv-em-cta-panel {
        padding: 38px 27px;
    }
}

/* RESPONSIVE: MOBILE */

@media (max-width: 520px) {
    .zv-email-marketing-page .zv-em-container {
        width: calc(100% - 32px);
    }

    .zv-email-marketing-page .zv-em-section {
        padding-block: 48px;
    }

    .zv-email-marketing-page .zv-em-eyebrow {
        margin-bottom: 12px;
        font-size: 10px;
        letter-spacing: 1.4px;
    }

    .zv-email-marketing-page h2 {
        margin-bottom: 16px;
        font-size: 29px;
        line-height: 1.23;
    }

    .zv-email-marketing-page p {
        font-size: 14px;
        line-height: 1.8;
    }

    .zv-email-marketing-page .zv-em-button {
        width: 100%;
        min-height: 50px;
        padding: 13px 15px;
    }

    .zv-email-marketing-page .zv-em-visual {
        min-height: 385px;
        padding: 25px 7px;
    }

    .zv-email-marketing-page .zv-em-mail-card {
        width: min(100%, 335px);
    }

    .zv-email-marketing-page .zv-em-mail-body {
        padding: 22px 21px 19px;
    }

    .zv-email-marketing-page .zv-em-mail-body h3 {
        font-size: 23px;
    }

    .zv-email-marketing-page .zv-em-floating-note {
        gap: 8px;
        padding: 10px;
    }

    .zv-email-marketing-page .zv-em-note-top {
        top: 3%;
        right: 0;
    }

    .zv-email-marketing-page .zv-em-note-bottom {
        bottom: 2%;
        left: 0;
    }

    .zv-email-marketing-page .zv-em-note-icon {
        flex-basis: 31px;
        width: 31px;
        height: 31px;
        font-size: 16px;
    }

    .zv-email-marketing-page .zv-em-floating-note strong {
        font-size: 10px;
    }

    .zv-email-marketing-page .zv-em-floating-note small {
        font-size: 9px;
    }

    .zv-email-marketing-page .zv-em-service-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .zv-email-marketing-page .zv-em-service-card {
        padding: 25px 22px;
    }

    .zv-email-marketing-page .zv-em-service-card h3 {
        font-size: 18px;
    }

    .zv-email-marketing-page .zv-em-process-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .zv-email-marketing-page .zv-em-process-step {
        padding: 22px;
    }

    .zv-email-marketing-page .zv-em-step-number {
        margin-bottom: 15px;
    }

    .zv-email-marketing-page .zv-em-type-item {
        grid-template-columns: 30px minmax(0, 1fr) 15px;
        gap: 11px;
        padding-block: 19px;
    }

    .zv-email-marketing-page .zv-em-type-item h3 {
        font-size: 15px;
    }

    .zv-email-marketing-page .zv-em-type-item p {
        font-size: 12px;
    }

    .zv-email-marketing-page .zv-em-why-panel {
        padding: 25px 18px;
    }

    .zv-email-marketing-page .zv-em-why-panel > h3 {
        font-size: 22px;
    }

    .zv-email-marketing-page .zv-em-checklist-row {
        grid-template-columns: 23px minmax(0, 1fr);
        gap: 9px;
    }

    .zv-email-marketing-page .zv-em-check-status {
        grid-column: 2;
        margin-top: -5px;
    }

    .zv-email-marketing-page .zv-em-faq-item summary {
        padding-block: 18px;
        padding-right: 33px;
        font-size: 14px;
    }

    .zv-email-marketing-page .zv-em-cta-section {
        padding-bottom: 45px;
    }

    .zv-email-marketing-page .zv-em-cta-panel {
        padding: 33px 22px;
        border-radius: 7px;
    }

    .zv-email-marketing-page .zv-em-cta-content h2 {
        font-size: 28px;
    }

    .zv-email-marketing-page .zv-em-cta-actions {
        align-items: stretch;
        gap: 17px;
    }

    .zv-email-marketing-page .zv-em-cta-secondary {
        align-self: center;
    }
}

@media (max-width: 360px) {
    .zv-email-marketing-page .zv-em-container {
        width: calc(100% - 26px);
    }

    .zv-email-marketing-page h2 {
        font-size: 26px;
    }

    .zv-email-marketing-page .zv-em-visual {
        min-height: 365px;
    }

    .zv-email-marketing-page .zv-em-mail-body h3 {
        font-size: 21px;
    }

    .zv-email-marketing-page .zv-em-floating-note {
        max-width: 95%;
    }

    .zv-email-marketing-page .zv-em-cta-panel {
        padding-inline: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-email-marketing-page *,
    .zv-email-marketing-page *::before,
    .zv-email-marketing-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}






















/* =========================================================
   CONTENT MARKETING PAGE
   Zenventa Custom Theme
========================================================= */

.zv-content-marketing-page {
    --zcm-primary: var(--zv-primary, #0b2148);
    --zcm-primary-dark: var(--zv-primary-dark, #061631);
    --zcm-secondary: var(--zv-secondary, #1769c2);
    --zcm-accent: var(--zv-accent, #f47b20);
    --zcm-white: var(--zv-white, #ffffff);
    --zcm-light: var(--zv-light, #f7f9fc);
    --zcm-light-2: var(--zv-light-2, #eef3f8);
    --zcm-text: var(--zv-text, #26364d);
    --zcm-muted: var(--zv-text-light, #65748a);
    --zcm-border: var(--zv-border, #dce4ee);
    --zcm-font: var(--zv-font-primary, "Inter", Arial, sans-serif);

    color: var(--zcm-text);
    font-family: var(--zcm-font);
    font-size: 16px;
    line-height: 1.75;
    overflow: clip;
}

.zv-content-marketing-page *,
.zv-content-marketing-page *::before,
.zv-content-marketing-page *::after {
    box-sizing: border-box;
}

.zv-content-marketing-page img,
.zv-content-marketing-page svg {
    max-width: 100%;
}

.zv-content-marketing-page a {
    text-decoration: none;
}

.zv-content-marketing-page h2,
.zv-content-marketing-page h3 {
    color: var(--zcm-primary);
    font-family: var(--zcm-font);
    letter-spacing: -0.035em;
    line-height: 1.23;
}

.zv-content-marketing-page h2 {
    margin: 0 0 20px;
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 750;
}

.zv-content-marketing-page h3 {
    margin: 0 0 13px;
    font-size: 20px;
    font-weight: 700;
}

.zv-content-marketing-page p {
    margin-top: 0;
}

.zv-content-marketing-page .zcm-container {
    width: min(1200px, calc(100% - 48px));
    margin-inline: auto;
}

.zv-content-marketing-page .zcm-section {
    padding: 35px 0;
}

.zv-content-marketing-page .zcm-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 17px;
    color: var(--zcm-secondary);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.14em;
    line-height: 1.5;
    text-transform: uppercase;
}

.zv-content-marketing-page .zcm-eyebrow::before {
    content: "";
    flex: 0 0 26px;
    width: 26px;
    height: 3px;
    border-radius: 5px;
    background: var(--zcm-accent);
}

.zv-content-marketing-page .zcm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 53px;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-family: var(--zcm-font);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.45;
    text-align: center;
    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.zv-content-marketing-page .zcm-btn span {
    font-size: 19px;
    line-height: 1;
    transition: transform .25s ease;
}

.zv-content-marketing-page .zcm-btn:hover span {
    transform: translateX(4px);
}

.zv-content-marketing-page .zcm-btn-primary {
    background: var(--zcm-primary);
    color: var(--zcm-white);
    box-shadow: 0 8px 20px rgba(11, 33, 72, .12);
}

.zv-content-marketing-page .zcm-btn-primary:hover {
    background: var(--zcm-secondary);
    color: var(--zcm-white);
    transform: translateY(-2px);
    box-shadow: 0 12px 25px rgba(23, 105, 194, .18);
}

.zv-content-marketing-page .zcm-btn-light {
    background: var(--zcm-white);
    color: var(--zcm-primary);
}

.zv-content-marketing-page .zcm-btn-light:hover {
    background: var(--zcm-light-2);
    color: var(--zcm-primary);
    transform: translateY(-2px);
}

.zv-content-marketing-page a:focus-visible,
.zv-content-marketing-page summary:focus-visible {
    outline: 3px solid var(--zcm-accent);
    outline-offset: 4px;
}

/* INTRODUCTION */

.zv-content-marketing-page .zcm-intro {
    background: var(--zcm-white);
}

.zv-content-marketing-page .zcm-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr);
    align-items: center;
    gap: clamp(38px, 6vw, 78px);
}

.zv-content-marketing-page .zcm-intro-content h2 span {
    color: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-intro-content > p {
    margin-bottom: 17px;
    color: var(--zcm-muted);
    font-size: 14px;
    line-height: 1.95;
}

.zv-content-marketing-page .zcm-intro-points {
    display: grid;
    gap: 12px;
    margin: 26px 0 30px;
}

.zv-content-marketing-page .zcm-intro-points > div {
    display: flex;
    align-items: center;
    gap: 11px;
    color: var(--zcm-primary);
    font-size: 13px;
    font-weight: 650;
}

.zv-content-marketing-page .zcm-intro-points > div > span {
    display: grid;
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zcm-secondary);
    font-size: 12px;
    font-weight: 800;
}

/* CONTENT WORKSPACE ILLUSTRATION */

.zv-content-marketing-page .zcm-content-visual {
    position: relative;
    min-width: 0;
    padding: 28px;
    border: 1px solid var(--zcm-border);
    border-radius: 16px;
    background:
        radial-gradient(ellipse at 100% 0%, rgba(23, 105, 194, .1), transparent 44%),
        var(--zcm-light);
    box-shadow: 0 22px 55px rgba(11, 33, 72, .07);
}

.zv-content-marketing-page .zcm-visual-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
}

.zv-content-marketing-page .zcm-visual-kicker {
    display: block;
    margin-bottom: 7px;
    color: var(--zcm-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
}

.zv-content-marketing-page .zcm-visual-top h3 {
    margin: 0;
    font-size: 20px;
}

.zv-content-marketing-page .zcm-live-dot {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid var(--zcm-border);
    border-radius: 30px;
    background: var(--zcm-white);
    color: var(--zcm-muted);
    font-size: 10px;
    font-weight: 650;
    white-space: nowrap;
}

.zv-content-marketing-page .zcm-live-dot::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-content-board {
    display: grid;
    grid-template-columns: 53px minmax(0, 1fr);
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--zcm-border);
    border-radius: 10px;
    background: var(--zcm-white);
    box-shadow: 0 12px 28px rgba(11, 33, 72, .05);
}

.zv-content-marketing-page .zcm-board-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    padding: 17px 7px;
    border-right: 1px solid var(--zcm-border);
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-sidebar-mark {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 8px;
    background: var(--zcm-primary);
    color: var(--zcm-white);
    font-size: 15px;
    font-weight: 800;
}

.zv-content-marketing-page .zcm-sidebar-item {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 7px;
    color: var(--zcm-muted);
    font-size: 17px;
}

.zv-content-marketing-page .zcm-sidebar-active {
    background: rgba(23, 105, 194, .11);
    color: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-board-main {
    min-width: 0;
    padding: 20px 17px;
}

.zv-content-marketing-page .zcm-board-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 17px;
}

.zv-content-marketing-page .zcm-board-heading > div > span,
.zv-content-marketing-page .zcm-board-heading > div > strong {
    display: block;
}

.zv-content-marketing-page .zcm-board-heading > div > span {
    margin-bottom: 5px;
    color: var(--zcm-muted);
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .08em;
}

.zv-content-marketing-page .zcm-board-heading > div > strong {
    color: var(--zcm-primary);
    font-size: 15px;
}

.zv-content-marketing-page .zcm-board-menu {
    color: var(--zcm-muted);
    font-size: 23px;
}

.zv-content-marketing-page .zcm-board-summary {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 20px;
    padding: 12px;
    border: 1px solid var(--zcm-border);
    border-radius: 8px;
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-summary-icon {
    display: grid;
    flex: 0 0 35px;
    width: 35px;
    height: 35px;
    place-items: center;
    border-radius: 8px;
    background: rgba(23, 105, 194, .11);
    color: var(--zcm-secondary);
    font-size: 20px;
}

.zv-content-marketing-page .zcm-board-summary strong,
.zv-content-marketing-page .zcm-board-summary span {
    display: block;
}

.zv-content-marketing-page .zcm-board-summary strong {
    color: var(--zcm-primary);
    font-size: 11px;
}

.zv-content-marketing-page .zcm-board-summary div:last-child > span {
    margin-top: 3px;
    color: var(--zcm-muted);
    font-size: 9px;
}

.zv-content-marketing-page .zcm-board-label {
    margin-bottom: 10px;
    color: var(--zcm-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}

.zv-content-marketing-page .zcm-pillar {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    padding: 10px;
    border: 1px solid var(--zcm-border);
    border-radius: 8px;
}

.zv-content-marketing-page .zcm-pillar-icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 7px;
    font-size: 17px;
}

.zv-content-marketing-page .zcm-pillar-blue {
    background: rgba(23, 105, 194, .1);
    color: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-pillar-orange {
    background: rgba(244, 123, 32, .12);
    color: var(--zcm-accent);
}

.zv-content-marketing-page .zcm-pillar-green {
    background: rgba(23, 105, 194, .08);
    color: var(--zcm-primary);
}

.zv-content-marketing-page .zcm-pillar > div strong,
.zv-content-marketing-page .zcm-pillar > div span {
    display: block;
}

.zv-content-marketing-page .zcm-pillar > div strong {
    color: var(--zcm-primary);
    font-size: 10px;
    line-height: 1.5;
}

.zv-content-marketing-page .zcm-pillar > div span {
    margin-top: 3px;
    color: var(--zcm-muted);
    font-size: 9px;
    line-height: 1.5;
}

.zv-content-marketing-page .zcm-pillar-status {
    padding: 5px 7px;
    border-radius: 5px;
    background: var(--zcm-light);
    color: var(--zcm-muted);
    font-size: 8px;
    font-weight: 750;
}

.zv-content-marketing-page .zcm-board-progress {
    margin-top: 17px;
    padding-top: 14px;
    border-top: 1px solid var(--zcm-border);
}

.zv-content-marketing-page .zcm-board-progress > div:first-child {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.zv-content-marketing-page .zcm-board-progress span {
    color: var(--zcm-muted);
    font-size: 9px;
}

.zv-content-marketing-page .zcm-board-progress strong {
    color: var(--zcm-primary);
    font-size: 9px;
}

.zv-content-marketing-page .zcm-progress-track {
    overflow: hidden;
    height: 5px;
    border-radius: 10px;
    background: var(--zcm-light-2);
}

.zv-content-marketing-page .zcm-progress-track span {
    display: block;
    width: 72%;
    height: 100%;
    border-radius: inherit;
    background: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-visual-note {
    position: absolute;
    right: -13px;
    bottom: -20px;
    display: flex;
    align-items: center;
    gap: 11px;
    max-width: calc(100% - 20px);
    padding: 14px 17px;
    border: 1px solid var(--zcm-border);
    border-radius: 10px;
    background: var(--zcm-white);
    box-shadow: 0 12px 30px rgba(11, 33, 72, .11);
}

.zv-content-marketing-page .zcm-visual-note > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zcm-secondary);
    font-size: 14px;
    font-weight: 800;
}

.zv-content-marketing-page .zcm-visual-note strong,
.zv-content-marketing-page .zcm-visual-note small {
    display: block;
}

.zv-content-marketing-page .zcm-visual-note strong {
    color: var(--zcm-primary);
    font-size: 11px;
}

.zv-content-marketing-page .zcm-visual-note small {
    margin-top: 3px;
    color: var(--zcm-muted);
    font-size: 9px;
}

/* BENEFITS STRIP */

.zv-content-marketing-page .zcm-benefits-strip {
    padding: 29px 0;
    background: var(--zcm-primary);
}

.zv-content-marketing-page .zcm-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zv-content-marketing-page .zcm-benefits-grid > div {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
    padding: 8px 19px;
    border-right: 1px solid rgba(255, 255, 255, .17);
}

.zv-content-marketing-page .zcm-benefits-grid > div:first-child {
    padding-left: 0;
}

.zv-content-marketing-page .zcm-benefits-grid > div:last-child {
    padding-right: 0;
    border-right: 0;
}

.zv-content-marketing-page .zcm-benefit-icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 9px;
    color: var(--zcm-white);
    font-size: 21px;
}

.zv-content-marketing-page .zcm-benefits-grid strong {
    display: block;
    color: var(--zcm-white);
    font-size: 12px;
    line-height: 1.5;
}

.zv-content-marketing-page .zcm-benefits-grid p {
    margin: 4px 0 0;
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    line-height: 1.6;
}

/* SECTION HEADING */

.zv-content-marketing-page .zcm-section-heading {
    max-width: 780px;
    margin: 0 auto 47px;
    text-align: center;
}

.zv-content-marketing-page .zcm-section-heading .zcm-eyebrow {
    justify-content: center;
}

.zv-content-marketing-page .zcm-section-heading > p {
    max-width: 680px;
    margin: 0 auto;
    color: var(--zcm-muted);
    font-size: 14px;
    line-height: 1.9;
}

/* SERVICES GRID */

.zv-content-marketing-page .zcm-services {
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.zv-content-marketing-page .zcm-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 318px;
    padding: 29px 26px 25px;
    border: 1px solid var(--zcm-border);
    border-radius: 12px;
    background: var(--zcm-white);
    transition:
        transform .25s ease,
        border-color .25s ease,
        box-shadow .25s ease;
}

.zv-content-marketing-page .zcm-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, .4);
    box-shadow: 0 18px 40px rgba(11, 33, 72, .08);
}

.zv-content-marketing-page .zcm-service-number {
    position: absolute;
    top: 25px;
    right: 24px;
    color: #9cabc0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
}

.zv-content-marketing-page .zcm-service-icon {
    display: grid;
    width: 55px;
    height: 55px;
    place-items: center;
    margin-bottom: 22px;
    border-radius: 10px;
    background: rgba(23, 105, 194, .09);
    color: var(--zcm-secondary);
    transition: background-color .25s ease, color .25s ease;
}

.zv-content-marketing-page .zcm-service-card:hover .zcm-service-icon {
    background: var(--zcm-secondary);
    color: var(--zcm-white);
}

.zv-content-marketing-page .zcm-service-icon svg {
    width: 34px;
    height: 34px;
}

.zv-content-marketing-page .zcm-service-card h3 {
    margin-bottom: 11px;
    font-size: 18px;
}

.zv-content-marketing-page .zcm-service-card > p {
    margin-bottom: 22px;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.9;
}

.zv-content-marketing-page .zcm-service-card > a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: auto;
    color: var(--zcm-secondary);
    font-size: 11px;
    font-weight: 750;
}

.zv-content-marketing-page .zcm-service-card > a span {
    font-size: 17px;
    transition: transform .2s ease;
}

.zv-content-marketing-page .zcm-service-card > a:hover span {
    transform: translateX(4px);
}

/* CTA BAND */

.zv-content-marketing-page .zcm-cta-band {
    padding: 0 0 10px;
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 42px 46px;
    border-radius: 13px;
    background: var(--zcm-primary);
}

.zv-content-marketing-page .zcm-cta-inner > div {
    max-width: 740px;
}

.zv-content-marketing-page .zcm-cta-label {
    display: block;
    margin-bottom: 12px;
    color: #b8d8ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.zv-content-marketing-page .zcm-cta-inner h2 {
    margin-bottom: 12px;
    color: var(--zcm-white);
    font-size: clamp(25px, 3vw, 35px);
}

.zv-content-marketing-page .zcm-cta-inner p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.85;
}

.zv-content-marketing-page .zcm-cta-inner > .zcm-btn {
    flex: 0 0 auto;
}

/* CONTENT FORMATS */

.zv-content-marketing-page .zcm-formats {
    background: var(--zcm-white);
}

.zv-content-marketing-page .zcm-formats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.zv-content-marketing-page .zcm-format-card {
    overflow: hidden;
    min-width: 0;
    border: 1px solid var(--zcm-border);
    border-radius: 11px;
    background: var(--zcm-white);
    transition: transform .25s ease, box-shadow .25s ease;
}

.zv-content-marketing-page .zcm-format-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(11, 33, 72, .08);
}

.zv-content-marketing-page .zcm-format-visual {
    position: relative;
    display: grid;
    min-height: 190px;
    place-items: center;
    overflow: hidden;
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-format-label {
    position: absolute;
    top: 14px;
    left: 15px;
    color: var(--zcm-muted);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .1em;
}

.zv-content-marketing-page .zcm-format-article {
    background: linear-gradient(145deg, #edf4fc, #f8fafd);
}

.zv-content-marketing-page .zcm-paper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 104px;
    padding: 20px 16px;
    border: 1px solid var(--zcm-border);
    border-radius: 6px;
    background: var(--zcm-white);
    box-shadow: 0 10px 24px rgba(11, 33, 72, .08);
    transform: rotate(-4deg);
}

.zv-content-marketing-page .zcm-paper span {
    display: block;
    height: 5px;
    border-radius: 4px;
    background: #c9d9ed;
}

.zv-content-marketing-page .zcm-paper span:first-child {
    width: 65%;
    height: 9px;
    background: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-paper i {
    display: block;
    width: 78%;
    height: 4px;
    border-radius: 4px;
    background: var(--zcm-light-2);
}

.zv-content-marketing-page .zcm-format-web {
    background: linear-gradient(145deg, #eff5fb, #e6eef8);
}

.zv-content-marketing-page .zcm-mini-browser {
    width: 150px;
    padding: 0 12px 15px;
    border: 1px solid #d1deec;
    border-radius: 7px;
    background: var(--zcm-white);
    box-shadow: 0 10px 24px rgba(11, 33, 72, .08);
}

.zv-content-marketing-page .zcm-browser-top {
    display: flex;
    gap: 4px;
    padding: 10px 0;
    border-bottom: 1px solid var(--zcm-border);
}

.zv-content-marketing-page .zcm-browser-top i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #b4c7dd;
}

.zv-content-marketing-page .zcm-browser-line {
    display: block;
    width: 85%;
    height: 7px;
    margin-top: 13px;
    border-radius: 4px;
    background: #d9e4f1;
}

.zv-content-marketing-page .zcm-browser-line.short {
    width: 58%;
    height: 5px;
    margin-top: 8px;
}

.zv-content-marketing-page .zcm-browser-button {
    display: block;
    width: 53px;
    height: 15px;
    margin-top: 13px;
    border-radius: 4px;
    background: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-format-social {
    background: linear-gradient(145deg, #fff5ed, #fbf8f4);
}

.zv-content-marketing-page .zcm-social-stack {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.zv-content-marketing-page .zcm-social-stack span {
    display: grid;
    width: 43px;
    height: 50px;
    place-items: center;
    border: 1px solid var(--zcm-border);
    border-radius: 9px;
    background: var(--zcm-white);
    color: var(--zcm-secondary);
    font-size: 21px;
    box-shadow: 0 8px 20px rgba(11, 33, 72, .05);
}

.zv-content-marketing-page .zcm-social-stack span:nth-child(2) {
    transform: translateY(-10px);
    color: var(--zcm-accent);
}

.zv-content-marketing-page .zcm-format-email {
    background: linear-gradient(145deg, #edf6f4, #f5faf9);
}

.zv-content-marketing-page .zcm-envelope {
    display: grid;
    width: 90px;
    height: 65px;
    place-items: center;
    border: 1px solid #cbdedb;
    border-radius: 8px;
    background: var(--zcm-white);
    color: var(--zcm-secondary);
    font-size: 36px;
    box-shadow: 0 10px 24px rgba(11, 33, 72, .07);
}

.zv-content-marketing-page .zcm-format-content {
    padding: 21px 19px 23px;
}

.zv-content-marketing-page .zcm-format-index {
    display: block;
    margin-bottom: 9px;
    color: var(--zcm-secondary);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}

.zv-content-marketing-page .zcm-format-content h3 {
    margin-bottom: 10px;
    font-size: 17px;
}

.zv-content-marketing-page .zcm-format-content p {
    margin: 0;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.85;
}

/* PROCESS */

.zv-content-marketing-page .zcm-process {
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-process-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
}

.zv-content-marketing-page .zcm-process-step {
    position: relative;
    min-width: 0;
    padding-top: 6px;
}

.zv-content-marketing-page .zcm-step-number {
    position: absolute;
    top: 6px;
    right: 0;
    color: #a4b2c4;
    font-size: 11px;
    font-weight: 800;
}

.zv-content-marketing-page .zcm-step-symbol {
    display: grid;
    width: 51px;
    height: 51px;
    place-items: center;
    border: 1px solid rgba(23, 105, 194, .2);
    border-radius: 11px;
    background: var(--zcm-white);
    color: var(--zcm-secondary);
    font-size: 24px;
}

.zv-content-marketing-page .zcm-process-step h3 {
    margin: 20px 0 10px;
    font-size: 17px;
}

.zv-content-marketing-page .zcm-process-step p {
    margin: 0;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.9;
}

/* WHO WE HELP */

.zv-content-marketing-page .zcm-audiences {
    background: var(--zcm-white);
}

.zv-content-marketing-page .zcm-audience-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: start;
    gap: clamp(40px, 7vw, 90px);
}

.zv-content-marketing-page .zcm-audience-intro > p {
    margin-bottom: 27px;
    color: var(--zcm-muted);
    font-size: 14px;
    line-height: 1.9;
}

.zv-content-marketing-page .zcm-audience-list {
    display: grid;
    gap: 13px;
}

.zv-content-marketing-page .zcm-audience-list article {
    display: flex;
    align-items: flex-start;
    gap: 17px;
    padding: 22px;
    border: 1px solid var(--zcm-border);
    border-radius: 10px;
    background: var(--zcm-white);
    transition: border-color .25s ease, transform .25s ease;
}

.zv-content-marketing-page .zcm-audience-list article:hover {
    transform: translateX(3px);
    border-color: rgba(23, 105, 194, .38);
}

.zv-content-marketing-page .zcm-audience-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 9px;
    background: rgba(23, 105, 194, .09);
    color: var(--zcm-secondary);
    font-size: 23px;
}

.zv-content-marketing-page .zcm-audience-list h3 {
    margin-bottom: 6px;
    font-size: 16px;
}

.zv-content-marketing-page .zcm-audience-list p {
    margin: 0;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.8;
}

/* WHY ZENVENTA */

.zv-content-marketing-page .zcm-why {
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-why-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(40px, 7vw, 85px);
}

.zv-content-marketing-page .zcm-why-visual {
    position: relative;
    padding: 0 13px 28px 0;
}

.zv-content-marketing-page .zcm-why-card {
    padding: 35px 30px;
    border: 1px solid var(--zcm-border);
    border-radius: 13px;
    background: var(--zcm-white);
    box-shadow: 0 15px 40px rgba(11, 33, 72, .04);
}

.zv-content-marketing-page .zcm-why-card h3 {
    margin-bottom: 13px;
    font-size: 26px;
}

.zv-content-marketing-page .zcm-why-card > p {
    margin-bottom: 24px;
    color: var(--zcm-muted);
    font-size: 13px;
    line-height: 1.9;
}

.zv-content-marketing-page .zcm-why-flow {
    display: grid;
    gap: 9px;
}

.zv-content-marketing-page .zcm-why-flow > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px;
    border: 1px solid var(--zcm-border);
    border-radius: 7px;
    background: var(--zcm-light);
    color: var(--zcm-primary);
    font-size: 12px;
    font-weight: 700;
}

.zv-content-marketing-page .zcm-why-flow > div > span {
    display: grid;
    flex: 0 0 27px;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 6px;
    background: var(--zcm-white);
    color: var(--zcm-secondary);
    font-size: 10px;
    font-weight: 800;
}

.zv-content-marketing-page .zcm-why-flow > i {
    padding-left: 17px;
    color: var(--zcm-secondary);
    font-size: 16px;
    font-style: normal;
    line-height: 1;
}

.zv-content-marketing-page .zcm-why-note {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    max-width: calc(100% - 18px);
    padding: 14px 18px;
    border: 1px solid var(--zcm-border);
    border-radius: 10px;
    background: var(--zcm-white);
    box-shadow: 0 10px 28px rgba(11, 33, 72, .09);
}

.zv-content-marketing-page .zcm-why-note > span {
    display: grid;
    flex: 0 0 33px;
    width: 33px;
    height: 33px;
    place-items: center;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zcm-secondary);
    font-weight: 800;
}

.zv-content-marketing-page .zcm-why-note strong,
.zv-content-marketing-page .zcm-why-note small {
    display: block;
}

.zv-content-marketing-page .zcm-why-note strong {
    color: var(--zcm-primary);
    font-size: 11px;
}

.zv-content-marketing-page .zcm-why-note small {
    margin-top: 3px;
    color: var(--zcm-muted);
    font-size: 9px;
}

.zv-content-marketing-page .zcm-why-content > p {
    margin-bottom: 25px;
    color: var(--zcm-muted);
    font-size: 13px;
    line-height: 1.95;
}

.zv-content-marketing-page .zcm-why-points {
    display: grid;
    gap: 19px;
    margin-bottom: 29px;
}

.zv-content-marketing-page .zcm-why-points > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.zv-content-marketing-page .zcm-why-points > div > span {
    display: grid;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    place-items: center;
    margin-top: 1px;
    border-radius: 50%;
    background: rgba(23, 105, 194, .1);
    color: var(--zcm-secondary);
    font-size: 11px;
    font-weight: 800;
}

.zv-content-marketing-page .zcm-why-points h3 {
    margin-bottom: 5px;
    font-size: 14px;
    letter-spacing: -.01em;
}

.zv-content-marketing-page .zcm-why-points p {
    margin: 0;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.8;
}

/* FAQ */

.zv-content-marketing-page .zcm-faq {
    background: var(--zcm-white);
}

.zv-content-marketing-page .zcm-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(35px, 6vw, 75px);
}

.zv-content-marketing-page .zcm-faq-intro {
    position: sticky;
    top: 30px;
}

.zv-content-marketing-page .zcm-faq-intro > p {
    margin-bottom: 27px;
    color: var(--zcm-muted);
    font-size: 13px;
    line-height: 1.9;
}

.zv-content-marketing-page .zcm-faq-contact {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 21px;
    border: 1px solid var(--zcm-border);
    border-radius: 10px;
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-faq-contact-icon {
    display: grid;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    place-items: center;
    border-radius: 8px;
    background: var(--zcm-white);
    color: var(--zcm-secondary);
    font-size: 20px;
}

.zv-content-marketing-page .zcm-faq-contact strong {
    display: block;
    margin-bottom: 5px;
    color: var(--zcm-primary);
    font-size: 12px;
}

.zv-content-marketing-page .zcm-faq-contact p {
    margin-bottom: 9px;
    color: var(--zcm-muted);
    font-size: 11px;
    line-height: 1.7;
}

.zv-content-marketing-page .zcm-faq-contact a {
    color: var(--zcm-secondary);
    font-size: 11px;
    font-weight: 750;
}

.zv-content-marketing-page .zcm-faq-list {
    display: grid;
    gap: 11px;
}

.zv-content-marketing-page .zcm-faq-item {
    overflow: hidden;
    border: 1px solid var(--zcm-border);
    border-radius: 9px;
    background: var(--zcm-white);
}

.zv-content-marketing-page .zcm-faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    padding: 20px 22px;
    color: var(--zcm-primary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
}

.zv-content-marketing-page .zcm-faq-item summary::-webkit-details-marker {
    display: none;
}

.zv-content-marketing-page .zcm-faq-toggle {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: rgba(23, 105, 194, .09);
}

.zv-content-marketing-page .zcm-faq-toggle::before,
.zv-content-marketing-page .zcm-faq-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 2px;
    border-radius: 2px;
    background: var(--zcm-secondary);
    transform: translate(-50%, -50%);
    transition: transform .2s ease;
}

.zv-content-marketing-page .zcm-faq-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.zv-content-marketing-page .zcm-faq-item[open] .zcm-faq-toggle::after {
    transform: translate(-50%, -50%) rotate(0);
}

.zv-content-marketing-page .zcm-faq-item[open] summary {
    color: var(--zcm-secondary);
}

.zv-content-marketing-page .zcm-faq-answer {
    padding: 0 22px 20px;
}

.zv-content-marketing-page .zcm-faq-answer p {
    margin: 0;
    color: var(--zcm-muted);
    font-size: 12px;
    line-height: 1.9;
}

/* FINAL CTA */

.zv-content-marketing-page .zcm-final-cta {
    padding: 75px 0;
    background: var(--zcm-light);
}

.zv-content-marketing-page .zcm-final-inner {
    position: relative;
    overflow: hidden;
    padding: 57px 30px;
    border-radius: 14px;
    background: var(--zcm-primary);
    text-align: center;
}

.zv-content-marketing-page .zcm-final-inner::before,
.zv-content-marketing-page .zcm-final-inner::after {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    pointer-events: none;
}

.zv-content-marketing-page .zcm-final-inner::before {
    top: -140px;
    left: -100px;
}

.zv-content-marketing-page .zcm-final-inner::after {
    right: -90px;
    bottom: -160px;
}

.zv-content-marketing-page .zcm-final-icon {
    display: grid;
    width: 51px;
    height: 51px;
    place-items: center;
    margin: 0 auto 21px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 12px;
    color: var(--zcm-white);
    font-size: 26px;
}

.zv-content-marketing-page .zcm-final-inner h2 {
    max-width: 760px;
    margin: 0 auto 16px;
    color: var(--zcm-white);
    font-size: clamp(28px, 3.5vw, 42px);
}

.zv-content-marketing-page .zcm-final-inner > p {
    max-width: 650px;
    margin: 0 auto 27px;
    color: rgba(255, 255, 255, .76);
    font-size: 13px;
    line-height: 1.9;
}

.zv-content-marketing-page .zcm-final-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 19px;
}

.zv-content-marketing-page .zcm-final-email {
    color: var(--zcm-white);
    font-size: 12px;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.zv-content-marketing-page .zcm-final-email:hover {
    color: #b8d8ff;
}

/* =========================================================
   RESPONSIVE: TABLET
========================================================= */

@media (max-width: 1100px) {
    .zv-content-marketing-page .zcm-container {
        width: min(100% - 40px, 1200px);
    }

    .zv-content-marketing-page .zcm-section {
        padding: 78px 0;
    }

    .zv-content-marketing-page .zcm-intro-grid {
        gap: 38px;
    }

    .zv-content-marketing-page .zcm-content-visual {
        padding: 20px;
    }

    .zv-content-marketing-page .zcm-board-main {
        padding: 16px 12px;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div {
        gap: 10px;
        padding-inline: 12px;
    }

    .zv-content-marketing-page .zcm-benefit-icon {
        flex-basis: 35px;
        width: 35px;
        height: 35px;
        font-size: 18px;
    }

    .zv-content-marketing-page .zcm-service-card {
        padding: 25px 21px;
    }

    .zv-content-marketing-page .zcm-formats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .zv-content-marketing-page .zcm-intro-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .zv-content-marketing-page .zcm-intro-content {
        max-width: 760px;
    }

    .zv-content-marketing-page .zcm-content-visual {
        width: min(100%, 640px);
        margin-inline: auto;
    }

    .zv-content-marketing-page .zcm-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 20px;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div {
        padding: 8px 20px;
        border-right: 0;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(odd) {
        padding-left: 0;
        border-right: 1px solid rgba(255, 255, 255, .17);
    }

    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-content-marketing-page .zcm-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-content-marketing-page .zcm-process-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 30px;
    }

    .zv-content-marketing-page .zcm-audience-grid,
    .zv-content-marketing-page .zcm-why-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .zv-content-marketing-page .zcm-audience-intro,
    .zv-content-marketing-page .zcm-why-content {
        max-width: 760px;
    }

    .zv-content-marketing-page .zcm-why-visual {
        width: min(100%, 620px);
        margin-inline: auto;
    }

    .zv-content-marketing-page .zcm-faq-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .zv-content-marketing-page .zcm-faq-intro {
        position: static;
        max-width: 700px;
    }

    .zv-content-marketing-page .zcm-faq-contact {
        max-width: 430px;
    }

    .zv-content-marketing-page .zcm-cta-inner {
        padding: 34px;
    }
}

/* =========================================================
   RESPONSIVE: MOBILE
========================================================= */

@media (max-width: 600px) {
    .zv-content-marketing-page {
        font-size: 14px;
    }

    .zv-content-marketing-page .zcm-container {
        width: calc(100% - 36px);
    }

    .zv-content-marketing-page .zcm-section {
        padding: 60px 0;
    }

    .zv-content-marketing-page h2 {
        margin-bottom: 16px;
        font-size: clamp(27px, 7vw, 34px);
    }

    .zv-content-marketing-page h3 {
        font-size: 18px;
    }

    .zv-content-marketing-page .zcm-eyebrow {
        margin-bottom: 13px;
        font-size: 10px;
    }

    .zv-content-marketing-page .zcm-btn {
        min-height: 49px;
        padding: 12px 16px;
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-intro-grid {
        gap: 35px;
    }

    .zv-content-marketing-page .zcm-intro-content > p {
        font-size: 13px;
    }

    .zv-content-marketing-page .zcm-intro-points {
        margin: 22px 0 25px;
    }

    .zv-content-marketing-page .zcm-intro-points > div {
        align-items: flex-start;
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-content-visual {
        padding: 14px;
        border-radius: 11px;
    }

    .zv-content-marketing-page .zcm-visual-top {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 15px;
    }

    .zv-content-marketing-page .zcm-visual-top h3 {
        font-size: 18px;
    }

    .zv-content-marketing-page .zcm-content-board {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .zv-content-marketing-page .zcm-board-sidebar {
        gap: 15px;
        padding: 13px 4px;
    }

    .zv-content-marketing-page .zcm-sidebar-mark,
    .zv-content-marketing-page .zcm-sidebar-item {
        width: 28px;
        height: 28px;
    }

    .zv-content-marketing-page .zcm-board-main {
        padding: 13px 9px;
    }

    .zv-content-marketing-page .zcm-board-heading {
        margin-bottom: 12px;
    }

    .zv-content-marketing-page .zcm-board-heading > div > strong {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-board-heading > div > span {
        font-size: 7px;
    }

    .zv-content-marketing-page .zcm-board-summary {
        gap: 7px;
        margin-bottom: 14px;
        padding: 8px;
    }

    .zv-content-marketing-page .zcm-summary-icon {
        flex-basis: 29px;
        width: 29px;
        height: 29px;
        font-size: 16px;
    }

    .zv-content-marketing-page .zcm-board-summary strong {
        font-size: 9px;
    }

    .zv-content-marketing-page .zcm-board-summary div:last-child > span {
        font-size: 8px;
    }

    .zv-content-marketing-page .zcm-pillar {
        grid-template-columns: 27px minmax(0, 1fr);
        gap: 7px;
        padding: 8px 6px;
    }

    .zv-content-marketing-page .zcm-pillar-icon {
        width: 27px;
        height: 27px;
        font-size: 14px;
    }

    .zv-content-marketing-page .zcm-pillar > div strong {
        font-size: 9px;
    }

    .zv-content-marketing-page .zcm-pillar > div span {
        font-size: 8px;
    }

    .zv-content-marketing-page .zcm-pillar-status {
        display: none;
    }

    .zv-content-marketing-page .zcm-board-progress > div:first-child {
        flex-direction: column;
        gap: 4px;
    }

    .zv-content-marketing-page .zcm-visual-note {
        position: relative;
        right: auto;
        bottom: auto;
        width: fit-content;
        margin: 13px 0 0 auto;
        padding: 10px 12px;
        box-shadow: 0 5px 16px rgba(11, 33, 72, .06);
    }

    .zv-content-marketing-page .zcm-visual-note > span {
        flex-basis: 29px;
        width: 29px;
        height: 29px;
    }

    .zv-content-marketing-page .zcm-visual-note strong {
        font-size: 10px;
    }

    .zv-content-marketing-page .zcm-visual-note small {
        font-size: 8px;
    }

    .zv-content-marketing-page .zcm-benefits-strip {
        padding: 22px 0;
    }

    .zv-content-marketing-page .zcm-benefits-grid {
        gap: 16px 8px;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div,
    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(odd),
    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(even) {
        align-items: flex-start;
        gap: 8px;
        padding: 5px 7px;
        border-right: 0;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(odd) {
        padding-left: 0;
    }

    .zv-content-marketing-page .zcm-benefits-grid > div:nth-child(even) {
        padding-right: 0;
    }

    .zv-content-marketing-page .zcm-benefit-icon {
        flex-basis: 29px;
        width: 29px;
        height: 29px;
        font-size: 15px;
    }

    .zv-content-marketing-page .zcm-benefits-grid strong {
        font-size: 10px;
    }

    .zv-content-marketing-page .zcm-benefits-grid p {
        font-size: 9px;
        line-height: 1.6;
    }

    .zv-content-marketing-page .zcm-section-heading {
        margin-bottom: 31px;
    }

    .zv-content-marketing-page .zcm-section-heading > p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-services-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .zv-content-marketing-page .zcm-service-card {
        min-height: 0;
        padding: 24px 21px;
    }

    .zv-content-marketing-page .zcm-service-icon {
        width: 48px;
        height: 48px;
        margin-bottom: 18px;
    }

    .zv-content-marketing-page .zcm-service-icon svg {
        width: 29px;
        height: 29px;
    }

    .zv-content-marketing-page .zcm-service-card h3 {
        font-size: 17px;
    }

    .zv-content-marketing-page .zcm-service-card > p {
        margin-bottom: 17px;
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-cta-band {
        padding: 0;
    }

    .zv-content-marketing-page .zcm-cta-inner {
        align-items: flex-start;
        flex-direction: column;
        gap: 21px;
        padding: 29px 22px;
        border-radius: 10px;
    }

    .zv-content-marketing-page .zcm-cta-inner h2 {
        font-size: 25px;
    }

    .zv-content-marketing-page .zcm-cta-inner p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-formats-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .zv-content-marketing-page .zcm-format-card {
        display: grid;
        grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
    }

    .zv-content-marketing-page .zcm-format-visual {
        min-height: 170px;
    }

    .zv-content-marketing-page .zcm-format-label {
        top: 10px;
        left: 9px;
        font-size: 7px;
    }

    .zv-content-marketing-page .zcm-mini-browser {
        width: 105px;
        padding: 0 8px 10px;
    }

    .zv-content-marketing-page .zcm-format-content {
        align-self: center;
        padding: 17px 13px;
    }

    .zv-content-marketing-page .zcm-format-content h3 {
        font-size: 15px;
    }

    .zv-content-marketing-page .zcm-format-content p {
        font-size: 11px;
        line-height: 1.75;
    }

    .zv-content-marketing-page .zcm-process-grid {
        grid-template-columns: 1fr;
        gap: 23px;
    }

    .zv-content-marketing-page .zcm-process-step {
        display: grid;
        grid-template-columns: 48px minmax(0, 1fr);
        column-gap: 14px;
        align-items: start;
    }

    .zv-content-marketing-page .zcm-step-symbol {
        grid-row: 1 / span 2;
        width: 44px;
        height: 44px;
        font-size: 21px;
    }

    .zv-content-marketing-page .zcm-step-number {
        top: 0;
        right: 0;
    }

    .zv-content-marketing-page .zcm-process-step h3 {
        margin: 1px 25px 7px 0;
        font-size: 16px;
    }

    .zv-content-marketing-page .zcm-process-step p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-audience-grid,
    .zv-content-marketing-page .zcm-why-grid {
        gap: 36px;
    }

    .zv-content-marketing-page .zcm-audience-intro > p,
    .zv-content-marketing-page .zcm-why-content > p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-audience-list {
        gap: 11px;
    }

    .zv-content-marketing-page .zcm-audience-list article {
        gap: 12px;
        padding: 16px;
    }

    .zv-content-marketing-page .zcm-audience-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 19px;
    }

    .zv-content-marketing-page .zcm-audience-list h3 {
        font-size: 14px;
    }

    .zv-content-marketing-page .zcm-audience-list p {
        font-size: 11px;
    }

    .zv-content-marketing-page .zcm-why-visual {
        padding: 0 0 22px;
    }

    .zv-content-marketing-page .zcm-why-card {
        padding: 26px 20px;
    }

    .zv-content-marketing-page .zcm-why-card h3 {
        font-size: 23px;
    }

    .zv-content-marketing-page .zcm-why-note {
        right: 7px;
        max-width: calc(100% - 14px);
        padding: 11px;
    }

    .zv-content-marketing-page .zcm-why-note strong {
        font-size: 10px;
    }

    .zv-content-marketing-page .zcm-why-note small {
        font-size: 8px;
    }

    .zv-content-marketing-page .zcm-why-points {
        gap: 17px;
    }

    .zv-content-marketing-page .zcm-why-points h3 {
        font-size: 13px;
    }

    .zv-content-marketing-page .zcm-why-points p {
        font-size: 11px;
    }

    .zv-content-marketing-page .zcm-faq-grid {
        gap: 25px;
    }

    .zv-content-marketing-page .zcm-faq-intro > p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-faq-contact {
        padding: 16px;
    }

    .zv-content-marketing-page .zcm-faq-item summary {
        gap: 12px;
        padding: 16px 14px;
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-faq-toggle {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }

    .zv-content-marketing-page .zcm-faq-answer {
        padding: 0 14px 16px;
    }

    .zv-content-marketing-page .zcm-faq-answer p {
        font-size: 11px;
    }

    .zv-content-marketing-page .zcm-final-cta {
        padding: 50px 0;
    }

    .zv-content-marketing-page .zcm-final-inner {
        padding: 38px 19px;
        border-radius: 10px;
    }

    .zv-content-marketing-page .zcm-final-inner h2 {
        font-size: 28px;
    }

    .zv-content-marketing-page .zcm-final-inner > p {
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-final-actions {
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 360px) {
    .zv-content-marketing-page .zcm-container {
        width: calc(100% - 28px);
    }

    .zv-content-marketing-page .zcm-content-visual {
        padding: 10px;
    }

    .zv-content-marketing-page .zcm-board-main {
        padding: 11px 7px;
    }

    .zv-content-marketing-page .zcm-pillar {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 5px;
        padding: 7px 5px;
    }

    .zv-content-marketing-page .zcm-pillar-icon {
        width: 24px;
        height: 24px;
        font-size: 12px;
    }

    .zv-content-marketing-page .zcm-pillar > div strong {
        font-size: 8px;
    }

    .zv-content-marketing-page .zcm-format-card {
        grid-template-columns: minmax(95px, .75fr) minmax(0, 1.25fr);
    }

    .zv-content-marketing-page .zcm-format-content {
        padding: 13px 10px;
    }

    .zv-content-marketing-page .zcm-format-content h3 {
        font-size: 14px;
    }

    .zv-content-marketing-page .zcm-format-content p {
        font-size: 10px;
    }

    .zv-content-marketing-page .zcm-final-inner h2 {
        font-size: 25px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-content-marketing-page *,
    .zv-content-marketing-page *::before,
    .zv-content-marketing-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
















/* =========================================================
   GOOGLE BUSINESS PROFILE OPTIMIZATION PAGE
   Template: template-profile-optimization.php
========================================================= */

.zv-profile-optimization-page {
    --zvpo-navy: var(--zv-primary, #0b2148);
    --zvpo-navy-dark: var(--zv-primary-dark, #061631);
    --zvpo-blue: var(--zv-secondary, #1769c2);
    --zvpo-orange: var(--zv-accent, #f47b20);
    --zvpo-white: var(--zv-white, #ffffff);
    --zvpo-light: var(--zv-light, #f7f9fc);
    --zvpo-light-2: var(--zv-light-2, #eef3f8);
    --zvpo-text: var(--zv-text, #26364d);
    --zvpo-muted: var(--zv-text-light, #65748a);
    --zvpo-border: var(--zv-border, #dce4ee);
    --zvpo-container: var(--zv-container, 1200px);

    color: var(--zvpo-text);
    font-family: var(--zv-font-primary, "Inter", Arial, sans-serif);
    overflow: clip;
}

.zv-profile-optimization-page *,
.zv-profile-optimization-page *::before,
.zv-profile-optimization-page *::after {
    box-sizing: border-box;
}

.zv-profile-optimization-page img,
.zv-profile-optimization-page svg {
    max-width: 100%;
}

.zvpo-container {
    width: min(var(--zvpo-container), calc(100% - 48px));
    margin-inline: auto;
}

.zvpo-section {
    padding: 88px 0;
}

.zvpo-eyebrow {
    display: inline-block;
    margin-bottom: 15px;
    color: var(--zvpo-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.7px;
    line-height: 1.5;
    text-transform: uppercase;
}

.zvpo-eyebrow-light {
    color: #ffbd86;
}

.zv-profile-optimization-page h2,
.zv-profile-optimization-page h3,
.zv-profile-optimization-page p {
    margin-top: 0;
}

.zv-profile-optimization-page h2 {
    margin-bottom: 20px;
    color: var(--zvpo-navy);
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 750;
    letter-spacing: -1.35px;
    line-height: 1.18;
}

.zv-profile-optimization-page h3 {
    color: var(--zvpo-navy);
    font-size: 19px;
    font-weight: 750;
    line-height: 1.4;
}

.zv-profile-optimization-page p {
    color: var(--zvpo-muted);
    font-size: 15px;
    line-height: 1.85;
}

.zv-profile-optimization-page a {
    text-decoration: none;
}

.zv-profile-optimization-page a:focus-visible,
.zv-profile-optimization-page summary:focus-visible {
    outline: 3px solid var(--zvpo-orange);
    outline-offset: 4px;
}

/* Buttons */
.zvpo-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 14px 23px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    transition: background .2s ease, color .2s ease,
                border-color .2s ease, transform .2s ease;
}

.zvpo-btn:hover {
    transform: translateY(-2px);
}

.zvpo-btn-primary {
    background: var(--zvpo-orange);
    color: #fff;
}

.zvpo-btn-primary:hover {
    background: var(--zv-accent-dark, #d9610b);
    color: #fff;
}

.zvpo-btn-light {
    background: #fff;
    color: var(--zvpo-navy);
}

.zvpo-btn-light:hover {
    background: #edf4fc;
    color: var(--zvpo-navy);
}

.zvpo-btn-outline-light {
    border-color: rgba(255,255,255,.55);
    background: transparent;
    color: #fff;
}

.zvpo-btn-outline-light:hover {
    border-color: #fff;
    background: rgba(255,255,255,.09);
    color: #fff;
}

/* Intro */
.zvpo-intro {
    padding-top: 92px;
    padding-bottom: 90px;
    background: #fff;
}

.zvpo-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
    align-items: center;
    gap: clamp(42px, 6vw, 82px);
}

.zvpo-intro-content > p {
    max-width: 620px;
}

.zvpo-check-list {
    display: grid;
    gap: 13px;
    margin: 27px 0 31px;
    padding: 0;
    list-style: none;
}

.zvpo-check-list li {
    position: relative;
    padding-left: 31px;
    color: var(--zvpo-text);
    font-size: 14px;
    line-height: 1.7;
}

.zvpo-check-list li::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    width: 21px;
    height: 21px;
    place-items: center;
    border-radius: 50%;
    background: #e7f3ff;
    color: var(--zvpo-blue);
    content: "\2713";
    font-size: 12px;
    font-weight: 800;
}

/* Profile illustration */
.zvpo-profile-visual {
    position: relative;
    min-width: 0;
    padding: 18px 15px 35px 10px;
}

.zvpo-profile-window {
    overflow: hidden;
    border: 1px solid var(--zvpo-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(11, 33, 72, .13);
}

.zvpo-window-top {
    display: flex;
    align-items: center;
    gap: 6px;
    min-height: 47px;
    padding: 0 17px;
    border-bottom: 1px solid #edf0f5;
    background: #fbfcfe;
}

.zvpo-window-top > span:nth-child(-n+3) {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c8d3e0;
}

.zvpo-window-label {
    margin-left: auto;
    color: var(--zvpo-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.zvpo-profile-cover {
    display: flex;
    min-height: 115px;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.15), transparent 25%),
        linear-gradient(130deg, var(--zvpo-navy-dark), var(--zvpo-blue));
}

.zvpo-cover-symbol {
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 15px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-size: 31px;
    font-weight: 800;
}

.zvpo-profile-details {
    padding: 24px;
}

.zvpo-profile-tag {
    display: inline-block;
    margin-bottom: 9px;
    color: var(--zvpo-blue);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

.zvpo-profile-details h3 {
    margin-bottom: 7px;
    font-size: 23px;
}

.zvpo-profile-details > p {
    margin-bottom: 18px;
    font-size: 12px;
    line-height: 1.6;
}

.zvpo-profile-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.zvpo-profile-actions span {
    padding: 9px 12px;
    border: 1px solid #d9e6f5;
    border-radius: 5px;
    color: var(--zvpo-blue);
    font-size: 11px;
    font-weight: 750;
}

.zvpo-profile-divider {
    height: 1px;
    margin: 21px 0 8px;
    background: var(--zvpo-border);
}

.zvpo-profile-info-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 13px 0;
}

.zvpo-info-icon {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 9px;
    background: #edf5ff;
    color: var(--zvpo-blue);
    font-size: 15px;
    font-weight: 800;
}

.zvpo-profile-info-row strong,
.zvpo-profile-info-row small {
    display: block;
}

.zvpo-profile-info-row strong {
    margin: 1px 0 4px;
    color: var(--zvpo-navy);
    font-size: 12px;
}

.zvpo-profile-info-row small {
    color: var(--zvpo-muted);
    font-size: 11px;
    line-height: 1.6;
}

.zvpo-floating-note {
    position: absolute;
    right: -6px;
    bottom: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: calc(100% - 25px);
    padding: 15px 19px;
    border: 1px solid #e4eaf2;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 12px 35px rgba(11, 33, 72, .12);
}

.zvpo-note-icon {
    display: grid;
    flex: 0 0 33px;
    width: 33px;
    height: 33px;
    place-items: center;
    border-radius: 50%;
    background: #e7f5ed;
    color: #16834c;
    font-weight: 800;
}

.zvpo-floating-note strong,
.zvpo-floating-note small {
    display: block;
}

.zvpo-floating-note strong {
    color: var(--zvpo-navy);
    font-size: 12px;
}

.zvpo-floating-note small {
    margin-top: 4px;
    color: var(--zvpo-muted);
    font-size: 10px;
    line-height: 1.5;
}

/* Benefits strip */
.zvpo-benefits {
    padding: 27px 0;
    border-top: 1px solid var(--zvpo-border);
    border-bottom: 1px solid var(--zvpo-border);
    background: var(--zvpo-light);
}

.zvpo-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}

.zvpo-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.zvpo-benefit-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 10px;
    background: #e4efff;
    color: var(--zvpo-blue);
    font-size: 18px;
    font-weight: 800;
}

.zvpo-benefit strong,
.zvpo-benefit small {
    display: block;
}

.zvpo-benefit strong {
    margin-bottom: 5px;
    color: var(--zvpo-navy);
    font-size: 12px;
    line-height: 1.45;
}

.zvpo-benefit small {
    color: var(--zvpo-muted);
    font-size: 11px;
    line-height: 1.55;
}

/* Section headings */
.zvpo-section-heading {
    max-width: 760px;
    margin: 0 auto 43px;
    text-align: center;
}

.zvpo-section-heading > p {
    max-width: 650px;
    margin: 0 auto;
}

/* Services */
.zvpo-services {
    background: #fff;
}

.zvpo-services-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 21px;
}

.zvpo-service-card {
    height: 100%;
    padding: 28px 24px;
    border: 1px solid var(--zvpo-border);
    border-radius: 11px;
    background: #fff;
    transition: transform .22s ease, box-shadow .22s ease,
                border-color .22s ease;
}

.zvpo-service-card:hover {
    transform: translateY(-5px);
    border-color: #c1d8f3;
    box-shadow: 0 16px 35px rgba(11, 33, 72, .07);
}

.zvpo-service-icon {
    display: grid;
    width: 47px;
    height: 47px;
    margin-bottom: 21px;
    place-items: center;
    border-radius: 10px;
    background: #eaf3ff;
    color: var(--zvpo-blue);
    font-size: 21px;
    font-weight: 800;
}

.zvpo-service-card h3 {
    margin-bottom: 11px;
    font-size: 17px;
}

.zvpo-service-card p {
    margin-bottom: 0;
    font-size: 13px;
    line-height: 1.8;
}

/* CTA band */
.zvpo-cta-band {
    padding: 55px 0;
    background: linear-gradient(115deg, var(--zvpo-navy-dark), var(--zvpo-blue));
}

.zvpo-cta-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
}

.zvpo-cta-content > div {
    max-width: 760px;
}

.zvpo-cta-content h2 {
    margin-bottom: 13px;
    color: #fff;
    font-size: clamp(27px, 3vw, 37px);
    letter-spacing: -1px;
}

.zvpo-cta-content p {
    margin-bottom: 0;
    color: rgba(255,255,255,.8);
}

.zvpo-cta-content .zvpo-btn {
    flex-shrink: 0;
}

/* Checklist section */
.zvpo-checklist-section {
    background: var(--zvpo-light);
}

.zvpo-checklist-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .83fr);
    align-items: center;
    gap: clamp(40px, 6vw, 85px);
}

.zvpo-checklist {
    display: grid;
    gap: 14px;
    margin-top: 28px;
}

.zvpo-checklist > div {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    color: var(--zvpo-text);
    font-size: 14px;
    line-height: 1.65;
}

.zvpo-checklist > div > span {
    display: grid;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: #dff3e8;
    color: #16834c;
    font-size: 12px;
    font-weight: 800;
}

.zvpo-principles-card {
    padding: clamp(26px, 4vw, 43px);
    border: 1px solid var(--zvpo-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 15px 45px rgba(11, 33, 72, .06);
}

.zvpo-principles-icon {
    display: grid;
    width: 50px;
    height: 50px;
    margin-bottom: 20px;
    place-items: center;
    border-radius: 12px;
    background: #fff0e4;
    color: var(--zvpo-orange);
    font-size: 24px;
}

.zvpo-principles-card h3 {
    margin-bottom: 13px;
    font-size: 23px;
}

.zvpo-principles-card > p {
    margin-bottom: 23px;
    font-size: 14px;
}

.zvpo-principle {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    border-top: 1px solid var(--zvpo-border);
    color: var(--zvpo-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.6;
}

.zvpo-principle strong {
    color: var(--zvpo-blue);
    font-size: 13px;
}

/* Process */
.zvpo-process-section {
    background: #fff;
}

.zvpo-process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
}

.zvpo-process-card {
    position: relative;
    padding: 28px 24px;
    border: 1px solid var(--zvpo-border);
    border-radius: 11px;
    background: #fff;
}

.zvpo-step-number {
    display: inline-block;
    margin-bottom: 25px;
    color: var(--zvpo-orange);
    font-size: 29px;
    font-weight: 800;
    letter-spacing: -1px;
}

.zvpo-process-card h3 {
    margin-bottom: 11px;
}

.zvpo-process-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Audiences */
.zvpo-audience-section {
    background: var(--zvpo-light);
}

.zvpo-audience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.zvpo-audience-card {
    padding: 28px 23px;
    border: 1px solid var(--zvpo-border);
    border-radius: 10px;
    background: #fff;
}

.zvpo-audience-card > span {
    display: grid;
    width: 45px;
    height: 45px;
    margin-bottom: 19px;
    place-items: center;
    border-radius: 10px;
    background: #eaf3ff;
    color: var(--zvpo-blue);
    font-size: 23px;
}

.zvpo-audience-card h3 {
    margin-bottom: 10px;
    font-size: 16px;
}

.zvpo-audience-card p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Why Zenventa */
.zvpo-why-section {
    background: #fff;
}

.zvpo-why-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
    gap: clamp(40px, 7vw, 95px);
}

.zvpo-why-grid > div:first-child > p {
    max-width: 510px;
}

.zvpo-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    color: var(--zvpo-blue);
    font-size: 14px;
    font-weight: 750;
}

.zvpo-text-link:hover {
    color: var(--zvpo-orange);
}

.zvpo-why-list article {
    display: flex;
    gap: 20px;
    padding: 21px 0;
    border-bottom: 1px solid var(--zvpo-border);
}

.zvpo-why-list article:first-child {
    padding-top: 0;
}

.zvpo-why-list article > span {
    flex: 0 0 43px;
    color: var(--zvpo-orange);
    font-size: 22px;
    font-weight: 800;
}

.zvpo-why-list h3 {
    margin-bottom: 6px;
    font-size: 16px;
}

.zvpo-why-list p {
    margin-bottom: 0;
    font-size: 13px;
}

/* FAQ */
.zvpo-faq-section {
    background: var(--zvpo-light);
}

.zvpo-faq-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: clamp(35px, 7vw, 90px);
}

.zvpo-faq-intro {
    position: sticky;
    top: 30px;
}

.zvpo-faq-list details {
    margin-bottom: 13px;
    overflow: hidden;
    border: 1px solid var(--zvpo-border);
    border-radius: 9px;
    background: #fff;
}

.zvpo-faq-list summary {
    position: relative;
    padding: 20px 49px 20px 21px;
    color: var(--zvpo-navy);
    cursor: pointer;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.6;
    list-style: none;
}

.zvpo-faq-list summary::-webkit-details-marker {
    display: none;
}

.zvpo-faq-list summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border-radius: 50%;
    background: #eaf3ff;
    color: var(--zvpo-blue);
    content: "+";
    font-size: 17px;
    transform: translateY(-50%);
}

.zvpo-faq-list details[open] summary::after {
    content: "\2212";
}

.zvpo-faq-answer {
    padding: 0 21px 19px;
}

.zvpo-faq-answer p {
    margin-bottom: 0;
    font-size: 13px;
}

/* Final CTA */
.zvpo-final-cta {
    padding: 82px 0;
    background: linear-gradient(120deg, var(--zvpo-navy-dark), var(--zvpo-blue));
    text-align: center;
}

.zvpo-final-cta-inner {
    max-width: 830px;
}

.zvpo-final-cta h2 {
    margin-bottom: 17px;
    color: #fff;
    font-size: clamp(32px, 4vw, 46px);
}

.zvpo-final-cta p {
    max-width: 670px;
    margin: 0 auto;
    color: rgba(255,255,255,.82);
}

.zvpo-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 13px;
    margin-top: 30px;
}

/* Responsive layouts */
@media (max-width: 1100px) {
    .zvpo-services-grid,
    .zvpo-audience-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zvpo-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 22px;
    }

    .zvpo-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zvpo-intro-grid {
        gap: 38px;
    }

    .zvpo-cta-content {
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    .zvpo-container {
        width: min(100% - 36px, var(--zvpo-container));
    }

    .zvpo-section {
        padding: 64px 0;
    }

    .zvpo-intro {
        padding-top: 60px;
        padding-bottom: 65px;
    }

    .zvpo-intro-grid,
    .zvpo-checklist-grid,
    .zvpo-why-grid,
    .zvpo-faq-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 36px;
    }

    .zvpo-profile-visual {
        width: min(100%, 520px);
        margin-inline: auto;
    }

    .zvpo-floating-note {
        right: 0;
    }

    .zvpo-section-heading {
        margin-bottom: 31px;
        text-align: left;
    }

    .zvpo-section-heading > p {
        margin-inline: 0;
    }

    .zvpo-cta-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .zvpo-faq-intro {
        position: static;
    }

    .zvpo-final-cta {
        padding: 65px 0;
    }

    .zvpo-final-cta h2 {
        font-size: 34px;
    }
}

@media (max-width: 520px) {
    .zvpo-container {
        width: calc(100% - 32px);
    }

    .zv-profile-optimization-page h2 {
        font-size: 30px;
        letter-spacing: -.8px;
    }

    .zvpo-benefits-grid,
    .zvpo-services-grid,
    .zvpo-process-grid,
    .zvpo-audience-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zvpo-benefit {
        align-items: flex-start;
    }

    .zvpo-service-card,
    .zvpo-process-card,
    .zvpo-audience-card {
        padding: 24px 21px;
    }

    .zvpo-profile-details {
        padding: 19px;
    }

    .zvpo-profile-cover {
        min-height: 95px;
    }

    .zvpo-profile-details h3 {
        font-size: 20px;
    }

    .zvpo-profile-actions {
        gap: 6px;
    }

    .zvpo-profile-actions span {
        padding: 8px 9px;
        font-size: 10px;
    }

    .zvpo-floating-note {
        max-width: calc(100% - 12px);
        padding: 12px;
    }

    .zvpo-floating-note small {
        font-size: 9px;
    }

    .zvpo-cta-band {
        padding: 42px 0;
    }

    .zvpo-final-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .zvpo-final-actions .zvpo-btn {
        width: 100%;
    }

    .zvpo-faq-list summary {
        padding: 17px 43px 17px 16px;
        font-size: 13px;
    }

    .zvpo-faq-list summary::after {
        right: 13px;
    }

    .zvpo-faq-answer {
        padding: 0 16px 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-profile-optimization-page *,
    .zv-profile-optimization-page *::before,
    .zv-profile-optimization-page *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}









/* =========================================================
   ABOUT PAGE - DIRECTORS AND TEAM UPDATES
========================================================= */

/* Directors */
.zv-about-director-layout {
    display: flex;
    flex-direction: column;
    gap: 70px;
}

.zv-about-director-profile {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: clamp(32px, 5vw, 70px);
}

.zv-about-director-profile-secondary {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
}

.zv-about-director-profile-secondary .zv-about-director-image-wrap {
    order: 2;
}

.zv-about-director-profile-secondary .zv-about-director-content {
    order: 1;
}

.zv-about-director-image-wrap {
    position: relative;
    min-width: 0;
    max-width: 470px;
    width: 100%;
    margin-inline: auto;
}

.zv-about-director-image {
    overflow: hidden;
    aspect-ratio: 4 / 4.5;
    border-radius: 14px;
    background: var(--zv-light-2, #eef3f8);
    box-shadow: 0 15px 40px rgba(11, 33, 72, .10);
}

.zv-about-director-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.zv-about-director-badge {
    position: absolute;
    right: -14px;
    bottom: 25px;
    padding: 12px 22px;
    border-radius: 6px;
    background: var(--zv-accent, #f47b20);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(11, 33, 72, .13);
}

.zv-about-director-name {
    margin: 0 0 7px;
    color: var(--zv-primary, #0b2148);
    font-size: clamp(24px, 2.5vw, 31px);
    font-weight: 750;
    line-height: 1.25;
}

.zv-about-director-designation {
    margin-bottom: 22px;
    color: var(--zv-secondary, #1769c2);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.7;
}

.zv-about-director-content p {
    color: var(--zv-text-light, #65748a);
    font-size: 15px;
    line-height: 1.9;
}

.zv-about-director-content .zv-about-director-intro {
    color: var(--zv-text, #26364d);
}

.zv-about-director-signature {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding-top: 14px;
    border-top: 2px solid var(--zv-accent, #f47b20);
    color: var(--zv-primary, #0b2148);
    font-size: 13px;
    font-weight: 750;
}

/* Team section intro */
.zv-about-team-header {
    max-width: 850px;
    margin: 0 auto 45px;
    text-align: center;
}

.zv-about-team-header > p {
    color: var(--zv-text-light, #65748a);
    font-size: 15px;
    line-height: 1.85;
}

.zv-about-team-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 24px;
}

/* Service team cards */
.zv-about-team-service-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--zv-border, #dce4ee);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(11, 33, 72, .04);
    transition: transform .25s ease, box-shadow .25s ease,
                border-color .25s ease;
}

.zv-about-team-service-card:hover {
    transform: translateY(-5px);
    border-color: rgba(23, 105, 194, .35);
    box-shadow: 0 17px 38px rgba(11, 33, 72, .09);
}

.zv-about-team-service-icon {
    display: flex;
    min-height: 105px;
    align-items: center;
    justify-content: flex-start;
    padding: 24px 27px;
    background: linear-gradient(
        130deg,
        var(--zv-primary-dark, #061631),
        var(--zv-primary, #0b2148)
    );
}

.zv-about-team-service-icon span {
    color: var(--zv-accent, #f47b20);
    font-size: 38px;
    font-weight: 800;
    letter-spacing: -1.5px;
    line-height: 1;
}

.zv-about-team-service-card .zv-about-team-info {
    padding: 27px;
}

.zv-about-team-service-card .zv-about-team-info h3 {
    margin: 0 0 13px;
    color: var(--zv-primary, #0b2148);
    font-size: 19px;
    font-weight: 750;
    line-height: 1.45;
}

.zv-about-team-service-card .zv-about-team-info p {
    margin: 0;
    color: var(--zv-text-light, #65748a);
    font-size: 14px;
    line-height: 1.85;
}

/* Commitment panel */
.zv-about-team-commitment {
    position: relative;
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 65px;
    padding: clamp(28px, 5vw, 52px);
    border: 1px solid var(--zv-border, #dce4ee);
    border-left: 5px solid var(--zv-accent, #f47b20);
    border-radius: 12px;
    background: var(--zv-light, #f7f9fc);
}

.zv-about-team-commitment-mark {
    display: grid;
    width: 65px;
    height: 65px;
    place-items: center;
    border-radius: 12px;
    background: var(--zv-primary, #0b2148);
    color: #fff;
}

.zv-about-team-commitment-mark span {
    margin-top: 12px;
    font-family: Georgia, serif;
    font-size: 58px;
    line-height: 1;
}

.zv-about-team-commitment-content h2 {
    margin-bottom: 15px;
}

.zv-about-team-commitment-content p {
    max-width: 850px;
    margin: 0;
    color: var(--zv-text-light, #65748a);
    font-size: 15px;
    line-height: 1.9;
}

/* Responsive */
@media (max-width: 1024px) {
    .zv-about-director-layout {
        gap: 55px;
    }

    .zv-about-director-profile,
    .zv-about-director-profile-secondary {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        gap: 35px;
    }

    .zv-about-team-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zv-about-director-badge {
        right: -7px;
    }
}

@media (max-width: 767px) {
    .zv-about-director-layout {
        gap: 48px;
    }

    .zv-about-director-profile,
    .zv-about-director-profile-secondary {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .zv-about-director-profile-secondary .zv-about-director-image-wrap,
    .zv-about-director-profile-secondary .zv-about-director-content {
        order: initial;
    }

    .zv-about-director-image-wrap {
        max-width: 420px;
    }

    .zv-about-director-image {
        aspect-ratio: 4 / 3.7;
    }

    .zv-about-director-badge {
        right: 10px;
        bottom: 15px;
    }

    .zv-about-team-header {
        margin-bottom: 32px;
        text-align: left;
    }

    .zv-about-team-services-grid {
        gap: 18px;
    }

    .zv-about-team-commitment {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 45px;
    }
}

@media (max-width: 520px) {
    .zv-about-team-services-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .zv-about-team-service-icon {
        min-height: 82px;
    }

    .zv-about-team-service-icon span {
        font-size: 32px;
    }

    .zv-about-team-service-card .zv-about-team-info {
        padding: 23px;
    }

    .zv-about-director-content p,
    .zv-about-team-commitment-content p {
        font-size: 14px;
    }

    .zv-about-team-commitment {
        padding: 25px 21px;
    }

    .zv-about-team-commitment-mark {
        width: 54px;
        height: 54px;
    }

    .zv-about-team-commitment-mark span {
        font-size: 49px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zv-about-team-service-card {
        transition: none;
    }
}
