:root{color:#201b18;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f0e8;font-family:Georgia,Times New Roman,serif}*{box-sizing:border-box}body{min-width:20rem;min-height:100vh;margin:0}a{color:inherit}a:focus-visible{outline-offset:.25rem;outline:.2rem solid #9b2f27}button,input{font:inherit}button,.button-link{color:#fff;cursor:pointer;background:#7a2923;border:1px solid #7a2923;justify-content:center;align-items:center;min-height:2.75rem;padding:.7rem 1rem;font-family:system-ui,sans-serif;font-weight:700;text-decoration:none;display:inline-flex}button:focus-visible,input:focus-visible{outline-offset:.2rem;outline:.2rem solid #9b2f27}button:disabled{cursor:wait;opacity:.65}.skip-link{z-index:2;background:#fff;padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.brand-placeholder{background:#65020b;border-bottom:1px solid #b8aa9d;min-height:14rem;display:block;overflow:hidden}.brand-placeholder picture,.brand-placeholder img{width:100%;height:100%;display:block}.brand-placeholder img{object-fit:cover;object-position:right center;min-height:14rem}.app-content{min-width:0}.login-layout{min-height:100vh}.login-panel{max-width:36rem;padding:clamp(2rem,8vw,6rem) clamp(1.25rem,6vw,5rem)}.login-panel h1{margin:0;font-size:clamp(3rem,11vw,6rem);font-weight:500;line-height:.9}.app-header{z-index:10;background:#f5f0e8;border-bottom:1px solid #d8cec2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem 1rem;padding:.65rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.wordmark{font-size:1.25rem;font-weight:700;text-decoration:none}nav{flex-wrap:wrap;gap:.35rem;font-family:system-ui,sans-serif;display:flex}.app-header nav a,.header-logout{color:#7a2923;background:0 0;border:1px solid #0000;min-height:2.75rem;padding:.65rem .85rem;font-weight:700;text-decoration:none}.app-header nav a{align-items:center;display:inline-flex}.app-header nav a[aria-current=page]{color:#fff;background:#7a2923}.header-logout{border-color:#7a2923}.page{max-width:46rem;padding:clamp(2rem,8vw,6rem) clamp(1rem,4vw,3rem)}.events-page{max-width:64rem;padding-top:.8rem}.events-toolbar{justify-content:flex-end;margin-bottom:.6rem;display:flex}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:3rem;display:flex}.title-actions{flex-wrap:wrap;gap:.65rem;display:flex}.calendar-export{justify-items:start;gap:.45rem;font-family:system-ui,sans-serif;display:grid}.calendar-export details{width:min(25rem,100%);font-size:.8rem;line-height:1.4}.calendar-export summary{color:#635a53;cursor:pointer;text-decoration:underline}.calendar-help{gap:.65rem;margin-top:.65rem;display:grid}.calendar-help section{border-bottom:1px solid #d8cec2;padding-bottom:.65rem}.calendar-help h3{margin:0 0 .2rem;font-family:system-ui,sans-serif;font-size:.85rem}.calendar-export .calendar-help p{color:#635a53;margin:0;font-size:.8rem;line-height:1.4}.calendar-export .calendar-help-note{color:#7a2923;font-weight:700}.calendar-export--compact{align-items:center;gap:.5rem;display:flex}.calendar-export--compact button{min-height:2.4rem;padding:.4rem .65rem}.calendar-export--compact details{white-space:nowrap;width:auto;position:relative}.calendar-export--compact .calendar-help{z-index:20;white-space:normal;background:#f5f0e8;border:1px solid #b8aa9d;width:min(25rem,100vw - 2rem);padding:.8rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 .5rem 1.5rem #201b182e}.export-summary-mobile,.calendar-help-header,.calendar-help-download{display:none}.event-list{border-top:1px solid #b8aa9d;display:grid}.event-card{border-bottom:1px solid #b8aa9d;padding:1.5rem 0}.event-card.is-cancelled{background:#f2dfdc;border-left:.3rem solid #8a1711;margin-inline:-.75rem;padding-inline:.75rem}.event-card-status,.agenda-event-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.event-card time,.participants{color:#635a53;font-family:system-ui,sans-serif}.event-card h2{margin:.35rem 0 .75rem;font-size:clamp(1.7rem,5vw,2.5rem);font-weight:500}.stack-form{gap:1.25rem;max-width:42rem;margin-top:2rem;font-family:system-ui,sans-serif;display:grid}.stack-form label:not(.checkbox){gap:.4rem;font-weight:700;display:grid}.stack-form input:not([type=checkbox]),.stack-form textarea{color:#201b18;width:100%;min-height:3rem;font:inherit;background:#fff;border:1px solid #8d8177;border-radius:0;padding:.65rem .75rem}.form-grid{gap:1rem;display:grid}fieldset{border:1px solid #b8aa9d;flex-wrap:wrap;gap:.75rem 1.5rem;padding:1rem;display:flex}legend{padding-inline:.35rem;font-weight:700}.checkbox{align-items:center;gap:.5rem;display:inline-flex}.checkbox input{width:1.25rem;height:1.25rem}.form-actions{align-items:center;gap:1.25rem;display:flex}.form-error{color:#8a1711;font-family:system-ui,sans-serif;font-weight:700}.text-button{min-height:auto;color:inherit;background:0 0;border:0;padding:0;font-weight:400;text-decoration:underline}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.calendar-page{width:100%;max-width:none;padding:.8rem clamp(.65rem,2vw,1.5rem)}.calendar-heading{background:#f5f0e8;border-bottom:1px solid #d8cec2;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.calendar-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem .75rem;display:flex}.calendar-controls{gap:.5rem;display:flex}.calendar-controls button{min-width:2.4rem;min-height:2.4rem;padding:.4rem .65rem}.calendar-subheading{justify-content:flex-end;margin:.6rem 0;display:flex}.month-title{text-transform:capitalize;margin:0;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:500}.calendar-subheading .person-filter{grid-template-columns:auto minmax(8rem,1fr);align-items:center;width:min(100%,18rem);margin:0}.calendar-scroll{width:100%;padding:0}.calendar-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0;height:calc(100dvh - 12.5rem);font-family:system-ui,sans-serif}.calendar-table th{color:#635a53;letter-spacing:.08em;text-align:left;text-transform:uppercase;border-bottom:2px solid #5b5048;padding:.6rem;font-size:.75rem}.calendar-table td{vertical-align:top;border-bottom:1px solid #cfc3b7;border-right:1px solid #cfc3b7;min-width:0;height:16.666%;padding:.35rem;overflow:hidden}.calendar-table td:first-child{border-left:1px solid #cfc3b7}.outside-month{color:#857b73;background:#eee8df}.day-number{place-items:center;width:1.8rem;height:1.8rem;margin-bottom:.35rem;font-weight:700;display:inline-grid}.day-number[aria-current=date]{color:#fff;background:#7a2923;border-radius:50%}.calendar-events{gap:.35rem;display:grid}.calendar-event{background:#fff;border-left:.2rem solid #9b2f27;min-width:0;padding:.4rem .5rem;overflow:hidden}.calendar-event-link{min-width:0;color:inherit;text-decoration:none;display:block}.calendar-event p,.calendar-event h3{margin:0}.calendar-event h3{overflow-wrap:anywhere;margin-block:.1rem;font-family:Georgia,Times New Roman,serif;font-size:.9rem;line-height:1.15}.calendar-event p{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;line-height:1.3;overflow:hidden}.calendar-event-time{color:#7a2923;font-weight:800}.calendar-event.is-cancelled{background:#f2dfdc;border-color:#8a1711}.calendar-event.is-cancelled h3{text-decoration:line-through}.calendar-event strong{color:#8a1711;text-transform:uppercase;font-size:.65rem}.calendar-mobile-agenda{display:none}.agenda-event{border-top:1px solid #cfc3b7;padding:1rem 0}.agenda-event.is-cancelled{background:#f2dfdc;border-left:.3rem solid #8a1711;margin-inline:-.5rem;padding-inline:.5rem}.agenda-event time{color:#635a53;text-transform:capitalize;font-family:system-ui,sans-serif}.agenda-event h3,.agenda-event p{margin:.2rem 0 0}.agenda-event h3{overflow-wrap:anywhere}.detail-page{max-width:64rem}.back-link{margin-bottom:2rem;font-family:system-ui,sans-serif;display:inline-block}.admin-event-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.danger-button{background:#8a1711;border-color:#8a1711}.nuke-button{background:#35100d;border-color:#35100d}.cancellation-confirmation{background:#fff;border:2px solid #8a1711;max-width:42rem;margin-top:1.5rem;padding:1.25rem}.cancellation-confirmation h2{margin:0;font-size:1.5rem;font-weight:500}.cancellation-confirmation .form-actions{margin-top:1rem}.deletion-confirmation{background:#f2dfdc;border:.3rem solid #35100d;max-width:42rem;margin-top:1.5rem;padding:1.25rem}.deletion-confirmation h2{margin:.35rem 0 0;font-size:1.7rem;font-weight:500}.deletion-confirmation .form-actions{margin-top:1rem}.warning-label{color:#8a1711;letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:800}.cancelled-label{color:#fff;letter-spacing:.06em;text-transform:uppercase;background:#8a1711;padding:.35rem .55rem;font-family:system-ui,sans-serif;font-size:.75rem;line-height:1;display:inline-block}.event-details{border-top:1px solid #b8aa9d;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:0;margin:3rem 0;display:grid}.event-details div{border-bottom:1px solid #b8aa9d;padding:1rem 1rem 1rem 0}.event-details dt{color:#635a53;letter-spacing:.08em;text-transform:uppercase;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700}.event-details dd{margin:.35rem 0 0;font-size:1.2rem}.detail-section{margin:2.5rem 0}.detail-section h2{font-size:1.6rem;font-weight:500}.detail-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-top:2rem;display:flex}.people-list{flex-wrap:wrap;gap:.6rem;padding:0;list-style:none;display:flex}.people-list li{background:#fff;border:1px solid #b8aa9d;padding:.55rem .8rem;font-family:system-ui,sans-serif}.people-page{max-width:76rem}.people-admin-list{border-top:1px solid #b8aa9d;gap:0;padding:0;list-style:none;display:grid}.person-row{border-bottom:1px solid #b8aa9d;gap:1rem;padding:1.25rem 0;display:grid}.person-row h2,.person-row p{margin:0}.person-row h2{font-size:1.35rem;font-weight:500}.person-row p{color:#635a53;font-size:.9rem}.invite-form{gap:.65rem;display:grid}.invite-form label{gap:.35rem;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;display:grid}.invite-form input{background:#fff;border:1px solid #8d8177;min-height:2.75rem;padding:.55rem .7rem}.invite-form button{align-self:end}.invite-actions{flex-wrap:wrap;gap:.65rem;display:flex}.account-filter{gap:.4rem;width:min(100%,22rem);margin-bottom:2rem;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;display:grid}.account-filter select{color:#201b18;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #8d8177;padding:.55rem .7rem}.registered-state{align-self:center;font-family:system-ui,sans-serif;font-weight:700;color:#27623a!important}.registered-controls{gap:.65rem;display:grid}.registered-controls label{gap:.35rem;width:min(100%,22rem);font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;display:grid}.registered-controls select{color:#201b18;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #8d8177;padding:.55rem .7rem}.form-success{font-family:system-ui,sans-serif;font-weight:700;color:#27623a!important}.secondary-button{color:#7a2923;background:0 0}.empty-state{border:1px dashed #b8aa9d;margin-top:2rem;padding:2rem}.empty-state h2{margin-top:0;font-weight:500}.registration-page{max-width:42rem;padding:clamp(2rem,8vw,7rem) clamp(1.25rem,8vw,6rem)}.registration-page h1{margin:0;font-size:clamp(3rem,11vw,6rem);font-weight:500;line-height:.9}.password-page{align-content:start;gap:1rem;display:grid}.password-page h1{font-size:clamp(2.75rem,9vw,5rem)}.password-page .stack-form{margin:1rem 0}.person-filter{gap:.4rem;width:min(100%,22rem);margin:0 0 2rem;font-family:system-ui,sans-serif;font-size:.8rem;font-weight:700;display:grid}.person-filter select{color:#201b18;min-height:2.75rem;font:inherit;background:#fff;border:1px solid #8d8177;border-radius:0;padding:.55rem 2.25rem .55rem .7rem}.person-filter select:focus-visible{outline-offset:.2rem;outline:.2rem solid #9b2f27}.page h1{max-width:14ch;margin:0;font-size:clamp(2.4rem,10vw,5.5rem);font-weight:500;line-height:.95}.page p:not(.eyebrow){max-width:42rem;font-family:system-ui,sans-serif;font-size:1.05rem;line-height:1.6}.eyebrow{color:#7a2923;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.75rem;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700}@media (width>=56rem){.login-layout{grid-template-columns:minmax(20rem,42vw) 1fr;display:grid}.form-grid{grid-template-columns:repeat(3,1fr)}.person-row{grid-template-columns:minmax(12rem,1fr) minmax(26rem,2fr);align-items:start}.invite-form{grid-template-columns:minmax(15rem,1fr) auto}.invite-form .form-error,.invite-form .form-success{grid-column:1/-1}.brand-placeholder{border-bottom:0;border-right:1px solid #b8aa9d;min-height:100vh;position:sticky;top:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}@media (width<=55.99rem){.app-header{position:sticky}.calendar-page{padding-top:.65rem}.calendar-heading{align-items:end}.calendar-heading-actions{flex-wrap:nowrap;gap:.5rem}.calendar-export--compact>button{display:none}.calendar-export--compact details>summary{color:#fff;background:#7a2923;border:1px solid #7a2923;place-items:center;min-width:4.5rem;min-height:2.75rem;padding:.45rem .8rem;font-weight:700;text-decoration:none;list-style:none;display:grid}.calendar-export--compact details>summary::-webkit-details-marker{display:none}.calendar-export--compact .export-summary-desktop{display:none}.calendar-export--compact .export-summary-mobile{font-size:1rem;line-height:1;display:inline}.calendar-export--compact .calendar-help-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.calendar-export--compact .calendar-help-close{color:#7a2923;background:0 0;border:1px solid #7a2923;min-height:2.75rem;padding:.45rem .7rem}.calendar-export--compact .calendar-help-close span{margin-left:.2rem;font-size:1.2rem;line-height:1}.calendar-export--compact .calendar-help-download{justify-self:start;margin-bottom:.2rem;display:inline-flex}.calendar-export--compact .calendar-help{top:calc(6.5rem + env(safe-area-inset-top,0px));width:auto;max-height:calc(100dvh - 7.25rem - env(safe-area-inset-top,0px));overscroll-behavior:contain;position:fixed;left:.75rem;right:.75rem;overflow-y:auto}.calendar-subheading{align-items:stretch}.calendar-subheading .person-filter{width:100%}.calendar-scroll{overflow:visible}.calendar-table{min-width:0;height:auto}.calendar-table th{text-align:center;padding:.45rem .1rem}.calendar-table td{height:4.25rem;padding:.2rem}.day-number{width:1.55rem;height:1.55rem;margin:0;font-size:.8rem}.calendar-events{flex-wrap:wrap;gap:.2rem;margin-top:.25rem;display:flex}.calendar-event{background:#9b2f27;border:0;border-radius:50%;width:.55rem;height:.55rem;padding:0}.calendar-event-link{width:100%;height:100%}.calendar-event-link>*{display:none}.calendar-event.is-cancelled{background:#f5f0e8;border:.15rem solid #8a1711;width:.7rem;height:.7rem}.calendar-mobile-agenda{margin-top:2rem;display:block}.calendar-mobile-agenda>h2{text-transform:capitalize;margin-bottom:1rem;font-size:1.4rem;font-weight:500}}
