:root {
  --dp-ink: #241729;
  --dp-muted: #6f6473;
  --dp-pink: #e23d64;
  --dp-plum: #9c1b61;
  --dp-plum-dark: #661147;
  --dp-blush: #fff5f8;
  --dp-lilac: #f5f0f7;
  --dp-line: #eadfe7;
  --dp-white: #fff;
  --dp-shadow: 0 18px 50px rgba(63, 24, 52, .12);
  --dp-radius: 28px;
  --dp-radius-sm: 18px;
  --dp-shell: 1180px;
}

.dp-market-page,
.dp-market-page * { box-sizing: border-box; }

.dp-market-page {
  background: var(--dp-white);
  color: var(--dp-ink);
  overflow: hidden;
}

.dp-market-page__article { margin: 0; }
.dp-market-page p,
.dp-market-page li { font-size: 18px; line-height: 1.65; }
.dp-market-page p { margin: 0 0 1.15em; }
.dp-market-page h1,
.dp-market-page h2,
.dp-market-page h3,
.dp-market-page h4 { color: var(--dp-ink); margin-top: 0; }
.dp-market-page h1 { font-size: clamp(42px, 6vw, 76px); line-height: .98; letter-spacing: -.045em; }
.dp-market-page h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.06; letter-spacing: -.035em; }
.dp-market-page h3 { font-size: clamp(22px, 2.2vw, 30px); line-height: 1.15; letter-spacing: -.02em; }
.dp-market-page a { text-decoration: none; }
.dp-market-page img { max-width: 100%; height: auto; }

.dp-market-shell {
  width: min(calc(100% - 40px), var(--dp-shell));
  margin: 0 auto;
}

.dp-market-section { padding: 96px 0; position: relative; }
.dp-market-section--tight { padding: 64px 0; }
.dp-market-section--blush { background: var(--dp-blush); }
.dp-market-section--lilac { background: var(--dp-lilac); }
.dp-market-section--dark {
  background-color: #9c1b61;
  background-image: linear-gradient(to top, #9c1b61, #e23d64);
  color: var(--dp-white);
}
/* Shared diagonal transitions between direct top-level PT/ES sections.
   Anchor IDs are attached to the sections themselves by the accompanying
   normalisation script, so every boundary uses the same DOM structure.
   The outgoing section paints the divider in its own background colour. */
.dp-market-page {
  --dp-section-angle: clamp(28px, 3vw, 58px);
}

.dp-market-section {
  --dp-section-bg: var(--dp-white);
}
.dp-market-section--blush { --dp-section-bg: var(--dp-blush); }
.dp-market-section--lilac { --dp-section-bg: var(--dp-lilac); }
.dp-market-section--dark { --dp-section-bg: #9c1b61; }

.dp-market-page__article > .dp-market-section + .dp-market-section {
  margin-top: 0;
}

.dp-market-page__article > .dp-market-section:not(:last-child)::after {
  background: var(--dp-section-bg);
  bottom: -50px;
  content: '';
  height: 100px;
  left: -5vw;
  pointer-events: none;
  position: absolute;
  width: 110vw;
  z-index: 2;

  transform: skewY(-2deg);
  transform-origin: center;
}

/* The hero uses a gradient, so let the following section create its slant. */
.dp-market-page__article > .dp-market-hero::after {
  display: none;
}

.dp-market-page__article > .dp-market-hero + .dp-market-section {
  position: relative;
  z-index: 1;
}

.dp-market-page__article > .dp-market-hero + .dp-market-section::before {
  background: var(--dp-section-bg);
  content: '';
  height: 100px;
  left: -5vw;
  pointer-events: none;
  position: absolute;
  top: -50px;
  transform: skewY(-2deg);
  transform-origin: center;
  width: 110vw;
  z-index: 0;
}

.dp-market-section > .dp-market-shell {
  position: relative;
  z-index: 3;
}

@media (max-width: 700px) {
  .dp-market-page { --dp-section-angle: 24px; }
}

.dp-market-section--dark h1,
.dp-market-section--dark h2,
.dp-market-section--dark h3,
.dp-market-section--dark p,
.dp-market-section--dark li { color: var(--dp-white); }

.dp-market-eyebrow {
  color: var(--dp-pink);
  font-size: 14px !important;
  font-weight: 800;
  letter-spacing: .12em;
  margin: 0 0 18px !important;
  text-transform: uppercase;
}
.dp-market-section--dark .dp-market-eyebrow { color: #ffd7e1; }

.dp-market-lead {
  color: var(--dp-muted);
  font-size: clamp(20px, 2.2vw, 25px) !important;
  line-height: 1.5 !important;
  max-width: 780px;
}
.dp-market-section--dark .dp-market-lead { color: rgba(255,255,255,.88); }

.dp-market-hero { padding: 150px 0 104px; }
.dp-market-hero__grid,
.dp-market-split {
  align-items: center;
  display: grid;
  gap: clamp(46px, 7vw, 90px);
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
}
.dp-market-hero__copy { max-width: 720px; }
.dp-market-hero__copy .dp-market-lead { margin-top: 28px; }
.dp-market-hero__visual { min-width: 0; position: relative; }

.dp-market-visual-card {
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: var(--dp-radius);
  box-shadow: 0 28px 80px rgba(50, 9, 41, .28);
  padding: 22px;
  transform: rotate(1.5deg);
}
.dp-market-visual-card img { border-radius: 20px; display: block; margin: 0 auto; max-height: 520px; object-fit: contain; }
.dp-market-visual-note {
  background: var(--dp-white);
  border: 1px solid var(--dp-line);
  border-radius: 16px;
  bottom: -24px;
  box-shadow: var(--dp-shadow);
  color: var(--dp-ink);
  font-size: 15px;
  font-weight: 750;
  left: -28px;
  max-width: 240px;
  padding: 16px 18px;
  position: absolute;
  transform: rotate(-3deg);
}

.dp-market-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.dp-market-button {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 999px;
  display: inline-flex;
  font-size: 16px;
  font-weight: 800;
  justify-content: center;
  min-height: 52px;
  padding: 13px 24px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.dp-market-button:hover { transform: translateY(-2px); }
.dp-market-button--primary { background: var(--dp-pink); color: var(--dp-white) !important; box-shadow: 0 12px 30px rgba(226,61,100,.28); }
.dp-market-button--secondary { background: var(--dp-white); border-color: var(--dp-line); color: var(--dp-plum) !important; }
.dp-market-section--dark .dp-market-button--primary { background: var(--dp-white); color: var(--dp-plum) !important; }
.dp-market-section--dark .dp-market-button--secondary { background: transparent; border-color: rgba(255,255,255,.65); color: var(--dp-white) !important; }

.dp-market-heading { margin-bottom: 46px; max-width: 790px; }
.dp-market-heading--center { margin-left: auto; margin-right: auto; text-align: center; }
.dp-market-heading p { color: var(--dp-muted); }

.dp-market-grid { display: grid; gap: 24px; }
.dp-market-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dp-market-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dp-market-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.dp-market-card {
  background: var(--dp-white);
  border: 1px solid var(--dp-line);
  border-radius: var(--dp-radius-sm);
  box-shadow: 0 8px 28px rgba(63,24,52,.06);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 30px;
}
.dp-market-card p { color: var(--dp-muted); font-size: 17px; }
.dp-market-card__number,
.dp-market-card__icon {
  align-items: center;
  background: var(--dp-blush);
  border-radius: 14px;
  color: var(--dp-plum);
  display: inline-flex;
  font-size: 18px;
  font-weight: 850;
  height: 44px;
  justify-content: center;
  margin-bottom: 24px;
  width: 44px;
}
.dp-market-card .dp-market-button { align-self: flex-start; margin-top: auto; }

.dp-market-list { list-style: none; margin: 22px 0 0; padding: 0; }
.dp-market-list li { color: var(--dp-muted); padding: 7px 0 7px 30px; position: relative; }
.dp-market-list li::before {
  background: var(--dp-pink);
  border-radius: 50%;
  content: '';
  height: 9px;
  left: 2px;
  position: absolute;
  top: 18px;
  width: 9px;
}

.dp-market-pricing { align-items: stretch; display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dp-market-plan {
  background: var(--dp-white);
  border: 1px solid var(--dp-line);
  border-radius: var(--dp-radius);
  display: flex;
  flex-direction: column;
  padding: 36px;
  position: relative;
}
.dp-market-plan--featured { border: 3px solid var(--dp-pink); box-shadow: var(--dp-shadow); transform: translateY(-10px); }
.dp-market-plan__badge {
  background: var(--dp-pink);
  border-radius: 999px;
  color: var(--dp-white);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  padding: 8px 13px;
  position: absolute;
  right: 24px;
  text-transform: uppercase;
  top: 22px;
}
.dp-market-price { color: var(--dp-plum); font-size: 40px !important; font-weight: 850; line-height: 1.1 !important; margin: 14px 0 20px !important; }
.dp-market-price small { color: var(--dp-muted); font-size: 15px; font-weight: 600; }
.dp-market-plan .dp-market-button { margin-top: auto; }

.dp-market-media {
  background: var(--dp-blush);
  border-radius: var(--dp-radius);
  padding: 34px;
}
.dp-market-media img { border-radius: 20px; display: block; margin: auto; max-height: 520px; object-fit: contain; }

.dp-market-band {
  align-items: center;
  background: linear-gradient(135deg, var(--dp-plum-dark), var(--dp-plum), var(--dp-pink));
  border-radius: var(--dp-radius);
  color: var(--dp-white);
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: clamp(34px, 5vw, 62px);
}
.dp-market-band h2,
.dp-market-band p { color: var(--dp-white); }
.dp-market-band p { max-width: 760px; }
.dp-market-band .dp-market-button { background: var(--dp-white); color: var(--dp-plum) !important; white-space: nowrap; }

.dp-market-kicker {
  background: var(--dp-white);
  border: 1px solid var(--dp-line);
  border-radius: 999px;
  color: var(--dp-plum);
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 20px;
  padding: 8px 14px;
}

.dp-market-steps { counter-reset: dpstep; display: grid; gap: 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dp-market-step { border-top: 3px solid var(--dp-pink); padding: 24px 14px 0 0; }
.dp-market-step::before {
  color: var(--dp-pink);
  content: counter(dpstep, decimal-leading-zero);
  counter-increment: dpstep;
  display: block;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .08em;
  margin-bottom: 16px;
}
.dp-market-step p { color: var(--dp-muted); font-size: 16px; }

.dp-market-faq { border-top: 1px solid var(--dp-line); }
.dp-market-faq details { border-bottom: 1px solid var(--dp-line); padding: 0; }
.dp-market-faq summary {
  color: var(--dp-ink);
  cursor: pointer;
  font-size: 20px;
  font-weight: 780;
  list-style: none;
  padding: 24px 42px 24px 0;
  position: relative;
}
.dp-market-faq summary::-webkit-details-marker { display: none; }
.dp-market-faq summary::after { color: var(--dp-pink); content: '+'; font-size: 30px; position: absolute; right: 4px; top: 15px; }
.dp-market-faq details[open] summary::after { content: '–'; }
.dp-market-faq details > div { color: var(--dp-muted); max-width: 880px; padding: 0 40px 20px 0; }

.dp-market-contact {
  align-items: start;
  display: grid;
  gap: 52px;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
}
.dp-market-contact__details { display: grid; gap: 10px; margin-top: 26px; }
.dp-market-contact__details a { color: var(--dp-plum); font-size: 18px; font-weight: 750; }
.dp-market-contact__details address { color: var(--dp-muted); font-style: normal; line-height: 1.7; margin-top: 12px; }
.dp-market-form {
  background: var(--dp-white);
  border: 1px solid var(--dp-line);
  border-radius: var(--dp-radius);
  box-shadow: var(--dp-shadow);
  padding: clamp(24px, 4vw, 46px);
}
.dp-market-form .gform_wrapper.gravity-theme .gfield_label { color: var(--dp-ink); font-weight: 750; }
.dp-market-form .gform_wrapper.gravity-theme input[type=text],
.dp-market-form .gform_wrapper.gravity-theme input[type=email],
.dp-market-form .gform_wrapper.gravity-theme input[type=tel],
.dp-market-form .gform_wrapper.gravity-theme select,
.dp-market-form .gform_wrapper.gravity-theme textarea {
  background: #fff;
  border: 1px solid #d9ccd6;
  border-radius: 12px;
  color: var(--dp-ink);
  min-height: 52px;
  padding: 12px 14px;
}
.dp-market-form .gform_wrapper.gravity-theme textarea { min-height: 150px; }
.dp-market-form .gform_wrapper.gravity-theme .gform_button {
  background: var(--dp-pink);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font-weight: 800;
  padding: 15px 26px;
}

.dp-market-statline { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.dp-market-statline span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.24); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; padding: 9px 14px; }

.dp-market-channel-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.dp-market-channel-row span { background: var(--dp-blush); border-radius: 999px; color: var(--dp-plum); font-size: 15px; font-weight: 800; padding: 9px 14px; }

@media (max-width: 980px) {
  .dp-market-hero { padding-top: 120px; }
  .dp-market-hero__grid,
  .dp-market-split,
  .dp-market-contact { grid-template-columns: 1fr; }
  .dp-market-grid--4,
  .dp-market-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dp-market-pricing { grid-template-columns: 1fr; }
  .dp-market-plan--featured { transform: none; }
  .dp-market-band { grid-template-columns: 1fr; }
  .dp-market-band .dp-market-button { justify-self: start; }
}

@media (max-width: 700px) {
  .dp-market-shell { width: min(calc(100% - 28px), var(--dp-shell)); }
  .dp-market-section { padding: 72px 0; }
  .dp-market-section--tight { padding: 50px 0; }
  .dp-market-hero { padding: 105px 0 72px; }
  .dp-market-page p,
  .dp-market-page li { font-size: 16px; }
  .dp-market-grid--2,
  .dp-market-grid--3,
  .dp-market-grid--4,
  .dp-market-steps { grid-template-columns: 1fr; }
  .dp-market-card,
  .dp-market-plan { padding: 26px; }
  .dp-market-visual-note { bottom: -18px; left: 10px; }
  .dp-market-actions { align-items: stretch; flex-direction: column; }
  .dp-market-button { width: 100%; }
  .dp-market-band .dp-market-button { width: 100%; }
}

/* Keep the local-market navigation at the same 16px typography as the UK site.
   The services submenu reduces the number of top-level items, so the standard
   desktop-to-mobile breakpoint can be shared across all languages. */
body[data-dp-language="pt"] .headerontop nav#nav-main > ul > li > a,
body[data-dp-language="es"] .headerontop nav#nav-main > ul > li > a {
  font-size: 16px;
  letter-spacing: 1px;
  padding-left: 8px;
  padding-right: 8px;
}

body[data-dp-language="pt"] .headerontop nav#nav-main > ul > li:last-child > a,
body[data-dp-language="es"] .headerontop nav#nav-main > ul > li:last-child > a {
  margin-left: 8px;
  padding-left: 16px;
  padding-right: 16px;
}

.dp-market-hero__grid--solo {
  grid-template-columns: minmax(0, 900px);
}
.dp-market-hero__grid--solo .dp-market-hero__copy {
  max-width: 900px;
}

/* PT/ES mobile menu: use a dedicated header row so the close control never
   competes with the first navigation item. Desktop and English menus are
   intentionally unchanged. */
@media only screen and (max-width: 920px) {
  body[data-dp-language="pt"] .menu_slideout,
  body[data-dp-language="es"] .menu_slideout {
    overflow-y: auto;
    padding: 28px 32px 40px;
  }

  body[data-dp-language="pt"] .dp-mobile-menu-header,
  body[data-dp-language="es"] .dp-mobile-menu-header {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    margin-bottom: 42px;
    width: 100%;
  }

  body[data-dp-language="pt"] .dp-mobile-menu-logo,
  body[data-dp-language="es"] .dp-mobile-menu-logo {
    display: block;
    flex: 0 1 190px;
    line-height: 0;
    max-width: 190px;
  }

  body[data-dp-language="pt"] .dp-mobile-menu-logo img,
  body[data-dp-language="es"] .dp-mobile-menu-logo img {
    display: block;
    height: auto;
    width: 100%;
  }

  body[data-dp-language="pt"] .menu_slideout .dp-mobile-menu-header .menu_close,
  body[data-dp-language="es"] .menu_slideout .dp-mobile-menu-header .menu_close {
    appearance: none;
    background: transparent;
    border: 0;
    cursor: pointer;
    flex: 0 0 38px;
    height: 38px;
    margin: 0;
    padding: 3px;
    position: static;
    width: 38px;
  }

  body[data-dp-language="pt"] .menu_slideout .dp-mobile-menu-header .menu_close img,
  body[data-dp-language="es"] .menu_slideout .dp-mobile-menu-header .menu_close img {
    display: block;
    height: 100%;
    margin: 0;
    width: 100%;
  }

  body[data-dp-language="pt"] .menu_slideout .dp-mobile-menu-links,
  body[data-dp-language="es"] .menu_slideout .dp-mobile-menu-links {
    margin: 0;
    padding: 0;
  }

  body[data-dp-language="pt"] .menu_slideout .dp-mobile-menu-links > li,
  body[data-dp-language="es"] .menu_slideout .dp-mobile-menu-links > li {
    padding-bottom: 24px;
  }

  body[data-dp-language="pt"] .menu_slideout .dp-language-switcher--mobile,
  body[data-dp-language="es"] .menu_slideout .dp-language-switcher--mobile {
    margin: 24px 0 0;
  }
}

@media only screen and (max-width: 420px) {
  body[data-dp-language="pt"] .menu_slideout,
  body[data-dp-language="es"] .menu_slideout {
    padding-left: 24px;
    padding-right: 24px;
  }

  body[data-dp-language="pt"] .dp-mobile-menu-logo,
  body[data-dp-language="es"] .dp-mobile-menu-logo {
    max-width: 165px;
  }
}
