.nav-demo{font-size:8px;background:#e6ebd8;padding:3px 5px;border-radius:3px;margin-left:3px}nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.calendar-intro{max-width:1200px;margin:auto;padding:42px 5% 38px;display:flex;justify-content:space-between;align-items:center;gap:30px}.calendar-intro h1{font-size:clamp(42px,5vw,64px);margin-bottom:20px}.calendar-intro>div>p:last-child{font-size:15px;line-height:1.8;color:var(--muted)}.calendar-intro .eyebrow{margin-bottom:17px}.intro-note{background:#edf0e1;border-radius:50% 50% 10px 10px;width:215px;min-height:215px;text-align:center;padding:25px 20px;transform:rotate(3deg)}.intro-note>span{display:block;font-size:55px;color:#8c9c63;margin-bottom:8px}.intro-note strong{font:italic 24px Georgia;display:block;margin-bottom:10px}.intro-note p{font-size:12px!important;margin:0}.experiment{max-width:1080px;margin:0 auto 34px;padding:15px 20px;display:flex;align-items:center;gap:18px;background:#f2e8d7;border:1px solid #e7d5b9;border-radius:6px}.experiment-tag{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#835323;white-space:nowrap}.experiment p{font-size:12px;line-height:1.7;margin:0;color:#705c42}.calendar-shell{max-width:1080px;margin:0 auto 70px}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.week-heading .eyebrow{margin-bottom:6px}.week-heading h2{font-size:28px;letter-spacing:-1px;margin-bottom:8px}.week-heading>p:last-child{font-size:11px;color:var(--muted);margin:0}.week-controls{display:flex;gap:7px}.icon-button,.today-button{border:1px solid #cdd5c3;background:transparent;border-radius:5px;padding:10px 13px;color:var(--ink);cursor:pointer}.icon-button:disabled{opacity:.35;cursor:default}.today-button{font-size:12px}.week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;border-bottom:1px solid var(--line);padding-bottom:25px}.day-button{background:#f1f2e9;border:1px solid transparent;border-radius:7px;padding:15px 8px 12px;color:var(--ink);cursor:pointer;text-align:center}.day-button:hover{border-color:#99ad85}.day-button[aria-pressed=true]{background:var(--ink);color:#fff}.day-name{font-size:10px;letter-spacing:1px;text-transform:uppercase;display:block}.day-number{display:block;font:500 27px Manrope,Arial;margin:7px 0}.day-count{font-size:10px;opacity:.8}.day-button.is-today .day-name::after{content:' ·';font-weight:bold;color:#b3c979}.agenda-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:33px;padding-top:30px}.agenda-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:22px}.agenda-heading .eyebrow{margin-bottom:7px}.agenda-heading h2{font-size:25px;letter-spacing:-1px;margin:0}.course-filter{font-size:10px;color:var(--muted);min-width:0;max-width:215px}.course-filter select{display:block;border:1px solid #cdd5c3;border-radius:4px;background:#fff;padding:9px;font:12px 'DM Sans',Arial;color:var(--ink);width:100%;margin-top:5px}.class-card{border:1px solid #d7dece;background:#fffefa;border-radius:8px;padding:21px;margin-bottom:13px}.class-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.subject-tag{font-size:9px;letter-spacing:.7px;text-transform:uppercase;border-radius:3px;padding:5px 7px;background:#edf0e1;font-weight:700}.class-time{font-size:11px;color:var(--muted);white-space:nowrap}.class-card h3{font:500 22px 'Manrope',Arial;letter-spacing:-.6px;margin-bottom:9px}.class-description{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:16px}.class-meta{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-bottom:18px}.class-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e6e9df;padding-top:15px}.availability{flex:1;max-width:190px;font-size:11px}.availability strong{font-size:12px}.seat-meter{height:4px;margin-top:8px;border-radius:3px;background:#e9eddf;overflow:hidden}.seat-meter span{display:block;height:100%;background:#849c5f}.availability.limited{color:#99602f}.availability.limited .seat-meter span{background:#bb8b52}.reserve-button{padding:11px 16px;background:var(--ink);border:1px solid var(--ink);border-radius:4px;color:white;cursor:pointer;font-size:12px;white-space:nowrap}.reserve-button:hover{background:#305849}.reserve-button:disabled{background:#e9eddf;border-color:#e0e6d7;color:#637168;cursor:default}.reservation-panel{align-self:start;background:#eef0e5;border:1px solid #e0e5d7;border-radius:8px;padding:23px}.panel-top{display:flex;gap:9px;align-items:center;margin-bottom:17px}.panel-top .eyebrow{font-size:8px;margin:0}.tiny-star{font-size:24px}.reservation-panel h2{font-size:23px;letter-spacing:-1px;display:flex;align-items:center;gap:9px;margin-bottom:20px}.reservation-panel h2 span{background:white;min-width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font:12px 'DM Sans'}.empty-reservations{font-size:12px;line-height:1.8;color:var(--muted);padding:16px 0 24px;border-block:1px solid #d7decb}.reservation-item{padding:15px 0;border-top:1px solid #d7decb}.reservation-item strong{font-size:13px;line-height:1.6;display:block;margin-bottom:5px}.reservation-item p{font-size:11px;line-height:1.7;margin-bottom:5px;color:var(--muted)}.cancel-button,.reset-button{background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:5px 0;font-size:10px;cursor:pointer}.how-it-works{margin-top:24px}.how-it-works h3{font:italic 22px Georgia;margin-bottom:16px}.how-it-works p{font-size:11px;display:flex;gap:10px;margin-bottom:13px}.how-it-works p span{font-size:9px;color:#8b986f}.prototype-note,.calendar-footnote{font-size:10px;line-height:1.8;color:var(--muted);margin-top:23px}.reset-button{margin-top:3px;font-size:10px}.empty-day{padding:40px 20px;border:1px dashed #bcc9ad;border-radius:6px;text-align:center}.empty-day h3{font:italic 25px Georgia}.empty-day p{font-size:13px;line-height:1.8;color:var(--muted)}.empty-day button{margin-top:8px}.status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:15;background:var(--ink);color:#fff;padding:14px 20px;border-radius:6px;font-size:12px;max-width:90vw;box-shadow:0 6px 24px #193c3422}.status:empty{display:none}dialog{border:1px solid #d9ded1;border-radius:12px;background:var(--paper);color:var(--ink);max-width:460px;width:calc(100% - 35px);padding:35px}dialog::backdrop{background:#112a2477}dialog h2{font:italic 31px Georgia;letter-spacing:-.5px;line-height:1.2;margin:18px 0}dialog .eyebrow{font-size:9px}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:26px;color:var(--muted);cursor:pointer}.confirmation-mark{width:43px;height:43px;display:grid;place-items:center;background:#e0e9c4;border-radius:50%;font-size:23px}#dialog-copy{font-size:14px;line-height:1.8}.dialog-detail{padding:14px 0;border-block:1px solid var(--line);font-size:12px;line-height:1.9}.dialog-disclaimer{font-size:11px;line-height:1.8;color:var(--muted);margin-top:16px}dialog .button{cursor:pointer;font-size:12px}select:focus-visible{outline:3px solid #b96821;outline-offset:3px}@media(max-width:1150px){.experiment,.calendar-shell{margin-inline:5%}}@media(max-width:800px){.intro-note{display:none}.calendar-intro{padding-top:30px}.calendar-intro h1{font-size:47px}.agenda-layout{grid-template-columns:1fr}.reservation-panel{max-width:none}.week-strip{gap:4px}.day-button{padding:12px 2px}.day-number{font-size:24px}.day-count{font-size:8px}.experiment{align-items:start;flex-direction:column;gap:7px}.agenda-heading{align-items:start}.course-filter{max-width:180px}.class-top{align-items:start}.class-time{font-size:10px}.class-card{padding:17px}.week-heading h2{font-size:23px}.calendar-toolbar{gap:15px}.week-controls{gap:4px}.icon-button,.today-button{padding:8px}.today-button{font-size:10px}.calendar-intro>div>p:last-child{font-size:14px}.calendar-intro .eyebrow{font-size:8px}.class-meta{flex-wrap:wrap;gap:9px}}@media(max-width:420px){.agenda-heading{display:block}.course-filter{display:block;max-width:100%;margin-top:15px}.day-count{font-size:7px}.week-heading h2{font-size:20px}.class-top{display:block}.class-time{display:block;margin-top:9px}.reserve-button{font-size:11px;padding:10px}.availability{font-size:10px}.calendar-toolbar{align-items:end}.week-heading>p:last-child{font-size:9px}}
