.quote-wizard-page {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--soft);
}

.quote-wizard-page .site-header {
  position: fixed;
}

.quote-wizard-page .site-header.is-scrolled {
  height: var(--header-height);
  padding: 24px max(22px, calc((100vw - 1320px) / 2));
}

.qw-main {
  min-height: 100vh;
  padding-top: var(--header-height);
  overflow: visible;
  color: var(--ink);
  background:
    linear-gradient(rgba(5, 17, 46, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(5, 17, 46, 0.025) 1px, transparent 1px),
    var(--soft);
  background-size: 34px 34px;
}

.qw-main strong,
.qw-main b {
  font-weight: 600;
}

.qw-main [data-qw-count],
.qw-main [data-qw-progress-count],
.qw-main [data-qw-side-price],
.qw-main [data-qw-price],
.qw-main [data-qw-discounted-price],
.qw-main [data-qw-savings],
.qw-main .qw-preview__chips,
.qw-main .qw-summary strong {
  font-variant-numeric: tabular-nums;
}

.qw-main .is-number-changing {
  will-change: contents;
}

.qw-shell {
  width: min(1320px, calc(100% - 44px));
  margin-inline: auto;
}

.qw-progress {
  margin-bottom: 14px;
  scroll-margin-top: calc(var(--header-height) + 16px);
  color: var(--ink);
}

.qw-progress__inner {
  padding: 0 2px;
}

.qw-progress__inner > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 8px;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}

.qw-progress__inner strong {
  font-weight: 600;
}

.qw-progress__inner span {
  color: var(--muted);
}

.qw-progress__track {
  height: 4px;
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: #dfe4eb;
}

.qw-progress__track span {
  display: block;
  width: 16.666%;
  height: 100%;
  border-radius: inherit;
  background: var(--orange);
  transition: width 240ms ease;
}

.qw-layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.45fr);
  gap: 64px;
  align-items: start;
  height: auto;
  min-height: calc(100vh - var(--header-height));
  padding-block: 28px;
}

.qw-preview {
  position: fixed;
  z-index: 5;
  grid-column: 1;
  top: calc(var(--header-height) + 28px);
  left: max(22px, calc((100vw - 1320px) / 2));
  display: grid;
  width: clamp(320px, calc((100vw - 108px) * 0.3612), 454px);
  align-self: start;
  gap: 18px;
}

.qw-preview__card,
.qw-help,
.qw-step,
.qw-discount,
.qw-form-section,
.qw-summary,
.qw-included,
.qw-reviews {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--paper);
  box-shadow: var(--shadow-card);
}

.qw-preview__card {
  overflow: hidden;
}

.qw-preview__card > header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  font-size: 0.76rem;
  color: var(--muted);
}

.qw-preview__card > header strong {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--ink);
}

.qw-preview__card > header i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
}

.qw-preview__art {
  display: grid;
  min-height: 292px;
  place-items: center;
  padding: 28px;
  color: var(--navy);
  background: linear-gradient(145deg, #f9fafb, #eef2f5);
}

.qw-preview__art svg {
  width: min(100%, 300px);
  max-height: 250px;
  overflow: visible;
  filter: drop-shadow(0 12px 13px rgba(5, 17, 46, 0.12));
}

.qw-preview__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-height: 53px;
  padding: 13px 16px;
  border-top: 1px solid var(--line);
}

.qw-preview__chips span {
  align-self: center;
  padding: 5px 9px;
  border: 1px solid #d9dee7;
  border-radius: var(--radius-sm);
  color: var(--muted);
  background: var(--soft);
  font-size: 0.68rem;
  font-weight: 600;
}

.qw-preview__estimate {
  position: relative;
  display: grid;
  gap: 5px;
  padding: 21px 20px 20px;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(circle at 92% 5%, rgba(216, 67, 0, 0.14), transparent 34%),
    linear-gradient(135deg, #071532 0%, #0d2145 100%);
  color: #fff;
}

.qw-preview__estimate::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: var(--orange);
  content: "";
}

.qw-preview__estimate[hidden] {
  display: none;
}

.qw-preview__estimate span,
.qw-preview__estimate small {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.7rem;
}

.qw-preview__estimate span {
  letter-spacing: 0.02em;
}

.qw-preview__estimate strong {
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.15;
}

.qw-preview__estimate small {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.qw-help {
  padding: 20px;
}

.qw-help__eyebrow,
.qw-help a,
.qw-trust span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.qw-help__eyebrow {
  color: var(--orange);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.qw-help svg,
.qw-trust svg,
.qw-call-fallback svg,
.qw-discount li svg,
.qw-included li svg {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  fill: currentColor;
}

.qw-help h2 {
  margin: 10px 0 5px;
  font-size: 1rem;
  font-weight: 700;
}

.qw-help p,
.qw-help small {
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.6;
}

.qw-help p {
  margin: 0 0 14px;
}

.qw-help a {
  color: var(--orange);
  font-weight: 700;
  text-decoration: none;
}

.qw-help small {
  display: block;
  margin-top: 5px;
}

.qw-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding-inline: 4px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 600;
}

.qw-trust svg {
  width: 14px;
  height: 14px;
  color: var(--orange);
}

.qw-discount__perks-title {
  margin: 22px 0 0;
  color: var(--ink);
  font-size: 0.74rem;
  font-weight: 600;
}

.qw-steps {
  position: static;
  grid-column: 2;
  display: flex;
  height: auto;
  flex-direction: column;
  min-width: 0;
  overflow: visible;
}

.qw-steps > .qw-step {
  margin-block: 0;
}

.quote-wizard-page .site-footer {
  flex: 0 0 auto;
}

.quote-wizard-page .site-footer .footer-main,
.quote-wizard-page .site-footer .footer-social {
  display: none;
}

.quote-wizard-page .site-footer .footer-bottom {
  min-height: 42px;
  padding: 10px 16px;
  border-top-color: rgba(255, 255, 255, 0.14);
}

.quote-wizard-page .site-footer .footer-bottom p {
  font-size: 0.72rem;
}

.qw-step {
  flex: 0 0 auto;
  height: auto;
  min-height: 610px;
  padding: clamp(28px, 4vw, 52px);
}

.qw-step[hidden] {
  display: none;
}

.qw-step.is-entering {
  animation: qw-step-in 220ms ease both;
}

@keyframes qw-step-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.qw-step__copy {
  margin-bottom: 26px;
}

.qw-step h1,
.qw-step h2 {
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.8rem, 2.7vw, 2.45rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-transform: uppercase;
}

.qw-step__copy p,
.qw-estimate-hero p,
.qw-form-section > p {
  max-width: 680px;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.7;
}

.qw-step fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.qw-step legend {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.qw-counter {
  display: grid;
  grid-template-columns: 58px minmax(100px, 160px) 58px;
  gap: 8px;
  justify-content: center;
  margin-block: 44px 20px;
}

.qw-counter button,
.qw-counter input,
.qw-quick-picks button,
.qw-tile,
.qw-swatch,
.qw-btn-secondary {
  border: 1px solid #cfd6e1;
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: #fff;
  font: inherit;
}

.qw-counter button {
  min-height: 58px;
  color: var(--orange);
  font-size: 1.65rem;
  cursor: pointer;
}

.qw-counter input {
  min-width: 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
  -moz-appearance: textfield;
}

.qw-counter input::-webkit-inner-spin-button {
  appearance: none;
}

.qw-quick-picks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}

.qw-quick-picks button {
  min-height: 40px;
  padding: 8px 15px;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 600;
}

.qw-quick-picks button.is-active,
.qw-tile.is-selected,
.qw-swatch.is-selected {
  border-color: var(--orange);
  outline: 1px solid var(--orange);
  background: #fff7f2;
}

.qw-hint {
  max-width: 560px;
  margin: 26px auto 0;
  color: var(--muted);
  text-align: center;
  font-size: 0.76rem;
  line-height: 1.65;
}

.qw-tiles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.qw-tile {
  position: relative;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 14px;
  align-items: center;
  min-height: 104px;
  padding: 14px;
  text-align: left;
  cursor: pointer;
}

.qw-tile__icon {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border-radius: var(--radius-sm);
  color: var(--navy);
  background: var(--soft);
}

.qw-tile__icon svg {
  width: 50px;
  height: 50px;
}

.qw-tile strong,
.qw-tile small,
.qw-swatch strong,
.qw-swatch small,
.qw-option strong,
.qw-option small {
  display: block;
}

.qw-tile strong,
.qw-option strong {
  font-size: 0.87rem;
  font-weight: 600;
}

.qw-tile small,
.qw-option small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.45;
}

.qw-tile em {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 3px 6px;
  border-radius: var(--radius-sm);
  color: #fff;
  background: var(--orange);
  font-size: 0.55rem;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

.qw-swatches {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.qw-swatch {
  min-width: 0;
  padding: 12px;
  cursor: pointer;
  text-align: center;
}

.qw-swatch i {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  margin-bottom: 10px;
  border: 1px solid #c7cdd5;
  border-radius: var(--radius-sm);
  background: var(--swatch);
}

.qw-swatch strong {
  font-size: 0.76rem;
  font-weight: 600;
}

.qw-swatch small {
  color: var(--orange);
  font-size: 0.58rem;
  font-weight: 700;
  text-transform: uppercase;
}

.qw-group-label {
  margin: 25px 0 9px;
  color: var(--ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.qw-options {
  display: grid;
  gap: 10px;
}

.qw-option {
  display: block;
  cursor: pointer;
}

.qw-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.qw-option > span {
  position: relative;
  display: block;
  min-height: 76px;
  padding: 15px 115px 15px 48px;
  border: 1px solid #cfd6e1;
  border-radius: var(--radius-sm);
  background: #fff;
}

.qw-option > span::before {
  position: absolute;
  top: 25px;
  left: 17px;
  width: 17px;
  height: 17px;
  border: 2px solid #aab3c1;
  border-radius: 50%;
  content: "";
}

.qw-option input:checked + span {
  border-color: var(--orange);
  outline: 1px solid var(--orange);
  background: #fff7f2;
}

.qw-option input:checked + span::before {
  border: 5px solid var(--orange);
  background: #fff;
}

.qw-option em {
  position: absolute;
  top: 50%;
  right: 16px;
  color: var(--orange);
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 700;
  transform: translateY(-50%);
}

.qw-nav {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
  padding-bottom: 2px;
}

.qw-nav--submit {
  justify-content: flex-end;
}

.qw-nav .btn {
  min-width: 130px;
  min-height: 48px;
}

.qw-nav .btn:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.qw-btn-secondary {
  padding: 0 24px;
  cursor: pointer;
  font-weight: 700;
}

.qw-quote {
  display: grid;
  gap: 22px;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}

.qw-estimate-hero {
  overflow: hidden;
  padding: 30px 34px;
  border-radius: var(--radius-md);
  color: #fff;
  background: var(--navy);
  box-shadow: var(--shadow-card);
}

.qw-estimate-hero > span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.qw-estimate-hero strong {
  display: block;
  margin: 6px 0;
  color: #fff;
  font-size: clamp(2.5rem, 5vw, 4.25rem);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.055em;
}

.qw-estimate-hero p {
  color: rgba(255, 255, 255, 0.7);
}

.qw-discount,
.qw-form-section,
.qw-summary,
.qw-included,
.qw-reviews {
  padding: 26px 30px;
}

.qw-discount {
  border: 2px solid var(--orange);
  background: #fff8f4;
}

.qw-discount > span {
  display: inline-block;
  padding: 5px 8px;
  border-radius: var(--radius-sm);
  color: #fff;
  background: var(--orange);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.qw-discount h2,
.qw-form-section h2,
.qw-summary h2,
.qw-included h2,
.qw-reviews h2 {
  margin: 14px 0 0;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
}

.qw-discount > strong {
  display: block;
  margin-top: 12px;
  color: var(--orange);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.05;
}

.qw-discount > em {
  display: inline-block;
  margin-top: 10px;
  color: var(--orange);
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 700;
}

.qw-discount ul,
.qw-included ul,
.qw-summary ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.qw-discount li,
.qw-included li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.55;
}

.qw-discount li strong {
  color: var(--ink);
  font-weight: 700;
}

.qw-discount li svg,
.qw-included li svg {
  margin-top: 2px;
  color: var(--orange);
}

.qw-form-section > h2,
.qw-summary h2,
.qw-included h2,
.qw-reviews h2 {
  margin-top: 0;
}

.qw-form-section > p {
  font-size: 0.88rem;
  line-height: 1.65;
}

.qw-form-pending {
  margin-top: 18px;
  padding: 13px 15px;
  border-left: 3px solid var(--orange);
  color: #754025;
  background: #fff6f0;
  font-size: 0.75rem;
  line-height: 1.55;
}

.qw-lead-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  margin-top: 22px;
}

.qw-lead-form .is-full {
  grid-column: 1 / -1;
}

.qw-lead-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 0.7rem;
  font-weight: 600;
}

.qw-lead-form label small {
  color: var(--muted);
  font-weight: 400;
}

.qw-lead-form input,
.qw-lead-form textarea {
  width: 100%;
  min-height: 47px;
  padding: 11px 13px;
  border: 1px solid #cfd6e1;
  border-radius: var(--radius-sm);
  color: var(--ink);
  background: #fff;
  font: inherit;
}

.qw-lead-form textarea {
  resize: vertical;
}

.qw-lead-form input:focus,
.qw-lead-form textarea:focus,
.qw-counter input:focus,
.qw-tile:focus-visible,
.qw-swatch:focus-visible,
.qw-option input:focus-visible + span,
.qw-counter button:focus-visible,
.qw-quick-picks button:focus-visible,
.qw-btn-secondary:focus-visible,
.qw-reset button:focus-visible,
.qw-success > button:focus-visible {
  outline: 2px solid var(--light-blue);
  outline-offset: 2px;
}

.qw-lead-form .is-invalid {
  border-color: #b42318;
}

.qw-field-error {
  display: none;
  margin-top: 4px;
  color: #b42318;
  font-size: 0.66rem;
}

.qw-lead-form .is-invalid + .qw-field-error {
  display: block;
}

.qw-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}

.qw-tcpa {
  margin: 0;
  color: var(--muted);
  font-size: 0.62rem;
  line-height: 1.55;
}

.qw-form-message {
  min-height: 1.5em;
  margin: 0;
  color: #b42318;
  font-size: 0.76rem;
}

.qw-form-message.is-warning {
  padding: 12px 14px;
  border-left: 3px solid var(--orange);
  color: #754025;
  background: #fff6f0;
  line-height: 1.55;
}

.qw-form-message a {
  color: var(--orange);
  font-weight: 600;
  text-decoration: underline;
}

.qw-call-fallback {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.qw-call-fallback svg {
  width: 16px;
  height: 16px;
}

.qw-ghl-form {
  width: 100%;
  min-height: 0;
  margin-top: 18px;
  border: 0;
}

.qw-summary li {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.8rem;
}

.qw-summary li strong {
  color: var(--ink);
  font-weight: 600;
  text-align: right;
}

.qw-reviews header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 20px;
}

.qw-reviews header > span,
.qw-reviews blockquote > span {
  color: var(--orange);
  font-size: 0.78rem;
  letter-spacing: 0.05em;
}

.qw-reviews header b {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0;
}

.qw-reviews > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.qw-reviews blockquote {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--soft);
}

.qw-reviews blockquote p {
  margin: 9px 0 12px;
  color: var(--muted);
  font-size: 0.74rem;
  line-height: 1.6;
}

.qw-reviews cite {
  color: var(--ink);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 600;
}

.qw-disclaimer {
  margin: 0;
  color: var(--muted);
  text-align: center;
  font-size: 0.66rem;
  line-height: 1.55;
}

.qw-success {
  text-align: center;
}

.qw-success__check {
  display: grid;
  width: 70px;
  height: 70px;
  margin: 0 auto 18px;
  place-items: center;
  border: 2px solid #1e7b4d;
  border-radius: 50%;
  color: #1e7b4d;
  background: #e8f4ed;
}

.qw-success__check svg {
  width: 36px;
  height: 36px;
  fill: currentColor;
}

.qw-success > p {
  color: var(--muted);
}

.qw-success__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-block: 28px;
}

.qw-success__steps > div {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.qw-success__steps span {
  color: var(--orange);
  font-weight: 700;
}

.qw-success__steps small {
  color: var(--muted);
  line-height: 1.5;
}

.qw-success > button {
  display: block;
  margin: 18px auto 0;
  border: 0;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  text-decoration: underline;
}

.qw-quote .qw-estimate-hero > span {
  font-size: 0.62rem;
}

.qw-quote .qw-estimate-hero strong {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.qw-quote .qw-estimate-hero p {
  font-size: 0.82rem;
  line-height: 1.55;
}

.qw-quote .qw-discount h2,
.qw-quote .qw-form-section h2,
.qw-quote .qw-summary h2,
.qw-quote .qw-included h2,
.qw-quote .qw-reviews h2 {
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}

.qw-quote .qw-discount > strong {
  font-size: clamp(1.8rem, 3.2vw, 2.45rem);
}

.qw-quote .qw-discount > em,
.qw-quote .qw-discount li,
.qw-quote .qw-included li,
.qw-quote .qw-summary li,
.qw-quote .qw-form-section > p,
.qw-quote .qw-form-pending {
  font-size: 0.77rem;
}

.qw-quote .qw-discount li,
.qw-quote .qw-included li,
.qw-quote .qw-summary li {
  font-size: 0.78rem;
}

.qw-quote .qw-reviews blockquote p {
  font-size: 0.76rem;
}

.qw-quote .qw-reviews cite,
.qw-quote .qw-reviews header b {
  font-size: 0.72rem;
}

.qw-reset {
  padding-top: 18px;
  text-align: center;
}

.qw-reset button {
  border: 0;
  color: var(--muted);
  background: transparent;
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
  text-decoration: underline;
}

@media (max-width: 980px) {
  .qw-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    height: auto;
    min-height: 100%;
  }

  .qw-preview {
    position: relative;
    z-index: auto;
    top: auto;
    left: auto;
    width: auto;
    grid-column: 1;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.65fr);
  }

  .qw-preview__card {
    grid-row: span 2;
  }

  .qw-preview__art {
    min-height: 240px;
  }

  .qw-steps {
    position: static;
    grid-column: 1;
    height: auto;
    overflow: visible;
  }

  .qw-steps > .qw-step {
    margin-block: 0;
  }
}

@media (max-width: 700px) {
  .qw-shell {
    width: calc(100% - 28px);
  }

  .qw-layout {
    gap: 22px;
    padding-block: 20px 48px;
  }

  .qw-preview {
    display: block;
  }

  .qw-help,
  .qw-trust {
    display: none;
  }

  .qw-preview__art {
    min-height: 160px;
    padding: 14px;
  }

  .qw-preview__art svg {
    max-height: 145px;
  }

  .qw-preview__card > header { padding: 13px 14px; }
  .qw-preview__chips { min-height: 0; padding: 10px 12px; }
  .qw-preview__estimate { padding: 17px 16px; }
  .qw-progress { margin-bottom: 11px; }
  .qw-progress__inner > div:first-child { gap: 12px; font-size: 0.72rem; }

  .qw-step {
    min-height: 0;
    padding: 24px 16px;
  }

  .qw-step h1,
  .qw-step h2 { font-size: clamp(1.55rem, 8.5vw, 2rem); line-height: 1.12; }

  .qw-step__copy {
    margin-bottom: 20px;
  }

  .qw-step__copy p { margin-top: 10px; font-size: 0.9rem; line-height: 1.55; }

  .qw-counter { grid-template-columns: 52px minmax(88px, 1fr) 52px; margin-block: 30px 18px; }
  .qw-counter button { min-height: 52px; }
  .qw-quick-picks button { min-height: 44px; padding-inline: 13px; }

  .qw-tiles,
  .qw-reviews > div,
  .qw-lead-form {
    grid-template-columns: 1fr;
  }

  .qw-swatches {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .qw-tile {
    grid-template-columns: 58px 1fr;
    min-height: 86px;
    gap: 12px;
    padding: 12px;
  }

  .qw-tile__icon { width: 58px; height: 58px; }
  .qw-tile__icon svg { width: 42px; height: 42px; }

  .qw-option > span {
    padding-right: 20px;
  }

  .qw-option em {
    position: static;
    display: block;
    margin-top: 7px;
    transform: none;
  }

  .qw-estimate-hero,
  .qw-discount,
  .qw-form-section,
  .qw-summary,
  .qw-included,
  .qw-reviews {
    padding: 22px 18px;
  }

  .qw-nav { margin-top: 24px; }
  .qw-nav .btn { min-width: 0; min-height: 48px; flex: 1 1 0; padding-inline: 14px; }
  .qw-options { gap: 9px; }
  .qw-option > span { min-height: 72px; padding: 14px 16px 14px 46px; }
  .qw-option > span::before { top: 25px; left: 15px; }
  .qw-swatches { gap: 9px; }
  .qw-swatch { min-height: 44px; padding: 9px; }
  .qw-quote { gap: 16px; }
  .qw-estimate-hero strong { overflow-wrap: anywhere; font-size: clamp(2rem, 12vw, 2.8rem); }
  .qw-ghl-form { min-height: 0; max-width: 100%; }
  .qw-summary li { align-items: flex-start; gap: 12px; }
  .qw-summary li strong { max-width: 58%; }
  .qw-success__steps { grid-template-columns: 1fr; margin-block: 22px; }
  .qw-success > .btn { width: 100%; }
  .qw-reset button, .qw-success > button { min-height: 44px; padding: 8px 10px; }

  .qw-reviews header {
    display: block;
  }

  .qw-reviews header > span {
    display: block;
    margin-top: 8px;
  }
}

@media (max-width: 360px) {
  .qw-shell { width: calc(100% - 24px); }
  .qw-preview__card > header span { display: none; }
  .qw-step { padding-inline: 14px; }
  .qw-counter { grid-template-columns: 48px minmax(82px, 1fr) 48px; }
  .qw-swatches { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .qw-step.is-entering {
    animation: none;
  }

  .qw-progress__track span {
    transition: none;
  }
}
