.edlf {
  --edlf-ink:#101810;
  --edlf-text:#243958;
  --edlf-muted:#243958;
  --edlf-line:#cbded1;
  --edlf-soft:#dfe9e4;
  --edlf-track:#dbe6e1;
  --edlf-accent:#03672e;
  --edlf-accent-soft:#e4f2e9;
  --edlf-err:#b42318;
  --edlf-err-soft:#fff4f2;
  color:var(--edlf-ink);
  font-size:16px;
  line-height:1.5;
  min-width:0;
  width:100%
}

.edlf * {
  box-sizing:border-box
}

.edlf [hidden] {
  display:none!important
}

.edlf-card {
  background:#fff;
  border-radius:16px;
  box-shadow:0 1px 2px rgba(20,40,30,.04),0 12px 32px -20px rgba(20,40,30,.18);
  margin:0;
  padding:36px
}

.edlf-steps {
  align-items:center;
  display:grid;
  gap:12px;
  grid-template-columns:1fr 1fr auto;
  margin-bottom:28px
}

.edlf-steps i {
  background:var(--edlf-track);
  border-radius:4px;
  display:block;
  height:4px
}

.edlf-steps i.on {
  background:var(--edlf-accent)
}

.edlf-steps span {
  color:var(--edlf-muted);
  font-size:13px;
  white-space:nowrap
}

.edlf-h2 {
  color:var(--edlf-ink);
  font-size:24px;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.25;
  margin:0 0 22px
}

.edlf-q {
  border:0;
  margin:0 0 26px;
  min-width:0;
  padding:0
}

.edlf-lab,.edlf-q>legend {
  color:var(--edlf-ink);
  display:block;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  margin:0 0 10px;
  padding:0
}

.edlf-opt {
  color:var(--edlf-muted);
  font-weight:400
}

.edlf-chips {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.edlf-chip {
  display:inline-flex;
  margin:0;
  position:relative
}

.edlf-chip input {
  cursor:pointer;
  height:100%;
  inset:0;
  margin:0;
  opacity:0;
  position:absolute;
  width:100%;
  z-index:1
}

.edlf-chip span {
  background:#fff;
  border:1px solid var(--edlf-line);
  border-radius:22px;
  color:var(--edlf-ink);
  display:inline-block;
  font-size:14px;
  line-height:1.3;
  padding:11px 16px;
  transition:background .12s,border-color .12s,color .12s
}

.edlf-chip input:checked+span,.edlf-chip:hover span {
  border-color:var(--edlf-accent)
}

.edlf-chip input:checked+span {
  background:var(--edlf-accent);
  color:#fff
}

.edlf-chip input:focus-visible+span {
  outline:3px solid var(--edlf-ink);
  outline-offset:2px
}

.edlf-q.invalid .edlf-chip span {
  border-color:var(--edlf-err)
}

.edlf-field {
  margin:0 0 22px;
  min-width:0
}

.edlf-row {
  display:grid;
  gap:16px;
  grid-template-columns:1fr 1fr
}

.edlf input[type=email],.edlf input[type=tel],.edlf input[type=text],.edlf input[type=url],.edlf textarea {
  background:#fff;
  border:1px solid var(--edlf-line);
  border-radius:10px;
  box-shadow:none;
  color:var(--edlf-ink);
  font:inherit;
  font-size:15px;
  height:auto;
  margin:0;
  min-width:0;
  padding:12px 14px;
  width:100%
}

.edlf input::placeholder,.edlf textarea::placeholder {
  color: #243958
}

.edlf textarea {
  min-height:76px;
  resize:vertical
}

.edlf input:focus,.edlf textarea:focus {
  border-color:var(--edlf-accent);
  box-shadow:0 0 0 3px var(--edlf-accent-soft);
  outline:none
}

.edlf [aria-invalid=true] {
  background:var(--edlf-err-soft)!important;
  border-color:var(--edlf-err)!important
}

.edlf-hint {
  color:var(--edlf-muted)
}

.edlf-err,.edlf-hint {
  font-size:13px;
  margin:8px 0 0
}

.edlf-err {
  color:var(--edlf-err)
}

.edlf-err:empty {
  display:none
}

.edlf-form-err {
  margin:0 0 14px
}

.edlf-divider {
  background:var(--edlf-soft);
  height:1px;
  margin:6px 0 22px
}

.edlf-consent {
  align-items:flex-start;
  color:var(--edlf-text);
  cursor:pointer;
  display:flex;
  font-size:14px;
  font-weight:400;
  gap:10px;
  margin:0 0 20px
}

.edlf-consent input {
  accent-color:var(--edlf-accent);
  flex:none;
  height:17px;
  margin:2px 0 0;
  width:17px
}

.edlf-consent a {
  color:var(--edlf-accent)
}

.edlf-hp {
  height:1px!important;
  left:-9999px!important;
  opacity:0;
  position:absolute!important;
  width:1px!important
}

.edlf-foot {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  gap:18px
}

.edlf-btn {
  background:var(--edlf-accent);
  border:0;
  border-radius:10px;
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  padding:15px 28px
}

.edlf-btn:hover {
  filter:brightness(1.1)
}

.edlf-btn[disabled] {
  cursor:wait;
  opacity:.65
}

.edlf-foot small {
  color:var(--edlf-muted);
  font-size:13px
}

.edlf-link {
  background:none;
  border:0;
  color:var(--edlf-accent);
  cursor:pointer;
  font:inherit;
  font-size:15px;
  font-weight:600;
  padding:4px 0;
  text-decoration:underline
}

.edlf-btn:focus-visible,.edlf-link:focus-visible {
  outline:3px solid var(--edlf-ink);
  outline-offset:2px
}

.edlf-note {
  align-items:center;
  background:#fff;
  border:1px solid var(--edlf-soft);
  border-radius:12px;
  color:var(--edlf-ink);
  display:flex;
  font-size:15px;
  gap:12px;
  margin:0 0 20px;
  padding:14px 18px
}

.edlf-note svg {
  color:var(--edlf-accent);
  flex:none
}

.edlf-phone {
  max-width:360px
}

.edlf-ty h2 {
  color:var(--edlf-ink);
  font-size:28px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.2;
  margin:0 0 8px
}

.edlf-ty>p {
  color:var(--edlf-text);
  margin:0 0 20px
}

.edlf-book {
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 32px -20px rgba(20,40,30,.18);
  min-height:640px;
  padding:12px
}

.edlf-book .meetings-iframe-container {
  min-height:620px
}

.edlf-msg {
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 32px -20px rgba(20,40,30,.18);
  padding:24px 28px
}

.edlf-msg a {
  color:var(--edlf-accent);
  font-weight:600;
  margin-right:16px
}

@media (max-width:640px) {
  .edlf-card {
    padding:24px 18px
  }

  .edlf-row {
    grid-template-columns:1fr
  }

  .edlf-ty h2 {
    font-size:24px
  }

}

@media (prefers-reduced-motion:reduce) {
  .edlf-chip span {
    transition:none
  }

}

.edlf,.edlf input,.edlf textarea,.edlf button {
  font-family:IBM Plex Sans,sans-serif
}

.ec-contact-form-panel .edlf-card {
  padding:0;
  box-shadow:none;
  border:0;
  border-radius:0;
  background:transparent
}

.ec-contact-form-panel .edlf-note {
  margin-bottom:24px
}

.ec-contact-form-panel .edlf-book,.ec-contact-form-panel .edlf-msg {
  box-shadow:none;
  border:1px solid #dce8e0
}

.edlf-q>legend,.edlf-lab {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  font-size:15px;
  color:#101810;
  margin-bottom:12px;
  letter-spacing:-.005em
}

.edlf-opt {
  font-family:IBM Plex Sans,sans-serif;
  font-size:14px
}

.edlf-q {
  margin-bottom:28px
}

.edlf-h2,.edlf-ty h2 {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  color:#101810
}

.edlf-steps span {
  font-family:IBM Plex Sans,sans-serif
}

.edlf-chip span {
  font-family:IBM Plex Sans,sans-serif;
  font-size:14px;
  padding:10px 16px;
  border-color:#cbded1;
  color: #243958
}

.edlf-chip:hover span {
  background:#f1f8f3
}

.edlf-chip input:checked+span {
  font-family:IBM Plex Sans,sans-serif;
  background:var(--edlf-accent);
  color:#fff;
  box-shadow:0 4px 12px -6px rgba(3,103,46,.6)
}

.edlf input[type=email],.edlf input[type=text],.edlf input[type=tel],.edlf textarea {
  border-color:#cbded1;
  background:#fbfdfc
}

.edlf input:focus,.edlf textarea:focus {
  background:#fff
}

.edlf .edlf-btn {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  padding:14px 30px;
  box-shadow:0 8px 18px -10px rgba(3,103,46,.7)
}

.edlf .edlf-link {
  font-family:IBM Plex Sans,sans-serif
}

.edlf-note {
  font-family:IBM Plex Sans,sans-serif
}

.edlf-hint {
  margin-top:6px
}

.edlf-req-note {
  font-size:13px;
  color:var(--edlf-muted);
  margin:-12px 0 20px
}

.edlf-req-note b,#edlfStep1 label[for=edlf-email]:after,#edlfStep1 .edlf-row .edlf-lab:after,#edlfStep1 .edlf-q>legend:after {
  color:#c0392b;
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400
}

#edlfStep1 label[for=edlf-email]:after,#edlfStep1 .edlf-row .edlf-lab:after,#edlfStep1 .edlf-q>legend:after {
  content:"*";
  margin-left:3px
}

#edlfStep2Form .edlf-q>legend:after {
  content:"(optional)";
  margin-left:6px;
  font-family:IBM Plex Sans,sans-serif;
  font-size:14px;
  color:var(--edlf-muted)
}

#edlf {
  scroll-margin-top:130px
}

#edlfStep3:focus {
  outline:none
}

.edlf-ty {
  background:#fff;
  border:1px solid var(--edlf-soft);
  border-radius:16px;
  padding:32px;
  box-shadow:0 16px 40px -24px rgba(16,24,40,.22)
}

.edlf-ty:before {
  content:"";
  display:block;
  width:44px;
  height:44px;
  border-radius:50%;
  margin:0 0 18px;
  background:var(--edlf-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3.2 3L15 6.6' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat
}

.edlf .edlf-ty h2 {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  font-size:24px;
  line-height:1.3;
  margin:0 0 10px
}

.edlf-ty>p {
  font-size:16px;
  line-height:1.55;
  margin:0 0 6px;
  color:var(--edlf-text)
}

.edlf-ty strong {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  color:var(--edlf-ink);
  word-break:break-all
}

.edlf-ty .edlf-book {
  box-shadow:none;
  border:1px solid var(--edlf-soft);
  border-radius:12px;
  padding:0;
  margin:18px 0 10px;
  overflow:hidden
}

.edlf-ty .edlf-hint a {
  color:var(--edlf-accent)
}

.edlf-ty .edlf-msg {
  box-shadow:none;
  border:0;
  background:transparent;
  padding:0;
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px
}

.edlf-ty .edlf-msg a {
  display:inline-block;
  margin:0;
  padding:10px 18px;
  border:1px solid var(--edlf-accent);
  border-radius:10px;
  text-decoration:none;
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400
}

.ec-contact-form-panel .edlf-ty {
  border:0;
  box-shadow:none;
  padding:0
}

@media (max-width:640px) {
  .edlf-ty {
    padding:24px 20px
  }

  .edlf .edlf-ty h2 {
    font-size:21px
  }

}

.edlf-ty:before {
  content:none!important;
  display:none!important
}

.edlf-icon {
  width:48px;
  height:48px;
  border-radius:14px;
  background:var(--edlf-accent-soft);
  color:var(--edlf-accent);
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 16px
}

.edlf-icon-lg {
  width:64px;
  height:64px;
  border-radius:50%;
  margin:0 auto 18px
}

.edlf-note svg {
  color:var(--edlf-accent)
}

html.edlf-lock,html.edlf-lock body {
  overflow:hidden!important
}

.edlf-modal {
  position:fixed!important;
  inset:0;
  z-index:2147483000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  width:auto!important;
  margin:0!important
}

.edlf-modal[hidden] {
  display:none!important
}

.edlf-modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(10,14,30,.58)
}

.edlf-modal-dialog {
  position:relative;
  background:#fff;
  border-radius:18px;
  width:min(1060px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.45);
  padding:26px 30px 18px;
  outline:none
}

.edlf-modal-dialog.is-success {
  width:min(580px,100%)
}

.edlf-modal-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:0 0 14px
}

.edlf-modal-kicker {
  font-family:IBM Plex Sans,sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--edlf-accent);
  margin:0 0 6px
}

.edlf .edlf-modal-head h2,.edlf .edlf-success h2 {
  font-family:IBM Plex Sans,sans-serif;
  font-weight:400;
  font-size:24px;
  line-height:1.3;
  color:var(--edlf-ink);
  margin:0 0 6px
}

.edlf-modal-sub {
  font-size:15px;
  color:var(--edlf-muted);
  margin:0
}

.edlf-modal-x {
  flex:none;
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--edlf-line);
  background:#fff;
  color:var(--edlf-ink);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0
}

.edlf-modal-x:hover {
  background:var(--edlf-accent-soft)
}

.edlf-modal-x:focus-visible {
  outline:3px solid var(--edlf-accent);
  outline-offset:2px
}

.edlf-cal {
  min-height:680px;
  border:1px solid var(--edlf-soft);
  border-radius:12px;
  overflow:hidden
}

.edlf-cal iframe {
  width:100%!important;
  min-height:680px;
  border:0
}

.edlf-modal-alt {
  margin:10px 0 0;
  text-align:center
}

.edlf-modal-alt a,.edlf-ty .edlf-hint a {
  color:var(--edlf-accent)
}

.edlf-success {
  text-align:center;
  padding:28px 12px 18px;
  max-width:560px;
  margin:0 auto
}

.edlf-success p {
  font-size:16px;
  color:var(--edlf-text);
  margin:0 0 10px
}

.edlf-success .edlf-btn {
  margin-top:12px
}

.edlf-when {
  display:inline-block;
  font-family:IBM Plex Sans,sans-serif;
  font-size:17px!important;
  color:var(--edlf-ink)!important;
  background:var(--edlf-accent-soft);
  border-radius:10px;
  padding:10px 16px;
  margin:4px 0 14px!important
}

.edlf-ty .edlf-when {
  display:inline-block
}

@media (max-width:720px) {
  .edlf-modal {
    padding:0
  }

  .edlf-modal-dialog {
    width:100%;
    height:100%;
    max-height:100vh;
    border-radius:0;
    padding:18px 16px
  }

  .edlf .edlf-modal-head h2 {
    font-size:20px
  }

  .edlf-cal,.edlf-cal iframe {
    min-height:760px
  }

}
