.contact-panel{border:1px solid var(--color-stone-edge);padding:1.25rem}@media (min-width:640px){.contact-panel{padding:2rem}}.contact-modes{border:1px solid var(--color-stone-edge);background:var(--color-stone-raised);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:3px;padding:3px;display:grid}.contact-mode{text-align:center;overflow-wrap:anywhere;cursor:pointer;min-height:2.75rem;color:var(--color-ink-soft);justify-content:center;align-items:center;padding:.5rem .75rem;font-weight:600;display:flex;position:relative}.contact-mode[data-on]{background:var(--color-ink);color:var(--color-stone)}.contact-mode:has(:focus-visible){outline:2px solid var(--color-ink);outline-offset:2px}.contact-topic{border:1px solid var(--color-stone-edge);color:var(--color-ink-soft);gap:.4rem;margin-bottom:1.25rem;padding:.35rem .75rem;font-size:.85rem;display:inline-flex}.contact-topic strong{color:var(--color-ink);font-weight:650}.contact-field{gap:.35rem;min-width:0;display:grid}.contact-field-label{flex-wrap:wrap;justify-content:space-between;column-gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.contact-field-opt{color:var(--color-ink-soft);font-weight:400}.contact-input{border:1px solid var(--color-stone-field);background:var(--color-white);width:100%;min-width:0;min-height:2.9rem;color:var(--color-ink);padding:.6rem .75rem;font-size:1rem;font-weight:400}.contact-input:focus-visible{outline:2px solid var(--color-ink);outline-offset:0;border-color:var(--color-ink)}.contact-input[aria-invalid]{border-color:var(--color-brick)}textarea.contact-input{resize:vertical}.contact-error{color:var(--color-brick);font-size:.875rem;line-height:1.4}.contact-alert{border:1px solid var(--color-ink);padding:.75rem 1rem;font-size:.95rem}.contact-alert-list{gap:.35rem;margin-top:.6rem;padding-left:1.1rem;list-style:square;display:grid}.contact-alert:focus,.contact-done:focus{outline:none}.contact-more summary{cursor:pointer;text-underline-offset:.25em;font-size:.95rem;text-decoration:underline}.contact-submit{background:var(--color-ink);min-height:3.25rem;color:var(--color-stone);border:1px solid var(--color-ink);cursor:pointer;justify-content:center;align-items:center;padding:0 1.5rem;font-size:1.0625rem;transition:background-color .16s;display:inline-flex}.contact-submit:hover{background:var(--color-ink-soft)}.contact-submit:disabled{cursor:progress}.contact-pane{animation:.18s ease-out contact-in}.contact-pane[hidden]{display:none!important}@keyframes contact-in{0%{opacity:0}to{opacity:1}}.contact-step{gap:.15rem;margin-bottom:1.25rem;display:grid}.contact-pane.grid>.contact-step{margin-bottom:.25rem}.contact-step span{letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-soft);font-size:.8rem}.contact-step strong{color:var(--color-ink);font-size:1.25rem;font-weight:650}.contact-step:focus{outline:none}.contact-step:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}.contact-picker{gap:1.5rem;display:grid}@media (min-width:1024px){.contact-picker{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.75rem}}.contact-picker-wait{min-height:22rem}.contact-month{justify-content:space-between;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;display:flex}.contact-month-btn{border:1px solid var(--color-stone-edge);width:2.75rem;height:2.75rem;color:var(--color-ink);cursor:pointer;background:0 0;place-items:center;display:grid}.contact-month-btn:disabled{color:var(--color-stone-muted);cursor:default}.contact-grid{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin-top:.75rem;display:grid}.contact-weekday{color:var(--color-ink-soft);padding-bottom:.25rem;font-size:.75rem;font-weight:400}.contact-day{min-height:2.75rem;color:var(--color-ink);cursor:pointer;background:0 0;border:1px solid #0000;font-size:.95rem;font-weight:400}.contact-day:not(:disabled):hover{border-color:var(--color-ink)}.contact-day:disabled{color:var(--color-stone-muted);cursor:default}.contact-day[aria-pressed=true]{background:var(--color-ink);color:var(--color-stone);border-color:var(--color-ink)}.contact-times{scroll-margin-bottom:1rem}.contact-times-legend{color:var(--color-ink);margin-bottom:.75rem;font-size:.95rem;font-weight:600}.contact-part+.contact-part{margin-top:.9rem}.contact-part-label{color:var(--color-ink-soft);margin-bottom:.4rem;font-size:.75rem;font-weight:400;display:block}.contact-slots{grid-template-columns:repeat(4,minmax(0,1fr));gap:.375rem;display:grid}.contact-slot{border:1px solid var(--color-stone-edge);background:var(--color-white);min-height:2.75rem;color:var(--color-ink);cursor:pointer;place-items:center;font-size:.9rem;font-weight:400;display:grid;position:relative}.contact-slot:hover{border-color:var(--color-ink)}.contact-slot:has(:checked){background:var(--color-ink);color:var(--color-stone);border-color:var(--color-ink)}.contact-slot:has(:focus-visible){outline:2px solid var(--color-ink);outline-offset:2px}.contact-empty{border:1px dashed var(--color-stone-edge);text-align:center;color:var(--color-ink-soft);padding:1.5rem 1rem;font-size:.9rem;display:block}.contact-actions{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}@media (min-width:640px){.contact-actions{flex-flow:wrap;justify-content:space-between;align-items:center}}.contact-note{color:var(--color-ink-soft);font-size:.875rem;line-height:1.55}.contact-wish{border:1px solid var(--color-stone-edge);background:var(--color-white);color:var(--color-ink);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-weight:600;display:flex}.contact-wish small{color:var(--color-ink-soft);font-size:.75rem;font-weight:400;display:block}.contact-wish button{min-height:2.75rem;color:var(--color-ink);font:inherit;text-underline-offset:.25em;cursor:pointer;background:0 0;border:0;padding:0 .25rem;text-decoration:underline}.contact-honeypot{width:0;height:0;position:absolute;top:0;left:-9999px;overflow:hidden}.contact-next{border-bottom:1px solid var(--color-sage-edge)}.contact-next-step{border-top:1px solid var(--color-sage-edge);grid-template-columns:2.25rem minmax(0,1fr);align-items:baseline;padding:.9rem 0;display:grid}
