:root {
  --dbw-purple: #800084;
  --dbw-purple-dark: #4d0050;
  --dbw-purple-soft: #f7eef8;
  --dbw-ink: #231f2b;
  --dbw-muted: #625d68;
  --dbw-line: #e4dce6;
  --dbw-white: #ffffff;
}

.dbw-service-page {
  color: var(--dbw-ink);
  font-size: 18px;
  line-height: 1.7;
  margin: 0 auto;
  max-width: 1180px;
}

.dbw-service-page *, .dbw-service-page *::before, .dbw-service-page *::after { box-sizing: border-box; }
.dbw-service-page h1, .dbw-service-page h2, .dbw-service-page h3 { color: var(--dbw-ink); line-height: 1.16; margin-top: 0; text-transform: none; }
.dbw-service-page h1 { color: var(--dbw-white); font-size: clamp(2.35rem, 5vw, 4.7rem); letter-spacing: -0.045em; margin-bottom: 24px; max-width: 1000px; }
.dbw-service-page h2 { font-size: clamp(1.8rem, 3.3vw, 3rem) !important; letter-spacing: -0.025em; }
.dbw-service-page h3 { font-size: 1.28rem; }
.dbw-service-page p { font-size: inherit; margin-top: 0; }
.dbw-service-page li { font-size: inherit; }
.dbw-service-page a { color: var(--dbw-purple); font-weight: 650; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.dbw-service-page a:focus-visible, .dbw-service-page summary:focus-visible { outline: 3px solid #f000b9; outline-offset: 4px; }

.dbw-hero {
  background: linear-gradient(135deg, var(--dbw-purple-dark), var(--dbw-purple) 64%, #b119a8);
  border-radius: 28px;
  color: var(--dbw-white);
  margin: 0 0 26px;
  overflow: hidden;
  padding: clamp(48px, 8vw, 105px) clamp(28px, 7vw, 92px);
  position: relative;
}

.dbw-hero::after { border: 1px solid rgba(255,255,255,.2); border-radius: 50%; content: ""; height: 360px; position: absolute; right: -150px; top: -170px; width: 360px; }
.dbw-hero .dbw-kicker, .dbw-section-dark .dbw-kicker, .dbw-cta .dbw-kicker { color: #f3b8ed; }
.dbw-lead { font-size: clamp(1.1rem, 2vw, 1.4rem); line-height: 1.6; max-width: 900px; position: relative; z-index: 1; }
.dbw-kicker { color: var(--dbw-purple); font-size: .8rem; font-weight: 800; letter-spacing: .11em; margin-bottom: 14px; text-transform: uppercase; }
.dbw-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; position: relative; z-index: 1; }

.dbw-button, .dbw-service-page a.dbw-button {
  background: var(--dbw-white);
  border: 2px solid var(--dbw-white);
  border-radius: 999px;
  color: var(--dbw-purple-dark);
  display: inline-block;
  font-weight: 800;
  line-height: 1.25;
  padding: 14px 24px;
  text-decoration: none;
}

.dbw-button:hover, .dbw-service-page a.dbw-button:hover { background: #f6d9f3; color: var(--dbw-purple-dark); }
.dbw-button-outline, .dbw-service-page a.dbw-button-outline { background: transparent; color: var(--dbw-white); }

.dbw-section, .dbw-cta { border-radius: 24px; margin: 26px 0; padding: clamp(40px, 6vw, 76px) clamp(24px, 6vw, 70px); }
.dbw-section-heading { margin-bottom: 34px; max-width: 900px; }
.dbw-section-heading h2 { margin-bottom: 0; }
.dbw-section-tint { background: var(--dbw-purple-soft); }
.dbw-section-dark { background: var(--dbw-ink); color: var(--dbw-white); }
.dbw-section-dark h2, .dbw-section-dark h3, .dbw-section-dark a { color: var(--dbw-white); }

.dbw-split, .dbw-contact-grid { align-items: start; display: grid; gap: clamp(28px, 5vw, 70px); grid-template-columns: minmax(0,1.45fr) minmax(280px,.75fr); }
.dbw-proof, .dbw-callout { background: var(--dbw-purple-soft); border-left: 5px solid var(--dbw-purple); border-radius: 18px; color: var(--dbw-ink); padding: 28px; }
.dbw-proof strong, .dbw-proof span { display: block; }
.dbw-proof strong { font-size: 1.3rem; line-height: 1.35; margin-bottom: 18px; }
.dbw-proof span { border-top: 1px solid #d9c8dc; padding: 11px 0; }
.dbw-callout ul, .dbw-service-page ul { margin: 0 0 0 1.1em; }
.dbw-callout li, .dbw-service-page li { margin-bottom: 9px; }

.dbw-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.dbw-card { background: var(--dbw-white); border: 1px solid var(--dbw-line); border-radius: 18px; box-shadow: 0 12px 34px rgba(63,22,68,.07); padding: 28px; }
.dbw-card h2, .dbw-card h3 { font-size: 1.3rem !important; margin-bottom: 14px; }
.dbw-card p:last-of-type { margin-bottom: 16px; }

.dbw-pricing-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.dbw-price-card { background: var(--dbw-white); border: 1px solid var(--dbw-line); border-radius: 20px; padding: 30px; }
.dbw-price-card strong { color: var(--dbw-purple); display: block; font-size: 1.1rem; }
.dbw-price-featured { border: 3px solid var(--dbw-purple); transform: translateY(-8px); }
.dbw-smallprint { color: var(--dbw-muted); font-size: .94rem; margin: 28px 0 0; }

.dbw-process { display: grid; gap: 20px; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 36px; }
.dbw-process article { border-top: 3px solid var(--dbw-purple); padding-top: 20px; }
.dbw-process span { color: var(--dbw-purple); font-size: .85rem; font-weight: 800; letter-spacing: .08em; }

.dbw-faq details { border-bottom: 1px solid var(--dbw-line); padding: 0; }
.dbw-faq summary { color: var(--dbw-ink); cursor: pointer; font-size: 1.08rem; font-weight: 800; list-style-position: outside; padding: 20px 8px; }
.dbw-faq details p { padding: 0 8px 20px 24px; }

.dbw-cta { background: linear-gradient(135deg,var(--dbw-purple-dark),var(--dbw-purple)); color: var(--dbw-white); text-align: center; }
.dbw-cta h2 { color: var(--dbw-white); }
.dbw-cta p:not(.dbw-kicker) { margin-left: auto; margin-right: auto; max-width: 760px; }
.dbw-video-wrap { aspect-ratio: 16 / 9; border-radius: 18px; box-shadow: 0 18px 42px rgba(35,31,43,.15); overflow: hidden; }
.dbw-video-wrap iframe { border: 0; height: 100%; width: 100%; }
.dbw-contact-details a { font-size: 1.15rem; }

@media (max-width: 960px) {
  .dbw-card-grid, .dbw-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dbw-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .dbw-service-page { font-size: 17px; }
  .dbw-hero, .dbw-section, .dbw-cta { border-radius: 18px; }
  .dbw-split, .dbw-contact-grid, .dbw-card-grid, .dbw-pricing-grid, .dbw-process { grid-template-columns: 1fr; }
  .dbw-price-featured { transform: none; }
  .dbw-actions { align-items: stretch; flex-direction: column; }
  .dbw-button, .dbw-service-page a.dbw-button { text-align: center; }
}
