:root {
  --dvs-cta-border: #ffffff40;
  --dvs-cta-background: #0a0a0a80;
  --dvs-cta-hover: #ffffff0f;
  --dvs-icon-glow: drop-shadow(0 0 16px #ffffff55) drop-shadow(0 0 48px #ffffff40);
}

body .dvs-cta,
body.service-design .gurnee-button.service-action.dvs-cta,
body .pricing-content .pricing-button.dvs-cta,
body .search-main .search-button.dvs-cta,
body .project-main .project-button.dvs-cta,
body .contact-options .submit-button.dvs-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  box-sizing: border-box;
  min-height: 50px;
  max-width: 100%;
  padding: 12px 24px;
  border: 1px solid var(--dvs-cta-border);
  border-radius: 999px;
  background: var(--dvs-cta-background);
  color: #fff;
  font: 500 13px/20px Inter, Arial, sans-serif;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: inset 0 1px 0 #ffffff08;
  transition: background 240ms ease, border-color 240ms ease, box-shadow 240ms ease;
}

body .dvs-cta:hover,
body.service-design .gurnee-button.service-action.dvs-cta:hover,
body .pricing-content .pricing-button.dvs-cta:hover,
body .search-main .search-button.dvs-cta:hover,
body .project-main .project-button.dvs-cta:hover,
body .contact-options .submit-button.dvs-cta:hover {
  background: var(--dvs-cta-hover);
  border-color: #ffffffb3;
  color: #fff;
  box-shadow: 0 0 24px #ffffff12, inset 0 1px 0 #ffffff12;
}

body .dvs-cta:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
body .dvs-cta > span { min-width: 0; }
body .dvs-cta > .lucide,
body .search-main .search-button.dvs-cta > .lucide {
  display: block;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  stroke-width: 1.75;
  transition: transform 220ms ease;
}
body .dvs-cta:hover > .lucide { transform: translateX(3px); }
body .glowing-wrapper.glowing-wrapper-active.button { min-height: 50px; }
body .glowing-wrapper-button.dvs-cta { min-height: 0; padding: 0 14px; height: 100%; background: transparent; }
body .text-container .dvs-cta > .subtitle-3,
body .dvs-cta > .subtitle-3 { color: inherit; font: inherit; letter-spacing: 0; }
body .glowing-wrapper-button.dvs-cta::after { background: transparent; box-shadow: inset 0 -12px 24px #ffffff12; }
body .contact-options { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
body .quick-link-item { grid-template-columns: 48px minmax(0, 1fr); gap: 14px; min-height: 48px; font: 500 13px/20px Inter, Arial, sans-serif; letter-spacing: 0; }
body .quick-link-item > :not(.quick-link-icon) { font: inherit; letter-spacing: 0; }
body .quick-link-icon { width: 48px; height: 48px; padding: 12px; border-color: var(--dvs-cta-border); background: var(--dvs-cta-background); }
body .quick-link-icon img { width: 22px; height: 22px; }
body .quick-link-item:hover .quick-link-icon { background: var(--dvs-cta-hover); border-color: #ffffffb3; }
body .quick-link-item:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }

/* The glow follows the artwork silhouette; it does not add a separate background shape. */
body .service-art,
body .pricing-consult-art,
body .service-section-symbol > .lucide,
body .service-step-symbol > .lucide,
body .pricing-plan-top > .lucide,
body .shopify-capability-top > .lucide,
body .shopify-process-top > .lucide,
body .search-section h2 > .lucide,
body .search-section h3 > .lucide { filter: var(--dvs-icon-glow); }

@media (prefers-reduced-motion: reduce) {
  body .dvs-cta, body .dvs-cta > .lucide { transition: none !important; }
  body .dvs-cta:hover > .lucide { transform: none; }
}
