.office-hours-page{background:var(--color-surface-primary);color:var(--color-text-primary)}.office-hours-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:start;gap:clamp(40px,6vw,112px);padding-top:clamp(64px,7vw,112px);padding-bottom:clamp(96px,12vw,184px);display:grid}.office-hours-title{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(36px,4vw,56px);font-weight:400;line-height:1}.office-hours-lede{max-width:560px;color:var(--color-text-secondary);font-family:var(--font-display);margin-top:24px;font-size:clamp(17px,1.3vw,21px);line-height:1.4}.office-hours-section{border-top:1px solid var(--color-border-default);margin-top:clamp(40px,4vw,56px);padding-top:18px}.office-hours-section-label,.office-hours-when-note{color:var(--color-text-secondary);font-size:14px;font-weight:400;line-height:1.5}.office-hours-when-list{border:1px solid var(--color-border-default);background:var(--color-surface-secondary);border-radius:12px;flex-direction:column;margin-top:16px;list-style:none;display:flex}.office-hours-when-item{justify-content:space-between;align-items:baseline;gap:16px;padding:14px 18px;display:flex}.office-hours-when-item+.office-hours-when-item{border-top:1px solid var(--color-border-default)}.office-hours-when-date{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(20px,1.8vw,24px);line-height:1.2;display:block}.office-hours-when-time{color:var(--color-text-secondary);flex-shrink:0;font-size:15px;line-height:1.4}.office-hours-when-note{margin-top:14px}.office-hours-topic-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 32px;margin-top:16px;display:grid}.office-hours-topic-group-label{font-size:15px;font-weight:500;line-height:1.4}.office-hours-topic-list{flex-direction:column;gap:8px;margin-top:10px;list-style:none;display:flex}.office-hours-topic{color:var(--color-text-primary);padding-left:16px;font-size:15px;line-height:1.4;position:relative}.office-hours-topic:before{background:var(--color-border-strong);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.6em;left:0}.office-hours-section-muted .office-hours-topic-group-label,.office-hours-section-muted .office-hours-topic{color:var(--color-text-secondary)}.office-hours-form{border:1px solid var(--color-border-default);background:var(--color-surface-secondary);border-radius:16px;flex-direction:column;gap:20px;padding:clamp(24px,3vw,36px);display:flex}.office-hours-form-title{font-size:18px;font-weight:500;line-height:1.3}.office-hours-form-note{color:var(--color-text-secondary);font-size:15px;line-height:1.5}.office-hours-field{color:var(--color-text-secondary);flex-direction:column;gap:8px;font-size:14px;line-height:1.4;display:flex}.office-hours-input{border:1px solid var(--color-border-default);background:var(--color-surface-primary);width:100%;color:var(--color-text-primary);font:inherit;border-radius:8px;outline:none;padding:10px 12px;font-size:16px;transition:border-color .15s}.office-hours-textarea{resize:vertical}.office-hours-input:hover{border-color:var(--color-border-strong)}.office-hours-input:focus-visible{border-color:var(--color-border-active);outline:2px solid var(--color-focus-ring);outline-offset:2px}.office-hours-sessions{border:0;grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.office-hours-sessions-legend{color:var(--color-text-secondary);margin-bottom:8px;font-size:14px;line-height:1.4}.office-hours-session{border:1px solid var(--color-border-default);background:var(--color-surface-primary);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;font-size:15px;line-height:1.4;transition:border-color .15s;display:flex}.office-hours-session:hover{border-color:var(--color-border-strong)}.office-hours-session:has(.office-hours-radio:checked){border-color:var(--color-border-active)}.office-hours-radio{accent-color:var(--color-text-primary);margin-top:3px}.office-hours-session-time{color:var(--color-text-secondary);font-size:14px;display:block}.office-hours-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.office-hours-form-error{color:var(--color-text-danger);font-size:14px;line-height:1.4}@media (max-width:1023px){.office-hours-layout{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.office-hours-input,.office-hours-session{transition:none}}
