.dsm-schedule-page{--booking-ink:#123246;--booking-muted:#536f80;--booking-line:#dbe7ee;--booking-blue:#a1def3;color:var(--booking-ink)}.dsm-schedule-page .hh-hero{padding:clamp(54px,6vw,90px) 0 36px}.dsm-schedule-page .schedule-intro{max-width:1160px;display:block}.dsm-schedule-page .schedule-intro .hh-display{text-wrap:balance;max-width:800px;margin:0;font-size:clamp(34px,4.6vw,58px);line-height:1.12}.dsm-schedule-page .schedule-intro .eyebrow{margin:0 0 16px}.dsm-schedule-page .schedule-intro .hh-lede{max-width:650px;margin:20px 0 0;font-size:18px;line-height:1.55}.dsm-schedule-page .hh-sched-wrap{padding:0 0 90px}.dsm-schedule-page .hh-container{max-width:1160px}.dsm-schedule .booking-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,4vw,58px);display:grid}.dsm-schedule .booking-calendar-panel{min-width:0;padding:30px 0 0}.dsm-schedule .booking-details-panel{border:1px solid var(--booking-line);background:#fff;border-radius:20px;min-width:0;padding:30px;box-shadow:0 10px 44px #173a5010}.dsm-schedule .booking-step{color:var(--booking-ink);align-items:center;gap:10px;margin:0 0 12px;font-size:16px;font-weight:600;display:flex}.dsm-schedule .booking-step>span{color:#397194;background:#eaf5fb;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;display:grid}.dsm-schedule .booking-support{color:var(--booking-muted);margin:0 0 24px;font-size:14px;line-height:1.55}.dsm-schedule .booking-gate-note{color:var(--booking-muted);border-left:2px solid #7fc8e1;padding:0 0 0 12px;font-size:13px;line-height:1.55}.dsm-schedule .booking-calendar-panel .cal{box-shadow:none;background:0 0;border:0;width:100%;padding:0}.dsm-schedule .booking-calendar-panel .cal-head{margin-bottom:22px;padding-top:6px}.dsm-schedule .booking-calendar-panel .cal-grid{gap:6px}.dsm-schedule .booking-calendar-panel .cal-cell{aspect-ratio:1.12;border-radius:10px;height:auto;min-height:48px}.dsm-schedule .booking-calendar-panel .cal-cell.is-available{color:var(--booking-ink);background:#eef5f8;border-color:#0000}.dsm-schedule .booking-calendar-panel .cal-cell.is-selected{background:var(--booking-ink);color:#fff}.dsm-schedule .booking-calendar-panel .cal-status{min-height:20px;color:var(--booking-muted);margin-top:18px;font-size:13px}.dsm-schedule .booking-agenda{border-top:1px solid var(--booking-line);margin-top:32px;padding-top:25px}.dsm-schedule .booking-agenda h2{font:inherit;margin:0 0 14px;font-size:16px;font-weight:600}.dsm-schedule .booking-agenda ul{color:var(--booking-muted);margin:0;padding-left:18px;font-size:14px;line-height:1.6}.dsm-schedule .booking-agenda li+li{margin-top:8px}.dsm-schedule .booking-fields{grid-template-columns:1fr;gap:17px;display:grid}.dsm-schedule .booking-field{min-width:0}.dsm-schedule .booking-field label,.dsm-schedule .booking-verification>label{color:var(--booking-ink);margin:0 0 8px;font-size:13px;font-weight:600;display:block}.dsm-schedule .booking-field input,.dsm-schedule .booking-field select,.dsm-schedule .booking-field textarea,.dsm-schedule .booking-verification>input{box-sizing:border-box;width:100%;min-height:48px;color:var(--booking-ink);font:inherit;box-shadow:none;background:#fbfdff;border:1px solid #c9dbe5;border-radius:9px;margin:0;padding:13px 14px;font-size:16px;line-height:1.35;display:block}.dsm-schedule .booking-field textarea{resize:vertical;max-width:100%;min-height:108px}.dsm-schedule .booking-field input::placeholder,.dsm-schedule .booking-field textarea::placeholder{color:#75909f;opacity:1}.dsm-schedule .booking-field input:focus,.dsm-schedule .booking-field textarea:focus,.dsm-schedule .booking-field select:focus,.dsm-schedule .booking-verification>input:focus{outline-offset:2px;border-color:#418bab;outline:2px solid #63b8de}.dsm-schedule [aria-invalid=true]{border-color:#a43e49!important}.dsm-schedule .booking-field-help{color:var(--booking-muted);margin:7px 0 0;font-size:12px;line-height:1.45}.dsm-schedule .booking-field-error,.dsm-schedule .booking-form-error{color:#91333f;margin:8px 0 0;font-size:13px;line-height:1.5}.dsm-schedule .booking-form-error{background:#fff7f7;border:1px solid #efd0d6;border-radius:9px;margin:16px 0;padding:12px}.dsm-schedule .booking-consent{color:var(--booking-muted);cursor:pointer;align-items:flex-start;gap:11px;margin:22px 0;font-size:12px;line-height:1.55;display:flex}.dsm-schedule .booking-consent>input{appearance:auto;accent-color:#286383;border-radius:4px;flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:2px 0 0;padding:0}.dsm-schedule .booking-resources-consent{border-top:1px solid var(--booking-line);padding-top:17px}.dsm-schedule .booking-optional-label{color:var(--booking-ink);margin-bottom:3px;font-weight:600;display:block}.dsm-schedule .booking-website-check{color:#286383;overflow-wrap:anywhere;background:#f0f9fc;border:1px solid #d4eaf3;border-radius:8px;align-items:flex-start;gap:9px;margin:10px 0 0;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.dsm-schedule .booking-website-check>span{flex-shrink:0}.dsm-schedule .booking-website-check>div{min-width:0}.dsm-schedule .booking-website-check strong{font-weight:600}.dsm-schedule .booking-website-check div>span{color:var(--booking-muted);margin-top:2px;display:block}.dsm-schedule .booking-consent a,.dsm-schedule .booking-contact a,.dsm-schedule .booking-confirmation-help a{color:#286383;text-underline-offset:3px;text-decoration:underline}.dsm-schedule .booking-slot-summary{background:#edf8fc;border:1px solid #d4edf6;border-radius:10px;margin:0 0 24px;padding:13px 15px;font-size:13px;line-height:1.5}.dsm-schedule .booking-slot-summary strong{margin-top:3px;font-size:15px;font-weight:500;display:block}.dsm-schedule .booking-primary,.dsm-schedule .booking-secondary{background:var(--booking-ink);color:#fff;width:100%;min-height:50px;font:inherit;text-align:center;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:13px 20px;font-size:15px;font-weight:500;line-height:1.45;text-decoration:none;transition:background .18s,box-shadow .18s;display:flex}.dsm-schedule .booking-primary:hover:not(:disabled){background:#245976;box-shadow:0 4px 15px #28638320}.dsm-schedule .booking-primary:disabled,.dsm-schedule .booking-secondary:disabled{opacity:.55;cursor:default}.dsm-schedule .booking-submit-note{color:var(--booking-muted);text-align:center;margin:11px 0 0;font-size:12px;line-height:1.5}.dsm-schedule .booking-contact{color:var(--booking-muted);text-align:center;margin:21px 0 0;font-size:12px}.dsm-schedule .booking-verification{background:#f2f8fc;border:1px solid #d6e8f3;border-radius:12px;margin-bottom:20px;padding:18px}.dsm-schedule .booking-verification p{color:var(--booking-muted);margin:8px 0 13px;font-size:12px;line-height:1.5}.dsm-schedule .booking-verification>input{letter-spacing:.3em;text-align:center;background:#fff;font-size:24px}.dsm-schedule .booking-verification #booking-code-note{margin-bottom:0}.dsm-schedule .booking-text-button{appearance:none;color:#286383;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:12px 0 0;font-size:12px;text-decoration:underline}.dsm-schedule .booking-text-button:disabled{opacity:.6;cursor:default;text-decoration:none}.dsm-schedule .booking-verified{color:#23624f;background:#eff8f4;border:1px solid #d3eadd;border-radius:10px;align-items:flex-start;gap:9px;margin:0 0 18px;padding:13px 15px;font-size:13px;line-height:1.5;display:flex}.dsm-schedule .booking-plan-context{border:1px solid var(--booking-line);border-radius:12px;margin-bottom:25px;padding:20px;font-size:14px;line-height:1.5}.dsm-schedule .booking-plan-context p{color:var(--booking-muted);margin:8px 0}.dsm-schedule .booking-plan-context a{text-underline-offset:3px;text-decoration:underline}.dsm-schedule .booking-confirmation,.dsm-schedule .booking-brief{border:1px solid var(--booking-line);background:#fff;border-radius:20px;max-width:720px;margin:0 auto;padding:clamp(22px,4vw,42px)}.dsm-schedule .booking-confirmation{text-align:center}.dsm-schedule .booking-confirmation .booking-step{justify-content:center}.dsm-schedule .booking-confirmation h2,.dsm-schedule .booking-brief h2{font-family:var(--hh-display);letter-spacing:-.045em;text-wrap:balance;margin:16px 0;font-size:clamp(23px,3vw,32px);font-weight:500;line-height:1.2}.dsm-schedule .booking-success-mark{color:#255c78;background:#dff3fc;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 20px;font-size:24px;display:grid}.dsm-schedule .booking-confirmation-copy{color:var(--booking-muted);overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.6}.dsm-schedule .booking-facts{text-align:left;background:#f4f9fc;border-radius:12px;grid-template-columns:1fr 1fr;gap:20px 24px;margin:26px 0;padding:20px;display:grid}.dsm-schedule .booking-facts dt{color:var(--booking-muted);margin-bottom:5px;font-size:12px}.dsm-schedule .booking-facts dd{margin:0;font-size:14px;line-height:1.5}.dsm-schedule .booking-calendar-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.dsm-schedule .booking-calendar-links a{border:1px solid var(--booking-line);border-radius:9px;justify-content:center;align-items:center;min-height:44px;padding:11px 14px;font-size:13px;display:inline-flex}.dsm-schedule .booking-calendar-links a:hover{background:#f0f8fc}.dsm-schedule .booking-confirmation-help{color:var(--booking-muted);margin:22px 0 0;font-size:13px;line-height:1.6}.dsm-schedule .booking-brief{margin-top:24px}.dsm-schedule .booking-brief h2{margin-bottom:26px}.dsm-schedule .booking-brief fieldset{border:0;margin:0 0 24px;padding:0}.dsm-schedule .booking-brief legend{margin-bottom:12px;font-size:13px;font-weight:600}.dsm-schedule .booking-service-options{flex-wrap:wrap;gap:9px;display:flex}.dsm-schedule .booking-service-options label{cursor:pointer;position:relative}.dsm-schedule .booking-service-options input{opacity:0;width:1px;height:1px;margin:0;padding:0;position:absolute}.dsm-schedule .booking-service-options span{background:#fff;border:1px solid #c9dbe5;border-radius:9px;align-items:center;min-height:44px;padding:11px 13px;font-size:13px;line-height:1.4;display:inline-flex}.dsm-schedule .booking-service-options input:checked+span{color:#164f6c;background:#e7f6fc;border-color:#5babc8}.dsm-schedule .booking-service-options input:focus-visible+span{outline-offset:2px;outline:2px solid #418bab}.dsm-schedule .booking-brief .booking-field{margin-bottom:22px}.dsm-schedule .booking-secondary{color:var(--booking-ink);background:#e7f5fc;border-color:#c5e3ef}.dsm-schedule :is(button,a):focus-visible{outline-offset:3px;outline:2px solid #418bab}@media (max-width:760px){.dsm-schedule-page .hh-hero{padding-top:44px;padding-bottom:26px}.dsm-schedule-page .schedule-intro .hh-display{font-size:36px}.dsm-schedule-page .schedule-intro .hh-lede{margin-top:16px;font-size:16px}.dsm-schedule .booking-layout{grid-template-columns:1fr;gap:28px}.dsm-schedule .booking-calendar-panel{padding-top:8px}.dsm-schedule .booking-details-panel{padding:23px}.dsm-schedule .booking-agenda{margin-top:24px;padding-top:22px}.dsm-schedule .booking-calendar-panel .cal-cell{min-height:40px;max-height:62px}.dsm-schedule-page .hh-sched-wrap{padding-bottom:54px}}@media (max-width:380px){.dsm-schedule-page .schedule-intro .hh-display{font-size:30px}.dsm-schedule .booking-details-panel{padding:19px}.dsm-schedule .booking-calendar-panel .cal-grid{gap:4px}.dsm-schedule .booking-calendar-panel .cal-cell{min-height:36px}.dsm-schedule .booking-facts{grid-template-columns:1fr;gap:14px}}@media (prefers-reduced-motion:reduce){.dsm-schedule :is(button,a){transition:none}}.dsm-schedule .dsm-times-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}@media (min-width:360px){.dsm-schedule .dsm-times-dialog .times-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dsm-schedule .dsm-times-dialog .time-btn{min-height:46px;padding:10px 3px;font-size:13px}}.booking-page-footer{color:#536f80;border-top:1px solid #dbe7ee;flex-wrap:wrap;justify-content:space-between;gap:20px;max-width:1160px;margin:0 auto;padding:28px 24px 36px;font-size:13px;display:flex}.booking-page-footer a:first-child{color:#123246;font-weight:600}.booking-page-footer a:hover{text-decoration:underline}.booking-page-footer a:focus-visible{outline-offset:4px;outline:2px solid #418bab}@media (max-width:600px){.booking-page-footer{text-align:center;justify-content:center;gap:16px}.booking-page-footer a:first-child{flex-basis:100%}}
