#consultation-survey{margin:28px auto 60px;padding:32px;background:#f5f6ef;border:1px solid #dfe4dc;border-radius:22px;scroll-margin-top:24px}#booking-success{margin-bottom:20px}#consultation-survey h2{font-size:clamp(23px,4vw,32px);line-height:1.5}.survey-progress{color:#456b59;font-weight:700;font-size:14px}.survey-track{height:6px;background:#dfe4dc;border-radius:9px;margin:14px 0 28px;overflow:hidden}.survey-track i{display:block;height:100%;background:#456b59}#consultation-survey fieldset{border:0;padding:0;margin:28px 0}#consultation-survey legend{font-weight:700;margin-bottom:14px}.survey-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.survey-choice{position:relative;display:flex;align-items:center;background:white;border:1px solid #dfe4dc;border-radius:12px;padding:16px 12px;gap:9px;cursor:pointer;line-height:1.5}.survey-choice:has(input:checked){background:#edf1eb;border-color:#456b59;color:#6e7a70}.survey-choice input{width:18px;height:18px;flex-shrink:0;accent-color:#456b59}.survey-choice:focus-within{outline:2px solid #456b59;outline-offset:2px}#consultation-survey textarea{box-sizing:border-box;display:block;width:100%;font:inherit;padding:14px;border:1px solid #dfe4dc;border-radius:12px;background:white}.survey-skip{display:block;margin:25px auto 0;border:0;background:none;text-decoration:underline;color:#6e7a70;padding:12px;font:inherit}.survey-check{font-size:32px;color:#456b59}#consultation-survey .review{background:#fff;padding:18px;border-radius:12px}#consultation-survey dd{white-space:pre-wrap;overflow-wrap:anywhere}#consultation-survey button:disabled{opacity:.55;cursor:wait}@media(max-width:600px){#consultation-survey{padding:22px 16px}.survey-choice{font-size:14px;padding:14px 10px}.survey-choices{gap:8px}}

.calendar-link{display:block;text-align:center;border:1px solid #dfe4dc;border-radius:40px;padding:15px;margin:12px 0;background:white;font-weight:700;text-decoration:none}#booking-success{padding:24px;border:1px solid #dfe4dc;border-radius:22px;background:#fff}#booking-success h2{font-size:clamp(24px,5vw,34px)}#consultation-survey fieldset{background:white;border-radius:18px;padding:20px}#consultation-survey legend{padding:0 8px}#consultation-survey .survey-choice{background:#f5f6ef}
/* Guided conversation and nine-step progress */
#consultation-survey .survey-progress-header{margin-bottom:28px}
#consultation-survey .survey-progress{font-size:16px;letter-spacing:.03em}
#consultation-survey .survey-steps{display:flex;list-style:none;padding:0;margin:20px 0 0;width:100%}
#consultation-survey .survey-steps li{position:relative;flex:1;display:flex;justify-content:center;min-width:0}
#consultation-survey .survey-steps li:before{content:'';position:absolute;top:13px;height:4px;background:#dfe4dc;left:0;right:0}
#consultation-survey .survey-steps li:first-child:before{left:50%}
#consultation-survey .survey-steps li:last-child:before{right:50%}
#consultation-survey .survey-steps .is-complete:before{background:#456b59}
#consultation-survey .survey-steps .is-current:before{background:linear-gradient(to right,#456b59 50%,#dfe4dc 50%)}
#consultation-survey .survey-step-dot{position:relative;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:3px solid #dfe4dc;background:#f5f6ef;color:#6e7a70;font-size:12px;font-weight:700;box-sizing:border-box}
#consultation-survey .is-complete .survey-step-dot{background:#456b59;border-color:#456b59;color:white}
#consultation-survey .is-current .survey-step-dot{background:white;border-color:#456b59;color:#6e7a70;box-shadow:0 0 0 4px #edf1eb}
#consultation-survey .planner-chat{display:flex;align-items:flex-start;gap:18px;margin:32px 0 20px}
#consultation-survey .planner-chat>img{width:72px;height:72px;flex:none;border-radius:50%;margin-top:8px}
#consultation-survey .planner-bubble{position:relative;background:white;border-radius:20px 20px 20px 3px;padding:22px 24px;flex:1;min-width:0;box-shadow:0 4px 16px #293f3407}
#consultation-survey .planner-bubble:before{content:'';position:absolute;left:-10px;top:30px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:12px solid white}
#consultation-survey .planner-name{font-size:12px;color:#456b59;font-weight:700;margin:0 0 8px;letter-spacing:.04em}
#consultation-survey .planner-bubble h2{font-size:clamp(20px,3vw,28px);line-height:1.55;border:0;padding:0;margin:0;background:none}
#consultation-survey .planner-question{font-size:16px;line-height:1.8;margin:10px 0 0}
#consultation-survey .survey-optional-note{font-size:12px;color:#6e7a70;line-height:1.7;margin:8px 0 24px}
#consultation-survey .survey-choice:has(input:checked){background:#edf1eb;border-color:#456b59;color:#6e7a70}
@media(max-width:600px){#consultation-survey .planner-chat{gap:12px;margin-top:26px}#consultation-survey .planner-chat>img{width:52px;height:52px}#consultation-survey .planner-bubble{padding:18px 16px}#consultation-survey .planner-bubble h2{font-size:20px}#consultation-survey .planner-question{font-size:14px}#consultation-survey .survey-step-dot{width:26px;height:26px;font-size:11px}#consultation-survey .survey-steps li:before{top:11px}#consultation-survey fieldset{padding:16px 12px}#consultation-survey .survey-progress{font-size:15px}}
#consultation-survey .planner-bubble h2:focus{outline:none}
/* Keep field titles inside their white cards, including Safari. */
#consultation-survey fieldset{min-width:0;display:flow-root}
#consultation-survey legend{float:left;box-sizing:border-box;width:100%;max-width:100%;padding:0;margin:0 0 16px;line-height:1.6;overflow-wrap:anywhere}
#consultation-survey legend+*{clear:both}
