/* Route-local port of the SKZI field-service estimate and compact form. */
body.object-video-page #main #professional-installation .price-layout {
  grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
  align-items: stretch;
  gap: 28px 48px;
}
body.object-video-page #main #professional-installation .price-section-header { grid-column: 1 / -1; width: 100%; min-width: 0; }
body.object-video-page #main #professional-installation .price-section-header .price-copy__lead {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--sv-navy-ink, #0f2340);
  font-family: "Lab Grotesque", Arial, sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.025em;
}
body.object-video-page #main #professional-installation .price-copy__lead-tail { display: block; }
body.object-video-page #main #professional-installation .price-section-header .price-copy__proof {
  width: 100%;
  max-width: none;
  margin: 12px 0 0;
  color: var(--sv-gray-500, #6b7789);
  font-family: "Inter", Arial, sans-serif;
  font-size: 18px;
  line-height: 1.56;
}
body.object-video-page #main #professional-installation .price-section-header .price-travel-link {
  display: inline;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
  white-space: normal;
}
body.object-video-page #main #professional-installation .price-section-header .price-travel-link svg {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 6px;
  vertical-align: -.12em;
}
body.object-video-page #main #professional-installation .price-field-card__visual {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 12px;
}
body.object-video-page #main #professional-installation .price-field-card__visual img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 12px;
  object-fit: cover;
}
body.object-video-page #main #professional-installation #estimate-form-card { align-self: stretch; margin: 0; }
body.object-video-page #main #professional-installation .estimate-card__head { padding: 20px 24px; }
body.object-video-page #main #professional-installation .estimate-card__head h3 { margin-top: 8px; font-size: 24px; font-weight: 500; line-height: 1.2; }
body.object-video-page #main #professional-installation .estimate-card__head p { margin-top: 8px; }
body.object-video-page #main #professional-installation .estimate-form { padding: 20px 24px 24px; }
body.object-video-page #main #professional-installation .form-grid { gap: 12px 16px; }
body.object-video-page #main #professional-installation .field { gap: 6px; }
body.object-video-page #main #professional-installation .field :is(input, select) { min-height: 44px; }
body.object-video-page #main #professional-installation [data-inner-method-field],
body.object-video-page #main #professional-installation [data-inner-consents] { margin-top: 14px; }
body.object-video-page #main #professional-installation [data-inner-method-field] legend { margin-bottom: 6px; }
body.object-video-page #main #professional-installation .estimate-submit { min-height: 44px; margin-top: 14px; padding: 10px 18px; }
body.object-video-page #main #professional-installation .price-section-header .price-copy__proof,
body.object-video-page #main #professional-installation .price-section-header .price-copy__proof :is(span, a),
body.object-video-page #main #professional-installation .estimate-card__head p,
body.object-video-page #main #professional-installation .field :is(label, input, select, option),
body.object-video-page #main #professional-installation [data-inner-method-field] :is(legend, label, span),
body.object-video-page #main #professional-installation [data-inner-consents] :is(label, span, a),
body.object-video-page #main #professional-installation .consent :is(span, a),
body.object-video-page #main #professional-installation .consent-note,
body.object-video-page #main #professional-installation .consent-note a {
  font-family: Inter, "Helvetica Neue", Arial, sans-serif !important;
}
@media (max-width: 900px) {
  body.object-video-page #main #professional-installation .price-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.object-video-page #main #professional-installation .price-field-card__visual {
    width: min(420px, 100%);
    aspect-ratio: 941 / 1672;
    justify-self: center;
  }
  body.object-video-page #main #professional-installation .estimate-card__head { padding: 18px 16px; }
  body.object-video-page #main #professional-installation .estimate-card__head h3 { font-size: 22px; }
  body.object-video-page #main #professional-installation .estimate-form { padding: 18px 16px; }
}
@media (max-width: 600px) {
  body.object-video-page #main #professional-installation .price-section-header .price-copy__lead { font-size: 25px; }
  body.object-video-page #main #professional-installation .price-section-header .price-copy__proof { font-size: 16px; }
}
body.object-video-page #main #professional-installation .price-section-header .price-travel-link { color: var(--sv-navy, #002f6c); text-decoration: underline; text-underline-offset: 3px; }
body.object-video-page #main #professional-installation .price-section-header .price-travel-link svg { transition: transform 180ms ease; }
body.object-video-page #main #professional-installation .price-section-header .price-travel-link:is(:hover, :focus-visible) svg { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) {
 body.object-video-page #main #professional-installation .price-section-header .price-travel-link svg { transition: none; }
 body.object-video-page #main #professional-installation .price-section-header .price-travel-link:is(:hover, :focus-visible) svg { transform: none; }
}
body.object-video-page #main #professional-installation {
  background-color: #e4e9f3;
  background-image: radial-gradient(ellipse 58% 108% at 48% 50%, rgba(255, 255, 255, .66) 0%, rgba(255, 255, 255, .52) 34%, rgba(255, 255, 255, .28) 63%, rgba(255, 255, 255, .08) 80%, rgba(255, 255, 255, 0) 92%);
}
body.object-video-page #main #professional-installation .estimate-card { box-shadow: none; }
@media (min-width: 901px) {
  body.object-video-page #main #professional-installation .price-layout {
    max-width: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 390px) minmax(0, calc(min(100%, 1050px) - 390px)) minmax(0, 1fr);
    column-gap: 0;
    row-gap: 56px;
  }

  body.object-video-page #main #professional-installation .price-field-card__visual {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    aspect-ratio: 941 / 1672;
  }

  body.object-video-page #main #professional-installation .price-field-card__visual img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  body.object-video-page #main #professional-installation #estimate-form-card {
    grid-column: 3;
    grid-row: 2;
    width: calc(100% - 32px);
    margin-inline-start: 32px;
    align-self: start;
  }
}
body.object-video-page #main #professional-installation #estimate-form-card .estimate-submit[data-submit] {
  display: flex;
  margin-inline: auto;
}
body.object-video-page #main #professional-installation #estimate-form-card,
body.object-video-page #main #professional-installation #estimate-form-card * {
  font-family: -apple-system, BlinkMacSystemFont, system-ui, Inter, "Helvetica Neue", Arial, sans-serif !important;
}
body.object-video-page #main #professional-installation #estimate-form-card .field label { font-weight: 600 !important; }
body.object-video-page #main #professional-installation #estimate-form-card .estimate-submit[data-submit] { padding: 0 4px !important; }

@media (min-width: 701px) and (max-width: 900px) {
  body.object-video-page #main #professional-installation #estimate-form-card .estimate-card__head { padding: 20px 24px; }
  body.object-video-page #main #professional-installation #estimate-form-card .estimate-form { padding: 20px 24px 24px; }
}

body.object-video-page #main #professional-installation #estimate-form-card .field textarea {
  width: 100%;
  min-height: 68px;
  padding: 10px 13px;
  border: 1px solid rgba(0, 47, 108, 0.22);
  background: #fff;
  color: #1d1d1f;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.4;
  resize: vertical;
}
body.object-video-page #main #professional-installation #estimate-form-card .field textarea:focus {
  border-color: var(--sv-navy, #002f6c);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 47, 108, 0.1);
}
@media (min-width: 901px) {
  body.object-video-page #main #professional-installation .price-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    column-gap: 32px;
  }

  body.object-video-page #main #professional-installation .price-field-card__visual {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
    aspect-ratio: auto;
  }

  body.object-video-page #main #professional-installation .price-field-card__visual img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  body.object-video-page #main #professional-installation #estimate-form-card {
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    margin: 0;
  }
}

@media (max-width: 900px) {
  body.object-video-page #main #professional-installation .price-field-card__visual {
    aspect-ratio: auto;
  }

  body.object-video-page #main #professional-installation .price-field-card__visual img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

body.object-video-page #main #professional-installation #estimate-form-card .estimate-submit[data-submit] {
  min-width: 142px;
  max-width: 100%;
}

@media (min-width: 901px) and (max-width: 1100px) {
  body.object-video-page #main #professional-installation #estimate-form-card .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Compact image and estimate form pair, limited to the opt-in service sections. */
/* The reference uses a flat background behind the photo/form pair. */
body.object-video-page #main #professional-installation.compact-estimate-section::before {
  display: none;
}

body.object-video-page #main #professional-installation.compact-estimate-section {
  --compact-estimate-font: -apple-system, BlinkMacSystemFont, system-ui, Inter, "Helvetica Neue", Arial, sans-serif;
  background: #d7e1ee !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section .price-section-header {
  grid-column: 1 / -1;
  min-width: 0;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card[data-estimate-card] {
  align-self: stretch;
  width: 100%;
  min-width: 0;
  margin: 0;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #fff;
  border-color: transparent;
  box-shadow: none;
}

body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  aspect-ratio: auto;
  border: 0;
  border-radius: 12px;
  background: transparent;
  box-shadow: none;
}

body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual picture {
  display: block;
}

body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: contain;
  object-position: center top;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card__head {
  padding: 20px 24px;
  color: #0f2340;
  font-family: var(--compact-estimate-font) !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card__head h3 {
  margin-top: 8px;
  color: #0f2340;
  font-family: var(--compact-estimate-font) !important;
  font-size: 24px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0.009em;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card__head p {
  margin-top: 8px;
  color: #53657a;
  font-family: var(--compact-estimate-font) !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 25px;
  letter-spacing: -0.022em;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-form {
  padding: 16px 20px 20px;
  color: #0f2340;
  font-family: var(--compact-estimate-font) !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-form :is(.field, .consent, .consent span, .consent a, .consent-note, .consent-note a, .estimate-contact-hint) {
  font-family: var(--compact-estimate-font) !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-form :is(.consent, .consent-note) {
  color: #6b7789;
  font-size: 11px;
  line-height: 1.5;
}

body.object-video-page #main #professional-installation.compact-estimate-section .form-grid {
  gap: 10px 14px;
}

body.object-video-page #main #professional-installation.compact-estimate-section .field {
  gap: 6px;
}

body.object-video-page #main #professional-installation.compact-estimate-section .field--wide {
  grid-column: 1 / -1;
}

body.object-video-page #main #professional-installation.compact-estimate-section .field label {
  color: #0f2340;
  font-family: var(--compact-estimate-font) !important;
  font-size: 12px;
  font-weight: 600;
}

body.object-video-page #main #professional-installation.compact-estimate-section .field :is(input, select) {
  min-height: 40px;
  padding: 0 13px;
  border: 1px solid rgba(0, 47, 108, 0.22);
  border-radius: 8px;
  background: #fff;
  color: #0f2340;
  font-family: var(--compact-estimate-font) !important;
  font-size: 14px;
}

body.object-video-page #main #professional-installation.compact-estimate-section .field :is(input, select):focus {
  border-color: var(--sv-navy, #002f6c);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 47, 108, 0.1);
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-contact-hint {
  margin: 8px 0 0;
  color: rgba(15, 35, 64, 0.72);
  font-size: 12px;
  line-height: 1.4;
}

body.object-video-page #main #professional-installation.compact-estimate-section .estimate-submit[data-submit] {
  display: flex;
  width: 220px !important;
  max-width: 100%;
  height: 42px !important;
  min-height: 40px !important;
  align-items: center;
  justify-content: center;
  margin: 14px auto 0;
  padding-inline: 14px !important;
  box-sizing: border-box;
  border-radius: 8px;
  font-family: var(--compact-estimate-font) !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.29;
}

@media (min-width: 1101px) {
  body.object-video-page #main #professional-installation.compact-estimate-section .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 901px) {
  body.object-video-page #main #professional-installation.compact-estimate-section .price-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    column-gap: 32px;
    row-gap: 32px;
    align-items: stretch;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual {
    position: relative;
    grid-column: 1;
    grid-row: 2;
    align-self: stretch;
    height: auto;
    min-height: 0;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual > picture,
  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% top;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card[data-estimate-card] {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  /* Keep both callouts in the portrait's safe area when the row crops vertically. */
  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual img {
    object-position: 50% 75% !important;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 900px) {
  body.object-video-page #main #professional-installation.compact-estimate-section .price-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual {
    position: static;
    height: auto;
    aspect-ratio: auto;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual > picture,
  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual > img,
  body.object-video-page #main #professional-installation.compact-estimate-section .price-field-card__visual img {
    position: static;
    width: 100%;
    height: auto;
    object-fit: contain;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card[data-estimate-card] {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 734px) {
  body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card__head {
    padding: 18px 16px;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .estimate-card__head h3 {
    font-size: 22px;
    line-height: 26px;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .estimate-form {
    padding: 14px 14px 18px;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Keep form-level overrides ahead of route styles that target the card by ID. */
body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-card__head {
  padding: 20px 24px !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-card__head p {
  margin-top: 8px !important;
  color: #53657a !important;
  font-family: var(--compact-estimate-font) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 25px !important;
  letter-spacing: -0.022em !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-form {
  padding: 16px 20px 20px !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .field :is(input, select) {
  min-height: 40px !important;
  padding: 0 13px !important;
  border-radius: 8px !important;
  font-family: var(--compact-estimate-font) !important;
  font-size: 14px !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-form :is(.consent, .consent-note) {
  color: #6b7789 !important;
  font-family: var(--compact-estimate-font) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-submit[data-submit] {
  width: 220px !important;
  height: 42px !important;
  min-height: 40px !important;
  border-radius: 8px !important;
  font-family: var(--compact-estimate-font) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

@media (max-width: 734px) {
  body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-card__head {
    padding: 18px 16px !important;
  }

  body.object-video-page #main #professional-installation.compact-estimate-section :is(#estimate-form-card, #installation-estimate-card, #heaters-estimate-form-card) .estimate-form {
    padding: 14px 14px 18px !important;
  }
}

body.object-video-page #main #professional-installation .price-section-header .price-copy__lead {font-size:40px;line-height:44px;font-weight:600;letter-spacing:0;}
body.object-video-page #main #professional-installation .price-copy__proof {font-size:17px;line-height:25px;color:#1d1d1f;}
@media(max-width:1068px){body.object-video-page #main #professional-installation .price-section-header .price-copy__lead {font-size:32px;line-height:36px;}}
@media(max-width:734px){body.object-video-page #main #professional-installation .price-section-header .price-copy__lead {font-size:28px;line-height:32px;}}
/* Preserve the reference typography after its older Inter-specific rules. */
body.object-video-page #main #professional-installation {
  padding: 110px 0;
  color: #0f2340;
}
body.object-video-page #main #professional-installation :is(.price-copy__proof, .estimate-card__head h3) {
  color: #1d1d1f;
}
body.object-video-page #main #professional-installation .price-section-header .price-copy__proof {
  font-family: var(--object-ui-font) !important;
  font-size: 17px;
  line-height: 25px;
  color: #1d1d1f;
}
body.object-video-page #main #professional-installation .price-section-header .price-copy__lead {
  color: #1d1d1f;
}
@media (max-width: 600px) {
  body.object-video-page #main #professional-installation {padding:72px 0;}
}
body.object-video-page #main #professional-installation #estimate-form-card .estimate-card__head h3 {color:#1d1d1f;}
@media(max-width:1068px){
  body.object-video-page #main #professional-installation #estimate-form-card .estimate-card__head h3 {font-size:21px;line-height:25px;letter-spacing:.009em;}
}
