/* Layout (Ninja SEO page tweaks) */
.dteam-section.background-dark { border-radius: 0 0 3.2rem 3.2rem; }
.works-section.works-v2.background-dark { border-radius: 3.2rem 3.2rem 0 0; }
.blog-section.blog-v2.background-lgrey { border-radius: 0; }

/* blog-v2 — padding, carousel footer, View all posts (Ninja SEO page) */
.blog-section.blog-v2.background-lgrey.dn-section {
  padding: 8rem 0 !important;
}
@media (min-width: 1230px) {
  .blog-section.blog-v2.background-lgrey.dn-section {
    padding: 12rem 0 !important;
  }
  .blog-v2 .blog-v2__pagination,
  .blog-v2 .splide__pagination {
    display: none !important;
  }
  .blog-v2 .blog-section__top-btn {
    margin-top: 6rem;
  }
}
.blog-v2 .blog-section__top-btn {
  width: 100%;
  margin-top: 0;
}
.blog-v2.background-lgrey .blog-section__top-btn .btn.btn-border {
  width: 100%;
  padding: 1.3rem 2rem;
  color: #000 !important;
  background: #fff !important;
  border: 1px solid #b3b3b3 !important;
}
.blog-v2.background-lgrey .blog-section__top-btn .btn.btn-border:hover {
  background: #b3b3b3 !important;
  border-color: #000 !important;
  color: #000 !important;
}

/* preferences-v2 — white band + pastel cards (widget sits outside .dn-seo-page) */
.preferences-v2.background-white.dn-section {
  background: #fff !important;
  color: #4d4d4d;
  padding: 8rem 0 !important;
  margin: 0;
  border-radius: 3.2rem 3.2rem 0 0;
  position: relative;
  z-index: 2;
}
@media (min-width: 1230px) {
  .preferences-v2.background-white.dn-section {
    padding: 12rem 0 !important;
    border-radius: 6.8rem 6.8rem 0 0;
  }
}
.preferences-v2.background-white h2.section-title,
.preferences-v2.background-white .section-title {
  color: #000 !important;
}
.preferences-v2.background-white .block-subtitle {
  color: #4d4d4d !important;
}
.preferences-v2__name {
  color: #000 !important;
}
.preferences-v2__txt {
  color: #4d4d4d !important;
}
.preferences-v2 .background-grey.preferences-v2__item {
  background-color: #f6f6fa;
  border-radius: 1.6rem;
}
.preferences-v2__item:first-child,
.preferences-v2__item:nth-child(7) {
  background: url('/wp-content/uploads/images/media/pref-v2bg1.jpg') no-repeat left top #f6f6fa !important;
  background-size: 100% 100% !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.preferences-v2__item:nth-child(3),
.preferences-v2__item:nth-child(8) {
  background: url('/wp-content/uploads/images/media/pref-v2bg2.jpg') no-repeat left top #f6f6fa !important;
  background-size: 100% 100% !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.preferences-v2__item:nth-child(5n) {
  background: url('/wp-content/uploads/images/media/pref-v2bg3.jpg') no-repeat left top #f6f6fa !important;
  background-size: 100% 100% !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Elementor canvas body is black — restore Ninja light-grey bands (SEO page CSS only) */
.background-lgrey {
  background-color: #f6f6fa !important;
  color: #4d4d4d;
}
.blog-section .process-section__subtitle {
  color: #4d4d4d !important;
}
.blog-section h2.section-title,
.blog-section .section-title {
  color: #000 !important;
}

.dpackage-v2 { margin-bottom: 0 !important; margin-top: 0 !important; padding: 8rem 0 !important; }
.candidat-section__txt ul { list-style-type: disc; padding-left: 2rem; margin-bottom: 2rem; display: grid; grid-template-columns: repeat(1, 1fr); width: 100%; gap: 0.5rem; }
.faq-section.faq-v2.faq-section_white { margin-bottom: -4rem; padding-bottom: 12rem; background: #fff; }
/* faq-v2 — pastel gradient on card hover (FAQ-hover.png) */
.faq-v2 .faq-section__item {
  transition: background 0.25s ease;
}
.faq-v2 .faq-section__item:hover {
  background: url('/wp-content/uploads/images/media/FAQ-hover.png') repeat-y left top #f6f6fa !important;
  background-size: 100% 100% !important;
}
/* faq-v2 — 2-col grid must shrink (long questions overflow right column otherwise) */
.faq-section.faq-v2 .container {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}
@media (min-width: 1230px) {
  /* Ninja: title row (inner) then full-width 2-col grid (lists) — not side-by-side */
  .faq-section.faq-v2 .container {
    display: block;
  }
  .faq-v2 .faq-section__inner {
    width: 100%;
    max-width: 100%;
  }
  .faq-v2 .faq-section__lists {
    display: grid !important;
    gap: 1.6rem;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }
  /* Widget is outside .services-page — Ninja’s .faq-section__items { max-width: 89.7rem } must not apply */
  .faq-v2 .faq-section__lists > .faq-section__items {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .faq-v2 .faq-section__box {
    width: 44%;
    padding-right: 6rem;
    margin-bottom: 0 !important;
  }
  .faq-v2 .faq-section__box .section-title,
  .faq-v2 .section-title {
    margin-bottom: 6rem !important;
    text-align: left !important;
  }
  .faq-v2 .faq-section__item {
    min-height: 7.2rem;
    width: 100%;
  }
  /* hello-elementor reset: button { white-space: nowrap } */
  .faq-v2 .faq-btn {
    white-space: normal !important;
    padding: 2rem 7.6rem 2rem 2.4rem !important;
    font-size: 2rem !important;
    line-height: 1.2 !important;
    color: #000 !important;
  }
  .faq-v2 .faq-btn:after {
    right: 2rem !important;
    width: 4rem !important;
    height: 4rem !important;
    margin-top: -2rem !important;
  }
}
.faq-section.faq-v2.dn-section {
  max-width: 100%;
  overflow-x: clip;
}
.faq-section.faq-v2 .faq-section__item {
  border-radius: 2.4rem;
  background: #f6f6fa;
  margin-bottom: 1.6rem;
}
.faq-section.faq-v2 .faq-section__item:last-child {
  margin-bottom: 0;
}
.faq-v2 .faq-section__items,
.faq-v2 .faq-section__item {
  min-width: 0;
  max-width: 100%;
}
.faq-v2 .faq-section__item {
  overflow: hidden;
}
.faq-v2 .faq-btn {
  white-space: normal !important;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* contacts-v2 — Book a call (Elementor sibling; white band like Ninja SEO) */
.contacts-section.contacts-v2.background-white.background-white_noborder.dn-section {
  background: #fff !important;
  padding: 8rem 0 !important;
  overflow: hidden;
  color: #4d4d4d;
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2.background-white.dn-section {
    padding: 12rem 0 !important;
  }
}
.contacts-section.contacts-v2 .container {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}
.contacts-section.contacts-v2 .contacts-section__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
  width: 100%;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__col {
    flex-direction: row;
    align-items: center;
    gap: 3.8rem;
  }
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__col {
    align-items: stretch;
    gap: 2rem;
  }
}
.contacts-section.contacts-v2 .contacts-section__info {
  width: 100%;
  min-width: 0;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__info {
    width: 50%;
    padding-right: 5%;
  }
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__info {
    width: 589px;
    max-width: none;
    padding-right: 0;
    flex: 0 1 auto;
  }
}
@media (min-width: 1600px) {
  .contacts-section.contacts-v2 .contacts-section__info {
    width: 73rem;
    flex: 0 0 73rem;
  }
}
.contacts-section.contacts-v2 .contacts-section__info .wp-block-heading,
.contacts-section.contacts-v2 .contacts-section__info h2 {
  color: #000 !important;
  text-align: left !important;
  margin-bottom: 1.6rem !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__info .wp-block-heading,
  .contacts-section.contacts-v2 .contacts-section__info h2 {
    margin-bottom: 2rem !important;
  }
}
.contacts-section.contacts-v2 .contacts-section__info .wp-block-heading em,
.contacts-section.contacts-v2 .contacts-section__info h2 em {
  font-style: normal;
}
.contacts-section.contacts-v2 .contacts-section__info .wp-block-heading br,
.contacts-section.contacts-v2 .contacts-section__info h2 br {
  display: none !important;
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__info .wp-block-heading,
  .contacts-section.contacts-v2 .contacts-section__info h2 {
    font-size: 4.8rem !important;
    margin-bottom: 4.8rem !important;
    letter-spacing: 0.02em !important;
  }
  .contacts-section.contacts-v2 .contacts-section__info .wp-block-heading br,
  .contacts-section.contacts-v2 .contacts-section__info h2 br {
    display: none !important;
  }
}
.contacts-section.contacts-v2 .contacts-section__info > p {
  color: #4d4d4d !important;
  font-size: 1.6rem;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.16px;
  margin-bottom: 1.6rem;
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__info > p {
    font-size: 2rem;
    letter-spacing: normal;
    margin-bottom: 2rem;
  }
}
.contacts-section.contacts-v2 .contacts-section__info > ul {
  list-style: none;
  margin: 0 0 3.2rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.6rem;
  width: 100%;
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__info > ul {
    gap: 2rem;
    margin-bottom: 4.8rem;
  }
}
.contacts-section.contacts-v2 .contacts-section__info li {
  position: relative;
  padding-left: 3.2rem;
  color: #000 !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.6rem;
  font-weight: 400 !important;
  line-height: 1.4;
  letter-spacing: 0.16px;
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__info li {
    font-size: 2rem;
    letter-spacing: 0.2px;
  }
}
.contacts-section.contacts-v2 .contacts-section__info .dn-contact-logos {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 529px !important;
  margin: 0 !important;
}
.contacts-section.contacts-v2 .contacts-section__info .dn-contact-logos a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
}
.contacts-section.contacts-v2 .contacts-section__info .dn-contact-logos img {
  filter: none;
}
@media (min-width: 1600px) {
  .contacts-section.contacts-v2 .contacts-section__info .dn-contact-logos a {
    min-height: 80px;
  }
}
.contacts-section.contacts-v2 .contacts-section__form {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 2.4rem 1.6rem !important;
  color: #4d4d4d !important;
  border-radius: 2.4rem !important;
  background: #f6f6fa url("/wp-content/uploads/dreamnight/img/contact/contact-bg-mb.png") no-repeat left top !important;
  background-size: 100% 100% !important;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__form {
    width: 50%;
    margin: 0;
  }
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .contacts-section__form {
    width: 601px;
    min-width: 601px;
    flex: 0 0 601px;
    padding: 4rem !important;
    margin: 0;
    background-image: url("/wp-content/uploads/dreamnight/img/contact/contact-bg-dk.png") !important;
  }
}
@media (min-width: 1600px) {
  .contacts-section.contacts-v2 .contacts-section__form {
    width: 632px;
    min-width: 632px;
    flex: 0 0 632px;
  }
}

/* contacts-v2 form typography (beat homepage + CF7 defaults; match Ninja rem scale) */
.contacts-section.contacts-v2 .contacts-section__form-title,
.contacts-section.contacts-v2 .contacts-section__form h3.contacts-section__form-title {
  color: #000 !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.04rem !important;
  text-align: center !important;
  text-transform: uppercase !important;
  margin: 0 0 1.6rem !important;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__form-title,
  .contacts-section.contacts-v2 .contacts-section__form h3.contacts-section__form-title {
    font-size: 2.8rem !important;
    line-height: 1.1 !important;
    margin-bottom: 2rem !important;
  }
}
.contacts-section.contacts-v2 .wpcf7-form > p {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
}
.contacts-section.contacts-v2 .wpcf7-form br {
  display: none;
}
.contacts-section.contacts-v2 .wpcf7-form-control-wrap {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
}
.contacts-section.contacts-v2 .wpcf7-spinner {
  display: none !important;
}
.contacts-section.contacts-v2 .iti {
  display: block;
  width: 100%;
}
.contacts-section.contacts-v2 .contacts-section__form-label {
  display: block;
  margin: 0 0 1rem !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.14px !important;
  color: #4d4d4d !important;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__form-label {
    margin: 1.4rem 0 1rem !important;
    font-size: 1.6rem !important;
    letter-spacing: 0.16px !important;
  }
}
.contacts-section.contacts-v2 .wpcf7-form input[type="text"],
.contacts-section.contacts-v2 .wpcf7-form input[type="email"],
.contacts-section.contacts-v2 .wpcf7-form input[type="tel"],
.contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 1.4rem 0;
  background: transparent !important;
  border: none !important;
  border-radius: 0;
  border-bottom: 1px solid #e6e6e6 !important;
  box-shadow: none;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.14px !important;
  color: #000 !important;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.25s ease-in-out;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .wpcf7-form input[type="text"],
  .contacts-section.contacts-v2 .wpcf7-form input[type="email"],
  .contacts-section.contacts-v2 .wpcf7-form input[type="tel"],
  .contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field {
    padding: 1.3rem 0;
    font-size: 1.6rem !important;
    letter-spacing: 0.16px !important;
  }
}
.contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field {
  min-height: 4.8rem;
  height: 4.8rem;
  padding: 0.8rem 1.2rem !important;
  color: #808080 !important;
  resize: none;
}
.contacts-section.contacts-v2 .wpcf7-form input[type="text"]:hover,
.contacts-section.contacts-v2 .wpcf7-form input[type="email"]:hover,
.contacts-section.contacts-v2 .wpcf7-form input[type="tel"]:hover,
.contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field:hover {
  border-bottom-color: #808080 !important;
}
.contacts-section.contacts-v2 .wpcf7-form input[type="text"]:focus,
.contacts-section.contacts-v2 .wpcf7-form input[type="email"]:focus,
.contacts-section.contacts-v2 .wpcf7-form input[type="tel"]:focus,
.contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field:focus {
  border-bottom-color: #000 !important;
  outline: none;
}
.contacts-section.contacts-v2 .wpcf7-form input::placeholder,
.contacts-section.contacts-v2 .wpcf7-form textarea.textarea-field::placeholder {
  color: #808080 !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.contacts-section.contacts-v2 .wpcf7-form-control-wrap[data-name="tel-321"] {
  position: relative !important;
  margin-bottom: 0 !important;
}
.contacts-section.contacts-v2 .wpcf7-form-control-wrap[data-name="tel-321"]::after {
  content: "(optional)" !important;
  display: block !important;
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  bottom: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  text-align: right !important;
  color: #808080 !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  pointer-events: none !important;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .wpcf7-form-control-wrap[data-name="tel-321"]::after {
    font-size: 1.6rem !important;
    letter-spacing: 0.16px !important;
  }
}
@media (min-width: 1230px) {
  .contacts-section.contacts-v2 .wpcf7-form-control-wrap[data-name="tel-321"]::after {
    top: auto !important;
    bottom: 3px !important;
    transform: none !important;
  }
}
.contacts-section.contacts-v2 .wpcf7-form-control-wrap[data-name="tel-321"] #phone {
  padding-left: 5.6rem !important;
  padding-right: 9rem !important;
}
.contacts-section.contacts-v2 .contacts-section__label {
  display: block;
  margin-top: 1.6rem !important;
  text-align: center;
}
.contacts-section.contacts-v2 .contacts-section__label,
.contacts-section.contacts-v2 .contacts-section__label p {
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.12px !important;
  color: #4d4d4d !important;
  margin: 0;
}
@media (min-width: 768px) {
  .contacts-section.contacts-v2 .contacts-section__label {
    margin-top: 2rem !important;
  }
  .contacts-section.contacts-v2 .contacts-section__label,
  .contacts-section.contacts-v2 .contacts-section__label p {
    font-size: 1.6rem !important;
    letter-spacing: 0.16px !important;
    line-height: 1.4 !important;
  }
}
.contacts-section.contacts-v2 .contacts-section__label a {
  color: grey !important;
  text-decoration: underline;
}
.contacts-section.contacts-v2 .contacts-section__label a:hover {
  text-decoration: none;
}
.contacts-section.contacts-v2 .wpcf7-submit.contacts-form__btn,
.contacts-section.contacts-v2 input.wpcf7-submit {
  display: block !important;
  width: 100% !important;
  height: 6rem !important;
  margin: 0 !important;
  padding: 0 2.4rem !important;
  border: none !important;
  border-radius: 36rem !important;
  color: #fff !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 2rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.032rem !important;
  text-transform: none !important;
  background: linear-gradient(270deg, #d278fe 0%, #2d69fb 100%) !important;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
.contacts-section.contacts-v2 .wpcf7-submit.contacts-form__btn:hover,
.contacts-section.contacts-v2 .wpcf7-submit.contacts-form__btn:focus,
.contacts-section.contacts-v2 input.wpcf7-submit:hover,
.contacts-section.contacts-v2 input.wpcf7-submit:focus {
  background: linear-gradient(270deg, #d278fe 0%, #2d69fb 100%) !important;
  color: #fff !important;
  border: none !important;
}

/* worldwide-v2 — Elementor sibling; beat .dn-site h2 { color:#fff } */
.worldwide-section.worldwide-v2.background-lgrey.dn-section {
  background: #f6f6fa !important;
  color: #4d4d4d;
}
.worldwide-section.worldwide-v2 .container {
  width: 100%;
  max-width: 120rem;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  box-sizing: border-box;
}
@media (min-width: 1230px) {
  .worldwide-section.worldwide-v2 .container {
    padding-right: 0;
  }
}
.worldwide-section.worldwide-v2 .worldwide-section__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 3rem;
  padding-right: 1.6rem;
}
@media (min-width: 1230px) {
  .worldwide-section.worldwide-v2 .worldwide-section__top {
    gap: 3rem;
    margin-bottom: 6rem;
    padding-right: 0;
  }
}
.worldwide-section.worldwide-v2 h2.section-title,
.worldwide-section.worldwide-v2 .section-title {
  color: #000 !important;
  text-align: center !important;
  margin: 0 !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: normal !important;
}
@media (min-width: 1230px) {
  .worldwide-section.worldwide-v2 h2.section-title,
  .worldwide-section.worldwide-v2 .section-title {
    font-size: 4.8rem !important;
  }
}
.worldwide-section.worldwide-v2 .worldwide-section__top .section-txt {
  text-align: center !important;
  color: #4d4d4d !important;
  font-family: "PP Neue Montreal", sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.14px !important;
}
@media (min-width: 1230px) {
  .worldwide-section.worldwide-v2 .worldwide-section__top .section-txt {
    width: 61rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    font-size: 2rem !important;
    letter-spacing: normal !important;
  }
}

section.how-v2 { background: #fff; }
section#wevet { border-radius: 0; }
.dn-seo-page .container { width: 100%; max-width: 120rem; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; box-sizing: border-box; }

/* Ninja hero-v2 + help-v2 scoop (match ninjapromo.io/services/seo) */
.dn-seo-page.services-page {
  background: #fff !important;
}
.hero-v2 .hero-section__txt {
  color: grey;
}
html:has(.dn-seo-page.services-page) .page-footer__logo {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
}
html:has(.dn-seo-page.services-page) .page-footer__logo-img {
  width: 34px !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
}
html:has(.dn-seo-page.services-page) .page-footer__logo-name {
  font-weight: 700 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: #fff !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
/* Fixed dn-header + ~40px gap to breadcrumbs — match Ninja .hero-v2_services (172px @1440) */
.dn-seo-page .hero-v2.hero-v2_services {
  padding-top: 172px !important;
}
.dn-seo-page .hero-v2_services .hero-section__box {
  padding-top: 0;
}
.dn-seo-page .services-v2.background-white.dn-section,
.dn-seo-page .elementor-element.services-v2.background-white.dn-section {
  background: #fff !important;
  color: #4d4d4d;
  position: relative;
  z-index: 1;
  width: 100%;
  scroll-margin-top: 11rem;
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}
@media (min-width: 1230px) {
  .dn-seo-page .services-v2.background-white.dn-section,
  .dn-seo-page .elementor-element.services-v2.background-white.dn-section {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}

.dn-seo-page .help-v2.background-white {
  background: #fff !important;
  border-radius: 32px 32px 0 0;
  /* Slight overlap into black band below logos (Ninja: margin-top -30px) */
  margin-top: -30px !important;
  position: relative;
  z-index: 1;
  padding-top: 80px !important;
}
@media (min-width: 1230px) {
  .dn-seo-page .help-v2.background-white {
    border-radius: 68px 68px 0 0;
  }
}
/* Images — Smush/Ninja lazyload class must not hide src */
.dn-seo-page img.lazyload,
.dn-seo-page img.lazyloaded {
  opacity: 1 !important;
  visibility: visible !important;
}

/* Headings — beat .dn-site h2 { color:#fff } and _ninja_styles.min.css */
.dn-seo-page .background-white h2.section-title,
.dn-seo-page .background-white .section-title,
.dn-seo-page .background-white .block-subtitle,
.dn-seo-page .help-v2 h2,
.dn-seo-page .help-v2 .section-title,
.dn-seo-page .services-v2 h2,
.dn-seo-page .services-v2 .section-title,
.dn-seo-page .services-v2 .block-subtitle,
.dn-seo-page .how-v2 h2,
.dn-seo-page .how-v2 .section-title,
.dn-seo-page .how-v2 .block-subtitle,
.dn-seo-page .candidat-section h2,
.dn-seo-page .candidat-section .section-title,
.dn-seo-page .candidat-section .block-subtitle,
.dn-seo-page .background-lgrey h2.section-title,
.dn-seo-page .background-lgrey .section-title,
.dn-seo-page .background-lgrey .block-subtitle,
.dn-seo-page .review-section h2,
.dn-seo-page .preferences-v2 h2,
.dn-seo-page .preferences-v2 .section-title,
.dn-seo-page .preferences-v2 .block-subtitle,
.dn-seo-page .faq-section h2,
.dn-seo-page .faq-section .section-title,
.dn-seo-page .dpackage-section h2,
.dn-seo-page .blog-section h2 {
  color: #000 !important;
}

.dn-seo-page .background-dark h2.section-title,
.dn-seo-page .background-dark .section-title,
.dn-seo-page .background-dark .block-subtitle,
.dn-seo-page .background-dark h3,
.dn-seo-page .expertise-section h2,
.dn-seo-page .expertise-section .section-title,
.dn-seo-page .expertise-section .block-subtitle,
.dn-seo-page .works-section h2,
.dn-seo-page .works-section .section-title,
.dn-seo-page .works-section .block-subtitle,
.dn-seo-page .dteam-section h2,
.dn-seo-page .dteam-section .section-title,
.dn-seo-page .dteam-section .block-subtitle {
  color: #fff !important;
}

.dn-seo-page h2.section-title,
.dn-seo-page .section-title {
  font-family: "PP Neue Montreal", sans-serif;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
}

/* Constrained block titles — homepage .dn-site h2 { margin:0 } beats Ninja margin:auto */
.dn-seo-page h2.section-title.block-title.text-center {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Ninja .block-title_mb / .section-title_mb — .dn-site h2 { margin:0 } removes gaps */
.dn-seo-page .block-title_mb {
  margin-bottom: 1.6rem !important;
}
.dn-seo-page .section-title_mb {
  margin-bottom: 1.6rem !important;
}

/* homepage .dn-section {90px} vs Ninja section stack {8rem / 12rem} */
.dn-seo-page .how-v2.dn-section,
.dn-seo-page .candidat-section.background-white.dn-section,
.dn-seo-page .expertise-section.background-dark.dn-section {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

/* expertise-v2 — Industries & business types (Ninja vertical rhythm) */
.dn-seo-page .expertise-section.expertise-v2 .process-section__subtitle {
  margin-bottom: 3rem !important;
}
.dn-seo-page .expertise-section.expertise-v2 h3.section-title {
  margin-bottom: 3rem !important;
}
.dn-seo-page .expertise-v2 .expertise-section__list {
  margin-bottom: 6rem !important;
}

@media (min-width: 1230px) {
  .dn-seo-page .block-title_mb {
    margin-bottom: 2rem !important;
  }
  .dn-seo-page .section-title_mb {
    margin-bottom: 3rem !important;
  }
  .dn-seo-page .how-v2.dn-section,
  .dn-seo-page .candidat-section.background-white.dn-section,
  .dn-seo-page .expertise-section.background-dark.dn-section {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
  .dn-seo-page .expertise-section.expertise-v2 .process-section__subtitle {
    width: 79.6rem;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 6rem !important;
  }
  .dn-seo-page .expertise-section.expertise-v2 h3.section-title {
    margin-bottom: 6rem !important;
  }
  .dn-seo-page .expertise-v2 .expertise-section__list {
    margin-bottom: 10rem !important;
  }
  .dn-seo-page .how-v2 h2.section-title.block-title,
  .dn-seo-page .candidat-section h2.section-title.block-title {
    width: 69rem;
    max-width: 100%;
  }
  .dn-seo-page .how-v2 .block-subtitle.text-center,
  .dn-seo-page .candidat-section .block-subtitle.text-center {
    width: 59rem;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

@media (min-width: 1230px) {
  .dpackage-v2 { padding: 16rem 0 !important; }
  .faq-section.faq-v2.faq-section_white { margin-bottom: -8rem; padding-bottom: 18rem; }
  .preferences-v2 .block-subtitle { width: 72rem; }
  .works-section.works-v2.background-dark { border-radius: 6.8rem 6.8rem 0 0; }
  .dteam-section.background-dark { border-radius: 0 0 6.8rem 6.8rem; }
  .dn-seo-page h2.section-title,
  .dn-seo-page .section-title {
    font-size: 48px !important;
  }
}
@media (min-width: 1600px) {
  .expertise-section__head { min-height: 1rem; }
}

/* dpackage-v2 — soft gradient glow on plan cards (price-hover2.png) */
.dn-seo-page .dpackage-v2.background-lgrey .web3package-section__list > .web3package-section__item:not(.web3package-section__item-popular):hover,
.dn-seo-page .dpackage-v2.background-lgrey .web3package-section__list > .web3package-section__item:not(.web3package-section__item-popular).dn-plan-hover {
  background-color: #fff !important;
  background-image: url('/wp-content/uploads/images/price-hover2.png') !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-size: 100% 100% !important;
  box-shadow: 0 3px 8px 0 rgba(58, 80, 172, 0.18) !important;
  transition: box-shadow 0.25s ease;
}
.dn-seo-page .dpackage-v2.background-lgrey .web3package-section__list > .web3package-section__item:not(.web3package-section__item-popular):hover .web3package-section__li:before,
.dn-seo-page .dpackage-v2.background-lgrey .web3package-section__list > .web3package-section__item:not(.web3package-section__item-popular).dn-plan-hover .web3package-section__li:before {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIoSURBVHgBzZmBcaMwEEUXV0A6kCuIOzjTga8CuwOnA+UqiDvgOqCEkApIB6ID6GCzX0BCHDJGWALezI/CGOM3u2Mh5Igmwsx7GR4lGHeSuA2oJWWbd8lbFEU5hUakYsmzpGJ3jCSVKPJNK3Zhf6TeROVCTzytYrcwkiPdA/ut2m+8kCvctPSV56PAZ7oIFjw/r0MumwG5CzXTxtzs+Va75YQTL89T3ynqySkZUGZFy4JJfisTO8ZvLda0vBzAl0V3B7aCbfUMrYsHVLGroKb1ccafroKonqJ1UUsFHzbcrEoUBaAsS9putzZ1XTu+m3Cz2KPFfygAkEuSxI5Inuc0gUe0N2PPGGNYKcXyATan0+TpNfN+W7uW2+12fAcGgt6WUkNyVXXX5StiT0DEs5zFiyBEINTJQRTV9MHoFqdpajOnHLctNrfOyrLsU0Br/e21w+EQSg4Uo6aZoig4juMfksfjMaQcsNPMecyZ15IB29pH2wfwsWdfSyI4DiQHmrscO8yFfUmMOA7E1/JPDrTLOyGF21dAOZDCrVtuYRVb0brAsr+0C9Z2/X+h9fAfcvin/9CEKqLv4x+gw1BKkk7w86GpreI/Wp7nTm4QqeQLL8e4fRqed1+moxhy2fzi+JeandG5yCUJucLztNt9++1KEg8Uhv2Du9eZfCAXUtxs2/oCnfE/nfVEDbuDimlXsYgmws1KY0/NXqJq0/8ZAsEXLccoc9sbTeADKT4/39MKjO4AAAAASUVORK5CYII=') !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}
