/* Focused client journey. Kept separate from the staff workspace styles. */
.focused-onboarding,.onboarding-preview,.preview-home{font-family:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif;-webkit-font-smoothing:antialiased}
.focused-onboarding{--ink:#302d29;--muted:#746e65;--orange:#a74920;--rule:#e8e4dc;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:20px;max-width:1800px;min-height:calc(100svh - 40px);padding:14px;margin:0 auto;color:var(--ink);background:#faf9f6;font-size:15px;line-height:1.55;align-items:start}
.focused-onboarding .onboard-form-side{display:flex;flex-direction:column;min-width:0;min-height:calc(100svh - 68px);padding:0 clamp(24px,3.4vw,64px)}
.focused-onboarding .onboard-header{display:flex;justify-content:space-between;align-items:center;min-height:96px;padding:18px 0;gap:20px;border:0;flex-shrink:0}
.focused-onboarding .onboard-header .logo{width:124px;height:auto;mix-blend-mode:multiply}
.focused-onboarding .client-label{display:block;flex:0 1 auto;border:0;padding:0;font-size:12px;color:var(--muted);text-align:right}
.focused-onboarding .progress-toggle{display:none}
.focused-onboarding .form-panel{width:100%;max-width:650px;min-width:0;flex:0 0 auto;padding:32px 0;margin:auto;border:0;border-radius:0;background:transparent;box-shadow:none}
.focused-onboarding .section-meta{display:flex;justify-content:space-between;gap:16px;font-size:11px;font-weight:500;letter-spacing:1.1px;text-transform:uppercase;color:#81796f}
.focused-onboarding .section-segments{display:flex;gap:5px;margin:12px 0 30px}
.focused-onboarding .section-segments span{height:3px;flex:1;border-radius:5px;background:#e9e5de}
.focused-onboarding .section-segments .complete{background:#a74920}.focused-onboarding .section-segments .current{background:#cc997b}
.focused-onboarding h1{font-family:inherit;color:var(--ink);font-size:clamp(27px,2.3vw,36px);font-weight:600;line-height:1.2;letter-spacing:-1px;margin:0 0 16px;overflow-wrap:break-word;outline:0}
.focused-onboarding h2{font-family:inherit;font-weight:600;letter-spacing:-.4px;line-height:1.3}
.focused-onboarding .lead{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 26px;max-width:65ch}
.focused-onboarding input,.focused-onboarding select,.focused-onboarding textarea,.focused-onboarding button{font-family:inherit}
.focused-onboarding input:not([type=checkbox]):not([type=radio]):not([type=file]),.focused-onboarding textarea,.focused-onboarding select{display:block;width:100%;min-width:0;max-width:100%;font-size:16px;font-weight:400;line-height:1.55;min-height:54px;padding:14px 16px;background:#fff;color:#34302c;border:1px solid #e3e1db;border-radius:10px;box-shadow:none}
.focused-onboarding textarea{min-height:190px;resize:vertical}.focused-onboarding input::placeholder,.focused-onboarding textarea::placeholder{color:#9c9892}
.focused-onboarding input:focus,.focused-onboarding textarea:focus,.focused-onboarding select:focus{outline:2px solid #b75a2726;outline-offset:1px;border-color:#bc7b55}
.focused-onboarding input:disabled{background:#f0ede7;color:#7c766c;opacity:.7}
.focused-onboarding .identity-fields{display:grid;grid-template-columns:1fr;gap:20px;margin:0;padding:0;border:0}
.focused-onboarding .identity-fields label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:500;color:#625d55;line-height:1.5}
.focused-onboarding .optional{display:inline;font-size:12px;font-weight:400;color:#81786d;margin-left:5px}
.focused-onboarding .answer-choices{padding:0;margin:0;border:0;display:grid;gap:10px;min-width:0}
.focused-onboarding .answer-choice{display:flex;align-items:center;gap:13px;padding:14px 16px;min-height:54px;border:1px solid #e3e1db;border-radius:10px;background:white;font-size:15px;line-height:1.45;cursor:pointer}
.focused-onboarding .answer-choice:has(input:checked){border-color:#b77450;background:#fcf2e9;color:#813c1b}
.focused-onboarding .answer-choice:hover{border-color:#bf957a}
.focused-onboarding input[type=radio],.focused-onboarding input[type=checkbox]{width:17px;height:17px;min-height:0;margin:0;padding:0;flex:0 0 17px;accent-color:#a74920}
.focused-onboarding .unknown-check{display:flex;align-items:flex-start;gap:10px;margin:18px 0 0;color:#756d63;font-size:13px;font-weight:400;line-height:1.5}
.focused-onboarding .unknown-check input{margin-top:2px}
.focused-onboarding .form-actions{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap;margin:28px 0 0;padding:0;border:0}
.focused-onboarding .button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;min-width:116px;padding:12px 22px;border:1px solid #a74920;border-radius:28px;background:#a74920;color:white;font-size:14px;line-height:1.4;font-weight:600;box-shadow:none;white-space:normal;text-align:center;text-decoration:none;flex:0 1 auto}
.focused-onboarding .button:hover{background:#8f3915;border-color:#8f3915}.focused-onboarding .button:disabled{opacity:.5;cursor:not-allowed}
.focused-onboarding .button.secondary{background:white;color:#8f4826;border-color:#dcc8b9}
.focused-onboarding .onboard-back,.focused-onboarding .onboard-later{display:inline-flex;align-items:center;min-height:44px;color:#756d63;background:transparent;border:0;font-size:13px;font-weight:400;text-decoration:none;padding:8px 0}
.focused-onboarding .onboard-later{margin-left:auto}.focused-onboarding .onboard-later:hover,.focused-onboarding .onboard-back:hover{color:#8f3915;text-decoration:underline;text-underline-offset:4px}
.focused-onboarding .onboard-footer{width:100%;max-width:650px;margin:0 auto;padding:24px 0 10px;font-size:12px;line-height:1.5;color:#81786e;min-height:52px}
.focused-onboarding #validation:not(:empty){margin-top:20px;padding:14px 16px;border-left:3px solid #a74920;background:#f9ede4;color:#8b3b1c;font-size:14px}
.focused-onboarding .onboard-sidebar{display:flex;flex-direction:column;position:sticky;top:14px;align-self:start;min-height:calc(100svh - 68px);margin:0;padding:34px 36px 30px;border-radius:24px;background:#39251c;overflow:hidden;isolation:isolate;color:#fff6ee}
.focused-onboarding .onboard-art{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 75% 0%,#975e3a88,transparent 65%)}
.focused-onboarding .onboard-art i{display:block;position:absolute;top:20px;right:4%;height:300px;width:140px;transform:rotate(32deg) skewY(-18deg);border-radius:8px;background:linear-gradient(140deg,#e8aa70aa,#9b542d22);border:1px solid #f4be8622}
.focused-onboarding .onboard-art i:nth-child(2){right:25%;top:-80px;background:linear-gradient(140deg,#e4b18088,#b26a3c11)}
.focused-onboarding .onboard-art i:nth-child(3){right:-18%;top:80px;background:linear-gradient(140deg,#f3c89355,#a96d4022)}
.focused-onboarding .onboard-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,#39251cbf 40%,#39251c 70%)}
.focused-onboarding .side-brand{display:flex;justify-content:space-between;gap:16px;color:#ecd9c5;font-size:10px;letter-spacing:1.7px;margin:0 0 80px}
.focused-onboarding .side-content{margin-top:auto;position:relative;z-index:1}
.focused-onboarding .onboard-sidebar .eyebrow{display:block;font-size:10px;letter-spacing:1.7px;font-weight:500;color:#e0baa0;margin:0 0 14px}
.focused-onboarding .onboard-sidebar h2{display:block;font-size:clamp(32px,3.3vw,48px);font-weight:500;letter-spacing:-1.5px;line-height:1.06;color:#fff5eb;margin:0 0 18px}
.focused-onboarding .side-intro{display:block;font-size:15px;line-height:1.5;color:#dfc6b5;margin:0 0 28px}
.focused-onboarding .side-progress{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #ffffff24;padding-top:20px;margin:0 0 15px;font-size:12px;color:#dfc6b5}
.focused-onboarding .onboard-sidebar nav{display:flex;flex-wrap:wrap;gap:8px;margin:0;overflow:visible}
.focused-onboarding .step-link{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px solid #ffffff24;border-radius:24px;background:#ffffff08;color:#ecd8c8;font-size:13px;line-height:1.4;font-weight:400;min-height:42px;text-decoration:none}
.focused-onboarding .step-link>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:0;border-radius:50%;background:#ffffff16;color:inherit;font-size:11px}
.focused-onboarding .step-link:hover{background:#ffffff18}.focused-onboarding .step-link.active{background:#fff3e5;border-color:#fff3e5;color:#572f1a}.focused-onboarding .step-link.active>span{background:#703c20;color:#fff5e9}
.focused-onboarding .step-link.done:not(.active)>span{background:#c49d7b;color:#35251b}
.focused-onboarding .side-help{display:block;font-size:13px;line-height:1.55;color:#dfc6b5;margin:26px 0 0;padding-top:18px;border-top:1px solid #ffffff24}
.focused-onboarding .mobile-sections{display:none}.focused-onboarding [hidden]{display:none!important}
.onboarding-preview{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:8px 30px;font-size:12px;line-height:1.4;color:#7e756a;background:#eeeae3}.onboarding-preview a{text-decoration:underline;text-underline-offset:3px}.onboarding-preview .preview-detail{color:#918679}
.focused-onboarding .upload-box{margin:0;padding:20px;background:white;border:1px solid #e3e1db;border-radius:12px;box-shadow:none}
.focused-onboarding .upload-box h3{font-size:15px;margin-bottom:18px}.focused-onboarding .upload-box .field-grid{grid-template-columns:1fr;gap:16px}.focused-onboarding .upload-box label{font-size:13px;font-weight:500;gap:8px}
.focused-onboarding .upload-box .hint,.focused-onboarding .hint{color:#7a7267;font-size:13px;line-height:1.6}
.focused-onboarding input[type=file]{font-size:13px;width:100%;padding:12px;border:1px dashed #d2c5b7;border-radius:8px}
.focused-onboarding .upload-box .button{min-height:42px;font-size:13px;padding:10px 18px}.focused-onboarding .resource-link{margin-top:16px}
.focused-onboarding .files-grid{grid-template-columns:1fr;gap:12px;margin:18px 0 0}.focused-onboarding .file-card{min-width:0}.focused-onboarding .file-info{min-width:0;overflow-wrap:anywhere}.focused-onboarding .empty{padding:16px 0;font-size:13px;text-align:left;color:#81776b}
.focused-onboarding .preview-message{font-size:13px;color:#896b4e;background:#f5eee4;border-radius:8px;padding:12px 15px;margin-bottom:20px}
.focused-onboarding .checklist{margin-top:0}.focused-onboarding .check-item{display:grid;grid-template-columns:1fr;gap:10px;padding:18px 0;border-bottom:1px solid #e8e4dc;align-items:start}
.focused-onboarding .check-item>div{display:flex;align-items:center;gap:10px}.focused-onboarding .check-item label{font-size:14px;font-weight:500}.focused-onboarding .check-item select{max-width:100%;min-height:48px;font-size:15px}.focused-onboarding .material-note{margin-top:20px}
.focused-onboarding .review-summary{display:flex;flex-wrap:wrap;gap:16px 28px;padding:16px 0 22px;color:#807468;font-size:13px}.focused-onboarding .review-summary strong{color:#4b3b2e;font-weight:600}
.focused-onboarding .review-section{padding:24px 0;border-top:1px solid #e5dfd5}.focused-onboarding .review-section h2{font-size:16px;margin-bottom:12px}.focused-onboarding .review-section>p{font-size:14px;line-height:1.8;color:#6e6258;margin-bottom:12px;overflow-wrap:anywhere}
.focused-onboarding .review-answers details{padding:14px 0;border-bottom:1px solid #ece7df}.focused-onboarding .review-answers details:last-child{border:0}.focused-onboarding .review-answers summary{display:flex;justify-content:space-between;align-items:baseline;gap:14px;cursor:pointer;font-size:14px;line-height:1.5;list-style:none}.focused-onboarding .review-answers summary::after{content:'+';color:#8c7867}.focused-onboarding .review-answers details[open]>summary::after{content:'−'}.focused-onboarding .review-answers summary>span:first-child{flex:1}.focused-onboarding .answer-state{flex:0 0 auto;font-size:11px;color:#867c6f;margin:0}.focused-onboarding .answer-state.needed{color:#a74920}.focused-onboarding .review-answers details p{font-size:14px;line-height:1.7;margin:14px 0 8px;color:#6d6357;overflow-wrap:anywhere;white-space:pre-wrap}
.focused-onboarding .text-link{color:#9a4620;font-size:13px;display:inline-flex;align-items:center;min-height:36px}.focused-onboarding .form-callout{font-size:14px;line-height:1.6;padding:14px 18px;margin-bottom:24px;background:#f8efe5;border:0;color:#865735}
.focused-onboarding .completion-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#f4e6d8;color:#9b4d26;font-size:23px;margin-bottom:24px}.focused-onboarding .booking-card{padding:24px;background:#fff;border:1px solid #e7dfd5;border-radius:14px;margin:28px 0 20px}.focused-onboarding .booking-card .eyebrow{font-size:10px;letter-spacing:1.5px;color:#99785d;margin:0 0 12px}.focused-onboarding .booking-card h2{font-size:21px;margin:0 0 12px}.focused-onboarding .booking-card p:not(.eyebrow){font-size:14px;line-height:1.65;color:#776858;margin:0 0 20px}.focused-onboarding .booking-card p:last-child{margin-bottom:0}
.focused-onboarding .remaining-materials{font-size:14px;margin:24px 0}.focused-onboarding .remaining-materials summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px}.focused-onboarding .remaining-materials summary span{color:#8d7c6b;font-size:12px}.focused-onboarding .remaining-materials ul{padding-left:20px;color:#7b6e60;line-height:1.8}
/* The chooser uses the same typography and calmer colour treatment. */
.preview-home{max-width:960px}.preview-home h1{font-weight:600}.preview-home .preview-choice{border-color:#e7e1d8}.preview-home .preview-choice:hover{background:#fcf4e9}.preview-home .preview-choice h2{font-weight:600}.preview-home .preview-number,.preview-home .text-link{color:#a74920}
@media(min-width:1500px){.focused-onboarding .onboard-sidebar{padding:40px 48px 36px}.focused-onboarding .side-brand{margin-bottom:110px}}
@media(max-width:1100px) and (min-width:901px){.focused-onboarding{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px}.focused-onboarding .onboard-form-side{padding:0 20px}.focused-onboarding .onboard-sidebar{padding:28px 26px}.focused-onboarding .side-brand{margin-bottom:65px}.focused-onboarding .side-brand>span:last-child{display:none}.focused-onboarding .step-link{font-size:12px;padding:8px 10px}.focused-onboarding .client-label{font-size:11px}}
@media(max-width:900px){.focused-onboarding{display:block;max-width:780px;padding:14px 30px;margin:auto;min-height:calc(100svh - 40px)}.focused-onboarding .onboard-form-side{padding:0;min-height:calc(100svh - 68px)}.focused-onboarding .onboard-header{min-height:84px;padding:12px 0}.focused-onboarding .onboard-header .logo{width:118px}.focused-onboarding .client-label{display:none}.focused-onboarding .progress-toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 0;background:none;border:0;min-height:44px;color:#796e61;font-size:13px;font-weight:400}.focused-onboarding .onboard-sidebar{display:none}.focused-onboarding .form-panel{max-width:none;padding:36px 0}.focused-onboarding h1{font-size:28px}.focused-onboarding .onboard-footer{max-width:none;padding-bottom:10px}.focused-onboarding .mobile-sections{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 20px}.focused-onboarding .mobile-sections .step-link{background:#f0ebe3;border-color:#e4d9ca;color:#786451}.focused-onboarding .mobile-sections .step-link.active{background:#a74920;color:white;border-color:#a74920}.focused-onboarding .mobile-sections .step-link>span{background:#ffffff66;color:#774426}.focused-onboarding .mobile-sections .step-link.active>span{background:#ffffff30;color:white}}
@media(max-width:540px){.focused-onboarding{padding:8px 24px}.focused-onboarding .onboard-form-side{min-height:calc(100svh - 56px)}.focused-onboarding .onboard-header{min-height:78px}.focused-onboarding .onboard-header .logo{width:110px}.focused-onboarding .form-panel{padding:30px 0}.focused-onboarding h1{font-size:27px;letter-spacing:-.8px}.focused-onboarding .lead{font-size:14px;margin-bottom:24px}.focused-onboarding .section-meta{font-size:10px;letter-spacing:.8px}.focused-onboarding .section-segments{margin-bottom:26px}.focused-onboarding .form-actions{gap:12px}.focused-onboarding .onboard-later{font-size:12px}.focused-onboarding .button{padding:12px 18px;gap:14px;min-width:108px}.focused-onboarding .onboard-back{font-size:12px}.focused-onboarding .identity-fields{gap:18px}.focused-onboarding .answer-choice{font-size:14px;padding:14px}.focused-onboarding .upload-box{padding:18px}.focused-onboarding .review-answers summary{gap:10px}.onboarding-preview{padding:8px 24px;font-size:11px}.onboarding-preview .preview-detail{display:none}.focused-onboarding .review-summary{gap:12px 20px}.focused-onboarding .review-answers summary>span:first-child{min-width:0}.focused-onboarding .onboard-footer{font-size:11px}}
@media(max-width:360px){.focused-onboarding{padding:8px 18px}.focused-onboarding .form-actions{gap:10px}.focused-onboarding .onboard-later{flex-basis:100%;margin-left:0}.onboarding-preview{padding:8px 18px}}
@media(prefers-reduced-motion:reduce){.focused-onboarding *{transition:none!important;scroll-behavior:auto!important}}

.focused-onboarding .link-entry{max-width:none;margin:18px 0 0;padding:0;border-top:1px solid #eee6dc}.focused-onboarding .link-entry summary{padding:14px 0}.focused-onboarding .link-entry .stage-form{gap:16px;padding:0;margin:8px 0 0}.focused-onboarding .upload-heading .small{font-size:13px;line-height:1.6;color:#7a7267}.focused-onboarding .upload-heading{margin-bottom:18px}

/* The final step contains the actual scheduler, with room to choose a date and time. */
.focused-onboarding.booking-layout{display:block;max-width:1100px}
.booking-layout .onboard-sidebar{display:none}
.booking-layout .onboard-form-side{padding:0 clamp(20px,4vw,56px)}
.booking-layout .form-panel,.booking-layout .onboard-footer{max-width:none}
.booking-layout .form-panel{margin:0;padding-top:24px}
.booking-layout .progress-toggle{display:inline-flex;align-items:center;gap:10px;padding:10px 0;background:none;min-height:44px;color:#796e61;font-size:13px}
.booking-layout .client-label{display:none}
.booking-layout .mobile-sections:not([hidden]){display:flex;flex-wrap:wrap;gap:8px;padding-bottom:20px}
.booking-layout .mobile-sections .step-link{background:#f0ebe3;border-color:#e4d9ca;color:#786451}
.calendar-embed{display:block;width:100%;height:760px;border:0;border-radius:12px;background:#fff}
.focused-onboarding .calendar-help{font-size:13px;color:#746e65;margin:18px 0 8px}.calendar-help a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:540px){.focused-onboarding.booking-layout{padding:8px 16px}.booking-layout .onboard-form-side{padding:0}.calendar-embed{width:calc(100% + 32px);max-width:none;margin-left:-16px;border-radius:0;height:740px}.booking-layout .form-actions .button{min-width:0}}
