.site-nav button.nav-cta {
  font-size: inherit;
  white-space: nowrap;
  cursor: pointer;
}

.site-nav button.nav-cta:hover { color: var(--gold-light); }

.inline-action {
  display: inline;
  padding: 0;
  border: 0;
  color: var(--ochre);
  background: transparent;
  font-weight: 750;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.inline-action:hover { color: var(--ink); }

.quiz-invite {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px 38px;
  padding: clamp(23px, 3.9vw, 50px);
  color: var(--light);
  border-radius: var(--radius);
  background:
    radial-gradient(ellipse at 0 120%, #554b2e88, transparent 66%),
    var(--forest);
}

.quiz-invite__copy h2 { font-size: clamp(1.9rem, 3.6vw, 3.05rem); }
.quiz-invite__copy p { max-width: 49ch; margin-top: 9px; color: var(--soft-light); }
.quiz-invite__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.quiz-invite :focus-visible { outline-color: var(--gold-light); }

html.lead-dialog-open {
  padding-inline-end: var(--lead-dialog-scrollbar-width, 0px);
  overflow: hidden;
  overscroll-behavior: none;
}

.lead-dialog-open .mobile-actions { visibility: hidden; }

.lead-dialog {
  --lead-dialog-room: calc(var(--lead-dialog-viewport-height, 100dvh) - 32px);
  position: fixed;
  inset: calc(var(--lead-dialog-viewport-top, 0px) + var(--lead-dialog-viewport-height, 100dvh) * .5) 0 auto;
  width: min(39rem, calc(100% - 32px));
  height: fit-content;
  max-width: none;
  max-height: var(--lead-dialog-room);
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 20px;
  color: var(--ink);
  background: var(--cream);
  box-shadow: 0 26px 78px #0b140dcc;
  transform: translateY(-50%);
}

.lead-dialog::backdrop { background: #101b16bf; }

.lead-dialog__panel {
  display: flex;
  max-height: var(--lead-dialog-room);
  flex-direction: column;
}

.lead-dialog__header {
  display: flex;
  flex: none;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px clamp(18px, 3vw, 29px);
  color: var(--light);
  background: linear-gradient(125deg, #26392b, var(--forest) 72%);
}

.lead-dialog__header h2 {
  margin: 0;
  font-size: clamp(1.55rem, 4vw, 2.05rem);
  line-height: 1.06;
  text-wrap: initial;
}

.lead-dialog__close {
  display: grid;
  width: 44px;
  height: 44px;
  flex: none;
  place-items: center;
  padding: 0;
  border: 1px solid #f6d59673;
  border-radius: 50%;
  color: var(--light);
  background: transparent;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
}

.lead-dialog__close:hover { color: var(--forest); background: var(--gold-light); }
.lead-dialog__close:focus-visible { outline-color: var(--gold-light); }

.lead-dialog__scroll {
  min-height: 0;
  padding: clamp(19px, 3.6vw, 28px) clamp(19px, 3.8vw, 30px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scroll-padding-block: 12px;
}

.lead-dialog fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.lead-dialog button:disabled { opacity: .58; cursor: not-allowed; }
.lead-dialog [aria-busy="true"] button[type="submit"] { cursor: wait; }
.lead-dialog button.text-link { min-height: 44px; color: var(--ochre); text-align: left; }
.lead-dialog button.text-link:not(:disabled):hover { color: var(--ink); }
.lead-dialog__switch { display: flex; flex-wrap: wrap; gap: 0 17px; margin-top: 7px; }

.lead-quiz__progress {
  display: grid;
  gap: 6px;
  margin-bottom: 20px;
  color: var(--muted);
  font-size: .84rem;
  font-weight: 750;
}

.lead-quiz__progress progress {
  width: 100%;
  height: 6px;
  overflow: hidden;
  appearance: none;
  border: 0;
  border-radius: 999px;
  background: #eae0cd;
  color: #79602b;
}

.lead-quiz__progress progress::-webkit-progress-bar { background: #eae0cd; }
.lead-quiz__progress progress::-webkit-progress-value { border-radius: 999px; background: #79602b; }
.lead-quiz__progress progress::-moz-progress-bar { border-radius: 999px; background: #79602b; }

.lead-quiz__step legend {
  width: 100%;
  margin-bottom: 12px;
  padding: 0;
  font-size: clamp(1.13rem, 3.75vw, 1.42rem);
  font-weight: 800;
  line-height: 1.25;
}

.lead-quiz__option {
  display: flex;
  min-height: 51px;
  align-items: center;
  gap: 11px;
  padding: 10px 13px;
  border: 1px solid #bfb099;
  border-radius: 11px;
  background: #fffdf8;
  font-weight: 650;
  line-height: 1.3;
  cursor: pointer;
}

.lead-quiz__option + .lead-quiz__option { margin-top: 8px; }
.lead-quiz__option:hover { border-color: #8b632c; background: #f7edda; }
.lead-quiz__option:has(input:checked) { border-color: #866329; background: #f1e5cd; }
.lead-quiz__option:has(input:focus-visible) { outline: 3px solid #8b531e; outline-offset: 2px; }
.lead-quiz__option:has(input:focus-visible) input { outline: none; }

.lead-quiz__option input, .lead-form__consent input {
  width: 19px;
  height: 19px;
  flex: none;
  margin: 0;
  accent-color: #31513a;
}

.lead-quiz__actions, .lead-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 12px;
  margin-top: 16px;
}

.lead-quiz__actions #lead-next { margin-inline-start: auto; }
.lead-quiz__actions .button, .lead-form__actions .button { min-height: 46px; }

.lead-recommendation {
  margin-bottom: 20px;
  padding: 15px clamp(13px, 3.4vw, 19px);
  border: 1px solid #dbcaaa;
  border-inline-start: 3px solid #a67b38;
  border-radius: 11px;
  background: #f4ead6;
}

.lead-recommendation__title {
  margin-bottom: 6px;
  color: var(--forest);
  font-family: var(--display);
  font-size: clamp(1.28rem, 4vw, 1.6rem);
  line-height: 1.12;
}

.lead-recommendation p { color: var(--muted); }
.lead-recommendation .lead-recommendation__label { margin-bottom: 4px; color: var(--ochre); font-size: .82rem; font-weight: 800; }
.lead-recommendation details { margin-top: 8px; }
.lead-recommendation summary { color: var(--ochre); cursor: pointer; }
.lead-recommendation dl { margin: 5px 0 0; font-size: .89rem; }
.lead-recommendation dl div { display: flex; flex-wrap: wrap; gap: 1px 8px; }
.lead-recommendation dt { color: var(--muted); }
.lead-recommendation dd { margin: 0; font-weight: 650; }

.lead-dialog-form > p { margin-bottom: 13px; color: var(--muted); }
.lead-dialog-form .lead-form__demo { padding: 8px 11px; border-radius: 7px; color: #564426; background: #f0e7d3; font-size: .88rem; }

.lead-form__fields > legend { margin-bottom: 12px; padding: 0; font-weight: 800; }
.lead-form__contacts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }

.lead-form__field {
  display: grid;
  min-width: 0;
  gap: 5px;
  font-size: .9rem;
  font-weight: 750;
}

.lead-form__field :is(input, select) {
  width: 100%;
  min-height: 46px;
  padding: 8px 11px;
  border: 1px solid #a49379;
  border-radius: 8px;
  color: var(--ink);
  background: #fffdf8;
  font: inherit;
  font-size: 1rem;
  font-weight: 500;
  scroll-margin-block: 12px;
}

.lead-form__field input[readonly] { background: #eee6d6; }
.lead-form__field :is(input, select):disabled { opacity: .7; cursor: not-allowed; }
.lead-form__field input[aria-invalid="true"] { border-color: #a1362a; }
.lead-form__error { display: block; color: #8e2b20; font-size: .82rem; font-weight: 650; line-height: 1.35; }
.lead-form__consent + .lead-form__error { margin-top: 4px; }

.lead-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 14px;
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.4;
  cursor: pointer;
}

.lead-form__consent input { margin-top: 1px; }

.lead-dialog__status {
  margin-top: 13px;
  padding: 11px 13px;
  border-inline-start: 3px solid #a88240;
  border-radius: 7px;
  color: var(--muted);
  background: #f3ead8;
  font-size: .9rem;
}

.lead-dialog__status[data-kind="error"] { border-color: #a1362a; color: #692519; background: #faebe2; }
.lead-dialog__status[data-kind="success"] { border-color: #45603b; color: #27402a; background: #e7eee0; }
.lead-dialog__status[data-kind="pending"] { border-color: #866329; }
.lead-dialog__status .button { margin-top: 8px; }

.site-footer.site-footer--full {
  padding-block: clamp(29px, 5vw, 66px) 20px;
  border-top: 1px solid #e4d9c74d;
  background:
    radial-gradient(ellipse at 1% 0, #2d3b2a88, transparent 62%),
    var(--deep);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 1.14fr) minmax(0, 1fr) minmax(0, .82fr);
  gap: 26px clamp(19px, 3vw, 44px);
}

.footer-grid .footer-brand p { max-width: 25ch; margin-top: 13px; }

.footer-grid :is(h2, h3) {
  margin-bottom: 9px;
  color: var(--light);
  font-family: inherit;
  font-size: .97rem;
  font-weight: 800;
  letter-spacing: normal;
  text-wrap: initial;
}

.footer-links ul { margin: 0; padding: 0; list-style: none; }

.footer-links a, .footer-contact a:not(.button) {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  color: var(--soft-light);
  font-size: .91rem;
  line-height: 1.34;
  text-decoration: none;
}

.footer-contact address { margin-top: 2px; color: var(--soft-light); font-size: .9rem; font-style: normal; }
.footer-contact a[href^="tel:"] { color: var(--gold-light); font-size: 1.13rem; font-weight: 800; }
.footer-contact a:not(.button):not([href^="tel:"]) {
  gap: 5px;
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.footer-contact .button { display: flex; width: fit-content; margin-top: 9px; }

.footer-links a:is(:hover, :focus-visible),
.footer-contact a:not(.button):is(:hover, :focus-visible) {
  color: var(--gold-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 9px 24px;
  margin-top: clamp(23px, 4vw, 40px);
  padding-top: 14px;
  border-top: 1px solid #f6d59637;
  color: var(--soft-light);
  font-size: .81rem;
}

.site-footer .footer-legal p { font-size: inherit; }
.footer-legal a { color: var(--gold-light); text-underline-offset: 3px; }

@media (max-width: 980px) {
  .site-nav button.nav-cta { justify-content: flex-start; margin-top: 4px; }
  .lead-dialog-open .nav-toggle[aria-expanded="true"] ~ .site-nav { visibility: hidden; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .mobile-actions button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    padding: 7px 8px;
    border-radius: 8px;
    font-size: .86rem;
    text-align: center;
  }

  .quiz-invite { grid-template-columns: minmax(0, 1fr); }

  .lead-dialog {
    --lead-dialog-room: calc(var(--lead-dialog-viewport-height, 100dvh) - max(7px, env(safe-area-inset-top)) - max(7px, env(safe-area-inset-bottom)));
    inset: calc(var(--lead-dialog-viewport-top, 0px) + max(7px, env(safe-area-inset-top))) max(7px, env(safe-area-inset-right)) auto max(7px, env(safe-area-inset-left));
    width: auto;
    height: var(--lead-dialog-room);
    margin: 0;
    border-radius: 15px;
    transform: none;
  }

  .lead-dialog__panel { height: 100%; }
  .lead-dialog__header { padding: 10px 15px; }
  .lead-dialog__scroll { flex: 1; padding: 17px 16px 21px; }
}

@media (max-width: 560px) {
  .lead-form__contacts { grid-template-columns: minmax(0, 1fr); }
  .footer-grid { gap: 22px 16px; }
  .footer-grid > :is(.footer-brand, .footer-contact) { grid-column: 1 / -1; }
  .footer-links a { display: flex; padding-block: 4px; }
  .footer-links a, .footer-contact a:not(.button) { min-height: 44px; }
}
