

.dmg-hero {
  background: var(--bg-base);
  color: var(--text-primary);
  
  padding-block: 76px 94px;
}

.dmg-hero__inner {
  display: flex;
  align-items: center;
  gap: 40px;
}

.dmg-hero__content {
  flex: 1 1 auto;
  min-width: 0;
  max-width: var(--measure-head);
}

.dmg-hero__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--size-hero-h1);
  line-height: var(--lh-hero-h1);
  color: var(--text-primary);
  max-width: var(--measure-head);
}
.dmg-hero__title .line {
  display: block;
}

.dmg-hero__body {
  margin-block-start: 24px;
  max-width: var(--measure-body);
  font-size: var(--size-lede);
  font-weight: 400;
  line-height: var(--lh-lede);
  color: var(--text-primary);
}

.dmg-hero__content .btn {
  margin-block-start: 36px;
}

.dmg-hero__reassurance {
  margin-block-start: 12px;
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.dmg-source {
  background: var(--bg-deep);
  color: var(--text-primary);
  padding-block: 106px;
}

.dmg-source__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--size-section-h);
  line-height: var(--lh-section-h);
  max-width: var(--measure-head);
}

.dmg-source__questions {
  margin-block-start: 40px;
  max-width: var(--measure-body);
}

.dmg-source__questions .accordion__panel .dmg-source__text + .dmg-source__text {
  margin-block-start: 12px;
}

.dmg-source__states {
  margin-block-start: 44px;
  padding: 0;
  list-style: none;
  max-width: var(--measure-body);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
}
.dmg-source__states li {
  position: relative;
  padding-inline-start: 20px;
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}
.dmg-source__states li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  background: var(--accent);
}

.dmg-process {
  background: var(--bg-deep);
  color: var(--text-primary);
  padding-block: 106px;
}

.dmg-process__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--size-section-h);
  line-height: var(--lh-section-h);
  max-width: var(--measure-head);
}

.dmg-process__lede {
  margin-block-start: 24px;
  max-width: var(--measure-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-process__steps {
  margin-block-start: 44px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  
  gap: 32px;
}

.dmg-process__step {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 0;
  row-gap: 8px;
  align-items: baseline;
}

.dmg-process__number {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-mono);
  font-size: 17px;
  font-weight: 400;
  line-height: var(--lh-label);
  color: var(--text-secondary);
}
.dmg-process__dash {
  color: var(--text-secondary);
  padding-inline-end: 8px;
}

.dmg-process__step-title {
  grid-column: 2;
  grid-row: 1;
  font-family: var(--font-sans);
  font-size: var(--size-label);
  font-weight: 500;
  line-height: var(--lh-label);
  color: var(--text-primary);
}

.dmg-process__step-desc {
  grid-column: 2;
  grid-row: 2;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-process__cta {
  margin-block-start: 48px;
}

.dmg-process__support {
  margin-block-start: 16px;
  max-width: var(--measure-body);
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.dmg-trust {
  background: var(--bg-base);
  color: var(--text-primary);
  padding-block: 100px;
}

.dmg-trust__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--size-section-h);
  line-height: var(--lh-section-h);
  max-width: var(--measure-head);
}

.dmg-trust__role {
  margin-block-start: 8px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--text-secondary);
}

.dmg-trust__body {
  margin-block-start: 28px;
  max-width: var(--measure-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-trust__model {
  margin-block-start: 32px;
  max-width: var(--measure-statement);
  font-size: var(--size-statement);
  font-weight: 400;
  line-height: var(--lh-statement);
  color: var(--text-primary);
}

.dmg-trust__frame {
  margin-block-start: 20px;
  max-width: var(--measure-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-trust__proof {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  max-width: var(--measure-body);
  display: grid;
  gap: 10px;
}
.dmg-trust__proof li {
  position: relative;
  padding-inline-start: 20px;
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}
.dmg-trust__proof li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.65em;
  width: 6px;
  height: 6px;
  background: var(--accent);
}

.dmg-trust__more {
  margin-block-start: 18px;
  font-size: var(--size-body);
  line-height: var(--lh-body);
}
.dmg-trust__more a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.dmg-trust__more a:hover {
  text-decoration-thickness: 2px;
}

.dmg-pricing {
  background: var(--bg-deep);
  color: var(--text-primary);
  padding-block: 106px;
}

.dmg-pricing__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--size-section-h);
  line-height: var(--lh-section-h);
  max-width: var(--measure-head);
}

.dmg-pricing__items {
  margin-block-start: 44px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48px;
  max-width: 880px;
}

.dmg-pricing__item-title {
  font-family: var(--font-sans);
  font-size: var(--size-label);
  font-weight: 500;
  color: var(--text-primary);
}

.dmg-pricing__price {
  margin-block-start: 16px;
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--text-primary);
}

.dmg-pricing__desc {
  margin-block-start: 12px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-pricing__note {
  margin-block-start: 12px;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-secondary);
}

.dmg-pricing__alt {
  margin-block-start: 48px;
  padding-block-start: 28px;
  border-block-start: 1px solid var(--hairline-dark);
  max-width: var(--measure-body);
}

.dmg-pricing__alt-question {
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-pricing__alt-answer {
  margin-block-start: 8px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  color: var(--text-primary);
}

.dmg-pricing__lede {
  margin-block-start: 24px;
  max-width: var(--measure-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}
.dmg-pricing__lede + .dmg-pricing__lede { margin-block-start: 14px; }

.dmg-pricing__gate {
  margin-block-start: 44px;
  padding-block-start: 32px;
  border-block-start: 1px solid var(--hairline-dark);
  max-width: var(--measure-body);
}
.dmg-pricing__gate-title {
  font-family: var(--font-sans);
  font-size: var(--size-label);
  font-weight: 500;
  line-height: var(--lh-label);
  color: var(--text-primary);
}
.dmg-pricing__gate-body {
  margin-block-start: 12px;
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}
.dmg-pricing__gate .btn { margin-block-start: 24px; }

.rt {
  margin-block-start: 56px;
  padding-block-start: 40px;
  border-block-start: 1px solid var(--hairline-dark);
  max-width: var(--measure-body);
}

.rt__title {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 26px;
  line-height: 1.3;
  color: var(--text-primary);
}

.rt__lede {
  margin-block-start: 16px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.rt__disclaimer {
  margin-block-start: 10px;
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.rt__q {
  margin-block-start: 32px;
  padding: 0;
  border: 0;
  min-inline-size: 0;
}
.rt__q-title {
  padding: 0;
  font-family: var(--font-sans);
  font-size: var(--size-label);
  font-weight: 500;
  line-height: var(--lh-label);
  color: var(--text-primary);
}

.rt__options {
  margin-block-start: 18px;
  display: grid;
  gap: 12px;
}

.rt__opt { display: block; cursor: pointer; }

.rt__radio {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.rt__opt-in {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  min-block-size: 44px;
  padding: 14px 16px;
  border: 1px solid var(--hairline-dark);
  border-radius: 2px;
  transition: border-color 140ms ease;
}
.rt__opt:hover .rt__opt-in { border-color: var(--text-secondary); }
@media (prefers-reduced-motion: reduce) {
  .rt__opt-in { transition: none; }
}

.rt__opt-mark {
  flex: none;
  inline-size: 16px;
  block-size: 16px;
  margin-block-start: 3px;
  border: 1px solid var(--text-secondary);
  border-radius: 50%;
}
.rt__radio:checked + .rt__opt-in { border-color: var(--text-primary); }
.rt__radio:checked + .rt__opt-in .rt__opt-mark {
  border-color: var(--text-primary);
  box-shadow: inset 0 0 0 4px var(--text-primary);
}
.rt__radio:checked + .rt__opt-in .rt__opt-label { font-weight: 500; }

.rt__radio:focus-visible + .rt__opt-in {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
}

@media (forced-colors: active) {
  .rt__radio:checked + .rt__opt-in .rt__opt-mark {
    background: Highlight;
    border-color: Highlight;
  }
  .rt__radio:checked + .rt__opt-in { border-color: Highlight; }
}

.rt__opt-text { display: block; min-width: 0; }
.rt__opt-label {
  display: block;
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.35;
  color: var(--text-primary);
}
.rt__opt-sub {
  display: block;
  margin-block-start: 6px;
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.rt__answered {
  margin-block-start: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 20px;
}
.rt__answered-text {
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.rt__reset {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.rt__reset:hover { text-decoration-thickness: 2px; }
.rt__reset:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

.rt__route { margin-block-start: 28px; }

.rt__head {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: 24px;
  line-height: 1.3;
  color: var(--text-primary);
  max-width: var(--measure-head);
}

.rt__name {
  margin-block-start: 10px;
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 400;
  color: var(--text-secondary);
}

.rt__label {
  margin-block-start: 24px;
  font-family: var(--font-sans);
  font-size: var(--size-microcopy);
  font-weight: 500;
  color: var(--text-primary);
}

.rt__text {
  margin-block-start: 8px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.rt__note {
  margin-block-start: 20px;
  padding-inline-start: 14px;
  border-inline-start: 1px solid var(--hairline-dark);
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-primary);
}

.rt__open,
.rt__more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-block-size: 44px;
  margin-block-start: 24px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  color: var(--text-primary);
  text-align: start;
}
.rt__open-label,
.rt__more { text-decoration: underline; text-underline-offset: 4px; }
.rt__open:hover .rt__open-label,
.rt__more:hover { text-decoration-thickness: 2px; }
.rt__open:focus-visible,
.rt__more:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

.rt__gate {
  margin-block-start: 24px;
  padding-block-start: 24px;
  border-block-start: 1px solid var(--hairline-dark);
}
.rt__gate-title {
  font-family: var(--font-sans);
  font-size: var(--size-label);
  font-weight: 500;
  line-height: var(--lh-label);
  color: var(--text-primary);
}
.rt__gate .rt__text { margin-block-start: 12px; }
.rt__gate .btn { margin-block-start: 22px; }

.rt__maybe {
  margin-block-start: 28px;
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.rt__feas {
  margin-block-start: 20px;
  padding-block-start: 20px;
  border-block-start: 1px solid var(--hairline-dark);
}

.svc__chev {
  flex: none;
  inline-size: 10px;
  block-size: 10px;
  
  border-right: 1px solid var(--text-secondary);
  border-bottom: 1px solid var(--text-secondary);
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 160ms ease;
}
[aria-expanded="true"] .svc__chev { transform: rotate(-135deg); }
@media (prefers-reduced-motion: reduce) {
  .svc__chev { transition: none; }
}

.svc__body { margin-block-start: 24px; }

.svc__label {
  font-family: var(--font-sans);
  font-size: var(--size-microcopy);
  font-weight: 500;
  color: var(--text-primary);
}

.svc__list {
  margin-block-start: 12px;
  list-style: none;
  display: grid;
  gap: 8px;
}
.svc__list li {
  position: relative;
  padding-inline-start: 16px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.svc__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0.62em;
  inline-size: 5px;
  block-size: 5px;
  background: var(--accent);
}

.rt__subhead {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: 19px;
  line-height: 1.35;
  color: var(--text-primary);
  max-width: var(--measure-head);
}

.svc__why {
  margin-block-start: 10px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
  max-width: var(--measure-body);
}

.svc__next {
  margin-block-start: 10px;
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-secondary);
  max-width: var(--measure-body);
}

.svc__body .svc__label + .svc__why,
.svc__body .svc__label + .svc__next { margin-block-start: 10px; }
.svc__body .svc__list + .svc__label,
.svc__body .svc__why + .svc__label,
.svc__body .svc__next + .svc__label { margin-block-start: 24px; }

.svc__value {
  margin-block-start: 24px;
  padding-block-start: 20px;
  border-block-start: 1px solid var(--hairline-dark);
  font-size: 17px;
  line-height: var(--lh-body);
  color: var(--text-primary);
  max-width: var(--measure-body);
}

.svc__price-box {
  margin-block-start: 24px;
  padding-block-start: 20px;
  border-block-start: 1px solid var(--hairline-dark);
}

.svc__price {
  font-size: 28px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--text-primary);
}

.svc__caveat,
.svc__credit {
  margin-block-start: 10px;
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.svc__cta {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  margin-block-start: 18px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  color: var(--text-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.svc__cta:hover { text-decoration-thickness: 2px; }
.svc__cta:focus-visible {
  outline: 2px solid var(--focus-ring);
  outline-offset: 3px;
  border-radius: 2px;
}

.svc__cta-note {
  display: block;
  margin-block-start: 6px;
  max-width: var(--measure-body);
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

.dmg-pricing__close {
  margin-block-start: 56px;
  padding-block-start: 32px;
  border-block-start: 1px solid var(--hairline-dark);
  max-width: var(--measure-body);
}
.dmg-pricing__close-line {
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}
.dmg-pricing__close-line + .dmg-pricing__close-line { margin-block-start: 8px; }

@media (forced-colors: active) {
  .svc__chev {
    border-inline-end-color: CanvasText;
    border-block-end-color: CanvasText;
  }
}

.dmg-cta {
  background: var(--bg-base);
  color: var(--text-primary);
  padding-block: 118px;
}

.dmg-cta__spatial {
  max-width: var(--measure-statement);
  font-size: var(--size-statement);
  font-weight: 400;
  line-height: var(--lh-statement);
  color: var(--text-primary);
}

.dmg-cta__body {
  margin-block-start: 24px;
  max-width: var(--measure-body);
  font-size: var(--size-body);
  line-height: var(--lh-body);
  color: var(--text-secondary);
}

.dmg-cta .btn {
  margin-block-start: 40px;
}

.dmg-cta__micro {
  margin-block-start: 12px;
  max-width: var(--measure-body);
  font-size: var(--size-microcopy);
  line-height: var(--lh-microcopy);
  color: var(--text-secondary);
}

@media (max-width: 767px) {
  
  .dmg-hero {
    padding-block: 48px 62px;
  }

  .dmg-source { padding-block: 68px; }
  .dmg-source__questions { margin-block-start: 28px; }
  .dmg-source__states {
    grid-template-columns: 1fr;
    margin-block-start: 36px;
  }

  .dmg-process { padding-block: 68px; }
  .dmg-process__lede { margin-block-start: 18px; }
  .dmg-process__steps {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-block-start: 32px;
  }
  .dmg-process__cta { margin-block-start: 36px; }

  .dmg-trust { padding-block: 68px; }

  .dmg-pricing { padding-block: 68px; }
  
  .rt { margin-block-start: 40px; padding-block-start: 32px; }
  .rt__title { font-size: 23px; }
  .rt__q { margin-block-start: 26px; }
  .rt__opt-in { padding: 13px 14px; gap: 12px; }
  .rt__head { font-size: 22px; }
  .rt__route { margin-block-start: 24px; }
  .dmg-pricing__gate { margin-block-start: 36px; padding-block-start: 26px; }
  .dmg-pricing__close { margin-block-start: 40px; padding-block-start: 26px; }

  .dmg-cta { padding-block: 80px; }
  .dmg-cta .btn { margin-block-start: 32px; }
}
