:root{--color-navy:#8b2a28;--color-navy-light:#b23e3b;--color-steel:#4b4b4b;--color-gunmetal:#272e34;--color-link:#32385f;--color-brass:#eeb245;--color-green:#2e6f40;--color-green-light:#38844e;--color-brass-light:#efc576;--color-brass-dark:#8a7857;--color-crimson:#b90000;--color-paper:#f6f3ec;--color-ink:#1a1a1a;--color-hairline:#d8d2c4;--color-hairline-dark:#5c1e1c;--color-offwhite:#fdfdfd;--focus-ring-color:color-mix(in srgb, var(--color-navy) 55%, transparent);--focus-ring:0 0 0 2px var(--focus-ring-color);--color-footer-bg:var(--color-navy);--color-footer-heading:var(--color-brass-light);--color-footer-text:#e4d9c9;--color-footer-text-hover:var(--color-brass-light);--color-footer-muted:#c9b9a8;--color-footer-subtle:#a68f7b;--color-footer-mark:var(--color-paper);--color-footer-border:var(--color-hairline-dark);--font-display:"Science Gothic", Georgia, serif;--font-body:"Archivo", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"Sarpanch", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-ink);background:var(--color-paper);line-height:1.5}h1,h2,h3{font-family:var(--font-display);margin:0;line-height:1.15}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}.eyebrow{color:var(--color-brass-dark);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.75rem}:focus-visible{outline:3px solid var(--color-navy);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.flex-group{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:.75rem;min-height:3em;display:flex}.margin-b-sm{margin-bottom:1rem}@media (width<=600px){.flex-group{flex-direction:column;align-items:flex-start;min-height:0}.flex-group .btn{align-self:flex-start}}.btn{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:.5em;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-brass);color:var(--color-ink);border-color:var(--color-brass)}.btn--primary:hover:not(:disabled){background:var(--color-brass-light)}.btn--secondary{background:var(--color-navy);color:var(--color-paper);border-color:var(--color-navy)}.btn--secondary:hover:not(:disabled){background:var(--color-navy-light)}.btn--outline{color:var(--color-navy);border-color:var(--color-navy);background:0 0}.btn--outline:hover:not(:disabled){background:var(--color-navy);color:var(--color-paper)}.btn-outline-create{color:var(--color-green);border-color:var(--color-green);background:0 0}.btn-outline-create:hover:not(:disabled){background:var(--color-green);border-color:var(--color-green);color:var(--color-paper)}.btn--dark{color:var(--color-gunmetal);border-color:var(--color-gunmetal);background:0 0}.btn--dark:hover:not(:disabled){background:var(--color-gunmetal);color:var(--color-paper)}.btn--create{background:var(--color-green);color:var(--color-paper);border-color:var(--color-green)}.btn--create:hover:not(:disabled){background:var(--color-green-light)}.btn--danger{background:var(--color-crimson);color:#fff;border-color:var(--color-crimson)}.btn--danger:hover:not(:disabled){background:#950000}.btn--sm{box-sizing:border-box;height:40px;padding:2px 1.1rem 0;font-size:.85rem;font-weight:500;line-height:16px}.btn--sm:has(>svg:first-child){padding-left:calc(1.1rem - 3px)}.btn--sm svg{flex-shrink:0;translate:0 -1px}.btn--lg{padding:1.05rem 2.25rem;font-size:1.05rem}.btn--block{width:100%;display:flex}.btn--white{color:var(--color-offwhite);border-color:var(--color-offwhite)}.btn--white:hover:not(:disabled){background:#ffffff1a}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=hidden]),select,textarea):is(:focus,:focus-visible){box-shadow:var(--focus-ring);outline:none}.datepicker-trigger:focus{outline:none}.datepicker-trigger:focus-visible{box-shadow:var(--focus-ring)}:where(input,textarea)[readonly]:is(:focus,:focus-visible){box-shadow:none}.input{width:100%;font-family:var(--font-body);border:1px solid var(--color-hairline);color:var(--color-ink);background:#fff;border-radius:2px;padding:.75rem .9rem;font-size:.95rem;transition:border-color .15s;display:block}.input:focus{border-color:var(--focus-ring-color)}.input-rounded{width:100%;min-width:0;font-family:var(--font-body);border:1px solid var(--color-hairline);color:var(--color-ink);background:#fff;border-radius:.5em;flex:1;padding:.7rem 1.1rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s;display:block}.input-rounded::placeholder{color:#9a9a9a}.input-rounded:focus{border-color:var(--focus-ring-color)}.height{height:auto}.label{color:var(--color-ink);opacity:.75;margin-bottom:.1rem;font-size:.8rem;font-weight:500;display:block}.badge{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:2px;padding:.25rem .6rem;font-size:.7rem;display:inline-block}.badge--success{color:#2e5e2e;background:#e3efe3}.badge--warning{color:#8a5a15;background:#f5e9d3}.badge--danger{color:var(--color-crimson);background:#f6dfdd}.badge--neutral{background:var(--color-hairline);color:var(--color-ink)}.card{border-radius:.5rem;box-shadow:0 0 10px #1e21261a}.instructor-badge{color:var(--color-navy);background:#efebe1;border-radius:999px;align-items:center;gap:.35rem;width:fit-content;margin-top:.75rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.instructor-badge:hover{background:#e2dcc8}.detail-table{border-collapse:collapse;max-width:100%;color:var(--color-steel)}.detail-table th,.detail-table td{text-align:left;vertical-align:top;padding:.45rem 1.5rem .45rem 0;font-size:.85rem}.detail-table tr+tr th,.detail-table tr+tr td{border-top:1px solid color-mix(in srgb, var(--color-hairline) 60%, transparent)}.detail-table th{white-space:nowrap;font-weight:500}.detail-table td{overflow-wrap:anywhere}.back-link{color:var(--color-steel);align-items:center;gap:.35rem;font-size:.9rem;text-decoration:none;display:inline-flex}.back-link svg{flex-shrink:0}.detail-page .detail-row dt,.detail-page .edit-grid label,.detail-page .edit-label,.detail-page .caption{color:var(--color-steel);opacity:.7;font-size:.8rem;font-weight:500}.detail-page .title-row{flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;display:flex}.detail-page .name-badge{color:var(--color-link);background:#efebe1;border-radius:999px;align-items:center;gap:.35rem;width:fit-content;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.detail-page a.name-badge:hover{background:#e2dcc8}.detail-page .name-badge--plain{color:var(--color-steel)}.detail-page .title-row .name-badge{margin-top:.5rem;margin-left:.5rem}.detail-page .badge-row{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.75rem;display:flex}.detail-page .badge-item{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.detail-page .badge-item .caption{padding-left:.75rem}.detail-page .badge-item>.info-box{margin-top:0}.detail-page .panel{background-color:#eeece4;border-radius:10px}.detail-page .detail-row{flex-wrap:wrap;gap:.6rem 2rem;max-width:100%;margin:0;display:flex}.detail-page .detail-row dt{margin-bottom:.15rem}.detail-page .detail-row dd{margin:0;font-size:.95rem}.detail-page .info-box{width:fit-content;margin-top:.75rem;padding:.75rem 1.25rem}.detail-page .address-plain{margin-top:.75rem}.detail-page .capitalize{text-transform:capitalize}.detail-page .contact-row{color:var(--color-steel);gap:.25rem .75rem;margin-top:.5rem;margin-left:-.4rem}.detail-page .contact-row dd{position:relative}.detail-page .copy-value{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .4rem;transition:background-color .12s}.detail-page .copy-value:hover,.detail-page .copy-value:focus-visible{background:color-mix(in srgb, var(--color-navy) 10%, transparent)}.detail-page .copy-value:focus-visible{outline:2px solid color-mix(in srgb, var(--color-brass-dark) 45%, transparent)}.detail-page .copied{z-index:5;white-space:nowrap;color:var(--color-steel);pointer-events:none;background:#ffffffd9;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;animation:1.5s forwards copied-fade;position:absolute;top:calc(100% + .2rem);left:.4rem;box-shadow:0 2px 8px #1e21261f}@keyframes copied-fade{0%{opacity:0;translate:0 -2px}12%{opacity:1;translate:0}75%{opacity:1}to{opacity:0}}.detail-page .copy-empty{padding:0 .4rem}.detail-page .icon-action{width:34px;height:34px;color:var(--color-navy);background:color-mix(in srgb, var(--color-navy) 7%, transparent);border:1px solid color-mix(in srgb, var(--color-navy) 22%, transparent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background-color .12s,color .12s;display:inline-flex}.detail-page .icon-action:hover{color:var(--color-offwhite);background:var(--color-navy);border-color:var(--color-navy)}.detail-page .icon-action--danger{color:var(--color-crimson);background:color-mix(in srgb, var(--color-crimson) 7%, transparent);border-color:color-mix(in srgb, var(--color-crimson) 25%, transparent);margin-left:auto}.detail-page .icon-action--danger:hover:not(:disabled){color:#fff;background:var(--color-crimson);border-color:var(--color-crimson)}.detail-page .icon-action--danger:disabled{opacity:.45;cursor:not-allowed}.detail-page .view-head,.detail-page .edit-form.panel{max-width:760px;position:relative}.detail-page .edit-form.panel{margin-top:.5rem;padding:1.25rem 1.5rem 1.5rem}.detail-page .edit-delete,.detail-page .edit-corner{position:absolute;top:0;left:calc(100% + .75rem)}.detail-page .edit-corner{top:.5rem}@media (width<=1100px){.detail-page .edit-delete{top:.75rem;left:auto;right:.75rem}.detail-page .edit-corner{top:.5rem;left:auto;right:0}}.detail-page .edit-top{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.5rem 2.5rem;display:grid}.detail-page .edit-section{border:0;min-width:0;margin:0;padding:0}.detail-page .edit-section+.edit-section,.detail-page .edit-top+.edit-section{margin-top:1.25rem}.detail-page .edit-top .edit-section+.edit-section{margin-top:0}.detail-page .edit-section legend{letter-spacing:.06em;text-transform:uppercase;color:var(--color-brass-dark);margin-bottom:.6rem;padding:0;font-size:.75rem;font-weight:600}.detail-page .legend-number{text-transform:none;letter-spacing:0}.detail-page .edit-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:.65rem .75rem;display:grid}.detail-page .span-12{grid-column:span 12}.detail-page .span-7{grid-column:span 7}.detail-page .span-6{grid-column:span 6}.detail-page .span-5{grid-column:span 5}.detail-page .span-3{grid-column:span 3}.detail-page .span-2{grid-column:span 2}.detail-page .edit-grid>div,.detail-page .edit-dates>div{flex-direction:column;gap:.15rem;min-width:0;display:flex}.detail-page .edit-grid>.edit-dates{flex-direction:row;gap:.75rem}.detail-page .edit-form .input-rounded,.detail-page .edit-form .datepicker-trigger{box-sizing:border-box;border:1px solid var(--color-hairline);background:#fffefc;flex:none;width:100%;height:2.4rem;padding:0 .7rem;font-size:.95rem}.detail-page .edit-form .datepicker-trigger{width:auto}.detail-page .edit-form .input-rounded:focus{border-color:var(--focus-ring-color)}.detail-page .edit-form .input-rounded[readonly]{color:var(--color-steel);cursor:default;box-shadow:none;background:0 0;border-color:#0000}.detail-page .edit-actions{gap:.75rem;margin-top:1.25rem;display:flex}.detail-page .edit-form .edit-actions{justify-content:flex-end}@media (width<=760px){.detail-page .edit-top{grid-template-columns:1fr}.detail-page .edit-top .edit-section+.edit-section{margin-top:.25rem}.detail-page .edit-grid .span-7,.detail-page .edit-grid .span-6,.detail-page .edit-grid .span-5{grid-column:span 12}.detail-page .edit-grid .span-2{grid-column:span 5}.detail-page .edit-grid .span-3{grid-column:span 7}.detail-page .edit-form.panel{padding:1rem}}.detail-page .form-error{color:var(--color-crimson);margin-top:1rem}.detail-page .form-success{color:#27633c;margin-top:1rem}.social-edit.svelte-i7r9a9{display:inline-flex}.editor.svelte-i7r9a9{text-align:left;width:min(36rem,92vw);color:var(--color-ink);background:linear-gradient(180deg, color-mix(in srgb, var(--color-paper) 72%, white) 0%, #fff 100%);border:1px solid color-mix(in srgb, var(--color-brass) 45%, var(--color-hairline));border-radius:1rem;padding:1rem;box-shadow:0 10px 24px #1e21262e}.editor__eyebrow.svelte-i7r9a9{color:var(--color-brass-dark);margin-bottom:.45rem;display:inline-block}.editor__title.svelte-i7r9a9{font-family:var(--font-display);margin-bottom:.75rem;font-size:1.05rem;display:block}.row.svelte-i7r9a9{grid-template-columns:9rem 1fr auto;align-items:center;gap:.5rem;margin-bottom:.5rem;display:grid}.row.svelte-i7r9a9 .input-rounded{box-sizing:border-box;width:100%}.editor__actions.svelte-i7r9a9{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.editor.svelte-i7r9a9 .btn:disabled{opacity:.5;cursor:default}.edit.svelte-i7r9a9{width:30px;height:30px;color:var(--color-navy);background:color-mix(in srgb, var(--color-navy) 7%, transparent);border:1px solid color-mix(in srgb, var(--color-navy) 22%, transparent);border-radius:8px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background-color .12s,color .12s,box-shadow .12s;display:inline-flex}.edit.svelte-i7r9a9:hover:not(:disabled){color:var(--color-offwhite);background:var(--color-navy);border-color:var(--color-navy);box-shadow:0 2px 5px color-mix(in srgb, var(--color-navy) 18%, transparent)}.edit.svelte-i7r9a9:focus-visible{outline:2px solid var(--color-navy);outline-offset:3px}.delete.svelte-i7r9a9{color:var(--color-crimson)}.social-edit__btn.svelte-i7r9a9{color:#fff;background:#ffffff24;border-color:#ffffffa6}.social-edit__btn.svelte-i7r9a9:hover:not(:disabled){color:#182332;background:#fff;border-color:#fff;box-shadow:0 2px 5px #00000040}.social-edit__btn.svelte-i7r9a9:focus-visible{outline-color:#fff}@media (prefers-reduced-motion:reduce){.edit.svelte-i7r9a9{transition:none}}[role=alert].svelte-i7r9a9{color:#a12622;margin:.75rem 0 0;font-size:.85rem}@media (width<=560px){.row.svelte-i7r9a9{grid-template-columns:1fr auto}.row.svelte-i7r9a9 select:where(.svelte-i7r9a9){grid-column:1/-1}}.footer.svelte-jz8lnl{background:var(--color-footer-bg);color:var(--color-footer-text)}.footer__inner.svelte-jz8lnl{grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;max-width:1200px;margin:0 auto;padding:2rem 1.5rem 1rem;display:grid}.footer__col.svelte-jz8lnl{flex-direction:column;gap:.65rem;display:flex}.footer__col.svelte-jz8lnl a:where(.svelte-jz8lnl){color:var(--color-footer-text);font-size:.9rem;text-decoration:none}.footer__col.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--color-footer-text-hover)}.footer__mark.svelte-jz8lnl{object-fit:cover;width:6rem;height:6rem;margin:0;padding:0;display:block}.footer__blurb.svelte-jz8lnl{max-width:32ch;color:var(--color-footer-muted);font-size:.85rem;line-height:1.6}.footer__address.svelte-jz8lnl{color:var(--color-footer-muted);font-size:.85rem;line-height:1.6}.footer__heading.svelte-jz8lnl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-footer-heading);margin-bottom:.3rem;font-size:.7rem}.footer__bottom.svelte-jz8lnl{border-top:1px solid var(--color-footer-border);text-align:center;color:var(--color-footer-text);padding:1.25rem 1.5rem;font-size:.8rem}.footer__social.svelte-jz8lnl{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.footer__social.svelte-jz8lnl a:where(.svelte-jz8lnl){color:var(--color-footer-text);border-radius:50%;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.footer__social.svelte-jz8lnl a:where(.svelte-jz8lnl):hover{color:var(--color-footer-text-hover);border-color:currentColor}.footer__social.svelte-jz8lnl a:where(.svelte-jz8lnl):focus-visible{outline:2px solid var(--color-footer-text-hover);outline-offset:3px}@media (hover:hover) and (pointer:fine){.footer__col--social.svelte-jz8lnl .social-edit__btn{opacity:0;pointer-events:none}.footer__col--social.svelte-jz8lnl:hover .social-edit__btn,.footer__col--social.svelte-jz8lnl .social-edit__btn:focus-visible{opacity:1;pointer-events:auto}}@media (width<=900px){.footer__inner.svelte-jz8lnl{grid-template-columns:1fr 1fr 1fr}.footer__col--about.svelte-jz8lnl{grid-column:1/-1}}@media (width<=560px){.footer__inner.svelte-jz8lnl{grid-template-columns:1fr 1fr}}.site.svelte-12qhfyh{flex-direction:column;min-height:100vh;display:flex}main.svelte-12qhfyh{flex:1}.nav.svelte-12qhfyh{background:var(--color-navy);border-bottom:1px solid var(--color-hairline-dark);z-index:50;position:sticky;top:0}.nav__mark-logo.svelte-12qhfyh{width:auto;height:3.5rem;aspect-ratio:square;object-fit:cover;display:block}.nav__inner.svelte-12qhfyh{justify-content:space-between;align-items:center;max-width:1200px;height:72px;margin:0 auto;padding:0 1.5rem;display:flex}.nav__mark.svelte-12qhfyh{color:#f6f3ec;flex-direction:column;gap:4px;text-decoration:none;display:flex}.nav__links.svelte-12qhfyh{align-items:center;gap:2.25rem;display:flex}.nav__link.svelte-12qhfyh{color:#e3e3e3;border-bottom:2px solid #0000;padding:.5rem 0;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s}.nav__link.svelte-12qhfyh:hover{color:#fff;border-color:var(--color-brass)}.nav__dropdown.svelte-12qhfyh{align-items:center;display:flex;position:relative}.nav__link--parent.svelte-12qhfyh:after{content:" ▾";margin-left:.5em;font-size:.9rem}.nav__submenu.svelte-12qhfyh{background:var(--color-navy);z-index:60;border-radius:6px;flex-direction:column;min-width:180px;padding:.35rem 0;display:none;position:absolute;top:100%;left:0}.nav__dropdown.svelte-12qhfyh:hover .nav__submenu:where(.svelte-12qhfyh),.nav__dropdown.svelte-12qhfyh:focus-within .nav__submenu:where(.svelte-12qhfyh){display:flex}.nav__dropdown--dismissed.svelte-12qhfyh .nav__submenu:where(.svelte-12qhfyh){display:none}.nav__sublink.svelte-12qhfyh{color:#e3e3e3;white-space:nowrap;padding:.6rem 1rem;font-size:.9rem;text-decoration:none;transition:background-color .15s,color .15s;display:block}.nav__sublink.svelte-12qhfyh:hover{background:var(--color-navy-light);color:#fff}.nav__actions.svelte-12qhfyh{align-items:center;gap:1.25rem;display:flex}.nav__toggle.svelte-12qhfyh{background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:none}.nav__toggle.svelte-12qhfyh span:where(.svelte-12qhfyh){background:#f6f3ec;height:2px;display:block}@media (width<=860px){.nav__links.svelte-12qhfyh{background:var(--color-navy-light);-webkit-overflow-scrolling:touch;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 73px);display:none;position:absolute;top:72px;left:0;right:0;overflow-y:auto}.nav__links--open.svelte-12qhfyh{display:flex}.nav__links.svelte-12qhfyh>:where(.svelte-12qhfyh){flex-shrink:0}.nav__link.svelte-12qhfyh{border:none;padding:1rem 1.5rem;font-size:.98rem;line-height:1.2;transition:background-color .15s,color .15s}.nav__link.svelte-12qhfyh:hover,.nav__link.svelte-12qhfyh:active{color:#fff;background:#00000040}.nav__dropdown.svelte-12qhfyh{border-bottom:2px solid #0000001a;flex-direction:column;align-items:stretch;display:flex}.nav__submenu.svelte-12qhfyh{background:var(--color-navy-light);border:none;border-radius:0;min-width:0;padding:0;display:flex;position:static}.nav__sublink.svelte-12qhfyh{white-space:normal;color:#fff;padding:.7rem 2.5rem;font-size:.86rem;line-height:1.3;transition:background-color .15s,color .15s}.nav__sublink.svelte-12qhfyh:hover,.nav__sublink.svelte-12qhfyh:active{color:#fff;background:#00000040}.nav__dropdown--dismissed.svelte-12qhfyh .nav__submenu:where(.svelte-12qhfyh){display:flex}.nav__link--parent.svelte-12qhfyh:after{content:""}.nav__toggle.svelte-12qhfyh{flex-shrink:0;width:44px;height:44px;padding:8px;display:flex}}@media (width<=860px) and (height<=500px){.nav__inner.svelte-12qhfyh{height:58px}.nav__links.svelte-12qhfyh{max-height:calc(100dvh - 59px);top:58px}.nav__link.svelte-12qhfyh{padding:.5rem 1.25rem;font-size:.78rem}.nav__sublink.svelte-12qhfyh{padding:.35rem 2rem;font-size:.7rem}}@media (width<=480px){.nav__inner.svelte-12qhfyh{gap:.5rem;padding:0 .75rem}.nav__actions.svelte-12qhfyh{gap:.5rem}.nav__actions.svelte-12qhfyh .btn:where(.svelte-12qhfyh){padding:2px .5rem 0;font-size:.75rem}}
