/* ==========================================================================
   PLATFORM / AI CHAT PAGE STYLES (dq-ai-chat.css)
   Only loaded on this page. Scoped to .dqp / dqp- classes.
   ========================================================================== */

.dqp {
  --dq-container: 1450px;
  --dqp-sky-d: clamp(240px, 31vw, 560px);
  position: relative;
  color: var(--dq-ink);
  font: 400 18px/1.55 var(--dq-body);
  overflow-x: clip;
}

.dqp h1, .dqp h2, .dqp h3, .dqp p, .dqp ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dqp h1, .dqp h2, .dqp h3 {
  font-family: var(--dq-head);
  font-weight: 600;
  line-height: 1.2;
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.dqp-hero {
  position: relative;
  overflow: hidden;
}

.dqp-hero__sky {
  position: absolute;
  right: -3%;
  top: calc(var(--dqp-sky-d) / -2 + 14px);
  width: var(--dqp-sky-d);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--dq-sky);
  pointer-events: none;
}

.dqp-hero__in {
  position: relative;
  width: min(var(--dq-container), 90%);
  margin-inline: auto;
  padding: 90px 0 100px;
  border-bottom: 2px solid #000;
  display: grid;
  grid-template-columns: 49% 46%;
  justify-content: space-between;
  align-items: center;
}

.dqp-hero__coral {
  position: absolute;
  top: 0;
  left: 44.8%;
  width: 22.5%;
  aspect-ratio: 2/1;
  background: var(--dq-coral);
  border-radius: 0 0 999px 999px;
  pointer-events: none;
}

.dqp-hero__sun {
  position: absolute;
  left: 62%;
  bottom: -28px;
  width: 15.1%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--dq-sun);
  pointer-events: none;
  z-index: -1;
}

.dqp-hero__copy,
.dqp-demo {
  position: relative;
  z-index: 1;
}

.dqp-hero__copy h1 {
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 22px;
  max-width: 11.5em;
}

.dqp-hero__copy p {
  max-width: 30em;
  font-size: clamp(17px, 1.35vw, 19px);
  line-height: 1.65;
  color: #222;
}

.dqp-demo {
  display: flex;
  justify-content: center;
  align-items: center;
}

.dqp-hero__img {
  display: block;
  width: 100%;
  max-width: 580px;
  height: auto;
  object-fit: contain;
}

/* ==========================================================================
   Publishers Section (Owl Carousel)
   ========================================================================== */
.dqp-press {
  width: 100%;
  background: var(--dq-paper);
}

.dqp-press__in {
  width: min(var(--dq-container), 90%);
  margin-inline: auto;
  padding: 60px 0 70px;
  border-bottom: none;
  display: grid;
  grid-template-columns: 28% 1fr;
  align-items: center;
  gap: 40px;
}

.dqp-press__title {
  font-family: var(--dq-head);
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 600;
  line-height: 1.28;
  max-width: 8.5em;
  color: var(--dq-ink);
  margin: 0;
  align-self: center;
}

.dqp-press__slider {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.dqp-press__carousel {
  width: 100%;
  position: relative;
}

.dqp-press__carousel .owl-stage-outer {
  overflow: hidden;
  padding: 10px 0;
}

.dqp-press__carousel .owl-stage {
  display: flex !important;
  align-items: center !important;
}

.dqp-press__carousel .owl-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  float: none !important;
}

.dqp-press__item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  padding: 0 10px;
}

.dqp-press__item img,
.dqp-press__carousel .owl-item img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  filter: none;
  background: transparent;
}

/* Individual optically balanced logo heights */
.dqp-press__item .dqp-press__logo--vogue {
  height: clamp(32px, 3.2vw, 38px) !important;
}

.dqp-press__item .dqp-press__logo--gq {
  height: clamp(38px, 3.8vw, 46px) !important;
}

.dqp-press__item .dqp-press__logo--wired {
  height: clamp(28px, 2.8vw, 34px) !important;
}

.dqp-press__item .dqp-press__logo--menshealth {
  height: clamp(26px, 2.6vw, 32px) !important;
}

.dqp-press__item .dqp-press__logo--sun {
  height: clamp(38px, 3.8vw, 46px) !important;
}

/* ==========================================================================
   Steps Section
   ========================================================================== */
.dqp-steps {
  width: min(var(--dq-container), 90%);
  margin-inline: auto;
  padding: 40px 0 20px;
}

.dqp-step {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px clamp(40px, 6vw, 90px);
  align-items: center;
  margin-bottom: clamp(70px, 8vw, 110px);
}

.dqp-step__txt h3 {
  font-family: var(--dq-head);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.01em;
  margin-bottom: 18px;
  max-width: 13.5em;
  color: #000;
}

.dqp-step__txt p {
  max-width: 25em;
  font-family: var(--dq-body);
  font-size: clamp(16.5px, 1.25vw, 18.5px);
  line-height: 1.65;
  color: #2e2e2e;
}

.dqp-step--flip .dqp-step__txt {
  padding-left: 4%;
}

.dqp-step__img {
  display: block;
  width: 100%;
  max-width: 490px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}

/* ==========================================================================
   Reach / Audience Card Section (Exact UI match to reference screenshot)
   ========================================================================== */
.dqp-reachwrap {
  width: min(var(--dq-container), 90%);
  margin-inline: auto;
  padding: 20px 0 90px;
}

.dqp-reach {
  position: relative;
  overflow: hidden;
  min-height: 358px;
  padding: clamp(60px, 6.5vw, 85px) clamp(24px, 5vw, 60px) clamp(60px, 6.5vw, 85px) clamp(24px, 18vw, 205px);
  border: 2px solid #000;
  border-radius: 20px;
  box-shadow: 4px 4px 0 #000;
  background-color: #ffffff;
}

.dqp-reach__yellow {
  position: absolute;
  left: -40px;
  top: -60px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background-color: #e4de7f;
  pointer-events: none;
  z-index: 1;
}

.dqp-reach__lilac {
  position: absolute;
  right: -40px;
  bottom: -120px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background-color: #7c62b9;
  pointer-events: none;
  z-index: 1;
}

.dqp-reach__content {
    position: relative;
    z-index: 2;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.dqp-reach__title {
  font-family: var(--dq-head);
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.22;
  color: #000;
  margin: 0 0 16px 0;
  max-width: 17em;
}

.dqp-reach__desc {
  font-family: var(--dq-body);
  font-size: clamp(16px, 1.2vw, 18.5px);
  line-height: 1.55;
  color: #222;
  margin: 0 0 42px 0;
  max-width: 660px;
}

.dqp-reach__logos {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3.2vw, 36px);
  flex-wrap: wrap;
  margin: 20px 0 0;
  padding: 0;
}

.dqp-reach__logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.dqp-reach__logo img {
  display: block;
  width: auto;
  object-fit: contain;
}

.dqp-reach__logo--google img {
  height: clamp(34px, 3.5vw, 44px);
}

.dqp-reach__logo--meta img {
  height: clamp(28px, 2.8vw, 36px);
}

.dqp-reach__logo--rakuten img {
  height: clamp(30px, 3vw, 38px);
}

.dqp-reach__logo--samsung img {
  height: clamp(17px, 1.7vw, 21px);
}

/* ==========================================================================
   Book a Call Section
   ========================================================================== */
.dqp-book {
  margin-top: 0;
  margin-bottom: 70px;
  padding: 65px 0 0;
  /* Keep the CTA on the page paper; do not fade into footer black behind the card. */
  background: transparent;
}

.dqp-book__card {
  position: relative;
  width: min(940px, 90%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px;
  padding: 52px 9% 48px 8%;
  background: var(--dq-violet);
  color: #fff;
  border-radius: 16px;
}

.dqp-book h2 {
  font-family: var(--dq-head);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 700;
  margin-bottom: 16px;
}

.dqp-book h2 span {
  color: var(--dq-teal);
}

.dqp-book p {
  max-width: 27em;
  font-family: var(--dq-body);
  font-size: clamp(16px, 1.2vw, 17.5px);
  line-height: 1.6;
}

.dqp-book__loop {
  position: absolute;
  right: 8%;
  top: -24px;
  width: 90px;
  height: 65px;
  color: #fff;
}

.dqp-book .dq-btn {
  align-self: center;
  margin-bottom: 0;
}

/* ==========================================================================
   Responsive Breakpoints
   ========================================================================== */
@media (max-width: 1024px) {
  .dqp-reach {
    padding: 68px 32px 64px 15%;
  }
  .dqp-reach__yellow {
    left: -40px;
    top: -55px;
    width: 210px;
    height: 210px;
  }
  .dqp-reach__lilac {
    right: -40px;
    bottom: -90px;
    width: 340px;
    height: 340px;
  }
  .dqp-reach__logos {
    gap: 22px 28px;
  }
}

@media (max-width: 900px) {
  .dqp-hero__in {
    grid-template-columns: 1fr;
    padding: 70px 0 85px;
    gap: 40px;
  }
  .dqp-hero__coral {
    left: auto;
    right: 10%;
    width: 36%;
  }
  .dqp-hero__sun {
    left: auto;
    right: 8%;
    width: 22%;
  }
  .dqp-demo {
    max-width: 500px;
    margin: 0 auto;
  }

  .dqp-press__in {
    grid-template-columns: 1fr;
    padding: 45px 0 55px;
    gap: 28px;
  }
  .dqp-press__title {
    max-width: none;
    text-align: left;
  }

  .dqp-steps {
    padding-top: 30px;
  }
  .dqp-step {
    grid-template-columns: 1fr;
    margin-bottom: 60px;
    gap: 28px;
  }
  .dqp-step--flip .dqp-step__txt {
    padding-left: 0;
    order: 1;
  }
  .dqp-step--flip .dqp-step__img {
    order: 2;
  }
  .dqp-step__img {
    max-width: 440px;
  }

  .dqp-reach {
    padding: 55px 26px 50px 26px;
  }
  .dqp-reach__yellow {
    left: -45px;
    top: -55px;
    width: 170px;
    height: 170px;
  }
  .dqp-reach__lilac {
    right: -40px;
    bottom: -65px;
    width: 250px;
    height: 250px;
  }
  .dqp-reach__title {
    font-size: clamp(22px, 3.2vw, 26px);
    max-width: none;
  }
  .dqp-reach__logos {
    gap: 20px 28px;
  }

  .dqp-book__card {
    grid-template-columns: 1fr;
    padding: 44px 26px 38px;
  }
  .dqp-book .dq-btn {
    justify-self: start;
    margin: 0;
  }
}

@media (max-width: 600px) {
  .dqp {
    font-size: 16.5px;
  }
  .dqp-hero__in,
  .dqp-press__in,
  .dqp-steps,
  .dqp-reachwrap,
  .dqp-book__card {
    width: min(var(--dq-container), calc(100% - 32px));
  }
  .dqp-reach {
    padding: 42px 18px 38px 18px;
    border-radius: 16px;
  }
  .dqp-reach__yellow {
    left: -50px;
    top: -50px;
    width: 135px;
    height: 135px;
  }
  .dqp-reach__lilac {
    right: -35px;
    bottom: -45px;
    width: 180px;
    height: 180px;
  }
  .dqp-reach__title {
    font-size: 21px;
  }
  .dqp-reach__desc {
    font-size: 15.5px;
    margin-bottom: 26px;
  }
  .dqp-reach__logos {
    gap: 16px 22px;
  }
  .dqp-reach__logo--google img {
    height: 28px;
  }
  .dqp-reach__logo--meta img {
    height: 22px;
  }
  .dqp-reach__logo--rakuten img {
    height: 24px;
  }
  .dqp-reach__logo--samsung img {
    height: 14px;
  }
}
