.efx {
  --efx-orange: var(--wp--preset--color--violet, #4823ff);
  --efx-orange-dark: #3719d4;
  --efx-navy: var(--wp--preset--color--ink, #18161a);
  --efx-ink: var(--wp--preset--color--ink, #18161a);
  --efx-muted: #686370;
  --efx-line: #ded8ed;
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  font-family: var(--wp--preset--font-family--body, Inter, sans-serif);
  color: var(--efx-ink);
}
.efx[hidden] { display: none; }
#efx *, .efx *::before, .efx *::after { box-sizing: border-box; }
body.efx-open { overflow: hidden; }

#efx .efx-backdrop { position: absolute; inset: 0; background: rgba(15, 18, 28, .6); }

#efx .efx-modal {
  position: relative;
  display: grid;
  grid-template-columns: 45% 55%;
  width: 100%;
  max-width: 900px;
  max-height: calc(100vh - 32px);
  overflow: auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
}

#efx .efx-x {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 1px solid #e4dff0;
  border-radius: 50%;
  background: #fff;
  color: var(--efx-ink);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  z-index: 1;
}

/* Left: plan summary */
#efx .efx-plan {
  background: linear-gradient(180deg, #161d31 0%, var(--efx-navy) 100%);
  color: #fff;
  padding: 40px 32px;
}
#efx .efx-eyebrow {
  margin: 0 0 10px;
  color: #e7ff6e;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#efx .efx-plan-name { margin: 0 0 12px; color: #fff; font-size: 36px; font-weight: 600; line-height: 1.1; }
#efx .efx-price { margin: 0; color: #fff; font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
#efx .efx-price span { font-size: 18px; font-weight: 500; letter-spacing: 0; opacity: .85; }
#efx .efx-setup { margin: 12px 0 0; color: #cfd3dd; font-size: 15px; }
#efx .efx-setup s { color: #8a90a0; margin-right: 4px; }
#efx .efx-setup b { color: var(--efx-orange); font-weight: 700; }
#efx .efx-plan hr { margin: 24px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
#efx .efx-check { display: flex; align-items: center; gap: 8px; margin: 0; color: #dfe2ea; font-size: 15px; }
#efx .efx-plan .efx-shield { color: #34c77b; }
#efx .efx-shield { width: 20px; height: 20px; flex: none; color: #1f9d5c; }

/* Right: form */
#efx .efx-main { padding: 40px 36px 32px; }
#efx .efx-form h2, #efx .efx-done h2 { margin: 0; color: var(--efx-ink); font-size: 32px; font-weight: 600; line-height: 1.15; }
#efx .efx-sub { margin: 6px 0 22px; color: var(--efx-muted); font-size: 16px; font-weight: 400; }

#efx .efx-lbl { display: block; margin: 16px 0 6px; font-size: 14px; font-weight: 500; }
#efx .efx-strong { font-weight: 600; }
#efx .efx-sub + .efx-lbl { margin-top: 0; }

#efx .efx-in, #efx .efx-phone {
  width: 100%;
  height: 48px;
  border: 1px solid var(--efx-line);
  border-radius: 8px;
  background: #fff;
  color: var(--efx-ink);
  font: inherit;
  font-size: 16px;
}
#efx .efx-in { padding: 0 14px; }
#efx .efx-in::placeholder, #efx .efx-phone input::placeholder { color: #9a9ead; }
#efx .efx-in:focus, #efx .efx-phone:focus-within {
  outline: none;
  border-color: var(--efx-orange);
  box-shadow: 0 0 0 3px rgba(72, 35, 255, .18);
}
#efx .efx-in:-webkit-autofill { -webkit-box-shadow: 0 0 0 40px #e8f0fe inset; }

#efx .efx-icon-in { position: relative; }
#efx .efx-icon-in svg { position: absolute; left: 12px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: #9a9ead; }
#efx .efx-icon-in .efx-in { padding-left: 42px; font-size: 15px; }

#efx .efx-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

#efx .efx-phone { display: flex; overflow: hidden; }
#efx .efx-phone select {
  flex: none;
  padding: 0 8px 0 12px;
  border: 0;
  border-right: 1px solid var(--efx-line);
  background: #fafbfc;
  font: inherit;
  font-weight: 600;
  color: var(--efx-ink);
  cursor: pointer;
}
#efx .efx-phone input { flex: 1; min-width: 0; padding: 0 14px; border: 0; outline: none; background: transparent; font: inherit; font-size: 16px; color: inherit; }

#efx .efx-pass { position: relative; }
#efx .efx-pass .efx-in { padding-right: 48px; }
#efx .efx-eye {
  position: absolute;
  right: 6px;
  top: 50%;
  width: 36px;
  height: 36px;
  padding: 7px;
  border: 0;
  background: none;
  color: var(--efx-muted);
  transform: translateY(-50%);
  cursor: pointer;
}
#efx .efx-eye[aria-pressed="true"] { color: var(--efx-orange); }

#efx .efx-hp { position: absolute !important; left: -9999px !important; }

#efx .efx-error {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fdecec;
  color: #b42318;
  font-size: 14px;
}
#efx .efx-error[hidden] { display: none; }

#efx .efx-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 54px;
  margin-top: 16px;
  border: 0;
  border-radius: 999px;
  background: var(--efx-orange);
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
#efx .efx-btn:hover { background: var(--efx-orange-dark); }
#efx .efx-btn:disabled { opacity: .7; cursor: wait; }

#efx .efx-guarantee {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 14px;
  padding: 12px;
  border-radius: 8px;
  background: var(--wp--preset--color--lavender, #f2f0ff);
  font-size: 15px;
  text-align: center;
  line-height: 1.4;
}
#efx .efx-guarantee b { font-weight: 700; }

#efx .efx-legal { margin: 14px 0 0; color: var(--efx-muted); font-size: 13px; text-align: center; line-height: 1.7; }
#efx .efx-legal a { color: var(--efx-orange); text-decoration: none; }
#efx .efx-legal a:hover { text-decoration: underline; }

#efx .efx-trust { margin-top: 14px; padding-top: 14px; border-top: 1px solid #eceef2; text-align: center; }
#efx .efx-trust img { max-width: 100%; height: auto; }

#efx .efx-done { padding: 40px 0; text-align: center; }
#efx .efx-done[hidden] { display: none; }
#efx .efx-done .efx-shield { width: 48px; height: 48px; margin-bottom: 12px; }
#efx .efx-done p { color: var(--efx-muted); font-size: 16px; }

@media (max-width: 760px) {
  #efx { padding: 0; align-items: stretch; }
  #efx .efx-modal { grid-template-columns: 1fr; max-height: 100vh; border-radius: 0; }
  #efx .efx-plan { padding: 28px 20px 20px; }
  #efx .efx-plan-name { font-size: 26px; }
  #efx .efx-price { font-size: 40px; }
  #efx .efx-plan hr { margin: 16px 0; }
  #efx .efx-main { padding: 24px 20px; }
#efx .efx-form h2, #efx .efx-done h2 { font-size: 26px; }
  #efx .efx-x { background: rgba(255, 255, 255, .95); }
}
@media (max-width: 400px) {
  #efx .efx-row { grid-template-columns: 1fr; gap: 0; }
}

/* Theme resets (Hello Elementor styles buttons/selects globally) */
#efx button { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-transform: none; letter-spacing: 0; width: auto; min-height: 0; }
#efx .efx-x { width: 36px; height: 36px; border: 1px solid #e4dff0; border-radius: 50%; background: #fff; color: var(--efx-ink); font-size: 22px; }
#efx .efx-x:hover { background: #f4f5f7; }
#efx .efx-eye { width: 36px; height: 36px; padding: 7px; color: var(--efx-muted); }
#efx .efx-eye svg { width: 100%; height: 100%; display: block; }
#efx .efx-eye[aria-pressed="true"] { color: var(--efx-orange); }
#efx .efx-btn { width: 100%; height: 54px; margin-top: 16px; border-radius: 999px; background: var(--efx-orange); color: #fff; font-size: 18px; font-weight: 600; }
#efx .efx-btn:hover { background: var(--efx-orange-dark); }
#efx .efx-done .efx-btn { max-width: 240px; margin: 20px auto 0; }
#efx .efx-phone select { width: auto; height: 100%; margin: 0; border-radius: 0; box-shadow: none; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", Inter, sans-serif; }
#efx .efx-phone input { height: 100%; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
#efx .efx-in { margin: 0; box-shadow: none; }
#efx .efx-in:focus { box-shadow: 0 0 0 3px rgba(72, 35, 255, .18); }
#efx label { margin-bottom: 6px; }
#efx a.efx-btn { text-decoration: none; }

/* Member account page */
.efx-acct { max-width: 640px; margin: 48px auto; padding: 0 16px; font-family: var(--wp--preset--font-family--body, Inter, sans-serif); color: var(--wp--preset--color--ink, #18161a); }
.efx-acct h2 { margin: 0 0 16px; font-size: 32px; font-weight: 600; }
.efx-acct h3 { margin: 0; font-size: 22px; font-weight: 600; }
.efx-acct-muted { color: #686370; font-size: 14px; }
.efx-acct-muted a, .efx-acct a:not(.efx-acct-btn) { color: #3719d4; }
.efx-acct-card { padding: 24px; border: 1px solid #e4dff0; border-radius: 14px; background: #fff; box-shadow: 0 6px 24px rgba(20, 25, 40, .06); }
.efx-acct-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.efx-acct-top p { margin: 0 0 2px; }
.efx-acct-status { padding: 4px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; background: #f1f5f9; color: #475569; }
.efx-acct-active { background: #dcfce7; color: #166534; }
.efx-acct-past_due { background: #fee2e2; color: #991b1b; }
.efx-acct-pending { background: #fef3c7; color: #92400e; }
.efx-acct dl { display: grid; grid-template-columns: 140px 1fr; gap: 10px 16px; margin: 20px 0; padding: 16px 0; border-top: 1px solid #eceef2; border-bottom: 1px solid #eceef2; }
.efx-acct dt { color: #686370; }
.efx-acct dd { margin: 0; font-weight: 600; word-break: break-word; }
.efx-acct .efx-acct-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; border: 0; border-radius: 999px; background: var(--wp--preset--color--violet, #4823ff); color: #fff; font: inherit; font-size: 16px; font-weight: 600; text-decoration: none; cursor: pointer; }
.efx-acct .efx-acct-btn:hover { background: #3719d4; color: #fff; }
.efx-acct-note { margin-bottom: 20px; padding: 14px 16px; border-radius: 10px; font-size: 15px; }
.efx-acct-ok { background: #dcfce7; color: #14532d; }
.efx-acct-bad { background: #fee2e2; color: #7f1d1d; }
.efx-acct form p { margin: 0 0 12px; }
.efx-acct input[type=text], .efx-acct input[type=password] { width: 100%; height: 46px; padding: 0 14px; border: 1px solid #ded8ed; border-radius: 8px; font: inherit; }
.efx-acct input[type=submit] { padding: 12px 28px; border: 0; border-radius: 999px; background: var(--wp--preset--color--violet, #4823ff); color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
@media (max-width: 480px) { .efx-acct dl { grid-template-columns: 1fr; gap: 2px; } .efx-acct dd { margin-bottom: 8px; } }

/* Thank-you page + onboarding */
.efx-acct .efx-acct-card + .efx-acct-card, .efx-acct .efx-acct-card + form, .efx-acct form + .efx-acct-card { margin-top: 20px; }
.efx-acct h3 { margin: 0 0 4px; }
.efx-acct .efx-h4 { margin: 24px 0 8px; font-size: 17px; }
.efx-hero-ok { margin-bottom: 24px; text-align: center; }
.efx-hero-ok .efx-shield { width: 52px; height: 52px; color: #1f9d5c; }
.efx-hero-ok h2 { margin: 8px 0 6px; }
.efx-hero-ok p { margin: 0 0 16px; color: #686370; font-size: 17px; }
.efx-receipt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.efx-receipt p { margin: 0; }
.efx-big { font-size: 36px; font-weight: 600; line-height: 1.1; }
.efx-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.efx-acct .efx-acct-btn-2 { padding: 11px 20px; background: #fff; color: var(--wp--preset--color--ink, #18161a); border: 1.5px solid #ded8ed; font-size: 15px; }
.efx-acct .efx-acct-btn-2:hover { background: #f6f7f9; color: var(--wp--preset--color--ink, #18161a); border-color: #b9bdc7; }
.efx-next-msg { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0 16px; padding: 14px 16px; border-radius: 10px; background: var(--wp--preset--color--lavender, #f2f0ff); font-size: 15px; line-height: 1.5; }
.efx-next-msg > span:first-child { font-size: 24px; line-height: 1; }
.efx-next-msg b { font-size: 17px; }
.efx-steps { list-style: none; margin: 0 0 20px; padding: 0; }
.efx-steps li { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 0 0 18px; margin: 0; }
.efx-steps li:not(:last-child)::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 2px; width: 2px; background: #e4dff0; }
.efx-steps li.is-done:not(:last-child)::before { background: #1f9d5c; }
.efx-steps li > span:nth-child(2) { display: flex; flex-direction: column; padding-top: 3px; }
.efx-steps small { color: #686370; font-size: 13px; }
.efx-dot { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #ded8ed; background: #fff; color: #686370; font-size: 13px; font-weight: 600; }
.efx-steps .is-done .efx-dot { border-color: #1f9d5c; background: #1f9d5c; color: #fff; }
.efx-steps .is-now .efx-dot { border-color: var(--wp--preset--color--violet, #4823ff); color: var(--wp--preset--color--violet, #4823ff); box-shadow: 0 0 0 4px rgba(72, 35, 255, .15); }
.efx-steps .is-now b { color: #3719d4; }
.efx-steps .efx-step-bill { padding-top: 6px; border-top: 1px dashed #e4dff0; }
.efx-steps .efx-step-bill .efx-dot { border-style: dashed; }
.efx-acct .efx-cal { width: 100%; }
.efx-choices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 14px 0; }
.efx-choice { position: relative; cursor: pointer; }
.efx-choice input { position: absolute; opacity: 0; }
.efx-choice span { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 8px; border: 1.5px solid #ded8ed; border-radius: 12px; font-weight: 700; text-align: center; transition: border-color .15s, background .15s; }
.efx-choice svg { width: 26px; height: 26px; color: #686370; }
.efx-choice input:checked + span { border-color: var(--wp--preset--color--violet, #4823ff); background: var(--wp--preset--color--lavender, #f2f0ff); }
.efx-choice input:checked + span svg { color: #3719d4; }
.efx-choice input:focus-visible + span { outline: 2px solid var(--wp--preset--color--violet, #4823ff); outline-offset: 2px; }
.efx-handle { margin: 0 0 14px; }
.efx-handle[hidden] { display: none; }
.efx-handle label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 14px; }
.efx-acct input[type=tel] { width: 100%; height: 46px; padding: 0 14px; border: 1px solid #ded8ed; border-radius: 8px; font: inherit; }
.efx-inv { width: 100%; border-collapse: collapse; font-size: 14px; }
.efx-inv th { padding: 8px 6px; border-bottom: 1px solid #eceef2; color: #686370; font-weight: 600; text-align: left; }
.efx-inv td { padding: 10px 6px; border-bottom: 1px solid #f3f4f6; vertical-align: top; }
.efx-inv small { color: #686370; }
.efx-inv a { color: #3719d4; font-weight: 700; white-space: nowrap; }
@media (max-width: 480px) { .efx-choices { gap: 6px; } .efx-choice span { padding: 12px 4px; font-size: 14px; } .efx-big { font-size: 30px; } .efx-actions, .efx-actions .efx-acct-btn { width: 100%; } }

/* Customer login / reset forms */
.efx-auth { max-width: 440px; }
.efx-auth label { display: block; margin-bottom: 6px; font-weight: 700; font-size: 14px; }
.efx-auth input[type=email] { width: 100%; height: 46px; padding: 0 14px; border: 1px solid #ded8ed; border-radius: 8px; font: inherit; }
.efx-auth .efx-remember label { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.efx-auth .efx-acct-btn { width: 100%; }

/* Thank-you page — mirrors the email design */
.efx-welcome { max-width: 600px; }
.efx-e-card { padding: 36px 32px 28px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; box-shadow: 0 1px 2px rgba(17, 24, 39, .04); }
.efx-acct .efx-e-h1 { margin: 0 0 8px; font-size: 30px; font-weight: 600; line-height: 1.2; color: #111827; }
.efx-e-lead { margin: 0 0 20px; color: #6b7280; font-size: 17px; line-height: 1.6; }
.efx-acct .efx-e-btn { display: inline-flex; align-items: center; padding: 14px 28px; margin: 0 0 28px; border-radius: 999px; background: var(--wp--preset--color--violet, #4823ff); color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; transition: background .15s; }
.efx-acct .efx-e-btn:hover { background: #3719d4; color: #fff; }
.efx-e-steps { list-style: none; margin: 0 0 24px; padding: 0; }
.efx-e-steps li { display: flex; gap: 14px; margin: 0 0 16px; color: #6b7280; font-size: 15px; line-height: 1.5; }
.efx-e-steps b { color: #111827; }
.efx-e-num { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--wp--preset--color--lavender, #f2f0ff); color: var(--wp--preset--color--violet, #4823ff); font-size: 14px; font-weight: 600; line-height: 28px; text-align: center; }
.efx-acct .efx-e-rows { width: 100%; margin: 0 0 24px; border: 1px solid #e5e7eb; border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14px; }
.efx-e-rows th, .efx-e-rows td { padding: 12px 16px; border: 0; background: none; }
.efx-e-rows tr + tr th, .efx-e-rows tr + tr td { border-top: 1px solid #e5e7eb; }
.efx-e-rows th { color: #6b7280; font-weight: 400; text-align: left; }
.efx-e-rows td { color: #111827; font-weight: 700; text-align: right; }
.efx-e-rows a, .efx-e-foot a { color: var(--wp--preset--color--violet, #4823ff); font-weight: 700; }
.efx-e-divider { height: 1px; margin: 4px 0 24px; background: #e5e7eb; }
.efx-welcome .efx-channel h3 { font-size: 18px; }
.efx-welcome .efx-channel { margin-bottom: 24px; }
.efx-e-foot { margin: 0; color: #6b7280; font-size: 14px; line-height: 1.6; }
@media (max-width: 480px) { .efx-e-card { padding: 28px 20px 24px; } .efx-acct .efx-e-h1 { font-size: 26px; } .efx-acct .efx-e-btn { width: 100%; justify-content: center; } }
/* Beat theme link colour + table striping on the thank-you card */
.efx-acct a.efx-e-btn, .efx-acct a.efx-e-btn:hover, .efx-acct a.efx-e-btn:visited { color: #fff; }
.efx-acct .efx-e-rows tr > th, .efx-acct .efx-e-rows tr > td { background: transparent; }

/* My Account tabs */
.efx-account { max-width: 640px; }
.efx-tabs { display: flex; gap: 4px; margin: 0 0 16px; padding: 4px; background: #f3f4f6; border-radius: 999px; overflow-x: auto; scrollbar-width: none; }
.efx-tabs::-webkit-scrollbar { display: none; }
.efx-acct .efx-tabs a { flex: 1 0 auto; padding: 10px 18px; border-radius: 999px; color: #4b5563; font-size: 15px; font-weight: 700; text-align: center; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s; }
.efx-acct .efx-tabs a:hover { color: #111827; }
.efx-acct .efx-tabs a.is-on { background: #fff; color: #111827; box-shadow: 0 1px 3px rgba(17, 24, 39, .12); }
.efx-acct .efx-tabs a:focus-visible { outline: 2px solid var(--wp--preset--color--violet, #4823ff); outline-offset: 2px; }
.efx-acct .efx-e-h3 { margin: 8px 0 12px; font-size: 18px; font-weight: 600; color: #111827; }
.efx-account .efx-next-msg { margin-bottom: 20px; }
.efx-account .efx-e-btn { margin-bottom: 24px; }
.efx-account .efx-channel h3 { margin-top: 0; font-size: 22px; }
.efx-account .efx-acct-status { font-size: 12px; }
.efx-pw { max-width: none; }
@media (max-width: 480px) { .efx-acct .efx-tabs a { padding: 9px 14px; font-size: 14px; } }
/* Invoices table: strip theme grid/stripes to match the receipt rows */
.efx-acct table.efx-inv { margin: 0 0 8px; border: 0; }
.efx-acct .efx-inv tr > th, .efx-acct .efx-inv tr > td { border: 0; border-bottom: 1px solid #f0f1f3; background: transparent; padding: 12px 6px; }
.efx-acct .efx-inv tr:last-child > td { border-bottom: 0; }
.efx-acct .efx-inv th { font-size: 13px; color: #6b7280; font-weight: 600; }
.efx-acct .efx-inv td:last-child { text-align: right; }

/* Header account button ([efx_account_button]) */
.efx-ab { display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px 6px 6px; border: 1.5px solid #e4dff0; border-radius: 999px; background: #fff; color: var(--wp--preset--color--ink, #18161a); font-family: var(--wp--preset--font-family--body, Inter, sans-serif); text-decoration: none; line-height: 1.15; white-space: nowrap; transition: border-color .15s, box-shadow .15s; }
.efx-ab:hover, .efx-ab:focus-visible { border-color: var(--wp--preset--color--violet, #4823ff); color: var(--wp--preset--color--ink, #18161a); box-shadow: 0 2px 10px rgba(72, 35, 255, .15); }
.efx-ab:focus-visible { outline: 2px solid var(--wp--preset--color--violet, #4823ff); outline-offset: 2px; }
.efx-ab-av { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #f3f4f6; color: #4b5563; font-size: 15px; font-weight: 600; }
.efx-ab-av svg { width: 20px; height: 20px; }
.efx-ab.is-in .efx-ab-av { background: var(--wp--preset--color--violet, #4823ff); color: #fff; }
.efx-ab-text { display: flex; flex-direction: column; }
.efx-ab-hi { font-size: 14px; font-weight: 600; max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
.efx-ab-sub { font-size: 12px; font-weight: 500; color: #6b7280; }
.efx-ab:not(.is-in) .efx-ab-sub { display: none; }
.efx-ab.is-compact { padding: 0; border: 0; background: none; box-shadow: none; }
.efx-ab.is-compact .efx-ab-av { width: 38px; height: 38px; border: 1.5px solid #e4dff0; background: #fff; }
.efx-ab.is-compact.is-in .efx-ab-av { border-color: var(--wp--preset--color--violet, #4823ff); background: var(--wp--preset--color--violet, #4823ff); }
/* Mobile header: account icon sits right, just before the ☰ menu icon */
.elementor-location-header .efx-ab-slot { margin-left: auto; margin-right: 10px; }

/* Business questionnaire (/onboarding/) */
.efx-brief { max-width: 680px; scroll-margin-top: 90px; }
.efx-q-top { margin: 0 0 14px; }
.efx-q-bar { height: 8px; border-radius: 999px; background: #f1e4da; overflow: hidden; }
.efx-q-bar span { display: block; height: 100%; border-radius: 999px; background: var(--wp--preset--color--violet, #4823ff); transition: width .35s ease; }
.efx-q-top p { display: flex; justify-content: space-between; gap: 12px; margin: 8px 2px 0; color: #6b7280; font-size: 13px; font-weight: 600; }
.efx-q-card h2 { outline: none; }
.efx-q-field { margin: 0 0 22px; }
.efx-q-field fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.efx-acct .efx-q-label { display: block; margin: 0 0 8px; padding: 0; color: #111827; font-size: 16px; font-weight: 700; line-height: 1.4; }
.efx-q-req { color: var(--wp--preset--color--violet, #4823ff); }
.efx-q-help { margin: -4px 0 8px; color: #6b7280; font-size: 14px; }
.efx-acct .efx-q-field input[type=text], .efx-acct .efx-q-field input[type=url], .efx-acct .efx-q-field input[type=email], .efx-acct .efx-q-field input[type=tel], .efx-acct .efx-q-field textarea {
  width: 100%; min-height: 48px; padding: 12px 14px; border: 1.5px solid #ded8ed; border-radius: 10px; background: #fff; color: #111827; font: inherit; font-size: 16px; line-height: 1.5; transition: border-color .15s, box-shadow .15s; }
.efx-acct .efx-q-field textarea { resize: vertical; min-height: 96px; }
.efx-acct .efx-q-field input:focus, .efx-acct .efx-q-field textarea:focus { outline: none; border-color: var(--wp--preset--color--violet, #4823ff); box-shadow: 0 0 0 3px rgba(72, 35, 255, .15); }
.efx-q-opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; }
.efx-q-opt { position: relative; cursor: pointer; }
.efx-q-opt input { position: absolute; opacity: 0; }
.efx-q-opt span { display: flex; align-items: center; min-height: 48px; padding: 10px 14px; border: 1.5px solid #e4dff0; border-radius: 10px; background: #fff; font-size: 15px; font-weight: 600; line-height: 1.3; transition: border-color .15s, background .15s; }
.efx-q-opt input[type=checkbox] + span::before { content: ""; flex: none; width: 18px; height: 18px; margin-right: 10px; border: 1.5px solid #c7cbd3; border-radius: 5px; }
.efx-q-opt input[type=checkbox]:checked + span::before { content: "✓"; display: grid; place-items: center; border-color: var(--wp--preset--color--violet, #4823ff); background: var(--wp--preset--color--violet, #4823ff); color: #fff; font-size: 12px; }
.efx-q-opt:hover span { border-color: #f4b48f; }
.efx-q-opt input:checked + span { border-color: var(--wp--preset--color--violet, #4823ff); background: var(--wp--preset--color--lavender, #f2f0ff); color: #111827; }
.efx-q-opt input:focus-visible + span { outline: 2px solid var(--wp--preset--color--violet, #4823ff); outline-offset: 2px; }
.efx-q-colors { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.efx-q-color { display: inline-flex; align-items: center; gap: 8px; padding: 6px 8px 6px 6px; border: 1.5px solid #e4dff0; border-radius: 12px; }
.efx-q-color input[type=color] { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 8px; background: none; cursor: pointer; }
.efx-q-color code { font-size: 13px; }
.efx-acct .efx-q-x { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: #f3f4f6; color: #4b5563; font-size: 16px; line-height: 1; cursor: pointer; }
.efx-acct .efx-q-add { min-height: 48px; padding: 0 16px; border: 1.5px dashed #c7cbd3; border-radius: 12px; background: #fff; color: #374151; font: inherit; font-weight: 700; cursor: pointer; }
.efx-q-drop { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 26px 16px; border: 2px dashed #ded8ed; border-radius: 14px; background: #fafafa; text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.efx-q-drop:hover, .efx-q-drop.is-over { border-color: var(--wp--preset--color--violet, #4823ff); background: var(--wp--preset--color--lavender, #f2f0ff); }
.efx-q-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.efx-q-drop b { color: #3719d4; }
.efx-q-drop span { color: #6b7280; font-size: 14px; }
.efx-q-files { list-style: none; margin: 10px 0 0; padding: 0; }
.efx-q-files li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f1f2f4; font-size: 14px; }
.efx-q-files li span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.efx-q-files small { color: #6b7280; }
.efx-q-files progress { width: 120px; accent-color: var(--wp--preset--color--violet, #4823ff); }
.efx-q-fail { color: #b42318; white-space: normal !important; }
.efx-q-err, .efx-q-formerr { margin: 6px 0 0; color: #b42318; font-size: 14px; font-weight: 600; }
.efx-q-err[hidden], .efx-q-formerr[hidden] { display: none; }
.efx-q-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 20px; border-top: 1px solid #eceef2; }
.efx-acct .efx-q-nav .efx-e-btn { margin: 0; border: 0; font: inherit; font-weight: 700; font-size: 16px; cursor: pointer; }
.efx-acct .efx-q-nav .efx-e-btn:disabled { opacity: .7; cursor: wait; }
.efx-acct .efx-q-back { padding: 12px 4px; border: 0; background: none; color: #4b5563; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.efx-acct .efx-q-back:hover { color: #111827; }
.efx-q-foot { margin: 12px 0 0; color: #9ca3af; font-size: 13px; text-align: center; }
.efx-q-review ul { list-style: none; margin: 0 0 20px; padding: 0; border: 1px solid #e5e7eb; border-radius: 12px; }
.efx-q-review li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; padding: 12px 14px; border-bottom: 1px solid #f1f2f4; }
.efx-q-review li:last-child { border-bottom: 0; }
.efx-q-review li span { flex: 1; font-weight: 700; }
.efx-q-review small { color: #6b7280; }
.efx-acct .efx-q-review button { padding: 4px 10px; border: 1px solid #e4dff0; border-radius: 999px; background: #fff; color: #3719d4; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.efx-q-done { text-align: center; }
.efx-q-check { display: grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: #dcfce7; color: #15803d; font-size: 32px; font-weight: 600; }
.efx-q-done .efx-e-h1 { outline: none; }
.efx-brief-cta { display: flex; gap: 12px; align-items: flex-start; margin: 4px 0 24px; padding: 16px; border: 1.5px solid #ded8fa; border-radius: 12px; background: var(--wp--preset--color--lavender, #f2f0ff); font-size: 15px; line-height: 1.5; }
.efx-brief-cta > span { font-size: 22px; line-height: 1.2; }
.efx-brief-cta .efx-acct-btn { margin-top: 10px; }
.efx-brief-cta.is-done { border-color: #bbf7d0; background: #f0fdf4; }
.efx-brief-cta a:not(.efx-acct-btn) { color: #3719d4; font-weight: 700; }
@media (max-width: 480px) { .efx-q-opts { grid-template-columns: 1fr; } .efx-q-opts.is-many { grid-template-columns: 1fr 1fr; } .efx-q-opts.is-many .efx-q-opt span { min-height: 52px; padding: 8px 10px; font-size: 14px; } .efx-q-nav .efx-e-btn { flex: 1; justify-content: center; } }

/* Line icons (replace decorative emoji) */
.efx-i { display: inline-block; flex: none; vertical-align: -3px; }
@keyframes efx-spin { to { transform: rotate(360deg); } }
.efx-i-loader { animation: efx-spin 1s linear infinite; }
.efx-next-ic, .efx-brief-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: #fff; color: #3719d4; box-shadow: 0 1px 2px rgba(17, 24, 39, .06); }
.efx-brief-cta.is-done .efx-brief-ic { color: #15803d; }
.efx-next-msg { align-items: center; }
.efx-dot .efx-i { vertical-align: 0; }
.efx-q-next .efx-i { vertical-align: -3px; margin-left: 2px; }
.efx-q-check .efx-i { width: 32px; height: 32px; stroke-width: 2.5; }
.efx-q-review li.is-ok > span .efx-i { color: #15803d; }
.efx-q-review li.is-missing > span .efx-i { color: #b45309; }
.efx-q-review li > span { display: flex; align-items: center; gap: 8px; }
.efx-q-files li span { display: flex; align-items: center; gap: 6px; }
.efx-q-files li span.is-ok .efx-i { color: #15803d; }
.efx-q-fail { display: flex; align-items: center; gap: 6px; }

/* ---------- multi-step flow ---------- */
#efx .efx-dots { display: flex; gap: 7px; margin: 0 0 20px; padding: 0; list-style: none; }
#efx .efx-dots li { width: 28px; height: 4px; border-radius: 999px; background: #e4dff0; transition: background .2s; }
#efx .efx-dots li.is-on { background: var(--efx-orange); }

#efx .efx-step[hidden] { display: none; }

#efx .efx-nav { display: flex; gap: 10px; align-items: center; }
#efx .efx-nav .efx-btn { flex: 1; }
#efx .efx-btn-2 {
  flex: 0 0 auto;
  width: auto;
  min-width: 108px;
  padding: 0 18px;
  background: #fff;
  border: 1px solid var(--efx-line);
  color: var(--efx-ink);
}
#efx .efx-btn-2:hover { background: #f6f7f9; }

/* ---------- package cards ---------- */
#efx .efx-pkgs { display: grid; gap: 11px; margin-bottom: 18px; }
#efx .efx-pkg-in { position: absolute; opacity: 0; width: 0; height: 0; }
#efx .efx-pkg {
  display: block;
  padding: 16px 18px;
  border: 1px solid var(--efx-line);
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
#efx .efx-pkg:hover { border-color: #b9bdc9; }
#efx .efx-pkg-in:checked + .efx-pkg {
  border-color: var(--efx-orange);
  background: var(--wp--preset--color--lavender, #f2f0ff);
  box-shadow: inset 0 0 0 1px var(--efx-orange);
}
#efx .efx-pkg-in:focus-visible + .efx-pkg { outline: 3px solid var(--efx-orange); outline-offset: 2px; }
#efx .efx-pkg-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
#efx .efx-pkg-head b { font-size: 19px; font-weight: 600; color: var(--efx-ink); }
#efx .efx-pkg-price { font-size: 19px; font-weight: 600; color: var(--efx-orange); white-space: nowrap; }
#efx .efx-pkg-price s { color: #9a9ead; font-weight: 500; font-size: 15px; }
#efx .efx-pkg-blurb { display: block; margin-top: 4px; color: var(--efx-muted); font-size: 14px; line-height: 1.5; }
#efx .efx-pkg-list { display: flex; flex-direction: column; gap: 6px; margin-top: 11px; }
#efx .efx-pkg-list span { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--efx-ink); }
#efx .efx-pkg-list .efx-shield { width: 16px; height: 16px; margin-top: 1px; }

/* ---------- feature list in the dark panel ---------- */
#efx .efx-plan-list { display: flex; flex-direction: column; gap: 9px; margin: 0 0 18px; padding: 0; list-style: none; }
#efx .efx-plan-list li { display: flex; gap: 9px; align-items: flex-start; color: #cfd3dd; font-size: 14px; line-height: 1.45; }
#efx .efx-plan-list .efx-shield { width: 16px; height: 16px; margin-top: 1px; color: #34c77b; }

@media (max-width: 760px) {
  #efx .efx-nav { flex-wrap: wrap; }
  #efx .efx-btn-2 { width: 100%; }
}

/* ---------- documents we've sent the customer (account page) ---------- */
.efx-yours { margin-top: 22px; padding-top: 20px; border-top: 1px solid #e6e8ee; }
.efx-yours .efx-e-sub { margin: 4px 0 14px; color: #686370; font-size: 14px; line-height: 1.5; }
.efx-yours-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.efx-yours-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid #e0e3ea;
  border-radius: 12px;
  background: #fff;
}
.efx-yours-ic {
  flex: none;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 9px;
  background: var(--wp--preset--color--lavender, #f2f0ff);
  color: #4823ff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}
.efx-yours-meta { flex: 1; min-width: 0; }
.efx-yours-meta b { display: block; font-size: 15px; word-break: break-word; }
.efx-yours-meta small { display: block; margin-top: 2px; color: #686370; font-size: 12.5px; }
.efx-yours-list .efx-acct-btn { flex: none; }
@media (max-width: 520px) {
  .efx-yours-list li { flex-wrap: wrap; }
  .efx-yours-list .efx-acct-btn { width: 100%; text-align: center; }
}

/* Website brand system: shared theme tokens with standalone fallbacks. */
#efx { line-height:1.6; }
#efx .efx-backdrop { background:rgba(24,22,26,.65); backdrop-filter:blur(5px); }
#efx .efx-modal { max-width:980px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border:1px solid #e4dff0; border-radius:28px; box-shadow:0 28px 90px #18161a30; max-height:calc(100dvh - 32px); }
#efx .efx-plan { background:linear-gradient(145deg,#292432,var(--efx-navy)); padding:42px 32px; }
#efx .efx-main { padding:42px 36px 32px; min-width:0; }
#efx .efx-plan-name, #efx .efx-form h2, #efx .efx-done h2,
.efx-acct :is(h1,h2,h3,h4,.efx-big,.efx-e-h1) {
 font-family:var(--wp--preset--font-family--heading,"Plus Jakarta Sans",sans-serif); font-weight:600; letter-spacing:-.04em; line-height:1.2;
}
#efx .efx-form h2, #efx .efx-done h2 { font-size:30px; }
#efx .efx-plan-name { font-size:34px; }
#efx .efx-price { margin-top:24px; font-family:var(--wp--preset--font-family--heading,"Plus Jakarta Sans",sans-serif); }
#efx .efx-price [data-efx-price] { font-size:58px; font-weight:600; letter-spacing:-.055em; line-height:1.1; opacity:1; }
#efx .efx-price span:not([data-efx-price]) { display:block; margin-top:8px; font-family:inherit; font-size:13px; color:#d9d3e5; }
#efx .efx-eyebrow { font-weight:600; font-size:10px; }
#efx .efx-plan .efx-shield { color:#d9ceff; }
#efx .efx-pkg-list .efx-shield { color:var(--efx-orange); }
#efx .efx-setup, #efx .efx-sub { font-size:14px; line-height:1.7; }
#efx .efx-pkg { border-radius:18px; padding:18px; }
#efx .efx-pkg-head b, #efx .efx-pkg-price { font-size:18px; font-weight:600; }
#efx .efx-btn { min-height:50px; height:auto; padding:14px 20px; font-size:14px; font-weight:600; transition:background .18s,box-shadow .18s; }
#efx .efx-btn-2 { background:#fff; color:var(--efx-orange); border:1px solid var(--efx-orange); }
#efx .efx-btn-2:hover { background:var(--wp--preset--color--lavender,#f2f0ff); }
#efx .efx-in, #efx .efx-phone { height:50px; border-radius:12px; }
#efx .efx-phone select { background:var(--wp--preset--color--lavender,#f2f0ff); }
#efx .efx-lbl { font-size:13px; font-weight:600; }
#efx .efx-guarantee { border-radius:14px; font-size:13px; }
#efx .efx-legal { font-size:12px; }
#efx :is(button,a):focus-visible, .efx-acct :is(button,a,input[type=submit]):focus-visible {
 outline:3px solid var(--wp--preset--color--violet,#4823ff); outline-offset:4px;
}
.efx-acct { line-height:1.65; }
.efx-acct *, .efx-acct *::before, .efx-acct *::after { box-sizing:border-box; }
.efx-acct .efx-acct-card { border-radius:24px; padding:28px; border-color:#e4dff0; box-shadow:0 10px 35px -22px #4823ff25; }
.efx-acct :is(.efx-acct-btn,.efx-e-btn,input[type=submit]) { font-size:14px; font-weight:600; min-height:48px; }
.efx-acct :is(input[type=text],input[type=password],input[type=email],textarea,select) { border-radius:12px; }
.efx-acct :is(input,textarea,select):focus-visible { outline:2px solid var(--wp--preset--color--violet,#4823ff); outline-offset:2px; }
.efx-acct :is(.efx-next-msg,.efx-brief-cta) { border-radius:18px; }
@media(max-width:760px) {
 #efx .efx-modal { grid-template-columns:1fr; border:0; border-radius:0; max-height:100dvh; }
 #efx .efx-plan { padding:26px 22px 22px; }
 #efx .efx-main { padding:28px 22px; }
 #efx .efx-plan-name { font-size:27px; padding-right:36px; }
 #efx .efx-plan-list, #efx .efx-plan hr { display:none; }
 #efx .efx-price { margin-top:16px; }
 #efx .efx-price [data-efx-price] { font-size:44px; }
 #efx .efx-price span:not([data-efx-price]) { display:inline; margin-left:8px; }
 #efx .efx-check { margin-top:14px; font-size:12px; }
 #efx .efx-form h2, #efx .efx-done h2 { font-size:27px; }
 #efx .efx-pkg-list { font-size:13px; }
}
@media(max-width:480px) {
 .efx-acct { margin:28px auto; }
 .efx-acct .efx-acct-card { padding:22px; border-radius:20px; }
}
@media(prefers-reduced-motion:reduce) {
 #efx *, .efx-acct * { transition:none; }
}
/* Keep the floating support control clear of the modal's form actions. */
body.efx-open #comocalls-call-button { display:none !important; }

/* Spacious customer pages, using the landing page's brand and content grid. */
.efx-portal-page .efx-document { max-width:1272px; padding:64px 36px 88px; }
.efx-portal-page .wp-block-post-content { max-width:none; }
.efx-portal-page .efx-acct { width:100%; max-width:1140px; margin:0 auto; padding:0; }
.efx-acct .efx-portal-eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 20px; color:var(--wp--preset--color--violet,#4823ff); font-size:11px; line-height:1.5; font-weight:600; letter-spacing:.12em; }
.efx-portal-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; flex:none; }
.efx-acct .efx-portal-heading { margin:0 0 40px; max-width:760px; }
.efx-acct .efx-portal-heading h2 { margin:0 0 22px; font-size:clamp(38px,4vw,56px); letter-spacing:-.055em; line-height:1.12; }
.efx-portal-heading h2 span, .efx-auth-story h2 span { background:linear-gradient(transparent 67%,#e7ff6e 67%,#e7ff6e 94%,transparent 94%); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.efx-acct .efx-portal-heading > p:last-child { font-size:17px; line-height:1.75; color:#686370; margin:0; }
.efx-acct.efx-auth-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); overflow:hidden; border:1px solid #e4dff0; border-radius:30px; background:white; box-shadow:0 16px 45px -36px #4823ff45; }
.efx-auth-story { position:relative; padding:52px 44px 36px; background:var(--wp--preset--color--lavender,#f2f0ff); min-width:0; }
.efx-acct .efx-auth-story h2 { margin:0 0 24px; font-size:clamp(30px,3.2vw,44px); line-height:1.2; letter-spacing:-.05em; }
.efx-auth-story > p:not(.efx-portal-eyebrow) { font-size:15px; line-height:1.8; color:#5d5669; max-width:390px; }
.efx-auth-illustration { padding:26px 28px; margin:34px 0; max-width:370px; background:#fff; border:1px solid #e4dff0; border-radius:22px; transform:rotate(-2deg); box-shadow:8px 12px 0 #ded8fa; }
.efx-auth-illustration > span { display:block; color:#686370; font-size:10px; letter-spacing:.12em; margin-bottom:16px; }
.efx-auth-illustration strong { display:block; font-family:var(--wp--preset--font-family--heading,"Plus Jakarta Sans",sans-serif); font-size:25px; line-height:1.35; letter-spacing:-.04em; font-weight:600; margin-bottom:18px; }
.efx-auth-illustration > div { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:13px; border-top:1px solid #f0ecf6; }
.efx-auth-illustration i { font-style:normal; font-size:10px; color:#4823ff; background:#f2f0ff; width:27px; height:27px; display:grid; place-items:center; border-radius:8px; }
.efx-auth-story .efx-auth-caption { font-size:12px; margin-bottom:0; }
.efx-auth-form-panel { align-self:center; padding:52px 44px; min-width:0; }
.efx-acct .efx-auth-form-panel h2 { font-size:30px; line-height:1.25; margin:0 0 28px; }
.efx-acct .efx-auth-form-panel form p { margin-bottom:20px; }
.efx-acct .efx-auth-form-panel :is(input[type=email],input[type=password],input[type=text]) { height:54px; padding:0 16px; background:#fff; }
.efx-acct .efx-auth-form-panel .efx-acct-btn { min-height:52px; }
.efx-auth-form-panel input[type=checkbox] { accent-color:#4823ff; width:16px; height:16px; }
.efx-acct .efx-auth-form-panel .efx-acct-muted { margin:22px 0 0; }
.efx-acct .efx-e-card { padding:40px; border-radius:28px; border-color:#e4dff0; box-shadow:0 12px 35px -30px #4823ff35; }
.efx-acct .efx-e-h1 { font-size:34px; line-height:1.25; margin-bottom:14px; }
.efx-acct .efx-e-lead { max-width:740px; line-height:1.75; margin-bottom:30px; }
.efx-account .efx-tabs { width:max-content; max-width:100%; padding:6px; gap:8px; margin-bottom:26px; border:1px solid #e4dff0; background:#f2f0ff; }
.efx-acct .efx-tabs a { padding:12px 28px; font-size:14px; font-weight:600; }
.efx-acct .efx-tabs a.is-on { background:#4823ff; color:#fff; box-shadow:none; }
.efx-overview-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr); gap:32px; margin:12px 0 32px; align-items:start; }
.efx-overview-main, .efx-welcome-next { min-width:0; }
.efx-acct .efx-next-msg { padding:24px; margin:0 0 24px; line-height:1.75; }
.efx-acct .efx-brief-cta { padding:24px; margin-bottom:24px; line-height:1.75; }
.efx-progress-panel { padding:28px; border-radius:22px; background:#f2f0ff; border:1px solid #e4dff0; }
.efx-acct .efx-progress-panel h3 { font-size:22px; margin:0 0 28px; }
.efx-progress-panel .efx-steps { margin:0; }
.efx-progress-panel .efx-steps li { gap:16px; padding-bottom:28px; }
.efx-progress-panel .efx-steps li:last-child { padding-bottom:0; }
.efx-progress-panel .efx-steps b { font-size:14px; font-weight:600; }
.efx-progress-panel .efx-steps small { display:block; margin-top:4px; font-size:12px; }
.efx-acct .efx-e-rows th, .efx-acct .efx-e-rows td { padding:18px 20px; line-height:1.7; overflow-wrap:anywhere; }
.efx-acct .efx-e-rows { border-color:#e4dff0; border-radius:18px; }
.efx-acct .efx-e-divider { margin:28px 0; background:#e4dff0; }
.efx-acct .efx-e-foot { line-height:1.8; }
.efx-account .efx-channel { max-width:800px; }
.efx-account .efx-pw { max-width:640px; }
.efx-acct .efx-channel h3 { font-size:24px; margin-bottom:14px; }
.efx-acct .efx-choices { margin:24px 0; }
.efx-welcome-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:40px; margin:10px 0 32px; }
.efx-acct .efx-welcome-next h3 { font-size:24px; margin:0 0 28px; }
.efx-e-steps li { gap:18px; padding:0 0 24px; margin:0; line-height:1.8; }
.efx-e-steps li:last-child { padding-bottom:0; }
.efx-e-num { width:36px; height:36px; line-height:36px; }
.efx-welcome-receipt { padding:28px; background:#f2f0ff; border:1px solid #e4dff0; border-radius:22px; }
.efx-acct .efx-welcome-receipt h3 { font-size:26px; margin-bottom:24px; }
.efx-acct .efx-welcome-receipt .efx-e-rows { border:0; margin-bottom:24px; }
.efx-acct .efx-welcome-receipt :is(th,td) { padding:14px 0; font-size:13px; }
.efx-welcome-receipt th { width:40%; }
.efx-acct.efx-welcome-guest { padding:64px 48px; background:#f2f0ff; border:1px solid #e4dff0; border-radius:30px; }
.efx-welcome-guest .efx-hero-ok { margin:0 auto; max-width:700px; }
.efx-welcome-guest .efx-portal-eyebrow { justify-content:center; }
.efx-welcome-guest .efx-hero-ok > .efx-shield { display:block; margin:0 auto 24px; color:#4823ff; }
.efx-welcome-guest .efx-hero-ok h2 { font-size:clamp(36px,4vw,54px); line-height:1.16; margin:0 0 24px; }
.efx-welcome-guest .efx-hero-ok p:not(.efx-portal-eyebrow) { margin-bottom:30px; }
@media(max-width:900px) {
 .efx-auth-story { padding:36px 28px; }
 .efx-auth-form-panel { padding:36px 28px; }
 .efx-overview-grid, .efx-welcome-grid { gap:24px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .efx-acct .efx-e-card { padding:30px; }
 .efx-progress-panel, .efx-welcome-receipt { padding:22px; }
}
@media(max-width:700px) {
 .efx-portal-page .efx-document { padding:32px 22px 56px; }
 .efx-acct.efx-auth-layout, .efx-overview-grid, .efx-welcome-grid { grid-template-columns:1fr; }
 .efx-acct.efx-auth-layout { border-radius:24px; }
 .efx-auth-story { padding:32px 26px; }
 .efx-auth-illustration, .efx-auth-caption { display:none; }
 .efx-auth-story > p:not(.efx-portal-eyebrow) { margin:0; max-width:none; }
 .efx-acct .efx-auth-story h2 { font-size:32px; }
 .efx-auth-form-panel { padding:32px 26px; }
 .efx-acct .efx-auth-form-panel h2 { font-size:26px; }
 .efx-acct .efx-e-card { padding:26px 22px; border-radius:24px; }
 .efx-acct .efx-portal-heading { margin-bottom:28px; }
 .efx-acct .efx-portal-heading h2 { font-size:38px; }
 .efx-acct .efx-portal-heading > p:last-child { font-size:15px; }
 .efx-acct .efx-e-h1 { font-size:28px; }
 .efx-acct .efx-e-lead { font-size:15px; margin-bottom:24px; }
 .efx-account .efx-tabs { width:100%; gap:2px; padding:5px; }
 .efx-acct .efx-tabs a { padding:11px 16px; font-size:13px; }
 .efx-overview-grid { gap:28px; }
 .efx-acct .efx-e-rows th, .efx-acct .efx-e-rows td { padding:14px 12px; font-size:13px; }
 .efx-acct .efx-welcome-receipt :is(th,td) { padding:14px 0; }
 .efx-acct.efx-welcome-guest { padding:36px 24px; border-radius:24px; }
}
/* Account and confirmation pages keep floating support away from form actions. */
body.efx-portal-page #comocalls-call-button { display:none !important; }

/* Checkout and account entry points in the existing responsive theme header. */
.efx-header-account { display:flex; align-items:center; flex:none; line-height:1; }
.efx-header-account .efx-ab { display:inline-flex; margin:0; }
.efx-header-account .efx-ab-av { width:40px; height:40px; background:#f2f0ff; color:#4823ff; border-color:#ded8fa; }
.efx-header-account .efx-ab.is-in .efx-ab-av { background:#4823ff; color:#fff; }
.efx-header-apply .efx-apply-short { display:none; }
@media(max-width:1180px) { .efx-header-part .header-actions .header-secondary { display:none; } }
@media(max-width:600px) {
 .efx-header-part .header-inner { gap:12px; padding-inline:22px; }
 .efx-header-part .efx-navigation { flex:none; margin-left:auto; }
 .efx-header-part .header-actions { gap:8px; margin-left:0; flex:none; }
 .efx-header-part .header-primary { min-height:40px; padding:10px 16px; }
 .efx-header-apply .efx-apply-full { display:none; }
 .efx-header-apply .efx-apply-short { display:inline; }
}
@media(max-width:359px) {
 .efx-header-part .header-inner { gap:8px; padding-inline:16px; }
 .efx-header-part .wordmark { font-size:24px; }
 .efx-header-part .header-actions { gap:6px; }
 .efx-header-account .efx-ab-av { width:36px; height:36px; }
 .efx-header-part .header-primary { padding:10px 13px; }
}
@media(max-width:359px) { .efx-header-part .header-primary { display:inline-flex; } }

/* One aligned phone control: compact calling code and a flexible number field. */
#efx .efx-phone { display:grid; grid-template-columns:112px minmax(0,1fr); gap:0; width:100%; height:52px; border:1px solid var(--efx-line); border-radius:12px; background:#fff; overflow:hidden; }
#efx .efx-dial { position:relative; min-width:0; height:100%; border-right:1px solid var(--efx-line); background:#f2f0ff; color:#4823ff; }
#efx .efx-dial select { appearance:none; -webkit-appearance:none; display:block; width:100%; min-width:0; height:100%; padding:0 30px 0 14px; border:0; border-radius:0; background:transparent; color:#18161a; font-family:var(--wp--preset--font-family--body,Inter,sans-serif); font-size:14px; font-weight:500; line-height:normal; cursor:pointer; }
#efx .efx-dial svg { position:absolute; right:12px; top:50%; transform:translateY(-50%); width:14px; height:14px; pointer-events:none; }
#efx .efx-dial select:focus-visible { outline:2px solid #4823ff; outline-offset:-4px; }
#efx .efx-phone input { display:block; width:100%; min-width:0; height:100%; padding:0 14px; border:0; border-radius:0; background:#fff; font-size:16px; line-height:normal; }
#efx .efx-phone:focus-within { border-color:#4823ff; box-shadow:0 0 0 3px #4823ff20; }
#efx .efx-dial option { color:#18161a; background:#fff; }

/* The full signed-in account link remains clear at every screen size. */
.efx-header-account .efx-ab.is-in { gap:9px; padding:5px 12px 5px 5px; border:1px solid #ded8fa; background:#fff; }
.efx-header-account .efx-ab.is-in .efx-ab-text { display:flex; text-align:left; }
.efx-header-account .efx-ab-hi { max-width:118px; font-size:12px; line-height:1.4; }
.efx-header-account .efx-ab-sub { font-size:10px; line-height:1.4; color:#686370; }
@media(max-width:600px) {
 .efx-header-part .header-inner:has(.efx-ab.is-in) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 16px; padding-top:16px; padding-bottom:16px; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) > .wordmark { grid-column:1; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) > .efx-navigation { grid-column:2; margin:0; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) > .header-actions { grid-column:1 / -1; width:100%; justify-content:space-between; }
 .efx-header-account .efx-ab.is-in .efx-ab-hi { max-width:155px; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) .efx-apply-full { display:inline; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) .efx-apply-short { display:none; }
}
@media(max-width:359px) {
 #efx .efx-phone { grid-template-columns:100px minmax(0,1fr); }
 #efx .efx-dial select { padding-left:10px; padding-right:24px; font-size:13px; }
 #efx .efx-dial svg { right:8px; }
 .efx-header-account .efx-ab.is-in .efx-ab-hi { max-width:100px; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) .efx-apply-full { display:none; }
 .efx-header-part .header-inner:has(.efx-ab.is-in) .efx-apply-short { display:inline; }
}

/* Document guidance and private upload controls in the existing intake. */
.efx-document-guide { padding:20px 24px; margin:0 0 28px; border:1px solid #ded8fa; border-radius:18px; background:#f2f0ff; font-size:14px; line-height:1.75; }
.efx-document-guide summary { cursor:pointer; font-size:16px; font-weight:600; color:#18161a; }
.efx-document-guide ul { margin:18px 0; padding-left:20px; list-style:disc; }
.efx-document-guide li { margin-bottom:10px; }
.efx-document-guide a { text-decoration:underline; text-underline-offset:3px; }
.efx-document-guide p { margin:0 0 12px; color:#686370; }
.efx-q-drop:focus-within { outline:3px solid #4823ff; outline-offset:3px; }
.efx-q-drop.is-unavailable { cursor:default; background:#f8f7fa; border-color:#e4dff0; }
.efx-q-drop.is-unavailable b { color:#686370; }
.efx-q-drop.is-unavailable:hover { background:#f8f7fa; border-color:#e4dff0; }
@media(max-width:600px) { .efx-document-guide { padding:18px; } }

/* Shared workflow rhythm and clear primary actions. */
.efx-portal-page .efx-document { padding-top:40px; padding-bottom:64px; }
.efx-acct .efx-portal-heading { margin-bottom:28px; }
.efx-acct .efx-portal-eyebrow { margin-bottom:12px; }
.efx-acct .efx-portal-heading h2 { font-size:clamp(30px,3.3vw,44px); margin-bottom:12px; line-height:1.2; }
.efx-acct .efx-portal-heading > p:last-child { font-size:16px; line-height:1.65; }
.efx-acct .efx-e-card { padding:32px; border-radius:24px; }
.efx-acct .efx-e-h1 { font-size:28px; margin-bottom:10px; }
.efx-acct .efx-e-lead { margin-bottom:24px; font-size:16px; line-height:1.65; }
.efx-acct a.efx-primary-action, .efx-acct .efx-q-nav .efx-q-next,
.efx-acct a.efx-e-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 22px; border:1px solid #4823ff; border-radius:999px; background:#4823ff; color:#fff; font:inherit; font-size:15px; font-weight:600; text-decoration:none; line-height:1.5; }
.efx-acct a.efx-primary-action:hover, .efx-acct .efx-q-nav .efx-q-next:hover,
.efx-acct a.efx-e-btn:hover { background:#3719d4; border-color:#3719d4; color:#fff; }
.efx-acct .efx-brief-cta { padding:24px; line-height:1.65; }
.efx-brief-cta > div { min-width:0; }
.efx-acct .efx-next-msg { padding:18px; line-height:1.65; background:#faf9fc; border:1px solid #e4dff0; }
.efx-support-action { margin-bottom:24px; }
.efx-overview-grid { gap:24px; margin-bottom:24px; }
.efx-progress-panel { padding:24px; }
.efx-acct .efx-progress-panel h3 { margin-bottom:24px; font-size:20px; }
.efx-progress-panel .efx-steps li { padding-bottom:22px; }
.efx-acct .efx-thankyou .efx-e-card > .efx-brief-cta { margin-top:0; }
.efx-welcome-grid { gap:28px; margin:28px 0; }
.efx-acct .efx-welcome-next h3 { font-size:22px; margin-bottom:22px; }
.efx-acct .efx-welcome-receipt { padding:24px; }
.efx-preferences { margin-top:24px; border:1px solid #e4dff0; border-radius:16px; padding:0 20px; }
.efx-preferences > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; font-weight:600; cursor:pointer; list-style:none; }
.efx-preferences > summary::after { content:'+'; color:#4823ff; font-size:22px; }
.efx-preferences[open] > summary::after { content:'−'; }
.efx-preferences > summary span { margin-left:auto; color:#686370; font-size:12px; font-weight:400; }
.efx-preferences .efx-channel { padding-top:12px; }
.efx-preferences .efx-channel h3 { font-size:20px; }
.efx-support-link { margin-top:20px; }

/* Checkout actions stay in reach while details can scroll. */
#efx .efx-modal { height:min(780px,calc(100dvh - 32px)); overflow:hidden; }
#efx .efx-main { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:28px 32px 0; scroll-padding-block:20px 120px; }
#efx .efx-plan { min-height:0; overflow-y:auto; padding-top:36px; }
#efx .efx-checkout-step { margin:0 40px 12px 0; color:#686370; font-size:12px; font-weight:600; }
#efx .efx-dots { margin-bottom:20px; }
#efx .efx-form h2 { font-size:27px; }
#efx .efx-pkg { padding:16px; border-radius:16px; }
#efx .efx-pkg-list { gap:6px; font-size:13px; }
#efx .efx-pkg-list > span { line-height:1.5; }
#efx .efx-checkout-actions { position:sticky; bottom:0; z-index:2; margin:16px -8px 0; padding:14px 8px 16px; border-top:1px solid #e4dff0; background:#fff; box-shadow:0 -12px 20px -22px #18161a80; }
#efx .efx-checkout-actions .efx-btn { margin-top:0; }
#efx .efx-checkout-actions .efx-legal { margin-top:10px; }
#efx .efx-nav.efx-checkout-actions { display:flex; gap:10px; }
#efx .efx-nav.efx-checkout-actions .efx-btn-2 { flex:0 0 76px; }
#efx .efx-nav.efx-checkout-actions .efx-btn:not(.efx-btn-2) { flex:1; }
#efx .efx-step { padding-bottom:1px; }
#efx .efx-trust { padding-bottom:16px; }
#efx .efx-plan-journey { display:none; margin-top:28px; border-top:1px solid #ffffff26; padding-top:24px; }
#efx .efx-plan-journey b { display:block; margin-bottom:16px; color:#fff; font-size:15px; }
#efx .efx-plan-journey ol { padding-left:20px; margin:0; color:#ddd7e9; font-size:14px; }
#efx .efx-plan-journey li { padding:4px 0 12px 4px; }
#efx[data-step="1"] .efx-plan-list, #efx[data-step="1"] .efx-plan hr { display:none; }
#efx[data-step="1"] .efx-plan-journey { display:block; }
#efx[data-step="1"] .efx-plan .efx-check { margin-top:24px; }

/* Onboarding: readable questions, consistent controls and visible save state. */
.efx-portal-page .efx-acct.efx-brief { max-width:820px; }
.efx-q-top { margin-bottom:20px; }
.efx-q-bar { background:#eae5fb; height:6px; }
.efx-q-top p { color:#57515f; font-size:13px; line-height:1.5; }
.efx-q-saved { text-align:right; }
.efx-q-roadmap { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; padding:0; margin:0 0 24px; list-style:none; }
.efx-q-roadmap li { display:flex; flex-direction:column; gap:8px; color:#686370; font-size:11px; font-weight:500; line-height:1.5; }
.efx-q-roadmap li > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; border:1px solid #ded8ed; background:#fff; color:#686370; font-size:12px; }
.efx-q-roadmap .is-current { color:#3719d4; font-weight:700; }
.efx-q-roadmap .is-current > span { background:#4823ff; border-color:#4823ff; color:white; }
.efx-q-roadmap .is-previous > span { background:#f2f0ff; color:#4823ff; border-color:#ded8fa; }
.efx-acct .efx-q-card { padding:32px; }
.efx-q-required-note { margin:-8px 0 28px; padding-bottom:20px; border-bottom:1px solid #e4dff0; font-size:12px; color:#686370; }
.efx-q-required-note > span { color:#4823ff; }
.efx-q-field { margin-bottom:28px; }
.efx-acct .efx-q-label { font-size:16px; line-height:1.5; margin-bottom:10px; }
.efx-q-optional { display:inline-block; margin-left:6px; font-size:12px; font-weight:400; color:#686370; }
.efx-q-help { font-size:14px; line-height:1.65; color:#686370; margin:0 0 12px; max-width:680px; }
.efx-acct .efx-q-field :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],textarea) { display:block; width:100%; min-width:0; min-height:50px; padding:12px 14px; border:1px solid #cfc8dc; border-radius:12px; background:#fff; color:#18161a; font:inherit; font-size:16px; line-height:1.5; }
.efx-acct .efx-q-field input[type=date] { appearance:none; -webkit-appearance:none; }
.efx-acct .efx-q-field input[type=date]::-webkit-date-and-time-value { text-align:left; }
.efx-q-opts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.efx-q-opt span { min-height:52px; border-width:1px; border-radius:12px; padding:12px 14px; font-size:15px; line-height:1.5; }
.efx-q-opt:hover span { border-color:#4823ff; }
.efx-q-drop { position:relative; padding:22px 16px; border-width:1px; background:#faf9fc; }
.efx-q-drop b { font-size:15px; }
.efx-q-drop span { margin-top:4px; font-size:13px; }
.efx-q-files li { flex-wrap:wrap; padding:12px; margin-bottom:8px; border:1px solid #e4dff0; border-radius:12px; background:#faf9fc; }
.efx-q-files li span { white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.efx-q-files small { font-size:12px; }
.efx-acct .efx-q-x { min-width:40px; width:40px; height:40px; }
.efx-q-files progress { max-width:100%; }
.efx-q-nav { position:sticky; bottom:0; z-index:3; background:#fff; padding:16px 0; margin-top:12px; box-shadow:0 -12px 20px -22px #18161a80; }
.efx-q-foot { margin-top:4px; color:#686370; line-height:1.6; }
.efx-q-review li { gap:10px; padding:16px; }
.efx-acct .efx-q-review button { min-height:40px; padding:8px 14px; }
@media(max-width:760px) {
 #efx .efx-modal { height:100dvh; grid-template-rows:auto minmax(0,1fr); }
 #efx .efx-plan { padding:18px 22px; overflow:visible; }
 #efx .efx-plan-name { font-size:22px; margin:0; }
 #efx .efx-price { margin-top:8px; line-height:1; }
 #efx .efx-price [data-efx-price] { font-size:30px; }
 #efx .efx-eyebrow { margin-bottom:6px; }
 #efx .efx-setup { margin-top:8px; font-size:12px; }
 #efx .efx-plan .efx-check, #efx .efx-plan-journey { display:none !important; }
 #efx .efx-main { padding:22px 20px 0; }
 #efx .efx-form h2 { font-size:24px; }
 .efx-portal-page .efx-document { padding:28px 20px 48px; }
 .efx-acct .efx-e-card, .efx-acct .efx-q-card { padding:24px; }
 .efx-overview-grid, .efx-welcome-grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:480px) {
 .efx-acct .efx-portal-heading h2 { font-size:30px; }
 .efx-acct .efx-e-card, .efx-acct .efx-q-card { padding:22px 18px; border-radius:20px; }
 .efx-acct .efx-e-h1 { font-size:25px; }
 .efx-acct .efx-brief-cta { padding:18px; gap:10px; }
 .efx-brief-cta .efx-primary-action { width:100%; padding-inline:16px; }
 .efx-brief-cta > .efx-brief-ic { display:none; }
 .efx-q-roadmap { display:block; margin-bottom:16px; }
 .efx-q-roadmap li { display:none; }
 .efx-q-roadmap li.is-current { display:flex; flex-direction:row; align-items:center; gap:10px; font-size:13px; }
 .efx-q-top p { flex-direction:column; gap:4px; }
 .efx-q-saved { text-align:left; }
 .efx-q-opts, .efx-q-opts.is-many { grid-template-columns:minmax(0,1fr); }
 .efx-q-files li small { flex-basis:100%; order:3; }
 .efx-q-nav { padding-bottom:12px; }
 .efx-q-required-note { margin-bottom:24px; }
 .efx-preferences { padding:0 14px; }
 .efx-preferences > summary { font-size:14px; }
 #efx .efx-nav.efx-checkout-actions .efx-btn { font-size:13px; padding-inline:10px; }
}
@media(max-width:480px) {
 .efx-account .efx-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; overflow:visible; }
 .efx-account .efx-tabs a { min-width:0; padding:11px 4px; text-align:center; font-size:12px; }
}

.efx-acct .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
#efx .efx-plan-journey ol { list-style:decimal; }

/* Onboarding: generous page width with a quiet document illustration. */
.efx-portal-page .efx-acct.efx-brief { max-width:1140px; }
.efx-intake-heading { display:grid; grid-template-columns:minmax(0,1fr) 220px; align-items:center; gap:32px; margin:0 0 28px; }
.efx-acct .efx-intake-heading h2 { margin:0 0 12px; font-size:clamp(28px,3vw,38px); line-height:1.2; letter-spacing:-.045em; }
.efx-intake-heading h2 span { background:linear-gradient(transparent 69%,#e7ff6e 69%,#e7ff6e 94%,transparent 94%); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.efx-acct .efx-intake-heading .efx-portal-eyebrow { margin-bottom:12px; }
.efx-intake-heading > div > p:last-child { max-width:590px; margin:0; color:#686370; font-size:16px; line-height:1.7; }
.efx-intake-art { position:relative; height:150px; overflow:hidden; pointer-events:none; }
.efx-intake-orbit { position:absolute; width:164px; height:136px; top:7px; left:24px; border-radius:50%; background:#f2f0ff; }
.efx-intake-orbit::after { content:''; position:absolute; inset:10px -12px; border:1px dashed #d7cef7; border-radius:50%; transform:rotate(-20deg); }
.efx-intake-paper { position:absolute; top:16px; left:54px; width:108px; height:118px; padding:15px; border:1px solid #dcd4f0; border-radius:12px; background:#fff; transform:rotate(-8deg); box-shadow:5px 6px 0 #e5defb; }
.efx-intake-paper > span { display:block; margin-bottom:16px; color:#4823ff; font-size:10px; font-weight:600; letter-spacing:.08em; }
.efx-intake-paper > svg { width:100%; height:44px; color:#ded7ee; }
.efx-intake-seal { position:absolute; right:38px; bottom:11px; display:grid; place-items:center; width:36px; height:36px; border:4px solid #faf9f6; border-radius:50%; background:#4823ff; color:#fff; }
.efx-intake-seal svg { width:22px; height:22px; }
.efx-intake-spark { position:absolute; top:13px; right:30px; color:#4823ff; font-size:26px; font-weight:400; }
.efx-brief .efx-q-top { margin-bottom:24px; }
.efx-brief .efx-q-card { padding:36px; }
@media(max-width:760px) {
 .efx-intake-heading { grid-template-columns:minmax(0,1fr) 128px; gap:16px; margin-bottom:24px; }
 .efx-intake-art { height:126px; }
 .efx-intake-orbit { width:112px; height:112px; left:6px; }
 .efx-intake-paper { left:24px; width:78px; height:96px; padding:12px; top:10px; }
 .efx-intake-paper > span { font-size:8px; margin-bottom:10px; }
 .efx-intake-paper > svg { height:36px; }
 .efx-intake-seal { right:7px; bottom:8px; width:30px; height:30px; border-width:3px; }
 .efx-intake-seal svg { width:18px; height:18px; }
 .efx-intake-spark { right:0; top:2px; font-size:20px; }
 .efx-brief .efx-q-card { padding:24px; }
}
@media(max-width:480px) {
 .efx-intake-heading { grid-template-columns:minmax(0,1fr) 76px; gap:12px; }
 .efx-acct .efx-intake-heading h2 { font-size:27px; }
 .efx-intake-heading > div > p:last-child { font-size:14px; line-height:1.65; }
 .efx-intake-art { height:106px; }
 .efx-intake-orbit { width:70px; height:86px; left:0; }
 .efx-intake-paper { top:14px; left:10px; width:54px; height:70px; padding:8px; border-radius:8px; box-shadow:3px 4px 0 #e5defb; }
 .efx-intake-paper > span { font-size:6px; margin-bottom:8px; }
 .efx-intake-paper > svg { height:26px; }
 .efx-intake-seal { right:0; bottom:4px; width:26px; height:26px; }
 .efx-intake-seal svg { width:16px; height:16px; }
 .efx-intake-spark { top:1px; right:0; font-size:17px; }
 .efx-brief .efx-q-card { padding:22px 18px; }
}
.efx-intake-heading { text-align:left; color:#18161a; }
.efx-acct .efx-intake-heading h2 { color:#18161a; }

/* Questions lead; native selection controls make each answer unmistakable. */
.efx-acct .efx-q-card .efx-q-label { font-size:17px; font-weight:700; line-height:1.5; color:#18161a; margin-bottom:12px; }
.efx-acct .efx-q-label .efx-q-optional { font-size:12px; font-weight:400; }
.efx-q-field { margin-bottom:28px; }
.efx-q-field + .efx-q-field { padding-top:28px; border-top:1px solid #ece8f3; }
.efx-acct .efx-q-field > :is(input,textarea), .efx-acct .efx-q-opts { max-width:860px; }
.efx-acct .efx-q-opts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.efx-acct .efx-q-opts.is-stacked { grid-template-columns:minmax(0,1fr); }
.efx-acct label.efx-q-opt { display:block; margin:0; }
.efx-acct .efx-q-opt span { display:flex; align-items:center; min-height:50px; padding:12px 16px 12px 48px; border:1px solid #d8d2e3; border-radius:12px; background:#fff; font-size:15px; font-weight:400; line-height:1.55; color:#37313e; }
.efx-acct .efx-q-opt input:is([type=radio],[type=checkbox]) { position:absolute; opacity:1; left:16px; top:50%; transform:translateY(-50%); width:18px; height:18px; margin:0; padding:0; accent-color:#4823ff; z-index:1; cursor:pointer; }
.efx-acct .efx-q-opt input[type=checkbox] + span::before { display:none; content:none; }
.efx-acct .efx-q-opt input:checked + span { border-color:#4823ff; box-shadow:inset 0 0 0 1px #4823ff; background:#f5f2ff; color:#24174d; font-weight:500; }
.efx-acct .efx-q-opt:hover span { border-color:#8870e5; }
.efx-acct .efx-q-opt input:focus-visible { outline:0; }
.efx-acct .efx-q-opt input:focus-visible + span { outline:3px solid #b8a9ff; outline-offset:3px; }
@media(max-width:600px) {
 .efx-acct .efx-q-opts { grid-template-columns:minmax(0,1fr); }
 .efx-acct .efx-q-opts.is-short { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .efx-acct .efx-q-card .efx-q-label { font-size:16px; }
 .efx-q-field + .efx-q-field { padding-top:24px; }
 .efx-acct .efx-q-opt span { padding-left:44px; }
 .efx-acct .efx-q-opt input:is([type=radio],[type=checkbox]) { left:14px; }
}
.efx-account-sync { display:flex; align-items:center; gap:8px; margin:0 0 18px; color:#686370; font-size:12px; line-height:1.6; }
.efx-account-sync::before { content:''; flex:none; width:7px; height:7px; border-radius:50%; background:#4823ff; }
.efx-completion { display:flex; align-items:flex-start; gap:14px; margin:0 0 24px; padding:24px; border:1px solid #a6dfbb; border-radius:18px; background:#effbf3; color:#173b24; }
.efx-completion > span { display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; color:#15803d; background:white; }
.efx-completion b { font-size:18px; line-height:1.5; }
.efx-completion p { margin:8px 0 12px; font-size:15px; line-height:1.65; }
.efx-completion a { color:#176c35; font-size:14px; font-weight:600; }
.efx-payment-reference { margin-top:18px; overflow-wrap:anywhere; }
@media(max-width:480px) { .efx-completion { padding:18px; gap:10px; } .efx-completion b { font-size:16px; } .efx-completion > span { width:30px; height:30px; background:none; } }
