/* =========================================================
   DIY VS PROFESSIONAL WEBSITE
   DelosWeb page styles
   ========================================================= */


/* =========================================================
   01. ABOUT US DROPDOWN — TRUNCATED LABEL + FULL TOOLTIP
   ========================================================= */

.main-menu .navigation > li.about-us-dropdown > ul.about-us-submenu {
  min-width: 176px;
  overflow: visible;
}

.main-menu
  .navigation
  > li.about-us-dropdown
  > ul.about-us-submenu
  > li {
  position: relative;
  overflow: visible;
}

.main-menu
  .navigation
  > li.about-us-dropdown
  > ul.about-us-submenu
  > li
  > a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    padding-left 0.3s ease;
}

.main-menu
  .navigation
  > li.about-us-dropdown
  > ul.about-us-submenu
  > li:hover
  > a,
.main-menu
  .navigation
  > li.about-us-dropdown
  > ul.about-us-submenu
  > li:focus-within
  > a {
  color: var(--theme-color1, #2d80b7);
  background-color: var(--theme-color-soft-blue-bg, #f4f9ff);
  padding-left: 28px;
}

.menu-item-truncated > a {
  overflow: hidden;
}

.menu-item-truncated .menu-item-label {
  display: block;
  width: 100%;
  max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.menu-item-truncated .menu-item-full-text {
  position: absolute;
  top: 50%;
  right: calc(100% + 14px);
  z-index: 9999;

  width: max-content;
  max-width: 290px;
  padding: 12px 17px;

  color: var(--theme-color-dark, #000038);
  background-color: var(--theme-color-white, #ffffff);
  border: 1px solid rgba(45, 128, 183, 0.18);
  border-radius: 8px;

  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  white-space: nowrap;

  box-shadow:
    0 15px 35px rgba(0, 0, 56, 0.16),
    0 4px 12px rgba(45, 128, 183, 0.08);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transform: translateY(-50%) translateX(10px) scale(0.96);
  transform-origin: right center;

  transition:
    opacity 0.25s ease,
    visibility 0.25s ease,
    transform 0.25s ease;
}

.menu-item-truncated .menu-item-full-text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;

  width: 10px;
  height: 10px;

  background-color: var(--theme-color-white, #ffffff);
  border-top: 1px solid rgba(45, 128, 183, 0.18);
  border-right: 1px solid rgba(45, 128, 183, 0.18);

  transform: translate(-5px, -50%) rotate(45deg);
}

.menu-item-truncated .menu-item-full-text::after {
  content: "";
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 5px;

  width: 3px;
  border-radius: 20px;
  background-color: var(--theme-color1, #2d80b7);
}

.menu-item-truncated:hover .menu-item-full-text,
.menu-item-truncated:focus-within .menu-item-full-text {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%) translateX(0) scale(1);
}

.menu-item-truncated > a::before {
  content: "";
  position: absolute;
  left: 15px;

  width: 5px;
  height: 5px;
  border-radius: 50%;

  background-color: var(--theme-color1, #2d80b7);
  opacity: 0;
  transform: scale(0);

  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.menu-item-truncated:hover > a::before,
.menu-item-truncated:focus-within > a::before {
  opacity: 1;
  transform: scale(1);
}


/* =========================================================
   02. PAGE TITLE / BREADCRUMB — TITLE VISIBILITY FIX
   ========================================================= */

/* Match the Who We Are inner-page header: white navigation over the
   navy breadcrumb before scrolling, dark navigation on the white sticky bar. */
.main-header.header-style-eight.inner-page
  > .container
  .main-menu
  .navigation
  > li
  > a,
.main-header.header-style-eight.inner-page
  > .container
  .main-menu
  .navigation
  .dropdown
  > .dropdown-btn {
  color: var(--theme-color-white) !important;
  -webkit-text-fill-color: var(--theme-color-white) !important;
}

.main-header.header-style-eight.inner-page
  > .container
  .outer-box
  .mobile-nav-toggler
  span {
  background-color: var(--theme-color-white) !important;
}

.main-header.header-style-eight.inner-page .sticky-header {
  background: var(--theme-color-white);
  box-shadow: 0 10px 35px rgba(var(--theme-color-dark-rgb), 0.12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-100%);
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.35s ease;
}

.main-header.header-style-eight.inner-page .sticky-header.fixed-header {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.main-header.header-style-eight.inner-page
  .sticky-header
  .main-menu
  .navigation
  > li
  > a,
.main-header.header-style-eight.inner-page
  .sticky-header
  .main-menu
  .navigation
  .dropdown
  > .dropdown-btn {
  color: var(--theme-color-dark) !important;
  -webkit-text-fill-color: var(--theme-color-dark) !important;
}

.main-header.header-style-eight.inner-page
  .sticky-header
  .mobile-nav-toggler
  span,
.main-header.header-style-eight.inner-page
  .sticky-header
  .ks-header-bar
  span {
  background-color: var(--theme-color-dark) !important;
}

.page-title {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.page-title::before,
.page-title::after {
  z-index: 0 !important;
  pointer-events: none;
}

.page-title .auto-container {
  position: relative;
  z-index: 5;
}

.page-title .title-outer {
  position: relative;
  z-index: 6;

  display: block;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.page-title .title-outer > .title {
  position: relative !important;
  inset: auto !important;
  z-index: 7 !important;

  display: block !important;
  width: auto !important;
  max-width: 900px;
  min-height: auto !important;
  margin: 0 0 14px;
  padding: 0;

  overflow: visible !important;
  clip: auto !important;

  color: var(--theme-color-white, #ffffff) !important;
  background: transparent !important;
  -webkit-text-fill-color: var(--theme-color-white, #ffffff) !important;

  font-family: var(--heading-font-family);
  font-size: clamp(32px, 5vw, 64px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  text-indent: 0 !important;

  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.page-title .page-breadcrumb {
  position: relative;
  z-index: 7;

  display: flex;
  flex-wrap: wrap;
  align-items: center;

  margin: 0;
  padding: 0;

  opacity: 1 !important;
  visibility: visible !important;
}

.page-title .page-breadcrumb li,
.page-title .page-breadcrumb a {
  opacity: 1 !important;
  visibility: visible !important;
}


/* =========================================================
   03. PAGE BASE / SHARED LAYOUT
   ========================================================= */

.dw-diy-pro-page {
  overflow: hidden;
  color: var(--text-color);
  background: var(--body-color);
}

.dw-diy-pro-container {
  width: min(100% - 40px, var(--large-container-width));
  margin-inline: auto;
}

.dw-diy-pro-section {
  padding: clamp(72px, 8vw, 120px) 0;
}

.dw-diy-pro-section--soft {
  background: var(--theme-color-soft-blue-bg);
}

.dw-diy-pro-heading {
  max-width: 820px;
  margin: 0 auto clamp(36px, 5vw, 64px);
  text-align: center;
}

.dw-diy-pro-kicker {
  display: inline-block;
  margin-bottom: 16px;

  color: var(--theme-color-yellow);
  font-family: var(--heading-font-family);
  font-size: 13px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dw-diy-pro-heading h2,
.dw-diy-pro-page h2 {
  color: var(--headings-color);
}

.dw-diy-pro-heading p {
  margin: 18px auto 0;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.75;
}


/* =========================================================
   04. BUTTONS
   ========================================================= */

.dw-diy-pro-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.dw-diy-pro-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;

  padding: 12px 24px;
  border: 1px solid var(--theme-color-yellow);
  border-radius: 8px;

  background: var(--theme-color-yellow);
  color: var(--theme-color-white);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.dw-diy-pro-btn:hover {
  transform: translateY(-2px);
  background: var(--theme-color-dark);
  border-color: var(--theme-color-dark);
  color: var(--theme-color-white);
}

.dw-diy-pro-btn--ghost {
  background: transparent;
  color: var(--theme-color-dark);
}

.dw-diy-pro-btn--light {
  border-color: var(--theme-color-white);
  background: var(--theme-color-white);
  color: var(--theme-color-dark);
}


/* =========================================================
   05. HERO
   ========================================================= */

.dw-diy-pro-hero {
  padding: clamp(70px, 8vw, 125px) 0;
  background: var(--theme-color-soft-blue-bg);
}

.dw-diy-pro-hero-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 1.02fr)
    minmax(420px, 0.98fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: center;
}

.dw-diy-pro-hero h1 {
  max-width: 820px;
  font-size: var(--h1-font-size);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.dw-diy-pro-hero-copy {
  max-width: 720px;
  margin-top: 24px;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.75;
}

.dw-diy-pro-visual {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;

  padding: 28px;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 24px;

  background: var(--theme-color-white);
  box-shadow: 0 24px 60px var(--theme-color-muted-blue);
}

.dw-diy-pro-visual::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  width: 36px;
  height: 2px;
  background: var(--theme-color-yellow);

  transform: translate(-50%, -50%);
}

.dw-diy-pro-visual-panel {
  min-height: 330px;
  padding: 20px;
  border-radius: 16px;
  background: var(--theme-color-light);
}

.dw-diy-pro-visual-panel h2 {
  margin-bottom: 18px;
  font-size: 18px;
}

.dw-diy-pro-editor-bar {
  height: 13px;
  margin-bottom: 14px;
  border-radius: 20px;
  background: var(--theme-color-silver);
}

.dw-diy-pro-editor-block {
  height: 48px;
  margin: 10px 0;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 8px;
  background: var(--theme-color-white);
}

.dw-diy-pro-publish {
  display: block;
  margin-top: 18px;
  padding: 8px;
  border-radius: 6px;

  background: var(--theme-color-yellow);
  color: var(--theme-color-white);

  font-size: 12px;
  text-align: center;
}

.dw-diy-pro-map {
  display: grid;
  gap: 12px;
}

.dw-diy-pro-map span {
  position: relative;
  display: block;

  padding: 10px;
  border: 1px solid var(--theme-color-muted-blue);
  border-radius: 7px;

  background: var(--theme-color-white);
  color: var(--theme-color-dark);

  font-size: 12px;
  text-align: center;
}

.dw-diy-pro-map span:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -13px;

  width: 1px;
  height: 12px;
  background: var(--theme-color-yellow);
}


/* =========================================================
   06. BUILDER TOOLS
   ========================================================= */

.dw-diy-pro-tools {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.dw-diy-pro-tool {
  padding: 28px;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 16px;
  background: var(--theme-color-white);
}

.dw-diy-pro-tool i {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;

  margin-bottom: 20px;
  border-radius: 12px;

  background: var(--theme-color4);
  color: var(--theme-color-yellow);
  font-size: 21px;
}

.dw-diy-pro-tool h3 {
  margin-bottom: 8px;
  font-size: 21px;
}

.dw-diy-pro-bridge {
  margin-top: 38px;
  padding: 28px;
  border-left: 5px solid var(--theme-color-yellow);

  background: var(--theme-color-dark);
  color: var(--theme-color-white);

  font-family: var(--heading-font-family);
  font-size: clamp(22px, 2.5vw, 34px);
}


/* =========================================================
   07. SPLIT COMPARISON CARDS
   ========================================================= */

.dw-diy-pro-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.dw-diy-pro-side {
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--theme-color-border-light);
  border-radius: 20px;
  background: var(--theme-color-white);
}

.dw-diy-pro-side--pro {
  border-top: 5px solid var(--theme-color-yellow);
  box-shadow: 0 20px 50px var(--theme-color-muted-blue);
}

.dw-diy-pro-side h3 {
  margin-bottom: 18px;
  font-size: clamp(24px, 2.5vw, 34px);
}

.dw-diy-pro-list {
  display: grid;
  gap: 12px;

  margin: 0;
  padding: 0;
  list-style: none;
}

.dw-diy-pro-list li {
  position: relative;
  padding-left: 28px;
}

.dw-diy-pro-list li::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;

  width: 10px;
  height: 10px;
  border: 2px solid var(--theme-color-yellow);
  border-radius: 50%;
}

.dw-diy-pro-side p {
  margin-top: 22px;
}


/* =========================================================
   08. DECISION FLOW
   ========================================================= */

.dw-diy-pro-decision-flow {
  display: grid;
  grid-template-columns: 1fr minmax(240px, 0.65fr) 1fr;
  gap: 24px;
  align-items: center;
}

.dw-diy-pro-question-stack {
  display: grid;
  gap: 12px;
}

.dw-diy-pro-question {
  padding: 16px 18px;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 12px;

  background: var(--theme-color-white);
  color: var(--theme-color-dark);
}

.dw-diy-pro-editor-core {
  padding: 28px;
  border-radius: 24px;

  background: var(--theme-color-dark);
  color: var(--theme-color-white);

  text-align: center;
  box-shadow: 0 20px 50px var(--theme-color-muted-blue);
}

.dw-diy-pro-editor-core i {
  margin-bottom: 16px;
  color: var(--theme-color5);
  font-size: 48px;
}

.dw-diy-pro-editor-core h3 {
  color: var(--theme-color-white);
  font-size: 24px;
}

.dw-diy-pro-emphasis {
  max-width: 850px;
  margin: 48px auto 0;

  color: var(--theme-color-dark);
  font-family: var(--heading-font-family);
  font-size: clamp(28px, 4vw, 48px);
  text-align: center;
}

.dw-diy-pro-emphasis--left {
  margin-left: 0;
  text-align: left;
}


/* =========================================================
   09. COMPARISON TABLE
   ========================================================= */

.dw-diy-pro-table-wrap {
  overflow: hidden;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 20px;

  background: var(--theme-color-white);
  box-shadow: 0 18px 45px var(--theme-color-muted-blue);
}

.dw-diy-pro-table {
  width: 100%;
  border-collapse: collapse;
}

.dw-diy-pro-table th,
.dw-diy-pro-table td {
  padding: 22px 24px;
  border-bottom: 1px solid var(--theme-color-border-light);
  text-align: left;
  vertical-align: top;
}

.dw-diy-pro-table thead th {
  background: var(--theme-color-dark);
  color: var(--theme-color-white);

  font-family: var(--heading-font-family);
  font-size: 20px;
}

.dw-diy-pro-table tbody th {
  width: 17%;
  color: var(--theme-color-dark);
}

.dw-diy-pro-table tr:last-child > * {
  border-bottom: 0;
}


/* =========================================================
   10. SEO SECTION
   ========================================================= */

.dw-diy-pro-seo-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 28px;
  align-items: stretch;
}

.dw-diy-pro-seo-panel {
  padding: 34px;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 18px;
  background: var(--theme-color-white);
}

.dw-diy-pro-seo-panel h3 {
  margin-bottom: 22px;
  font-size: 28px;
}

.dw-diy-pro-seo-arrow {
  align-self: center;
  color: var(--theme-color-yellow);
  font-size: 34px;
}


/* =========================================================
   11. TRUST SECTION
   ========================================================= */

.dw-diy-pro-trust-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: clamp(35px, 6vw, 80px);
  align-items: center;
}

.dw-diy-pro-browser {
  padding: 16px;
  border: 1px solid var(--theme-color-border-light);
  border-radius: 20px;

  background: var(--theme-color-white);
  box-shadow: 0 24px 60px var(--theme-color-muted-blue);
}

.dw-diy-pro-browser-top {
  height: 28px;
  margin: -2px -2px 16px;
  border-radius: 10px;
  background: var(--theme-color-light);
}

.dw-diy-pro-browser-hero {
  padding: 28px;
  border-radius: 12px;
  background: var(--theme-color-dark);
  color: var(--theme-color-white);
}

.dw-diy-pro-browser-hero strong {
  display: block;
  color: var(--theme-color-white);
  font-size: 23px;
}

.dw-diy-pro-signal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.dw-diy-pro-signal {
  padding: 14px;
  border-radius: 9px;

  background: var(--theme-color4);
  color: var(--theme-color-dark);

  font-size: 13px;
}


/* =========================================================
   12. EDITORIAL SECTION
   ========================================================= */

.dw-diy-pro-editorial {
  position: relative;
  overflow: hidden;

  padding: clamp(90px, 10vw, 150px) 0;

  background: var(--theme-color-dark);
  color: var(--theme-color-white);
}

.dw-diy-pro-editorial::before,
.dw-diy-pro-editorial::after {
  content: "";
  position: absolute;

  width: 340px;
  height: 340px;

  border: 1px solid var(--theme-color1);
  border-radius: 50%;
}

.dw-diy-pro-editorial::before {
  top: -170px;
  left: -140px;
}

.dw-diy-pro-editorial::after {
  right: -130px;
  bottom: -190px;
}

.dw-diy-pro-editorial h2 {
  max-width: 920px;

  color: var(--theme-color-white);
  font-size: var(--h2-font-size);
  line-height: 1.05;
}

.dw-diy-pro-editorial blockquote {
  max-width: 950px;
  margin: 40px 0 0;
  padding-left: 28px;
  border-left: 5px solid var(--theme-color5);

  font-size: clamp(20px, 2.3vw, 30px);
  line-height: 1.6;
}


/* =========================================================
   13. DELOSWEB PROCESS
   ========================================================= */

.dw-diy-pro-process {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  align-items: stretch;
}

.dw-diy-pro-step {
  position: relative;
  padding: 28px 22px;
  border: 1px solid var(--theme-color-border-light);
  background: var(--theme-color-white);
}

.dw-diy-pro-step:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: -14px;
  z-index: 2;

  color: var(--theme-color-yellow);
  font-size: 28px;

  transform: translateY(-50%);
}

.dw-diy-pro-step span {
  display: block;
  margin-bottom: 12px;
  color: var(--theme-color-yellow);
}

.dw-diy-pro-step h3 {
  font-size: 20px;
}


/* =========================================================
   14. PROFESSIONAL OPTIONS
   ========================================================= */

.dw-diy-pro-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.dw-diy-pro-option {
  display: flex;
  flex-direction: column;

  padding: clamp(30px, 4vw, 48px);
  border: 1px solid var(--theme-color-border-light);
  border-radius: 22px;

  background: var(--theme-color-white);
}

.dw-diy-pro-option--custom {
  background: var(--theme-color-dark);
  color: var(--theme-color-white);
}

.dw-diy-pro-option--custom h3 {
  color: var(--theme-color-white);
}

.dw-diy-pro-option h3 {
  font-size: 32px;
}

.dw-diy-pro-option .dw-diy-pro-btn {
  align-self: flex-start;
  margin-top: auto;
}

/* =========================================================
   16. FINAL CTA
   ========================================================= */

.dw-diy-pro-cta {
  padding: clamp(70px, 8vw, 110px) 0;

  background: var(--gradient-2);
  color: var(--theme-color-white);

  text-align: center;
}

.dw-diy-pro-cta h2 {
  max-width: 1050px;
  margin: auto;
  color: var(--theme-color-white);
  font-size: var(--h2-font-size);
}

.dw-diy-pro-cta p {
  max-width: 760px;
  margin: 22px auto 0;
}

.dw-diy-pro-cta .dw-diy-pro-btns {
  justify-content: center;
}


/* =========================================================
   17. RESPONSIVE — LARGE TABLET
   ========================================================= */

@media (max-width: 1199px) {
  .menu-item-truncated .menu-item-label {
    max-width: none;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
  }

  .menu-item-truncated .menu-item-full-text {
    display: none;
  }

  .menu-item-truncated > a {
    overflow: visible;
  }

  .dw-diy-pro-hero-grid {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-hero-copy {
    max-width: 850px;
  }

  .dw-diy-pro-trust-layout {
    grid-template-columns: 1fr 1fr;
  }
}


/* =========================================================
   18. RESPONSIVE — TABLET
   ========================================================= */

@media (max-width: 991px) {
  .dw-diy-pro-tools {
    grid-template-columns: repeat(2, 1fr);
  }

  .dw-diy-pro-decision-flow {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-editor-core {
    grid-row: 1;
  }

  .dw-diy-pro-seo-grid {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-seo-arrow {
    text-align: center;
    transform: rotate(90deg);
  }

  .dw-diy-pro-process {
    grid-template-columns: 1fr 1fr;
  }

  .dw-diy-pro-step:nth-child(2)::after {
    display: none;
  }

  .dw-diy-pro-faq-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   19. RESPONSIVE — MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .page-title .title-outer > .title {
    margin-bottom: 10px;
    font-size: clamp(28px, 9vw, 42px);
  }

  .dw-diy-pro-container {
    width: min(100% - 28px, var(--large-container-width));
  }

  .dw-diy-pro-visual,
  .dw-diy-pro-split,
  .dw-diy-pro-options,
  .dw-diy-pro-trust-layout {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-visual::after {
    display: none;
  }

  .dw-diy-pro-visual-panel {
    min-height: 0;
  }

  .dw-diy-pro-table,
  .dw-diy-pro-table tbody,
  .dw-diy-pro-table tr,
  .dw-diy-pro-table th,
  .dw-diy-pro-table td {
    display: block;
  }

  .dw-diy-pro-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  .dw-diy-pro-table tr {
    padding: 18px;
    border-bottom: 1px solid var(--theme-color-border-light);
  }

  .dw-diy-pro-table tbody th {
    width: auto;
    padding: 0 0 12px;
    border: 0;
    font-size: 21px;
  }

  .dw-diy-pro-table td {
    padding: 10px 0;
    border: 0;
  }

  .dw-diy-pro-table td::before {
    content: attr(data-label);
    display: block;

    color: var(--theme-color-yellow);
    font-size: 12px;
    text-transform: uppercase;
  }

  .dw-diy-pro-process {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-step::after {
    display: none;
  }

  .dw-diy-pro-tools {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   20. RESPONSIVE — SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .dw-diy-pro-hero h1 {
    font-size: 38px;
  }

  .dw-diy-pro-btns,
  .dw-diy-pro-btn {
    width: 100%;
  }

  .dw-diy-pro-visual {
    padding: 14px;
  }

  .dw-diy-pro-signal-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   21. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-diy-pro-page * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* =========================================================
   DIY VS PROFESSIONAL WEBSITE — HERO
========================================================= */

.dw-diy-pro-hero {
  /* Scoped DelosWeb colors.
     These values guarantee the section works even when global variable
     names differ elsewhere in the template. */
  --dw-hero-blue: #2d80b7;
  --dw-hero-navy: #000038;
  --dw-hero-white: #ffffff;
  --dw-hero-light: #f4f9ff;
  --dw-hero-text: rgba(0, 0, 56, 0.68);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  min-height: 760px;
  padding: clamp(90px, 9vw, 145px) 0 clamp(80px, 8vw, 125px);

  background:
    radial-gradient(
      circle at 82% 52%,
      color-mix(
        in srgb,
        var(--theme-color1) 12%,
        transparent
      ),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      var(--theme-color-white),
      var(--theme-color-soft-blue-bg)
    );
}

.dw-diy-pro-hero .dw-diy-pro-container {
  position: relative;
  z-index: 4;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-diy-pro-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.dw-diy-pro-hero-orbit {
  position: absolute;
  display: block;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 14%,
      transparent
    );

  border-radius: 50%;
}

.dw-diy-pro-hero-orbit--one {
  top: 3%;
  right: -10%;

  width: min(62vw, 950px);
  height: min(62vw, 950px);

  animation: dw-diy-pro-orbit-rotate 42s linear infinite;
}

.dw-diy-pro-hero-orbit--two {
  right: 4%;
  bottom: -65%;

  width: min(55vw, 780px);
  height: min(55vw, 780px);

  border-style: dashed;

  animation: dw-diy-pro-orbit-rotate 48s linear infinite reverse;
}

.dw-diy-pro-hero-glow {
  position: absolute;
  top: 15%;
  right: 10%;

  width: 450px;
  height: 450px;

  border-radius: 50%;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 11%,
      transparent
    );

  filter: blur(80px);
  animation: dw-diy-pro-glow-pulse 5s ease-in-out infinite;
}

.dw-diy-pro-hero-dot {
  position: absolute;
  display: block;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--theme-color11);
  box-shadow:
    0 0 0 8px
      color-mix(
        in srgb,
        var(--theme-color1) 8%,
        transparent
      ),
    0 0 25px
      color-mix(
        in srgb,
        var(--theme-color1) 45%,
        transparent
      );

  animation: dw-diy-pro-dot-float 5s ease-in-out infinite;
}

.dw-diy-pro-hero-dot--one {
  top: 14%;
  right: 18%;
}

.dw-diy-pro-hero-dot--two {
  right: 4%;
  bottom: 26%;
  animation-delay: -1.5s;
}

.dw-diy-pro-hero-dot--three {
  bottom: 11%;
  left: 48%;
  animation-delay: -3s;
}


/* =========================================================
   HERO GRID
========================================================= */

.dw-diy-pro-hero-grid {
  display: grid;
  grid-template-columns:
    minmax(0, 0.84fr)
    minmax(620px, 1.16fr);

  gap: clamp(45px, 6vw, 100px);
  align-items: center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.dw-diy-pro-hero-content {
  position: relative;
  z-index: 5;

  max-width: 680px;

  animation: dw-diy-pro-content-enter 0.8s ease both;
}

.dw-diy-pro-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 32px;
  padding: 10px 17px;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 25%,
      transparent
    );

  border-radius: 100px;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 5%,
      var(--theme-color-white)
    );

  color: var(--theme-color1);

  font-family: var(--heading-font-family);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-diy-pro-hero-kicker > span {
  position: relative;
  display: block;

  width: 9px;
  height: 9px;

  border: 2px solid var(--theme-color1);
  border-radius: 50%;

  animation: dw-diy-pro-kicker-pulse 2s ease-in-out infinite;
}

.dw-diy-pro-hero-title {
  max-width: 670px;
  margin: 0;

  color: var(--theme-color-dark);

  font-family: var(--heading-font-family);
  font-size: clamp(42px, 4vw, 62px);
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.dw-diy-pro-hero-title span {
  margin-top: 3px;
  color: var(--theme-color1);
}

.dw-diy-pro-hero-title-line {
  display: block;

  width: 56px;
  height: 3px;

  margin: 30px 0 25px;

  border-radius: 20px;
  background: var(--theme-color1);

  box-shadow:
    22px 0 0
      color-mix(
        in srgb,
        var(--theme-color1) 35%,
        transparent
      );

  transform-origin: left;
  animation: dw-diy-pro-line-enter 0.9s 0.3s ease both;
}

.dw-diy-pro-hero-copy {
  max-width: 640px;
  margin: 0;

  color: var(--text-color);

  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.85;
}


/* =========================================================
   HERO BUTTONS — COLOR FIX
========================================================= */

.dw-diy-pro-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 34px;
}

/*
  High specificity is intentional here. Some global template rules target
  links, visited links, nested spans and icons, which can override button
  colors unless every interactive state is explicitly defined.
*/
.dw-diy-pro-hero .dw-diy-pro-hero-btn {
  position: relative;
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 25px;
  overflow: hidden;

  padding: 13px 25px;
  border: 1px solid var(--dw-hero-blue);
  border-radius: 9px;

  font-family: var(--heading-font-family);
  font-size: 14px;
  line-height: 1;
  text-decoration: none !important;

  -webkit-appearance: none;
  appearance: none;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-hero .dw-diy-pro-hero-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  z-index: 1;

  width: 80%;
  height: 100%;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.38),
    transparent
  );

  pointer-events: none;
  transform: skewX(-20deg);
  transition: left 0.65s ease;
}

.dw-diy-pro-hero .dw-diy-pro-hero-btn:hover::before,
.dw-diy-pro-hero .dw-diy-pro-hero-btn:focus-visible::before {
  left: 145%;
}

.dw-diy-pro-hero .dw-diy-pro-hero-btn > span,
.dw-diy-pro-hero .dw-diy-pro-hero-btn > i {
  position: relative;
  z-index: 2;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

.dw-diy-pro-hero .dw-diy-pro-hero-btn i {
  font-size: 18px;
  transition: transform 0.3s ease;
}

.dw-diy-pro-hero .dw-diy-pro-hero-btn:hover i,
.dw-diy-pro-hero .dw-diy-pro-hero-btn:focus-visible i {
  transform: translateX(5px);
}

/* Primary button */
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary:link,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary:visited {
  border-color: var(--dw-hero-blue) !important;
  background-color: var(--dw-hero-blue) !important;
  background-image: none !important;
  color: var(--dw-hero-white) !important;
  -webkit-text-fill-color: var(--dw-hero-white) !important;

  box-shadow: 0 14px 35px rgba(45, 128, 183, 0.24);
}

.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary:hover,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary:focus-visible {
  border-color: var(--dw-hero-navy) !important;
  background-color: var(--dw-hero-navy) !important;
  background-image: none !important;
  color: var(--dw-hero-white) !important;
  -webkit-text-fill-color: var(--dw-hero-white) !important;

  box-shadow: 0 18px 40px rgba(0, 0, 56, 0.2);
  transform: translateY(-3px);
}

.dw-diy-pro-hero a.dw-diy-pro-hero-btn--primary:active {
  border-color: var(--dw-hero-navy) !important;
  background-color: var(--dw-hero-navy) !important;
  color: var(--dw-hero-white) !important;
  transform: translateY(-1px);
}

/* Secondary button */
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary:link,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary:visited {
  border-color: var(--dw-hero-blue) !important;
  background-color: var(--dw-hero-white) !important;
  background-image: none !important;
  color: var(--dw-hero-navy) !important;
  -webkit-text-fill-color: var(--dw-hero-navy) !important;

  box-shadow: 0 10px 25px rgba(0, 0, 56, 0.06);
}

.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary:hover,
.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary:focus-visible {
  border-color: var(--dw-hero-navy) !important;
  background-color: var(--dw-hero-navy) !important;
  background-image: none !important;
  color: var(--dw-hero-white) !important;
  -webkit-text-fill-color: var(--dw-hero-white) !important;

  box-shadow: 0 18px 40px rgba(0, 0, 56, 0.18);
  transform: translateY(-3px);
}

.dw-diy-pro-hero a.dw-diy-pro-hero-btn--secondary:active {
  border-color: var(--dw-hero-blue) !important;
  background-color: var(--dw-hero-blue) !important;
  color: var(--dw-hero-white) !important;
  transform: translateY(-1px);
}

/* Accessible keyboard focus */
.dw-diy-pro-hero .dw-diy-pro-hero-btn:focus-visible {
  outline: 3px solid rgba(45, 128, 183, 0.28);
  outline-offset: 4px;
}

/* Disabled state, in case this component is reused as a button */
.dw-diy-pro-hero .dw-diy-pro-hero-btn[aria-disabled="true"],
.dw-diy-pro-hero .dw-diy-pro-hero-btn:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  pointer-events: none;
}


/* =========================================================
   BENEFITS
========================================================= */

.dw-diy-pro-hero-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);

  margin: 46px 0 0;
  padding: 0;

  list-style: none;
}

.dw-diy-pro-hero-benefits li {
  position: relative;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;

  padding-right: 20px;
}

.dw-diy-pro-hero-benefits li:not(:first-child) {
  padding-left: 20px;
}

.dw-diy-pro-hero-benefits li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10%;
  right: 0;

  width: 1px;
  height: 80%;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 15%,
      transparent
    );
}

.dw-diy-pro-hero-benefit-icon {
  display: grid;
  flex: 0 0 43px;
  width: 43px;
  height: 43px;
  place-items: center;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 18%,
      transparent
    );

  border-radius: 50%;

  background: var(--theme-color-white);
  color: var(--theme-color1);

  box-shadow:
    0 8px 22px
      color-mix(
        in srgb,
        var(--theme-color1) 10%,
        transparent
      );

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-hero-benefits li:hover
  .dw-diy-pro-hero-benefit-icon {
  background: var(--theme-color1);
  color: var(--theme-color-white);
  transform: translateY(-4px) rotate(-5deg);
}

.dw-diy-pro-hero-benefits li > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;

  color: var(--text-color);

  font-size: 12px;
  line-height: 1.35;
}

.dw-diy-pro-hero-benefits strong {
  color: var(--theme-color-dark);
}


/* =========================================================
   RIGHT SHOWCASE
========================================================= */

.dw-diy-pro-showcase {
  position: relative;
  z-index: 4;

  min-width: 0;
  margin: 0;
  padding-bottom: 45px;

  animation: dw-diy-pro-visual-enter 0.9s 0.1s ease both;
}

.dw-diy-pro-comparison {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 44px;
  align-items: stretch;

  min-height: 565px;
}


/* =========================================================
   COMPARISON CARDS
========================================================= */

.dw-diy-pro-comparison-card {
  position: relative;
  z-index: 3;

  padding: 22px;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 14%,
      transparent
    );

  border-radius: 24px;

  background:
    color-mix(
      in srgb,
      var(--theme-color-white) 91%,
      transparent
    );

  box-shadow:
    0 22px 65px
      color-mix(
        in srgb,
        var(--theme-color-dark) 9%,
        transparent
      ),
    inset 0 1px 0 var(--theme-color-white);

  backdrop-filter: blur(12px);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}

.dw-diy-pro-comparison-card:hover {
  transform: translateY(-8px);

  box-shadow:
    0 30px 75px
      color-mix(
        in srgb,
        var(--theme-color-dark) 13%,
        transparent
      ),
    inset 0 1px 0 var(--theme-color-white);
}

.dw-diy-pro-card-heading {
  display: flex;
  align-items: center;
  gap: 13px;

  margin-bottom: 21px;
}

.dw-diy-pro-card-heading-icon {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;

  border-radius: 50%;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 9%,
      var(--theme-color-white)
    );

  color: var(--theme-color1);
  font-size: 21px;

  box-shadow:
    0 7px 20px
      color-mix(
        in srgb,
        var(--theme-color1) 12%,
        transparent
      );
}

.dw-diy-pro-card-heading h2 {
  margin: 0;

  color: var(--theme-color-dark);

  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.2;
}


/* =========================================================
   BUILDER WINDOW
========================================================= */

.dw-diy-pro-builder-window {
  display: flex;
  min-height: 455px;
  flex-direction: column;

  padding: 20px;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 14%,
      transparent
    );

  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      var(--theme-color-white),
      var(--theme-color-soft-blue-bg)
    );
}

.dw-diy-pro-window-toolbar {
  display: flex;
  align-items: center;
  gap: 6px;

  margin-bottom: 20px;
}

.dw-diy-pro-window-toolbar span {
  width: 8px;
  height: 8px;

  border-radius: 50%;
  background: var(--theme-color1);
}

.dw-diy-pro-window-toolbar span:nth-child(2) {
  opacity: 0.65;
}

.dw-diy-pro-window-toolbar span:nth-child(3) {
  opacity: 0.35;
}

.dw-diy-pro-tool-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.dw-diy-pro-tool-item {
  position: relative;
  display: flex;
  min-height: 107px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  overflow: hidden;

  border: 1px solid rgba(45, 128, 183, 0.18);
  border-radius: 13px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.98),
      rgba(244, 249, 255, 0.92)
    );

  color: var(--dw-hero-navy) !important;
  cursor: default;

  font-size: 12px;
  font-weight: 650;

  box-shadow:
    0 8px 20px rgba(0, 0, 56, 0.04),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  transform: translateY(0);

  transition:
    color 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-tool-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      135deg,
      var(--dw-hero-blue),
      color-mix(
        in srgb,
        var(--dw-hero-blue) 72%,
        var(--dw-hero-navy)
      )
    );

  opacity: 0;
  transition: opacity 0.3s ease;
}

.dw-diy-pro-tool-item::after {
  content: "";
  position: absolute;
  top: -45px;
  right: -45px;
  z-index: 1;

  width: 95px;
  height: 95px;
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.14);
  opacity: 0;
  transform: scale(0.65);

  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
}

.dw-diy-pro-tool-item i,
.dw-diy-pro-tool-item > span {
  position: relative;
  z-index: 2;
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-tool-item i {
  color: var(--dw-hero-blue) !important;
  font-size: 28px;
}

.dw-diy-pro-tool-item:hover,
.dw-diy-pro-tool-item:focus-within {
  border-color: var(--dw-hero-blue);
  color: var(--dw-hero-white) !important;

  box-shadow:
    0 15px 32px rgba(45, 128, 183, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);

  transform: translateY(-5px);
}

.dw-diy-pro-tool-item:hover::before,
.dw-diy-pro-tool-item:focus-within::before {
  opacity: 1;
}

.dw-diy-pro-tool-item:hover::after,
.dw-diy-pro-tool-item:focus-within::after {
  opacity: 1;
  transform: scale(1);
}

/* Force both the icon and label to remain white on hover,
   even when global template rules target Font Awesome or spans. */
.dw-diy-pro-tool-item:hover i,
.dw-diy-pro-tool-item:hover > span,
.dw-diy-pro-tool-item:focus-within i,
.dw-diy-pro-tool-item:focus-within > span {
  color: var(--dw-hero-white) !important;
  -webkit-text-fill-color: var(--dw-hero-white) !important;
}

.dw-diy-pro-tool-item:hover i,
.dw-diy-pro-tool-item:focus-within i {
  transform: translateY(-2px) scale(1.08);
}

.dw-diy-pro-builder-skeleton {
  display: grid;
  gap: 10px;

  margin: 23px 0;
}

.dw-diy-pro-builder-skeleton span {
  display: block;
  height: 10px;

  border-radius: 20px;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 8%,
      var(--theme-color-white)
    );

  overflow: hidden;
}

.dw-diy-pro-builder-skeleton span:nth-child(2) {
  width: 73%;
}

.dw-diy-pro-builder-skeleton span:nth-child(3) {
  width: 48%;
}

.dw-diy-pro-builder-skeleton span::after {
  content: "";
  display: block;

  width: 45%;
  height: 100%;

  background:
    linear-gradient(
      90deg,
      transparent,
      color-mix(
        in srgb,
        var(--theme-color1) 17%,
        transparent
      ),
      transparent
    );

  transform: translateX(-100%);
  animation: dw-diy-pro-skeleton 2.6s ease-in-out infinite;
}

.dw-diy-pro-builder-publish {
  display: flex;
  min-height: 55px;
  align-items: center;
  justify-content: center;
  gap: 12px;

  margin-top: auto;

  border-radius: 9px;

  background:
    linear-gradient(
      135deg,
      var(--theme-color1),
      color-mix(
        in srgb,
        var(--theme-color1) 75%,
        var(--theme-color-dark)
      )
    );

  color: var(--theme-color-white);

  font-family: var(--heading-font-family);
  font-size: 14px;

  box-shadow:
    0 12px 26px
      color-mix(
        in srgb,
        var(--theme-color1) 24%,
        transparent
      );

  animation: dw-diy-pro-publish-pulse 3s ease-in-out infinite;
}


/* =========================================================
   PROFESSIONAL DECISIONS
========================================================= */

.dw-diy-pro-decision-list {
  display: grid;
  gap: 13px;
}

.dw-diy-pro-decision-item {
  position: relative;
  display: flex;
  min-height: 66px;
  align-items: center;
  gap: 17px;
  overflow: hidden;

  padding: 13px 17px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 12px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.98),
      rgba(244, 249, 255, 0.88)
    );

  box-shadow:
    0 8px 22px rgba(0, 0, 56, 0.055),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  transform: translateX(0);

  transition:
    border-color 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-decision-item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  background:
    linear-gradient(
      135deg,
      var(--dw-hero-blue),
      color-mix(
        in srgb,
        var(--dw-hero-blue) 72%,
        var(--dw-hero-navy)
      )
    );

  opacity: 0;
  transition: opacity 0.3s ease;
}

.dw-diy-pro-decision-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -45px;

  width: 44px;
  height: 2px;

  background:
    repeating-linear-gradient(
      90deg,
      var(--dw-hero-blue) 0 4px,
      transparent 4px 9px
    );

  background-size: 18px 2px;
  transform: translateY(-50%);

  animation: dw-diy-pro-flow-line 1.3s linear infinite;
}

.dw-diy-pro-decision-item > span,
.dw-diy-pro-decision-item p {
  position: relative;
  z-index: 2;
}

.dw-diy-pro-decision-item > span {
  display: grid;
  flex: 0 0 39px;
  width: 39px;
  height: 39px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.12);
  border-radius: 10px;

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-hero-blue) !important;
  font-size: 19px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-decision-item > span i {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}

.dw-diy-pro-decision-item p {
  margin: 0;

  color: var(--dw-hero-navy) !important;
  -webkit-text-fill-color: var(--dw-hero-navy) !important;

  font-family: var(--heading-font-family);
  font-size: 14px;
  font-weight: 650;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.dw-diy-pro-decision-item:hover,
.dw-diy-pro-decision-item:focus-within {
  border-color: var(--dw-hero-blue);

  box-shadow:
    0 15px 32px rgba(45, 128, 183, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);

  transform: translateX(7px);
}

.dw-diy-pro-decision-item:hover::after,
.dw-diy-pro-decision-item:focus-within::after {
  opacity: 1;
}

.dw-diy-pro-decision-item:hover > span,
.dw-diy-pro-decision-item:focus-within > span {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.15);
  color: var(--dw-hero-white) !important;

  transform: rotate(-4deg) scale(1.04);
}

.dw-diy-pro-decision-item:hover > span i,
.dw-diy-pro-decision-item:focus-within > span i,
.dw-diy-pro-decision-item:hover p,
.dw-diy-pro-decision-item:focus-within p {
  color: var(--dw-hero-white) !important;
  -webkit-text-fill-color: var(--dw-hero-white) !important;
}


/* =========================================================
   VS BADGE
========================================================= */

.dw-diy-pro-vs {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 8;

  display: grid;
  width: 60px;
  height: 60px;
  place-items: center;

  border: 1px solid
    color-mix(
      in srgb,
      var(--theme-color1) 25%,
      transparent
    );

  border-radius: 50%;

  background: var(--theme-color-white);
  color: var(--theme-color-dark);

  font-family: var(--heading-font-family);
  font-size: 15px;

  box-shadow:
    0 12px 32px
      color-mix(
        in srgb,
        var(--theme-color-dark) 12%,
        transparent
      );

  transform: translate(-50%, -50%);

  animation: dw-diy-pro-vs-pulse 2.8s ease-in-out infinite;
}

.dw-diy-pro-vs::before,
.dw-diy-pro-vs::after {
  content: "";
  position: absolute;
  top: 50%;

  width: 32px;
  height: 2px;

  background:
    repeating-linear-gradient(
      90deg,
      var(--theme-color1) 0 4px,
      transparent 4px 9px
    );

  background-size: 18px 2px;

  transform: translateY(-50%);
  animation: dw-diy-pro-flow-line 1.3s linear infinite;
}

.dw-diy-pro-vs::before {
  right: 100%;
}

.dw-diy-pro-vs::after {
  left: 100%;
}


/* =========================================================
   ROCKET IMAGE
========================================================= */

.dw-diy-pro-rocket {
  position: absolute;
  right: -58px;
  bottom: -80px;
  z-index: 9;

  width: clamp(155px, 14vw, 245px);

  pointer-events: none;

  animation: dw-diy-pro-rocket-float 4.5s ease-in-out infinite;
}

.dw-diy-pro-rocket img {
  position: relative;
  z-index: 2;

  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;
  filter:
    drop-shadow(
      0 18px 24px
      color-mix(
        in srgb,
        var(--theme-color-dark) 16%,
        transparent
      )
    );
}

.dw-diy-pro-rocket-trail {
  position: absolute;
  right: 55%;
  bottom: -6%;
  z-index: 1;

  width: 230px;
  height: 90px;

  border-bottom: 5px solid
    color-mix(
      in srgb,
      var(--theme-color1) 22%,
      transparent
    );

  border-radius: 50%;

  filter: blur(1px);

  transform: rotate(-24deg);
  transform-origin: right center;
}

.dw-diy-pro-rocket-trail::before,
.dw-diy-pro-rocket-trail::after {
  content: "";
  position: absolute;
  right: 0;

  border-radius: 50%;
}

.dw-diy-pro-rocket-trail::before {
  bottom: 13px;

  width: 185px;
  height: 65px;

  border-bottom: 3px solid
    color-mix(
      in srgb,
      var(--theme-color1) 14%,
      transparent
    );
}

.dw-diy-pro-rocket-trail::after {
  right: 25px;
  bottom: 28px;

  width: 130px;
  height: 40px;

  border-bottom: 2px solid
    color-mix(
      in srgb,
      var(--theme-color1) 10%,
      transparent
    );
}


/* =========================================================
   BOTTOM MESSAGE
========================================================= */

.dw-diy-pro-showcase-message {
  position: absolute;
  right: 10%;
  bottom: -7px;
  left: 10%;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;

  margin: 0;

  color: var(--text-color);

  font-size: 14px;
  text-align: center;
}

.dw-diy-pro-showcase-message::before,
.dw-diy-pro-showcase-message::after {
  content: "";
  flex: 1;
  height: 1px;

  background:
    color-mix(
      in srgb,
      var(--theme-color1) 13%,
      transparent
    );
}

.dw-diy-pro-showcase-message i {
  color: var(--theme-color1);
  font-size: 19px;
}

.dw-diy-pro-showcase-message strong {
  color: var(--theme-color1);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dw-diy-pro-content-enter {
  from {
    opacity: 0;
    transform: translateX(-35px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes dw-diy-pro-visual-enter {
  from {
    opacity: 0;
    transform: translateX(40px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes dw-diy-pro-line-enter {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

@keyframes dw-diy-pro-orbit-rotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dw-diy-pro-glow-pulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 0.85;
    transform: scale(1.08);
  }
}

@keyframes dw-diy-pro-dot-float {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-16px);
  }
}

@keyframes dw-diy-pro-kicker-pulse {
  0%,
  100% {
    box-shadow:
      0 0 0 0
        color-mix(
          in srgb,
          var(--theme-color1) 25%,
          transparent
        );
  }

  50% {
    box-shadow:
      0 0 0 7px
        color-mix(
          in srgb,
          var(--theme-color1) 0%,
          transparent
        );
  }
}

@keyframes dw-diy-pro-skeleton {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(240%);
  }
}

@keyframes dw-diy-pro-publish-pulse {
  0%,
  100% {
    box-shadow:
      0 12px 26px
        color-mix(
          in srgb,
          var(--theme-color1) 20%,
          transparent
        );
  }

  50% {
    box-shadow:
      0 16px 34px
        color-mix(
          in srgb,
          var(--theme-color1) 35%,
          transparent
        );
  }
}

@keyframes dw-diy-pro-flow-line {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 18px 0;
  }
}

@keyframes dw-diy-pro-vs-pulse {
  0%,
  100% {
    box-shadow:
      0 12px 32px
        color-mix(
          in srgb,
          var(--theme-color-dark) 12%,
          transparent
        );
  }

  50% {
    box-shadow:
      0 12px 42px
        color-mix(
          in srgb,
          var(--theme-color1) 28%,
          transparent
        );
  }
}

@keyframes dw-diy-pro-rocket-float {
  0%,
  100% {
    transform: translateY(0) rotate(1deg);
  }

  50% {
    transform: translateY(-15px) rotate(-2deg);
  }
}


/* =========================================================
   LARGE SCREENS
========================================================= */

@media (min-width: 1600px) {
  .dw-diy-pro-hero-grid {
    grid-template-columns:
      minmax(0, 0.9fr)
      minmax(680px, 1.1fr);
  }
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1399px) {
  .dw-diy-pro-hero-grid {
    grid-template-columns:
      minmax(0, 0.88fr)
      minmax(550px, 1.12fr);

    gap: 50px;
  }

  .dw-diy-pro-hero-title {
    font-size: clamp(40px, 4vw, 55px);
  }

  .dw-diy-pro-comparison {
    min-height: 540px;
  }

  .dw-diy-pro-comparison-card {
    padding: 18px;
  }

  .dw-diy-pro-builder-window {
    min-height: 430px;
    padding: 17px;
  }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-diy-pro-hero {
    min-height: auto;
  }

  .dw-diy-pro-hero-grid {
    grid-template-columns: 1fr;
  }

  .dw-diy-pro-hero-content {
    max-width: 850px;
  }

  .dw-diy-pro-hero-title {
    max-width: 780px;
  }

  .dw-diy-pro-hero-copy {
    max-width: 780px;
  }

  .dw-diy-pro-showcase {
    width: 100%;
    max-width: 900px;
    margin: 15px auto 0;
  }

  .dw-diy-pro-rocket {
    right: -25px;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-diy-pro-hero {
    padding-top: 85px;
  }

  .dw-diy-pro-hero-benefits {
    max-width: 680px;
  }

  .dw-diy-pro-comparison {
    gap: 34px;
  }

  .dw-diy-pro-decision-item::before {
    left: -35px;
    width: 34px;
  }

  .dw-diy-pro-vs::before,
  .dw-diy-pro-vs::after {
    width: 19px;
  }

  .dw-diy-pro-rocket {
    right: -10px;
    bottom: -65px;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-diy-pro-hero {
    padding: 70px 0 85px;
  }

  .dw-diy-pro-hero-title {
    max-width: 590px;
    font-size: clamp(36px, 9vw, 47px);
  }

  .dw-diy-pro-hero-kicker {
    margin-bottom: 24px;
    padding: 9px 14px;

    font-size: 10px;
    line-height: 1.35;
  }

  .dw-diy-pro-hero-actions {
    flex-direction: column;
  }

  .dw-diy-pro-hero-btn {
    width: 100%;
  }

  .dw-diy-pro-hero-benefits {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .dw-diy-pro-hero-benefits li,
  .dw-diy-pro-hero-benefits li:not(:first-child) {
    padding: 0;
  }

  .dw-diy-pro-hero-benefits li:not(:last-child)::after {
    display: none;
  }

  .dw-diy-pro-comparison {
    grid-template-columns: 1fr;
    gap: 24px;

    min-height: auto;
    padding-bottom: 100px;
  }

  .dw-diy-pro-vs {
    position: relative;
    top: auto;
    left: auto;

    margin: -5px auto;

    transform: none;
  }

  .dw-diy-pro-vs::before,
  .dw-diy-pro-vs::after {
    top: 50%;
    width: min(25vw, 110px);
  }

  .dw-diy-pro-decision-item::before {
    display: none;
  }

  .dw-diy-pro-rocket {
    right: -5px;
    bottom: -15px;

    width: 155px;
  }

  .dw-diy-pro-showcase-message {
    right: 0;
    bottom: -5px;
    left: 0;

    padding-right: 120px;

    font-size: 12px;
    text-align: left;
  }

  .dw-diy-pro-showcase-message::before,
  .dw-diy-pro-showcase-message::after {
    display: none;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-diy-pro-hero-title {
    font-size: 37px;
  }

  .dw-diy-pro-hero-copy {
    font-size: 15px;
  }

  .dw-diy-pro-comparison-card {
    padding: 15px;
    border-radius: 18px;
  }

  .dw-diy-pro-builder-window {
    min-height: 400px;
    padding: 14px;
  }

  .dw-diy-pro-tool-item {
    min-height: 95px;
  }

  .dw-diy-pro-card-heading h2 {
    font-size: 18px;
  }

  .dw-diy-pro-decision-item {
    padding: 11px 13px;
  }

  .dw-diy-pro-rocket {
    width: 130px;
  }

  .dw-diy-pro-showcase-message {
    padding-right: 100px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-diy-pro-hero *,
  .dw-diy-pro-hero *::before,
  .dw-diy-pro-hero *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   WEBSITE BUILDER TOOLS SECTION
   Inspired by the approved visual direction
========================================================= */

.dw-builder-tools-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(90px, 9vw, 130px) 0 110px;
  background-color: #000038;
}

.dw-builder-tools-section .dw-diy-pro-container {
  position: relative;
  z-index: 5;
}

.dw-builder-tools-inner {
  position: relative;
  z-index: 4;
}

/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.dw-builder-tools-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.dw-builder-tools-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.02);
}

.dw-builder-tools-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 56, 0.18) 0%,
      rgba(0, 0, 56, 0.24) 20%,
      rgba(0, 0, 56, 0.3) 50%,
      rgba(0, 0, 56, 0.42) 100%
    ),
    radial-gradient(
      circle at center,
      rgba(45, 128, 183, 0.08) 0%,
      rgba(0, 0, 56, 0) 55%
    );
}

/* =========================================================
   DECORATIVE ELEMENTS
========================================================= */

.dw-builder-tools-decor {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.dw-builder-tools-star {
  position: absolute;
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 18px rgba(255, 255, 255, 0.6);
  animation: dwBuilderStarTwinkle 3.2s ease-in-out infinite;
}

.dw-builder-tools-star--1 {
  top: 13%;
  left: 16%;
}

.dw-builder-tools-star--2 {
  top: 18%;
  right: 18%;
  animation-delay: -0.7s;
}

.dw-builder-tools-star--3 {
  top: 36%;
  left: 77%;
  animation-delay: -1.4s;
}

.dw-builder-tools-star--4 {
  bottom: 20%;
  left: 13%;
  animation-delay: -2.1s;
}

.dw-builder-tools-star--5 {
  bottom: 16%;
  right: 11%;
  animation-delay: -0.9s;
}

.dw-builder-tools-orbit {
  position: absolute;
  border: 2px dashed rgba(45, 128, 183, 0.55);
  border-radius: 50%;
  filter: drop-shadow(0 0 10px rgba(45, 128, 183, 0.15));
  opacity: 0.7;
}

.dw-builder-tools-orbit--1 {
  top: 27%;
  left: 10%;
  width: 300px;
  height: 600px;
  border-right: 0;
  border-top: 0;
  transform: rotate(30deg);
  animation: dwBuilderOrbitFloat 10s ease-in-out infinite;
}

.dw-builder-tools-orbit--2 {
  right: 9%;
  top: 29%;
  width: 260px;
  height: 520px;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(26deg);
  animation: dwBuilderOrbitFloat 11s ease-in-out infinite reverse;
}

.dw-builder-tools-orbit--3 {
  bottom: -60px;
  left: 22%;
  width: 900px;
  height: 160px;
  border-left: 0;
  border-right: 0;
  transform: rotate(-2deg);
  opacity: 0.45;
}

.dw-builder-tools-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(55px);
}

.dw-builder-tools-glow--1 {
  top: 16%;
  left: 50%;
  width: 320px;
  height: 320px;
  background: rgba(45, 128, 183, 0.14);
  transform: translateX(-50%);
}

.dw-builder-tools-glow--2 {
  bottom: 4%;
  left: 50%;
  width: 650px;
  height: 100px;
  background: rgba(45, 128, 183, 0.18);
  transform: translateX(-50%);
}

/* =========================================================
   ROCKET
========================================================= */

.dw-builder-tools-rocket {
  position: absolute;
  left: -110px;
  top: 185px;
  z-index: 6;
  width: clamp(180px, 19vw, 320px);
  margin: 0;
  pointer-events: none;
  animation: dwBuilderRocketFloat 4.6s ease-in-out infinite;
}

.dw-builder-tools-rocket::after {
  content: "";
  position: absolute;
  left: 22%;
  bottom: -16%;
  width: 85%;
  height: 180px;
  background:
    radial-gradient(
      ellipse at top,
      rgba(70, 185, 255, 0.5) 0%,
      rgba(70, 185, 255, 0.18) 35%,
      rgba(70, 185, 255, 0) 78%
    );
  filter: blur(14px);
  transform: rotate(22deg);
  z-index: -1;
  opacity: 0.9;
}

.dw-builder-tools-rocket img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 30px rgba(0, 0, 56, 0.32));
}

/* =========================================================
   HEADER
========================================================= */

.dw-builder-tools-header {
  position: relative;
  z-index: 7;
  max-width: 900px;
  margin: 0 auto 44px;
  text-align: center;
}

.dw-builder-tools-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 26px;
  padding: 11px 20px;
  border: 1px solid rgba(45, 128, 183, 0.9);
  border-radius: 999px;
  background: rgba(12, 26, 91, 0.38);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 0 18px rgba(45, 128, 183, 0.12);
  color: #8dcbff;
  font-family: var(--heading-font-family);
  font-size: 13px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.dw-builder-tools-pill-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2d80b7;
  box-shadow: 0 0 12px rgba(45, 128, 183, 0.8);
  animation: dwBuilderPulseDot 2s ease-in-out infinite;
}

.dw-builder-tools-header h2 {
  margin: 0;
  color: #ffffff;
  font-size: var(--h2-font-size);
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.dw-builder-tools-header h2 span {
  color: #45b3ff;
}

.dw-builder-tools-header p {
  max-width: 820px;
  margin: 20px auto 0;
  color: rgba(255, 255, 255, 0.83);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.75;
}

.dw-builder-tools-divider {
  position: relative;
  display: inline-block;
  width: 150px;
  height: 2px;
  margin-top: 22px;
  background: linear-gradient(
    90deg,
    rgba(45, 128, 183, 0) 0%,
    rgba(45, 128, 183, 0.95) 50%,
    rgba(45, 128, 183, 0) 100%
  );
}

.dw-builder-tools-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2d80b7;
  box-shadow: 0 0 12px rgba(45, 128, 183, 0.85);
  transform: translate(-50%, -50%);
}

/* =========================================================
   GRID
========================================================= */

.dw-builder-tools-grid {
  position: relative;
  z-index: 7;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
}

.dw-builder-tools-card {
  position: relative;
  overflow: hidden;
  min-height: 215px;
  padding: 28px 26px 24px;
  border: 1px solid rgba(45, 128, 183, 0.55);
  border-radius: 22px;
  background:
    linear-gradient(
      180deg,
      rgba(245, 249, 255, 0.98) 0%,
      rgba(235, 243, 255, 0.97) 100%
    );
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.15) inset,
    0 16px 30px rgba(0, 0, 56, 0.22),
    0 0 18px rgba(45, 128, 183, 0.18);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  animation: dwBuilderCardRise 0.75s ease both;
}

.dw-builder-tools-card:nth-child(1) { animation-delay: 0.04s; }
.dw-builder-tools-card:nth-child(2) { animation-delay: 0.1s; }
.dw-builder-tools-card:nth-child(3) { animation-delay: 0.16s; }
.dw-builder-tools-card:nth-child(4) { animation-delay: 0.22s; }
.dw-builder-tools-card:nth-child(5) { animation-delay: 0.28s; }
.dw-builder-tools-card:nth-child(6) { animation-delay: 0.34s; }

.dw-builder-tools-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 4px;
  background: linear-gradient(90deg, #2d80b7, #6fd1ff);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.dw-builder-tools-card::after {
  content: "";
  position: absolute;
  top: -45px;
  right: -45px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(45, 128, 183, 0.08);
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.dw-builder-tools-card:hover {
  transform: translateY(-8px);
  border-color: rgba(111, 209, 255, 0.9);
  box-shadow:
    0 24px 36px rgba(0, 0, 56, 0.28),
    0 0 24px rgba(45, 128, 183, 0.28);
}

.dw-builder-tools-card:hover::before {
  opacity: 1;
}

.dw-builder-tools-card:hover::after {
  transform: scale(1.15);
}

.dw-builder-tools-card-icon {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  margin: 0 auto 16px;
  border: 1px solid rgba(45, 128, 183, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  box-shadow:
    0 10px 18px rgba(45, 128, 183, 0.09),
    inset 0 0 0 1px rgba(255, 255, 255, 0.55);
  color: #2d80b7;
  font-size: 30px;
  transition:
    transform 0.35s ease,
    background-color 0.35s ease,
    color 0.35s ease;
}

.dw-builder-tools-card:hover .dw-builder-tools-card-icon {
  transform: translateY(-4px) scale(1.04);
  background: #2d80b7;
  color: #ffffff;
}

.dw-builder-tools-card h3 {
  margin: 0 0 10px;
  color: #000038;
  font-size: clamp(20px, 1.5vw, 22px);
  line-height: 1.15;
  text-align: center;
}

.dw-builder-tools-card p {
  margin: 0;
  color: rgba(0, 0, 56, 0.78);
  font-size: 15px;
  line-height: 1.65;
  text-align: center;
}

/* =========================================================
   BRIDGE TEXT
========================================================= */

.dw-builder-tools-bridge {
  position: relative;
  z-index: 7;
  max-width: 900px;
  margin: 34px auto 0;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--heading-font-family);
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.35;
  text-align: center;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwBuilderRocketFloat {
  0%, 100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-14px) rotate(1deg);
  }
}

@keyframes dwBuilderCardRise {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwBuilderStarTwinkle {
  0%, 100% {
    opacity: 0.35;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.55);
  }
}

@keyframes dwBuilderPulseDot {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 12px rgba(45, 128, 183, 0.8);
  }
  50% {
    transform: scale(1.24);
    box-shadow: 0 0 18px rgba(45, 128, 183, 1);
  }
}

@keyframes dwBuilderOrbitFloat {
  0%, 100% {
    transform: rotate(30deg) translateY(0);
  }
  50% {
    transform: rotate(30deg) translateY(-8px);
  }
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1399px) {
  .dw-builder-tools-rocket {
    left: -70px;
    top: 205px;
    width: 250px;
  }
}

@media (max-width: 1199px) {
  .dw-builder-tools-section {
    padding-top: 86px;
  }

  .dw-builder-tools-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 860px;
  }

  .dw-builder-tools-rocket {
    left: -28px;
    top: 210px;
    width: 210px;
    opacity: 0.98;
  }

  .dw-builder-tools-header {
    padding-left: 70px;
  }
}

@media (max-width: 991px) {
  .dw-builder-tools-header {
    padding-left: 0;
  }

  .dw-builder-tools-rocket {
    position: relative;
    left: auto;
    top: auto;
    width: 180px;
    margin: 0 auto 18px;
  }

  .dw-builder-tools-grid {
    grid-template-columns: 1fr 1fr;
  }

  .dw-builder-tools-orbit--1,
  .dw-builder-tools-orbit--2 {
    opacity: 0.45;
  }
}

@media (max-width: 767px) {
  .dw-builder-tools-section {
    padding: 74px 0 90px;
  }


  .dw-builder-tools-header p {
    font-size: 16px;
  }

  .dw-builder-tools-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .dw-builder-tools-card {
    min-height: auto;
  }

  .dw-builder-tools-rocket {
    width: 160px;
  }

  .dw-builder-tools-bridge {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .dw-builder-tools-pill {
    padding: 10px 16px;
    font-size: 11px;
  }

  .dw-builder-tools-card {
    padding: 24px 20px;
    border-radius: 18px;
  }

  .dw-builder-tools-card-icon {
    width: 62px;
    height: 62px;
    font-size: 26px;
  }

  .dw-builder-tools-card h3 {
    font-size: 19px;
  }

  .dw-builder-tools-card p {
    font-size: 14px;
  }

  .dw-builder-tools-bridge {
    font-size: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dw-builder-tools-section *,
  .dw-builder-tools-section *::before,
  .dw-builder-tools-section *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* =========================================================
   WEBSITE VS BUSINESS WEBSITE
========================================================= */

.dw-site-vs-business {
  --dw-vsb-blue: #2d80b7;
  --dw-vsb-navy: #000038;
  --dw-vsb-white: #ffffff;
  --dw-vsb-light: #f4f9ff;
  --dw-vsb-text: rgba(0, 0, 56, 0.7);
  --dw-vsb-border: rgba(45, 128, 183, 0.2);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(90px, 9vw, 140px) 0;
  background:
    radial-gradient(
      circle at 12% 14%,
      rgba(45, 128, 183, 0.1),
      transparent 24%
    ),
    radial-gradient(
      circle at 88% 48%,
      rgba(45, 128, 183, 0.09),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdff 55%,
      #f5faff 100%
    );
}

.dw-site-vs-business .dw-diy-pro-container {
  position: relative;
  z-index: 5;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-site-vs-business__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-site-vs-business__background::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3%;

  width: min(80vw, 1150px);
  height: 90px;

  border-radius: 50%;
  background: rgba(45, 128, 183, 0.12);
  filter: blur(38px);

  transform: translateX(-50%);
}

.dw-site-vs-business__glow {
  position: absolute;
  display: block;
  border-radius: 50%;
  filter: blur(60px);
}

.dw-site-vs-business__glow--one {
  top: 2%;
  left: -3%;

  width: 320px;
  height: 320px;

  background: rgba(45, 128, 183, 0.1);
}

.dw-site-vs-business__glow--two {
  right: -5%;
  bottom: 8%;

  width: 420px;
  height: 420px;

  background: rgba(45, 128, 183, 0.08);
}

.dw-site-vs-business__orbit {
  position: absolute;
  display: block;

  border: 1px dashed rgba(45, 128, 183, 0.25);
  border-radius: 50%;

  pointer-events: none;
}

.dw-site-vs-business__orbit::after {
  content: "";
  position: absolute;

  width: 10px;
  height: 10px;

  border: 2px solid rgba(45, 128, 183, 0.32);
  border-radius: 50%;

  background: #ffffff;
  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.06),
    0 0 18px rgba(45, 128, 183, 0.25);
}

.dw-site-vs-business__orbit--one {
  top: -320px;
  left: -250px;

  width: 700px;
  height: 700px;

  animation: dwVsbOrbitRotate 42s linear infinite;
}

.dw-site-vs-business__orbit--one::after {
  right: 17%;
  bottom: 12%;
}

.dw-site-vs-business__orbit--two {
  top: 20%;
  right: -310px;

  width: 680px;
  height: 680px;

  animation: dwVsbOrbitRotate 50s linear infinite reverse;
}

.dw-site-vs-business__orbit--two::after {
  top: 32%;
  left: 7%;
}

.dw-site-vs-business__orbit--three {
  right: -220px;
  bottom: -400px;

  width: 620px;
  height: 620px;

  opacity: 0.65;
  animation: dwVsbOrbitRotate 58s linear infinite;
}

.dw-site-vs-business__orbit--three::after {
  top: 9%;
  left: 25%;
}

.dw-site-vs-business__star {
  position: absolute;
  display: block;

  width: 7px;
  height: 7px;

  border-radius: 50%;
  background: var(--dw-vsb-blue);

  box-shadow:
    0 0 0 6px rgba(45, 128, 183, 0.05),
    0 0 20px rgba(45, 128, 183, 0.45);

  animation: dwVsbStarPulse 3s ease-in-out infinite;
}

.dw-site-vs-business__star::before,
.dw-site-vs-business__star::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  border-radius: 20px;
  background: rgba(45, 128, 183, 0.65);

  transform: translate(-50%, -50%);
}

.dw-site-vs-business__star::before {
  width: 24px;
  height: 1px;
}

.dw-site-vs-business__star::after {
  width: 1px;
  height: 24px;
}

.dw-site-vs-business__star--one {
  top: 14%;
  left: 16%;
}

.dw-site-vs-business__star--two {
  top: 32%;
  right: 18%;
  animation-delay: -0.8s;
}

.dw-site-vs-business__star--three {
  bottom: 20%;
  left: 7%;
  animation-delay: -1.5s;
}

.dw-site-vs-business__star--four {
  right: 8%;
  bottom: 12%;
  animation-delay: -2.2s;
}

.dw-site-vs-business__star--five {
  top: 9%;
  right: 29%;
  animation-delay: -2.7s;
}


/* =========================================================
   PLANET
========================================================= */

.dw-site-vs-business__planet {
  position: absolute;
  top: 83px;
  left: clamp(6px, 5vw, 6px);
  z-index: 2;

  width: clamp(100px, 29vw, 385px);
  margin: 0;

  pointer-events: none;
  animation: dwVsbPlanetFloat 6s ease-in-out infinite;
}

.dw-site-vs-business__planet::before {
  content: "";
  position: absolute;
  inset: -26%;

  z-index: -1;
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.14);
  filter: blur(26px);
}

.dw-site-vs-business__planet img {
  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;
  filter: drop-shadow(0 18px 26px rgba(45, 128, 183, 0.2));
}


/* =========================================================
   ROCKET
========================================================= */

.dw-site-vs-business__rocket {
  position: absolute;
  top: 60px;
  right: clamp(15px, 3vw, 62px);
  z-index: 7;

  width: clamp(145px, 20vw, 525px);
  margin: 0;

  pointer-events: none;
  animation: dwVsbRocketFloat 4.5s ease-in-out infinite;
}

.dw-site-vs-business__rocket img {
  position: relative;
  z-index: 3;

  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(
      0 20px 27px rgba(0, 0, 56, 0.16)
    );
}

.dw-site-vs-business__rocket-trail {
  position: absolute;
  right: 53%;
  bottom: -20%;
  z-index: 1;

  width: 230px;
  height: 150px;

  border-bottom: 5px solid rgba(45, 128, 183, 0.2);
  border-radius: 50%;

  filter: blur(0.5px);

  transform: rotate(-24deg);
  transform-origin: right center;
}

.dw-site-vs-business__rocket-trail::before,
.dw-site-vs-business__rocket-trail::after {
  content: "";
  position: absolute;
  right: 0;

  border-radius: 50%;
}

.dw-site-vs-business__rocket-trail::before {
  bottom: 19px;

  width: 190px;
  height: 105px;

  border-bottom: 3px solid rgba(45, 128, 183, 0.14);
}

.dw-site-vs-business__rocket-trail::after {
  right: 24px;
  bottom: 43px;

  width: 145px;
  height: 70px;

  border-bottom: 2px solid rgba(45, 128, 183, 0.1);
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dw-site-vs-business__heading {
  position: relative;
  z-index: 6;

  max-width: 1050px;
  margin: 0 auto clamp(46px, 6vw, 76px);

  text-align: center;
  animation: dwVsbHeadingEnter 0.8s ease both;
}

.dw-site-vs-business__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  margin-bottom: 25px;
  padding: 11px 22px;

  border: 1px solid rgba(45, 128, 183, 0.28);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.82);
  color: var(--dw-vsb-blue);

  font-family: var(--heading-font-family);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;

  box-shadow:
    0 8px 24px rgba(45, 128, 183, 0.07),
    inset 0 1px 0 #ffffff;

  backdrop-filter: blur(10px);
}

.dw-site-vs-business__eyebrow i {
  font-size: 18px;
}

.dw-site-vs-business__heading h2 {
  max-width: 1000px;
  margin: 0 auto;

  color: var(--dw-vsb-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.07;
  letter-spacing: -0.045em;
}

.dw-site-vs-business__heading h2 > span {
  display: block;
}

.dw-site-vs-business__heading h2 strong {
  color: var(--dw-vsb-blue);
  font-weight: inherit;
}

.dw-site-vs-business__heading > p {
  max-width: 760px;
  margin: 22px auto 0;

  color: var(--dw-vsb-text);

  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.75;
}


/* =========================================================
   COMPARISON GRID
========================================================= */

.dw-site-vs-business__grid {
  position: relative;
  z-index: 6;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3.5vw, 48px);

  width: min(100%, 1120px);
  margin: 0 auto;
}

.dw-site-vs-business__grid::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: -44px;
  left: 5%;
  z-index: -1;

  height: 65px;

  border-radius: 50%;
  background: rgba(45, 128, 183, 0.15);
  filter: blur(30px);
}


/* =========================================================
   SHARED CARD STYLES
========================================================= */

.dw-site-vs-business__card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 555px;
  flex-direction: column;
  overflow: hidden;

  padding: clamp(27px, 3vw, 42px);
  border-radius: 24px;

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;

  animation: dwVsbCardEnter 0.75s ease both;
}

.dw-site-vs-business__card:nth-child(2) {
  animation-delay: 0.15s;
}

.dw-site-vs-business__card:hover {
  transform: translateY(-9px);
}

.dw-site-vs-business__card-shine {
  position: absolute;
  top: -100px;
  right: -85px;
  z-index: 0;

  width: 240px;
  height: 240px;

  border-radius: 50%;

  opacity: 0.7;
  transition:
    transform 0.5s ease,
    opacity 0.5s ease;
}

.dw-site-vs-business__card:hover
  .dw-site-vs-business__card-shine {
  opacity: 1;
  transform: scale(1.15);
}

.dw-site-vs-business__card-header,
.dw-site-vs-business__list,
.dw-site-vs-business__card-footer {
  position: relative;
  z-index: 2;
}


/* =========================================================
   LEFT BLUE CARD
========================================================= */

.dw-site-vs-business__card--website {
  border: 1px solid #4285b5;

  background:
    radial-gradient(
      circle at 5% 0%,
      #4285b5,
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #4285b5 0%,
      #001c6c 20%,
      #000038 100%
    );

  box-shadow:
    0 28px 60px rgba(0, 0, 56, 0.2),
    0 0 0 3px rgba(45, 128, 183, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    inset 0 -15px 35px rgba(0, 0, 56, 0.18);
}

.dw-site-vs-business__card--website:hover {
  box-shadow:
    0 38px 75px rgba(0, 0, 56, 0.25),
    0 0 35px rgba(45, 128, 183, 0.26),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__card-shine {
  background: rgba(81, 189, 255, 0.18);
  filter: blur(8px);
}

.dw-site-vs-business__card--website h3,
.dw-site-vs-business__card--website li,
.dw-site-vs-business__card--website
  .dw-site-vs-business__card-footer p {
  color: var(--dw-vsb-white);
}


/* =========================================================
   RIGHT WHITE CARD
========================================================= */

.dw-site-vs-business__card--business {
  border: 1px solid rgba(45, 128, 183, 0.76);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(45, 128, 183, 0.1),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(247, 251, 255, 0.98)
    );

  box-shadow:
    0 28px 60px rgba(0, 0, 56, 0.12),
    0 0 0 3px rgba(45, 128, 183, 0.05),
    inset 0 1px 0 #ffffff;
}

.dw-site-vs-business__card--business:hover {
  border-color: var(--dw-vsb-blue);

  box-shadow:
    0 38px 75px rgba(0, 0, 56, 0.16),
    0 0 35px rgba(45, 128, 183, 0.18),
    inset 0 1px 0 #ffffff;
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__card-shine {
  background: rgba(45, 128, 183, 0.08);
  filter: blur(5px);
}

.dw-site-vs-business__card--business h3 {
  color: var(--dw-vsb-navy);
}

.dw-site-vs-business__card--business li,
.dw-site-vs-business__card--business
  .dw-site-vs-business__card-footer p {
  color: rgba(0, 0, 56, 0.78);
}

.dw-site-vs-business__recommended {
  position: absolute;
  top: 19px;
  right: 20px;
  z-index: 3;

  padding: 7px 12px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-vsb-blue);

  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}


/* =========================================================
   CARD HEADER
========================================================= */

.dw-site-vs-business__card-header {
  display: flex;
  align-items: center;
  gap: 17px;

  margin-bottom: 30px;
}

.dw-site-vs-business__card-icon {
  display: grid;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  place-items: center;

  border-radius: 16px;

  font-size: 24px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__card-icon {
  border: 1px solid rgba(255, 255, 255, 0.15);

  background:
    linear-gradient(
      145deg,
      rgba(78, 183, 255, 0.44),
      rgba(45, 128, 183, 0.22)
    );

  color: #ffffff;

  box-shadow:
    0 10px 25px rgba(45, 128, 183, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__card-icon {
  border: 1px solid rgba(45, 128, 183, 0.14);

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #eaf5ff
    );

  color: var(--dw-vsb-blue);

  box-shadow:
    0 10px 24px rgba(45, 128, 183, 0.12),
    inset 0 1px 0 #ffffff;
}

.dw-site-vs-business__card:hover
  .dw-site-vs-business__card-icon {
  transform: translateY(-3px) rotate(-4deg) scale(1.05);
}

.dw-site-vs-business__card-header > div {
  flex: 1;
  min-width: 0;
}

.dw-site-vs-business__card-header h3 {
  margin: 0;

  font-family: var(--heading-font-family);
  font-size: clamp(24px, 2.2vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.dw-site-vs-business__heading-line {
  position: relative;
  display: block;

  width: 100%;
  height: 1px;

  margin-top: 17px;
}

.dw-site-vs-business__heading-line::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;

  width: 42px;
  height: 3px;

  border-radius: 20px;
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__heading-line {
  background: rgba(255, 255, 255, 0.17);
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__heading-line::before {
  background: #61c7ff;
  box-shadow: 0 0 15px rgba(97, 199, 255, 0.5);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__heading-line {
  background: rgba(45, 128, 183, 0.18);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__heading-line::before {
  background: var(--dw-vsb-blue);
}


/* =========================================================
   CARD LIST
========================================================= */

.dw-site-vs-business__list {
  display: grid;
  gap: 16px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.dw-site-vs-business__list li {
  display: flex;
  align-items: center;
  gap: 14px;

  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.45;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.dw-site-vs-business__list li:hover {
  transform: translateX(6px);
}

.dw-site-vs-business__check {
  display: grid;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  place-items: center;

  border-radius: 50%;

  font-size: 10px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__check {
  border: 1px solid rgba(255, 255, 255, 0.82);
  color: #ffffff;
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__check {
  border: 1px solid var(--dw-vsb-blue);
  color: var(--dw-vsb-blue);
}

.dw-site-vs-business__list li:hover
  .dw-site-vs-business__check {
  transform: scale(1.12) rotate(-6deg);
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__list li:hover
  .dw-site-vs-business__check {
  background: #ffffff;
  color: var(--dw-vsb-blue);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__list li:hover
  .dw-site-vs-business__check {
  background: var(--dw-vsb-blue);
  color: #ffffff;
}


/* =========================================================
   CARD FOOTER
========================================================= */

.dw-site-vs-business__card-footer {
  display: flex;
  align-items: center;
  gap: 16px;

  margin-top: auto;
  padding-top: 25px;

  border-top: 1px dashed;
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__card-footer {
  border-color: rgba(255, 255, 255, 0.3);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__card-footer {
  border-color: rgba(45, 128, 183, 0.25);
}

.dw-site-vs-business__footer-icon {
  display: grid;
  flex: 0 0 51px;
  width: 51px;
  height: 51px;
  place-items: center;

  border-radius: 50%;

  font-size: 19px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-site-vs-business__card--website
  .dw-site-vs-business__footer-icon {
  border: 1px solid rgba(255, 255, 255, 0.18);

  background: rgba(45, 128, 183, 0.35);
  color: #ffffff;

  box-shadow:
    0 0 25px rgba(45, 128, 183, 0.4);
}

.dw-site-vs-business__card--business
  .dw-site-vs-business__footer-icon {
  border: 1px solid rgba(45, 128, 183, 0.15);

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-vsb-blue);
}

.dw-site-vs-business__card:hover
  .dw-site-vs-business__footer-icon {
  transform: rotate(-7deg) scale(1.06);
}

.dw-site-vs-business__card-footer p {
  margin: 0;

  font-size: 14px;
  line-height: 1.65;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwVsbHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwVsbCardEnter {
  from {
    opacity: 0;
    transform: translateY(34px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwVsbPlanetFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }

  50% {
    transform: translateY(-13px) rotate(2deg);
  }
}

@keyframes dwVsbRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(2deg);
  }

  50% {
    transform: translateY(-15px) rotate(-2deg);
  }
}

@keyframes dwVsbOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwVsbStarPulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.85);
  }

  50% {
    opacity: 1;
    transform: scale(1.25);
  }
}


/* =========================================================
   LARGE LAPTOP
========================================================= */

@media (max-width: 1399px) {
  .dw-site-vs-business__heading {
    max-width: 900px;
  }

  .dw-site-vs-business__rocket {
    top: 80px;
    width: 175px;
  }

  .dw-site-vs-business__planet {
    width: 145px;
  }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-site-vs-business {
    padding-top: 100px;
  }

  .dw-site-vs-business__rocket {
    top: 145px;
    right: 8px;
    width: 145px;
    opacity: 0.9;
  }

  .dw-site-vs-business__planet {
    top: 50px;
    width: 125px;
    opacity: 0.85;
  }

  .dw-site-vs-business__heading {
    max-width: 760px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-site-vs-business {
    padding: 85px 0 100px;
  }

  .dw-site-vs-business__rocket {
    position: relative;
    top: auto;
    right: auto;

    width: 145px;
    margin: 0 auto 12px;
  }

  .dw-site-vs-business__rocket-trail {
    display: none;
  }

  .dw-site-vs-business__planet {
    width: 105px;
  }

  .dw-site-vs-business__grid {
    grid-template-columns: 1fr;
    max-width: 700px;
  }

  .dw-site-vs-business__card {
    min-height: auto;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-site-vs-business {
    padding: 72px 0 85px;
  }

  .dw-site-vs-business__planet {
    top: 15px;
    left: -25px;
    width: 95px;
    opacity: 0.55;
  }

  .dw-site-vs-business__heading {
    margin-bottom: 40px;
  }


  .dw-site-vs-business__heading h2 > span {
    display: inline;
  }

  .dw-site-vs-business__eyebrow {
    padding: 9px 15px;
    font-size: 10px;
  }

  .dw-site-vs-business__heading > p {
    font-size: 16px;
  }

  .dw-site-vs-business__card {
    padding: 25px 21px;
    border-radius: 20px;
  }

  .dw-site-vs-business__card-header {
    align-items: flex-start;
  }

  .dw-site-vs-business__card-header h3 {
    padding-right: 0;
    font-size: 24px;
  }

  .dw-site-vs-business__recommended {
    display: none;
  }

  .dw-site-vs-business__card-footer {
    align-items: flex-start;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-site-vs-business__rocket {
    width: 125px;
  }

  .dw-site-vs-business__card-icon {
    flex-basis: 50px;
    width: 50px;
    height: 50px;
  }

  .dw-site-vs-business__card-header {
    gap: 13px;
  }

  .dw-site-vs-business__card-header h3 {
    font-size: 21px;
  }

  .dw-site-vs-business__list {
    gap: 13px;
  }

  .dw-site-vs-business__list li {
    font-size: 15px;
  }

  .dw-site-vs-business__footer-icon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
  }

  .dw-site-vs-business__card-footer p {
    font-size: 13px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-site-vs-business *,
  .dw-site-vs-business *::before,
  .dw-site-vs-business *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   BUSINESS DECISION FLOW — MIND MAP
========================================================= */

.dw-decision-map {
  --dw-map-blue: #2d80b7;
  --dw-map-blue-bright: #43b7ff;
  --dw-map-navy: #000038;
  --dw-map-deep: #000024;
  --dw-map-white: #ffffff;
  --dw-map-text-light: rgba(255, 255, 255, 0.76);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(90px, 8vw, 135px) 0 clamp(80px, 8vw, 125px);

  background:
    radial-gradient(
      circle at 50% 52%,
      rgba(45, 128, 183, 0.2),
      transparent 36%
    ),
    radial-gradient(
      circle at 10% 50%,
      rgba(45, 128, 183, 0.1),
      transparent 28%
    ),
    radial-gradient(
      circle at 90% 50%,
      rgba(45, 128, 183, 0.1),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      var(--dw-map-deep) 0%,
      var(--dw-map-navy) 48%,
      #001353 100%
    );
}

.dw-decision-map__container {
  position: relative;
  z-index: 5;

  width: min(calc(100% - 48px), 1660px);
  margin-inline: auto;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-decision-map__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-decision-map__background::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.58) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(67, 183, 255, 0.45) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    38px 52px;

  background-size:
    92px 92px,
    137px 137px;

  opacity: 0.24;
  animation: dwDecisionStarsMove 35s linear infinite;
}

.dw-decision-map__background::after {
  content: "";
  position: absolute;
  right: 12%;
  bottom: -110px;
  left: 12%;

  height: 220px;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(45, 128, 183, 0.3),
      transparent 66%
    );

  filter: blur(28px);
}

.dw-decision-map__orbit {
  position: absolute;
  display: block;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 50%;
}

.dw-decision-map__orbit--one {
  top: -620px;
  left: 50%;

  width: 1700px;
  height: 1050px;

  transform: translateX(-50%);
  animation: dwDecisionOrbitPulse 9s ease-in-out infinite;
}

.dw-decision-map__orbit--two {
  right: -420px;
  bottom: -570px;

  width: 1050px;
  height: 1050px;

  border-style: dashed;
  animation: dwDecisionOrbitRotate 70s linear infinite;
}

.dw-decision-map__orbit--three {
  bottom: -650px;
  left: -440px;

  width: 1100px;
  height: 1100px;

  border-style: dashed;
  animation: dwDecisionOrbitRotate 78s linear infinite reverse;
}

.dw-decision-map__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(80px);
}

.dw-decision-map__glow--one {
  top: 20%;
  left: 40%;

  width: 400px;
  height: 400px;

  background: rgba(45, 128, 183, 0.16);
  animation: dwDecisionGlowPulse 5s ease-in-out infinite;
}

.dw-decision-map__glow--two {
  right: 3%;
  bottom: 5%;

  width: 340px;
  height: 340px;

  background: rgba(67, 183, 255, 0.09);
  animation: dwDecisionGlowPulse 6s -2s ease-in-out infinite;
}

.dw-decision-map__star {
  position: absolute;
  display: block;

  width: 6px;
  height: 6px;

  border-radius: 50%;
  background: var(--dw-map-white);

  box-shadow:
    0 0 8px var(--dw-map-white),
    0 0 22px var(--dw-map-blue-bright);

  animation: dwDecisionStarPulse 3s ease-in-out infinite;
}

.dw-decision-map__star--one {
  top: 10%;
  left: 8%;
}

.dw-decision-map__star--two {
  top: 19%;
  right: 9%;
  animation-delay: -0.7s;
}

.dw-decision-map__star--three {
  top: 49%;
  left: 3%;
  animation-delay: -1.2s;
}

.dw-decision-map__star--four {
  right: 4%;
  bottom: 31%;
  animation-delay: -1.8s;
}

.dw-decision-map__star--five {
  bottom: 12%;
  left: 21%;
  animation-delay: -2.3s;
}

.dw-decision-map__star--six {
  right: 27%;
  bottom: 8%;
  animation-delay: -2.7s;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dw-decision-map__heading {
  position: relative;
  z-index: 7;

  max-width: 1160px;
  margin: 0 auto clamp(55px, 6vw, 88px);

  text-align: center;
  animation: dwDecisionHeadingEnter 0.8s ease both;
}

.dw-decision-map__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 24px;
  padding: 10px 19px;

  border: 1px solid rgba(67, 183, 255, 0.38);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.1);
  color: rgba(255, 255, 255, 0.84);

  font-family: var(--heading-font-family);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 25px rgba(45, 128, 183, 0.12);

  backdrop-filter: blur(12px);
}

.dw-decision-map__eyebrow-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--dw-map-blue-bright);
  box-shadow: 0 0 13px var(--dw-map-blue-bright);

  animation: dwDecisionNodePulse 2s ease-in-out infinite;
}

.dw-decision-map__heading h2 {
  max-width: 1160px;
  margin: 0 auto;

  color: var(--dw-map-white);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.06;
  letter-spacing: -0.045em;

  text-shadow: 0 12px 36px rgba(0, 0, 36, 0.28);
}

.dw-decision-map__heading h2 > span {
  display: block;
}

.dw-decision-map__heading h2 strong {
  color: var(--dw-map-blue-bright);
  font-weight: inherit;

  text-shadow:
    0 0 30px rgba(67, 183, 255, 0.22);
}

.dw-decision-map__heading > p {
  max-width: 780px;
  margin: 23px auto 0;

  color: var(--dw-map-text-light);

  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.65;
}


/* =========================================================
   DIAGRAM
========================================================= */

.dw-decision-map__diagram {
  position: relative;
  z-index: 6;

  display: grid;
  grid-template-columns:
    minmax(330px, 1fr)
    minmax(330px, 0.74fr)
    minmax(330px, 1fr);

  gap: clamp(55px, 7vw, 120px);
  align-items: center;

  min-height: 620px;
}


/* =========================================================
   SVG CONNECTIONS
========================================================= */

.dw-decision-map__connections {
  position: absolute;
  inset: 0;
  z-index: 1;

  width: 100%;
  height: 100%;

  overflow: visible;
  pointer-events: none;
}

.dw-decision-map__path {
  fill: none;
  stroke: url("#dwDecisionLine");
  stroke-width: 2.2;
  stroke-linecap: round;

  stroke-dasharray: 8 10;
  filter: url("#dwDecisionGlow");

  animation:
    dwDecisionLineFlow 2.4s linear infinite,
    dwDecisionLineAppear 1s ease both;
}

.dw-decision-map__path--two,
.dw-decision-map__path--six {
  animation-delay: -0.25s;
}

.dw-decision-map__path--three,
.dw-decision-map__path--seven {
  animation-delay: -0.5s;
}

.dw-decision-map__path--four,
.dw-decision-map__path--eight {
  animation-delay: -0.75s;
}

.dw-decision-map__nodes circle {
  fill: var(--dw-map-white);
  stroke: var(--dw-map-blue-bright);
  stroke-width: 3;

  transform-box: fill-box;
  transform-origin: center;

  animation: dwDecisionNodePulse 2.2s ease-in-out infinite;
}


/* =========================================================
   QUESTION STACKS
========================================================= */

.dw-decision-map__questions {
  position: relative;
  z-index: 4;

  display: grid;
  gap: 28px;
  align-content: center;

  margin: 0;
  padding: 0;

  list-style: none;
}

.dw-decision-map__question {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 104px;
  align-items: center;
  gap: 19px;
  overflow: hidden;

  padding: 17px 22px;

  border: 1px solid rgba(88, 179, 255, 0.44);
  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.98),
      rgba(226, 240, 255, 0.97)
    );

  color: var(--dw-map-navy);

  box-shadow:
    0 15px 32px rgba(0, 0, 36, 0.3),
    0 0 20px rgba(45, 128, 183, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwDecisionCardEnter 0.7s ease both;
}

.dw-decision-map__questions--left
  .dw-decision-map__question:nth-child(1),
.dw-decision-map__questions--right
  .dw-decision-map__question:nth-child(1) {
  animation-delay: 0.08s;
}

.dw-decision-map__questions--left
  .dw-decision-map__question:nth-child(2),
.dw-decision-map__questions--right
  .dw-decision-map__question:nth-child(2) {
  animation-delay: 0.16s;
}

.dw-decision-map__questions--left
  .dw-decision-map__question:nth-child(3),
.dw-decision-map__questions--right
  .dw-decision-map__question:nth-child(3) {
  animation-delay: 0.24s;
}

.dw-decision-map__questions--left
  .dw-decision-map__question:nth-child(4),
.dw-decision-map__questions--right
  .dw-decision-map__question:nth-child(4) {
  animation-delay: 0.32s;
}

.dw-decision-map__question::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      105deg,
      transparent 20%,
      rgba(255, 255, 255, 0.8) 50%,
      transparent 80%
    );

  opacity: 0;
  transform: translateX(-120%) skewX(-18deg);

  transition:
    opacity 0.3s ease,
    transform 0.65s ease;
}

.dw-decision-map__question::after {
  content: "";
  position: absolute;
  top: 50%;

  width: 16px;
  height: 16px;

  border: 3px solid var(--dw-map-blue-bright);
  border-radius: 50%;

  background: var(--dw-map-white);
  box-shadow:
    0 0 0 6px rgba(67, 183, 255, 0.08),
    0 0 18px rgba(67, 183, 255, 0.55);

  transform: translateY(-50%);

  animation: dwDecisionNodePulse 2.1s ease-in-out infinite;
}

.dw-decision-map__questions--left
  .dw-decision-map__question::after {
  right: -9px;
}

.dw-decision-map__questions--right
  .dw-decision-map__question::after {
  left: -9px;
}

.dw-decision-map__question:hover {
  border-color: rgba(67, 183, 255, 0.9);

  box-shadow:
    0 22px 42px rgba(0, 0, 36, 0.38),
    0 0 32px rgba(67, 183, 255, 0.3),
    inset 0 1px 0 var(--dw-map-white);

  transform: translateY(-5px);
}

.dw-decision-map__questions--left
  .dw-decision-map__question:hover {
  transform: translateX(7px) translateY(-3px);
}

.dw-decision-map__questions--right
  .dw-decision-map__question:hover {
  transform: translateX(-7px) translateY(-3px);
}

.dw-decision-map__question:hover::before {
  opacity: 0.7;
  transform: translateX(130%) skewX(-18deg);
}

.dw-decision-map__question-icon,
.dw-decision-map__question-text {
  position: relative;
  z-index: 2;
}

.dw-decision-map__question-icon {
  display: grid;
  flex: 0 0 62px;
  width: 62px;
  height: 62px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.13);
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.78);
  color: var(--dw-map-blue);

  font-size: 25px;

  box-shadow:
    0 7px 18px rgba(45, 128, 183, 0.1),
    inset 0 1px 0 var(--dw-map-white);

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-decision-map__question:hover
  .dw-decision-map__question-icon {
  background: var(--dw-map-blue);
  color: var(--dw-map-white);

  transform: rotate(-6deg) scale(1.05);
}

.dw-decision-map__question-text {
  flex: 1;
  min-width: 0;

  font-family: var(--heading-font-family);
  font-size: clamp(15px, 1.15vw, 19px);
  font-weight: 650;
  line-height: 1.4;
}

.dw-decision-map__questions--right
  .dw-decision-map__question {
  text-align: right;
}


/* =========================================================
   CENTER ROCKET
========================================================= */

.dw-decision-map__center {
  position: relative;
  z-index: 5;

  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.dw-decision-map__rocket-stage {
  position: relative;

  display: grid;
  width: 100%;
  min-height: 420px;
  place-items: center;
}

.dw-decision-map__rocket-stage::after {
  content: "";
  position: absolute;
  right: 4%;
  bottom: 1%;
  left: 4%;
  z-index: 0;

  height: 62px;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(67, 183, 255, 0.42),
      rgba(45, 128, 183, 0.08) 45%,
      transparent 72%
    );

  filter: blur(10px);

  animation: dwDecisionPlatformPulse 3.2s ease-in-out infinite;
}

.dw-decision-map__rocket-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;

  width: 360px;
  height: 360px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(67, 183, 255, 0.24),
      rgba(45, 128, 183, 0.07) 52%,
      transparent 72%
    );

  filter: blur(16px);
  transform: translate(-50%, -50%);

  animation: dwDecisionGlowPulse 4s ease-in-out infinite;
}

.dw-decision-map__rocket-ring {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 0;

  border: 1px solid rgba(67, 183, 255, 0.28);
  border-radius: 50%;

  transform: translateX(-50%);

  animation: dwDecisionRingPulse 4s ease-in-out infinite;
}

.dw-decision-map__rocket-ring--one {
  width: 260px;
  height: 72px;
}

.dw-decision-map__rocket-ring--two {
  width: 360px;
  height: 102px;
  animation-delay: -1.2s;
}

.dw-decision-map__rocket-ring--three {
  width: 470px;
  height: 132px;
  animation-delay: -2.4s;
}

.dw-decision-map__rocket {
  position: relative;
  z-index: 3;

  width: clamp(230px, 22vw, 355px);
  margin: 0;

  pointer-events: none;

  animation:
    dwDecisionRocketEnter 0.9s 0.2s ease both,
    dwDecisionRocketFloat 4.6s 1.1s ease-in-out infinite;
}

.dw-decision-map__rocket img {
  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 26px 32px rgba(0, 0, 36, 0.42))
    drop-shadow(0 0 24px rgba(67, 183, 255, 0.16));
}

.dw-decision-map__editor-label {
  position: relative;
  z-index: 4;

  max-width: 340px;
  margin-top: 4px;
}

.dw-decision-map__editor-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-bottom: 10px;

  color: rgba(255, 255, 255, 0.62);

  font-size: 10px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-decision-map__editor-status > span {
  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-map-blue-bright);
  box-shadow: 0 0 12px var(--dw-map-blue-bright);

  animation: dwDecisionNodePulse 2s ease-in-out infinite;
}

.dw-decision-map__editor-label h3 {
  margin: 0;

  color: var(--dw-map-white);

  font-family: var(--heading-font-family);
  font-size: clamp(25px, 2.2vw, 36px);
  line-height: 1.1;
}

.dw-decision-map__editor-label p {
  margin: 9px 0 0;

  color: rgba(255, 255, 255, 0.66);

  font-size: 15px;
  line-height: 1.55;
}

.dw-decision-map__editor-label strong {
  display: block;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 650;
}


/* =========================================================
   CONCLUSION
========================================================= */

.dw-decision-map__conclusion {
  position: relative;
  z-index: 7;

  max-width: 950px;
  margin: clamp(50px, 6vw, 80px) auto 0;

  color: rgba(255, 255, 255, 0.78);

  font-family: var(--heading-font-family);
  font-size: clamp(20px, 2vw, 29px);
  line-height: 1.45;
  text-align: center;
}

.dw-decision-map__conclusion strong {
  color: var(--dw-map-blue-bright);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwDecisionHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwDecisionCardEnter {
  from {
    opacity: 0;
    transform: translateY(25px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwDecisionRocketEnter {
  from {
    opacity: 0;
    transform: translateY(40px) scale(0.9);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwDecisionRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(1deg);
  }

  50% {
    transform: translateY(-17px) rotate(-2deg);
  }
}

@keyframes dwDecisionLineAppear {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes dwDecisionLineFlow {
  from {
    stroke-dashoffset: 0;
  }

  to {
    stroke-dashoffset: -36;
  }
}

@keyframes dwDecisionNodePulse {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(0.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes dwDecisionPlatformPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scaleX(0.9);
  }

  50% {
    opacity: 0.9;
    transform: scaleX(1.08);
  }
}

@keyframes dwDecisionRingPulse {
  0%,
  100% {
    opacity: 0.2;
    transform: translateX(-50%) scale(0.9);
  }

  50% {
    opacity: 0.72;
    transform: translateX(-50%) scale(1.08);
  }
}

@keyframes dwDecisionGlowPulse {
  0%,
  100% {
    opacity: 0.5;
    transform: scale(0.94);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwDecisionStarPulse {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@keyframes dwDecisionStarsMove {
  from {
    background-position:
      0 0,
      38px 52px;
  }

  to {
    background-position:
      92px 92px,
      175px 189px;
  }
}

@keyframes dwDecisionOrbitRotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwDecisionOrbitPulse {
  0%,
  100% {
    opacity: 0.32;
    transform: translateX(-50%) scale(0.97);
  }

  50% {
    opacity: 0.7;
    transform: translateX(-50%) scale(1.03);
  }
}


/* =========================================================
   LARGE LAPTOP
========================================================= */

@media (max-width: 1399px) {
  .dw-decision-map__container {
    width: min(calc(100% - 36px), 1450px);
  }

  .dw-decision-map__diagram {
    grid-template-columns:
      minmax(295px, 1fr)
      minmax(290px, 0.72fr)
      minmax(295px, 1fr);

    gap: 58px;
  }

  .dw-decision-map__question {
    min-height: 94px;
    padding: 15px 18px;
  }

  .dw-decision-map__question-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
  }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-decision-map__diagram {
    grid-template-columns:
      minmax(245px, 1fr)
      minmax(250px, 0.72fr)
      minmax(245px, 1fr);

    gap: 35px;
  }

  .dw-decision-map__connections {
    opacity: 0.7;
  }

  .dw-decision-map__questions {
    gap: 21px;
  }

  .dw-decision-map__question {
    min-height: 88px;
  }

  .dw-decision-map__rocket {
    width: clamp(215px, 23vw, 300px);
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-decision-map {
    padding: 82px 0 95px;
  }

  .dw-decision-map__heading {
    margin-bottom: 48px;
  }

  .dw-decision-map__diagram {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;

    min-height: auto;
  }

  .dw-decision-map__connections {
    display: none;
  }

  .dw-decision-map__center {
    grid-column: 1 / -1;
    grid-row: 1;

    margin-bottom: 20px;
  }

  .dw-decision-map__questions--left {
    grid-column: 1;
    grid-row: 2;
  }

  .dw-decision-map__questions--right {
    grid-column: 2;
    grid-row: 2;
  }

  .dw-decision-map__rocket-stage {
    min-height: 380px;
  }

  .dw-decision-map__question::after {
    display: none;
  }

  .dw-decision-map__questions--left
    .dw-decision-map__question:hover,
  .dw-decision-map__questions--right
    .dw-decision-map__question:hover {
    transform: translateY(-5px);
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-decision-map {
    padding: 70px 0 82px;
  }

  .dw-decision-map__container {
    width: min(calc(100% - 28px), 1660px);
  }


  .dw-decision-map__heading h2 > span {
    display: inline;
  }

  .dw-decision-map__heading > p {
    font-size: 16px;
  }

  .dw-decision-map__diagram {
    grid-template-columns: 1fr;
  }

  .dw-decision-map__center,
  .dw-decision-map__questions--left,
  .dw-decision-map__questions--right {
    grid-column: 1;
  }

  .dw-decision-map__center {
    grid-row: 1;
  }

  .dw-decision-map__questions--left {
    grid-row: 2;
  }

  .dw-decision-map__questions--right {
    grid-row: 3;
  }

  .dw-decision-map__questions--right
    .dw-decision-map__question {
    flex-direction: row;
    text-align: left;
  }

  .dw-decision-map__question {
    min-height: 82px;
  }

  .dw-decision-map__question-icon {
    flex-basis: 50px;
    width: 50px;
    height: 50px;

    font-size: 21px;
  }

  .dw-decision-map__rocket-stage {
    min-height: 330px;
  }

  .dw-decision-map__rocket {
    width: 235px;
  }

  .dw-decision-map__rocket-ring--three {
    width: 340px;
  }

  .dw-decision-map__conclusion {
    font-size: 21px;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-decision-map__eyebrow {
    padding: 9px 14px;
    font-size: 10px;
  }

  .dw-decision-map__question {
    gap: 13px;
    padding: 14px 15px;
    border-radius: 15px;
  }

  .dw-decision-map__question-text {
    font-size: 14px;
  }

  .dw-decision-map__rocket {
    width: 210px;
  }

  .dw-decision-map__rocket-stage {
    min-height: 300px;
  }

  .dw-decision-map__rocket-ring--one {
    width: 200px;
  }

  .dw-decision-map__rocket-ring--two {
    width: 270px;
  }

  .dw-decision-map__rocket-ring--three {
    width: 320px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-decision-map *,
  .dw-decision-map *::before,
  .dw-decision-map *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   DIY VS PROFESSIONAL COMPARISON CAROUSEL
========================================================= */

.dw-comparison-carousel {
  --dw-comparison-blue: #2d80b7;
  --dw-comparison-navy: #000038;
  --dw-comparison-white: #ffffff;
  --dw-comparison-light: #f4f9ff;
  --dw-comparison-text: rgba(0, 0, 56, 0.7);
  --dw-comparison-border: rgba(45, 128, 183, 0.18);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(80px, 8vw, 125px) 0;

  background:
    radial-gradient(
      circle at 8% 35%,
      rgba(45, 128, 183, 0.08),
      transparent 25%
    ),
    radial-gradient(
      circle at 94% 65%,
      rgba(45, 128, 183, 0.08),
      transparent 25%
    ),
    linear-gradient(
      180deg,
      var(--dw-comparison-white),
      #fbfdff
    );
}

.dw-comparison-carousel .dw-diy-pro-container {
  position: relative;
  z-index: 5;
}


/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.dw-comparison-carousel__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.dw-comparison-carousel__glow {
  position: absolute;
  right: 2%;
  bottom: 5%;

  width: 380px;
  height: 380px;

  border-radius: 50%;
  background: rgba(45, 128, 183, 0.09);
  filter: blur(70px);

  animation: dwComparisonGlow 5s ease-in-out infinite;
}

.dw-comparison-carousel__orbit {
  position: absolute;

  border: 1px dashed rgba(45, 128, 183, 0.2);
  border-radius: 50%;

  pointer-events: none;
}

.dw-comparison-carousel__orbit--one {
  top: -390px;
  left: -330px;

  width: 720px;
  height: 720px;

  animation: dwComparisonOrbit 54s linear infinite;
}

.dw-comparison-carousel__orbit--two {
  right: -340px;
  bottom: -430px;

  width: 760px;
  height: 760px;

  animation: dwComparisonOrbit 62s linear infinite reverse;
}

.dw-comparison-carousel__star {
  position: absolute;

  width: 7px;
  height: 7px;

  border-radius: 50%;
  background: var(--dw-comparison-blue);

  box-shadow:
    0 0 0 6px rgba(45, 128, 183, 0.05),
    0 0 22px rgba(45, 128, 183, 0.4);

  animation: dwComparisonStar 3s ease-in-out infinite;
}

.dw-comparison-carousel__star--one {
  top: 19%;
  left: 8%;
}

.dw-comparison-carousel__star--two {
  top: 12%;
  right: 14%;
  animation-delay: -1s;
}

.dw-comparison-carousel__star--three {
  right: 6%;
  bottom: 17%;
  animation-delay: -2s;
}


/* =========================================================
   DECORATIVE ROCKET
========================================================= */

.dw-comparison-carousel__rocket {
  position: absolute;
  right: clamp(-55px, 2vw, -20px);
  bottom: 35px;
  z-index: 2;

  width: clamp(150px, 25vw, 365px);
  margin: 0;

  opacity: 0.92;
  pointer-events: none;

  animation: dwComparisonRocket 5s ease-in-out infinite;
}

.dw-comparison-carousel__rocket img {
  position: relative;
  z-index: 2;

  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 20px 28px rgba(0, 0, 56, 0.15));
}

.dw-comparison-carousel__rocket-trail {
  position: absolute;
  right: 58%;
  bottom: -7%;
  z-index: 1;

  width: 190px;
  height: 90px;

  border-bottom: 4px solid rgba(45, 128, 183, 0.16);
  border-radius: 50%;

  transform: rotate(-25deg);
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dw-comparison-carousel__heading {
  position: relative;
  z-index: 5;

  max-width: 900px;
  margin: 0 auto clamp(38px, 5vw, 62px);

  text-align: center;

  animation: dwComparisonHeadingEnter 0.75s ease both;
}

.dw-comparison-carousel__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 21px;
  padding: 9px 17px;

  border: 1px solid rgba(45, 128, 183, 0.24);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.055);
  color: var(--dw-comparison-blue);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.dw-comparison-carousel__heading h2 {
  margin: 0;

  color: var(--dw-comparison-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.07;
  letter-spacing: -0.04em;
}

.dw-comparison-carousel__heading h2 span {
  display: block;
  color: var(--dw-comparison-blue);
}

.dw-comparison-carousel__heading p {
  max-width: 740px;
  margin: 19px auto 0;

  color: var(--dw-comparison-text);

  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.7;
}


/* =========================================================
   CAROUSEL SHELL
========================================================= */

.dw-comparison-slider {
  position: relative;
  z-index: 5;

  width: min(100%, 1180px);
  margin: 0 auto;
}

.dw-comparison-slider__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 17px;
}

.dw-comparison-slider__status {
  display: inline-flex;
  align-items: center;
  gap: 7px;

  margin: 0;

  color: var(--dw-comparison-text);

  font-family: var(--heading-font-family);
  font-size: 13px;
}

.dw-comparison-slider__status span:first-child {
  color: var(--dw-comparison-blue);
  font-size: 20px;
}

.dw-comparison-slider__arrows {
  display: flex;
  gap: 10px;
}

.dw-comparison-slider__arrow {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;

  border: 1px solid var(--dw-comparison-border);
  border-radius: 50%;

  background: var(--dw-comparison-white);
  color: var(--dw-comparison-navy);

  cursor: pointer;

  box-shadow:
    0 8px 22px rgba(0, 0, 56, 0.07);

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-comparison-slider__arrow:hover,
.dw-comparison-slider__arrow:focus-visible {
  border-color: var(--dw-comparison-blue);
  background: var(--dw-comparison-blue);
  color: var(--dw-comparison-white);

  box-shadow:
    0 12px 28px rgba(45, 128, 183, 0.22);

  transform: translateY(-3px);
}

.dw-comparison-slider__arrow:focus-visible {
  outline: 3px solid rgba(45, 128, 183, 0.22);
  outline-offset: 3px;
}

.dw-comparison-slider__viewport {
  overflow: hidden;

  border: 1px solid var(--dw-comparison-border);
  border-radius: 25px;

  background: rgba(255, 255, 255, 0.92);

  box-shadow:
    0 25px 65px rgba(0, 0, 56, 0.1),
    inset 0 1px 0 var(--dw-comparison-white);

  backdrop-filter: blur(12px);
}

.dw-comparison-slider__track {
  display: flex;
  width: 100%;

  transform: translateX(0);

  transition:
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}


/* =========================================================
   INDIVIDUAL SLIDES
========================================================= */

.dw-comparison-slide {
  flex: 0 0 100%;
  min-width: 0;

  padding: clamp(24px, 3vw, 38px);

  opacity: 0.55;
  transform: scale(0.985);

  transition:
    opacity 0.45s ease,
    transform 0.45s ease;
}

.dw-comparison-slide.is-active {
  opacity: 1;
  transform: scale(1);
}

.dw-comparison-slide__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;

  margin-bottom: 25px;
}

.dw-comparison-slide__header > div {
  display: flex;
  align-items: center;
  gap: 17px;
}

.dw-comparison-slide__number {
  display: grid;
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  place-items: center;

  border-radius: 16px;

  background:
    linear-gradient(
      145deg,
      var(--dw-comparison-blue),
      var(--dw-comparison-navy)
    );

  color: var(--dw-comparison-white);

  font-family: var(--heading-font-family);
  font-size: 16px;

  box-shadow:
    0 12px 25px rgba(45, 128, 183, 0.2);
}

.dw-comparison-slide__header p {
  margin: 0 0 3px;

  color: var(--dw-comparison-blue);

  font-size: 10px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.dw-comparison-slide__header h3 {
  margin: 0;

  color: var(--dw-comparison-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(21px, 2vw, 29px);
  line-height: 1.2;
}

.dw-comparison-slide__badge {
  flex: 0 0 auto;

  padding: 8px 13px;

  border: 1px solid rgba(45, 128, 183, 0.16);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.06);
  color: var(--dw-comparison-blue);

  font-size: 11px;
}


/* =========================================================
   COMPARISON TABLE
========================================================= */

.dw-comparison-table-wrap {
  overflow: hidden;

  border: 1px solid var(--dw-comparison-border);
  border-radius: 17px;
}

.dw-comparison-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.dw-comparison-table th,
.dw-comparison-table td {
  padding: 19px 21px;
  border-bottom: 1px solid rgba(45, 128, 183, 0.12);

  text-align: left;
  vertical-align: middle;
}

.dw-comparison-table tr:last-child > * {
  border-bottom: 0;
}

.dw-comparison-table thead th {
  background: var(--dw-comparison-navy);
  color: var(--dw-comparison-white);

  font-family: var(--heading-font-family);
  font-size: 13px;
}

.dw-comparison-table thead th:first-child {
  width: 19%;
}

.dw-comparison-table thead th:nth-child(2) {
  width: 35%;
  background: #07145f;
}

.dw-comparison-table thead th:nth-child(3) {
  width: 46%;

  background:
    linear-gradient(
      120deg,
      var(--dw-comparison-blue),
      var(--dw-comparison-navy)
    );
}

.dw-comparison-table__column-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.dw-comparison-table tbody th {
  background: rgba(244, 249, 255, 0.72);
  color: var(--dw-comparison-navy);
}

.dw-comparison-table tbody td {
  color: var(--dw-comparison-text);

  font-size: 14px;
  line-height: 1.58;
}

.dw-comparison-table tbody td:nth-child(3) {
  background: rgba(45, 128, 183, 0.035);
  color: rgba(0, 0, 56, 0.82);
}

.dw-comparison-table tbody tr {
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-comparison-table tbody tr:hover {
  background: rgba(45, 128, 183, 0.045);
}

.dw-comparison-table__area {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  font-family: var(--heading-font-family);
  font-size: 13px;
}

.dw-comparison-table__area i {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;

  border-radius: 9px;

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-comparison-blue);

  font-size: 13px;
}


/* =========================================================
   DOT NAVIGATION
========================================================= */

.dw-comparison-slider__dots {
  display: flex;
  justify-content: center;
  gap: 10px;

  margin-top: 22px;
}

.dw-comparison-slider__dot {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;

  border: 0;
  border-radius: 50%;

  background: transparent;
  cursor: pointer;
}

.dw-comparison-slider__dot span {
  display: block;

  width: 8px;
  height: 8px;

  border-radius: 999px;

  background: rgba(0, 0, 56, 0.22);

  transition:
    width 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease;
}

.dw-comparison-slider__dot.is-active span {
  width: 24px;
  background: var(--dw-comparison-blue);

  box-shadow:
    0 0 13px rgba(45, 128, 183, 0.35);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwComparisonHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwComparisonRocket {
  0%,
  100% {
    transform: translateY(0) rotate(2deg);
  }

  50% {
    transform: translateY(-15px) rotate(-2deg);
  }
}

@keyframes dwComparisonOrbit {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwComparisonStar {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.85);
  }

  50% {
    opacity: 1;
    transform: scale(1.25);
  }
}

@keyframes dwComparisonGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 0.9;
    transform: scale(1.08);
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-comparison-carousel__rocket {
    right: -55px;
    bottom: 10px;

    width: 175px;
    opacity: 0.55;
  }

  .dw-comparison-slider {
    width: 100%;
  }

  .dw-comparison-table th,
  .dw-comparison-table td {
    padding: 16px;
  }

  .dw-comparison-table tbody td {
    font-size: 13px;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-comparison-carousel {
    padding: 70px 0 85px;
  }


  .dw-comparison-carousel__heading h2 span {
    display: inline;
  }

  .dw-comparison-carousel__rocket {
    display: none;
  }

  .dw-comparison-slide {
    padding: 20px 15px;
  }

  .dw-comparison-slide__header {
    align-items: flex-start;
  }

  .dw-comparison-slide__badge {
    display: none;
  }

  .dw-comparison-table-wrap {
    overflow: visible;
    border: 0;
  }

  .dw-comparison-table,
  .dw-comparison-table tbody,
  .dw-comparison-table tr,
  .dw-comparison-table th,
  .dw-comparison-table td {
    display: block;
    width: 100%;
  }

  .dw-comparison-table {
    table-layout: auto;
  }

  .dw-comparison-table thead {
    position: absolute;

    width: 1px;
    height: 1px;
    overflow: hidden;

    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .dw-comparison-table tbody {
    display: grid;
    gap: 15px;
  }

  .dw-comparison-table tbody tr {
    overflow: hidden;

    padding: 18px;

    border: 1px solid var(--dw-comparison-border);
    border-radius: 15px;

    background: var(--dw-comparison-white);

    box-shadow:
      0 10px 25px rgba(0, 0, 56, 0.06);
  }

  .dw-comparison-table tbody th,
  .dw-comparison-table tbody td,
  .dw-comparison-table tbody td:nth-child(3) {
    padding: 0;
    border: 0;
    background: transparent;
  }

  .dw-comparison-table tbody th {
    margin-bottom: 16px;
  }

  .dw-comparison-table tbody td {
    position: relative;

    padding-left: 18px;
  }

  .dw-comparison-table tbody td + td {
    margin-top: 17px;
    padding-top: 17px;

    border-top: 1px solid var(--dw-comparison-border);
  }

  .dw-comparison-table tbody td::before {
    content: attr(data-label);

    display: block;

    margin-bottom: 6px;

    color: var(--dw-comparison-blue);

    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .dw-comparison-table tbody td::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;

    width: 7px;
    height: 7px;

    border-radius: 50%;
    background: var(--dw-comparison-blue);
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-comparison-slider__controls {
    margin-bottom: 13px;
  }

  .dw-comparison-slider__arrow {
    width: 43px;
    height: 43px;
  }

  .dw-comparison-slide__header > div {
    align-items: flex-start;
  }

  .dw-comparison-slide__number {
    flex-basis: 48px;
    width: 48px;
    height: 48px;
  }

  .dw-comparison-slide__header h3 {
    font-size: 20px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-comparison-carousel *,
  .dw-comparison-carousel *::before,
  .dw-comparison-carousel *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   SEO SETTINGS VS SEO STRATEGY
========================================================= */

.dw-seo-strategy {
  --dw-seo-blue: #2d80b7;
  --dw-seo-blue-bright: #4cc4ff;
  --dw-seo-navy: #000038;
  --dw-seo-deep: #000021;
  --dw-seo-white: #ffffff;
  --dw-seo-card: #f4f9ff;
  --dw-seo-text-light: rgba(255, 255, 255, 0.78);
  --dw-seo-dark-text: rgba(0, 0, 56, 0.78);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(95px, 9vw, 145px) 0 clamp(85px, 8vw, 125px);

  background:
    radial-gradient(
      circle at 50% 45%,
      rgba(45, 128, 183, 0.2),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      var(--dw-seo-deep),
      var(--dw-seo-navy)
    );
}

.dw-seo-strategy .dw-diy-pro-container {
  position: relative;
  z-index: 6;
}


/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.dw-seo-strategy__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
}

.dw-seo-strategy__background img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  opacity: 0.94;
  transform: scale(1.015);
}

.dw-seo-strategy__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 38, 0.3) 0%,
      rgba(0, 0, 56, 0.32) 40%,
      rgba(0, 0, 38, 0.52) 100%
    ),
    radial-gradient(
      circle at 50% 45%,
      rgba(45, 128, 183, 0.08),
      transparent 50%
    );
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-seo-strategy__decor {
  position: absolute;
  inset: 0;
  z-index: 2;

  overflow: hidden;
  pointer-events: none;
}

.dw-seo-strategy__orbit {
  position: absolute;
  display: block;

  border: 1px dashed rgba(76, 196, 255, 0.24);
  border-radius: 50%;

  animation: dwSeoOrbitRotate 60s linear infinite;
}

.dw-seo-strategy__orbit--one {
  top: -520px;
  left: 50%;

  width: 1500px;
  height: 950px;

  transform: translateX(-50%);
}

.dw-seo-strategy__orbit--two {
  right: -360px;
  bottom: -520px;

  width: 920px;
  height: 920px;

  animation-direction: reverse;
  animation-duration: 72s;
}

.dw-seo-strategy__star {
  position: absolute;
  display: block;

  width: 6px;
  height: 6px;

  border-radius: 50%;
  background: var(--dw-seo-white);

  box-shadow:
    0 0 8px var(--dw-seo-white),
    0 0 23px var(--dw-seo-blue-bright);

  animation: dwSeoStarPulse 3s ease-in-out infinite;
}

.dw-seo-strategy__star::before,
.dw-seo-strategy__star::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  background: rgba(255, 255, 255, 0.76);
  border-radius: 30px;

  transform: translate(-50%, -50%);
}

.dw-seo-strategy__star::before {
  width: 23px;
  height: 1px;
}

.dw-seo-strategy__star::after {
  width: 1px;
  height: 23px;
}

.dw-seo-strategy__star--one {
  top: 10%;
  left: 24%;
}

.dw-seo-strategy__star--two {
  top: 15%;
  right: 17%;

  animation-delay: -0.8s;
}

.dw-seo-strategy__star--three {
  right: 7%;
  bottom: 21%;

  animation-delay: -1.6s;
}

.dw-seo-strategy__star--four {
  bottom: 10%;
  left: 18%;

  animation-delay: -2.4s;
}

.dw-seo-strategy__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(80px);

  animation: dwSeoGlowPulse 5s ease-in-out infinite;
}

.dw-seo-strategy__glow--one {
  top: 22%;
  left: 40%;

  width: 420px;
  height: 420px;

  background: rgba(45, 128, 183, 0.15);
}

.dw-seo-strategy__glow--two {
  right: 5%;
  bottom: 6%;

  width: 320px;
  height: 320px;

  background: rgba(76, 196, 255, 0.08);

  animation-delay: -2s;
}


/* =========================================================
   ROCKET IMAGE
========================================================= */

.dw-seo-strategy__rocket {
  position: absolute;
  top: clamp(40px, 5vw, 85px);
  left: clamp(-38px, 1vw, 24px);
  z-index: 7;

  width: clamp(165px, 24vw, 385px);
  margin: 0;

  pointer-events: none;

  animation: dwSeoRocketFloat 4.8s ease-in-out infinite;
}

.dw-seo-strategy__rocket img {
  position: relative;
  z-index: 2;

  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 28px 33px rgba(0, 0, 38, 0.46))
    drop-shadow(0 0 24px rgba(76, 196, 255, 0.15));
}

.dw-seo-strategy__rocket-trail {
  position: absolute;
  top: 69%;
  left: 10%;
  z-index: 1;

  width: 235px;
  height: 180px;

  border-left: 5px solid rgba(76, 196, 255, 0.24);
  border-radius: 50%;

  filter: blur(0.5px);

  transform: rotate(24deg);
}

.dw-seo-strategy__rocket-trail::before,
.dw-seo-strategy__rocket-trail::after {
  content: "";
  position: absolute;

  border-left-style: solid;
  border-radius: 50%;
}

.dw-seo-strategy__rocket-trail::before {
  top: 14px;
  left: 18px;

  width: 190px;
  height: 140px;

  border-left-width: 3px;
  border-left-color: rgba(45, 128, 183, 0.18);
}

.dw-seo-strategy__rocket-trail::after {
  top: 32px;
  left: 39px;

  width: 140px;
  height: 95px;

  border-left-width: 2px;
  border-left-color: rgba(76, 196, 255, 0.12);
}


/* =========================================================
   SECTION HEADING
========================================================= */

.dw-seo-strategy__heading {
  position: relative;
  z-index: 8;

  max-width: 1000px;
  margin: 0 auto clamp(48px, 6vw, 76px);

  text-align: center;

  animation: dwSeoHeadingEnter 0.8s ease both;
}

.dw-seo-strategy__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  margin-bottom: 22px;
  padding: 10px 18px;

  border: 1px solid rgba(76, 196, 255, 0.38);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.1);
  color: rgba(255, 255, 255, 0.86);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 24px rgba(45, 128, 183, 0.13);

  backdrop-filter: blur(10px);
}

.dw-seo-strategy__eyebrow-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--dw-seo-blue-bright);

  box-shadow:
    0 0 13px var(--dw-seo-blue-bright);

  animation: dwSeoNodePulse 2s ease-in-out infinite;
}

.dw-seo-strategy__heading h2 {
  max-width: 980px;
  margin: 0 auto;

  color: var(--dw-seo-white);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.04;
  letter-spacing: -0.045em;

  text-shadow:
    0 10px 35px rgba(0, 0, 38, 0.45),
    0 0 30px rgba(45, 128, 183, 0.12);
}

.dw-seo-strategy__heading h2 span {
  display: block;
  color: var(--dw-seo-blue-bright);

  text-shadow:
    0 0 32px rgba(76, 196, 255, 0.24);
}

.dw-seo-strategy__heading > p {
  max-width: 780px;
  margin: 22px auto 0;

  color: var(--dw-seo-text-light);

  font-size: clamp(17px, 1.45vw, 21px);
  line-height: 1.7;
}


/* =========================================================
   COMPARISON GRID
========================================================= */

.dw-seo-strategy__comparison {
  position: relative;
  z-index: 8;

  display: grid;
  grid-template-columns:
    minmax(350px, 1fr)
    100px
    minmax(350px, 1fr);

  gap: clamp(18px, 2.5vw, 35px);
  align-items: center;

  width: min(100%, 1080px);
  margin: 0 auto;
}


/* =========================================================
   SHARED PANEL STYLES
========================================================= */

.dw-seo-strategy__panel {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 490px;
  flex-direction: column;
  overflow: hidden;

  padding: clamp(27px, 3vw, 39px);

  border: 1px solid rgba(96, 190, 255, 0.65);
  border-radius: 25px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(45, 128, 183, 0.1),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(229, 242, 255, 0.97)
    );

  box-shadow:
    0 27px 60px rgba(0, 0, 38, 0.38),
    0 0 27px rgba(76, 196, 255, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwSeoPanelEnter 0.75s ease both;
}

.dw-seo-strategy__panel--decisions {
  animation-delay: 0.15s;
}

.dw-seo-strategy__panel:hover {
  border-color: rgba(76, 196, 255, 0.95);

  box-shadow:
    0 36px 76px rgba(0, 0, 38, 0.46),
    0 0 40px rgba(76, 196, 255, 0.4),
    inset 0 1px 0 var(--dw-seo-white);

  transform: translateY(-9px);
}

.dw-seo-strategy__panel-shine {
  position: absolute;
  top: -100px;
  right: -100px;

  width: 260px;
  height: 260px;

  border-radius: 50%;

  background: rgba(76, 196, 255, 0.11);
  filter: blur(5px);

  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.dw-seo-strategy__panel:hover
  .dw-seo-strategy__panel-shine {
  opacity: 1;
  transform: scale(1.2);
}

.dw-seo-strategy__recommended {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;

  padding: 7px 12px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-seo-blue);

  font-size: 9px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}


/* =========================================================
   PANEL HEADER
========================================================= */

.dw-seo-strategy__panel-header {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  gap: 18px;

  margin-bottom: 29px;
}

.dw-seo-strategy__panel-icon {
  display: grid;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  place-items: center;

  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;

  background:
    linear-gradient(
      145deg,
      var(--dw-seo-blue),
      var(--dw-seo-navy)
    );

  color: var(--dw-seo-white);
  font-size: 26px;

  box-shadow:
    0 12px 25px rgba(45, 128, 183, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.dw-seo-strategy__panel:hover
  .dw-seo-strategy__panel-icon {
  transform: translateY(-4px) rotate(-6deg) scale(1.05);

  box-shadow:
    0 17px 31px rgba(45, 128, 183, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.dw-seo-strategy__panel-header > div {
  flex: 1;
  min-width: 0;
}

.dw-seo-strategy__panel-kicker {
  display: block;
  margin-bottom: 4px;

  color: var(--dw-seo-blue);

  font-size: 9px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.dw-seo-strategy__panel-header h3 {
  margin: 0;

  color: var(--dw-seo-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(25px, 2.2vw, 34px);
  line-height: 1.14;
  letter-spacing: -0.025em;
}

.dw-seo-strategy__panel-line {
  position: relative;
  display: block;

  width: 100%;
  height: 1px;

  margin-top: 15px;

  background: rgba(45, 128, 183, 0.18);
}

.dw-seo-strategy__panel-line::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;

  width: 48px;
  height: 3px;

  border-radius: 20px;

  background: var(--dw-seo-blue);

  box-shadow:
    0 0 14px rgba(45, 128, 183, 0.38);
}


/* =========================================================
   SEO LIST
========================================================= */

.dw-seo-strategy__list {
  position: relative;
  z-index: 2;

  display: grid;
  gap: 15px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.dw-seo-strategy__list li {
  display: flex;
  align-items: flex-start;
  gap: 13px;

  color: var(--dw-seo-dark-text);

  font-size: clamp(14px, 1.1vw, 17px);
  line-height: 1.45;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.dw-seo-strategy__list li:hover {
  color: var(--dw-seo-navy);
  transform: translateX(6px);
}

.dw-seo-strategy__bullet {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;

  margin-top: 6px;

  border: 2px solid var(--dw-seo-blue);
  border-radius: 50%;

  background: transparent;

  box-shadow:
    0 0 0 4px rgba(45, 128, 183, 0.05);

  transition:
    background-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-seo-strategy__list li:hover
  .dw-seo-strategy__bullet {
  background: var(--dw-seo-blue);

  box-shadow:
    0 0 0 5px rgba(45, 128, 183, 0.09),
    0 0 13px rgba(45, 128, 183, 0.28);

  transform: scale(1.15);
}


/* =========================================================
   FLOW ARROW
========================================================= */

.dw-seo-strategy__flow {
  position: relative;
  z-index: 9;

  display: grid;
  width: 100px;
  height: 150px;
  place-items: center;
}

.dw-seo-strategy__flow-line {
  position: absolute;
  top: 50%;
  left: 0;

  width: 100%;
  height: 3px;

  background:
    linear-gradient(
      90deg,
      rgba(76, 196, 255, 0),
      rgba(76, 196, 255, 0.9),
      rgba(76, 196, 255, 0)
    );

  box-shadow:
    0 0 16px rgba(76, 196, 255, 0.45);

  transform: translateY(-50%);
}

.dw-seo-strategy__flow-arrow {
  position: relative;
  z-index: 3;

  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;

  border: 1px solid rgba(76, 196, 255, 0.6);
  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.65),
      rgba(0, 0, 56, 0.85)
    );

  color: var(--dw-seo-white);
  font-size: 26px;

  box-shadow:
    0 0 25px rgba(76, 196, 255, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);

  animation: dwSeoArrowPulse 2.8s ease-in-out infinite;
}

.dw-seo-strategy__flow-particle {
  position: absolute;
  top: 50%;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-seo-blue-bright);

  box-shadow:
    0 0 13px var(--dw-seo-blue-bright);

  transform: translateY(-50%);

  animation: dwSeoParticleFlow 2.2s linear infinite;
}

.dw-seo-strategy__flow-particle--two {
  animation-delay: -0.72s;
}

.dw-seo-strategy__flow-particle--three {
  animation-delay: -1.44s;
}


/* =========================================================
   CONCLUSION
========================================================= */

.dw-seo-strategy__conclusion {
  position: relative;
  z-index: 8;

  display: flex;
  max-width: 1020px;
  align-items: center;
  justify-content: center;
  gap: 20px;

  margin: clamp(43px, 5vw, 70px) auto 0;
  padding: clamp(22px, 2.5vw, 32px) clamp(25px, 4vw, 55px);

  border: 1px solid rgba(76, 196, 255, 0.54);
  border-radius: 999px;

  background:
    linear-gradient(
      120deg,
      rgba(0, 0, 38, 0.82),
      rgba(45, 128, 183, 0.16),
      rgba(0, 0, 38, 0.82)
    );

  color: var(--dw-seo-white);

  box-shadow:
    0 0 30px rgba(76, 196, 255, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);

  backdrop-filter: blur(12px);

  animation: dwSeoConclusionEnter 0.8s 0.3s ease both;
}

.dw-seo-strategy__conclusion::before,
.dw-seo-strategy__conclusion::after {
  content: "";
  position: absolute;
  top: 50%;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-seo-blue-bright);

  box-shadow:
    0 0 15px var(--dw-seo-blue-bright);

  transform: translateY(-50%);
}

.dw-seo-strategy__conclusion::before {
  left: -4px;
}

.dw-seo-strategy__conclusion::after {
  right: -4px;
}

.dw-seo-strategy__conclusion-star {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;

  border: 1px solid rgba(76, 196, 255, 0.34);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.16);
  color: var(--dw-seo-blue-bright);

  font-size: 20px;

  box-shadow:
    0 0 20px rgba(76, 196, 255, 0.18);

  animation: dwSeoConclusionStar 3s ease-in-out infinite;
}

.dw-seo-strategy__conclusion p {
  margin: 0;

  font-family: var(--heading-font-family);
  font-size: clamp(20px, 2.15vw, 32px);
  line-height: 1.3;
  text-align: center;
}

.dw-seo-strategy__conclusion strong {
  display: block;

  color: var(--dw-seo-blue-bright);
  font-weight: inherit;

  text-shadow:
    0 0 22px rgba(76, 196, 255, 0.2);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwSeoHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwSeoPanelEnter {
  from {
    opacity: 0;
    transform: translateY(35px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwSeoConclusionEnter {
  from {
    opacity: 0;
    transform: translateY(25px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwSeoRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }

  50% {
    transform: translateY(-17px) rotate(2deg);
  }
}

@keyframes dwSeoOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwSeoStarPulse {
  0%,
  100% {
    opacity: 0.3;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@keyframes dwSeoGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwSeoNodePulse {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(0.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes dwSeoArrowPulse {
  0%,
  100% {
    box-shadow:
      0 0 20px rgba(76, 196, 255, 0.35),
      inset 0 1px 0 rgba(255, 255, 255, 0.2);

    transform: scale(0.94);
  }

  50% {
    box-shadow:
      0 0 38px rgba(76, 196, 255, 0.72),
      inset 0 1px 0 rgba(255, 255, 255, 0.25);

    transform: scale(1.06);
  }
}

@keyframes dwSeoParticleFlow {
  from {
    left: 0;
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  to {
    left: calc(100% - 7px);
    opacity: 0;
  }
}

@keyframes dwSeoConclusionStar {
  0%,
  100% {
    transform: rotate(0) scale(0.95);
  }

  50% {
    transform: rotate(12deg) scale(1.08);
  }
}


/* =========================================================
   LARGE LAPTOP
========================================================= */

@media (max-width: 1399px) {
  .dw-seo-strategy__rocket {
    left: -25px;
    width: 225px;
  }

  .dw-seo-strategy__comparison {
    width: min(100%, 1000px);

    grid-template-columns:
      minmax(330px, 1fr)
      85px
      minmax(330px, 1fr);
  }

  .dw-seo-strategy__flow {
    width: 85px;
  }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-seo-strategy__rocket {
    top: 85px;
    left: -45px;

    width: 190px;
    opacity: 0.9;
  }

  .dw-seo-strategy__heading {
    max-width: 820px;
  }

  .dw-seo-strategy__comparison {
    grid-template-columns:
      minmax(300px, 1fr)
      70px
      minmax(300px, 1fr);

    gap: 18px;
  }

  .dw-seo-strategy__flow {
    width: 70px;
  }

  .dw-seo-strategy__flow-arrow {
    width: 52px;
    height: 52px;

    font-size: 21px;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-seo-strategy {
    padding-top: 85px;
  }

  .dw-seo-strategy__rocket {
    position: relative;
    top: auto;
    left: auto;

    width: 165px;
    margin: 0 auto 10px;
  }

  .dw-seo-strategy__rocket-trail {
    display: none;
  }

  .dw-seo-strategy__heading {
    margin-bottom: 44px;
  }

  .dw-seo-strategy__comparison {
    grid-template-columns: 1fr;
    max-width: 680px;
  }

  .dw-seo-strategy__flow {
    width: 100%;
    height: 80px;
  }

  .dw-seo-strategy__flow-line {
    top: 50%;
    left: 50%;

    width: 3px;
    height: 100%;

    background:
      linear-gradient(
        180deg,
        rgba(76, 196, 255, 0),
        rgba(76, 196, 255, 0.9),
        rgba(76, 196, 255, 0)
      );

    transform: translate(-50%, -50%);
  }

  .dw-seo-strategy__flow-arrow {
    transform: rotate(90deg);
  }

  .dw-seo-strategy__flow-particle {
    top: 0;
    left: 50%;

    transform: translateX(-50%);

    animation-name: dwSeoParticleFlowVertical;
  }

  .dw-seo-strategy__panel {
    min-height: auto;
  }
}

@keyframes dwSeoParticleFlowVertical {
  from {
    top: 0;
    opacity: 0;
  }

  20% {
    opacity: 1;
  }

  80% {
    opacity: 1;
  }

  to {
    top: calc(100% - 7px);
    opacity: 0;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-seo-strategy {
    padding: 70px 0 85px;
  }


  .dw-seo-strategy__heading h2 span {
    display: inline;
  }

  .dw-seo-strategy__heading > p {
    font-size: 16px;
  }

  .dw-seo-strategy__panel {
    min-height: auto;
    padding: 25px 21px;
    border-radius: 21px;
  }

  .dw-seo-strategy__panel-header {
    align-items: flex-start;
  }

  .dw-seo-strategy__panel-icon {
    flex-basis: 54px;
    width: 54px;
    height: 54px;

    font-size: 22px;
  }

  .dw-seo-strategy__recommended {
    display: none;
  }

  .dw-seo-strategy__conclusion {
    align-items: center;
    flex-direction: column;

    border-radius: 24px;
  }

  .dw-seo-strategy__conclusion p {
    font-size: 22px;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-seo-strategy__eyebrow {
    padding: 9px 14px;
    font-size: 10px;
  }

  .dw-seo-strategy__rocket {
    width: 145px;
  }

  .dw-seo-strategy__panel-header {
    gap: 13px;
  }

  .dw-seo-strategy__panel-header h3 {
    font-size: 23px;
  }

  .dw-seo-strategy__list {
    gap: 13px;
  }

  .dw-seo-strategy__list li {
    font-size: 14px;
  }

  .dw-seo-strategy__conclusion {
    padding: 24px 18px;
  }

  .dw-seo-strategy__conclusion p {
    font-size: 19px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-seo-strategy *,
  .dw-seo-strategy *::before,
  .dw-seo-strategy *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   WEBSITE TRUST — CREDIBILITY BY DESIGN
========================================================= */

.dw-trust-design {
  --dw-trust-blue: #2d80b7;
  --dw-trust-navy: #000038;
  --dw-trust-white: #ffffff;
  --dw-trust-light: #f4f9ff;
  --dw-trust-text: rgba(0, 0, 56, 0.7);
  --dw-trust-border: rgba(45, 128, 183, 0.16);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(90px, 8vw, 135px) 0;

  background:
    radial-gradient(
      circle at 78% 46%,
      rgba(45, 128, 183, 0.09),
      transparent 33%
    ),
    radial-gradient(
      circle at 8% 20%,
      rgba(45, 128, 183, 0.05),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      var(--dw-trust-white) 0%,
      #fbfdff 58%,
      #f8fbff 100%
    );
}

.dw-trust-design .dw-diy-pro-container {
  position: relative;
  z-index: 5;
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-trust-design__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-trust-design__orbit {
  position: absolute;
  display: block;

  border: 1px solid rgba(45, 128, 183, 0.19);
  border-radius: 50%;

  animation: dwTrustOrbitRotate 55s linear infinite;
}

.dw-trust-design__orbit::after {
  content: "";
  position: absolute;

  width: 12px;
  height: 12px;

  border-radius: 50%;
  background: var(--dw-trust-blue);

  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.06),
    0 0 20px rgba(45, 128, 183, 0.3);
}

.dw-trust-design__orbit--one {
  top: -390px;
  right: -220px;

  width: 1050px;
  height: 850px;

  transform: rotate(-16deg);
}

.dw-trust-design__orbit--one::after {
  bottom: 16%;
  left: 9%;
}

.dw-trust-design__orbit--two {
  right: 7%;
  bottom: -650px;

  width: 1000px;
  height: 850px;

  border-style: dashed;

  animation-direction: reverse;
  animation-duration: 68s;
}

.dw-trust-design__orbit--two::after {
  top: 7%;
  right: 23%;
}

.dw-trust-design__dot {
  position: absolute;
  display: block;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-trust-blue);

  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.05),
    0 0 20px rgba(45, 128, 183, 0.32);

  animation: dwTrustDotFloat 4s ease-in-out infinite;
}

.dw-trust-design__dot--one {
  top: 17%;
  right: 22%;
}

.dw-trust-design__dot--two {
  right: 8%;
  bottom: 27%;
  animation-delay: -1s;
}

.dw-trust-design__dot--three {
  bottom: 10%;
  left: 44%;
  animation-delay: -2s;
}

.dw-trust-design__dot--four {
  top: 56%;
  left: 48%;
  animation-delay: -3s;
}

.dw-trust-design__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(75px);

  animation: dwTrustGlowPulse 5s ease-in-out infinite;
}

.dw-trust-design__glow--one {
  top: 10%;
  right: 15%;

  width: 450px;
  height: 450px;

  background: rgba(45, 128, 183, 0.08);
}

.dw-trust-design__glow--two {
  right: 37%;
  bottom: 4%;

  width: 300px;
  height: 300px;

  background: rgba(45, 128, 183, 0.06);

  animation-delay: -2.5s;
}


/* =========================================================
   SECTION GRID
========================================================= */

.dw-trust-design__grid {
  position: relative;
  z-index: 5;

  display: grid;
  grid-template-columns:
    minmax(380px, 0.86fr)
    minmax(560px, 1.14fr);

  gap: clamp(45px, 6vw, 105px);
  align-items: center;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.dw-trust-design__content {
  position: relative;
  z-index: 6;

  max-width: 650px;

  animation: dwTrustContentEnter 0.8s ease both;
}

.dw-trust-design__kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  margin-bottom: 29px;

  color: var(--dw-trust-blue);

  font-family: var(--heading-font-family);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dw-trust-design__kicker-icon {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.28);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.05);

  font-size: 15px;

  box-shadow:
    0 7px 18px rgba(45, 128, 183, 0.08);

  animation: dwTrustIconPulse 3s ease-in-out infinite;
}

.dw-trust-design__kicker-line {
  display: block;

  width: 85px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(45, 128, 183, 0.5),
      rgba(45, 128, 183, 0)
    );
}

.dw-trust-design__kicker-line::after {
  content: "";
  display: block;

  width: 7px;
  height: 7px;

  margin-left: auto;

  border-radius: 50%;

  background: var(--dw-trust-blue);

  box-shadow:
    0 0 12px rgba(45, 128, 183, 0.38);

  transform: translateY(-3px);
}

.dw-trust-design__content h2 {
  max-width: 650px;
  margin: 0;

  color: var(--dw-trust-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.dw-trust-design__content h2 > span,
.dw-trust-design__content h2 strong {
  display: block;
}

.dw-trust-design__content h2 strong {
  color: var(--dw-trust-blue);
  font-weight: inherit;
}

.dw-trust-design__title-line {
  display: block;

  width: 74px;
  height: 4px;

  margin: 25px 0 24px;

  border-radius: 999px;

  background: var(--dw-trust-blue);

  box-shadow:
    27px 0 0 rgba(45, 128, 183, 0.25);

  transform-origin: left;
  animation: dwTrustLineEnter 0.9s 0.25s ease both;
}

.dw-trust-design__description {
  max-width: 620px;
  margin: 0;

  color: var(--dw-trust-text);

  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.83;
}


/* =========================================================
   EMPHASIS MESSAGE
========================================================= */

.dw-trust-design__emphasis {
  position: relative;

  display: flex;
  align-items: center;
  gap: 18px;

  margin-top: 35px;
  padding: 19px 22px;

  border: 1px solid rgba(45, 128, 183, 0.13);
  border-radius: 17px;

  background:
    linear-gradient(
      120deg,
      rgba(255, 255, 255, 0.97),
      rgba(244, 249, 255, 0.95)
    );

  box-shadow:
    0 14px 34px rgba(0, 0, 56, 0.07),
    inset 0 1px 0 var(--dw-trust-white);

  overflow: hidden;

  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-trust-design__emphasis::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;

  width: 4px;

  background: var(--dw-trust-blue);
}

.dw-trust-design__emphasis::after {
  content: "";
  position: absolute;
  top: -60px;
  right: -60px;

  width: 130px;
  height: 130px;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.08);

  transition: transform 0.4s ease;
}

.dw-trust-design__emphasis:hover {
  border-color: rgba(45, 128, 183, 0.28);

  box-shadow:
    0 20px 42px rgba(0, 0, 56, 0.1),
    0 0 25px rgba(45, 128, 183, 0.08);

  transform: translateY(-4px);
}

.dw-trust-design__emphasis:hover::after {
  transform: scale(1.15);
}

.dw-trust-design__emphasis-icon {
  position: relative;
  z-index: 2;

  display: grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  place-items: center;

  border-radius: 50%;

  background:
    linear-gradient(
      145deg,
      var(--dw-trust-blue),
      var(--dw-trust-navy)
    );

  color: var(--dw-trust-white);
  font-size: 21px;

  box-shadow:
    0 11px 25px rgba(45, 128, 183, 0.24);

  transition: transform 0.3s ease;
}

.dw-trust-design__emphasis:hover
  .dw-trust-design__emphasis-icon {
  transform: rotate(-7deg) scale(1.06);
}

.dw-trust-design__emphasis p {
  position: relative;
  z-index: 2;

  margin: 0;

  color: var(--dw-trust-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(18px, 1.6vw, 25px);
  line-height: 1.35;
}

.dw-trust-design__emphasis strong {
  color: var(--dw-trust-blue);
  font-weight: inherit;
}


/* =========================================================
   RIGHT-SIDE IMAGE
========================================================= */

.dw-trust-design__visual {
  position: relative;
  z-index: 5;

  width: 100%;
  min-width: 0;
  margin: 0;

  animation: dwTrustVisualEnter 0.95s 0.08s ease both;
}

.dw-trust-design__visual img {
  position: relative;
  z-index: 3;

  display: block;
  width: 113%;
  max-width: none;
  height: auto;

  margin-left: -4%;

  object-fit: contain;

  filter:
    drop-shadow(
      0 30px 35px rgba(0, 0, 56, 0.13)
    );

  transform-origin: center;
  animation: dwTrustVisualFloat 6s 1s ease-in-out infinite;
}

.dw-trust-design__visual-glow {
  position: absolute;
  top: 18%;
  left: 50%;
  z-index: 1;

  width: 78%;
  height: 65%;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(45, 128, 183, 0.15),
      transparent 70%
    );

  filter: blur(24px);

  transform: translateX(-50%);
  animation: dwTrustGlowPulse 5s ease-in-out infinite;
}

.dw-trust-design__visual-shadow {
  position: absolute;
  right: 5%;
  bottom: 3%;
  left: 5%;
  z-index: 1;

  height: 65px;

  border-radius: 50%;

  background: rgba(0, 0, 56, 0.13);
  filter: blur(28px);

  transform: scaleX(0.85);

  animation: dwTrustShadowPulse 6s ease-in-out infinite;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwTrustContentEnter {
  from {
    opacity: 0;
    transform: translateX(-32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes dwTrustVisualEnter {
  from {
    opacity: 0;
    transform: translateX(40px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes dwTrustVisualFloat {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-10px) rotate(0.4deg);
  }
}

@keyframes dwTrustShadowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scaleX(0.82);
  }

  50% {
    opacity: 0.75;
    transform: scaleX(0.95);
  }
}

@keyframes dwTrustOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwTrustDotFloat {
  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-14px);
  }
}

@keyframes dwTrustGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.94);
  }

  50% {
    opacity: 0.9;
    transform: scale(1.08);
  }
}

@keyframes dwTrustIconPulse {
  0%,
  100% {
    box-shadow:
      0 7px 18px rgba(45, 128, 183, 0.08);
  }

  50% {
    box-shadow:
      0 8px 24px rgba(45, 128, 183, 0.18),
      0 0 17px rgba(45, 128, 183, 0.1);
  }
}

@keyframes dwTrustLineEnter {
  from {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}


/* =========================================================
   LARGE LAPTOP
========================================================= */

@media (max-width: 1399px) {
  .dw-trust-design__grid {
    grid-template-columns:
      minmax(360px, 0.88fr)
      minmax(500px, 1.12fr);

    gap: 48px;
  }


  .dw-trust-design__visual img {
    width: 108%;
  }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-trust-design {
    padding: 95px 0;
  }

  .dw-trust-design__grid {
    grid-template-columns: 1fr;
  }

  .dw-trust-design__content {
    max-width: 790px;
  }

  .dw-trust-design__description {
    max-width: 760px;
  }

  .dw-trust-design__visual {
    max-width: 900px;
    margin: 5px auto 0;
  }

  .dw-trust-design__visual img {
    width: 100%;
    margin-left: 0;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-trust-design {
    padding: 82px 0 92px;
  }

  .dw-trust-design__content {
    text-align: center;
  }

  .dw-trust-design__kicker {
    justify-content: center;
  }

  .dw-trust-design__content h2,
  .dw-trust-design__description {
    margin-inline: auto;
  }

  .dw-trust-design__title-line {
    margin-inline: auto;
  }

  .dw-trust-design__emphasis {
    max-width: 680px;
    margin-inline: auto;
    text-align: left;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-trust-design {
    padding: 70px 0 82px;
  }


  .dw-trust-design__description {
    font-size: 16px;
    line-height: 1.72;
  }

  .dw-trust-design__kicker {
    flex-wrap: wrap;

    font-size: 10px;
  }

  .dw-trust-design__kicker-line {
    width: 50px;
  }

  .dw-trust-design__emphasis {
    align-items: flex-start;

    padding: 17px 17px 17px 21px;
  }

  .dw-trust-design__emphasis-icon {
    flex-basis: 48px;
    width: 48px;
    height: 48px;

    font-size: 18px;
  }

  .dw-trust-design__emphasis p {
    font-size: 18px;
  }

  .dw-trust-design__visual img {
    width: 112%;
    margin-left: -6%;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

  .dw-trust-design__emphasis {
    gap: 13px;
  }

  .dw-trust-design__emphasis-icon {
    flex-basis: 43px;
    width: 43px;
    height: 43px;
  }

  .dw-trust-design__emphasis p {
    font-size: 16px;
  }

  .dw-trust-design__visual img {
    width: 120%;
    margin-left: -10%;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-trust-design *,
  .dw-trust-design *::before,
  .dw-trust-design *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   EDITORIAL STATEMENT
========================================================= */

.dw-editorial-statement {
  --dw-editorial-blue: var(--theme-color1, #2d80b7);
  --dw-editorial-navy: var(--theme-color-dark, #000038);
  --dw-editorial-white: var(--theme-color-white, #ffffff);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(1px, 2vw, 29px) 0;

  background:
    radial-gradient(
      circle at 75% 48%,
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 20%,
        transparent
      ),
      transparent 32%
    ),
    radial-gradient(
      circle at 12% 20%,
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 9%,
        transparent
      ),
      transparent 24%
    ),
    linear-gradient(
      135deg,
      color-mix(
        in srgb,
        var(--dw-editorial-navy) 88%,
        #000000
      ),
      var(--dw-editorial-navy)
    );
}

.dw-editorial-statement .dw-diy-pro-container {
  position: relative;
  z-index: 5;
}


/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.dw-editorial-statement__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-editorial-statement__background::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.35) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 55%,
        transparent
      ) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    42px 57px;

  background-size:
    105px 105px,
    145px 145px;

  opacity: 0.16;

  animation: dwEditorialStarsMove 38s linear infinite;
}

.dw-editorial-statement__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(80px);

  animation: dwEditorialGlowPulse 5s ease-in-out infinite;
}

.dw-editorial-statement__glow--one {
  top: 15%;
  right: 14%;

  width: 420px;
  height: 420px;

  background:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 18%,
      transparent
    );
}

.dw-editorial-statement__glow--two {
  bottom: -10%;
  left: 25%;

  width: 320px;
  height: 320px;

  background:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 8%,
      transparent
    );

  animation-delay: -2.5s;
}

.dw-editorial-statement__orbit {
  position: absolute;
  display: block;

  border: 1px solid
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 38%,
      transparent
    );

  border-radius: 50%;

  animation: dwEditorialOrbitRotate 58s linear infinite;
}

.dw-editorial-statement__orbit--one {
  top: -520px;
  left: -500px;

  width: 760px;
  height: 760px;
}

.dw-editorial-statement__orbit--two {
  right: -390px;
  bottom: -500px;

  width: 720px;
  height: 720px;

  border-style: dashed;

  animation-duration: 70s;
  animation-direction: reverse;
}

.dw-editorial-statement__star {
  position: absolute;
  display: block;

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background: var(--dw-editorial-white);

  box-shadow:
    0 0 9px var(--dw-editorial-white),
    0 0 25px var(--dw-editorial-blue);

  animation: dwEditorialStarPulse 3s ease-in-out infinite;
}

.dw-editorial-statement__star::before,
.dw-editorial-statement__star::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  border-radius: 20px;
  background: rgba(255, 255, 255, 0.55);

  transform: translate(-50%, -50%);
}

.dw-editorial-statement__star::before {
  width: 24px;
  height: 1px;
}

.dw-editorial-statement__star::after {
  width: 1px;
  height: 24px;
}

.dw-editorial-statement__star--one {
  top: 17%;
  left: 8%;
}

.dw-editorial-statement__star--two {
  top: 12%;
  right: 18%;

  animation-delay: -0.8s;
}

.dw-editorial-statement__star--three {
  right: 7%;
  bottom: 20%;

  animation-delay: -1.6s;
}

.dw-editorial-statement__star--four {
  bottom: 13%;
  left: 38%;

  animation-delay: -2.4s;
}

.dw-editorial-statement__line {
  position: absolute;
  display: block;

  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 45%,
        transparent
      ),
      transparent
    );
}

.dw-editorial-statement__line--one {
  top: 23%;
  right: -5%;

  width: 42%;

  transform: rotate(-15deg);
}

.dw-editorial-statement__line--two {
  right: 8%;
  bottom: 16%;

  width: 32%;

  transform: rotate(11deg);
}


/* =========================================================
   LAYOUT
========================================================= */

.dw-editorial-statement__grid {
  position: relative;
  z-index: 5;

  display: grid;
  grid-template-columns:
    minmax(420px, 1fr)
    minmax(430px, 0.86fr);

  gap: clamp(55px, 7vw, 120px);
  align-items: center;
}


/* =========================================================
   CONTENT
========================================================= */

.dw-editorial-statement__content {
  position: relative;
  z-index: 6;

  max-width: 780px;

  animation: dwEditorialContentEnter 0.8s ease both;
}

.dw-editorial-statement__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 25px;

  color:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 78%,
      var(--dw-editorial-white)
    );

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.dw-editorial-statement__kicker-dot {
  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--dw-editorial-blue);

  box-shadow:
    0 0 13px var(--dw-editorial-blue);

  animation: dwEditorialDotPulse 2s ease-in-out infinite;
}

.dw-editorial-statement__content h2 {
  max-width: 780px;
  margin: 0;

  color: var(--dw-editorial-white);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.08;
  letter-spacing: -0.045em;

  text-shadow:
    0 15px 38px rgba(0, 0, 0, 0.22);
}

.dw-editorial-statement__content h2 > span {
  display: block;
}

.dw-editorial-statement__content h2 strong {
  color:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 80%,
      var(--dw-editorial-white)
    );

  font-weight: inherit;

  text-shadow:
    0 0 28px
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 25%,
        transparent
      );
}


/* =========================================================
   BLOCKQUOTE
========================================================= */

.dw-editorial-statement__quote {
  position: relative;

  display: flex;
  gap: 20px;

  max-width: 760px;

  margin: 36px 0 0;
  padding: 0;

  border: 0;
}

.dw-editorial-statement__quote-line {
  display: block;
  flex: 0 0 4px;
  width: 4px;

  border-radius: 999px;

  background:
    linear-gradient(
      180deg,
      var(--dw-editorial-blue),
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 35%,
        transparent
      )
    );

  box-shadow:
    0 0 18px
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 28%,
        transparent
      );

  transform-origin: top;

  animation: dwEditorialQuoteLineEnter 0.8s 0.25s ease both;
}

.dw-editorial-statement__quote > div {
  padding: 4px 0;
}

.dw-editorial-statement__quote strong {
  display: block;

  margin-bottom: 7px;

  color:
    color-mix(
      in srgb,
      var(--dw-editorial-white) 96%,
      transparent
    );

  font-family: var(--heading-font-family);
  font-size: clamp(19px, 1.7vw, 27px);
  line-height: 1.35;
}

.dw-editorial-statement__quote p {
  max-width: 720px;
  margin: 0;

  color: rgba(255, 255, 255, 0.76);

  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.75;
}


/* =========================================================
   SMALL DETAIL ITEMS
========================================================= */

.dw-editorial-statement__details {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;

  margin: 34px 0 0;
  padding: 0;

  list-style: none;
}

.dw-editorial-statement__details li {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  padding: 10px 14px;

  border: 1px solid
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 24%,
      transparent
    );

  border-radius: 999px;

  background:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 8%,
      transparent
    );

  color: rgba(255, 255, 255, 0.73);

  font-size: 12px;
  font-weight: 600;

  backdrop-filter: blur(8px);

  transition:
    color 0.3s ease,
    border-color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-editorial-statement__details li:hover {
  border-color: var(--dw-editorial-blue);

  background:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 22%,
      transparent
    );

  color: var(--dw-editorial-white);

  transform: translateY(-4px);
}

.dw-editorial-statement__details i {
  color:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 78%,
      var(--dw-editorial-white)
    );

  font-size: 15px;
}


/* =========================================================
   RIGHT IMAGE
========================================================= */

.dw-editorial-statement__visual {
  position: relative;
  z-index: 5;

  display: grid;
  min-width: 0;
  min-height: 530px;
  place-items: center;

  margin: 0;

  animation: dwEditorialVisualEnter 0.95s 0.1s ease both;
}

.dw-editorial-statement__visual::after {
  content: "";
  position: absolute;
  right: 10%;
  bottom: 3%;
  left: 10%;
  z-index: 0;

  height: 65px;

  border-radius: 50%;

  background:
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 30%,
      transparent
    );

  filter: blur(30px);

  animation: dwEditorialShadowPulse 5s ease-in-out infinite;
}

.dw-editorial-statement__visual img {
  position: relative;
  z-index: 4;

  display: block;
  width: min(100%, 650px);
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(
      0 30px 38px rgba(0, 0, 0, 0.28)
    );

  animation: dwEditorialImageFloat 5s 1s ease-in-out infinite;
}

.dw-editorial-statement__visual-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;

  width: 410px;
  height: 410px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      color-mix(
        in srgb,
        var(--dw-editorial-blue) 28%,
        transparent
      ),
      transparent 67%
    );

  filter: blur(15px);

  transform: translate(-50%, -50%);

  animation: dwEditorialGlowPulse 4s ease-in-out infinite;
}

.dw-editorial-statement__visual-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;

  border: 1px solid
    color-mix(
      in srgb,
      var(--dw-editorial-blue) 38%,
      transparent
    );

  border-radius: 50%;

  transform: translate(-50%, -50%);

  animation: dwEditorialRingPulse 4s ease-in-out infinite;
}

.dw-editorial-statement__visual-ring--one {
  width: 390px;
  height: 390px;
}

.dw-editorial-statement__visual-ring--two {
  width: 520px;
  height: 520px;

  border-style: dashed;

  animation-delay: -2s;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwEditorialContentEnter {
  from {
    opacity: 0;
    transform: translateX(-35px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes dwEditorialVisualEnter {
  from {
    opacity: 0;
    transform: translateX(45px) scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes dwEditorialImageFloat {
  0%,
  100% {
    transform: translateY(0) rotate(0);
  }

  50% {
    transform: translateY(-14px) rotate(1deg);
  }
}

@keyframes dwEditorialQuoteLineEnter {
  from {
    transform: scaleY(0);
  }

  to {
    transform: scaleY(1);
  }
}

@keyframes dwEditorialStarsMove {
  from {
    background-position:
      0 0,
      42px 57px;
  }

  to {
    background-position:
      105px 105px,
      187px 202px;
  }
}

@keyframes dwEditorialOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwEditorialGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.94);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwEditorialStarPulse {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@keyframes dwEditorialDotPulse {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(0.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes dwEditorialRingPulse {
  0%,
  100% {
    opacity: 0.22;
    transform: translate(-50%, -50%) scale(0.94);
  }

  50% {
    opacity: 0.65;
    transform: translate(-50%, -50%) scale(1.05);
  }
}

@keyframes dwEditorialShadowPulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scaleX(0.82);
  }

  50% {
    opacity: 0.7;
    transform: scaleX(1);
  }
}


/* =========================================================
   RESPONSIVE — SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-editorial-statement__grid {
    grid-template-columns:
      minmax(380px, 1fr)
      minmax(350px, 0.8fr);

    gap: 55px;
  }

  .dw-editorial-statement__visual {
    min-height: 470px;
  }

  .dw-editorial-statement__visual-ring--two {
    width: 440px;
    height: 440px;
  }
}


/* =========================================================
   RESPONSIVE — TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-editorial-statement {
    padding: 85px 0 95px;
  }

  .dw-editorial-statement__grid {
    grid-template-columns: 1fr;
  }

  .dw-editorial-statement__content {
    max-width: 820px;
  }

  .dw-editorial-statement__visual {
    min-height: 430px;
  }

  .dw-editorial-statement__visual img {
    width: min(82%, 580px);
  }
}


/* =========================================================
   RESPONSIVE — MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-editorial-statement {
    padding: 70px 0 82px;
  }


  .dw-editorial-statement__content h2 > span {
    display: inline;
  }

  .dw-editorial-statement__quote {
    gap: 15px;
  }

  .dw-editorial-statement__quote p {
    font-size: 16px;
  }

  .dw-editorial-statement__details {
    gap: 9px;
  }

  .dw-editorial-statement__details li {
    padding: 9px 12px;
    font-size: 11px;
  }

  .dw-editorial-statement__visual {
    min-height: 350px;
  }

  .dw-editorial-statement__visual img {
    width: min(92%, 500px);
  }

  .dw-editorial-statement__visual-ring--one {
    width: 280px;
    height: 280px;
  }

  .dw-editorial-statement__visual-ring--two {
    width: 350px;
    height: 350px;
  }
}


/* =========================================================
   RESPONSIVE — SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-editorial-statement__kicker {
    font-size: 9px;
  }


  .dw-editorial-statement__quote strong {
    font-size: 19px;
  }

  .dw-editorial-statement__details {
    display: grid;
    grid-template-columns: 1fr;
  }

  .dw-editorial-statement__details li {
    justify-content: center;
  }

  .dw-editorial-statement__visual {
    min-height: 300px;
  }

  .dw-editorial-statement__visual img {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .dw-editorial-statement__visual img {
    width: min(82vw, 360px);
    max-width: 100%;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-editorial-statement *,
  .dw-editorial-statement *::before,
  .dw-editorial-statement *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   WHAT DELOSWEB DOES
   FULL-WIDTH PROCESS SECTION
========================================================= */

.dw-delos-process {
  --dw-process-blue: #2d80b7;
  --dw-process-navy: #000038;
  --dw-process-white: #ffffff;
  --dw-process-light: #f4f9ff;
  --dw-process-light-alt: #f8fbff;
  --dw-process-text: rgba(0, 0, 56, 0.7);
  --dw-process-text-strong: rgba(0, 0, 56, 0.86);
  --dw-process-border: rgba(45, 128, 183, 0.18);
  --dw-process-shadow: rgba(0, 0, 56, 0.08);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  padding: clamp(90px, 8vw, 135px) 0;

  background:
    radial-gradient(
      circle at 4% 50%,
      rgba(45, 128, 183, 0.11),
      transparent 24%
    ),
    radial-gradient(
      circle at 96% 18%,
      rgba(45, 128, 183, 0.08),
      transparent 27%
    ),
    linear-gradient(
      180deg,
      var(--dw-process-white) 0%,
      var(--dw-process-light-alt) 58%,
      var(--dw-process-light) 100%
    );
}

/*
  This section intentionally uses a wider container than the
  default page container so the four process cards can breathe.
*/
.dw-delos-process .dw-diy-pro-container {
  position: relative;
  z-index: 6;

  width: min(calc(100% - 64px), 1680px);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.dw-delos-process__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-delos-process__background::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.17) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(0, 0, 56, 0.1) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    42px 54px;

  background-size:
    120px 120px,
    176px 176px;

  opacity: 0.22;

  animation: dwDelosProcessBackgroundMove 38s linear infinite;
}

.dw-delos-process__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(80px);

  animation: dwDelosProcessGlow 5s ease-in-out infinite;
}

.dw-delos-process__glow--one {
  top: 20%;
  left: -5%;

  width: 380px;
  height: 380px;

  background: rgba(45, 128, 183, 0.1);
}

.dw-delos-process__glow--two {
  right: 0;
  bottom: 0;

  width: 470px;
  height: 470px;

  background: rgba(45, 128, 183, 0.08);

  animation-delay: -2.5s;
}

.dw-delos-process__orbit {
  position: absolute;
  display: block;

  border: 1px dashed rgba(45, 128, 183, 0.2);
  border-radius: 50%;

  animation: dwDelosProcessOrbit 60s linear infinite;
}

.dw-delos-process__orbit::after {
  content: "";
  position: absolute;

  width: 11px;
  height: 11px;

  border-radius: 50%;

  background: var(--dw-process-blue);

  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.06),
    0 0 18px rgba(45, 128, 183, 0.32);
}

.dw-delos-process__orbit--one {
  top: -470px;
  left: -470px;

  width: 830px;
  height: 830px;
}

.dw-delos-process__orbit--one::after {
  right: 10%;
  bottom: 18%;
}

.dw-delos-process__orbit--two {
  right: -480px;
  bottom: -560px;

  width: 930px;
  height: 930px;

  animation-direction: reverse;
  animation-duration: 74s;
}

.dw-delos-process__orbit--two::after {
  top: 12%;
  left: 24%;
}

.dw-delos-process__dot {
  position: absolute;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-process-blue);

  box-shadow:
    0 0 0 6px rgba(45, 128, 183, 0.05),
    0 0 17px rgba(45, 128, 183, 0.32);

  animation: dwDelosProcessDot 4s ease-in-out infinite;
}

.dw-delos-process__dot--one {
  top: 14%;
  left: 26%;
}

.dw-delos-process__dot--two {
  top: 22%;
  right: 17%;

  animation-delay: -1s;
}

.dw-delos-process__dot--three {
  bottom: 14%;
  left: 46%;

  animation-delay: -2s;
}

.dw-delos-process__dot--four {
  right: 7%;
  bottom: 25%;

  animation-delay: -3s;
}

/* =========================================================
   DECORATIVE ROCKET
========================================================= */

.dw-delos-process__rocket {
  position: absolute;
  top: clamp(165px, 14vw, 230px);
  left: clamp(-100px, -3vw, -45px);
  z-index: 3;

  width: clamp(165px, 14vw, 235px);
  margin: 0;

  opacity: 0.96;
  pointer-events: none;

  animation: dwDelosProcessRocket 5s ease-in-out infinite;
}

.dw-delos-process__rocket img {
  max-width: 478px;
  top: -84px;
  left: 269px;
  position: relative;
  z-index: 3;

  display: block;
  width: 130%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 26px 32px rgba(0, 0, 56, 0.16));
}

.dw-delos-process__rocket-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;

  width: 130%;
  height: 130%;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.15),
      transparent 68%
    );

  filter: blur(18px);

  transform: translate(-50%, -50%);
}

.dw-delos-process__rocket-trail {
  position: absolute;
  top: 69%;
  left: -12%;
  z-index: 1;

  width: 185px;
  height: 115px;

  border-left: 4px solid rgba(45, 128, 183, 0.18);
  border-radius: 50%;

  transform: rotate(28deg);
}

.dw-delos-process__rocket-trail::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 17px;

  width: 145px;
  height: 85px;

  border-left: 2px solid rgba(45, 128, 183, 0.12);
  border-radius: 50%;
}

/* =========================================================
   SECTION HEADING
========================================================= */

.dw-delos-process__heading {
  position: relative;
  z-index: 7;

  max-width: 930px;
  margin: 0 auto clamp(48px, 5vw, 72px);

  text-align: center;

  animation: dwDelosProcessHeadingEnter 0.8s ease both;
}

.dw-delos-process__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;

  margin-bottom: 22px;
  padding: 10px 18px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.055);
  color: var(--dw-process-blue);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dw-delos-process__eyebrow-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.1);

  font-size: 12px;
}

.dw-delos-process__heading h2 {
  margin: 0;

  color: var(--dw-process-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

.dw-delos-process__heading h2 span {
  color: var(--dw-process-blue);
}

.dw-delos-process__heading p {
  max-width: 790px;
  margin: 20px auto 0;

  color: var(--dw-process-text);

  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.75;
}

/* =========================================================
   FULL-WIDTH PROCESS FLOW
========================================================= */

.dw-delos-process__flow {
  position: relative;
  z-index: 7;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(14px, 1.35vw, 24px);

  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: clamp(0px, 1vw, 16px);
}

/* =========================================================
   HORIZONTAL CONNECTOR
========================================================= */

.dw-delos-process__connector {
  position: absolute;
  top: 82px;
  right: 7%;
  left: 7%;
  z-index: 0;

  height: 3px;

  pointer-events: none;
}

.dw-delos-process__connector-line {
  position: absolute;
  inset: 0;

  display: block;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      rgba(45, 128, 183, 0),
      rgba(45, 128, 183, 0.42) 8%,
      rgba(45, 128, 183, 0.42) 92%,
      rgba(45, 128, 183, 0)
    );

  box-shadow:
    0 0 16px rgba(45, 128, 183, 0.1);
}

.dw-delos-process__connector-line::before {
  content: "";
  position: absolute;
  inset: 0;

  border-radius: inherit;

  background:
    repeating-linear-gradient(
      90deg,
      transparent 0 10px,
      rgba(255, 255, 255, 0.96) 10px 18px,
      transparent 18px 29px
    );

  animation: dwDelosProcessFlowLine 2.5s linear infinite;
}

.dw-delos-process__connector-particle {
  position: absolute;
  top: 50%;

  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--dw-process-blue);

  box-shadow:
    0 0 13px rgba(45, 128, 183, 0.75);

  transform: translateY(-50%);

  animation: dwDelosProcessParticle 4s linear infinite;
}

.dw-delos-process__connector-particle--two {
  animation-delay: -1.33s;
}

.dw-delos-process__connector-particle--three {
  animation-delay: -2.66s;
}

/* =========================================================
   PROCESS CARDS
========================================================= */

.dw-delos-process__step {
  position: relative;
  z-index: 2;

  display: flex;
  min-width: 0;
  min-height: 390px;
  flex-direction: column;
  overflow: visible;

  padding: clamp(23px, 1.8vw, 31px);

  border: 1px solid var(--dw-process-border);
  border-radius: 24px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(45, 128, 183, 0.08),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(246, 251, 255, 0.98)
    );

  box-shadow:
    0 20px 46px var(--dw-process-shadow),
    inset 0 1px 0 var(--dw-process-white);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwDelosProcessStepEnter 0.75s ease both;
}

.dw-delos-process__step:nth-of-type(2) {
  animation-delay: 0.08s;
}

.dw-delos-process__step:nth-of-type(3) {
  animation-delay: 0.16s;
}

.dw-delos-process__step:nth-of-type(4) {
  animation-delay: 0.24s;
}

.dw-delos-process__step::before {
  content: "";
  position: absolute;
  inset: 0;

  border-radius: inherit;

  background:
    linear-gradient(
      115deg,
      transparent 25%,
      rgba(255, 255, 255, 0.74) 50%,
      transparent 75%
    );

  opacity: 0;
  pointer-events: none;

  transform: translateX(-125%) skewX(-18deg);

  transition:
    opacity 0.3s ease,
    transform 0.7s ease;
}

.dw-delos-process__step:hover {
  z-index: 5;

  border-color: rgba(45, 128, 183, 0.5);

  box-shadow:
    0 32px 65px rgba(0, 0, 56, 0.13),
    0 0 28px rgba(45, 128, 183, 0.11),
    inset 0 1px 0 var(--dw-process-white);

  transform: translateY(-10px);
}

.dw-delos-process__step:hover::before {
  opacity: 0.65;

  transform: translateX(125%) skewX(-18deg);
}

.dw-delos-process__step-glow {
  position: absolute;
  top: -90px;
  right: -90px;

  width: 200px;
  height: 200px;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.08);

  pointer-events: none;

  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.dw-delos-process__step:hover
  .dw-delos-process__step-glow {
  opacity: 1;
  transform: scale(1.2);
}

/* =========================================================
   CARD HEADER
========================================================= */

.dw-delos-process__step-header {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: clamp(27px, 2vw, 34px);
}

.dw-delos-process__number {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: var(--dw-process-blue);

  font-family: var(--heading-font-family);
  font-size: 14px;
  letter-spacing: 0.08em;
}

.dw-delos-process__number::after {
  content: "";

  width: 34px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(45, 128, 183, 0.5),
      transparent
    );
}

.dw-delos-process__icon {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.14);
  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      var(--dw-process-white),
      #eaf5ff
    );

  color: var(--dw-process-blue);

  font-size: 24px;

  box-shadow:
    0 11px 24px rgba(45, 128, 183, 0.1),
    inset 0 1px 0 var(--dw-process-white);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.dw-delos-process__step:hover
  .dw-delos-process__icon {
  background:
    linear-gradient(
      145deg,
      var(--dw-process-blue),
      var(--dw-process-navy)
    );

  color: var(--dw-process-white);

  transform: rotate(-6deg) scale(1.06);
}

/* =========================================================
   CARD CONTENT
========================================================= */

.dw-delos-process__step-content {
  position: relative;
  z-index: 2;

  display: flex;
  flex: 1;
  flex-direction: column;
}

.dw-delos-process__label {
  display: block;

  margin-bottom: 9px;

  color: var(--dw-process-blue);

  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dw-delos-process__step h3 {
  min-height: 2.35em;
  margin: 0;

  color: var(--dw-process-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(21px, 1.55vw, 27px);
  line-height: 1.17;
  letter-spacing: -0.025em;
}

.dw-delos-process__step p {
  margin: 17px 0 0;

  color: var(--dw-process-text);

  font-size: clamp(13px, 0.9vw, 15px);
  line-height: 1.72;
}

/* =========================================================
   ARROWS BETWEEN CARDS
========================================================= */

.dw-delos-process__arrow {
  position: absolute;
  top: 50%;
  right: calc(clamp(14px, 1.35vw, 24px) / -2 - 18px);
  z-index: 10;

  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.22);
  border-radius: 50%;

  background: var(--dw-process-white);
  color: var(--dw-process-blue);

  font-size: 13px;

  box-shadow:
    0 9px 22px rgba(0, 0, 56, 0.12),
    0 0 15px rgba(45, 128, 183, 0.08);

  transform: translateY(-50%);

  animation: dwDelosProcessArrowPulse 2.4s ease-in-out infinite;
}

/* =========================================================
   FINAL RESULT CARD
========================================================= */

.dw-delos-process__step--result {
  border-color: rgba(45, 128, 183, 0.62);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(81, 186, 255, 0.24),
      transparent 38%
    ),
    linear-gradient(
      145deg,
      var(--dw-process-blue),
      var(--dw-process-navy)
    );

  box-shadow:
    0 28px 58px rgba(0, 0, 56, 0.21),
    0 0 28px rgba(45, 128, 183, 0.17),
    inset 0 1px 0 rgba(255, 255, 255, 0.21);
}

.dw-delos-process__step--result::before {
  background:
    linear-gradient(
      115deg,
      transparent 25%,
      rgba(255, 255, 255, 0.15) 50%,
      transparent 75%
    );
}

.dw-delos-process__step--result
  .dw-delos-process__number,
.dw-delos-process__step--result
  .dw-delos-process__label,
.dw-delos-process__step--result h3 {
  color: var(--dw-process-white);
}

.dw-delos-process__step--result
  .dw-delos-process__number::after {
  background:
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 0.55),
      transparent
    );
}

.dw-delos-process__step--result p {
  color: rgba(255, 255, 255, 0.79);
}

.dw-delos-process__step--result
  .dw-delos-process__icon {
  border-color: rgba(255, 255, 255, 0.2);

  background: rgba(255, 255, 255, 0.12);
  color: var(--dw-process-white);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.dw-delos-process__step--result:hover
  .dw-delos-process__icon {
  background: var(--dw-process-white);
  color: var(--dw-process-blue);
}

.dw-delos-process__result-badge {
  position: absolute;
  top: 18px;
  right: 158px;
  z-index: 4;

  padding: 7px 11px;

  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.1);
  color: var(--dw-process-white);

  font-size: 8px;
  letter-spacing: 0.11em;
  text-transform: uppercase;

  backdrop-filter: blur(7px);
}

.dw-delos-process__complete {
  position: absolute;
  right: 22px;
  bottom: 21px;

  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;

  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.12);
  color: var(--dw-process-white);

  font-size: 12px;
}

/* =========================================================
   BOTTOM SUMMARY
========================================================= */

.dw-delos-process__summary {
  position: relative;
  z-index: 7;

  display: flex;
  max-width: 1040px;
  align-items: center;
  justify-content: center;
  gap: 19px;

  margin: clamp(40px, 5vw, 65px) auto 0;
  padding: 21px 28px;

  border: 1px solid rgba(45, 128, 183, 0.17);
  border-radius: 22px;

  background:
    linear-gradient(
      120deg,
      rgba(255, 255, 255, 0.99),
      rgba(239, 248, 255, 0.96)
    );

  box-shadow:
    0 17px 40px rgba(0, 0, 56, 0.08),
    inset 0 1px 0 var(--dw-process-white);
}

.dw-delos-process__summary::after {
  content: "";
  position: absolute;
  right: 12%;
  bottom: -18px;
  left: 12%;

  height: 32px;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.1);
  filter: blur(17px);

  z-index: -1;
}

.dw-delos-process__summary-icon {
  display: grid;
  flex: 0 0 51px;
  width: 51px;
  height: 51px;
  place-items: center;

  border-radius: 50%;

  background:
    linear-gradient(
      145deg,
      var(--dw-process-blue),
      var(--dw-process-navy)
    );

  color: var(--dw-process-white);

  font-size: 20px;

  box-shadow:
    0 11px 25px rgba(45, 128, 183, 0.24);
}

.dw-delos-process__summary p {
  margin: 0;

  color: var(--dw-process-text);

  font-family: var(--heading-font-family);
  font-size: clamp(16px, 1.3vw, 21px);
  line-height: 1.5;
}

.dw-delos-process__summary strong {
  color: var(--dw-process-navy);
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwDelosProcessHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwDelosProcessStepEnter {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwDelosProcessRocket {
  0%,
  100% {
    transform: translateY(0) rotate(-3deg);
  }

  50% {
    transform: translateY(-16px) rotate(2deg);
  }
}

@keyframes dwDelosProcessOrbit {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwDelosProcessDot {
  0%,
  100% {
    opacity: 0.45;
    transform: translateY(0) scale(0.9);
  }

  50% {
    opacity: 1;
    transform: translateY(-12px) scale(1.2);
  }
}

@keyframes dwDelosProcessGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwDelosProcessFlowLine {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 58px 0;
  }
}

@keyframes dwDelosProcessParticle {
  from {
    left: 0;
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  85% {
    opacity: 1;
  }

  to {
    left: calc(100% - 8px);
    opacity: 0;
  }
}

@keyframes dwDelosProcessArrowPulse {
  0%,
  100% {
    transform: translateY(-50%) translateX(0);
  }

  50% {
    transform: translateY(-50%) translateX(4px);
  }
}

@keyframes dwDelosProcessBackgroundMove {
  from {
    background-position:
      0 0,
      42px 54px;
  }

  to {
    background-position:
      120px 120px,
      218px 230px;
  }
}

/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1600px) {
  .dw-delos-process .dw-diy-pro-container {
    width: min(calc(100% - 96px), 1760px);
  }

  .dw-delos-process__flow {
    gap: 26px;
  }

  .dw-delos-process__step {
    min-height: 405px;
    padding: 31px;
  }
}

/* =========================================================
   1440PX / STANDARD LAPTOP
========================================================= */

@media (max-width: 1499px) {
  .dw-delos-process .dw-diy-pro-container {
    width: min(calc(100% - 48px), 1420px);
  }

  .dw-delos-process__rocket {
    left: -72px;
    width: 190px;
  }

  .dw-delos-process__flow {
    gap: 15px;
    padding-inline: 0;
  }

  .dw-delos-process__step {
    min-height: 390px;
    padding: 23px 20px 26px;
  }

  .dw-delos-process__step h3 {
    font-size: clamp(20px, 1.5vw, 24px);
  }

  .dw-delos-process__step p {
    font-size: 13px;
  }

  .dw-delos-process__icon {
    width: 56px;
    height: 56px;
  }
}

/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-delos-process .dw-diy-pro-container {
    width: min(calc(100% - 40px), 1120px);
  }

  .dw-delos-process__rocket {
    top: 190px;
    left: -70px;

    width: 170px;
    opacity: 0.58;
  }

  .dw-delos-process__flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .dw-delos-process__connector,
  .dw-delos-process__arrow {
    display: none;
  }

  .dw-delos-process__step {
    min-height: 335px;
    padding: 27px;
  }

  .dw-delos-process__step h3 {
    min-height: auto;
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-delos-process {
    padding: 82px 0 95px;
  }

  .dw-delos-process .dw-diy-pro-container {
    width: min(calc(100% - 32px), 900px);
  }

  .dw-delos-process__rocket {
    position: relative;
    top: auto;
    left: auto;

    width: 150px;
    margin: 0 auto 15px;

    opacity: 1;
  }

  .dw-delos-process__rocket-trail {
    display: none;
  }

  .dw-delos-process__heading {
    margin-bottom: 44px;
  }

  .dw-delos-process__summary {
    max-width: 760px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 768px) {
  .dw-delos-process__rocket {
    width: min(82vw, 360px);
  }

  .dw-delos-process__rocket img {
    position: relative;
    top: auto;
    left: auto;

    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }
}

@media (max-width: 767px) {
  .dw-delos-process {
    padding: 70px 0 82px;
  }

  .dw-delos-process .dw-diy-pro-container {
    width: min(calc(100% - 26px), 700px);
  }


  .dw-delos-process__heading h2 span {
    display: block;
  }

  .dw-delos-process__heading p {
    font-size: 16px;
  }

  .dw-delos-process__flow {
    grid-template-columns: 1fr;
    gap: 17px;
  }

  .dw-delos-process__step {
    min-height: auto;
    padding: 25px 22px 27px;
  }

  .dw-delos-process__step h3 {
    min-height: auto;
  }

  .dw-delos-process__summary {
    align-items: flex-start;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-delos-process__eyebrow {
    padding: 9px 14px;
    font-size: 9px;
  }

  .dw-delos-process__step {
    padding: 22px 18px 25px;
    border-radius: 19px;
  }

  .dw-delos-process__step-header {
    margin-bottom: 24px;
  }

  .dw-delos-process__icon {
    width: 52px;
    height: 52px;

    font-size: 20px;
  }

  .dw-delos-process__step h3 {
    font-size: 22px;
  }

  .dw-delos-process__summary {
    flex-direction: column;
    padding: 21px;
  }

  .dw-delos-process__summary p {
    font-size: 16px;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-delos-process *,
  .dw-delos-process *::before,
  .dw-delos-process *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   DECISION GUIDE — DIY VS PROFESSIONAL
========================================================= */

.dw-option-guide {
  --dw-option-blue: var(--theme-color1, #2d80b7);
  --dw-option-navy: var(--theme-color-dark, #000038);
  --dw-option-white: var(--color-white, #ffffff);
  --dw-option-light: #f4f9ff;
  --dw-option-light-alt: #f8fbff;
  --dw-option-text: rgba(0, 0, 56, 0.7);
  --dw-option-text-strong: rgba(0, 0, 56, 0.88);
  --dw-option-border: rgba(45, 128, 183, 0.17);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  padding: clamp(90px, 8vw, 135px) 0;

  background:
    radial-gradient(
      circle at 50% 54%,
      rgba(45, 128, 183, 0.08),
      transparent 24%
    ),
    radial-gradient(
      circle at 4% 20%,
      rgba(45, 128, 183, 0.065),
      transparent 22%
    ),
    radial-gradient(
      circle at 96% 76%,
      rgba(45, 128, 183, 0.07),
      transparent 23%
    ),
    linear-gradient(
      180deg,
      var(--dw-option-white) 0%,
      #fbfdff 58%,
      var(--dw-option-light-alt) 100%
    );
}

.dw-option-guide__container {
  position: relative;
  z-index: 5;

  width: min(calc(100% - 64px), 1680px);
  margin-inline: auto;
}


/* =========================================================
   BACKGROUND DECORATIONS
========================================================= */

.dw-option-guide__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-option-guide__background::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.16) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(0, 0, 56, 0.09) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    44px 57px;

  background-size:
    125px 125px,
    180px 180px;

  opacity: 0.17;

  animation: dwOptionGuideBackgroundMove 40s linear infinite;
}

.dw-option-guide__glow {
  position: absolute;
  display: block;

  border-radius: 50%;
  filter: blur(85px);

  animation: dwOptionGuideGlow 5s ease-in-out infinite;
}

.dw-option-guide__glow--one {
  top: 23%;
  left: -6%;

  width: 390px;
  height: 390px;

  background: rgba(45, 128, 183, 0.09);
}

.dw-option-guide__glow--two {
  right: -3%;
  bottom: 0;

  width: 470px;
  height: 470px;

  background: rgba(45, 128, 183, 0.075);

  animation-delay: -2.5s;
}

.dw-option-guide__orbit {
  position: absolute;
  display: block;

  border: 1px dashed rgba(45, 128, 183, 0.18);
  border-radius: 50%;

  animation: dwOptionGuideOrbit 64s linear infinite;
}

.dw-option-guide__orbit::after {
  content: "";
  position: absolute;

  width: 11px;
  height: 11px;

  border-radius: 50%;

  background: var(--dw-option-blue);

  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.055),
    0 0 18px rgba(45, 128, 183, 0.3);
}

.dw-option-guide__orbit--one {
  top: -510px;
  left: -490px;

  width: 860px;
  height: 860px;
}

.dw-option-guide__orbit--one::after {
  right: 12%;
  bottom: 17%;
}

.dw-option-guide__orbit--two {
  right: -500px;
  bottom: -600px;

  width: 960px;
  height: 960px;

  animation-duration: 76s;
  animation-direction: reverse;
}

.dw-option-guide__orbit--two::after {
  top: 13%;
  left: 24%;
}

.dw-option-guide__dot {
  position: absolute;
  display: block;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-option-blue);

  box-shadow:
    0 0 0 6px rgba(45, 128, 183, 0.05),
    0 0 17px rgba(45, 128, 183, 0.32);

  animation: dwOptionGuideDot 4s ease-in-out infinite;
}

.dw-option-guide__dot--one {
  top: 15%;
  left: 25%;
}

.dw-option-guide__dot--two {
  top: 23%;
  right: 19%;

  animation-delay: -1s;
}

.dw-option-guide__dot--three {
  bottom: 13%;
  left: 42%;

  animation-delay: -2s;
}

.dw-option-guide__dot--four {
  right: 8%;
  bottom: 25%;

  animation-delay: -3s;
}


/* =========================================================
   HEADING
========================================================= */

.dw-option-guide__heading {
  position: relative;
  z-index: 6;

  max-width: 930px;
  margin: 0 auto clamp(48px, 6vw, 78px);

  text-align: center;

  animation: dwOptionGuideHeadingEnter 0.8s ease both;
}

.dw-option-guide__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 22px;
  padding: 10px 18px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.055);
  color: var(--dw-option-blue);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dw-option-guide__eyebrow-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.1);

  font-size: 12px;
}

.dw-option-guide__heading h2 {
  margin: 0;

  color: var(--dw-option-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.06;
  letter-spacing: -0.045em;
}

.dw-option-guide__heading h2 span {
  display: block;
  color: var(--dw-option-blue);
}

.dw-option-guide__heading p {
  max-width: 790px;
  margin: 20px auto 0;

  color: var(--dw-option-text);

  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.75;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.dw-option-guide__layout {
  position: relative;
  z-index: 6;

  display: grid;
  grid-template-columns:
    minmax(410px, 1fr)
    minmax(240px, 0.44fr)
    minmax(410px, 1fr);

  gap: clamp(24px, 3vw, 52px);
  align-items: stretch;

  width: 100%;
}


/* =========================================================
   SVG CONNECTIONS
========================================================= */

.dw-option-guide__connections {
  position: absolute;
  inset: 0;
  z-index: 1;

  width: 100%;
  height: 100%;

  overflow: visible;
  pointer-events: none;
}

.dw-option-guide__path {
  fill: none;
  stroke: url("#dwOptionGuideLine");
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-dasharray: 8 10;

  filter: url("#dwOptionGuideGlow");

  animation: dwOptionGuideLineMove 2.6s linear infinite;
}

.dw-option-guide__path--reverse {
  animation-direction: reverse;
}

.dw-option-guide__connection-nodes circle {
  fill: var(--dw-option-white);
  stroke: var(--dw-option-blue);
  stroke-width: 3;

  transform-box: fill-box;
  transform-origin: center;

  animation: dwOptionGuideNodePulse 2.2s ease-in-out infinite;
}


/* =========================================================
   SHARED CARD STYLES
========================================================= */

.dw-option-guide__card {
  position: relative;
  z-index: 3;

  display: flex;
  min-width: 0;
  min-height: 690px;
  flex-direction: column;
  overflow: hidden;

  padding: clamp(26px, 2.4vw, 38px);

  border: 1px solid var(--dw-option-border);
  border-radius: 27px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(45, 128, 183, 0.075),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(247, 251, 255, 0.98)
    );

  box-shadow:
    0 25px 58px rgba(0, 0, 56, 0.09),
    inset 0 1px 0 var(--dw-option-white);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwOptionGuideCardEnter 0.8s ease both;
}

.dw-option-guide__card--professional {
  animation-delay: 0.14s;
}

.dw-option-guide__card::before {
  content: "";
  position: absolute;
  inset: 0;

  border-radius: inherit;

  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255, 255, 255, 0.75) 50%,
      transparent 75%
    );

  opacity: 0;
  pointer-events: none;

  transform: translateX(-125%) skewX(-18deg);

  transition:
    opacity 0.3s ease,
    transform 0.75s ease;
}

.dw-option-guide__card:hover {
  z-index: 6;

  border-color: rgba(45, 128, 183, 0.48);

  box-shadow:
    0 37px 76px rgba(0, 0, 56, 0.14),
    0 0 32px rgba(45, 128, 183, 0.11),
    inset 0 1px 0 var(--dw-option-white);

  transform: translateY(-10px);
}

.dw-option-guide__card:hover::before {
  opacity: 0.6;

  transform: translateX(125%) skewX(-18deg);
}

.dw-option-guide__card-glow {
  position: absolute;
  top: -100px;
  right: -100px;

  width: 220px;
  height: 220px;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.08);

  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.dw-option-guide__card:hover
  .dw-option-guide__card-glow {
  opacity: 1;
  transform: scale(1.2);
}


/* =========================================================
   CARD HEADERS
========================================================= */

.dw-option-guide__card-header {
  position: relative;
  z-index: 2;
}

.dw-option-guide__card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;

  margin-bottom: 28px;
}

.dw-option-guide__card-number {
  display: inline-flex;
  align-items: center;
  gap: 9px;

  color: var(--dw-option-blue);

  font-family: var(--heading-font-family);
  font-size: 14px;
  letter-spacing: 0.08em;
}

.dw-option-guide__card-number::after {
  content: "";

  width: 38px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(45, 128, 183, 0.5),
      transparent
    );
}

.dw-option-guide__card-icon {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.14);
  border-radius: 19px;

  background:
    linear-gradient(
      145deg,
      var(--dw-option-white),
      #eaf5ff
    );

  color: var(--dw-option-blue);

  font-size: 25px;

  box-shadow:
    0 12px 25px rgba(45, 128, 183, 0.11),
    inset 0 1px 0 var(--dw-option-white);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.dw-option-guide__card:hover
  .dw-option-guide__card-icon {
  background:
    linear-gradient(
      145deg,
      var(--dw-option-blue),
      var(--dw-option-navy)
    );

  color: var(--dw-option-white);

  transform: rotate(-6deg) scale(1.06);
}

.dw-option-guide__card-label {
  display: block;

  margin-bottom: 10px;

  color: var(--dw-option-blue);

  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-option-guide__card h3 {
  margin: 0;

  color: var(--dw-option-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(27px, 2.2vw, 36px);
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.dw-option-guide__card-header > p {
  margin: 17px 0 0;

  color: var(--dw-option-text);

  font-size: 14px;
  line-height: 1.7;
}


/* =========================================================
   OPTION LISTS
========================================================= */

.dw-option-guide__list {
  position: relative;
  z-index: 2;

  display: grid;
  gap: 16px;

  margin: 31px 0 0;
  padding: 0;

  list-style: none;
}

.dw-option-guide__list li {
  display: flex;
  align-items: flex-start;
  gap: 13px;

  color: var(--dw-option-text-strong);

  font-size: clamp(13px, 0.95vw, 15px);
  line-height: 1.6;

  transition:
    color 0.3s ease,
    transform 0.3s ease;
}

.dw-option-guide__list li:hover {
  color: var(--dw-option-navy);

  transform: translateX(5px);
}

.dw-option-guide__list-icon {
  display: grid;
  flex: 0 0 23px;
  width: 23px;
  height: 23px;
  place-items: center;

  margin-top: 1px;

  border: 1px solid rgba(45, 128, 183, 0.35);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.055);
  color: var(--dw-option-blue);

  font-size: 9px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-option-guide__list li:hover
  .dw-option-guide__list-icon {
  background: var(--dw-option-blue);
  color: var(--dw-option-white);

  transform: rotate(-7deg) scale(1.08);
}


/* =========================================================
   CARD FOOTERS
========================================================= */

.dw-option-guide__card-footer {
  position: relative;
  z-index: 2;

  display: flex;
  align-items: flex-start;
  gap: 14px;

  margin-top: auto;
  padding-top: 25px;

  border-top: 1px dashed rgba(45, 128, 183, 0.2);
}

.dw-option-guide__card-footer > i {
  display: grid;
  flex: 0 0 45px;
  width: 45px;
  height: 45px;
  place-items: center;

  border-radius: 50%;

  background: rgba(45, 128, 183, 0.08);
  color: var(--dw-option-blue);

  font-size: 17px;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    transform 0.3s ease;
}

.dw-option-guide__card:hover
  .dw-option-guide__card-footer > i {
  background: var(--dw-option-blue);
  color: var(--dw-option-white);

  transform: rotate(-6deg) scale(1.05);
}

.dw-option-guide__card-footer p {
  margin: 0;

  color: var(--dw-option-text);

  font-size: 13px;
  line-height: 1.6;
}

.dw-option-guide__card-footer strong {
  display: block;

  color: var(--dw-option-navy);
}


/* =========================================================
   PROFESSIONAL CARD
========================================================= */

.dw-option-guide__card--professional {
  border-color: rgba(45, 128, 183, 0.55);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(68, 172, 245, 0.17),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(239, 248, 255, 0.98)
    );

  box-shadow:
    0 29px 67px rgba(0, 0, 56, 0.13),
    0 0 30px rgba(45, 128, 183, 0.12),
    inset 0 1px 0 var(--dw-option-white);

  transform: translateY(-10px);
}

.dw-option-guide__card--professional:hover {
  transform: translateY(-18px);
}

.dw-option-guide__recommended {
  position: absolute;
  top: 20px;
  right: 284px;
  z-index: 5;

  padding: 7px 12px;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.09);
  color: var(--dw-option-blue);

  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  backdrop-filter: blur(8px);
}


/* =========================================================
   CENTRAL ROCKET
========================================================= */

.dw-option-guide__center {
  position: relative;
  z-index: 5;

  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.dw-option-guide__center-label {
  position: relative;
  z-index: 7;

  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;

  margin-bottom: -16px;

  border: 1px solid rgba(45, 128, 183, 0.25);
  border-radius: 50%;

  background: var(--dw-option-white);
  color: var(--dw-option-blue);

  font-family: var(--heading-font-family);
  font-size: 12px;
  letter-spacing: 0.08em;

  box-shadow:
    0 12px 28px rgba(0, 0, 56, 0.11),
    0 0 20px rgba(45, 128, 183, 0.1);

  animation: dwOptionGuideVsPulse 3s ease-in-out infinite;
}

.dw-option-guide__rocket-stage {
  position: relative;

  display: grid;
  width: 100%;
  min-height: 450px;
  place-items: center;
}

.dw-option-guide__rocket-stage::after {
  content: "";
  position: absolute;
  right: 10%;
  bottom: 3%;
  left: 10%;
  z-index: 0;

  height: 55px;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(45, 128, 183, 0.23),
      transparent 70%
    );

  filter: blur(20px);

  animation: dwOptionGuideShadowPulse 4s ease-in-out infinite;
}

.dw-option-guide__rocket-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;

  width: 340px;
  height: 340px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.17),
      rgba(45, 128, 183, 0.055) 48%,
      transparent 72%
    );

  filter: blur(16px);

  transform: translate(-50%, -50%);

  animation: dwOptionGuideRocketGlow 4s ease-in-out infinite;
}

.dw-option-guide__rocket-ring {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 0;

  border: 1px solid rgba(45, 128, 183, 0.21);
  border-radius: 50%;

  transform: translateX(-50%);

  animation: dwOptionGuideRingPulse 4s ease-in-out infinite;
}

.dw-option-guide__rocket-ring--one {
  width: 185px;
  height: 52px;
}

.dw-option-guide__rocket-ring--two {
  width: 245px;
  height: 72px;

  animation-delay: -1.3s;
}

.dw-option-guide__rocket-ring--three {
  width: 310px;
  height: 92px;

  border-style: dashed;

  animation-delay: -2.6s;
}

.dw-option-guide__rocket {
  position: relative;
  z-index: 4;

  width: clamp(210px, 17vw, 320px);
  margin: 0;

  pointer-events: none;

  animation:
    dwOptionGuideRocketEnter 0.9s 0.18s ease both,
    dwOptionGuideRocketFloat 4.8s 1.1s ease-in-out infinite;
}

.dw-option-guide__rocket img {
  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 25px 32px rgba(0, 0, 56, 0.17))
    drop-shadow(0 0 22px rgba(45, 128, 183, 0.11));
}

.dw-option-guide__center-copy {
  position: relative;
  z-index: 5;

  margin-top: -10px;
}

.dw-option-guide__center-copy span {
  display: block;

  margin-bottom: 4px;

  color: var(--dw-option-blue);

  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-option-guide__center-copy strong {
  display: block;

  color: var(--dw-option-navy);

  font-family: var(--heading-font-family);
  font-size: 15px;
  line-height: 1.35;
}


/* =========================================================
   SUMMARY
========================================================= */

.dw-option-guide__summary {
  position: relative;
  z-index: 6;

  display: flex;
  max-width: 970px;
  align-items: center;
  justify-content: center;
  gap: 18px;

  margin: clamp(45px, 6vw, 75px) auto 0;
  padding: 22px 28px;

  border: 1px solid rgba(45, 128, 183, 0.17);
  border-radius: 22px;

  background:
    linear-gradient(
      120deg,
      rgba(255, 255, 255, 0.99),
      rgba(239, 248, 255, 0.96)
    );

  box-shadow:
    0 18px 42px rgba(0, 0, 56, 0.08),
    inset 0 1px 0 var(--dw-option-white);
}

.dw-option-guide__summary-icon {
  display: grid;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  place-items: center;

  border-radius: 50%;

  background:
    linear-gradient(
      145deg,
      var(--dw-option-blue),
      var(--dw-option-navy)
    );

  color: var(--dw-option-white);

  font-size: 20px;

  box-shadow:
    0 12px 27px rgba(45, 128, 183, 0.24);
}

.dw-option-guide__summary > div > span {
  display: block;

  margin-bottom: 4px;

  color: var(--dw-option-blue);

  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-option-guide__summary p {
  margin: 0;

  color: var(--dw-option-text);

  font-family: var(--heading-font-family);
  font-size: clamp(16px, 1.35vw, 21px);
  line-height: 1.5;
}

.dw-option-guide__summary strong {
  color: var(--dw-option-navy);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwOptionGuideHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwOptionGuideCardEnter {
  from {
    opacity: 0;
    transform: translateY(32px) scale(0.97);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwOptionGuideRocketEnter {
  from {
    opacity: 0;
    transform: translateY(35px) scale(0.92);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwOptionGuideRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-16px) rotate(2deg);
  }
}

@keyframes dwOptionGuideLineMove {
  from {
    stroke-dashoffset: 0;
  }

  to {
    stroke-dashoffset: -36;
  }
}

@keyframes dwOptionGuideNodePulse {
  0%,
  100% {
    opacity: 0.62;
    transform: scale(0.9);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes dwOptionGuideVsPulse {
  0%,
  100% {
    box-shadow:
      0 12px 28px rgba(0, 0, 56, 0.11),
      0 0 16px rgba(45, 128, 183, 0.08);

    transform: scale(0.96);
  }

  50% {
    box-shadow:
      0 16px 34px rgba(0, 0, 56, 0.14),
      0 0 28px rgba(45, 128, 183, 0.2);

    transform: scale(1.05);
  }
}

@keyframes dwOptionGuideRingPulse {
  0%,
  100% {
    opacity: 0.2;
    transform: translateX(-50%) scale(0.92);
  }

  50% {
    opacity: 0.68;
    transform: translateX(-50%) scale(1.07);
  }
}

@keyframes dwOptionGuideRocketGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: translate(-50%, -50%) scale(0.93);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes dwOptionGuideShadowPulse {
  0%,
  100% {
    opacity: 0.4;
    transform: scaleX(0.85);
  }

  50% {
    opacity: 0.8;
    transform: scaleX(1);
  }
}

@keyframes dwOptionGuideOrbit {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwOptionGuideDot {
  0%,
  100% {
    opacity: 0.45;
    transform: translateY(0) scale(0.9);
  }

  50% {
    opacity: 1;
    transform: translateY(-12px) scale(1.2);
  }
}

@keyframes dwOptionGuideGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwOptionGuideBackgroundMove {
  from {
    background-position:
      0 0,
      44px 57px;
  }

  to {
    background-position:
      125px 125px,
      224px 237px;
  }
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1600px) {
  .dw-option-guide__container {
    width: min(calc(100% - 96px), 1760px);
  }

  .dw-option-guide__layout {
    grid-template-columns:
      minmax(440px, 1fr)
      minmax(270px, 0.43fr)
      minmax(440px, 1fr);

    gap: 58px;
  }
}


/* =========================================================
   1440PX / STANDARD LAPTOP
========================================================= */

@media (max-width: 1499px) {
  .dw-option-guide__container {
    width: min(calc(100% - 48px), 1420px);
  }

  .dw-option-guide__layout {
    grid-template-columns:
      minmax(360px, 1fr)
      minmax(210px, 0.38fr)
      minmax(360px, 1fr);

    gap: 28px;
  }

  .dw-option-guide__card {
    min-height: 700px;
    padding: 28px 25px;
  }

  .dw-option-guide__card h3 {
    font-size: clamp(25px, 2vw, 31px);
  }

  .dw-option-guide__rocket {
    width: clamp(200px, 16vw, 275px);
  }
}


/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-option-guide__container {
    width: min(calc(100% - 40px), 1100px);
  }

  .dw-option-guide__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }

  .dw-option-guide__connections {
    display: none;
  }

  .dw-option-guide__center {
    grid-column: 1 / -1;
    grid-row: 1;

    margin-bottom: 10px;
  }

  .dw-option-guide__card--diy {
    grid-column: 1;
    grid-row: 2;
  }

  .dw-option-guide__card--professional {
    grid-column: 2;
    grid-row: 2;

    transform: none;
  }

  .dw-option-guide__card--professional:hover {
    transform: translateY(-10px);
  }

  .dw-option-guide__rocket-stage {
    min-height: 350px;
  }

  .dw-option-guide__rocket {
    width: 240px;
  }

  .dw-option-guide__card {
    min-height: 690px;
  }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-option-guide {
    padding: 82px 0 95px;
  }

  .dw-option-guide__container {
    width: min(calc(100% - 32px), 900px);
  }

  .dw-option-guide__heading {
    margin-bottom: 44px;
  }

  .dw-option-guide__card {
    min-height: 720px;
  }

  .dw-option-guide__card h3 {
    font-size: 27px;
  }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-option-guide {
    padding: 70px 0 82px;
  }

  .dw-option-guide__container {
    width: min(calc(100% - 26px), 700px);
  }


  .dw-option-guide__heading h2 span {
    display: block;
  }

  .dw-option-guide__heading p {
    font-size: 16px;
  }

  .dw-option-guide__layout {
    grid-template-columns: 1fr;
    gap: 21px;
  }

  .dw-option-guide__center,
  .dw-option-guide__card--diy,
  .dw-option-guide__card--professional {
    grid-column: 1;
  }

  .dw-option-guide__card--diy {
    grid-row: 1;
  }

  .dw-option-guide__center {
    grid-row: 2;

    margin: 0;
  }

  .dw-option-guide__card--professional {
    grid-row: 3;
  }

  .dw-option-guide__rocket-stage {
    min-height: 300px;
  }

  .dw-option-guide__rocket {
    width: 210px;
  }

  .dw-option-guide__center-label {
    margin-bottom: -25px;
  }

  .dw-option-guide__card {
    min-height: auto;
  }

  .dw-option-guide__summary {
    align-items: flex-start;
  }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-option-guide__eyebrow {
    padding: 9px 14px;
    font-size: 9px;
  }

  .dw-option-guide__card {
    padding: 24px 19px 27px;
    border-radius: 21px;
  }

  .dw-option-guide__card-heading {
    margin-bottom: 24px;
  }

  .dw-option-guide__card-icon {
    width: 55px;
    height: 55px;

    font-size: 21px;
  }

  .dw-option-guide__card h3 {
    font-size: 24px;
  }

  .dw-option-guide__list {
    gap: 14px;
  }

  .dw-option-guide__list li {
    font-size: 14px;
  }

  .dw-option-guide__rocket-stage {
    min-height: 275px;
  }

  .dw-option-guide__rocket {
    width: 190px;
  }

  .dw-option-guide__summary {
    flex-direction: column;
    padding: 21px;
  }

  .dw-option-guide__summary p {
    font-size: 16px;
  }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-option-guide *,
  .dw-option-guide *::before,
  .dw-option-guide *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   PROFESSIONAL LAUNCH PATHS
========================================================= */

.dw-launch-paths {
  --dw-launch-blue: #2d80b7;
  --dw-launch-navy: #000038;
  --dw-launch-white: #ffffff;
  --dw-launch-bright: #59c8ff;
  --dw-launch-light: #edf7ff;
  --dw-launch-text-light: rgba(255, 255, 255, 0.76);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  padding: clamp(95px, 8vw, 140px) 0;

  background:
    radial-gradient(
      circle at 32% 48%,
      rgba(45, 128, 183, 0.24),
      transparent 32%
    ),
    radial-gradient(
      circle at 92% 28%,
      rgba(45, 128, 183, 0.12),
      transparent 27%
    ),
    linear-gradient(
      145deg,
      #000021 0%,
      var(--dw-launch-navy) 48%,
      #00155d 100%
    );
}

.dw-launch-paths__container {
  position: relative;
  z-index: 6;

  width: min(calc(100% - 64px), 1660px);
  margin-inline: auto;
}

/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.dw-launch-paths__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.dw-launch-paths__background img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  opacity: 0.72;
  transform: scale(1.02);
}

.dw-launch-paths__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 38, 0.7) 0%,
      rgba(0, 0, 56, 0.47) 48%,
      rgba(0, 0, 38, 0.72) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 38, 0.3),
      rgba(0, 0, 38, 0.68)
    );

  pointer-events: none;
}

/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-launch-paths__decor {
  position: absolute;
  inset: 0;
  z-index: 2;

  overflow: hidden;
  pointer-events: none;
}

.dw-launch-paths__decor::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.5) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(89, 200, 255, 0.4) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    46px 59px;

  background-size:
    112px 112px,
    164px 164px;

  opacity: 0.18;

  animation: dwLaunchStarsMove 40s linear infinite;
}

.dw-launch-paths__orbit {
  position: absolute;

  border: 1px dashed rgba(89, 200, 255, 0.22);
  border-radius: 50%;

  animation: dwLaunchOrbitRotate 65s linear infinite;
}

.dw-launch-paths__orbit::after {
  content: "";
  position: absolute;

  width: 10px;
  height: 10px;

  border-radius: 50%;

  background: var(--dw-launch-bright);

  box-shadow:
    0 0 0 7px rgba(89, 200, 255, 0.06),
    0 0 20px rgba(89, 200, 255, 0.55);
}

.dw-launch-paths__orbit--one {
  top: -580px;
  left: -440px;

  width: 1000px;
  height: 1000px;
}

.dw-launch-paths__orbit--one::after {
  right: 11%;
  bottom: 18%;
}

.dw-launch-paths__orbit--two {
  right: -480px;
  bottom: -600px;

  width: 980px;
  height: 980px;

  animation-duration: 78s;
  animation-direction: reverse;
}

.dw-launch-paths__orbit--two::after {
  top: 13%;
  left: 24%;
}

.dw-launch-paths__star {
  position: absolute;

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background: var(--dw-launch-white);

  box-shadow:
    0 0 8px var(--dw-launch-white),
    0 0 24px var(--dw-launch-bright);

  animation: dwLaunchStarPulse 3s ease-in-out infinite;
}

.dw-launch-paths__star::before,
.dw-launch-paths__star::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  border-radius: 30px;
  background: rgba(255, 255, 255, 0.62);

  transform: translate(-50%, -50%);
}

.dw-launch-paths__star::before {
  width: 24px;
  height: 1px;
}

.dw-launch-paths__star::after {
  width: 1px;
  height: 24px;
}

.dw-launch-paths__star--one {
  top: 13%;
  left: 7%;
}

.dw-launch-paths__star--two {
  top: 20%;
  right: 11%;

  animation-delay: -0.8s;
}

.dw-launch-paths__star--three {
  right: 5%;
  bottom: 21%;

  animation-delay: -1.6s;
}

.dw-launch-paths__star--four {
  bottom: 12%;
  left: 18%;

  animation-delay: -2.4s;
}

.dw-launch-paths__glow {
  position: absolute;

  border-radius: 50%;
  filter: blur(85px);

  animation: dwLaunchGlowPulse 5s ease-in-out infinite;
}

.dw-launch-paths__glow--one {
  top: 30%;
  left: 15%;

  width: 460px;
  height: 460px;

  background: rgba(45, 128, 183, 0.18);
}

.dw-launch-paths__glow--two {
  right: 2%;
  bottom: 4%;

  width: 390px;
  height: 390px;

  background: rgba(89, 200, 255, 0.08);

  animation-delay: -2.5s;
}

/* =========================================================
   HEADING
========================================================= */

.dw-launch-paths__heading {
  position: relative;
  z-index: 7;

  max-width: 920px;
  margin: 0 auto clamp(55px, 6vw, 82px);

  text-align: center;

  animation: dwLaunchHeadingEnter 0.8s ease both;
}

.dw-launch-paths__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 22px;
  padding: 10px 19px;

  border: 1px solid rgba(89, 200, 255, 0.38);
  border-radius: 999px;

  background: rgba(45, 128, 183, 0.11);
  color: rgba(255, 255, 255, 0.88);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.11em;
  text-transform: uppercase;

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 25px rgba(45, 128, 183, 0.14);

  backdrop-filter: blur(10px);
}

.dw-launch-paths__eyebrow-icon {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;

  border-radius: 50%;

  background: rgba(89, 200, 255, 0.12);
  color: var(--dw-launch-bright);

  font-size: 12px;
}

.dw-launch-paths__heading h2 {
  margin: 0;

  color: var(--dw-launch-white);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.05;
  letter-spacing: -0.045em;

  text-shadow:
    0 12px 36px rgba(0, 0, 38, 0.42);
}

.dw-launch-paths__heading h2 span {
  color: var(--dw-launch-bright);

  text-shadow:
    0 0 30px rgba(89, 200, 255, 0.25);
}

.dw-launch-paths__heading p {
  max-width: 760px;
  margin: 21px auto 0;

  color: var(--dw-launch-text-light);

  font-size: clamp(16px, 1.3vw, 20px);
  line-height: 1.72;
}

/* =========================================================
   MAIN LAYOUT
========================================================= */

.dw-launch-paths__layout {
  position: relative;
  z-index: 7;

  display: grid;
  grid-template-columns:
    minmax(320px, 0.72fr)
    minmax(700px, 1.55fr);

  gap: clamp(45px, 6vw, 105px);
  align-items: center;

  width: 100%;
}

/* =========================================================
   ROCKET GUIDE
========================================================= */

.dw-launch-paths__guide {
  position: relative;

  min-width: 0;
}

.dw-launch-paths__guide-copy {
  position: relative;
  z-index: 5;

  max-width: 470px;
}

.dw-launch-paths__guide-label {
  display: block;

  margin-bottom: 12px;

  color: var(--dw-launch-bright);

  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dw-launch-paths__guide-copy h3 {
  margin: 0;

  color: var(--dw-launch-white);

  font-family: var(--heading-font-family);
  font-size: clamp(28px, 2.7vw, 43px);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.dw-launch-paths__guide-copy h3 strong {

  color: var(--dw-launch-bright);
  font-weight: inherit;
}

.dw-launch-paths__guide-copy p {
  max-width: 440px;
  margin: 17px 0 0;

  color: rgba(255, 255, 255, 0.7);

  font-size: 15px;
  line-height: 1.72;
}

.dw-launch-paths__rocket-stage {
  position: relative;

  display: grid;
  min-height: 470px;
  place-items: center;

  margin-top: 10px;
}

.dw-launch-paths__rocket-stage::after {
  content: "";
  position: absolute;
  right: 14%;
  bottom: 3%;
  left: 14%;
  z-index: 0;

  height: 62px;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(89, 200, 255, 0.38),
      transparent 70%
    );

  filter: blur(22px);

  animation: dwLaunchShadowPulse 4s ease-in-out infinite;
}

.dw-launch-paths__rocket-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;

  width: 390px;
  height: 390px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(89, 200, 255, 0.25),
      rgba(45, 128, 183, 0.08) 50%,
      transparent 72%
    );

  filter: blur(18px);

  transform: translate(-50%, -50%);

  animation: dwLaunchRocketGlow 4s ease-in-out infinite;
}

.dw-launch-paths__rocket-ring {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 0;

  border: 1px solid rgba(89, 200, 255, 0.26);
  border-radius: 50%;

  transform: translateX(-50%);

  animation: dwLaunchRingPulse 4s ease-in-out infinite;
}

.dw-launch-paths__rocket-ring--one {
  width: 210px;
  height: 58px;
}

.dw-launch-paths__rocket-ring--two {
  width: 290px;
  height: 82px;

  animation-delay: -1.3s;
}

.dw-launch-paths__rocket-ring--three {
  width: 380px;
  height: 108px;

  border-style: dashed;

  animation-delay: -2.6s;
}

.dw-launch-paths__rocket {
  top:-46px;
  position: relative;
  z-index: 4;

  width: clamp(235px, 23vw, 390px);
  margin: 0;

  pointer-events: none;

  animation:
    dwLaunchRocketEnter 0.9s 0.18s ease both,
    dwLaunchRocketFloat 4.8s 1.1s ease-in-out infinite;
}

.dw-launch-paths__rocket img {
  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 28px 38px rgba(0, 0, 38, 0.5))
    drop-shadow(0 0 26px rgba(89, 200, 255, 0.17));
}

.dw-launch-paths__guide-footer {
  display: flex;
  align-items: center;
  gap: 12px;

  max-width: 420px;
  margin-top: -108px;
  padding: 14px 17px;

  border: 1px solid rgba(89, 200, 255, 0.22);
  border-radius: 14px;

  background: rgba(45, 128, 183, 0.09);

  backdrop-filter: blur(10px);
}

.dw-launch-paths__guide-status {
  flex: 0 0 9px;
  width: 9px;
  height: 9px;

  border-radius: 50%;

  background: var(--dw-launch-bright);

  box-shadow:
    0 0 14px var(--dw-launch-bright);

  animation: dwLaunchNodePulse 2s ease-in-out infinite;
}

.dw-launch-paths__guide-footer p {
  margin: 0;

  color: rgba(255, 255, 255, 0.65);

  font-size: 12px;
  line-height: 1.5;
}

.dw-launch-paths__guide-footer strong {
  display: block;

  color: var(--dw-launch-white);
  font-weight: 700;
}

/* =========================================================
   ROUTES COLUMN
========================================================= */

.dw-launch-paths__routes {
  top: -99px;
  position: relative;

  display: grid;
  gap: 24px;

  padding-left: 50px;
}

/* =========================================================
   VERTICAL CONNECTOR
========================================================= */

.dw-launch-paths__route-line {
  position: absolute;
  top: 7%;
  bottom: 7%;
  left: 11px;
  z-index: 2;

  width: 3px;

  pointer-events: none;
}

.dw-launch-paths__route-line-track {
  position: absolute;
  inset: 0;

  border-radius: 999px;

  background:
    linear-gradient(
      180deg,
      rgba(89, 200, 255, 0),
      rgba(89, 200, 255, 0.76) 15%,
      rgba(89, 200, 255, 0.76) 85%,
      rgba(89, 200, 255, 0)
    );

  box-shadow:
    0 0 16px rgba(89, 200, 255, 0.36);
}

.dw-launch-paths__route-line-track::before {
  content: "";
  position: absolute;
  inset: 0;

  border-radius: inherit;

  background:
    repeating-linear-gradient(
      180deg,
      transparent 0 10px,
      rgba(255, 255, 255, 0.85) 10px 18px,
      transparent 18px 29px
    );

  animation: dwLaunchVerticalFlow 2.4s linear infinite;
}

.dw-launch-paths__route-particle {
  position: absolute;
  left: 50%;

  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--dw-launch-bright);

  box-shadow:
    0 0 14px var(--dw-launch-bright);

  transform: translateX(-50%);

  animation: dwLaunchParticleFlow 4s linear infinite;
}

.dw-launch-paths__route-particle--two {
  animation-delay: -1.33s;
}

.dw-launch-paths__route-particle--three {
  animation-delay: -2.66s;
}

/* =========================================================
   ROUTE CARDS
========================================================= */

.dw-launch-paths__route {
  position: relative;
  z-index: 3;

  display: grid;
  grid-template-columns:
    100px
    76px
    minmax(280px, 1fr)
    minmax(205px, 0.48fr);

  gap: clamp(18px, 2vw, 30px);
  align-items: center;
  overflow: hidden;

  min-height: 268px;
  padding: clamp(12px, 0.9vw, 15px);

  border-radius: 26px;

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwLaunchRouteEnter 0.8s ease both;
}

.dw-launch-paths__route--custom {
  animation-delay: 0.14s;
}

.dw-launch-paths__route::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255, 255, 255, 0.58) 50%,
      transparent 75%
    );

  opacity: 0;
  pointer-events: none;

  transform: translateX(-125%) skewX(-18deg);

  transition:
    opacity 0.3s ease,
    transform 0.75s ease;
}

.dw-launch-paths__route:hover {
  z-index: 7;

  transform: translateX(9px);
}

.dw-launch-paths__route:hover::before {
  opacity: 0.52;

  transform: translateX(125%) skewX(-18deg);
}

.dw-launch-paths__route-shine {
  position: absolute;
  top: -100px;
  right: -100px;

  width: 235px;
  height: 235px;

  border-radius: 50%;

  transition:
    opacity 0.4s ease,
    transform 0.4s ease;
}

.dw-launch-paths__route:hover
  .dw-launch-paths__route-shine {
  opacity: 1;
  transform: scale(1.18);
}

/* =========================================================
   READY ROUTE
========================================================= */

.dw-launch-paths__route--ready {
  border: 1px solid rgba(112, 194, 255, 0.52);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(45, 128, 183, 0.12),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(228, 242, 255, 0.97)
    );

  box-shadow:
    0 28px 65px rgba(0, 0, 38, 0.4),
    0 0 28px rgba(89, 200, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.98);
}

.dw-launch-paths__route--ready:hover {
  border-color: rgba(89, 200, 255, 0.94);

  box-shadow:
    0 38px 78px rgba(0, 0, 38, 0.5),
    0 0 40px rgba(89, 200, 255, 0.28),
    inset 0 1px 0 var(--dw-launch-white);
}

.dw-launch-paths__route--ready
  .dw-launch-paths__route-shine {
  background: rgba(89, 200, 255, 0.1);
}

/* =========================================================
   CUSTOM ROUTE
========================================================= */

.dw-launch-paths__route--custom {
  border: 1px solid rgba(89, 200, 255, 0.66);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(89, 200, 255, 0.24),
      transparent 38%
    ),
    linear-gradient(
      130deg,
      #0743ad 0%,
      #4285b5 43%,
      var(--dw-launch-navy) 100%
    );

  box-shadow:
    0 32px 72px rgba(0, 0, 38, 0.52),
    0 0 38px rgba(89, 200, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.dw-launch-paths__route--custom::before {
  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255, 255, 255, 0.14) 50%,
      transparent 75%
    );
}

.dw-launch-paths__route--custom:hover {
  border-color: rgba(89, 200, 255, 0.98);

  box-shadow:
    0 42px 86px rgba(0, 0, 38, 0.6),
    0 0 45px rgba(89, 200, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-shine {
  background: rgba(89, 200, 255, 0.13);
}

/* =========================================================
   ROUTE NODE
========================================================= */

.dw-launch-paths__route-node {
  position: absolute;
  top: 50%;
  left: -47px;
  z-index: 6;

  width: 17px;
  height: 17px;

  border: 4px solid var(--dw-launch-bright);
  border-radius: 50%;

  background: var(--dw-launch-navy);

  box-shadow:
    0 0 0 7px rgba(89, 200, 255, 0.09),
    0 0 22px rgba(89, 200, 255, 0.75);

  transform: translateY(-50%);

  animation: dwLaunchNodePulse 2.3s ease-in-out infinite;
}

/* =========================================================
   ROUTE NUMBER
========================================================= */

.dw-launch-paths__route-number {
  position: relative;
  z-index: 2;

  display: flex;
  flex-direction: column;
  align-items: flex-start;

  padding-right: 22px;

  border-right: 1px solid rgba(45, 128, 183, 0.18);
}

.dw-launch-paths__route-number span {
  color: var(--dw-launch-blue);

  font-family: var(--heading-font-family);
  font-size: clamp(40px, 4vw, 62px);
  line-height: 1;
}

.dw-launch-paths__route-number small {
  margin-top: 8px;

  color: rgba(0, 0, 56, 0.54);

  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-number {
  border-color: rgba(255, 255, 255, 0.17);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-number span {
  color: var(--dw-launch-bright);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-number small {
  color: rgba(255, 255, 255, 0.6);
}

/* =========================================================
   ROUTE ICON
========================================================= */

.dw-launch-paths__route-icon {
  position: relative;
  z-index: 2;

  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.17);
  border-radius: 20px;

  background:
    linear-gradient(
      145deg,
      var(--dw-launch-white),
      #e8f5ff
    );

  color: var(--dw-launch-blue);

  font-size: 27px;

  box-shadow:
    0 12px 25px rgba(45, 128, 183, 0.13),
    inset 0 1px 0 var(--dw-launch-white);

  transition:
    color 0.3s ease,
    background 0.3s ease,
    transform 0.3s ease;
}

.dw-launch-paths__route:hover
  .dw-launch-paths__route-icon {
  transform: rotate(-6deg) scale(1.06);
}

.dw-launch-paths__route--ready:hover
  .dw-launch-paths__route-icon {
  background:
    linear-gradient(
      145deg,
      var(--dw-launch-blue),
      var(--dw-launch-navy)
    );

  color: var(--dw-launch-white);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-icon {
  border-color: rgba(255, 255, 255, 0.2);

  background: rgba(255, 255, 255, 0.12);
  color: var(--dw-launch-white);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.dw-launch-paths__route--custom:hover
  .dw-launch-paths__route-icon {
  background: var(--dw-launch-white);
  color: var(--dw-launch-blue);
}

/* =========================================================
   ROUTE CONTENT
========================================================= */

.dw-launch-paths__route-content {
  position: relative;
  z-index: 2;

  min-width: 0;
}

.dw-launch-paths__route-kicker {
  display: block;

  margin-bottom: 8px;

  color: var(--dw-launch-blue);

  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-launch-paths__route-content h3 {
  margin: 0;

  color: var(--dw-launch-navy);

  font-family: var(--heading-font-family);
  font-size: clamp(27px, 2.2vw, 37px);
  line-height: 1.14;
  letter-spacing: -0.035em;
}

.dw-launch-paths__route-content > p {
  max-width: 640px;
  margin: 13px 0 0;

  color: rgba(0, 0, 56, 0.68);

  font-size: 13px;
  line-height: 1.68;
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-kicker {
  color: var(--dw-launch-bright);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-content h3 {
  color: var(--dw-launch-white);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-content > p {
  color: rgba(255, 255, 255, 0.73);
}

/* =========================================================
   BENEFITS
========================================================= */

.dw-launch-paths__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 14px;

  margin: 19px 0 0;
  padding: 0;

  list-style: none;
}

.dw-launch-paths__benefits li {
  display: inline-flex;
  align-items: center;
  gap: 7px;

  color: rgba(0, 0, 56, 0.76);

  font-size: 11px;
  line-height: 1.4;
}

.dw-launch-paths__benefits i {
  display: grid;
  width: 19px;
  height: 19px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.35);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.055);
  color: var(--dw-launch-blue);

  font-size: 7px;
}

.dw-launch-paths__route--custom
  .dw-launch-paths__benefits li {
  color: rgba(255, 255, 255, 0.78);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__benefits i {
  border-color: rgba(255, 255, 255, 0.4);

  background: rgba(255, 255, 255, 0.08);
  color: var(--dw-launch-white);
}

/* =========================================================
   ROUTE ACTION
========================================================= */

.dw-launch-paths__route-action {
  position: relative;
  z-index: 2;

  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 19px;

  padding-left: 25px;

  border-left: 1px dashed rgba(45, 128, 183, 0.22);
}

.dw-launch-paths__best-for small {
  display: block;

  margin-bottom: 5px;

  color: var(--dw-launch-blue);

  font-size: 8px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-launch-paths__best-for strong {
  display: block;

  color: var(--dw-launch-navy);

  font-family: var(--heading-font-family);
  font-size: 14px;
  line-height: 1.4;
}

.dw-launch-paths__route--custom
  .dw-launch-paths__route-action {
  border-color: rgba(255, 255, 255, 0.2);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__best-for small {
  color: var(--dw-launch-bright);
}

.dw-launch-paths__route--custom
  .dw-launch-paths__best-for strong {
  color: var(--dw-launch-white);
}

/* =========================================================
   BUTTONS
========================================================= */

.dw-launch-paths__button {
  display: inline-flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding: 13px 17px;

  border: 1px solid transparent;
  border-radius: 11px;

  font-family: var(--heading-font-family);
  font-size: 11px;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;

  transition:
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-launch-paths__button i {
  flex: 0 0 auto;

  transition: transform 0.3s ease;
}

.dw-launch-paths__button:hover i {
  transform: translateX(5px);
}

.dw-launch-paths__button--ready {
  background:
    linear-gradient(
      135deg,
      var(--dw-launch-blue),
      var(--dw-launch-navy)
    );

  color: var(--dw-launch-white);

  box-shadow:
    0 12px 25px rgba(45, 128, 183, 0.23);
}

.dw-launch-paths__button--ready:hover,
.dw-launch-paths__button--ready:focus-visible {
  color: var(--dw-launch-white);

  box-shadow:
    0 18px 34px rgba(45, 128, 183, 0.32);

  transform: translateY(-3px);
}

.dw-launch-paths__button--custom {
  border-color: rgba(255, 255, 255, 0.26);

  background: var(--dw-launch-white);
  color: var(--dw-launch-navy);

  box-shadow:
    0 12px 25px rgba(0, 0, 38, 0.25);
}

.dw-launch-paths__button--custom:hover,
.dw-launch-paths__button--custom:focus-visible {
  border-color: var(--dw-launch-bright);

  background: var(--dw-launch-bright);
  color: var(--dw-launch-navy);

  transform: translateY(-3px);
}

.dw-launch-paths__button:focus-visible {
  outline: 3px solid rgba(89, 200, 255, 0.35);
  outline-offset: 3px;
}

/* =========================================================
   FEATURED BADGE
========================================================= */

.dw-launch-paths__featured {
  position: absolute;
  top: 17px;
  right: 18px;
  z-index: 5;

  padding: 7px 11px;

  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.1);
  color: var(--dw-launch-white);

  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;

  backdrop-filter: blur(8px);
}

/* =========================================================
   SUMMARY
========================================================= */

.dw-launch-paths__summary {
  position: relative;
  z-index: 7;

  display: flex;
  max-width: 1050px;
  align-items: center;
  justify-content: center;
  gap: 19px;
  
  margin: clamp(-112px, 4vw, 8px) auto 0;
  padding: 23px 30px;

  border: 1px solid rgba(89, 200, 255, 0.4);
  border-radius: 23px;

  background:
    linear-gradient(
      120deg,
      rgba(0, 0, 38, 0.8),
      rgba(45, 128, 183, 0.16),
      rgba(0, 0, 38, 0.8)
    );

  box-shadow:
    0 0 32px rgba(89, 200, 255, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.12);

  backdrop-filter: blur(12px);
}

.dw-launch-paths__summary-icon {
  display: grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  place-items: center;

  border: 1px solid rgba(89, 200, 255, 0.38);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.2);
  color: var(--dw-launch-bright);

  font-size: 21px;

  box-shadow:
    0 0 22px rgba(89, 200, 255, 0.18);
}

.dw-launch-paths__summary > div > span {
  display: block;

  margin-bottom: 5px;

  color: var(--dw-launch-bright);

  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.dw-launch-paths__summary p {
  margin: 0;

  color: rgba(255, 255, 255, 0.74);

  font-family: var(--heading-font-family);
  font-size: clamp(16px, 1.3vw, 21px);
  line-height: 1.55;
}

.dw-launch-paths__summary strong {
  color: var(--dw-launch-white);
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwLaunchHeadingEnter {
  from {
    opacity: 0;
    transform: translateY(-24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwLaunchRouteEnter {
  from {
    opacity: 0;
    transform: translateX(35px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}

@keyframes dwLaunchRocketEnter {
  from {
    opacity: 0;
    transform: translateY(36px) scale(0.92);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes dwLaunchRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-17px) rotate(2deg);
  }
}

@keyframes dwLaunchVerticalFlow {
  from {
    background-position: 0 0;
  }

  to {
    background-position: 0 58px;
  }
}

@keyframes dwLaunchParticleFlow {
  from {
    top: 0;
    opacity: 0;
  }

  15% {
    opacity: 1;
  }

  85% {
    opacity: 1;
  }

  to {
    top: calc(100% - 8px);
    opacity: 0;
  }
}

@keyframes dwLaunchNodePulse {
  0%,
  100% {
    opacity: 0.65;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

@keyframes dwLaunchRingPulse {
  0%,
  100% {
    opacity: 0.2;
    transform: translateX(-50%) scale(0.92);
  }

  50% {
    opacity: 0.7;
    transform: translateX(-50%) scale(1.07);
  }
}

@keyframes dwLaunchRocketGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: translate(-50%, -50%) scale(0.93);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes dwLaunchShadowPulse {
  0%,
  100% {
    opacity: 0.4;
    transform: scaleX(0.84);
  }

  50% {
    opacity: 0.8;
    transform: scaleX(1);
  }
}

@keyframes dwLaunchOrbitRotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwLaunchStarPulse {
  0%,
  100% {
    opacity: 0.28;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@keyframes dwLaunchGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwLaunchStarsMove {
  from {
    background-position:
      0 0,
      46px 59px;
  }

  to {
    background-position:
      112px 112px,
      210px 223px;
  }
}

/* =========================================================
   1440PX / STANDARD LAPTOP
========================================================= */

@media (max-width: 1499px) {
  .dw-launch-paths__container {
    width: min(calc(100% - 48px), 1420px);
  }

  .dw-launch-paths__layout {
    grid-template-columns:
      minmax(290px, 0.6fr)
      minmax(650px, 1.4fr);

    gap: 48px;
  }

  .dw-launch-paths__route {
    grid-template-columns:
      80px
      62px
      minmax(270px, 1fr)
      minmax(180px, 0.43fr);

    min-height: 325px;
    padding: 28px 25px;
  }

  .dw-launch-paths__route-number {
    padding-right: 15px;
  }

  .dw-launch-paths__route-icon {
    width: 60px;
    height: 60px;
  }

  .dw-launch-paths__route-content h3 {
    font-size: 29px;
  }

  .dw-launch-paths__route-action {
    padding-left: 18px;
  }

  .dw-launch-paths__rocket {
    width: clamp(230px, 21vw, 330px);
  }
}

/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-launch-paths__container {
    width: min(calc(100% - 40px), 1100px);
  }

  .dw-launch-paths__layout {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .dw-launch-paths__guide {
    display: grid;
    grid-template-columns:
      minmax(310px, 0.85fr)
      minmax(300px, 1fr);

    gap: 35px;
    align-items: center;
  }

  .dw-launch-paths__rocket-stage {
    min-height: 390px;
    margin: 0;
  }

  .dw-launch-paths__guide-footer {
    grid-column: 1;
  }

  .dw-launch-paths__routes {
    padding-left: 45px;
  }

  .dw-launch-paths__route {
    grid-template-columns:
      90px
      68px
      minmax(280px, 1fr)
      minmax(190px, 0.43fr);
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-launch-paths {
    padding: 84px 0 96px;
  }

  .dw-launch-paths__container {
    width: min(calc(100% - 32px), 900px);
  }

  .dw-launch-paths__guide {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .dw-launch-paths__guide-copy,
  .dw-launch-paths__guide-copy p,
  .dw-launch-paths__guide-footer {
    margin-inline: auto;
  }

  .dw-launch-paths__rocket-stage {
    min-height: 350px;
  }

  .dw-launch-paths__rocket {
    width: 245px;
  }

  .dw-launch-paths__route {
    grid-template-columns:
      70px
      58px
      minmax(220px, 1fr);

    min-height: auto;
  }

  .dw-launch-paths__route-action {
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;

    padding-top: 20px;
    padding-left: 0;

    border-top: 1px dashed rgba(45, 128, 183, 0.22);
    border-left: 0;
  }

  .dw-launch-paths__route--custom
    .dw-launch-paths__route-action {
    border-color: rgba(255, 255, 255, 0.2);
  }

  .dw-launch-paths__button {
    width: auto;
    min-width: 220px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-launch-paths {
    padding: 70px 0 84px;
  }

  .dw-launch-paths__container {
    width: min(calc(100% - 26px), 700px);
  }


  .dw-launch-paths__heading h2 span {
    display: block;
  }

  .dw-launch-paths__heading p {
    font-size: 16px;
  }

  .dw-launch-paths__routes {
    gap: 20px;
    padding-left: 0;
  }

  .dw-launch-paths__route-line {
    display: none;
  }

  .dw-launch-paths__route {
    grid-template-columns:
      62px
      minmax(0, 1fr);

    gap: 17px;

    padding: 25px 20px 27px;

    border-radius: 22px;
  }

  .dw-launch-paths__route-number {
    grid-column: 1;
    grid-row: 1;

    padding: 0;
    border: 0;
  }

  .dw-launch-paths__route-number span {
    font-size: 36px;
  }

  .dw-launch-paths__route-icon {
    grid-column: 2;
    grid-row: 1;

    justify-self: end;
  }

  .dw-launch-paths__route-content {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .dw-launch-paths__route-action {
    grid-column: 1 / -1;
    grid-row: 3;

    grid-template-columns: 1fr;
  }

  .dw-launch-paths__button {
    width: 100%;
    min-width: 0;
  }

  .dw-launch-paths__route-node {
    display: none;
  }

  .dw-launch-paths__featured {
    top: 18px;
    right: 88px;
  }

  .dw-launch-paths__summary {
    align-items: flex-start;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-launch-paths__eyebrow {
    padding: 9px 14px;
    font-size: 9px;
  }

  .dw-launch-paths__guide-copy h3 {
    font-size: 29px;
  }

  .dw-launch-paths__rocket-stage {
    min-height: 300px;
  }

  .dw-launch-paths__rocket {
    width: 210px;
  }

  .dw-launch-paths__route {
    padding: 22px 17px 25px;
  }

  .dw-launch-paths__route-content h3 {
    font-size: 25px;
  }

  .dw-launch-paths__benefits {
    display: grid;
  }

  .dw-launch-paths__featured {
    display: none;
  }

  .dw-launch-paths__summary {
    flex-direction: column;
    padding: 22px;
  }

  .dw-launch-paths__summary p {
    font-size: 16px;
  }
}

/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {
  .dw-launch-paths *,
  .dw-launch-paths *::before,
  .dw-launch-paths *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* =========================================================
   DIY VS PROFESSIONAL WEBSITE FAQ
========================================================= */

.dw-diy-faq {
  --dw-faq-blue: #2d80b7;
  --dw-faq-navy: #000038;
  --dw-faq-white: #ffffff;
  --dw-faq-light: #f4f9ff;
  --dw-faq-light-alt: #f8fbff;
  --dw-faq-text: rgba(0, 0, 56, 0.7);
  --dw-faq-text-strong: rgba(0, 0, 56, 0.88);
  --dw-faq-border: rgba(45, 128, 183, 0.16);

  position: relative;
  isolation: isolate;
  overflow: hidden;

  width: 100%;
  padding: clamp(90px, 8vw, 135px) 0;

  background:
    radial-gradient(
      circle at 11% 42%,
      rgba(45, 128, 183, 0.08),
      transparent 25%
    ),
    radial-gradient(
      circle at 94% 22%,
      rgba(45, 128, 183, 0.06),
      transparent 24%
    ),
    linear-gradient(
      180deg,
      var(--dw-faq-white) 0%,
      #fbfdff 55%,
      var(--dw-faq-light-alt) 100%
    );
}

.dw-diy-faq__container {
  position: relative;
  z-index: 5;

  width: min(calc(100% - 64px), 1580px);
  margin-inline: auto;
}

/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.dw-diy-faq__background {
  position: absolute;
  inset: 0;
  z-index: 0;

  overflow: hidden;
  pointer-events: none;
}

.dw-diy-faq__background::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.15) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(0, 0, 56, 0.08) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    46px 59px;

  background-size:
    135px 135px,
    188px 188px;

  opacity: 0.13;

  animation: dwFaqBackgroundMove 42s linear infinite;
}

.dw-diy-faq__glow {
  position: absolute;

  border-radius: 50%;
  filter: blur(85px);

  animation: dwFaqGlowPulse 5s ease-in-out infinite;
}

.dw-diy-faq__glow--one {
  top: 18%;
  left: -5%;

  width: 410px;
  height: 410px;

  background: rgba(45, 128, 183, 0.09);
}

.dw-diy-faq__glow--two {
  right: -3%;
  bottom: 4%;

  width: 430px;
  height: 430px;

  background: rgba(45, 128, 183, 0.07);

  animation-delay: -2.5s;
}

.dw-diy-faq__orbit {
  position: absolute;

  border: 1px dashed rgba(45, 128, 183, 0.18);
  border-radius: 50%;

  animation: dwFaqOrbitRotate 65s linear infinite;
}

.dw-diy-faq__orbit::after {
  content: "";
  position: absolute;

  width: 10px;
  height: 10px;

  border-radius: 50%;

  background: var(--dw-faq-blue);

  box-shadow:
    0 0 0 7px rgba(45, 128, 183, 0.055),
    0 0 18px rgba(45, 128, 183, 0.32);
}

.dw-diy-faq__orbit--one {
  top: -510px;
  left: -470px;

  width: 850px;
  height: 850px;
}

.dw-diy-faq__orbit--one::after {
  right: 12%;
  bottom: 18%;
}

.dw-diy-faq__orbit--two {
  right: -500px;
  bottom: -590px;

  width: 960px;
  height: 960px;

  animation-direction: reverse;
  animation-duration: 78s;
}

.dw-diy-faq__orbit--two::after {
  top: 14%;
  left: 24%;
}

.dw-diy-faq__dot {
  position: absolute;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--dw-faq-blue);

  box-shadow:
    0 0 0 6px rgba(45, 128, 183, 0.05),
    0 0 17px rgba(45, 128, 183, 0.32);

  animation: dwFaqDotFloat 4s ease-in-out infinite;
}

.dw-diy-faq__dot--one {
  top: 16%;
  left: 26%;
}

.dw-diy-faq__dot--two {
  top: 24%;
  right: 16%;

  animation-delay: -1.3s;
}

.dw-diy-faq__dot--three {
  right: 7%;
  bottom: 18%;

  animation-delay: -2.6s;
}

/* =========================================================
   MAIN LAYOUT
========================================================= */

.dw-diy-faq__layout {
  position: relative;
  z-index: 5;

  display: grid;
  grid-template-columns:
    minmax(330px, 0.66fr)
    minmax(620px, 1.34fr);

  gap: clamp(55px, 7vw, 115px);
  align-items: start;
}

@media screen and (max-width: 1070px) {
  .dw-diy-faq__layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================================================
   LEFT INTRODUCTION
========================================================= */

.dw-diy-faq__intro {
  position: sticky;
  top: 120px;

  min-width: 0;

  animation: dwFaqIntroEnter 0.8s ease both;
}

@media screen and (max-width: 1070px) {
  .dw-diy-faq__intro {
    position: static;
  }
}

.dw-diy-faq__heading {
  max-width: 530px;
}

.dw-diy-faq__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-bottom: 25px;

  color: var(--dw-faq-blue);

  font-family: var(--heading-font-family);
  font-size: 11px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dw-diy-faq__kicker-icon {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;

  border: 1px solid rgba(45, 128, 183, 0.24);
  border-radius: 50%;

  background: rgba(45, 128, 183, 0.055);

  font-size: 14px;

  box-shadow:
    0 8px 20px rgba(45, 128, 183, 0.08);
}

.dw-diy-faq__kicker-line {
  position: relative;

  display: block;

  width: 74px;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      rgba(45, 128, 183, 0.55),
      transparent
    );
}

.dw-diy-faq__kicker-line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background: var(--dw-faq-blue);

  box-shadow:
    0 0 11px rgba(45, 128, 183, 0.4);

  transform: translateY(-50%);
}

.dw-diy-faq__heading h2 {
  margin: 0;

  color: var(--dw-faq-navy);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.dw-diy-faq__heading h2 span {
  display: block;
  color: var(--dw-faq-blue);
}

.dw-diy-faq__heading p {
  max-width: 470px;
  margin: 19px 0 0;

  color: var(--dw-faq-text);

  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.75;
}

/* =========================================================
   ROCKET IMAGE
========================================================= */

.dw-diy-faq__visual {
  position: relative;

  display: grid;
  min-height: 410px;
  place-items: center;

  max-width: 470px;
  margin: 20px 0 0;

  overflow: hidden;
}

.dw-diy-faq__visual::after {
  content: "";
  position: absolute;
  right: 15%;
  bottom: 4%;
  left: 15%;
  z-index: 0;

  height: 52px;

  border-radius: 50%;

  background:
    radial-gradient(
      ellipse,
      rgba(45, 128, 183, 0.18),
      transparent 70%
    );

  filter: blur(20px);

  animation: dwFaqShadowPulse 4.8s ease-in-out infinite;
}

.dw-diy-faq__visual img {
  position: relative;
  z-index: 4;

  display: block;
  width: min(82%, 360px);
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 25px 32px rgba(0, 0, 56, 0.14));

  animation: dwFaqRocketFloat 5s ease-in-out infinite;
}

.dw-diy-faq__visual-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;

  width: 340px;
  height: 340px;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(45, 128, 183, 0.15),
      transparent 70%
    );

  filter: blur(18px);

  transform: translate(-50%, -50%);

  animation: dwFaqVisualGlow 4s ease-in-out infinite;
}

.dw-diy-faq__visual-ring {
  position: absolute;
  top: 51%;
  left: 50%;
  z-index: 1;

  border: 1px solid rgba(45, 128, 183, 0.2);
  border-radius: 50%;

  transform: translate(-50%, -50%);

  animation: dwFaqRingPulse 4s ease-in-out infinite;
}

.dw-diy-faq__visual-ring--one {
  width: 270px;
  height: 270px;
}

.dw-diy-faq__visual-ring--two {
  width: 360px;
  height: 360px;

  border-style: dashed;

  animation-delay: -2s;
}

/* =========================================================
   INTRO NOTE
========================================================= */

.dw-diy-faq__intro-note {
  display: flex;
  max-width: 470px;
  align-items: flex-start;
  gap: 14px;

  margin-top: 10px;
  padding: 17px 18px;

  border: 1px solid rgba(45, 128, 183, 0.14);
  border-radius: 15px;

  background:
    linear-gradient(
      120deg,
      rgba(255, 255, 255, 0.98),
      rgba(240, 248, 255, 0.96)
    );

  box-shadow:
    0 13px 31px rgba(0, 0, 56, 0.065),
    inset 0 1px 0 var(--dw-faq-white);
}

.dw-diy-faq__intro-note-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;

  border-radius: 50%;

  background:
    linear-gradient(
      145deg,
      var(--dw-faq-blue),
      var(--dw-faq-navy)
    );

  color: var(--dw-faq-white);

  font-size: 16px;

  box-shadow:
    0 10px 23px rgba(45, 128, 183, 0.2);
}

.dw-diy-faq__intro-note p {
  margin: 0;

  color: var(--dw-faq-text);

  font-size: 13px;
  line-height: 1.65;
}

/* =========================================================
   FAQ ACCORDION
========================================================= */

.dw-diy-faq__accordion {
  position: relative;
  z-index: 5;

  display: grid;
  gap: 14px;

  min-width: 0;
}

@media (min-width: 768px) and (max-width: 1070px) {
  .dw-diy-faq__intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
    column-gap: clamp(36px, 6vw, 72px);
    align-items: center;
  }

  .dw-diy-faq__heading {
    max-width: none;
  }

  .dw-diy-faq__visual {
    grid-column: 2;
    grid-row: 1 / span 2;

    width: 100%;
    max-width: 430px;
    min-height: 380px;
    margin: 0;
    justify-self: center;
  }

  .dw-diy-faq__intro-note {
    grid-column: 1;

    max-width: none;
    margin-top: 24px;
  }
}

/*
  Important:
  No fixed height is used on the FAQ item or question.
  This prevents long questions from being clipped.
*/
.dw-diy-faq__accordion .dw-faq-item {
  position: relative;

  overflow: hidden;

  margin: 0;

  border: 1px solid var(--dw-faq-border);
  border-radius: 19px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(248, 251, 255, 0.98)
    );

  box-shadow:
    0 14px 35px rgba(0, 0, 56, 0.055),
    inset 0 1px 0 var(--dw-faq-white);

  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    transform 0.35s ease;

  animation: dwFaqItemEnter 0.65s ease both;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(2) {
  animation-delay: 0.05s;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(3) {
  animation-delay: 0.1s;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(4) {
  animation-delay: 0.15s;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(5) {
  animation-delay: 0.2s;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(6) {
  animation-delay: 0.25s;
}

.dw-diy-faq__accordion .dw-faq-item:nth-child(7) {
  animation-delay: 0.3s;
}


.dw-diy-faq__accordion .dw-faq-item h3 {
  margin: 0;
  padding: 0;

  color: inherit;

  font-size: inherit;
  line-height: normal;
}



/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwFaqIntroEnter {
  from {
    opacity: 0;
    transform: translateX(-32px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes dwFaqItemEnter {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwFaqRocketFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-1deg);
  }

  50% {
    transform: translateY(-14px) rotate(2deg);
  }
}

@keyframes dwFaqVisualGlow {
  0%,
  100% {
    opacity: 0.45;
    transform: translate(-50%, -50%) scale(0.94);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.08);
  }
}

@keyframes dwFaqRingPulse {
  0%,
  100% {
    opacity: 0.2;
    transform:
      translate(-50%, -50%)
      scale(0.93);
  }

  50% {
    opacity: 0.64;
    transform:
      translate(-50%, -50%)
      scale(1.06);
  }
}

@keyframes dwFaqShadowPulse {
  0%,
  100% {
    opacity: 0.4;
    transform: scaleX(0.84);
  }

  50% {
    opacity: 0.75;
    transform: scaleX(1);
  }
}

@keyframes dwFaqOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwFaqDotFloat {
  0%,
  100% {
    opacity: 0.45;
    transform:
      translateY(0)
      scale(0.9);
  }

  50% {
    opacity: 1;
    transform:
      translateY(-12px)
      scale(1.18);
  }
}

@keyframes dwFaqGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.93);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwFaqBackgroundMove {
  from {
    background-position:
      0 0,
      46px 59px;
  }

  to {
    background-position:
      135px 135px,
      234px 247px;
  }
}

/* =========================================================
   FINAL CALL TO ACTION
========================================================= */

.dw-final-cta {
  --dw-final-blue: #2d80b7;
  --dw-final-navy: #000038;
  --dw-final-white: #ffffff;
  --dw-final-bright: #52bfff;
  --dw-final-light: #f4f9ff;

  position: relative;
  width: 100%;
  overflow: hidden;

  padding: clamp(75px, 7vw, 115px) 0;

  background:
    radial-gradient(
      circle at 50% 50%,
      rgba(45, 128, 183, 0.055),
      transparent 42%
    ),
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdff 100%
    );
}

.dw-final-cta__container {
  width: min(calc(100% - 64px), 1720px);
  margin-inline: auto;
}

/* =========================================================
   MAIN BLUE CTA CARD
========================================================= */

.dw-final-cta__card {
  position: relative;
  isolation: isolate;

  display: flex;
  min-height: clamp(570px, 48vw, 760px);
  align-items: center;
  justify-content: center;

  overflow: hidden;

  padding:
    clamp(70px, 7vw, 110px)
    clamp(40px, 7vw, 120px);

  border: 1px solid rgba(45, 128, 183, 0.32);
  border-radius: clamp(26px, 2.5vw, 42px);

  background:
    linear-gradient(
      135deg,
      #000026 0%,
      var(--dw-final-navy) 42%,
      #063f91 100%
    );

  box-shadow:
    0 35px 85px rgba(0, 0, 56, 0.2),
    0 0 40px rgba(45, 128, 183, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.13);
}

/* =========================================================
   BACKGROUND IMAGE
========================================================= */

.dw-final-cta__background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.dw-final-cta__background img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  opacity: 0.82;

  transform: scale(1.03);

  animation: dwFinalBackgroundMove 18s ease-in-out infinite alternate;
}

.dw-final-cta__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(0, 0, 38, 0.7) 0%,
      rgba(0, 0, 56, 0.38) 48%,
      rgba(0, 27, 92, 0.38) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 38, 0.18),
      rgba(0, 0, 38, 0.48)
    );

  pointer-events: none;
}

/* =========================================================
   DECORATIVE SPACE ELEMENTS
========================================================= */

.dw-final-cta__decor {
  position: absolute;
  inset: 0;
  z-index: 2;

  overflow: hidden;
  pointer-events: none;
}

.dw-final-cta__decor::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    radial-gradient(
      circle,
      rgba(255, 255, 255, 0.65) 0 1px,
      transparent 1.5px
    ),
    radial-gradient(
      circle,
      rgba(82, 191, 255, 0.45) 0 1px,
      transparent 1.5px
    );

  background-position:
    0 0,
    51px 67px;

  background-size:
    115px 115px,
    172px 172px;

  opacity: 0.18;

  animation: dwFinalStarsMove 38s linear infinite;
}

.dw-final-cta__orbit {
  position: absolute;

  border: 1px solid rgba(82, 191, 255, 0.22);
  border-radius: 50%;

  animation: dwFinalOrbitRotate 60s linear infinite;
}

.dw-final-cta__orbit--left {
  bottom: -390px;
  left: -320px;

  width: 670px;
  height: 670px;
}

.dw-final-cta__orbit--right {
  top: -460px;
  right: -300px;

  width: 780px;
  height: 780px;

  border-style: dashed;

  animation-duration: 74s;
  animation-direction: reverse;
}

.dw-final-cta__star {
  position: absolute;

  width: 6px;
  height: 6px;

  border-radius: 50%;

  background: var(--dw-final-white);

  box-shadow:
    0 0 8px var(--dw-final-white),
    0 0 25px var(--dw-final-bright);

  animation: dwFinalStarPulse 3s ease-in-out infinite;
}

.dw-final-cta__star::before,
.dw-final-cta__star::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;

  background: rgba(255, 255, 255, 0.65);
  border-radius: 999px;

  transform: translate(-50%, -50%);
}

.dw-final-cta__star::before {
  width: 24px;
  height: 1px;
}

.dw-final-cta__star::after {
  width: 1px;
  height: 24px;
}

.dw-final-cta__star--one {
  top: 17%;
  left: 8%;
}

.dw-final-cta__star--two {
  top: 15%;
  right: 13%;

  animation-delay: -0.8s;
}

.dw-final-cta__star--three {
  right: 7%;
  bottom: 20%;

  animation-delay: -1.6s;
}

.dw-final-cta__star--four {
  bottom: 12%;
  left: 27%;

  animation-delay: -2.4s;
}

.dw-final-cta__glow {
  position: absolute;

  border-radius: 50%;

  filter: blur(90px);

  animation: dwFinalGlowPulse 5s ease-in-out infinite;
}

.dw-final-cta__glow--one {
  top: 13%;
  left: 31%;

  width: 470px;
  height: 470px;

  background: rgba(45, 128, 183, 0.16);
}

.dw-final-cta__glow--two {
  right: 0;
  bottom: -8%;

  width: 430px;
  height: 430px;

  background: rgba(82, 191, 255, 0.14);

  animation-delay: -2.5s;
}

/* =========================================================
   LEFT PLANET
========================================================= */

.dw-final-cta__planet {
  position: absolute;
  bottom: -130px;
  left: -125px;
  z-index: 3;

  width: clamp(270px, 24vw, 430px);
  height: clamp(270px, 24vw, 430px);

  pointer-events: none;

  animation: dwFinalPlanetFloat 8s ease-in-out infinite;
}

.dw-final-cta__planet-body {
  position: absolute;
  inset: 0;

  border-radius: 50%;

  background:
    radial-gradient(
      circle at 68% 28%,
      rgba(90, 190, 255, 0.35),
      transparent 25%
    ),
    radial-gradient(
      circle at 40% 35%,
      #164d98 0%,
      #09275f 48%,
      #000b30 100%
    );

  box-shadow:
    inset -35px -30px 65px rgba(0, 0, 38, 0.62),
    inset 20px 15px 45px rgba(82, 191, 255, 0.17),
    0 0 50px rgba(45, 128, 183, 0.26);
}

.dw-final-cta__planet-ring {
  position: absolute;
  top: 44%;
  left: 50%;

  width: 135%;
  height: 34%;

  border: 2px solid rgba(82, 191, 255, 0.45);
  border-radius: 50%;

  transform:
    translate(-50%, -50%)
    rotate(15deg);

  box-shadow:
    0 0 25px rgba(82, 191, 255, 0.15);
}

/* =========================================================
   ROCKET
========================================================= */

.dw-final-cta__rocket {
  position: absolute;
  top: 15%;
  right: clamp(18px, 4vw, 80px);
  z-index: 6;

  width: clamp(155px, 13vw, 235px);
  margin: 0;

  pointer-events: none;

  animation: dwFinalRocketFloat 5s ease-in-out infinite;
}

.dw-final-cta__rocket img {
  position: relative;
  z-index: 4;

  display: block;
  width: 100%;
  height: auto;

  object-fit: contain;

  filter:
    drop-shadow(0 28px 32px rgba(0, 0, 38, 0.48))
    drop-shadow(0 0 25px rgba(82, 191, 255, 0.22));
}

.dw-final-cta__rocket-glow {
  position: absolute;
  top: 48%;
  left: 50%;
  z-index: 0;

  width: 155%;
  height: 155%;

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(82, 191, 255, 0.22),
      transparent 68%
    );

  filter: blur(20px);

  transform: translate(-50%, -50%);

  animation: dwFinalRocketGlow 4s ease-in-out infinite;
}

.dw-final-cta__rocket-trail {
  position: absolute;
  top: 73%;
  right: 51%;
  z-index: 1;

  width: clamp(210px, 17vw, 330px);
  height: 100px;

  border-bottom: 4px solid rgba(82, 191, 255, 0.7);
  border-radius: 50%;

  filter:
    drop-shadow(0 0 12px rgba(82, 191, 255, 0.65));

  transform: rotate(-35deg);

  animation: dwFinalTrailPulse 2.5s ease-in-out infinite;
}

.dw-final-cta__rocket-trail::before,
.dw-final-cta__rocket-trail::after {
  content: "";
  position: absolute;

  border-bottom: 2px solid rgba(82, 191, 255, 0.38);
  border-radius: 50%;
}

.dw-final-cta__rocket-trail::before {
  right: 15px;
  bottom: 13px;

  width: 80%;
  height: 70px;
}

.dw-final-cta__rocket-trail::after {
  right: 28px;
  bottom: 25px;

  width: 64%;
  height: 50px;
}

/* =========================================================
   CTA CONTENT
========================================================= */

.dw-final-cta__content {
  position: relative;
  z-index: 8;

  width: min(100%, 1280px);
  margin-inline: auto;

  text-align: center;

  animation: dwFinalContentEnter 0.9s ease both;
}

.dw-final-cta__brand {
  display: flex;
  max-width: 720px;
  align-items: center;
  justify-content: center;
  gap: 22px;

  margin: 0 auto 30px;
}

.dw-final-cta__brand-line {
  flex: 1;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(82, 191, 255, 0.62)
    );
}

.dw-final-cta__brand-line:last-child {
  background:
    linear-gradient(
      90deg,
      rgba(82, 191, 255, 0.62),
      transparent
    );
}

.dw-final-cta__brand-name {
  color: var(--dw-final-white);

  font-family: var(--heading-font-family);
  font-size: clamp(20px, 2vw, 30px);
  letter-spacing: -0.02em;
}

.dw-final-cta__brand-name span {
  color: var(--dw-final-bright);
}

.dw-final-cta__content h2 {
  max-width: 1280px;
  margin: 0 auto;

  color: var(--dw-final-white);

  font-family: var(--heading-font-family);
  font-size: var(--h2-font-size);
  line-height: 1.13;
  letter-spacing: -0.045em;

  text-wrap: balance;

  text-shadow:
    0 14px 38px rgba(0, 0, 38, 0.46);
}

.dw-final-cta__content h2 > span {
  display: inline;
}

.dw-final-cta__content h2 strong {
  display: block;

  color: var(--dw-final-white);
  font-weight: inherit;
}

.dw-final-cta__content h2 em {
  color: var(--dw-final-bright);
  font-style: normal;

  text-shadow:
    0 0 30px rgba(82, 191, 255, 0.23);
}

.dw-final-cta__content > p {
  max-width: 900px;
  margin: 27px auto 0;

  color: rgba(255, 255, 255, 0.77);

  font-size: clamp(15px, 1.45vw, 21px);
  line-height: 1.72;

  text-wrap: balance;
}

/* =========================================================
   CTA BUTTONS
========================================================= */

.dw-final-cta__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 18px;

  width: min(100%, 940px);
  margin: 35px auto 0;
}

.dw-final-cta__button {
  position: relative;

  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  gap: 13px;
  align-items: center;

  min-height: 75px;
  padding: 14px 22px;

  border: 1px solid transparent;
  border-radius: 14px;

  font-family: var(--heading-font-family);
  font-size: clamp(13px, 1.1vw, 17px);
  line-height: 1.3;
  text-align: left;
  text-decoration: none;

  overflow: hidden;

  transition:
    color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    transform 0.3s ease;
}

.dw-final-cta__button::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      110deg,
      transparent 25%,
      rgba(255, 255, 255, 0.25) 50%,
      transparent 75%
    );

  opacity: 0;

  transform: translateX(-125%) skewX(-18deg);

  transition:
    opacity 0.3s ease,
    transform 0.7s ease;
}

.dw-final-cta__button:hover::before {
  opacity: 0.8;

  transform: translateX(125%) skewX(-18deg);
}

.dw-final-cta__button:hover {
  transform: translateY(-5px);
}

.dw-final-cta__button-icon {
  position: relative;
  z-index: 2;

  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;

  border-radius: 50%;

  font-size: 18px;
}

.dw-final-cta__button > span:not(.dw-final-cta__button-icon),
.dw-final-cta__button-arrow {
  position: relative;
  z-index: 2;
}

.dw-final-cta__button-arrow {
  justify-self: end;

  font-size: 18px;

  transition: transform 0.3s ease;
}

.dw-final-cta__button:hover .dw-final-cta__button-arrow {
  transform: translateX(5px);
}

.dw-final-cta__button--primary {
  background:
    linear-gradient(
      135deg,
      #31a7f0,
      #176cd7
    );

  color: var(--dw-final-white);

  box-shadow:
    0 16px 34px rgba(23, 108, 215, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.26);
}

.dw-final-cta__button--primary
  .dw-final-cta__button-icon {
  background: rgba(255, 255, 255, 0.15);
  color: var(--dw-final-white);
}

.dw-final-cta__button--primary:hover,
.dw-final-cta__button--primary:focus-visible {
  color: var(--dw-final-white);

  box-shadow:
    0 23px 44px rgba(23, 108, 215, 0.48),
    0 0 28px rgba(82, 191, 255, 0.2);
}

.dw-final-cta__button--secondary {
  border-color: rgba(82, 191, 255, 0.75);

  background:
    rgba(0, 0, 56, 0.42);

  color: var(--dw-final-white);

  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 14px 30px rgba(0, 0, 38, 0.26);

  backdrop-filter: blur(10px);
}

.dw-final-cta__button--secondary
  .dw-final-cta__button-icon {
  border: 1px solid rgba(82, 191, 255, 0.38);

  background: rgba(82, 191, 255, 0.09);
  color: var(--dw-final-bright);
}

.dw-final-cta__button--secondary:hover,
.dw-final-cta__button--secondary:focus-visible {
  border-color: var(--dw-final-bright);

  color: var(--dw-final-white);

  box-shadow:
    0 20px 40px rgba(0, 0, 38, 0.38),
    0 0 30px rgba(82, 191, 255, 0.22);
}

.dw-final-cta__button:focus-visible {
  outline: 3px solid rgba(82, 191, 255, 0.35);
  outline-offset: 4px;
}

/* =========================================================
   TRUST ITEMS
========================================================= */

.dw-final-cta__trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px 26px;

  margin-top: 29px;
}

.dw-final-cta__trust span {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: rgba(255, 255, 255, 0.66);

  font-size: 11px;
  font-weight: 600;
}

.dw-final-cta__trust i {
  color: var(--dw-final-bright);

  font-size: 14px;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes dwFinalContentEnter {
  from {
    opacity: 0;
    transform: translateY(28px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes dwFinalRocketFloat {
  0%,
  100% {
    transform:
      translateY(0)
      rotate(7deg);
  }

  50% {
    transform:
      translateY(-17px)
      rotate(10deg);
  }
}

@keyframes dwFinalRocketGlow {
  0%,
  100% {
    opacity: 0.45;
    transform:
      translate(-50%, -50%)
      scale(0.92);
  }

  50% {
    opacity: 1;
    transform:
      translate(-50%, -50%)
      scale(1.09);
  }
}

@keyframes dwFinalTrailPulse {
  0%,
  100% {
    opacity: 0.45;
    transform:
      rotate(-35deg)
      scaleX(0.9);
  }

  50% {
    opacity: 1;
    transform:
      rotate(-35deg)
      scaleX(1.04);
  }
}

@keyframes dwFinalPlanetFloat {
  0%,
  100% {
    transform:
      translateY(0)
      rotate(0);
  }

  50% {
    transform:
      translateY(-9px)
      rotate(2deg);
  }
}

@keyframes dwFinalOrbitRotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes dwFinalStarPulse {
  0%,
  100% {
    opacity: 0.25;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}

@keyframes dwFinalGlowPulse {
  0%,
  100% {
    opacity: 0.45;
    transform: scale(0.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.08);
  }
}

@keyframes dwFinalStarsMove {
  from {
    background-position:
      0 0,
      51px 67px;
  }

  to {
    background-position:
      115px 115px,
      223px 239px;
  }
}

@keyframes dwFinalBackgroundMove {
  from {
    transform: scale(1.03);
  }

  to {
    transform:
      scale(1.07)
      translateX(-1%);
  }
}

/* =========================================================
   1440PX / LAPTOP
========================================================= */

@media (max-width: 1499px) {
  .dw-final-cta__container {
    width: min(calc(100% - 48px), 1400px);
  }

  .dw-final-cta__card {
    min-height: 650px;

    padding:
      82px
      70px;
  }

  .dw-final-cta__rocket {
    right: 25px;

    width: 175px;
  }

  .dw-final-cta__planet {
    width: 320px;
    height: 320px;
  }

  .dw-final-cta__content {
    max-width: 1050px;
  }

  .dw-final-cta__actions {
    max-width: 850px;
  }
}

/* =========================================================
   SMALL LAPTOP
========================================================= */

@media (max-width: 1199px) {
  .dw-final-cta__container {
    width: min(calc(100% - 40px), 1080px);
  }

  .dw-final-cta__card {
    padding:
      75px
      45px;
  }

  .dw-final-cta__rocket {
    top: 8%;
    right: 2%;

    width: 145px;

    opacity: 0.86;
  }

  .dw-final-cta__planet {
    bottom: -100px;
    left: -105px;

    width: 280px;
    height: 280px;
  }

}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {
  .dw-final-cta {
    padding: 80px 0;
  }

  .dw-final-cta__container {
    width: min(calc(100% - 32px), 900px);
  }

  .dw-final-cta__card {
    min-height: auto;

    padding:
      80px
      35px;

    border-radius: 30px;
  }

  .dw-final-cta__rocket {
    top: 25px;
    right: 18px;

    width: 120px;

    opacity: 0.67;
  }

  .dw-final-cta__planet {
    width: 240px;
    height: 240px;

    opacity: 0.7;
  }

  .dw-final-cta__content {
    max-width: 760px;
  }


  .dw-final-cta__actions {
    max-width: 700px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .dw-final-cta {
    padding: 65px 0;
  }

  .dw-final-cta__container {
    width: min(calc(100% - 24px), 680px);
  }

  .dw-final-cta__card {
    padding:
      70px
      22px
      58px;

    border-radius: 24px;
  }

  .dw-final-cta__brand {
    gap: 12px;

    margin-bottom: 24px;
  }

  .dw-final-cta__brand-name {
    font-size: 19px;
  }

  .dw-final-cta__content h2 {
    line-height: 1.16;
  }

  .dw-final-cta__content h2 > span,
  .dw-final-cta__content h2 strong {
    display: inline;
  }

  .dw-final-cta__content h2 em {
    display: block;
  }

  .dw-final-cta__content > p {
    font-size: 15px;
  }

  .dw-final-cta__actions {
    grid-template-columns: 1fr;

    width: min(100%, 520px);
  }

  .dw-final-cta__button {
    min-height: 68px;

    font-size: 14px;
  }

  .dw-final-cta__rocket {
    top: 18px;
    right: 5px;

    width: 90px;

    opacity: 0.52;
  }

  .dw-final-cta__rocket-trail {
    display: none;
  }

  .dw-final-cta__planet {
    bottom: -80px;
    left: -95px;

    width: 200px;
    height: 200px;

    opacity: 0.52;
  }

  .dw-final-cta__trust {
    gap: 11px 18px;
  }
}

/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {
  .dw-final-cta__card {
    padding:
      64px
      17px
      50px;
  }

  .dw-final-cta__brand-line {
    display: none;
  }


  .dw-final-cta__content > p {
    margin-top: 21px;
  }

  .dw-final-cta__actions {
    margin-top: 27px;
  }

  .dw-final-cta__button {
    grid-template-columns: 40px minmax(0, 1fr) 18px;

    gap: 10px;

    min-height: 65px;
    padding: 12px 15px;

    font-size: 13px;
  }

  .dw-final-cta__button-icon {
    width: 40px;
    height: 40px;
  }

  .dw-final-cta__trust {
    display: grid;
    justify-content: center;

    text-align: left;
  }
}
