/* Full-width panels share one scroll boundary, like the supplied motion reference. */
.section-stack{display:contents;min-height:0}
.section-stack+.section-stack{margin-top:0}
.section-card{position:sticky;top:var(--card-top,0px);min-height:100svh;border:0;border-radius:0;box-shadow:none;overflow:clip}
.card-ink{display:flex;align-items:center}
.card-ink>.trust{width:100%}
.card-pink>footer{background:transparent;padding-top:38px}
.card-pink .conversation>.wrap.section{padding-bottom:65px}
.card-pink .footer-bottom{border-top-color:#29373326}
.booking-data[hidden],.booking-stage[hidden],#questions-view[hidden]{display:none!important}
.question-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap;margin-top:12px}
.question-actions>.button{min-width:155px}
.question-actions .text-link{font-size:15px}
.booking-step-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}
.booking-step-heading h2{font-size:clamp(44px,4.6vw,64px);margin:17px 0 0}
.booking-step-heading>p{font-size:15px;line-height:1.7;max-width:53ch}
.booking-stage-grid{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,2.5fr);gap:40px;align-items:start}
.answers-summary{min-width:0;padding-top:12px}
.answers-summary h3{font:30px/1.2 var(--display);color:var(--wine);margin:18px 0 25px;overflow-wrap:anywhere}
.answers-summary dl{margin:0 0 24px}
.answers-summary dl>div{padding:12px 0;border-top:1px solid var(--line)}
.answers-summary dt,.answers-summary h4{font-size:14px;font-weight:400;color:#56635d}
.answers-summary dd{font-size:17px;margin:5px 0 0;overflow-wrap:anywhere}
.answers-summary>p{font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 25px}
.answers-summary>#answer-story{max-height:170px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.no-times{font-size:15px;line-height:1.6;padding:12px 0}
.answers-summary .text-link{font-size:15px}
.scheduler{min-width:0}
.scheduler-board{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(205px,1fr);background:var(--paper);border:1px solid #7a0e3526;border-radius:12px;overflow:hidden}
.booking-calendar{background:transparent;border:0;border-radius:0;padding:24px 20px 30px;min-width:0}
.calendar-heading{margin:0 0 29px;gap:15px;align-items:center}
.calendar-heading h3{font-size:22px;text-align:left;white-space:nowrap}
.calendar-heading h3 span{color:#56635d}
.calendar-month-controls{display:flex;gap:8px}
.calendar-heading button{font-size:14px;padding:9px 5px}
.calendar-table{border-collapse:separate;border-spacing:5px;table-layout:fixed}
.calendar-table th{text-transform:uppercase;letter-spacing:.04em;font-size:12px;padding:0 0 21px}
.calendar-table td{padding:0}
.calendar-day{height:66px;border-radius:8px;background:#b8d1e030;font-size:18px;position:relative;padding:0 0 3px}
.calendar-day:disabled{background:transparent;opacity:.36}
.calendar-day[aria-current=date]{border-color:transparent}
.calendar-day[aria-current=date]:after{content:"";position:absolute;bottom:10px;left:calc(50% - 2px);width:4px;height:4px;background:currentColor;border-radius:50%}
.calendar-day:not(:disabled):hover{background:#e8b9c873}
.calendar-day[aria-pressed=true],.calendar-day[aria-pressed=true]:hover{background:var(--wine);color:var(--paper)}
.booking-times{padding:22px 19px 18px;border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.time-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.time-heading h3{font-size:18px;line-height:1.3;white-space:nowrap}
.time-format{display:flex;background:#b8d1e022;border-radius:8px;padding:3px;gap:2px;flex:none}
.time-format button{border:0;background:transparent;padding:5px 6px;font-size:14px;color:var(--ink);border-radius:6px;line-height:1.4}
.time-format button[aria-pressed=true]{background:var(--paper);box-shadow:0 1px 4px #29373319;color:var(--wine)}
.time-slots{position:relative;display:flex;flex-direction:column;gap:9px;max-height:435px;min-height:345px;overflow:auto;padding:2px 3px 3px;scrollbar-width:thin;scrollbar-color:#e8b9c8 transparent;overscroll-behavior:contain}
.time-slot{flex:none}
.time-slot span{min-height:42px;font-size:16px;border-color:#7a0e352c;background:transparent;border-radius:8px}
.time-zone-note{font-size:12px;margin-top:15px;color:#56635d;line-height:1.5}
.booking-confirm{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:24px}
.booking-confirm .meeting-selection{border:0;padding:0;margin:0;font-size:15px;line-height:1.6;max-width:42ch}
.booking-confirm .button{font-size:15px;flex:none}
.booking-confirm .button:disabled{opacity:.5;cursor:default;transform:none}
.booking-stage .brief-result{margin-top:23px}
@media(min-width:1400px){.calendar-day{height:76px}.booking-stage-grid{gap:48px}.scheduler-board{grid-template-columns:minmax(0,1.85fr) minmax(260px,1fr)}}
@media(max-width:1100px){.booking-stage-grid{grid-template-columns:190px minmax(0,1fr);gap:25px}.scheduler-board{grid-template-columns:minmax(0,1.65fr) minmax(210px,1fr)}.booking-calendar{padding:22px 12px}.calendar-day{height:57px;font-size:17px}.calendar-table{border-spacing:4px}.calendar-heading h3{font-size:20px}.booking-times{padding:22px 14px 18px}.booking-confirm{align-items:flex-start;flex-direction:column;gap:17px}}
@media(max-width:900px){.booking-stage-grid{grid-template-columns:1fr;gap:30px}.answers-summary{display:grid;grid-template-columns:1fr 1.3fr;gap:0 30px;padding-top:0}.answers-summary>.eyebrow,.answers-summary>h3{grid-column:1}.answers-summary>h3{margin:13px 0 16px}.answers-summary>dl{grid-column:2;grid-row:1/4;margin:0}.answers-summary>h4,.answers-summary>#answer-story{grid-column:1}.answers-summary>.text-link{grid-column:1;justify-self:start;align-self:start}.answers-summary>p{margin-bottom:16px}.scheduler-board{grid-template-columns:minmax(0,1.8fr) minmax(235px,1fr)}.calendar-day{height:66px}.booking-step-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.booking-confirm{align-items:center;flex-direction:row}}
@media(max-width:560px){.answers-summary{display:block}.answers-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-bottom:20px}.answers-summary dl>div:nth-child(2){grid-column:1/-1;grid-row:2}.answers-summary dd{font-size:16px}.answers-summary h3{font-size:29px}.scheduler-board{grid-template-columns:1fr}.booking-calendar{padding:23px 12px 20px}.calendar-heading{margin-bottom:23px}.calendar-heading h3{font-size:22px}.calendar-table th{font-size:12px;padding-bottom:14px}.calendar-day{height:49px;font-size:17px}.calendar-day[aria-current=date]:after{bottom:7px}.booking-times{border-left:0;border-top:1px solid var(--line);padding:20px 18px}.time-slots{max-height:260px;min-height:0}.time-heading h3{font-size:20px}.time-format button{font-size:15px;padding:5px 8px}.booking-confirm{align-items:stretch;flex-direction:column}.booking-confirm .button{align-self:flex-start}.question-actions{gap:20px}.booking-step-heading h2{font-size:49px}.booking-step-heading>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.section-card{position:relative;top:auto;min-height:0}}

/* Google owns live availability and confirmation inside the booking step. */
.google-scheduler iframe{display:block;width:100%;height:780px;border:1px solid #7a0e3526;border-radius:12px;background:#fff}
.google-booking-fallback{margin-top:18px;font-size:14px;line-height:1.6}
.booking-detail-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px}
.answers-summary #booking-result-host{grid-column:1/-1;min-width:0}
.answers-summary .brief-result p{font-size:14px;line-height:1.6}
.answers-summary .brief-result .button{font-size:14px;padding:12px 18px}
.answers-summary .brief-result .text-link{display:block;margin-top:16px}
@media(max-width:640px){.google-scheduler iframe{height:850px}.google-booking-fallback{font-size:13px}}
