@font-face{font-family:Newsreader;src:url("../assets/newsreader.woff2") format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../assets/instrument-sans.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
:root{--night:#0d1621;--paper:#f5f3ee;--dusk:#243347;--muted:#535d67;--fog:#9ca8b4;--hair:#dad8d1;--line:#878d94;--serif:Newsreader,Georgia,"Times New Roman",serif;--sans:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}
*,:before,:after{box-sizing:border-box}
body{margin:0;overflow-wrap:anywhere;background:var(--paper);color:var(--night);font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}
:focus-visible{outline:3px solid #486b93;outline-offset:4px}::selection{background:var(--dusk);color:var(--paper)}
h1,h2{font-family:var(--serif);font-weight:450;line-height:1.08;letter-spacing:-.03em;text-wrap:balance;margin:0}h1{font-size:54px}h2{font-size:32px}p{margin:0}button,select,input{border-radius:5px}
.skip-link{position:fixed;z-index:5;top:12px;left:16px;transform:translateY(-170%);padding:12px 18px;background:var(--paper);color:var(--night)}.skip-link:focus{transform:none}
.topbar{flex-wrap:wrap;min-height:80px;padding:16px max(32px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--night);color:var(--paper)}
.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{display:block;width:178px;height:auto}.back-link{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:16px}.back-link:hover{text-decoration:underline}
.page-shell{width:min(1120px,calc(100% - 64px));margin-inline:auto;padding:56px 0 72px;min-height:calc(100svh - 157px)}
.planner-layout{display:grid;grid-template-columns:minmax(250px,.84fr) minmax(0,1.6fr);grid-template-areas:"intro planner" "agenda planner";column-gap:64px;row-gap:32px;align-items:start}
.page-intro{grid-area:intro;padding-top:8px}.call-summary{margin-top:18px;color:var(--muted);font-size:16px}.planner{grid-area:planner;padding:28px}.panel{background:#fffefa;border:1px solid #dedbd4;border-radius:8px}.panel-heading{margin-bottom:24px}.planner-heading{margin:0}
.timezone-field{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.timezone-summary{min-width:0}.timezone-summary>p:first-child{font-weight:550}.timezone-detail{font-size:16px;color:var(--muted);overflow-wrap:anywhere}.timezone-field .text-button{flex-shrink:0;padding-inline:4px}.timezone-picker{padding:16px;margin-bottom:16px;border:1px solid var(--hair);border-radius:5px;background:var(--paper)}.timezone-picker>label{display:block;font-weight:550;margin-bottom:8px}.timezone-picker input{width:100%;min-height:48px;border:1px solid var(--line);padding:10px 12px;background:#fffefa;font-size:16px}.timezone-help{font-size:16px;color:var(--muted);margin:8px 0}.timezone-picker .text-button{display:block;margin-left:auto}.timezone-picker select{margin-top:4px}.timezone-matches{display:grid;gap:6px;max-height:260px;overflow-y:auto;padding:4px}.timezone-choice{min-height:48px;padding:10px 12px;border:1px solid var(--line);background:#fffefa;text-align:left;line-height:1.4}.timezone-choice span{display:block;color:var(--muted)}.timezone-choice[aria-pressed="true"]{border-color:var(--night);box-shadow:inset 0 0 0 1px var(--night)}.timezone-choice:hover{background:var(--paper)}
select{width:100%;max-width:100%;min-height:48px;padding:9px 28px 9px 12px;border:1px solid var(--line);background:#fffefa;font-size:16px}
.calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:8px 0;margin-bottom:16px}.window-label{text-align:center;font-size:16px;font-weight:550;line-height:1.35;padding-inline:4px}
.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid transparent;background:transparent}.icon-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button:not(:disabled):hover{background:var(--paper);border-color:var(--hair)}
.availability-status{color:var(--muted);font-size:16px}.availability-status:not(:empty){margin-bottom:16px}.slot-groups{display:grid;gap:20px}.date-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 3px 8px;scrollbar-width:thin}.date-tab{flex:1 0 52px;min-height:76px;padding:8px 4px;border:1px solid var(--line);background:transparent;font-size:16px;line-height:1.3}.date-tab span{display:block;font-size:24px;font-weight:550;line-height:1.3}.date-tab[aria-selected="true"]{background:var(--night);border-color:var(--night);color:var(--paper)}.date-tab:not(:disabled):hover{border-color:var(--night)}
.slot-day{min-width:0}.slot-day h3{font-size:16px;font-weight:550;margin:0 0 12px}.slot-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot-button{min-height:48px;padding:10px 6px;border:1px solid var(--line);background:transparent;font-size:16px;line-height:1.25}.slot-button:hover{border-color:var(--night);background:var(--paper)}.slot-button[aria-pressed="true"]{background:var(--dusk);border-color:var(--dusk);color:var(--paper)}
.agenda-card{grid-area:agenda}.agenda-card h2{font-size:30px;max-width:15ch}.agenda-card>p{margin-top:16px;color:var(--muted)}.agenda-list{padding:0;margin:20px 0 24px;list-style:none;display:grid;gap:12px}.agenda-list li{padding:0 0 12px;border-bottom:1px solid var(--hair);font-size:16px}.agenda-list li:last-child{padding-bottom:0;border:0}.agenda-card .availability-note{margin-top:0}.agenda-card .buffer-note{margin-top:4px}.agenda-card .support-copy{margin-top:24px}.support-copy{color:var(--muted);font-size:16px;line-height:1.6}
.booking-profiles{display:grid;gap:16px;margin:20px 0;padding:20px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.booking-profiles-title{font-size:16px;font-weight:550}.booking-profile{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px 16px;align-items:center}.booking-profile+.booking-profile{padding-top:16px;border-top:1px solid var(--hair)}.booking-profile-initials{display:grid;place-items:center;width:80px;height:96px;border:1px solid var(--hair);border-radius:4px;background:var(--paper);font:450 30px/1 var(--serif);color:var(--muted)}.booking-profile-photo{display:block;width:64px;height:76px;object-fit:cover;object-position:center 35%;border-radius:4px}.booking-profile-heading h3{font:450 24px/1.15 var(--serif);letter-spacing:-.02em;margin:0}.booking-profile-role{margin-top:6px;color:var(--muted);font-size:16px}.booking-profile-bio{grid-column:1/-1;color:var(--muted);font-size:16px;line-height:1.6}.booking-profile-link{grid-column:1/-1;display:inline-flex;align-items:center;justify-self:start;min-height:44px;font-size:16px}
.notice{padding:16px;border-radius:5px;background:#eeece6;font-size:16px;overflow-wrap:anywhere}.notice-error{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f5e9e5;color:#552d25}.notice-preview{margin-top:24px}.empty-state{padding:24px 16px;border:1px dashed var(--line);border-radius:5px;color:var(--muted)}.empty-state p+p{margin-top:8px}.text-button{min-height:44px;padding:8px 0;border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:16px}.notice .text-button{flex-shrink:0}.text-link{min-height:44px;display:inline-flex;align-items:center;font-size:16px}
.focused-panel{max-width:740px;margin:0 auto;padding:36px;scroll-margin-top:24px}.focused-panel h1{font-size:42px}.focused-panel .step-label{font-size:16px;color:var(--muted);margin-bottom:12px}.appointment-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;margin-bottom:24px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.appointment-time{font-size:18px;font-weight:550;line-height:1.55;overflow-wrap:anywhere}.appointment-summary .text-button{flex-shrink:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:grid;gap:8px;font-size:16px;font-weight:550}.field input{width:100%;min-height:48px;border:1px solid var(--line);background:#fffefa;padding:10px 12px;font-size:16px;font-weight:400}.field input::placeholder{color:var(--muted)}.field input:focus{border-color:#486b93}
.review-details{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0}.review-details>div{padding:12px 0;border-bottom:1px solid var(--hair)}.review-details dt{color:var(--muted);font-size:16px}.review-details dd{margin:4px 0 0;font-size:16px;overflow-wrap:anywhere}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border-radius:5px;border:1px solid transparent;text-decoration:none;font-size:16px;font-weight:550;line-height:1.35;text-align:center}.button-night{background:var(--night);color:var(--paper)}.button-night:not(:disabled):hover{background:var(--dusk)}.button-outline{border-color:var(--line);background:transparent;color:var(--night)}.button-outline:not(:disabled):hover{background:var(--paper)}.required-note{font-size:16px;color:var(--muted)}.invitation-note{font-size:16px;color:var(--muted);margin-top:20px}.privacy-note{margin-top:24px;border-top:1px solid var(--hair);padding-top:12px;color:var(--muted);font-size:16px}.privacy-note summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;list-style-position:inside}.privacy-note p{margin-top:8px;font-size:16px;line-height:1.6}.form-error{margin-top:20px;color:#7a3024;font-size:16px}#submit-status{margin-top:20px}
.recovery-panel>p:not(.step-label),.success-panel>p:not(.step-label){margin-top:20px}.recovery-panel .notice{margin-top:20px}.recovery-actions,.success-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.success-copy,#pending-copy,#recovery-copy{color:var(--muted);font-size:16px}.manage-view .notice{margin:20px 0}.manage-details{display:grid;grid-template-columns:130px minmax(0,1fr);margin:24px 0}.manage-details dt,.manage-details dd{padding:12px 0;border-top:1px solid var(--hair);font-size:16px}.manage-details dt{color:var(--muted)}.manage-details dd{margin:0;overflow-wrap:anywhere}.manage-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}
.manage-view .notice .text-button{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;margin-top:16px;padding:12px 20px;border:1px solid var(--line);border-radius:5px;line-height:1.35;text-decoration:none;text-align:center}.manage-view .notice .text-button:last-of-type{background:var(--night);color:var(--paper);border-color:var(--night)}.manage-view .notice .text-button:last-of-type:hover{background:var(--dusk)}#book-another{background:var(--night);color:var(--paper);border-color:var(--night)}#book-another:hover{background:var(--dusk)}.manage-actions:has(#cancel-booking:not([hidden])) #book-another{background:transparent;color:var(--night);border-color:var(--line)}.manage-actions:has(#cancel-booking:not([hidden])) #book-another:hover{background:var(--paper)}
.scheduling-unavailable>:not(#preview-notice){display:none!important}.scheduling-unavailable #preview-notice{margin-top:0}
.footer{flex-wrap:wrap;min-height:77px;border-top:1px solid var(--hair);padding:16px max(32px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:16px}.footer a{min-height:44px;display:inline-flex;align-items:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.planner-layout{column-gap:36px;grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr)}h1{font-size:46px}.planner{padding:24px}}
@media(max-width:760px){.page-shell{width:min(560px,calc(100% - 40px));padding-top:28px}.planner-layout{grid-template-columns:1fr;grid-template-areas:"intro" "planner" "agenda";gap:24px}.page-intro{padding:0}.page-intro h1{font-size:40px;max-width:15ch;text-wrap:initial}.call-summary{margin-top:12px}.planner{padding:20px}.agenda-card{padding:8px 4px 0}.agenda-card h2{max-width:none}.topbar{min-height:72px;padding:12px 20px}.brand img{width:158px}.focused-panel{padding:24px}.focused-panel h1{font-size:36px}.slot-groups{gap:16px}.form-grid{grid-template-columns:1fr;gap:16px}.focused-panel .panel-heading{margin-bottom:20px}.appointment-summary{display:block;padding:16px 0;margin-bottom:20px}.appointment-summary .text-button{margin-top:4px}.appointment-time{font-size:16px}.review-details{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;align-items:stretch;gap:12px;margin-top:24px}.form-actions .button{width:100%}.required-note{text-align:center}.manage-details{grid-template-columns:1fr;margin:20px 0}.manage-details dt{padding-bottom:0}.manage-details dd{border:0;padding-top:4px}.footer{padding:16px 20px;flex-wrap:wrap}}
@media(max-width:400px){.page-shell{width:calc(100% - 32px);padding-top:24px}.page-intro h1{font-size:36px}.planner{padding:18px 14px}.planner-heading{margin:0}.timezone-field{gap:12px}.focused-panel{padding:22px 18px}.focused-panel h1{font-size:32px}.slot-list{grid-template-columns:repeat(2,minmax(0,1fr))}.window-label{font-size:16px}.calendar-toolbar{margin-bottom:12px}.slot-groups{gap:12px}.footer p{flex-basis:100%}.notice-error{align-items:flex-start;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.field-help{font-size:14px;font-weight:400;line-height:1.5;color:var(--muted)}.booking-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
