.cal{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:start;gap:2rem;display:grid}.cal__bar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.cal__month{font-family:var(--cal-display);color:var(--cal-ink);letter-spacing:.02em;margin:0;font-size:clamp(1.25rem,3vw,1.75rem)}.cal__nav{border:1px solid var(--cal-line);background:var(--cal-surface);width:2.5rem;height:2.5rem;color:var(--cal-ink);cursor:pointer;border-radius:50%;font-size:1.35rem;line-height:1;transition:background .16s,color .16s,border-color .16s}.cal__nav:hover{background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-on-accent)}.cal__dow,.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.cal__dow{font-family:var(--cal-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cal-muted);text-align:center;margin-bottom:.4rem;font-size:.68rem}.cal__cell{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-surface);min-height:4.6rem;font:inherit;color:var(--cal-muted);flex-direction:column;justify-content:flex-start;align-items:center;gap:.15rem;padding:.4rem .25rem;display:flex}.cal__cell b{font-family:var(--cal-sans);color:var(--cal-ink);font-size:.95rem;font-weight:600}.cal__cell--plain{background:0 0;border-color:#0000;min-height:4.6rem}.cal__cell--plain b{color:var(--cal-muted);font-weight:400}.cal__cell--pop{cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s}.cal__cell--pop em{font-style:normal;font-family:var(--cal-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cal-muted);font-size:.6rem}.cal__cell--pop small{font-family:var(--cal-sans);letter-spacing:.03em;color:var(--cal-ink);font-size:.62rem}.cal__cell--pop:not(:disabled):hover{border-color:var(--cal-accent);transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.cal__cell--pop:disabled{cursor:not-allowed;opacity:.55}.cal__cell.is-selected{border-color:var(--cal-accent);box-shadow:0 0 0 2px var(--cal-accent)}.cal__meter{background:var(--cal-line);border-radius:999px;width:78%;height:5px;display:block;overflow:hidden}.cal__meter i{border-radius:inherit;background:var(--cal-ok);height:100%;display:block}.is-filling .cal__meter i{background:var(--cal-warn)}.is-last-few .cal__meter i{background:var(--cal-hot)}.is-sold-out .cal__meter i,.is-past .cal__meter i{background:var(--cal-muted)}.is-last-few small{color:var(--cal-hot);font-weight:600}.is-sold-out small,.is-past small{color:var(--cal-muted)}.cal__key{font-family:var(--cal-sans);letter-spacing:.05em;color:var(--cal-muted);flex-wrap:wrap;gap:.5rem 1.25rem;margin:1.25rem 0 0;padding:0;font-size:.7rem;list-style:none;display:flex}.cal__key li{align-items:center;gap:.4rem;display:flex}.dot{border-radius:50%;width:.6rem;height:.6rem}.dot--open{background:var(--cal-ok)}.dot--filling{background:var(--cal-warn)}.dot--last{background:var(--cal-hot)}.dot--gone{background:var(--cal-muted)}.cal__panel{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-panel,var(--cal-surface));padding:1.75rem;position:sticky;top:1.5rem}.cal__kicker{font-family:var(--cal-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--cal-accent);margin:0 0 .4rem;font-size:.68rem}.cal__panel-title{font-family:var(--cal-display);color:var(--cal-ink);margin:0 0 .75rem;font-size:1.35rem;line-height:1.25}.cal__note{color:var(--cal-muted);margin:0 0 1.25rem;font-size:.85rem}.cal__facts{border-top:1px solid var(--cal-line);margin:0 0 1.5rem;padding:0}.cal__facts>div{border-bottom:1px solid var(--cal-line);justify-content:space-between;gap:1rem;padding:.6rem 0;display:flex}.cal__facts dt{color:var(--cal-muted);font-size:.8rem}.cal__facts dd{font-family:var(--cal-sans);color:var(--cal-ink);text-align:right;margin:0;font-size:.85rem;font-weight:600}.cal__facts .is-due dd{color:var(--cal-accent)}.cal__stepper{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.cal__label{font-family:var(--cal-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cal-muted);font-size:.7rem}.cal__stepper-ctl{align-items:center;gap:.35rem;display:flex}.cal__stepper-ctl button{border:1px solid var(--cal-line);background:var(--cal-surface);width:2.25rem;height:2.25rem;color:var(--cal-ink);cursor:pointer;border-radius:50%;font-size:1.1rem}.cal__stepper-ctl button:hover:not(:disabled){background:var(--cal-accent);border-color:var(--cal-accent);color:var(--cal-on-accent)}.cal__stepper-ctl button:disabled{opacity:.35;cursor:not-allowed}.cal__stepper-ctl output{text-align:center;min-width:2.25rem;font-family:var(--cal-sans);color:var(--cal-ink);font-size:1.05rem;font-weight:600}.cal__field{margin-bottom:.85rem;display:block}.cal__field span{font-family:var(--cal-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--cal-muted);margin-bottom:.3rem;font-size:.68rem;display:block}.cal__field input{border:1px solid var(--cal-line);border-radius:var(--cal-radius,4px);background:var(--cal-surface);width:100%;color:var(--cal-ink);font:inherit;padding:.65rem .8rem;font-size:.9rem}.cal__field input:focus-visible{outline:2px solid var(--cal-accent);outline-offset:1px}.cal__cta{border:1px solid var(--cal-accent);border-radius:var(--cal-radius,4px);background:var(--cal-accent);width:100%;color:var(--cal-on-accent);font-family:var(--cal-sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;padding:.9rem 1rem;font-size:.78rem;transition:filter .16s}.cal__cta:hover{filter:brightness(1.12)}.cal__cta--ghost{color:var(--cal-accent);background:0 0}.cal__demo{color:var(--cal-muted);text-align:center;margin:.85rem 0 0;font-size:.7rem;line-height:1.5}.cal__pad{min-height:4.6rem}@media (width<=900px){.cal{grid-template-columns:1fr}.cal__panel{position:static}}@media (width<=560px){.cal__grid,.cal__dow{gap:.25rem}.cal__cell,.cal__pad{min-height:3.9rem}.cal__cell--pop em{display:none}.cal__cell--pop small{font-size:.55rem}.cal__panel{padding:1.25rem}}
