html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 90px; }
.phone-control { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 0; width: 100%; }
.phone-country { position: relative; min-width: 0; }
.phone-country img { position: absolute; width: 20px; height: 14px; left: 10px; top: 50%; transform: translateY(-50%); pointer-events: none; z-index: 1; object-fit: cover; }
.phone-country select { width: 100%; height: 100%; min-width: 0; padding: 12px 5px 12px 36px; border: 1px solid #d5d8df; border-right: 0; border-radius: 8px 0 0 8px; background: #fff; color: #202633; font: inherit; font-size: 12px; cursor: pointer; }
.phone-control input[type="tel"] { width: 100%; min-width: 0; border-radius: 0 8px 8px 0; }
.lead-form .phone-country select { padding-left: 36px; height: calc(100% - 7px); border-radius: 6px 0 0 6px; margin-bottom: 7px; font-size: 11px; }
.lead-form .phone-country img { margin-top: -3.5px; }
.phone-error { color: #ffc1ad; font-size: 12px; margin: 0 0 8px; }
.phone-error:empty { display: none; }
.logo span { font-size: 20px; line-height: 1.05; }
@media (max-width: 400px) { .phone-control { grid-template-columns: 133px minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Compact flag and dial code leave room for the complete phone number. */
.phone-control { grid-template-columns: 76px minmax(0, 1fr); gap: 0; }
.phone-country img { width: 18px; left: 8px; }
.phone-country select {
  appearance: none; color: transparent; padding-left: 30px; padding-right: 17px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 5 3 3 3-3' fill='none' stroke='%23454b57' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 5px center; background-size: 9px;
}
.phone-country select option { color: #202633; }
.phone-code { position: absolute; left: 31px; top: 50%; transform: translateY(-50%); color: #202633; font-size: 12px; pointer-events: none; z-index: 1; }
.phone-control input[type="tel"] { font-size: 14px; padding-left: 9px; padding-right: 9px; }
@media (min-width: 1201px) {
  .lead__form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lead__form .field--wide, .lead__form .field--half { grid-column: span 1; }
  .lead__form .lead__submit { grid-column: 1 / -1; }
}
@media (min-width: 961px) and (max-width: 1200px) {
  .lead__form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lead__form .field--wide, .lead__form .field--half { grid-column: span 1; }
  .lead__form .field:has(input[name="phone"]), .lead__form .lead__submit { grid-column: 1 / -1; }
}
@media (min-width: 1201px) and (max-width: 1279px) {
  .lead__form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr); }
}
