/* ===== LW shared base (copied into every LW showroom module so each module stands alone) ===== */
.lw-s {
  --lw-green: #439775;
  --lw-green-dark: #377f62;
  --lw-green-light: #7fc4a6;
  --lw-charcoal: #4e5154;
  --lw-charcoal-dark: #2a2a2a;
  --lw-cream: #edebe4;
  --lw-grey-light: #f4f4f4;
  --lw-border: #e0e5e2;
  --lw-white: #fff;
  --lw-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --lw-sans: Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--lw-charcoal);
  font-family: var(--lw-sans);
  padding: 112px 24px;
}
.lw-s *, .lw-s *::before, .lw-s *::after { box-sizing: border-box; }
.lw-s p { margin: 0; }
.lw-s .lw-wrap { max-width: 1200px; margin: 0 auto; }

/* Type scale (Figma LW/* text styles) */
.lw-s .lw-eyebrow { margin: 0; font-family: var(--lw-serif); font-weight: 700; font-size: 20px; line-height: 1.2; letter-spacing: 1.5px; text-transform: uppercase; color: var(--lw-green); }
.lw-s .lw-h2 { margin: 0; font-family: var(--lw-serif); font-weight: 700; font-size: 44px; line-height: 1.18; color: var(--lw-charcoal); }
.lw-s .lw-h3 { margin: 0; font-family: var(--lw-serif); font-weight: 700; font-size: 30px; line-height: 1.2; color: var(--lw-charcoal); }
.lw-s .lw-h4 { margin: 0; font-family: var(--lw-serif); font-weight: 700; font-size: 24px; line-height: 1.24; color: var(--lw-charcoal); }
.lw-s .lw-body-l, .lw-s .lw-body-l p { font-size: 18px; line-height: 1.65; }
.lw-s .lw-body-l p + p { margin-top: 18px; }
.lw-s .lw-body { font-size: 16px; line-height: 1.6; }
.lw-s .lw-note { font-style: italic; font-size: 15px; line-height: 1.55; }
.lw-s .lw-quote { font-family: var(--lw-serif); font-style: italic; font-weight: 500; line-height: 1.35; }
.lw-s .lw-divider { display: block; width: 48px; height: 2px; background: var(--lw-green); }

/* Buttons (Figma "Button": Primary / Outline / Outline Light) */
.lw-s .lw-btns { display: flex; flex-wrap: wrap; gap: 16px; }
.lw-s .lw-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 19px 32px; border-radius: 8px; border: 1.5px solid transparent;
  font-family: var(--lw-sans); font-size: 18px; line-height: 1.2; font-weight: 400;
  text-decoration: none; text-align: center; cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.lw-s .lw-btn--primary { background: var(--lw-green); border-color: var(--lw-green); color: var(--lw-white); }
.lw-s .lw-btn--primary:hover, .lw-s .lw-btn--primary:focus-visible { background: var(--lw-green-dark); border-color: var(--lw-green-dark); color: var(--lw-white); }
.lw-s .lw-btn--outline { background: var(--lw-white); border-color: var(--lw-green); color: var(--lw-green); }
.lw-s .lw-btn--outline:hover, .lw-s .lw-btn--outline:focus-visible { background: var(--lw-green); color: var(--lw-white); }
.lw-s .lw-btn--outline-light { background: transparent; border-color: var(--lw-white); color: var(--lw-white); }
.lw-s .lw-btn--outline-light:hover, .lw-s .lw-btn--outline-light:focus-visible { background: var(--lw-white); color: var(--lw-charcoal-dark); }
.lw-s .lw-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Checklist (Figma "Checklist" Light/Dark) */
.lw-s .lw-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.lw-s .lw-checklist li { display: flex; gap: 14px; align-items: flex-start; margin: 0; font-size: 18px; line-height: 1.65; }
.lw-s .lw-checklist svg { flex: none; width: 24px; height: 24px; margin-top: 3px; }

/* Image placeholder until a photo is chosen */
.lw-s .lw-img { position: relative; overflow: hidden; background: var(--lw-cream); }
.lw-s .lw-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

@media (max-width: 1024px) {
  .lw-s { padding: 88px 32px; }
  .lw-s .lw-h2 { font-size: 38px; }
}
@media (max-width: 767px) {
  .lw-s { padding: 64px 20px; }
  .lw-s .lw-eyebrow { font-size: 16px; }
  .lw-s .lw-h2 { font-size: 32px; }
  .lw-s .lw-h3 { font-size: 26px; }
  .lw-s .lw-h4 { font-size: 22px; }
  .lw-s .lw-body-l, .lw-s .lw-body-l p, .lw-s .lw-checklist li { font-size: 16px; }
  .lw-s .lw-btns { flex-direction: column; align-items: stretch; }
  .lw-s .lw-btn { font-size: 16px; padding: 17px 20px; }
}
/* ===== end LW shared base ===== */

.lw-s.lw-inq { background: var(--lw-grey-light); padding-top: 72px; padding-bottom: 112px; }
.lw-s.lw-inq .lw-inq__cols { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: start; }
.lw-s.lw-inq .lw-inq__card, .lw-s.lw-inq .lw-inq__side { min-width: 0; }
.lw-s.lw-inq .lw-inq__card { background: var(--lw-white); border: 1px solid var(--lw-border); border-radius: 8px; padding: 48px; }
.lw-s.lw-inq .lw-inq__empty { font-size: 16px; opacity: .7; }
.lw-s.lw-inq .lw-inq__small { font-size: 14px; line-height: 1.55; }

/* ---- Sidebar ---- */
.lw-s.lw-inq .lw-inq__side { display: flex; flex-direction: column; gap: 24px; }
.lw-s.lw-inq .lw-inq__expect { background: var(--lw-white); border: 1px solid var(--lw-border); border-radius: 8px; padding: 36px; display: flex; flex-direction: column; gap: 20px; }
.lw-s.lw-inq .lw-inq__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.lw-s.lw-inq .lw-inq__step { margin: 0; display: flex; align-items: center; gap: 14px; font-size: 18px; line-height: 1.65; }
.lw-s.lw-inq .lw-inq__num { flex: none; width: 36px; height: 36px; border-radius: 18px; background: var(--lw-cream); color: var(--lw-green); font-weight: 700; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; }
.lw-s.lw-inq .lw-inq__step.is-current .lw-inq__num { background: var(--lw-green); color: var(--lw-white); }
.lw-s.lw-inq .lw-inq__call { background: var(--lw-charcoal); color: var(--lw-white); border-radius: 8px; padding: 36px; display: flex; flex-direction: column; gap: 14px; }
.lw-s.lw-inq .lw-inq__call .lw-h4 { color: var(--lw-white); }
.lw-s.lw-inq .lw-inq__call-body { opacity: .85; }
.lw-s.lw-inq .lw-inq__call-cta { padding-top: 6px; }
.lw-s.lw-inq .lw-inq__call-hours { opacity: .75; }
.lw-s.lw-inq .lw-inq__show { background: var(--lw-cream); border-radius: 8px; padding: 36px; display: flex; flex-direction: column; gap: 8px; }
.lw-s.lw-inq .lw-inq__show-note { opacity: .8; }

/* ---- HubSpot form (legacy embed rendered with css:'' so these styles apply) ---- */
.lw-s.lw-inq .hs-form fieldset { max-width: none !important; border: 0; margin: 0; padding: 0; }
.lw-s.lw-inq .hs-form fieldset + fieldset { margin-top: 18px; }
.lw-s.lw-inq .hs-form fieldset.form-columns-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.lw-s.lw-inq .hs-form fieldset.form-columns-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lw-s.lw-inq .hs-form fieldset .hs-form-field, .lw-s.lw-inq .hs-form fieldset .input { width: auto !important; float: none !important; margin: 0 !important; }
.lw-s.lw-inq .hs-form .hs-form-field > label { display: block; margin: 0 0 8px; font-weight: 500; font-size: 14px; line-height: 1.2; color: var(--lw-charcoal); }
.lw-s.lw-inq .hs-form .hs-form-required { color: inherit; margin-left: 2px; }
.lw-s.lw-inq .hs-form .hs-field-desc { font-size: 14px; line-height: 1.55; opacity: .65; margin: 0 0 8px; }

/* Section headings: add Rich text blocks in the form ("Your details", "Your project", …) */
.lw-s.lw-inq .hs-form .hs-richtext { margin: 0; }
.lw-s.lw-inq .hs-form fieldset:has(.hs-richtext) + fieldset { margin-top: 18px; }
.lw-s.lw-inq .hs-form .hs-richtext h1, .lw-s.lw-inq .hs-form .hs-richtext h2, .lw-s.lw-inq .hs-form .hs-richtext h3, .lw-s.lw-inq .hs-form .hs-richtext h4, .lw-s.lw-inq .hs-form .hs-richtext p strong {
  display: block; margin: 0; font-family: var(--lw-serif); font-weight: 700; font-size: 24px; line-height: 1.24; color: var(--lw-charcoal);
}
.lw-s.lw-inq .hs-form fieldset:not(:first-of-type):has(.hs-richtext) { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--lw-border); }

/* Inputs */
.lw-s.lw-inq .hs-form .hs-input:not([type=checkbox]):not([type=radio]) {
  width: 100% !important; height: 50px; padding: 0 16px; border: 1px solid var(--lw-charcoal); border-radius: 6px; background: var(--lw-white);
  font-family: var(--lw-sans); font-size: 16px; line-height: 1.6; color: var(--lw-charcoal); box-shadow: none; -webkit-appearance: none; appearance: none;
}
.lw-s.lw-inq .hs-form textarea.hs-input { height: 132px !important; padding: 14px 16px !important; resize: vertical; }
.lw-s.lw-inq .hs-form select.hs-input {
  padding-right: 44px !important; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%234E5154' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important;
}
.lw-s.lw-inq .hs-form .hs-input::placeholder { color: var(--lw-charcoal); opacity: .55; }
.lw-s.lw-inq .hs-form .hs-input:focus { outline: 2px solid var(--lw-green); outline-offset: 1px; border-color: var(--lw-green); }
.lw-s.lw-inq .hs-form .hs-input.invalid.error { border-color: #c0392b; }

/* Multiple checkboxes → chips */
.lw-s.lw-inq .hs-form .inputs-list { list-style: none; margin: 0; padding: 0; }
.lw-s.lw-inq .hs-form .inputs-list.multi-container { display: flex; flex-wrap: wrap; gap: 10px; }
.lw-s.lw-inq .hs-form .inputs-list.multi-container li { margin: 0; }
.lw-s.lw-inq .hs-form .inputs-list.multi-container label {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px 10px 14px; border: 1px solid var(--lw-charcoal); border-radius: 20px;
  background: var(--lw-white); font-size: 14px; line-height: 1.55; cursor: pointer; transition: background-color .15s, border-color .15s;
}
.lw-s.lw-inq .hs-form .inputs-list.multi-container label:has(input:checked) { border-color: var(--lw-green); background: #e3f2eb; }
.lw-s.lw-inq .hs-form input[type=checkbox] { width: 16px; height: 16px; margin: 0; accent-color: var(--lw-green); flex: none; }

/* Consent */
.lw-s.lw-inq .hs-form .legal-consent-container { margin-top: 28px; }
.lw-s.lw-inq .hs-form .legal-consent-container .inputs-list label { display: flex; gap: 12px; align-items: flex-start; font-style: italic; font-size: 15px; line-height: 1.55; cursor: pointer; }
.lw-s.lw-inq .hs-form .legal-consent-container input[type=checkbox] { width: 18px; height: 18px; margin-top: 2px; }
.lw-s.lw-inq .hs-form .legal-consent-container p { margin: 8px 0 0; font-size: 14px; line-height: 1.55; opacity: .75; }
.lw-s.lw-inq .hs-form .legal-consent-container a { color: var(--lw-green); }

/* Errors */
.lw-s.lw-inq .hs-form .hs-error-msgs { list-style: none; margin: 6px 0 0; padding: 0; }
.lw-s.lw-inq .hs-form .hs-error-msg, .lw-s.lw-inq .hs-form .hs-main-font-element { font-size: 14px; color: #c0392b; }

/* Submit */
.lw-s.lw-inq .hs-form .hs_submit { margin-top: 28px; }
.lw-s.lw-inq .hs-form .hs_submit .actions { display: flex; align-items: center; gap: 20px; margin: 0; padding: 0; }
.lw-s.lw-inq .hs-form input[type=submit].hs-button {
  flex: none; padding: 19px 32px; border: 1.5px solid var(--lw-green); border-radius: 8px; background: var(--lw-green); color: var(--lw-white);
  font-family: var(--lw-sans); font-size: 18px; line-height: 1.2; cursor: pointer; -webkit-appearance: none; appearance: none; transition: background-color .2s;
}
.lw-s.lw-inq .hs-form input[type=submit].hs-button:hover, .lw-s.lw-inq .hs-form input[type=submit].hs-button:focus-visible { background: var(--lw-green-dark); border-color: var(--lw-green-dark); }
.lw-s.lw-inq .lw-inq__submit-note { margin: 0; font-size: 14px; line-height: 1.55; opacity: .75; }
.lw-s.lw-inq .submitted-message { font-family: var(--lw-serif); font-size: 24px; text-align: center; padding: 40px 0; }

@media (max-width: 1024px) {
  .lw-s.lw-inq .lw-inq__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 767px) {
  .lw-s.lw-inq { padding-top: 40px; padding-bottom: 64px; }
  .lw-s.lw-inq .lw-inq__card { padding: 28px 20px; }
  .lw-s.lw-inq .lw-inq__expect, .lw-s.lw-inq .lw-inq__call, .lw-s.lw-inq .lw-inq__show { padding: 28px 24px; }
  .lw-s.lw-inq .lw-inq__step { font-size: 16px; }
  .lw-s.lw-inq .hs-form fieldset.form-columns-2, .lw-s.lw-inq .hs-form fieldset.form-columns-3 { grid-template-columns: 1fr; gap: 18px; }
  .lw-s.lw-inq .hs-form .hs_submit .actions { flex-direction: column; align-items: stretch; }
  .lw-s.lw-inq .hs-form input[type=submit].hs-button { width: 100%; font-size: 16px; }
}

/* ---- New forms editor (v4) embed: HubSpot exposes styling through these CSS variables ---- */
.lw-s.lw-inq .lw-inq__form--v4 {
  --hsf-global__font-family: var(--lw-sans);
  --hsf-global__font-size: 16px;
  --hsf-global__color: var(--lw-charcoal);
  --hsf-global-error__color: #c0392b;
  --hsf-row__horizontal-spacing: 20px;
  --hsf-row__vertical-spacing: 18px;
  --hsf-module__vertical-spacing: 18px;
  --hsf-heading__font-family: var(--lw-serif);
  --hsf-heading__color: var(--lw-charcoal);
  --hsf-richtext__font-family: var(--lw-sans);
  --hsf-richtext__font-size: 16px;
  --hsf-richtext__color: var(--lw-charcoal);
  --hsf-field-label__font-family: var(--lw-sans);
  --hsf-field-label__font-size: 14px;
  --hsf-field-label__color: var(--lw-charcoal);
  --hsf-field-label-requiredindicator__color: var(--lw-charcoal);
  --hsf-field-description__font-family: var(--lw-sans);
  --hsf-field-description__color: var(--lw-charcoal);
  --hsf-field-input__font-family: var(--lw-sans);
  --hsf-field-input__color: var(--lw-charcoal);
  --hsf-field-input__background-color: var(--lw-white);
  --hsf-field-input__placeholder-color: rgba(78, 81, 84, .55);
  --hsf-field-input__border-color: var(--lw-charcoal);
  --hsf-field-input__border-width: 1px;
  --hsf-field-input__border-style: solid;
  --hsf-field-input__border-radius: 6px;
  --hsf-field-input__padding: 12px 16px;
  --hsf-field-textarea__font-family: var(--lw-sans);
  --hsf-field-textarea__color: var(--lw-charcoal);
  --hsf-field-textarea__background-color: var(--lw-white);
  --hsf-field-textarea__placeholder-color: rgba(78, 81, 84, .55);
  --hsf-field-textarea__border-color: var(--lw-charcoal);
  --hsf-field-textarea__border-width: 1px;
  --hsf-field-textarea__border-style: solid;
  --hsf-field-textarea__border-radius: 6px;
  --hsf-field-textarea__padding: 14px 16px;
  --hsf-field-checkbox__color: var(--lw-green);
  --hsf-field-checkbox__border-color: var(--lw-charcoal);
  --hsf-field-checkbox__border-width: 1.4px;
  --hsf-field-checkbox__border-style: solid;
  --hsf-field-radio__color: var(--lw-green);
  --hsf-field-radio__border-color: var(--lw-charcoal);
  --hsf-button__font-family: var(--lw-sans);
  --hsf-button__font-size: 18px;
  --hsf-button__color: var(--lw-white);
  --hsf-button__background-color: var(--lw-green);
  --hsf-button__border-radius: 8px;
  --hsf-button__padding: 19px 32px;
  --hsf-button__box-shadow: none;
  --hsf-background__background-color: transparent;
  --hsf-background__border-width: 0;
  --hsf-background__padding: 0;
  --hsf-erroralert__font-family: var(--lw-sans);
  --hsf-infoalert__font-family: var(--lw-sans);
}
.lw-s.lw-inq .lw-inq__submit-note--v4 { margin-top: 16px; font-size: 14px; line-height: 1.55; opacity: .75; }

/* ---- Lifewood-styled form (form_mode: custom) — Figma "Form Card" ---- */
.lw-s.lw-inq .lw-cf { margin: 0; }
.lw-s.lw-inq .lw-cf__section + .lw-cf__section { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--lw-border); }
.lw-s.lw-inq .lw-cf__heading { margin: 0 0 18px; font-family: var(--lw-serif); font-weight: 700; font-size: 24px; line-height: 1.24; color: var(--lw-charcoal); }
.lw-s.lw-inq .lw-cf__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.lw-s.lw-inq .lw-cf__field { margin: 0; min-width: 0; }
.lw-s.lw-inq .lw-cf__field--full { grid-column: 1 / -1; }
.lw-s.lw-inq .lw-cf .hs-form-field > label, .lw-s.lw-inq .lw-cf .lw-cf__label { display: block; margin: 0 0 8px; font-weight: 500; font-size: 14px; line-height: 1.2; color: var(--lw-charcoal); }
.lw-s.lw-inq .lw-cf select.hs-input:has(option[value=""]:checked) { color: rgba(78, 81, 84, .55); }   /* placeholder look until a value is picked */
.lw-s.lw-inq .lw-cf select.hs-input option { color: var(--lw-charcoal); }
.lw-s.lw-inq .lw-cf .hs-field-desc { margin: 10px 0 0; }
.lw-s.lw-inq .lw-cf__msg { margin: 6px 0 0; font-size: 14px; line-height: 1.4; color: #c0392b; }
.lw-s.lw-inq .lw-cf__msg:empty { display: none; }
.lw-s.lw-inq .lw-cf .is-error .hs-input:not([type=checkbox]) { border-color: #c0392b; }
.lw-s.lw-inq .lw-cf__error { margin-top: 24px; padding: 14px 18px; border-radius: 8px; background: #fbeaea; color: #8e2a1f; font-size: 15px; line-height: 1.5; }
.lw-s.lw-inq .lw-cf__error[hidden] { display: none; }
.lw-s.lw-inq .lw-cf input[type=submit].hs-button:disabled { opacity: .6; cursor: wait; }
.lw-s.lw-inq .lw-cf.is-sending { pointer-events: none; }
.lw-s.lw-inq .lw-cf.is-sending .hs_submit { pointer-events: auto; }

@media (max-width: 767px) {
  .lw-s.lw-inq .lw-cf__grid { grid-template-columns: 1fr; gap: 18px; }
}

/* ---- Override the Elevate theme's own form styling (it adds a border, padding, rounded corners and a full-width button to every .hs-form) ---- */
.lw-s.lw-inq form.hs-form { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; max-width: none !important; margin: 0 !important; }
.lw-s.lw-inq .hs-form .hs_submit { margin: 28px 0 0 !important; padding: 0 !important; }
.lw-s.lw-inq .hs-form .hs_submit .actions { display: flex !important; align-items: center; gap: 20px; margin: 0 !important; padding: 0 !important; }
.lw-s.lw-inq .hs-form input[type=submit].hs-button { width: auto !important; display: inline-block !important; flex: 0 0 auto !important; margin: 0 !important; }
.lw-s.lw-inq .hs-form .lw-inq__submit-note { flex: 1 1 auto; min-width: 0; margin: 0; }
.lw-s.lw-inq .hs-form .inputs-list.multi-container input[type=checkbox] { width: 16px !important; height: 16px !important; flex: none; }
.lw-s.lw-inq .hs-form .legal-consent-container input[type=checkbox] { width: 18px !important; height: 18px !important; flex: none; }
@media (max-width: 767px) {
  .lw-s.lw-inq .hs-form .hs_submit .actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .lw-s.lw-inq .hs-form input[type=submit].hs-button { width: 100% !important; }
}

/* ---- HubSpot form, developer embed (form_kind v4dev): the real HubSpot form rendered as plain HTML (hsfc-* classes).
   HubSpot and the Elevate theme style it through --hsf-* variables, so we set those to the Figma values,
   then add the bits the variables can't do (section dividers, chips, chevrons, note beside the button). ---- */
.lw-s.lw-inq .hs-form-html .hsfc-Renderer, .lw-s.lw-inq .hs-form-html .hsfc-FormWrapper, .lw-s.lw-inq .hs-form-html .hsfc-Form, .lw-s.lw-inq .hs-form-html .hsfc-Step {
  --hsf-global__font-family: var(--lw-sans) !important;
  --hsf-global__font-size: 16px !important;
  --hsf-global__color: var(--lw-charcoal) !important;
  --hsf-global__error-color: #c0392b !important;
  --hsf-background__background-color: transparent !important;
  --hsf-background__background-image: none !important;
  --hsf-background__border-width: 0 !important;
  --hsf-background__border-radius: 0 !important;
  --hsf-background__padding: 0 !important;
  --hsf-row__horizontal-spacing: 20px !important;
  --hsf-row__vertical-spacing: 18px !important;
  --hsf-module__vertical-spacing: 18px !important;
  --hsf-heading__font-family: var(--lw-serif) !important;
  --hsf-heading__color: var(--lw-charcoal) !important;
  --hsf-heading__text-shadow: none !important;
  --hsf-richtext__font-family: var(--lw-sans) !important;
  --hsf-richtext__color: var(--lw-charcoal) !important;
  --hsf-field-label__font-family: var(--lw-sans) !important;
  --hsf-field-label__font-size: 14px !important;
  --hsf-field-label__color: var(--lw-charcoal) !important;
  --hsf-field-label-requiredindicator__color: var(--lw-charcoal) !important;
  --hsf-field-description__font-family: var(--lw-sans) !important;
  --hsf-field-description__color: var(--lw-charcoal) !important;
  --hsf-field-input__font-family: var(--lw-sans) !important;
  --hsf-field-input__color: var(--lw-charcoal) !important;
  --hsf-field-input__background-color: #fff !important;
  --hsf-field-input__placeholder-color: rgba(78, 81, 84, .55) !important;
  --hsf-field-input__border-color: var(--lw-charcoal) !important;
  --hsf-field-input__border-width: 1px !important;
  --hsf-field-input__border-style: solid !important;
  --hsf-field-input__border-radius: 6px !important;
  --hsf-field-input__padding: 12px 16px !important;
  --hsf-field-textarea__font-family: var(--lw-sans) !important;
  --hsf-field-textarea__color: var(--lw-charcoal) !important;
  --hsf-field-textarea__background-color: #fff !important;
  --hsf-field-textarea__placeholder-color: rgba(78, 81, 84, .55) !important;
  --hsf-field-textarea__border-color: var(--lw-charcoal) !important;
  --hsf-field-textarea__border-width: 1px !important;
  --hsf-field-textarea__border-style: solid !important;
  --hsf-field-textarea__border-radius: 6px !important;
  --hsf-field-textarea__padding: 14px 16px !important;
  --hsf-button__font-family: var(--lw-sans) !important;
  --hsf-button__font-size: 18px !important;
  --hsf-button__font-weight: 400 !important;
  --hsf-button__color: #fff !important;
  --hsf-button__background-color: var(--lw-green) !important;
  --hsf-button__background-image: none !important;
  --hsf-button__border-color: var(--lw-green) !important;
  --hsf-button__border-width: 1.5px !important;
  --hsf-button__border-style: solid !important;
  --hsf-button__border-radius: 8px !important;
  --hsf-button__padding: 19px 32px !important;
  --hsf-button__box-shadow: none !important;
  --hsf-button__width: auto !important;
  --hsf-button--hover__color: #fff !important;
  --hsf-button--hover__background-color: var(--lw-green-dark) !important;
  --hsf-button--hover__border-color: var(--lw-green-dark) !important;
  --hsf-button--focus__color: #fff !important;
  --hsf-button--focus__background-color: var(--lw-green-dark) !important;
  --hsf-button--focus__border-color: var(--lw-green-dark) !important;
  --hsf-navigationrow-buttons__justify-content: flex-start !important;
  --hsf-navigationrow-buttons-single__justify-content: flex-start !important;
}
.lw-s.lw-inq .hs-form-html form, .lw-s.lw-inq .hs-form-html .hsfc-Form { border: 0 !important; padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; border-radius: 0 !important; max-width: none !important; }
.lw-s.lw-inq .hs-form-html .hsfc-Heading { margin: 0 !important; font-size: 24px !important; line-height: 1.24 !important; font-weight: 700 !important; }
.lw-s.lw-inq .hs-form-html .hsfc-Step__Content > .hsfc-Row:has(> .hsfc-Heading):not(:first-child) { margin-top: 10px; padding-top: 28px; border-top: 1px solid var(--lw-border); }
.lw-s.lw-inq .hs-form-html .hsfc-FieldLabel { font-weight: 500 !important; font-size: 14px !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
.lw-s.lw-inq .hs-form-html .hsfc-TextInput, .lw-s.lw-inq .hs-form-html .hsfc-PhoneInput { min-height: 50px !important; }
.lw-s.lw-inq .hs-form-html .hsfc-TextareaInput { min-height: 132px !important; }
.lw-s.lw-inq .hs-form-html .hsfc-TextInput:focus, .lw-s.lw-inq .hs-form-html .hsfc-TextareaInput:focus { outline: 2px solid var(--lw-green) !important; outline-offset: 1px; border-color: var(--lw-green) !important; }
/* Product checkboxes as chips (the section heading above them replaces the field label) */
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup > .hsfc-FieldLabel { display: none !important; }
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup__Options { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup__Options > div { margin: 0 !important; }
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel {
  display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; padding: 10px 16px 10px 14px;
  border: 1px solid var(--lw-charcoal); border-radius: 20px; background: #fff; font-weight: 400 !important; font-size: 14px !important; line-height: 1.55 !important; cursor: pointer;
}
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel:has(input:checked) { border-color: var(--lw-green); background: #e3f2eb; }
.lw-s.lw-inq .hs-form-html input.hsfc-CheckboxInput[type=checkbox] {
  -webkit-appearance: auto !important; appearance: auto !important; width: 16px !important; height: 16px !important; min-width: 16px !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; accent-color: var(--lw-green); flex: none;
}
/* Chevron instead of HubSpot's triangle caret */
.lw-s.lw-inq .hs-form-html .hsfc-DropdownInput__Caret span, .lw-s.lw-inq .hs-form-html .hsfc-PhoneInput__FlagAndCaret__Caret {
  display: inline-block !important; width: 16px !important; height: 16px !important; border: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%234E5154' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center !important;
}
.lw-s.lw-inq .hs-form-html .hsfc-DropdownOptions { border: 1px solid var(--lw-border) !important; border-radius: 6px !important; box-shadow: 0 8px 24px rgba(0, 0, 0, .08) !important; }
.lw-s.lw-inq .hs-form-html .hsfc-DropdownOptions__List__ListItem { font-size: 15px !important; color: var(--lw-charcoal) !important; }
.lw-s.lw-inq .hs-form-html .hsfc-DropdownOptions__List__ListItem:hover, .lw-s.lw-inq .hs-form-html .hsfc-DropdownOptions__List__ListItem--selected { background: #e3f2eb !important; color: #2f6b53 !important; }
/* Submit row: button + note */
.lw-s.lw-inq .hs-form-html .hsfc-Button { min-height: 0 !important; line-height: 1.2 !important; }
.lw-s.lw-inq .hs-form-html .hsfc-NavigationRow { margin-top: 28px !important; }
.lw-s.lw-inq .hs-form-html .hsfc-NavigationRow__Buttons { display: flex !important; align-items: center !important; gap: 20px !important; }
.lw-s.lw-inq .hs-form-html .lw-inq__submit-note { margin: 0; font-size: 14px; line-height: 1.55; opacity: .75; }
.lw-s.lw-inq .hs-form-html .hsfc-CheckboxFieldGroup__Options .hsfc-FieldLabel { max-width: 100%; }
.lw-s.lw-inq .hs-form-html .hsfc-TextInput, .lw-s.lw-inq .hs-form-html .hsfc-TextareaInput { min-width: 0 !important; max-width: 100% !important; }
@media (max-width: 767px) {
  .lw-s.lw-inq .hs-form-html .hsfc-Row { display: flex !important; flex-direction: column !important; gap: 18px !important; }
  .lw-s.lw-inq .hs-form-html .hsfc-Row > * { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .lw-s.lw-inq .hs-form-html .hsfc-NavigationRow__Buttons { flex-direction: column !important; align-items: stretch !important; gap: 12px !important; }
  .lw-s.lw-inq .hs-form-html .hsfc-Button { width: 100% !important; }
}

/* Loading safety net: backup form / reload message (shown only if HubSpot's form can't load) */
.lw-cf[hidden], .lw-s.lw-inq .lw-inq__form[hidden], .lw-s.lw-inq .lw-inq__loaderr[hidden], .lw-s.lw-inq .lw-inq__submit-note[hidden] { display: none !important; }
.lw-s.lw-inq .lw-inq__loaderr { padding: 24px; border: 1px solid var(--lw-border); border-radius: 8px; background: var(--lw-grey-light); }
.lw-s.lw-inq .lw-inq__loaderr p { margin: 0 0 16px; font-size: 16px; line-height: 1.55; }
.lw-s.lw-inq .lw-inq__reload { font: inherit; font-weight: 500; font-size: 15px; padding: 12px 24px; border-radius: 4px; border: 0; background: var(--lw-green); color: #fff; cursor: pointer; }
