.wfcd-demo-note{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 18px;color:#707180;font-size:12px}.wfcd-demo-note button{font:inherit;border:1px solid #dadce5;background:white;color:#43347d;border-radius:999px;padding:7px 12px;cursor:pointer}.wfcd-error{color:#b12643;font-size:14px;margin:0 0 12px}.wfcd-error[hidden]{display:none}
.wfcd{--wfcd-ease:cubic-bezier(.22,.8,.24,1);width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(255,255,255,.65);border-radius:32px;background:#fff;color:#242232;overflow:auto;box-shadow:0 30px 120px #19132e40;opacity:0;transform:translateY(20px) scale(.96);transition:opacity .5s var(--wfcd-ease),transform .65s var(--wfcd-ease);font-family:inherit}
.wfcd[open].is-open{opacity:1;transform:translateY(0) scale(1)}.wfcd::backdrop{background:#17112670;backdrop-filter:blur(9px);opacity:0;transition:opacity .5s var(--wfcd-ease)}.wfcd.is-open::backdrop{opacity:1}.wfcd__card{position:relative;isolation:isolate;padding:32px 32px 24px;min-height:622px;text-align:center;overflow:hidden;background:linear-gradient(155deg,#fff 10%,#faf8ff 60%,#f4faff);border-radius:inherit}
.wfcd__glow{position:absolute;z-index:-1;width:350px;height:350px;left:50%;top:-185px;border-radius:50%;background:radial-gradient(circle,#8b5cf63b,transparent 70%);transform:translateX(-50%);transition:background .8s}.wfcd__close{position:absolute;z-index:3;top:16px;right:16px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:#efedf6;color:#777184;cursor:pointer}.wfcd__close svg{width:16px;stroke:currentColor;stroke-width:1.8;fill:none}.wfcd__eyebrow{margin:4px 0 26px;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#817494}
.wfcd__visual{position:relative;display:grid;place-items:center;width:148px;height:148px;margin:0 auto 18px}.wfcd__orb{position:relative;display:grid;place-items:center;width:112px;height:112px;border-radius:36px;background:linear-gradient(140deg,#7852d5,#4c86e8);box-shadow:0 14px 32px #6b50bf29;overflow:hidden;transform:rotate(-7deg);transition:transform .85s var(--wfcd-ease),border-radius .85s var(--wfcd-ease),background .85s,box-shadow .85s}
.wfcd__check{position:absolute;width:56px;height:56px;fill:none;stroke:white;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(7deg);transition:opacity .45s,transform .7s var(--wfcd-ease)}.wfcd__check path{stroke-dasharray:45;stroke-dashoffset:45}.wfcd.is-open [data-wfcd-state=thanks] .wfcd__check path{animation:wfcd-tick .7s .2s forwards}.wfcd__portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%;opacity:0;transform:scale(1.14);transition:opacity .7s var(--wfcd-ease),transform .85s var(--wfcd-ease)}
.wfcd__orbit{position:absolute;inset:0;border:1px solid #8a70c726;border-radius:48px;transform:rotate(8deg) scale(.95);transition:transform 1s var(--wfcd-ease),border-radius 1s var(--wfcd-ease);animation:wfcd-breathe 4s ease-in-out infinite}.wfcd__meet{position:absolute;right:5px;bottom:12px;display:grid;place-items:center;width:46px;height:46px;border:3px solid white;background:white;border-radius:15px;box-shadow:0 4px 18px #24223218;opacity:0;transform:translate(-16px,-8px) scale(.6);transition:opacity .6s,transform .85s var(--wfcd-ease)}.wfcd__meet img{width:29px;height:29px}
.wfcd__spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#9a7dd9;transition:transform 1s var(--wfcd-ease),opacity 1s}.wfcd__spark--one{left:1px;top:30px}.wfcd__spark--two{right:5px;top:10px;width:5px;height:5px;background:#66aad9}.wfcd__spark--three{left:24px;bottom:7px;width:4px;height:4px;background:#a39dc5}
[data-wfcd-state=booking] .wfcd__orb{border-radius:50%;transform:rotate(0);box-shadow:0 0 0 5px white,0 0 0 6px #8e72cc25,0 14px 32px #6b50bf29}[data-wfcd-state=booking] .wfcd__portrait{opacity:1;transform:scale(1)}[data-wfcd-state=booking] .wfcd__check{opacity:0;transform:rotate(7deg) scale(.7)}[data-wfcd-state=booking] .wfcd__meet{opacity:1;transform:translate(0,0) scale(1)}[data-wfcd-state=booking] .wfcd__orbit{border-radius:50%;transform:rotate(0)}
[data-wfcd-state=response] .wfcd__orb{border-radius:50%;transform:rotate(0);background:#f0eafb;box-shadow:0 0 0 12px #f5f1fc}[data-wfcd-state=response] .wfcd__portrait,[data-wfcd-state=response] .wfcd__check{opacity:0;transform:scale(.85)}[data-wfcd-state=response] .wfcd__orbit{border-radius:50%;transform:scale(1.1)}[data-wfcd-state=response] .wfcd__spark{transform:scale(.5);opacity:.3}.wfcd__loader{position:absolute;width:46px;height:46px;border:3px solid #8b69c828;border-top-color:#7954c8;border-right-color:#62a6d7;border-radius:50%;opacity:0;transition:opacity .5s;animation:wfcd-spin 1.2s linear infinite}[data-wfcd-state=response] .wfcd__loader{opacity:1}
.wfcd__stages{position:relative;height:302px}.wfcd__stage{position:absolute;inset:0;opacity:0;transform:translateY(16px) scale(.97);filter:blur(5px);pointer-events:none;transition:opacity .65s var(--wfcd-ease),transform .8s var(--wfcd-ease),filter .7s var(--wfcd-ease)}.wfcd__stage.is-active{opacity:1;transform:translateY(0) scale(1);filter:blur(0);pointer-events:auto}.wfcd__stage.is-leaving{transform:translateY(-12px) scale(1.025);filter:blur(5px)}.wfcd__stage h2{font-size:40px;line-height:1.1;font-weight:650;letter-spacing:-1.6px;margin:0 0 16px;color:#242232}.wfcd__stage h2 span{background:linear-gradient(110deg,#8051c8,#4683cc);background-clip:text;-webkit-background-clip:text;color:transparent}.wfcd__stage p{font-size:14px;line-height:1.65;color:#75717f;margin:0 auto 18px;max-width:340px}.wfcd__received{display:flex;align-items:center;justify-content:center;gap:8px;color:#687a78;font-size:12px;margin:30px 0 0}.wfcd__received>span{width:6px;height:6px;border-radius:50%;background:#50b18e;box-shadow:0 0 0 4px #50b18e12}
.wfcd__details{display:flex;justify-content:center;align-items:center;gap:14px;margin:0 0 20px;font-size:12px;color:#706b7b}.wfcd__details>span{display:flex;align-items:center;gap:5px}.wfcd__details svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6}.wfcd__details img{width:18px;height:18px}.wfcd__primary{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:48px;padding:12px 18px;border:0;border-radius:14px;background:linear-gradient(110deg,#7753cf,#4e81d4);box-shadow:0 5px 16px #7953c525;color:#fff;font:600 14px/1.4 inherit;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:box-shadow .25s,transform .25s}.wfcd__primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px #7953c535}.wfcd__primary>span{font-size:20px}.wfcd__secondary{margin:12px 0 0;border:0;background:none;font:inherit;font-size:12px;color:#777180;text-decoration:underline;text-decoration-color:#cec7db;text-underline-offset:4px;cursor:pointer;padding:5px 12px}.wfcd button:focus-visible,.wfcd a:focus-visible{outline:3px solid #4d85df;outline-offset:4px}
.wfcd__progress{display:flex;justify-content:center;gap:6px;margin:20px 0 16px}.wfcd__progress>span{width:7px;height:7px;border-radius:99px;background:#e0dbe9;transition:width .7s var(--wfcd-ease),background .7s}.wfcd__progress>span.is-current{width:26px;background:#8b6bca}.wfcd__progress>span.is-complete{background:#b29acf}.wfcd__signature{font-size:10px;letter-spacing:.5px;color:#a5a0ae;margin:0}.wfcd__response-loading,.wfcd__response-ready{position:absolute;inset:0;transition:opacity .65s var(--wfcd-ease),transform .75s var(--wfcd-ease),filter .65s}.wfcd__response-ready{opacity:0;transform:translateY(12px);filter:blur(4px);pointer-events:none}.wfcd__response-ready .wfcd__received{margin:0 0 18px}.wfcd__loading-line{display:block;width:110px;height:4px;border-radius:8px;margin:32px auto;background:#e5dcef;overflow:hidden}.wfcd__loading-line:before{content:"";display:block;width:50%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8055cd,#63a7da);animation:wfcd-line 1.4s ease-in-out infinite}.wfcd__card.is-ready .wfcd__response-loading{opacity:0;transform:translateY(-12px);filter:blur(4px)}.wfcd__card.is-ready .wfcd__response-ready{opacity:1;transform:translateY(0);filter:blur(0);pointer-events:auto}.wfcd__card.is-ready .wfcd__loader{opacity:0}.wfcd__card.is-ready .wfcd__check{opacity:1;stroke:#7954c8;transform:rotate(0) scale(1)}.wfcd__card.is-ready .wfcd__check path{stroke-dashoffset:0}.wfcd__sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes wfcd-tick{to{stroke-dashoffset:0}}@keyframes wfcd-spin{to{transform:rotate(360deg)}}@keyframes wfcd-breathe{50%{opacity:.45}}@keyframes wfcd-line{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}
@media(max-width:540px){.wfcd{border-radius:26px}.wfcd__card{padding:26px 22px 20px;min-height:600px}.wfcd__eyebrow{font-size:9px;margin-bottom:20px}.wfcd__stage h2{font-size:36px}.wfcd__stage p{font-size:13px}.wfcd__details{gap:12px;font-size:11px}.wfcd__stages{height:306px}}
@media(max-height:650px){.wfcd__card{min-height:540px;padding-top:24px}.wfcd__eyebrow{margin-bottom:12px}.wfcd__visual{width:112px;height:112px;margin-bottom:16px}.wfcd__orb{width:88px;height:88px}.wfcd__stages{height:280px}.wfcd__stage h2{font-size:32px}.wfcd__progress{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.wfcd,.wfcd::backdrop,.wfcd *{animation:none!important;transition-duration:.01ms!important;filter:none!important}.wfcd__check path{stroke-dashoffset:0}.wfcd__loader{border-color:#7954c8}}

/* Match the theme's gradient and secondary display font across the flow. */
.wfcd__stage h2 span {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  font-family: "Kaushan Script", "Segoe Script", cursive;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
}
.wfcd__primary, .wfcd__orb, .wfcd__loading-line::before { background: var(--gradient); }
.wfcd__card { background: linear-gradient(155deg, #fff 10%, #faf8ff 60%, #fff8fb); }
.wfcd__progress > span.is-current { background: var(--pink); }
.wfcd__progress > span.is-complete { background: color-mix(in srgb, var(--purple) 45%, white); }
.wfcd__loader { border-top-color: var(--pink); border-right-color: var(--purple); }
.wfcd__card.is-ready .wfcd__check { stroke: var(--purple); }
.wfcd button:focus-visible, .wfcd a:focus-visible { outline-color: var(--purple); }

/* Keep the same card geometry; move and fade the first step using transforms only. */
.wfcd__visual { transition: transform .85s var(--wfcd-ease); }
.wfcd__eyebrow { transition: opacity .65s var(--wfcd-ease), transform .85s var(--wfcd-ease); }
.wfcd__orb::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #edf9f1;
  opacity: 0;
  transition: opacity .75s var(--wfcd-ease);
}
.wfcd__check { z-index: 2; transition: opacity .45s, transform .7s var(--wfcd-ease), stroke .65s; }
.wfcd__portrait { z-index: 1; }
.wfcd__loader { z-index: 2; }
[data-wfcd-state=thanks] .wfcd__eyebrow,
[data-wfcd-state=thanks] .wfcd__orbit,
[data-wfcd-state=thanks] .wfcd__spark { opacity: 0; }
[data-wfcd-state=thanks] .wfcd__visual { transform: translateY(60px); }
[data-wfcd-state=thanks] .wfcd__orb {
  border-radius: 50%;
  transform: rotate(0);
  box-shadow: 0 0 0 10px #edf9f16b, 0 12px 30px #20a36712;
}
[data-wfcd-state=thanks] .wfcd__orb::before { opacity: 1; }
[data-wfcd-state=thanks] .wfcd__check { stroke: #20a367; transform: rotate(0); }
.wfcd__stage[data-wfcd-stage=thanks].is-active { transform: translateY(60px); }
.wfcd__stage[data-wfcd-stage=thanks].is-leaving { transform: translateY(35px) scale(1.025); }
@media(max-height:650px) {
  [data-wfcd-state=thanks] .wfcd__visual,
  .wfcd__stage[data-wfcd-stage=thanks].is-active { transform: translateY(45px); }
}

/* The original check reveal, now with a green orb and gradient particles. */
.wfcd { --wfcd-success-gradient: linear-gradient(140deg, #15995d, #42c978 52%, #8ad45c); }
[data-wfcd-state=thanks] .wfcd__orb {
  border-radius: 36px;
  transform: rotate(-7deg);
  box-shadow: 0 14px 32px #269e6428;
}
[data-wfcd-state=thanks] .wfcd__orb::before { background: var(--wfcd-success-gradient); }
[data-wfcd-state=thanks] .wfcd__check { stroke: white; transform: rotate(7deg); }
[data-wfcd-state=thanks] .wfcd__orbit {
  opacity: 1;
  border-color: #269e641f;
  border-radius: 48px;
}
[data-wfcd-state=thanks] .wfcd__spark {
  opacity: 1;
  background: var(--wfcd-success-gradient);
  box-shadow: 0 0 8px #42c97816;
  animation: wfcd-particle-float 2.6s ease-in-out infinite alternate;
}
[data-wfcd-state=thanks] .wfcd__spark--two { animation-delay: -.9s; }
[data-wfcd-state=thanks] .wfcd__spark--three { animation-delay: -1.8s; }
@keyframes wfcd-particle-float { to { transform: translateY(-6px) scale(1.15); } }

/* Keep the outer card fixed while its contents transition to the final slide. */
.wfcd__visual { transition: transform .85s var(--wfcd-ease), opacity .65s var(--wfcd-ease); }
.wfcd__card.is-ready .wfcd__visual { opacity: 0; transform: translateY(-28px) scale(.65); }
.wfcd__card.is-ready .wfcd__eyebrow { opacity: 0; transform: translateY(-8px); }
.wfcd__response-ready { top: -182px; }
.wfcd__response-ready h2 { font-size: 32px; line-height: 1.16; margin-bottom: 10px; }
.wfcd__response-ready > p[data-wfcd-final-copy] { font-size: 12.5px; line-height: 1.6; margin-bottom: 12px; }
.wfcd__stages { height: 318px; }

.wfcd__journey { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0 0 28px; }
.wfcd__journey li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.wfcd__journey li:not(:last-child)::after { content: ""; position: absolute; top: 14px; left: calc(50% + 15px); width: calc(100% - 30px); height: 3px; background: #e5e4e9; }
.wfcd__journey li.is-complete::before { content: ""; position: absolute; z-index: 1; top: 14px; left: calc(50% + 15px); width: calc(100% - 30px); height: 3px; background: linear-gradient(90deg, #38ac72, #249d63); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
.wfcd__card.is-ready .wfcd__journey li.is-complete::before { animation: wfcd-journey-fill .95s .15s var(--wfcd-ease) forwards; }
@keyframes wfcd-journey-fill { to { transform: scaleX(1); } }
.wfcd__journey-icon { position: relative; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 50%; color: #aaa4b1; background: #efedf2; }
.wfcd__journey-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.wfcd__journey .is-complete .wfcd__journey-icon { color: white; background: #38ac72; }
.wfcd__journey .is-current .wfcd__journey-icon { color: white; background: #249d63; box-shadow: 0 0 0 4px #249d6315; }
.wfcd__journey-label { max-width: 80px; font-size: 10.5px; line-height: 1.35; color: #85808c; }
.wfcd__journey .is-current .wfcd__journey-label { color: #19894f; font-weight: 600; }

/* The service-page FAQ style, scaled to the form overlay. */
.wfcd__faq-items { height: 216px; margin-bottom: 12px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; text-align: left; border-top: 1px solid var(--line); }
.wfcd__faq-items details { border-bottom: 1px solid var(--line); }
.wfcd__faq-items summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 8px 6px;
  color: var(--ink);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.wfcd__faq-items summary::-webkit-details-marker { display: none; }
.wfcd__faq-items summary > span { position: relative; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid rgba(16,16,21,.12); border-radius: 50%; transition: border-color 280ms ease, background-color 280ms ease; }
.wfcd__faq-items summary > span::before, .wfcd__faq-items summary > span::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 1px; background: var(--ink); transform: translate(-50%,-50%); transition: transform 280ms cubic-bezier(.22,1,.36,1), background-color 280ms ease; }
.wfcd__faq-items summary > span::after { transform: translate(-50%,-50%) rotate(90deg); }
.wfcd__faq-items details[open] summary > span { border-color: var(--pink); background: var(--pink); }
.wfcd__faq-items details[open] summary > span::before, .wfcd__faq-items details[open] summary > span::after { background: white; transform: translate(-50%,-50%) rotate(180deg); }
.wfcd__faq-panel { height: 0; overflow: hidden; opacity: 0; }
.wfcd__faq-items details[open] > .wfcd__faq-panel { height: auto; opacity: 1; }
.wfcd__faq-panel-inner { padding: 0 34px 12px 0; }
.wfcd__faq-panel-inner p { max-width: none; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.wfcd__faq-items summary:focus-visible { outline: 2px solid var(--pink); outline-offset: -2px; border-radius: 4px; }
.wfcd__response-ready > .wfcd__primary { min-height: 48px; }
@media(max-width:540px) {
  .wfcd__faq-items { height: 232px; }
  .wfcd__stages { height: 322px; }
}
@media(max-height:650px) {
  .wfcd__response-ready { top: -158px; }
  .wfcd__response-ready h2 { font-size: 26px; margin-bottom: 8px; }
  .wfcd__response-ready > p[data-wfcd-final-copy] { font-size: 12px; margin-bottom: 10px; }
  .wfcd__journey { margin-bottom: 24px; }
  .wfcd__stages { height: 296px; }
  .wfcd__journey-icon { width: 26px; height: 26px; flex-basis: 26px; }
  .wfcd__journey li:not(:last-child)::after { top: 12px; left: calc(50% + 13px); width: calc(100% - 26px); }
  .wfcd__journey li.is-complete::before { top: 12px; left: calc(50% + 13px); width: calc(100% - 26px); }
  .wfcd__journey-label { font-size: 10px; }
  .wfcd__faq-items { height: 202px; margin-bottom: 10px; }
  .wfcd__faq-items summary { min-height: 40px; padding-top: 6px; padding-bottom: 6px; }
}
@media(prefers-reduced-motion:reduce) {
  .wfcd__journey li.is-complete::before { animation: none !important; transform: scaleX(1); }
}

.wfcd__card.is-ready .wfcd__journey .is-current .wfcd__journey-icon {
  animation: wfcd-feedback-pulse 2.2s 1.1s ease-in-out infinite;
}
@keyframes wfcd-feedback-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 4px #249d6315; }
  50% { transform: scale(1.07); box-shadow: 0 0 0 9px #249d630b; }
}

/* A second, guided form; the original form and confirmation dialog keep their layout. */
.wfcd-guided { --guided-ease: cubic-bezier(.22,1,.36,1); border-block: 1px solid #1010150c; background: radial-gradient(ellipse at 80% 20%,#ad087108,transparent 55%),#faf9fb; }
.wfcd-guided__layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(320px,1fr); align-items:center; gap:clamp(40px,7vw,100px); }
.wfcd-guided__intro h2 { margin:0 0 22px; }
.wfcd-guided__intro > p:not(.kicker) { max-width:440px; margin:0 0 32px; color:var(--muted); font-size:.92rem; line-height:1.75; }
.wfcd-guided__promise { display:flex; gap:14px; align-items:flex-start; max-width:420px; }
.wfcd-guided__promise > span { display:grid; place-items:center; flex:0 0 34px; width:34px; height:34px; color:#249d63; background:#249d6310; border-radius:50%; }
.wfcd-guided__promise svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.wfcd-guided__promise strong { display:block; font-size:.83rem; margin-bottom:5px; }
.wfcd-guided__promise p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.7; }
.wfcd-guided__form { --step-direction:1; position:relative; min-width:0; margin:0; padding:clamp(24px,3vw,34px); border:1px solid #10101514; border-radius:24px; background:radial-gradient(circle at 100% 0%,#f1085208,transparent 35%),#fff; box-shadow:0 22px 48px #170d260d; }
.wfcd-guided__header { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:22px; }
.wfcd-guided__header > span:first-child { font-size:10px; font-weight:700; letter-spacing:1.7px; color:var(--muted); }
.wfcd-guided__header > span:last-child { font-size:11px; font-weight:600; color:var(--purple); }
.wfcd-guided__progress { display:none; grid-template-columns:repeat(5,minmax(0,1fr)); list-style:none; padding:0; margin:0 0 14px; gap:6px; }
.wfcd-guided__progress li { display:flex; flex-direction:column; align-items:center; gap:7px; color:#8a8691; font-size:10px; transition:color .4s; }
.wfcd-guided__number { display:grid; place-items:center; width:28px; height:28px; border:1px solid #e9e5ed; border-radius:50%; background:#f8f6fa; color:#8a8691; font-size:11px; font-weight:600; transition:background .4s,border-color .4s,color .4s,box-shadow .4s; }
.wfcd-guided__progress .is-current { color:var(--purple); font-weight:600; }
.wfcd-guided__progress .is-current .wfcd-guided__number { background:var(--gradient); color:#fff; border-color:transparent; box-shadow:0 0 0 4px #ad087108; }
.wfcd-guided__progress .is-complete .wfcd-guided__number { background:#f3edf6; border-color:#e6d5e9; color:var(--purple); }
.wfcd-guided__track { display:none; height:3px; margin-bottom:30px; border-radius:4px; background:#f0edf2; overflow:hidden; }
.wfcd-guided__track > span { display:block; width:100%; height:100%; border-radius:inherit; background:var(--gradient); transform:scaleX(.2); transform-origin:left; transition:transform .65s var(--guided-ease); }
.wfcd-guided__step { min-width:0; margin-bottom:24px; }
.wfcd-guided__step h3 { margin:0 0 8px; font-size:clamp(22px,2.2vw,28px); line-height:1.25; letter-spacing:-.8px; }
.wfcd-guided__step h3:focus { outline:none; }
.wfcd-guided__step > p { margin:0 0 24px; color:var(--muted); font-size:12px; line-height:1.7; }
.wfcd-guided__step label { display:block; margin:0 0 8px; color:var(--ink); font-size:12px; font-weight:600; }
.wfcd-guided__step label > span { margin-left:6px; color:#7e7786; font-size:10px; font-weight:400; }
.wfcd-guided__step input,.wfcd-guided__step select,.wfcd-guided__step textarea { display:block; width:100%; min-width:0; border:1px solid #10101524; border-radius:12px; padding:15px 16px; background:#fff; color:var(--ink); font:inherit; font-size:16px; line-height:1.5; transition:border-color .2s,box-shadow .2s; }
.wfcd-guided__step input::placeholder,.wfcd-guided__step textarea::placeholder { color:#a19aa8; }
.wfcd-guided__step textarea { height:112px; resize:none; }
.wfcd-guided__step input:focus,.wfcd-guided__step select:focus,.wfcd-guided__step textarea:focus { outline:none; border-color:#ad087160; box-shadow:0 0 0 4px #ad08710b; }
.wfcd-guided__step [aria-invalid=true] { border-color:#b12643; }
.wfcd-guided__notice { min-height:44px; display:flex; align-items:center; }
.wfcd-guided__notice .wfcd-error { margin:0; font-size:12px; line-height:1.6; }
.wfcd-guided__actions { display:flex; align-items:center; gap:16px; }
.wfcd-guided__back { display:none; align-items:center; justify-content:flex-start; gap:8px; min-height:52px; padding:8px 0; border:0; background:none; color:var(--muted); font:inherit; font-size:13px; cursor:pointer; }
.wfcd-guided__back:disabled { opacity:.3; cursor:default; }
.wfcd-guided__next,.wfcd-guided__send { display:flex; align-items:center; justify-content:center; gap:18px; flex:1; height:56px; min-height:56px; padding:12px 20px; border:0; border-radius:12px; background:var(--gradient); color:#fff; font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:box-shadow .25s; }
.wfcd-guided__next { display:none; }
.wfcd-guided__next:hover,.wfcd-guided__send:hover { box-shadow:0 5px 20px #ad087124; }
.wfcd-guided__next > span { font-size:20px; font-weight:400; }
.wfcd-guided__send .ct-form__submit-label,.wfcd-guided__send .ct-form__submit-busy { display:flex; align-items:center; justify-content:center; gap:12px; }
.wfcd-guided__form [hidden] { display:none!important; }
.wfcd-guided__form button:focus-visible { outline:2px solid var(--purple); outline-offset:4px; }
.wfcd-guided__form.is-submitting .wfcd-guided__stages { pointer-events:none; }
.wfcd-guided__form.is-submitting button { cursor:wait; }
.wfcd-guided__privacy { margin:18px 0 0; color:#7e7786; text-align:center; font-size:10px; line-height:1.65; }
.wfcd-guided__captcha { margin:8px 0 0; color:#8a8490; text-align:center; font-size:9px; line-height:1.6; }
.wfcd-guided__captcha a { text-decoration:underline; text-underline-offset:2px; }
.wfcd-guided__form:not(.is-enhanced) .wfcd-guided__header { display:none; }
.wfcd-guided__form.is-enhanced .wfcd-guided__progress { display:grid; }
.wfcd-guided__form.is-enhanced .wfcd-guided__track { display:block; }
.wfcd-guided__form.is-enhanced .wfcd-guided__back,.wfcd-guided__form.is-enhanced .wfcd-guided__next { display:flex; }
.wfcd-guided__form.is-enhanced .wfcd-guided__stages { position:relative; height:258px; overflow:hidden; }
.wfcd-guided__form.is-enhanced .wfcd-guided__step { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; margin:0; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(calc(24px * var(--step-direction))); transition:opacity .35s var(--guided-ease),transform .5s var(--guided-ease),visibility 0s .5s; }
.wfcd-guided__form.is-enhanced .wfcd-guided__step input,.wfcd-guided__form.is-enhanced .wfcd-guided__step select,.wfcd-guided__form.is-enhanced .wfcd-guided__step textarea { flex-shrink:0; }
.wfcd-guided__form.is-enhanced .wfcd-guided__step.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(0); transition-delay:0s; }
.wfcd-guided__form.is-enhanced .wfcd-guided__step.is-leaving { transform:translateX(calc(-24px * var(--step-direction))); }
@media(max-width:900px) { .wfcd-guided__layout { grid-template-columns:1fr; gap:36px; } .wfcd-guided__intro { max-width:600px; } .wfcd-guided__form { max-width:640px; width:100%; } }
@media(max-width:540px) { .wfcd-guided__form { padding:24px 20px; border-radius:20px; } .wfcd-guided__intro h2 { font-size:34px; } .wfcd-guided__progress { gap:3px; } .wfcd-guided__progress li { font-size:9px; } .wfcd-guided__step h3 { font-size:23px; letter-spacing:-.6px; } .wfcd-guided__step > p { margin-bottom:22px; font-size:11px; } .wfcd-guided__form.is-enhanced .wfcd-guided__stages { height:278px; } .wfcd-guided__actions { gap:18px; } .wfcd-guided__back { font-size:12px; } .wfcd-guided__privacy { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .wfcd-guided * { transition-duration:.01ms!important; } }

/* Native booking: no iframe or provider page inside the dialog. */
.wfcd-demo-note { flex-wrap:wrap; }
.wfcd-demo-previews { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.wfcd-demo-previews [data-wfcd-booking-preview] { background:#f7f1f9; border-color:#e5d6ea; color:var(--purple); }
.wfcd-booking { --booking-ease:cubic-bezier(.22,1,.36,1); --booking-direction:1; width:min(600px,calc(100vw - 32px)); height:min(850px,calc(100dvh - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:1px solid #ffffffb3; border-radius:28px; background:linear-gradient(155deg,#fff 20%,#fcf9fd 75%,#fff9fb); color:var(--ink); box-shadow:0 30px 120px #19132e40; overflow:hidden; font-family:inherit; opacity:0; transform:translateY(18px) scale(.97); transition:opacity .35s var(--booking-ease),transform .5s var(--booking-ease); }
.wfcd-booking[open] { display:flex; flex-direction:column; }
.wfcd-booking[open].is-open { opacity:1; transform:translateY(0) scale(1); }
.wfcd-booking::backdrop { background:#17112670; backdrop-filter:blur(9px); opacity:0; transition:opacity .35s; }
.wfcd-booking.is-open::backdrop { opacity:1; }
.wfcd-booking__header { position:relative; display:flex; align-items:center; gap:20px; flex:0 0 auto; padding:26px 52px 20px 30px; }
.wfcd-booking__portrait { position:relative; flex:0 0 76px; width:76px; height:76px; }
.wfcd-booking__portrait > img { width:100%; height:100%; object-fit:cover; object-position:50% 22%; border-radius:50%; border:3px solid white; box-shadow:0 0 0 1px #ad087124; }
.wfcd-booking__portrait > span { position:absolute; right:-4px; bottom:0; display:grid; place-items:center; width:29px; height:29px; border-radius:10px; background:white; box-shadow:0 3px 12px #24223218; }
.wfcd-booking__portrait > span img { width:20px; height:20px; }
.wfcd-booking__intro h2 { margin:0 0 7px; font-size:29px; line-height:1.06; letter-spacing:-1px; }
.wfcd-booking__intro h2 .title-gradient { letter-spacing:normal; }
.wfcd-booking__intro > p { margin:0; color:var(--muted); font-size:11px; line-height:1.6; }
.wfcd-booking__details { display:flex; align-items:center; gap:12px; margin:8px 0 0; color:#797080; font-size:10px; }
.wfcd-booking__details > span { display:flex; align-items:center; gap:5px; }
.wfcd-booking__details img { width:16px; height:16px; }
.wfcd-booking__close { position:absolute; top:16px; right:16px; display:grid; place-items:center; width:32px; height:32px; border:0; border-radius:50%; background:#efedf6; color:#777184; cursor:pointer; }
.wfcd-booking__close svg { width:16px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; }
.wfcd-booking__demo { flex:0 0 auto; margin:0 26px 14px; padding:8px 10px; border-radius:9px; background:#fff0f5; color:#9c1f5d; font-size:10px; line-height:1.5; text-align:center; }
.wfcd-booking__steps { position:relative; --booking-progress:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex:0 0 auto; list-style:none; margin:0 26px; padding:0 0 18px; }
.wfcd-booking__steps::before,.wfcd-booking__steps::after { content:""; position:absolute; top:14px; left:16.666%; width:66.666%; height:3px; background:#e5e4e9; }
.wfcd-booking__steps::after { background:linear-gradient(90deg,#38ac72,#249d63); transform:scaleX(var(--booking-progress)); transform-origin:left; transition:transform .95s var(--booking-ease); }
.wfcd-booking__steps li { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:6px; }
.wfcd-booking__step-icon { position:relative; display:grid; place-items:center; flex:0 0 30px; width:30px; height:30px; border-radius:50%; background:#efedf2; color:#aaa4b1; transition:background .4s,color .4s; }
.wfcd-booking__step-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.wfcd-booking__step-icon .wfcd-booking__step-symbol,.wfcd-booking__step-icon .wfcd-booking__step-complete { display:none; }
.wfcd-booking__step-label { max-width:80px; min-height:28px; color:#85808c; text-align:center; font-size:10.5px; line-height:1.35; transition:color .3s; }
.wfcd-booking__steps .is-current .wfcd-booking__step-label { color:#19894f; font-weight:600; }
.wfcd-booking__steps .is-current .wfcd-booking__step-icon { color:white; background:#249d63; box-shadow:0 0 0 4px #249d6315; animation:wfcd-feedback-pulse 2.2s .6s ease-in-out infinite; }
.wfcd-booking__steps .is-complete .wfcd-booking__step-icon { color:white; background:#38ac72; }
.wfcd-booking__steps .is-current .wfcd-booking__step-symbol,.wfcd-booking__steps .is-complete .wfcd-booking__step-complete { display:block; }
.wfcd-booking__steps .is-current .wfcd-booking__step-upcoming,.wfcd-booking__steps .is-complete .wfcd-booking__step-upcoming { display:none; }
.wfcd-booking__body { position:relative; flex:1 1 auto; min-height:0; margin:0 26px; }
.wfcd-booking__stage { position:absolute; inset:0; padding:14px 4px 8px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; opacity:0; visibility:hidden; pointer-events:none; transform:translateX(calc(20px * var(--booking-direction))); transition:opacity .35s var(--booking-ease),transform .5s var(--booking-ease),visibility 0s .5s; }
.wfcd-booking__stage.is-active { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(0); transition-delay:0s; }
.wfcd-booking__stage.is-leaving { transform:translateX(calc(-20px * var(--booking-direction))); }
.wfcd-booking__stage-heading { text-align:center; margin-bottom:18px; }
.wfcd-booking__stage-heading h3 { margin:0 0 6px; font-size:22px; line-height:1.25; letter-spacing:-.7px; }
.wfcd-booking__stage h3:focus { outline:none; }
.wfcd-booking__stage-heading p { margin:0; color:#817889; font-size:11px; line-height:1.6; }
.wfcd-booking__month { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.wfcd-booking__month strong { font-size:13px; }
.wfcd-booking__month button { width:30px; height:30px; border:1px solid #e9e3ed; border-radius:50%; background:white; color:var(--purple); cursor:pointer; }
.wfcd-booking__week,.wfcd-booking__dates { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.wfcd-booking__week { margin-bottom:8px; color:#a099a7; text-align:center; font-size:9px; }
.wfcd-booking__dates button { position:relative; height:39px; border:1px solid #eee8f1; border-radius:10px; background:white; color:var(--ink); font:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:background .25s,box-shadow .25s,border-color .25s; }
.wfcd-booking__dates button:not(:disabled)::after { content:""; position:absolute; bottom:4px; left:calc(50% - 1.5px); width:3px; height:3px; border-radius:50%; background:var(--pink); }
.wfcd-booking__dates button:disabled { background:transparent; border-color:transparent; color:#ccc5d0; font-weight:400; cursor:default; }
.wfcd-booking__dates button.is-other-month { color:#e1dbe5; }
.wfcd-booking__dates button[aria-pressed=true],.wfcd-booking__slots button[aria-pressed=true] { background:var(--gradient); color:white; border-color:transparent; box-shadow:0 4px 12px #ad08711a; }
.wfcd-booking__dates button[aria-pressed=true]::after { background:white; }
.wfcd-booking__timezone { margin:14px 0 0; color:#9a919f; text-align:center; font-size:9px; }
.wfcd-booking__slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:28px 0; }
.wfcd-booking__slots button { min-height:50px; border:1px solid #e6d9eb; border-radius:12px; background:white; color:var(--purple); font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:background .25s,box-shadow .25s; }
.wfcd-booking__call-note { display:flex; align-items:center; justify-content:center; gap:12px; padding:18px 12px; border:1px solid #eee8f1; border-radius:14px; background:#f9f5fb; }
.wfcd-booking__call-note p { margin:0; color:#85798e; font-size:10px; line-height:1.8; }
.wfcd-booking__call-note img { flex:0 0 22px; }
.wfcd-booking__selection { display:flex; align-items:center; gap:12px; margin-bottom:18px; padding:12px; border:1px solid #eee8f1; border-radius:12px; background:#f9f5fb; }
.wfcd-booking__selection > span { flex:0 0 32px; color:var(--purple); }
.wfcd-booking__selection svg { width:25px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.wfcd-booking__selection strong { display:block; font-size:11px; }
.wfcd-booking__selection p { margin:3px 0 0; color:#85798e; font-size:10px; }
.wfcd-booking__selection button { margin-left:auto; border:0; background:none; color:var(--purple); font:inherit; font-size:10px; text-decoration:underline; cursor:pointer; }
.wfcd-booking form label { display:block; margin:12px 0 6px; color:var(--ink); font-size:11px; font-weight:600; }
.wfcd-booking form label > span { margin-left:5px; color:#9a919f; font-weight:400; font-size:9px; }
.wfcd-booking form input,.wfcd-booking form textarea { width:100%; padding:10px 12px; border:1px solid #ddd5e2; border-radius:10px; background:white; color:var(--ink); font:inherit; font-size:14px; line-height:1.5; }
.wfcd-booking form textarea { height:64px; resize:none; }
.wfcd-booking form input:focus,.wfcd-booking form textarea:focus { outline:none; border-color:#ad087160; box-shadow:0 0 0 3px #ad08710b; }
.wfcd-booking__status { flex:0 0 28px; min-height:28px; padding:0 28px; color:#9c3052; font-size:10px; line-height:1.5; text-align:center; overflow:auto; }
.wfcd-booking__footer { flex:0 0 auto; padding:10px 26px 20px; }
.wfcd-booking__actions { display:flex; gap:16px; align-items:center; }
.wfcd-booking__back { flex:0 0 66px; border:0; padding:10px 0; background:none; color:#817889; font:inherit; font-size:12px; cursor:pointer; }
.wfcd-booking__continue { display:flex; align-items:center; justify-content:center; gap:12px; flex:1; height:50px; border:0; border-radius:12px; background:var(--gradient); color:white; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.wfcd-booking button:disabled { opacity:.45; cursor:default; }
.wfcd-booking__dates button:disabled { opacity:1; }
.wfcd-booking__footer > p { margin:12px 0 0; color:#9a919f; font-size:9px; line-height:1.6; text-align:center; }
.wfcd-booking__fallback { display:block; margin:8px 0 0; color:var(--purple); font-size:10px; text-align:center; text-decoration:underline; }
.wfcd-booking__success { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:24px; text-align:center; }
.wfcd-booking__success > span { display:grid; place-items:center; width:86px; height:86px; margin-bottom:24px; border-radius:28px; background:linear-gradient(140deg,#15995d,#42c978 52%,#8ad45c); box-shadow:0 10px 30px #269e6420; transform:rotate(-7deg); }
.wfcd-booking__success svg { width:48px; height:48px; fill:none; stroke:white; stroke-width:3.5; stroke-linecap:round; stroke-linejoin:round; transform:rotate(7deg); }
.wfcd-booking__success h3 { margin:0 0 12px; font-size:26px; }
.wfcd-booking__success p { max-width:320px; margin:0 0 18px; color:#817889; font-size:12px; line-height:1.8; }
.wfcd-booking__success strong { font-size:12px; color:var(--purple); }
.wfcd-booking__success a { margin:18px 0 0; color:var(--purple); font-size:12px; text-decoration:underline; }
.wfcd-booking [hidden] { display:none!important; }
.wfcd-booking button:focus-visible,.wfcd-booking a:focus-visible,.wfcd-demo-previews button:focus-visible { outline:2px solid var(--purple); outline-offset:3px; }
@media(max-width:600px) { .wfcd-booking { width:calc(100vw - 16px); height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); border-radius:22px; } .wfcd-booking__header { padding:22px 40px 16px 20px; gap:15px; } .wfcd-booking__portrait { flex-basis:58px; width:58px; height:58px; } .wfcd-booking__intro h2 { font-size:25px; } .wfcd-booking__intro > p { font-size:9px; } .wfcd-booking__details { gap:9px; font-size:9px; } .wfcd-booking__close { top:12px; right:10px; width:28px; height:28px; } .wfcd-booking__body { margin:0 16px; } .wfcd-booking__steps { margin-inline:18px; } .wfcd-booking__demo { margin-inline:18px; font-size:9px; } .wfcd-booking__stage { padding:12px 3px 8px; } .wfcd-booking__stage-heading { margin-bottom:14px; } .wfcd-booking__stage-heading h3 { font-size:21px; } .wfcd-booking__dates { gap:5px; } .wfcd-booking__dates button { height:37px; } .wfcd-booking__footer { padding:8px 20px 16px; } .wfcd-booking__slots { gap:8px; } .wfcd-booking form input,.wfcd-booking form textarea { font-size:16px; } }
@media(max-height:720px) { .wfcd-booking__header { padding-block:16px 12px; } .wfcd-booking__intro h2 { font-size:23px; } .wfcd-booking__portrait { flex-basis:54px; width:54px; height:54px; } .wfcd-booking__stage-heading { margin-bottom:10px; } .wfcd-booking__stage-heading h3 { font-size:19px; } .wfcd-booking__stage { padding-top:8px; } .wfcd-booking__dates button { height:33px; } .wfcd-booking__demo { margin-bottom:9px; padding:6px; } }
@media(prefers-reduced-motion:reduce) { .wfcd-booking,.wfcd-booking::backdrop,.wfcd-booking * { transition-duration:.01ms!important; animation:none!important; } }


/* Shared progress styling matches the enquiry-received / waiting-on-feedback strip. */
.wfcd-guided__header > span:last-child { color:#19894f; }
.wfcd-guided__progress { position:relative; gap:0; margin:0 0 30px; font-family:inherit; }
.wfcd-guided__progress::before,.wfcd-guided__progress::after { content:""; position:absolute; top:14px; left:10%; width:80%; height:3px; background:#e5e4e9; }
.wfcd-guided__progress::after { background:linear-gradient(90deg,#38ac72,#249d63); transform:scaleX(var(--guided-progress,0)); transform-origin:left; transition:transform .95s cubic-bezier(.22,1,.36,1); }
.wfcd-guided__progress li { position:relative; z-index:1; gap:7px; color:#85808c; font-size:10.5px; line-height:1.35; text-align:center; }
.wfcd-guided__number { position:relative; width:30px; height:30px; flex:0 0 30px; border:0; background:#efedf2; color:#aaa4b1; box-shadow:none; }
.wfcd-guided__number svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.wfcd-guided__number .wfcd-guided__tick { display:none; }
.wfcd-guided__progress .is-current { color:#19894f; font-weight:600; }
.wfcd-guided__progress .is-current .wfcd-guided__number { background:#249d63; color:white; box-shadow:0 0 0 4px #249d6315; animation:wfcd-feedback-pulse 2.2s .6s ease-in-out infinite; }
.wfcd-guided__progress .is-complete .wfcd-guided__number { background:#38ac72; color:white; border:0; }
.wfcd-guided__progress .is-complete .wfcd-guided__symbol { display:none; }
.wfcd-guided__progress .is-complete .wfcd-guided__tick { display:block; }
.wfcd-guided__form.is-enhanced .wfcd-guided__track { display:none; }
.wfcd-experiment__guided { min-width:0; --guided-ease:cubic-bezier(.22,1,.36,1); }
.wfcd-experiment__guided .wfcd-guided__form { width:100%; max-width:none; }
html:not([data-wfcd-variant="B"]) [data-wfcd-ab="B"],html[data-wfcd-variant="B"] [data-wfcd-ab="A"] { display:none!important; }
@media(max-width:540px) { .wfcd-guided__progress li { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .wfcd-guided__progress *,.wfcd-guided__progress::after { animation:none!important; transition:none!important; } }
