.lp-lead-card,
.lp-lead-card * { box-sizing: border-box; }

.lp-lead-card {
  width: 100% !important;
  padding: 30px !important;
  border: 1px solid rgba(18, 40, 75, .12) !important;
  border-radius: 8px !important;
  background: rgba(242, 237, 224, .96) !important;
  box-shadow: 0 22px 70px rgba(0, 17, 45, .12) !important;
  color: #2b2d2f !important;
  font-family: var(--font-body, Montserrat, Arial, sans-serif) !important;
}

.lp-lead-form,
.lp-lead-form fieldset { margin: 0 !important; }
.lp-lead-form fieldset { min-width: 0 !important; padding: 0 !important; border: 0 !important; }
.lp-lead-form fieldset + fieldset { margin-top: 24px !important; }
.lp-lead-form legend,
.lp-form-review h3 {
  width: 100% !important;
  margin: 0 0 14px !important;
  color: #12284b !important;
  font-family: var(--font-heading, 'Noto Serif Display', Georgia, serif) !important;
  font-size: clamp(1.28rem, 1.6vw, 1.62rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.lp-need-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.lp-need-option {
  min-height: 50px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid rgba(18, 40, 75, .13) !important;
  border-radius: 8px !important;
  color: #12284b !important;
  background: rgba(250, 250, 244, .76) !important;
  cursor: pointer !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

.lp-need-option:hover,
.lp-need-option:has(input:checked) {
  border-color: rgba(166, 123, 56, .58) !important;
  background: #fffaf0 !important;
  box-shadow: 0 7px 18px rgba(18, 40, 75, .06) !important;
}

.lp-need-option input,
.lp-consent input {
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  accent-color: #a67b38 !important;
}

.lp-need-option span { font-size: .96rem !important; font-weight: 700 !important; line-height: 1.35 !important; }
.lp-contact-fieldset[disabled] { opacity: .52 !important; }
.lp-contact-fieldset { transition: opacity .2s ease !important; }

.lp-field { display: block !important; margin: 0 0 13px !important; color: #536174 !important; }
.lp-field > span { display: block !important; margin-bottom: 7px !important; font-size: .88rem !important; font-weight: 700 !important; line-height: 1.4 !important; }
.lp-field strong { color: #b66b4d !important; }
.lp-field em { font-size: .78rem !important; font-style: normal !important; font-weight: 500 !important; }
.lp-field input,
.lp-field textarea {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(18, 40, 75, .13) !important;
  border-radius: 8px !important;
  outline: 0 !important;
  color: #18263c !important;
  background: #fafaf4 !important;
  font-family: var(--font-body, Montserrat, Arial, sans-serif) !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}
.lp-field input { height: 50px !important; }
.lp-field textarea { min-height: 72px !important; resize: vertical !important; }
.lp-field input:focus,
.lp-field textarea:focus {
  border-color: #b58945 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(181, 137, 69, .14) !important;
}
.lp-field input[aria-invalid="true"],
.lp-consent input[aria-invalid="true"] { border-color: #b64d4d !important; }

.lp-consent {
  display: grid !important;
  margin: 2px 0 0 !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  color: #657185 !important;
  cursor: pointer !important;
}
.lp-consent input { margin-top: 3px !important; }
.lp-consent span { font-size: .82rem !important; line-height: 1.55 !important; }
.lp-consent a { color: #805e23 !important; text-decoration: underline !important; text-underline-offset: 2px !important; }

.lp-field-error { min-height: 0 !important; margin: 5px 0 0 !important; display: block !important; color: #a33f3f !important; font-size: .78rem !important; font-weight: 600 !important; line-height: 1.35 !important; }
.lp-field-error:empty { display: none !important; }
.lp-consent-error { margin-left: 28px !important; }

.lp-gold-button {
  isolation: isolate !important;
  position: relative !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 22px 0 0 !important;
  padding: 0 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(135, 101, 58, .62) !important;
  border-radius: 10px !important;
  color: #00112d !important;
  background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.58), transparent 48%), linear-gradient(135deg, #f0d9b1 0%, #ead1a8 48%, #dfbd84 100%) !important;
  box-shadow: 0 14px 32px rgba(0,17,45,.14), inset 0 1px rgba(255,255,255,.48) !important;
  font-size: .94rem !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.lp-gold-button::before {
  content: '' !important;
  position: absolute !important;
  z-index: -2 !important;
  inset: -220% -30% !important;
  background: conic-gradient(from 0deg, transparent 0 48deg, rgba(255,255,242,.98) 72deg, #9e6f30 105deg, transparent 138deg 228deg, rgba(255,255,242,.96) 252deg, #9e6f30 286deg, transparent 322deg 360deg) !important;
  animation: lpSubmitOrbit 3.4s linear infinite !important;
}
.lp-gold-button::after {
  content: '' !important;
  position: absolute !important;
  z-index: -1 !important;
  inset: 1px !important;
  border-radius: 8px !important;
  background: radial-gradient(circle at 50% 0%, rgba(255,255,255,.58), transparent 48%), linear-gradient(135deg, #f0d9b1 0%, #ead1a8 48%, #dfbd84 100%) !important;
}
.lp-gold-button > span,
.lp-gold-button > svg { position: relative !important; z-index: 1 !important; }
.lp-gold-button svg { width: 20px !important; height: 20px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; transition: transform .18s ease !important; }
.lp-gold-button:hover { transform: translateY(-2px) !important; border-color: #9e6f30 !important; box-shadow: 0 18px 38px rgba(0,17,45,.19), inset 0 1px rgba(255,255,255,.55) !important; }
.lp-gold-button:hover svg { transform: translateX(4px) !important; }
.lp-gold-button:focus-visible,
.lp-edit-button:focus-visible { outline: 3px solid rgba(181, 137, 69, .42) !important; outline-offset: 3px !important; }
.lp-gold-button:disabled { cursor: wait !important; opacity: .72 !important; transform: none !important; }

.lp-form-review[hidden],
.lp-form-entry[hidden] { display: none !important; }
.lp-review-kicker { display: block !important; margin-bottom: 8px !important; color: #a67b38 !important; font-size: .74rem !important; font-weight: 800 !important; letter-spacing: .18em !important; text-transform: uppercase !important; }
.lp-form-review > p { margin: -4px 0 20px !important; color: #657185 !important; font-size: .92rem !important; line-height: 1.55 !important; }
.lp-review-list { margin: 0 !important; border-top: 1px solid rgba(18,40,75,.1) !important; }
.lp-review-list > div { display: grid !important; padding: 11px 0 !important; grid-template-columns: minmax(118px, .42fr) minmax(0, 1fr) !important; gap: 16px !important; border-bottom: 1px solid rgba(18,40,75,.1) !important; }
.lp-review-list dt { color: #6a7585 !important; font-size: .78rem !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .06em !important; }
.lp-review-list dd { margin: 0 !important; color: #12284b !important; font-size: .92rem !important; font-weight: 700 !important; overflow-wrap: anywhere !important; }
.lp-review-actions { display: grid !important; margin-top: 22px !important; grid-template-columns: .8fr 1.2fr !important; gap: 10px !important; }
.lp-review-actions .lp-gold-button { margin: 0 !important; }
.lp-edit-button { min-height: 58px !important; padding: 0 15px !important; border: 1px solid rgba(18,40,75,.18) !important; border-radius: 10px !important; color: #12284b !important; background: rgba(250,250,244,.72) !important; font-size: .82rem !important; font-weight: 800 !important; cursor: pointer !important; }
.lp-edit-button:hover { border-color: rgba(166,123,56,.58) !important; background: #fffaf0 !important; }
.lp-submit-note { margin: 12px 0 0 !important; text-align: center !important; color: #6f7887 !important; font-size: .76rem !important; }

@keyframes lpSubmitOrbit { to { transform: rotate(360deg); } }

@media (max-width: 560px) {
  .lp-lead-card { padding: 22px 18px !important; }
  .lp-need-grid { grid-template-columns: 1fr !important; }
  .lp-review-actions { grid-template-columns: 1fr !important; }
  .lp-review-list > div { grid-template-columns: 1fr !important; gap: 4px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-gold-button::before { animation: none !important; }
  .lp-gold-button,
  .lp-gold-button svg,
  .lp-need-option { transition: none !important; }
}

/* FORM SPACING REFINEMENT 2026-08 */
.lp-lead-form .lp-contact-fieldset { margin-top: 34px !important; }
.lp-contact-fieldset > legend { margin-bottom: 18px !important; }
.lp-contact-fieldset .lp-field { margin-bottom: 17px !important; }
.lp-contact-fieldset .lp-consent { margin-top: 8px !important; }
.lp-form-entry > .lp-gold-button { margin-top: 28px !important; }
.lp-form-review > p { margin-bottom: 24px !important; }
.lp-review-list > div { padding-top: 14px !important; padding-bottom: 14px !important; }
.lp-review-actions { margin-top: 28px !important; gap: 14px !important; }
.lp-submit-note { margin-top: 16px !important; line-height: 1.5 !important; }

@media (max-width: 560px) {
  .lp-lead-form .lp-contact-fieldset { margin-top: 30px !important; }
  .lp-contact-fieldset .lp-field { margin-bottom: 16px !important; }
  .lp-form-entry > .lp-gold-button { margin-top: 26px !important; }
  .lp-review-actions { gap: 12px !important; }
}

/* REVIEW LAYOUT REFINEMENT 2026-08 */
.lp-review-list > div {
  grid-template-columns: minmax(140px, .44fr) minmax(0, 1fr) !important;
}
.lp-review-actions {
  grid-template-columns: minmax(190px, .95fr) minmax(0, 1.25fr) !important;
}
.lp-edit-button {
  padding-right: 12px !important;
  padding-left: 12px !important;
  white-space: nowrap !important;
  line-height: 1.2 !important;
}

@media (max-width: 560px) {
  .lp-review-list > div,
  .lp-review-actions { grid-template-columns: 1fr !important; }
  .lp-edit-button { white-space: normal !important; }
}

/* REVIEW NOTE SPACING 2026-08 */
.lp-form-review > .lp-submit-note {
  margin: 22px 0 0 !important;
  padding: 0 8px !important;
  line-height: 1.6 !important;
}

/* SHARED LEAD FORM MODAL 2026-08 */
html.lp-lead-modal-open,
body.lp-lead-modal-open { overflow: hidden !important; }

.lp-lead-modal[hidden] { display: none !important; }

.lp-lead-modal {
  position: fixed !important;
  z-index: 100000 !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
}

.lp-lead-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 17, 45, .78) !important;
  backdrop-filter: blur(9px) !important;
  -webkit-backdrop-filter: blur(9px) !important;
}

.lp-lead-modal-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(100%, 720px) !important;
  max-height: calc(100dvh - 40px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid rgba(226, 193, 125, .5) !important;
  border-radius: 12px !important;
  background: #f2ede0 !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .42) !important;
}

.lp-lead-modal-header {
  position: relative !important;
  flex: 0 0 auto !important;
  padding: 24px 72px 20px 28px !important;
  border-bottom: 1px solid rgba(18, 40, 75, .1) !important;
  background: linear-gradient(135deg, #fffaf0 0%, #eee4d0 100%) !important;
}

.lp-lead-modal-kicker {
  display: block !important;
  margin-bottom: 6px !important;
  color: #9e6f30 !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.lp-lead-modal-title {
  margin: 0 !important;
  color: #12284b !important;
  font-family: var(--font-heading, 'Noto Serif Display', Georgia, serif) !important;
  font-size: clamp(1.55rem, 3vw, 2rem) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.lp-lead-modal-description {
  margin: 7px 0 0 !important;
  color: #657185 !important;
  font-size: .88rem !important;
  line-height: 1.5 !important;
}

.lp-lead-modal-close {
  position: absolute !important;
  top: 20px !important;
  right: 22px !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 !important;
  border: 1px solid rgba(18, 40, 75, .18) !important;
  border-radius: 50% !important;
  color: #12284b !important;
  background: rgba(255, 250, 240, .82) !important;
  cursor: pointer !important;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease !important;
}

.lp-lead-modal-close:hover {
  border-color: #a67b38 !important;
  color: #805e23 !important;
  background: #fff !important;
}

.lp-lead-modal-close:focus-visible {
  outline: 3px solid rgba(181, 137, 69, .42) !important;
  outline-offset: 3px !important;
}

.lp-lead-modal-close svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

.lp-lead-modal-body {
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
}

.lp-lead-modal .lp-lead-card {
  opacity: 1 !important;
  transform: none !important;
  padding: 26px 28px 30px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

@media (max-width: 560px) {
  .lp-lead-modal { padding: 0 !important; }
  .lp-lead-modal-panel {
    width: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .lp-lead-modal-header { padding: 18px 62px 15px 18px !important; }
  .lp-lead-modal-close { top: 14px !important; right: 14px !important; width: 40px !important; height: 40px !important; }
  .lp-lead-modal-title { font-size: 1.45rem !important; }
  .lp-lead-modal-description { font-size: .8rem !important; }
  .lp-lead-modal .lp-lead-card { padding: 20px 16px calc(26px + env(safe-area-inset-bottom)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-lead-modal-backdrop { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .lp-lead-modal-close { transition: none !important; }
}
