/* =================================================================
   _marketing_page.css - Digital Marketing Services
   Palette: magenta/fuchsia + deep navy + electric lime
   Mood: bold, loud, marketing-energy. Distinct from every prior service page.
   Scope: .dm* classes only
   ================================================================= */

.dm {
  --dm-ink:        #0a0e22;       /* deep navy ink */
  --dm-ink-2:      #161e3f;
  --dm-paper:      #ffffff;
  --dm-soft:       #f5f4fa;       /* lavender mist */
  --dm-line:       #e6e3f0;
  --dm-magenta:    #d61f7a;       /* primary fuchsia */
  --dm-magenta-2:  #a8175e;
  --dm-magenta-3:  #ff4b9b;
  --dm-lime:       #c6f04a;       /* electric lime accent */
  --dm-lime-2:     #aed635;
  --dm-violet:     #6c3fc4;       /* secondary energy */
  --dm-text:       #1d2440;
  --dm-text-2:     #5b6385;
  --dm-shadow:     0 18px 50px -22px rgba(10,14,34,.5);
  --dm-radius:     18px;
  background: var(--dm-paper);
  color: var(--dm-text);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
}

.dm .container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.dm section { padding: 76px 0; }
.dm .dm-eyebrow {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--dm-magenta); font-weight: 800; margin: 0 0 12px;
  display: inline-flex; align-items: center; gap: 10px;
}
.dm .dm-eyebrow::before {
  content: ""; width: 28px; height: 3px;
  background: linear-gradient(90deg, var(--dm-magenta), var(--dm-violet));
  border-radius: 2px;
}
.dm .dm-h2 {
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 900; color: var(--dm-ink);
  letter-spacing: -.02em; line-height: 1.08;
  margin: 0 0 14px;
}
.dm .dm-h2 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--dm-magenta), var(--dm-violet));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.dm .dm-section-head { max-width: 880px; margin: 0 auto 44px; text-align: center; }
.dm .dm-section-head__lede { font-size: 17px; line-height: 1.65; color: var(--dm-text-2); margin: 0; }

/* ---------- Buttons ---------- */
.dm .dm-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 26px; border-radius: 999px;
  font-weight: 800; font-size: 15px; text-decoration: none;
  letter-spacing: .01em;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  border: 2px solid transparent;
}
.dm .dm-btn--primary {
  background: linear-gradient(135deg, var(--dm-magenta), var(--dm-violet));
  color: #fff;
  box-shadow: 0 12px 28px -10px rgba(214,31,122,.55);
}
.dm .dm-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 38px -12px rgba(214,31,122,.7); }
.dm .dm-btn--lime {
  background: var(--dm-lime); color: var(--dm-ink);
  box-shadow: 0 10px 24px -10px rgba(198,240,74,.7);
}
.dm .dm-btn--lime:hover { background: var(--dm-lime-2); transform: translateY(-2px); }
.dm .dm-btn--ghost {
  background: transparent; color: var(--dm-ink); border-color: var(--dm-ink);
}
.dm .dm-btn--ghost:hover { background: var(--dm-ink); color: #fff; }
.dm .dm-btn--ghost-light {
  background: transparent; color: #fff; border-color: rgba(255,255,255,.6);
}
.dm .dm-btn--ghost-light:hover { background: #fff; color: var(--dm-ink); }

/* ---------- HERO ---------- */
.dm-hero {
  position: relative; overflow: hidden;
  background: radial-gradient(1200px 600px at 18% 0%, #1a214a 0%, var(--dm-ink) 60%);
  color: #fff;
  padding: 90px 0 80px;
}
.dm-hero::before {
  content: ""; position: absolute; inset: 0; opacity: .6; pointer-events: none;
  background:
    radial-gradient(700px 400px at 85% 20%, rgba(214,31,122,.35), transparent 60%),
    radial-gradient(600px 380px at 10% 100%, rgba(108,63,196,.4), transparent 60%),
    radial-gradient(500px 280px at 95% 90%, rgba(198,240,74,.18), transparent 60%);
}
.dm-hero::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .08;
  background-image:
    radial-gradient(rgba(255,255,255,.7) 1px, transparent 1px);
  background-size: 28px 28px;
}
.dm-hero__grid {
  position: relative; z-index: 1;
  display: grid; gap: 48px;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .9fr);
  align-items: start;
}
.dm-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
  color: var(--dm-lime); font-weight: 800; margin: 0 0 18px;
}
.dm-hero__eyebrow-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--dm-lime);
  box-shadow: 0 0 0 5px rgba(198,240,74,.2), 0 0 12px rgba(198,240,74,.55);
}
.dm-hero__title {
  font-size: clamp(38px, 5.6vw, 64px);
  font-weight: 900; line-height: 1.02; letter-spacing: -.025em;
  color: #fff; margin: 0 0 18px;
}
.dm-hero__title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--dm-magenta-3), var(--dm-lime));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.dm-hero__lede {
  font-size: clamp(16.5px, 1.4vw, 19px); line-height: 1.65;
  color: #cfd2e3; max-width: 620px; margin: 0 0 30px;
}
.dm-hero__ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 36px; }
.dm-hero__features {
  display: grid; gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dm-hero__feat {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 18px 18px;
  backdrop-filter: blur(2px);
  transition: border-color .2s ease, transform .2s ease;
}
.dm-hero__feat:hover { border-color: var(--dm-magenta-3); transform: translateY(-2px); }
.dm-hero__feat h3 {
  font-size: 15px; font-weight: 800; color: var(--dm-lime);
  margin: 0 0 8px; letter-spacing: -.005em;
}
.dm-hero__feat p { font-size: 13.5px; line-height: 1.55; color: #c5cae0; margin: 0; }

/* Right side: jump nav card */
.dm-hero__nav {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--dm-radius);
  padding: 24px 22px;
  backdrop-filter: blur(4px);
  position: relative;
}
.dm-hero__nav::before {
  content: ""; position: absolute; top: -2px; left: 22px; right: 22px; height: 3px;
  background: linear-gradient(90deg, var(--dm-magenta), var(--dm-violet), var(--dm-lime));
  border-radius: 3px;
}
.dm-hero__nav h4 {
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--dm-magenta-3); font-weight: 800; margin: 4px 0 14px;
}
.dm-hero__nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.dm-hero__nav li a {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 12px; border-radius: 10px;
  color: #e6e9f5; text-decoration: none;
  font-size: 14.5px; font-weight: 600;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.dm-hero__nav li a:hover {
  background: rgba(214,31,122,.18); color: #fff; transform: translateX(3px);
}
.dm-hero__nav li a span.dm-nav-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 6px;
  background: linear-gradient(135deg, var(--dm-magenta), var(--dm-violet));
  color: #fff; font-size: 11px; font-weight: 800;
  flex-shrink: 0;
}

@media (max-width: 980px) {
  .dm-hero__grid { grid-template-columns: 1fr; }
  .dm-hero__features { grid-template-columns: 1fr; }
}

/* ---------- INTRO band ---------- */
.dm-intro { background: var(--dm-soft); }
.dm-intro__grid {
  display: grid; gap: 56px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
}
.dm-intro__visual {
  position: relative;
  border-radius: var(--dm-radius); overflow: hidden;
  background: linear-gradient(135deg, var(--dm-magenta), var(--dm-violet));
  aspect-ratio: 4 / 3;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--dm-shadow);
}
.dm-intro__visual::before {
  content: ""; position: absolute; inset: 0; opacity: .35;
  background:
    radial-gradient(circle at 20% 30%, var(--dm-lime), transparent 40%),
    radial-gradient(circle at 80% 70%, #fff, transparent 40%);
}
.dm-intro__visual-text {
  position: relative; z-index: 1; text-align: center; padding: 30px;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: clamp(28px, 3vw, 40px); font-weight: 800; line-height: 1.1;
  color: #fff; letter-spacing: -.01em;
}
.dm-intro__visual-text em { color: var(--dm-lime); font-style: italic; }
.dm-intro__copy p {
  font-size: 16.5px; line-height: 1.7; color: var(--dm-text); margin: 0 0 16px;
}
.dm-intro__copy strong { color: var(--dm-ink); }
.dm-intro__cta { margin-top: 22px; }

@media (max-width: 900px) { .dm-intro__grid { grid-template-columns: 1fr; } }

/* ---------- SERVICE SECTIONS (9 services, alternating layout) ---------- */
.dm-svc { padding: 56px 0; position: relative; scroll-margin-top: 84px; }
.dm-svc:nth-child(odd of .dm-svc) { background: var(--dm-paper); }
.dm-svc:nth-child(even of .dm-svc) { background: var(--dm-soft); }
.dm-svc__grid {
  display: grid; gap: 56px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  align-items: center;
}
.dm-svc--flip .dm-svc__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
.dm-svc--flip .dm-svc__visual { order: 2; }
.dm-svc--flip .dm-svc__copy { order: 1; }

.dm-svc__visual {
  position: relative;
  border-radius: var(--dm-radius); overflow: hidden;
  aspect-ratio: 5 / 4;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--dm-shadow);
  background: var(--dm-ink);
}
.dm-svc__visual-num {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: clamp(120px, 18vw, 220px); font-weight: 900;
  line-height: .85;
  background: linear-gradient(135deg, var(--dm-magenta-3), var(--dm-lime));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
  opacity: .9;
  letter-spacing: -.04em;
}
.dm-svc__visual-label {
  position: absolute; bottom: 22px; left: 24px; right: 24px;
  font-size: 12px; letter-spacing: .2em; text-transform: uppercase;
  color: #fff; font-weight: 800;
  display: flex; align-items: center; gap: 10px;
}
.dm-svc__visual-label::before {
  content: ""; width: 24px; height: 2px; background: var(--dm-lime);
}
.dm-svc__visual-icon {
  position: absolute; top: 24px; right: 26px;
  font-size: 28px; opacity: .85;
}
.dm-svc__visual-blob {
  position: absolute; inset: 0; opacity: .55; pointer-events: none;
}
.dm-svc__visual-blob.b1 {
  background: radial-gradient(circle at 25% 30%, var(--dm-magenta), transparent 55%);
}
.dm-svc__visual-blob.b2 {
  background: radial-gradient(circle at 75% 70%, var(--dm-violet), transparent 55%);
}
.dm-svc__visual-blob.b3 {
  background: radial-gradient(circle at 50% 50%, var(--dm-lime), transparent 30%);
  opacity: .18;
}

.dm-svc__chip {
  display: inline-block;
  padding: 6px 12px; border-radius: 999px;
  background: rgba(214,31,122,.1);
  color: var(--dm-magenta); font-size: 11px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
  margin-bottom: 14px;
}
.dm-svc__title {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900; color: var(--dm-ink);
  letter-spacing: -.02em; line-height: 1.1; margin: 0 0 16px;
}
.dm-svc__title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--dm-magenta), var(--dm-violet));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.dm-svc__teaser {
  font-size: 16.5px; line-height: 1.7; color: var(--dm-text); margin: 0 0 20px;
}
.dm-svc__teaser strong { color: var(--dm-ink); }

.dm-svc__list { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 10px; }
.dm-svc__list li {
  position: relative; padding-left: 26px;
  font-size: 15px; line-height: 1.55; color: var(--dm-text);
}
.dm-svc__list li::before {
  content: ""; position: absolute; left: 0; top: 9px;
  width: 14px; height: 4px; border-radius: 2px;
  background: linear-gradient(90deg, var(--dm-magenta), var(--dm-violet));
}
.dm-svc__list li strong { color: var(--dm-ink); font-weight: 800; }

.dm-svc__details {
  margin-top: 12px;
  border: 1.5px solid var(--dm-line);
  border-radius: 12px;
  background: var(--dm-paper);
  overflow: hidden;
}
.dm-svc__details[open] { border-color: var(--dm-magenta); }
.dm-svc__details summary {
  list-style: none;
  padding: 14px 18px; cursor: pointer;
  font-weight: 800; font-size: 14px; color: var(--dm-magenta);
  display: flex; align-items: center; justify-content: space-between;
  letter-spacing: .04em; text-transform: uppercase;
}
.dm-svc__details summary::-webkit-details-marker { display: none; }
.dm-svc__details summary::after {
  content: "+"; font-size: 22px; line-height: 1; transition: transform .2s ease;
}
.dm-svc__details[open] summary::after { content: "−"; }
.dm-svc__details-body {
  padding: 4px 22px 22px;
  font-size: 14.5px; line-height: 1.65; color: var(--dm-text);
}
.dm-svc__details-body p { margin: 0 0 12px; }
.dm-svc__details-body ul { padding-left: 22px; margin: 8px 0 12px; }
.dm-svc__details-body li { margin: 6px 0; }
.dm-svc__details-body h4 {
  font-size: 13.5px; font-weight: 800; color: var(--dm-ink);
  margin: 14px 0 6px; letter-spacing: -.005em;
  text-transform: none;
}

/* Story panel for Social Media (Marketropolis) */
.dm-story {
  position: relative;
  background: linear-gradient(135deg, #1a1340 0%, #2a1858 50%, #4a1860 100%);
  color: #fff;
  border-radius: var(--dm-radius);
  padding: 30px 30px 26px;
  box-shadow: var(--dm-shadow);
  overflow: hidden;
}
.dm-story::before {
  content: ""; position: absolute; inset: 0; opacity: .25; pointer-events: none;
  background:
    radial-gradient(400px 240px at 90% 10%, var(--dm-magenta), transparent 60%),
    radial-gradient(400px 240px at 10% 90%, var(--dm-lime), transparent 60%);
}
.dm-story__label {
  position: relative;
  display: inline-block;
  padding: 4px 12px; border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: var(--dm-lime); font-size: 11px; font-weight: 800;
  letter-spacing: .16em; text-transform: uppercase;
  margin-bottom: 14px;
}
.dm-story__title {
  position: relative;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px);
  font-style: italic; font-weight: 800; line-height: 1.2;
  color: #fff; margin: 0 0 14px;
}
.dm-story__body p {
  position: relative;
  font-size: 14.5px; line-height: 1.7; color: #d9dbf0; margin: 0 0 12px;
}
.dm-story__body p:last-child { margin: 0; }

/* ---------- TAGLINE BAND ---------- */
.dm-tag {
  background: var(--dm-ink); color: #fff;
  padding: 70px 0;
  position: relative; overflow: hidden;
  text-align: center;
}
.dm-tag::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .55;
  background:
    radial-gradient(600px 320px at 20% 50%, rgba(214,31,122,.4), transparent 60%),
    radial-gradient(500px 280px at 80% 50%, rgba(108,63,196,.45), transparent 60%);
}
.dm-tag__inner { position: relative; z-index: 1; max-width: 920px; margin: 0 auto; padding: 0 24px; }
.dm-tag__text {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-style: italic; font-weight: 700;
  font-size: clamp(20px, 2.4vw, 30px); line-height: 1.4;
  color: #fff; margin: 0;
}
.dm-tag__text strong { color: var(--dm-lime); font-style: normal; font-weight: 800; }

/* ---------- AWARDS / LOGO STRIP (grayscale to color on hover) ---------- */
.dm-awards { background: var(--dm-paper); }
.dm-awards__lede { max-width: 760px; margin: 0 auto 36px; text-align: center; }
.dm-awards__lede p { font-size: 16px; line-height: 1.65; color: var(--dm-text-2); margin: 0; }
.dm-awards__strip {
  display: grid; gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  align-items: stretch;
}
.dm-award {
  display: flex; align-items: center; justify-content: center; flex-direction: column;
  padding: 22px 16px;
  border: 1.5px solid var(--dm-line); border-radius: 14px;
  background: var(--dm-soft);
  text-align: center;
  filter: grayscale(1); opacity: .65;
  transition: filter .25s ease, opacity .25s ease, transform .2s ease, border-color .2s ease, background .25s ease;
}
.dm-award:hover {
  filter: grayscale(0); opacity: 1; transform: translateY(-3px);
  border-color: var(--dm-magenta); background: #fff;
  box-shadow: var(--dm-shadow);
}
.dm-award__mark {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-weight: 800; font-size: 20px; color: #fff;
  margin-bottom: 10px;
}
.dm-award:nth-child(1) .dm-award__mark { background: linear-gradient(135deg, #d61f7a, #6c3fc4); }
.dm-award:nth-child(2) .dm-award__mark { background: linear-gradient(135deg, #6c3fc4, #1e88e5); }
.dm-award:nth-child(3) .dm-award__mark { background: linear-gradient(135deg, #1e88e5, #00bfa5); }
.dm-award:nth-child(4) .dm-award__mark { background: linear-gradient(135deg, #00bfa5, #aed635); }
.dm-award:nth-child(5) .dm-award__mark { background: linear-gradient(135deg, #aed635, #d6a40a); }
.dm-award:nth-child(6) .dm-award__mark { background: linear-gradient(135deg, #d6a40a, #d61f7a); }
.dm-award:nth-child(7) .dm-award__mark { background: linear-gradient(135deg, #6c3fc4, #d61f7a); }
.dm-award:nth-child(8) .dm-award__mark { background: linear-gradient(135deg, #d61f7a, #c6f04a); }
.dm-award__label {
  font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--dm-ink); font-weight: 800;
}
.dm-award__sub {
  font-size: 11px; color: var(--dm-text-2); margin-top: 2px;
}

/* ---------- CASE STUDIES (8 cards) ---------- */
.dm-cases { background: var(--dm-soft); }
.dm-cases__grid {
  display: grid; gap: 22px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.dm-case {
  background: var(--dm-paper);
  border: 1.5px solid var(--dm-line);
  border-radius: var(--dm-radius);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display: flex; flex-direction: column;
}
.dm-case:hover {
  transform: translateY(-4px);
  box-shadow: var(--dm-shadow);
  border-color: var(--dm-magenta);
}
.dm-case__cover {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--dm-ink);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.dm-case__cover::before {
  content: ""; position: absolute; inset: 0; opacity: .8;
}
.dm-case:nth-child(1) .dm-case__cover::before { background: linear-gradient(135deg, #d61f7a, #ff6b9b); }
.dm-case:nth-child(2) .dm-case__cover::before { background: linear-gradient(135deg, #6c3fc4, #d61f7a); }
.dm-case:nth-child(3) .dm-case__cover::before { background: linear-gradient(135deg, #00bfa5, #6c3fc4); }
.dm-case:nth-child(4) .dm-case__cover::before { background: linear-gradient(135deg, #1e88e5, #6c3fc4); }
.dm-case:nth-child(5) .dm-case__cover::before { background: linear-gradient(135deg, #aed635, #00bfa5); }
.dm-case:nth-child(6) .dm-case__cover::before { background: linear-gradient(135deg, #0a0e22, #d61f7a); }
.dm-case:nth-child(7) .dm-case__cover::before { background: linear-gradient(135deg, #d6a40a, #d61f7a); }
.dm-case:nth-child(8) .dm-case__cover::before { background: linear-gradient(135deg, #ff6b9b, #c6f04a); }
.dm-case__brand {
  position: relative; z-index: 1;
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  font-size: clamp(22px, 2.4vw, 28px); font-weight: 800;
  color: #fff; letter-spacing: -.01em; line-height: 1.15;
  text-align: center; padding: 0 18px;
}
.dm-case__campaign {
  position: relative; z-index: 1;
  display: block; font-style: italic; font-weight: 500;
  font-size: 14px; color: rgba(255,255,255,.85); margin-top: 4px;
}
.dm-case__body { padding: 22px 22px 18px; flex: 1; display: flex; flex-direction: column; }
.dm-case__row { font-size: 13.5px; line-height: 1.55; color: var(--dm-text); margin: 0 0 10px; }
.dm-case__row strong {
  display: inline-block; font-size: 11px; letter-spacing: .12em;
  text-transform: uppercase; color: var(--dm-magenta);
  font-weight: 800; margin-right: 6px;
}
.dm-case__tags {
  margin-top: auto; padding-top: 14px;
  border-top: 1px dashed var(--dm-line);
  display: flex; gap: 8px; flex-wrap: wrap;
}
.dm-case__tag {
  font-size: 11px; letter-spacing: .06em;
  padding: 4px 10px; border-radius: 999px;
  background: var(--dm-soft); color: var(--dm-violet);
  font-weight: 700;
}

/* ---------- FAQ ---------- */
.dm-faq { background: var(--dm-paper); }
.dm-faq__list { max-width: 940px; margin: 0 auto; display: grid; gap: 12px; }
.dm-faq__item {
  background: var(--dm-soft); border: 1.5px solid var(--dm-line);
  border-radius: 14px; overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.dm-faq__item[open] {
  border-color: var(--dm-magenta);
  background: #fff;
  box-shadow: 0 14px 36px -18px rgba(214,31,122,.4);
}
.dm-faq__q {
  list-style: none;
  padding: 18px 24px; cursor: pointer;
  font-weight: 800; font-size: 16.5px; color: var(--dm-ink);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.dm-faq__q::-webkit-details-marker { display: none; }
.dm-faq__q::after {
  content: "+"; font-size: 24px; color: var(--dm-magenta);
  font-weight: 400; line-height: 1; transition: transform .2s ease;
}
.dm-faq__item[open] .dm-faq__q::after { content: "−"; }
.dm-faq__a {
  padding: 0 24px 22px; font-size: 15px; line-height: 1.65; color: var(--dm-text);
}
.dm-faq__a p { margin: 0 0 10px; }
.dm-faq__a p:last-child { margin: 0; }
.dm-faq__a strong { color: var(--dm-ink); }

/* ---------- CLOSING CTA ---------- */
.dm-close {
  position: relative; overflow: hidden;
  background:
    linear-gradient(135deg, rgba(10,14,34,.9), rgba(108,63,196,.85)),
    radial-gradient(800px 400px at 80% 30%, rgba(214,31,122,.6), transparent 70%);
  color: #fff;
  padding: 80px 0;
  text-align: center;
}
.dm-close__lime-blob {
  position: absolute; bottom: -100px; right: -100px;
  width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, rgba(198,240,74,.35), transparent 65%);
  pointer-events: none;
}
.dm-close__h2 {
  position: relative;
  font-size: clamp(30px, 4vw, 48px); font-weight: 900;
  line-height: 1.08; letter-spacing: -.02em;
  color: #fff; margin: 0 0 16px;
}
.dm-close__h2 em {
  font-style: normal;
  background: linear-gradient(135deg, var(--dm-lime), var(--dm-magenta-3));
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}
.dm-close__lede {
  position: relative;
  font-size: 17px; line-height: 1.65; color: #d6d8e9;
  max-width: 680px; margin: 0 auto 28px;
}
.dm-close__ctas {
  position: relative;
  display: flex; gap: 14px; justify-content: center; flex-wrap: wrap;
}

/* ---------- Responsive tweaks ---------- */
@media (max-width: 800px) {
  .dm-svc__grid,
  .dm-svc--flip .dm-svc__grid { grid-template-columns: 1fr; }
  .dm-svc--flip .dm-svc__visual,
  .dm-svc--flip .dm-svc__copy { order: 0; }
  .dm section { padding: 56px 0; }
  .dm-svc { padding: 40px 0; }
}
