.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:24px 6vw;border-bottom:1px solid var(--line)}.calendar-shell{max-width:980px;margin:auto;padding:48px 6vw 80px}.calendar-shell h1{font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.06;margin:22px 0 30px}.calendar-shell h2{font-size:2rem;line-height:1.1}.calendar-lede{font-size:1.2rem}.calendar-card{background:white;border:1px solid var(--line);padding:30px;margin:30px 0}.calendar-label{display:block;max-width:480px;margin:18px 0;font-weight:600}.calendar-label span{display:block;margin-bottom:8px}.calendar-shell input,.calendar-shell select{display:block;width:100%;padding:12px;margin-top:8px;font:inherit;color:var(--ink);border:1px solid #809b96;background:white}.calendar-shell button,.calendar-actions a{display:inline-block;background:var(--deep);color:white;border:0;padding:12px 18px;font:600 16px/1.4 'DM Sans',sans-serif;cursor:pointer}.calendar-shell button:disabled{background:#e4e8e5;color:#657c78;cursor:default}.calendar-shell button:focus-visible,.calendar-shell a:focus-visible{outline:3px solid var(--aqua);outline-offset:4px}.calendar-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.calendar-slots button[aria-pressed=true]{background:var(--aqua);outline:2px solid var(--deep);outline-offset:2px}.calendar-small{font-size:14px;line-height:1.6}.calendar-actions{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.calendar-shell a:not(.calendar-actions a){text-decoration:underline;text-underline-offset:4px}.calendar-controls{display:grid;grid-template-columns:1fr 1fr;gap:18px}.calendar-controls button{grid-column:1/-1}.appointment-row{border-top:1px solid var(--line);padding:24px 0;overflow-wrap:anywhere}.appointment-row h3{font-size:1.2rem;margin-bottom:12px}.appointment-row button{margin:6px 10px 6px 0}.appointment-row p{margin-bottom:10px}.calendar-shell [hidden]{display:none}@media(max-width:560px){.calendar-header{padding:18px 6vw}.calendar-shell{padding-top:28px}.calendar-card{padding:22px 18px}.calendar-slots{grid-template-columns:repeat(2,1fr)}.calendar-controls{grid-template-columns:1fr}.calendar-shell h1{font-size:2.8rem}}
