.hsc-estimate {
  background: var(--hm-secondary-hero-background);
  color: var(--hm-white);
  margin: 0;
  padding: clamp(64px, 6vw, 88px) 24px;
  width: 100%;
  scroll-margin-top: 110px;
}

.hsc-estimate__inner {
  align-items: start;
  display: grid;
  gap: clamp(48px, 5vw, 72px);
  grid-template-columns: minmax(280px, .54fr) minmax(540px, 1fr);
  margin-inline: auto;
  max-width: var(--hm-wide);
  width: 100%;
}

.hsc-estimate__intro {
  align-self: start;
  max-width: 430px;
  min-width: 0;
  padding-top: 22px;
}

.hsc-estimate__eyebrow,
.hsc-estimate__step-status,
.hsc-estimate__progress,
.hsc-estimate label,
.hsc-estimate button,
.hsc-estimate__optional,
.hsc-estimate__trust {
  font-family: var(--hm-display);
}

.hsc-estimate__eyebrow {
  color: var(--hm-brand-light);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .14em;
  margin: 0 0 18px;
  text-transform: uppercase;
}

.hsc-estimate__intro h1 {
  color: var(--hm-white);
  font-family: var(--hm-display);
  font-size: clamp(3.7rem, 5.4vw, 5.6rem);
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: .98;
  margin: 0 0 28px;
  max-width: 650px;
}

.hsc-estimate__intro h1 span { display: block; }

.hsc-estimate__intro > p:not(.hsc-estimate__eyebrow) {
  font-size: 1.25rem;
  line-height: 1.55;
  max-width: 460px;
}

.hsc-estimate__intro a { color: var(--hm-white); }
.hsc-estimate__phone { margin-top: 38px; }
.hsc-estimate__phone .hsc-phone { font-weight: 700; }

.hsc-estimate__panel {
  background: var(--hm-canvas);
  border: 1px solid rgba(214, 221, 224, .82);
  color: var(--hm-ink);
  min-width: 0;
  padding: clamp(44px, 4vw, 60px);
}

.hsc-estimate-form,
.hsc-estimate__success {
  margin-inline: auto;
  max-width: 720px;
}

.hsc-estimate__step-status {
  color: var(--hm-brand-deep);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .1em;
  margin-bottom: 14px;
  text-transform: uppercase;
}

.hsc-estimate__progress {
  display: grid;
  font-size: .95rem;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: 0 0 42px;
  padding: 0;
}

.hsc-estimate__progress-item {
  align-items: center;
  border-top: 3px solid var(--hm-line);
  color: var(--hm-slate);
  display: grid;
  gap: 3px 8px;
  grid-template-columns: auto 1fr auto;
  padding-top: 12px;
}

.hsc-estimate__progress-item.is-current { border-color: var(--hm-action); border-top-width: 5px; color: var(--hm-ink); font-weight: 700; padding-top: 10px; }
.hsc-estimate__progress-item.is-complete { border-color: var(--hm-brand-deep); }
.hsc-estimate__progress-check { display: none; font-size: 1rem; font-weight: 700; margin-left: 6px; }
.hsc-estimate__progress-item.is-complete .hsc-estimate__progress-check { display: inline; }
.hsc-estimate__progress-number { font-weight: 700; }

.hsc-estimate__stage {
  border-top: 1px solid var(--hm-line);
  margin-top: 44px;
  padding-top: 44px;
}

.hsc-estimate-enhanced .hsc-estimate__stage[hidden],
.hsc-estimate-enhanced .hsc-estimate__conditional[hidden] { display: none; }

.hsc-estimate__stage h2,
.hsc-estimate__success h2 {
  font-family: var(--hm-display);
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.04;
  margin: 0 0 12px;
}

.hsc-estimate__stage > p { color: var(--hm-slate); margin: 0 0 30px; }
.hsc-estimate__choice-grid { border: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; }
.hsc-estimate__choice:last-child { grid-column: 1 / -1; }
.hsc-estimate__choice { cursor: pointer; display: block; margin: 0; position: relative; }
.hsc-estimate__choice input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.hsc-estimate__choice span {
  align-items: center;
  border: 1px solid var(--hm-line);
  display: flex;
  font: 600 1.12rem/1.25 var(--hm-display);
  min-height: 66px;
  padding: 16px 48px 16px 18px;
  position: relative;
}
.hsc-estimate__choice:hover span { border-color: var(--hm-brand); }
.hsc-estimate__choice span::after { border: 2px solid var(--hm-slate); border-radius: 50%; content: ""; height: 20px; position: absolute; right: 18px; width: 20px; }
.hsc-estimate__choice input:checked + span { background: var(--hm-mist); border: 2px solid var(--hm-brand-deep); box-shadow: inset 4px 0 var(--hm-brand-deep); padding-block: 15px; padding-left: 17px; }
.hsc-estimate__choice input:checked + span::after { background: var(--hm-brand); border: 5px solid var(--hm-white); box-shadow: 0 0 0 2px var(--hm-brand); }
.hsc-estimate__choice input:focus-visible + span { outline: 3px solid var(--hm-action); outline-offset: 4px; }
.hsc-estimate__choice input:disabled + span { cursor: not-allowed; opacity: .58; }

.hsc-estimate__fields { display: grid; gap: 20px; }
.hsc-estimate__fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hsc-estimate__conditional { margin-bottom: 22px; }
.hsc-estimate__required-note { color: var(--hm-slate); font: 500 .9rem/1.4 var(--hm-body); margin: -16px 0 24px !important; }
.hsc-estimate__add-ons > p { font: 600 1.05rem/1.4 var(--hm-display); margin: 0 0 8px; }
.hsc-estimate label { display: block; font-size: 1.05rem; font-weight: 600; letter-spacing: .01em; }
.hsc-estimate input:not([type="radio"]):not([type="checkbox"]),
.hsc-estimate select,
.hsc-estimate textarea {
  background: var(--hm-white);
  border: 1px solid #9ba9af;
  border-radius: 0;
  color: var(--hm-ink);
  display: block;
  font: 1.05rem/1.35 var(--hm-body);
  margin-top: 8px;
  min-height: 50px;
  padding: 11px 12px;
  width: 100%;
}
.hsc-estimate textarea { resize: vertical; }
.hsc-estimate__check { align-items: center; display: flex !important; gap: 10px; margin-top: 14px; }
.hsc-estimate__check input { height: 22px; margin: 0; width: 22px; }
.hsc-estimate__optional { color: var(--hm-slate); font-size: .82rem; font-weight: 400; margin-left: 5px; }
.hsc-estimate__field-error { color: #9b1c1c; display: block; font-weight: 700; margin-top: 7px; }
.hsc-estimate [aria-invalid="true"] { border: 2px solid #9b1c1c !important; }
.hsc-estimate__error-summary { background: #fff3f2; border-left: 5px solid #9b1c1c; margin: 0 0 32px; padding: 18px 22px; }
.hsc-estimate__error-summary h2 { font: 600 1.35rem/1.2 var(--hm-display); margin: 0 0 8px; }
.hsc-estimate__error-summary h3 { font: 600 1.25rem/1.2 var(--hm-display); margin: 0 0 8px; }
.hsc-estimate__error-summary ul { margin: 0; padding-left: 22px; }
.hsc-estimate__error-summary a { color: inherit; font-weight: 700; }
.hsc-estimate__stage-actions { align-items: center; display: flex; gap: 18px; justify-content: flex-end; margin-top: 30px; }
.hsc-estimate button { border-radius: 0; min-height: 50px; }
.hsc-estimate button:disabled { background: var(--hm-brand-light) !important; color: var(--hm-ink) !important; cursor: not-allowed; opacity: .68; }
.hsc-estimate__back { background: transparent; border: 0; color: var(--hm-ink); cursor: pointer; font-size: 1rem; font-weight: 600; text-decoration: underline; }
.hsc-estimate__disclosure { color: var(--hm-slate); font-size: .98rem; line-height: 1.5; margin: 22px 0 0; }
.hsc-estimate__honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
.hsc-estimate__noscript { background: var(--hm-mist); margin-top: 32px; padding: 16px; }

.hsc-estimate__trust {
  border-top: 1px solid var(--hm-line);
  display: flex;
  font-size: 1rem;
  gap: 14px 28px;
  justify-content: center;
  list-style: none;
  margin: 42px auto 0;
  max-width: 760px;
  padding: 24px 0 0;
}
.hsc-estimate__trust li::before { color: var(--hm-brand); content: "✓"; font-weight: 700; margin-right: 7px; }
.hsc-estimate__success p { max-width: 680px; }
.hsc-estimate__success h3 { font: 600 1.5rem/1.2 var(--hm-display); margin-top: 32px; }
.hsc-estimate__success dl { border-block: 1px solid var(--hm-line); }
.hsc-estimate__success dl div { display: grid; gap: 14px; grid-template-columns: minmax(140px, .35fr) 1fr; padding: 10px 0; }
.hsc-estimate__success dt { font: 600 1rem/1.4 var(--hm-display); }
.hsc-estimate__success dd { margin: 0; }
.hsc-estimate__success dd { min-width: 0; overflow-wrap: anywhere; }
.hsc-estimate__success-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 28px; }
.hsc-estimate__success-actions button { background: var(--hm-brand); border: 0; color: var(--hm-white); font-weight: 600; padding: 10px 18px; }

@media (max-width: 980px) {
  .hsc-estimate { padding: 36px 24px; }
  .hsc-estimate__inner { gap: 32px; grid-template-columns: minmax(0, 1fr); }
  .hsc-estimate__intro { max-width: 720px; padding: 0; }
  .hsc-estimate__intro h1 { font-size: clamp(3.1rem, 7vw, 4.4rem); margin-bottom: 18px; }
  .hsc-estimate__intro > p:not(.hsc-estimate__eyebrow) { margin-block: 10px; max-width: 680px; }
  .hsc-estimate__phone { margin-top: 18px !important; }
}

@media (max-width: 600px) {
  .hsc-estimate { padding: 32px 16px; }
  .hsc-estimate__inner { gap: 28px; }
  .hsc-estimate__intro { padding: 0 4px; }
  .hsc-estimate__intro h1 { font-size: 3rem; }
  .hsc-estimate__intro h1,
  .hsc-estimate__stage h2 { overflow-wrap: anywhere; }
  .hsc-estimate__intro > p:not(.hsc-estimate__eyebrow) { font-size: 1.08rem; }
  .hsc-estimate__panel { padding: 28px 20px 24px; }
  .hsc-estimate__progress { font-size: .82rem; gap: 5px; }
  .hsc-estimate__progress-item { display: block; }
  .hsc-estimate__progress-number { margin-right: 4px; }
  .hsc-estimate__choice-grid,
  .hsc-estimate__fields--two { grid-template-columns: 1fr; }
  .hsc-estimate__choice:last-child { grid-column: auto; }
  .hsc-estimate__stage-actions { align-items: stretch; flex-direction: column-reverse; }
  .hsc-estimate__stage-actions .wp-element-button { width: 100%; }
  .hsc-estimate__trust { align-items: flex-start; flex-direction: column; }
  .hsc-estimate__success dl div { grid-template-columns: 1fr; gap: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .hsc-estimate * { scroll-behavior: auto !important; transition: none !important; }
}

@media (forced-colors: active) {
  .hsc-estimate__choice input:checked + span { border-width: 3px; }
  .hsc-estimate__choice input:checked + span::after { background: CanvasText; }
  .hsc-estimate__progress-item.is-current { border-top-width: 6px; }
}

@media print {
  body { background: #fff !important; color: #000 !important; }
  .hsc-estimate__intro, .hsc-estimate__trust, .hsc-estimate__success-actions, header, footer, .wp-site-blocks > *:not(main), .entry-content > *:not(.hsc-estimate) { display: none !important; }
	.hsc-estimate { background: #fff !important; color: #000 !important; display: block; min-height: 0; padding: 0; }
	.hsc-estimate__inner { display: block; max-width: none; }
	.hsc-estimate__panel { background: #fff !important; border: 0; padding: 0; }
	.hsc-estimate__success { max-width: none; }
}
