.evpr {
  --evpr-dark-blue: #102d40;
  --evpr-baby-blue: #d6e5fa;
  --evpr-fuchsia: #e80e66;
  --evpr-optimize: #197b7a;
  --evpr-ink: var(--evpr-dark-blue);
  --evpr-muted: color-mix(in srgb, var(--evpr-dark-blue) 62%, white);
  --evpr-line: color-mix(in srgb, var(--evpr-baby-blue) 64%, white);
  --evpr-soft: color-mix(in srgb, var(--evpr-baby-blue) 34%, white);
  --evpr-active: color-mix(in srgb, var(--evpr-fuchsia) 8%, white);
  --evpr-focus: color-mix(in srgb, var(--evpr-fuchsia) 28%, transparent);
  --evpr-radius: 8px;
  --evpr-space-1: 8px;
  --evpr-space-2: 12px;
  --evpr-space-3: 16px;
  --evpr-space-4: 24px;
  --evpr-space-5: 32px;
  --evpr-space-6: 48px;
  color: var(--evpr-ink);
  font: inherit;
  max-width: 100%;
  scroll-margin-top: 96px;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

.evpr *,
.evpr *::before,
.evpr *::after {
  box-sizing: border-box;
  min-width: 0;
}

.evpr-shell {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: var(--evpr-space-5);
  background: #fff;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

.evpr-phase {
  margin-bottom: var(--evpr-space-5);
}

.evpr-progressbar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--evpr-line);
}

.evpr-progressbar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--evpr-fuchsia);
  transition: width .22s ease;
}

.evpr-step {
  display: none;
}

.evpr-step.is-active {
  display: block;
}

.evpr h2,
.evpr h3,
.evpr h4,
.evpr h5,
.evpr p,
.evpr span,
.evpr small,
.evpr strong,
.evpr em,
.evpr summary,
.evpr label,
.evpr button,
.evpr input,
.evpr textarea,
.evpr li,
.evpr dt,
.evpr dd {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
  letter-spacing: 0;
}

.evpr h2 {
  max-width: 780px;
  margin: 0 0 var(--evpr-space-3);
  color: var(--evpr-dark-blue);
  font-size: clamp(32px, 4vw, 50px);
  line-height: 1.08;
}

.evpr h3 {
  margin: 0 0 var(--evpr-space-3);
  color: var(--evpr-dark-blue);
  font-size: 26px;
  line-height: 1.18;
}

.evpr h4 {
  margin: 0 0 var(--evpr-space-3);
  color: var(--evpr-dark-blue);
  font-size: 20px;
  line-height: 1.25;
}

.evpr h5 {
  margin: 0 0 var(--evpr-space-2);
  color: var(--evpr-dark-blue);
  font-size: 17px;
  line-height: 1.3;
}

.evpr p {
  max-width: 760px;
  line-height: 1.6;
}

.evpr-note {
  margin-top: 0;
  color: var(--evpr-muted);
  font-size: 16px;
}

.evpr-kicker {
  margin: 0 0 var(--evpr-space-1);
  color: var(--evpr-fuchsia);
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
}

.evpr-duration {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  margin: var(--evpr-space-3) auto 0;
  padding: 8px 14px;
  border: 1px solid var(--evpr-line);
  border-radius: 999px;
  background: #fff;
  color: var(--evpr-dark-blue);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

.evpr-options,
.evpr-pillars,
.evpr-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--evpr-space-3);
}

.evpr-options-2,
.evpr-contact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evpr-options-compact {
  grid-template-columns: repeat(auto-fit, minmax(176px, 1fr));
  gap: var(--evpr-space-2);
}

.evpr-options-rich {
  grid-template-columns: repeat(auto-fit, minmax(236px, 1fr));
}

.evpr-options label,
.evpr-pillar,
.evpr-featured,
.evpr-contact-grid label,
.evpr-inline-field,
.evpr-privacy {
  display: block;
}

.evpr-options input,
.evpr-pillar input,
.evpr-featured input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.evpr-options span,
.evpr-pillar span,
.evpr-featured span {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  gap: 6px;
  border-radius: var(--evpr-radius);
  background: #fff;
  color: var(--evpr-ink);
  cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.evpr-options span {
  min-height: 48px;
  justify-content: center;
  padding: 14px 16px 14px 44px;
  border: 1px solid var(--evpr-line);
  box-shadow: none;
  font-size: 15px;
  line-height: 1.35;
}

.evpr-options span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 14px;
  width: 16px;
  height: 16px;
  border: 2px solid color-mix(in srgb, var(--evpr-dark-blue) 32%, white);
  border-radius: 4px;
  transform: translateY(-50%);
  background: #fff;
}

.evpr-options input[type="radio"] + span::before {
  border-radius: 50%;
}

.evpr-options input:checked + span {
  border-color: var(--evpr-fuchsia);
  background: var(--evpr-active);
  box-shadow: inset 0 0 0 1px var(--evpr-fuchsia);
}

.evpr-options input:checked + span::before {
  border-color: var(--evpr-fuchsia);
  background: var(--evpr-fuchsia);
  box-shadow: inset 0 0 0 3px #fff;
}

.evpr-options label:hover span {
  border-color: color-mix(in srgb, var(--evpr-fuchsia) 50%, var(--evpr-line));
  background: color-mix(in srgb, var(--evpr-fuchsia) 4%, white);
}

.evpr-options-rich span {
  min-height: 112px;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 18px 18px 18px 46px;
}

.evpr [name="optimize_support"] + span {
  justify-content: center;
}

.evpr-pillars span,
.evpr-featured span {
  min-height: 150px;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 24px;
  border: 1px solid color-mix(in srgb, var(--evpr-dark-blue) 16%, var(--evpr-line));
  box-shadow: 0 14px 32px rgba(16, 45, 64, 0.07);
}

.evpr-pillar input:checked + span,
.evpr-featured input:checked + span {
  border-color: var(--evpr-fuchsia);
  background: linear-gradient(180deg, var(--evpr-active), #fff);
  box-shadow: 0 18px 44px rgba(232, 14, 102, 0.13);
}

.evpr-pillar label:hover span,
.evpr-pillar:hover span,
.evpr-featured:hover span {
  transform: translateY(-1px);
}

.evpr-options input:focus-visible + span,
.evpr-pillar input:focus-visible + span,
.evpr-featured input:focus-visible + span,
.evpr button:focus-visible,
.evpr input:focus-visible,
.evpr textarea:focus-visible,
.evpr summary:focus-visible {
  outline: 3px solid var(--evpr-focus);
  outline-offset: 2px;
}

.evpr-options strong,
.evpr-pillar strong,
.evpr-featured strong {
  color: var(--evpr-dark-blue);
  font-size: 17px;
  line-height: 1.25;
}

.evpr-options small,
.evpr-pillar small,
.evpr-featured small,
.evpr-inline-field small {
  display: block;
  color: var(--evpr-muted);
  font-size: 14px;
  line-height: 1.45;
}

.evpr-pillar em {
  display: none;
  align-items: center;
  width: fit-content;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--evpr-baby-blue);
  color: var(--evpr-dark-blue);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
}

.evpr-pillar.is-recommended em {
  display: inline-flex;
}

.evpr-recommendation,
.evpr-open-need,
.evpr-request-box {
  margin-top: var(--evpr-space-6);
  padding-top: var(--evpr-space-5);
  border-top: 1px solid var(--evpr-line);
}

.evpr-recommendation .evpr-pillars {
  margin-top: var(--evpr-space-4);
}

.evpr-topic {
  margin-top: var(--evpr-space-6);
  padding: 0;
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  background: #fff;
  box-shadow: 0 18px 46px rgba(16, 45, 64, 0.06);
}

.evpr-topic:first-of-type {
  margin-top: var(--evpr-space-4);
}

.evpr-topic[hidden],
.evpr-q2-panel[hidden],
.evpr-area[hidden],
.evpr-nested[hidden],
.evpr-open-need[hidden],
.evpr-recommendation[hidden] {
  display: none;
}

.evpr-topic-head {
  margin: 0;
  padding: var(--evpr-space-4) var(--evpr-space-4) var(--evpr-space-3);
  border-bottom: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius) var(--evpr-radius) 0 0;
  background: var(--evpr-soft);
}

.evpr-topic-head h3 {
  margin-bottom: 0;
}

.evpr-question {
  margin: 0;
  padding: var(--evpr-space-5) var(--evpr-space-4);
  border-top: 1px solid color-mix(in srgb, var(--evpr-line) 62%, white);
}

.evpr-topic-head + .evpr-question {
  border-top: 0;
}

.evpr-question-inline {
  padding: var(--evpr-space-4) 0 0;
  border-top: 0;
}

.evpr-area {
  margin: var(--evpr-space-4);
  padding: var(--evpr-space-4);
  border: 1px solid color-mix(in srgb, var(--evpr-baby-blue) 76%, white);
  border-radius: var(--evpr-radius);
  background: color-mix(in srgb, var(--evpr-baby-blue) 14%, white);
}

.evpr-area > h4 {
  margin-bottom: var(--evpr-space-4);
  padding-bottom: var(--evpr-space-2);
  border-bottom: 1px solid var(--evpr-line);
}

.evpr-featured {
  margin-bottom: var(--evpr-space-3);
}

.evpr-featured span {
  border-color: color-mix(in srgb, var(--evpr-dark-blue) 34%, var(--evpr-line));
  background: linear-gradient(180deg, var(--evpr-soft), #fff);
}

.evpr-nested {
  margin-top: var(--evpr-space-3);
  padding: var(--evpr-space-3);
  border-left: 4px solid var(--evpr-fuchsia);
  border-radius: 0 var(--evpr-radius) var(--evpr-radius) 0;
  background: var(--evpr-soft);
}

.evpr-details {
  margin-top: var(--evpr-space-3);
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  padding: 0;
  background: var(--evpr-soft);
}

.evpr-details summary {
  min-height: 44px;
  padding: 12px 14px;
  color: var(--evpr-dark-blue);
  cursor: pointer;
  font-weight: 800;
}

.evpr-details label {
  display: block;
  padding: 0 14px 14px;
  color: var(--evpr-dark-blue);
  font-weight: 700;
}

.evpr textarea,
.evpr input[type="text"],
.evpr input[type="email"],
.evpr input[type="url"],
.evpr input[type="tel"],
.evpr input[type="number"] {
  width: 100%;
  min-height: 48px;
  margin-top: var(--evpr-space-1);
  padding: 12px 14px;
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  background: #fff;
  color: var(--evpr-ink);
  font: inherit;
  font-size: 16px;
}

.evpr textarea {
  min-height: 118px;
  resize: vertical;
}

.evpr-inline-field {
  margin-top: var(--evpr-space-3);
  color: var(--evpr-dark-blue);
  font-weight: 700;
}

.evpr-result {
  display: block;
  margin: var(--evpr-space-4) 0;
}

.evpr-price-card {
  margin: var(--evpr-space-3) 0;
  padding: var(--evpr-space-4);
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  background: #fff;
  box-shadow: 0 18px 44px rgba(16, 45, 64, 0.08);
}

.evpr-price-card strong {
  display: block;
  color: var(--evpr-fuchsia);
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: 0;
}

.evpr-price-card small {
  display: block;
  margin-top: var(--evpr-space-1);
  color: var(--evpr-muted);
  font-size: 15px;
}

.evpr-tax {
  margin-top: var(--evpr-space-3);
  color: var(--evpr-dark-blue);
  font-weight: 900;
}

.evpr-price-note {
  grid-column: 1 / -1;
  background: var(--evpr-soft);
}

.evpr-summary {
  margin-top: var(--evpr-space-4);
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  background: #fff;
}

.evpr-summary summary {
  min-height: 48px;
  padding: 13px 16px;
  color: var(--evpr-dark-blue);
  cursor: pointer;
  font-weight: 800;
}

.evpr-summary [data-summary] {
  padding: 0 var(--evpr-space-3) var(--evpr-space-3);
}

.evpr-summary dt {
  margin-top: var(--evpr-space-2);
  color: var(--evpr-dark-blue);
  font-weight: 800;
}

.evpr-summary dd {
  margin: 0 0 var(--evpr-space-2);
}

.evpr-request-box {
  margin-top: var(--evpr-space-6);
  padding: var(--evpr-space-5);
  border: 1px solid var(--evpr-line);
  border-radius: var(--evpr-radius);
  background: linear-gradient(180deg, var(--evpr-soft), #fff);
}

.evpr-request-box .evpr-details + .evpr-submit {
  margin-top: var(--evpr-space-4);
}

.evpr-privacy {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: var(--evpr-space-3) 0;
  color: var(--evpr-ink);
}

.evpr-privacy input {
  flex: 0 0 auto;
  margin-top: 4px;
}

.evpr-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.evpr-nav {
  display: flex;
  justify-content: space-between;
  gap: var(--evpr-space-2);
  margin-top: var(--evpr-space-5);
  padding: var(--evpr-space-3) 0 0;
}

.evpr button,
.evpr-submit {
  min-height: 50px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: var(--evpr-radius);
  background: var(--evpr-dark-blue);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  white-space: normal;
  text-align: center;
}

.evpr [data-next],
.evpr-submit {
  background: var(--evpr-fuchsia);
}

.evpr [data-prev] {
  border-color: var(--evpr-line);
  background: #fff;
  color: var(--evpr-dark-blue);
}

.evpr button:hover,
.evpr-submit:hover {
  filter: brightness(.96);
}

.evpr button:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.evpr-alert,
.evpr-success {
  margin-bottom: var(--evpr-space-3);
  padding: 14px 16px;
  border-radius: var(--evpr-radius);
  font-weight: 800;
}

.evpr-alert {
  border: 1px solid color-mix(in srgb, var(--evpr-fuchsia) 28%, white);
  background: color-mix(in srgb, var(--evpr-fuchsia) 8%, white);
  color: color-mix(in srgb, var(--evpr-fuchsia) 72%, var(--evpr-dark-blue));
}

.evpr-success {
  border: 1px solid color-mix(in srgb, var(--evpr-optimize) 25%, white);
  background: color-mix(in srgb, var(--evpr-optimize) 9%, white);
  color: color-mix(in srgb, var(--evpr-optimize) 74%, var(--evpr-dark-blue));
}

@media (min-width: 1200px) {
  .evpr-shell {
    padding: 40px;
  }

  .evpr-topic {
    margin-top: 56px;
  }

  .evpr-options-rich {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .evpr-shell {
    padding: 32px;
  }

  .evpr-options-rich {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .evpr-shell {
    padding: 28px;
  }

  .evpr-pillars,
  .evpr-result {
    grid-template-columns: 1fr;
  }

  .evpr-options,
  .evpr-options-2,
  .evpr-options-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evpr-options-rich {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 600px) and (max-width: 767px) {
  .evpr-shell {
    padding: 24px;
  }

  .evpr-pillars,
  .evpr-result,
  .evpr-contact-grid,
  .evpr-options-rich {
    grid-template-columns: 1fr;
  }

  .evpr-options,
  .evpr-options-2,
  .evpr-options-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 599px) {
  .evpr {
    --evpr-space-4: 20px;
    --evpr-space-5: 26px;
    --evpr-space-6: 38px;
  }

  .evpr-shell {
    padding: 16px;
  }

  .evpr-phase > span {
    display: block;
    margin-bottom: 10px;
  }

  .evpr h2 {
    font-size: 30px;
  }

  .evpr h3 {
    font-size: 22px;
  }

  .evpr h4 {
    font-size: 18px;
  }

  .evpr-request-box {
    padding: 22px 18px;
  }

  .evpr-options,
  .evpr-options-2,
  .evpr-options-compact,
  .evpr-options-rich,
  .evpr-pillars,
  .evpr-contact-grid,
  .evpr-result {
    grid-template-columns: 1fr;
  }

  .evpr-pillars span,
  .evpr-featured span,
  .evpr-options-rich span {
    min-height: auto;
  }

  .evpr-topic-head,
  .evpr-question,
  .evpr-area {
    padding: 18px;
  }

  .evpr-area {
    margin: 18px;
  }

  .evpr-nested {
    padding: 14px;
  }

  .evpr-nav {
    margin-right: -16px;
    margin-left: -16px;
    padding: 12px 16px;
    border-top: 1px solid var(--evpr-line);
  }

  .evpr-nav button {
    flex: 1 1 50%;
  }

  .evpr-submit {
    width: 100%;
  }
}

@media (max-width: 379px) {
  .evpr-shell {
    padding: 12px;
  }

  .evpr h2 {
    font-size: 26px;
  }

  .evpr-price-card,
  .evpr-request-box,
  .evpr-topic-head,
  .evpr-question,
  .evpr-area {
    padding: 14px;
  }

  .evpr-area {
    margin: 14px;
  }

  .evpr-price-card strong {
    font-size: 27px;
  }
}
