:root{--bg-main:#f9f8f4;--bg-card:#fff;--bg-soft:#f2efe9;--text-primary:#1c1917;--text-secondary:#706e6b;--brand:#785943;--brand-hover:#5c4332;--border:#e7e5e4;--error:#b42318;--radius-lg:16px;--radius-sm:9px;--shadow:0 12px 32px #1c19170d;--page-gutter:48px}*{box-sizing:border-box}[hidden]{display:none!important}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}body{padding:40px var(--page-gutter);background:var(--bg-main);color:var(--text-primary);margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}.page-layout{grid-template-columns:clamp(260px,25vw,360px) minmax(0,1fr);align-items:start;gap:clamp(20px,2vw,32px);width:100%;max-width:none;margin:0 auto;display:grid}.sidebar{scrollbar-width:thin;flex-direction:column;gap:20px;max-height:calc(100vh - 48px);display:flex;position:sticky;top:24px;overflow-y:auto}.main-panel{border:1px solid var(--border);background:var(--bg-card);min-width:0;box-shadow:var(--shadow);border-radius:20px;padding:clamp(22px,3vw,40px)}.intro-card{padding:8px 4px 0}.eyebrow{color:var(--brand);letter-spacing:.13em;margin-bottom:12px;font-size:.72rem;font-weight:800;display:block}.intro-card h1{letter-spacing:-.045em;margin:0 0 14px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,3vw,2.8rem);font-weight:500;line-height:1.12}.intro-card>p{color:var(--text-secondary);margin:0 0 20px;font-size:.96rem}.intro-image{aspect-ratio:4/3;border-radius:var(--radius-lg);-o-object-fit:cover;object-fit:cover;background:#e7e0d7;width:100%;display:block}.intro-card .image-caption{margin:10px 2px 0;font-size:.78rem}.summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-soft);padding:20px}.summary-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.summary-heading .eyebrow{margin-bottom:4px}.summary-heading h2{margin:0;font-size:1.15rem;font-weight:750}.summary-status{color:#795f49;background:#fff;border:1px solid #e3ddd5;border-radius:7px;flex:none;padding:5px 10px;font-size:.72rem;font-weight:650}.summary-status.is-complete{color:#356847;border-color:#c7dcca}.summary-session{flex-wrap:wrap;align-items:baseline;gap:7px;margin-bottom:3px;display:flex}.summary-bullet{background:var(--brand);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:7px}.summary-session-title{color:#654b37;overflow-wrap:anywhere;min-width:0;font-size:.95rem;font-weight:750;line-height:1.4}.summary-duration{color:#654b37;white-space:nowrap;flex:none;font-size:.95rem;font-weight:650;line-height:1.4}.summary-date{color:#70665e;overflow-wrap:anywhere;margin:0;font-size:.82rem;line-height:1.5}.summary-time{color:#70665e;overflow-wrap:anywhere;margin:3px 0 0;font-size:.82rem;font-weight:400;line-height:1.5}.summary-divider{background:#ded8d0;height:1px;margin:12px 0 10px}.summary-timezone{color:var(--text-secondary);align-items:center;gap:6px;margin:0;font-size:.72rem;display:flex}.summary-contact{border-top:1px solid #ded8d0;gap:3px;margin-top:12px;padding-top:10px;display:grid}.summary-contact p{color:var(--text-secondary);overflow-wrap:anywhere;margin:0;font-size:.74rem}.sidebar-confirm-btn{flex:none;width:100%}.summary-icon{width:38px;height:38px;color:var(--brand);border:1px solid #d9cec1;border-radius:50%;flex:none;place-items:center;display:grid}.summary-row{border-bottom:1px solid #ded8d0;flex-direction:column;gap:3px;padding:13px 0;display:flex}.summary-row:last-of-type{border-bottom:0}.summary-label{color:var(--text-secondary);font-size:.8rem}.summary-value{overflow-wrap:anywhere;font-size:.93rem;font-weight:650}.summary-pending{color:#938b83;font-style:italic;font-weight:400}.summary-note{color:var(--text-secondary);margin:12px 0 0;font-size:.78rem}.page-header{margin-bottom:12px}.page-header .eyebrow{margin-bottom:10px}.page-header h2{letter-spacing:-.035em;margin:0 0 9px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500;line-height:1.2}.page-header p,.step-heading p{color:var(--text-secondary);margin:0;font-size:.93rem}.step-section{border-top:1px solid var(--border);margin-top:28px;padding-top:28px}.step-heading{align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.step-number{background:var(--bg-soft);width:38px;height:38px;color:var(--brand);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-weight:800;display:grid}.step-heading h3{margin:2px 0 5px;font-size:1.15rem}.session-carousel{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.session-carousel.has-overflow{grid-template-columns:34px minmax(0,1fr) 34px}.session-viewport{grid-column:1;min-width:0;overflow:hidden}.session-carousel.has-overflow .session-viewport{grid-column:2}.session-grid{will-change:transform;grid-template-columns:none;grid-auto-columns:calc(33.3333% - 8px);grid-auto-flow:column;gap:12px;width:100%;transition:transform .25s;display:grid}.session-card{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:#fff;flex-direction:column;gap:10px;padding:16px;transition:border-color .16s,background .16s;display:flex}.session-card:hover{background:#faf9f6;border-color:#cfc6bc}.session-card.active,.session-card[aria-pressed=true]{border-color:var(--brand);background:#f2efe9}.session-card:focus-visible{outline-offset:3px;outline:3px solid #78594340}.session-card-top{align-items:center;gap:10px;min-width:0;display:flex}.session-radio{border:1.5px solid #c9c2ba;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.session-card.active .session-radio,.session-card[aria-pressed=true] .session-radio{border-color:var(--brand)}.session-card.active .session-radio:after,.session-card[aria-pressed=true] .session-radio:after{background:var(--brand);content:"";border-radius:50%;width:8px;height:8px}.session-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.9rem;font-weight:700;line-height:1.35}.session-duration{color:var(--text-secondary);white-space:nowrap;flex:none;font-size:.72rem}.session-description{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.45;display:block}.carousel-btn{border:1px solid var(--border);background:var(--bg-card);width:34px;height:34px;color:var(--brand);cursor:pointer;border-radius:50%;place-items:center;padding:0;font-size:1.1rem;transition:background .16s,opacity .16s;display:grid}.carousel-btn:hover:not(:disabled){background:var(--bg-soft)}.carousel-btn:disabled{cursor:not-allowed;opacity:.3}.btn{border-radius:var(--radius-sm);cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:12px 17px;font-size:.9rem;font-weight:700;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-secondary{border-color:var(--border);background:var(--bg-card);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-soft);border-color:#cfc6bc}.btn:disabled{cursor:not-allowed;opacity:.5}.scheduler-grid{grid-template-columns:minmax(0,1.15fr) minmax(170px,.85fr);align-items:stretch;gap:18px;display:grid}.calendar-card,.times-card{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;height:100%;padding:18px}.calendar-header{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:4px;margin-bottom:16px;display:grid}.calendar-header h4{text-align:center;text-transform:capitalize;margin:0;font-size:.94rem}.month-btn{border:1px solid var(--border);background:var(--bg-card);width:34px;height:34px;color:var(--brand);cursor:pointer;border-radius:50%}.month-btn:hover:not(:disabled){background:var(--bg-soft)}.month-btn:disabled{cursor:not-allowed;opacity:.3}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.weekday{color:var(--text-secondary);text-align:center;padding:5px 0;font-size:.68rem;font-weight:700}.day{color:#b7b1aa;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;min-width:0;min-height:34px;padding:3px;font-size:.8rem;display:grid}.day.available{color:var(--brand);cursor:pointer;background:#f7f2ec;border-color:#e0d3c6;font-weight:750}.day.available:hover,.day.available.selected{border-color:var(--brand);background:var(--brand);color:#fff}.day:disabled{cursor:not-allowed;opacity:.7}.calendar-legend{color:var(--text-secondary);align-items:center;gap:8px;margin:14px 0 0;font-size:.72rem;display:flex}.calendar-legend span{background:var(--brand);border-radius:50%;width:9px;height:9px}.calendar-status{min-height:36px;color:var(--text-secondary);margin:12px 0 0;font-size:.78rem;line-height:1.5}.times-card{flex-direction:column;min-height:0;display:flex}.times-card h4{text-transform:capitalize;margin:0 0 4px;font-size:.95rem}.subtle-text{color:var(--text-secondary);margin:0 0 14px;font-size:.76rem}.times-grid{flex:1;grid-template-columns:1fr;gap:9px;min-height:0;max-height:250px;display:grid;overflow-y:auto}.time-btn{border:1px solid var(--border);background:var(--bg-card);width:100%;min-height:40px;color:var(--text-primary);cursor:pointer;border-radius:8px;padding:9px 12px;font-size:.85rem;font-weight:650}.time-btn:hover,.time-btn.selected{border-color:var(--brand);color:var(--brand);background:#f6f0e9}.loading,.empty{color:var(--text-secondary);text-align:center;grid-column:1/-1;padding:20px 8px;font-size:.85rem}.step-actions,.form-actions{justify-content:space-between;gap:12px;margin-top:22px;display:flex}#bookingForm{gap:18px;display:grid}.form-group{flex-direction:column;gap:8px;min-width:0;display:flex}.form-group label{font-size:.86rem;font-weight:700}.form-group input,.form-group textarea{border-radius:var(--radius-sm);background:var(--bg-card);width:100%;min-width:0;color:var(--text-primary);border:1px solid #d9d5d0;outline:none;padding:13px 14px;font-size:.9rem;transition:border-color .16s,box-shadow .16s}.form-group input:focus,.form-group textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #7859431f}.form-group textarea{resize:vertical;min-height:120px}.field-error{min-height:18px;color:var(--error);font-size:.82rem}.form-actions .btn{flex:1}.error{border-radius:var(--radius-sm);color:var(--error);overflow-wrap:anywhere;background:#fff1f0;border:1px solid #f0b5b0;margin-bottom:22px;padding:16px}.error p{margin:6px 0 0}.success-dialog{border:1px solid var(--border);background:var(--bg-card);width:min(420px,100% - 32px);max-width:none;color:var(--text-primary);border-radius:20px;padding:30px;position:fixed;box-shadow:0 24px 80px #1c19172e}.success-dialog::backdrop{backdrop-filter:blur(3px);background:#1c191773}.success-close{background:var(--bg-soft);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border:0;border-radius:50%;margin:-12px -12px 8px auto;padding:0;font-size:1.5rem;line-height:1;display:block}.success-close:hover{background:var(--border)}.success-content{text-align:center;flex-direction:column;align-items:center;display:flex}.success-icon{background:var(--bg-soft);width:60px;height:60px;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:18px;font-size:2rem;font-weight:700;display:grid}.success-content h2{margin:0 0 10px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.success-content p{color:var(--text-secondary);margin:0 0 24px;font-size:.93rem;line-height:1.6}.success-confirm{width:100%}.success-dialog:not([open]){display:none}.host-profile{justify-content:space-between;align-items:center;gap:10px;margin:0 0 18px;display:flex}.host-avatar{color:#f9f3e9;letter-spacing:.04em;background:#785943;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:grid}.host-name{color:var(--brand);margin-right:auto;font-size:.9rem;font-weight:650}.portfolio-back-link{color:#654b37;white-space:nowrap;background:#f5ebdd;border:1px solid #c7ae91;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:.82rem;font-weight:650;text-decoration:none;transition:background .16s,border-color .16s;display:inline-flex}.portfolio-back-link:hover{background:#ebd8c1;border-color:#a98a69}.portfolio-back-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.portfolio-back-link svg{width:17px;height:17px}@media (width<=968px){body{padding:24px var(--page-gutter)}.page-layout{grid-template-columns:minmax(0,1fr);gap:24px}.sidebar{max-height:none;position:static;overflow:visible}.intro-card{-moz-column-gap:24px;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);align-items:start;column-gap:24px;display:grid}.intro-card .eyebrow,.intro-card h1,.intro-card>p{grid-column:1}.intro-image{grid-area:1/2/span 3}.intro-card .image-caption{grid-column:2}.summary-card{padding:20px}.summary-row{grid-template-columns:minmax(90px,.6fr) minmax(0,1fr);align-items:center;gap:12px;display:grid}.summary-value{text-align:right}.session-grid{grid-auto-columns:calc(50% - 6px)}.scheduler-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}@media (width<=600px){body{padding:14px 12px}.intro-card{display:block}.intro-card h1{font-size:2.1rem}.intro-image{aspect-ratio:16/9}.main-panel{border-radius:16px;padding:22px 16px}.session-grid{grid-auto-columns:100%}.session-card{padding:15px}.session-duration{font-size:.7rem}.scheduler-grid{grid-template-columns:minmax(0,1fr)}.calendar-card,.times-card{padding:14px}.calendar-grid{gap:4px}.day{min-height:38px}.times-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.step-actions,.form-actions{flex-direction:column}.step-actions .btn,.form-actions .btn{width:100%}.success-dialog{padding:24px}}
