:root{color:#1b1916;background:#f6f4ef;font-family:"Source Sans 3",Segoe UI,sans-serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:560;letter-spacing:-.02em;line-height:1.05}h1{font-size:clamp(2.6rem,6vw,4.6rem);margin:0 0 .4em}h2{font-size:2rem;margin:0 0 .4em}p{margin:0 0 .8em}.school,.platform{background:var(--paper, #f6f4ef);color:var(--ink, #1b1916);min-height:100vh}.utility,.mast,.hero,.band,.sheet,.colophon{width:min(1120px,calc(100% - 40px));margin:0 auto}.utility{display:flex;justify-content:space-between;padding:14px 0 0;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase}.mast{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 0 22px;border-bottom:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.wordmark{font-family:Newsreader,Georgia,serif;font-size:1.7rem;text-decoration:none;display:flex;align-items:center;gap:10px}.wordmark img{width:36px;height:36px}.mast nav,.footer-links{display:flex;gap:22px;align-items:center}.mast nav a{text-decoration:none}.nav-cta,.button{background:var(--accent, #6d542c);color:#fffaf3;text-decoration:none;border:0;border-radius:999px;padding:12px 18px;cursor:pointer}.hero{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;padding:64px 0 36px}.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;margin-bottom:12px;color:var(--accent, #6d542c)}.lede{font-size:1.2rem;max-width:38rem}.place-list{list-style:none;padding:0;margin:0;display:grid;gap:16px}.place-list a{text-decoration:none;display:grid}.place-list em{font-style:normal;color:color-mix(in srgb,var(--ink) 70%,transparent)}.aside-label{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.band{padding:28px 0 56px}.band-head{max-width:36rem;margin-bottom:22px}.programs{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.programs li{border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent);padding-top:14px}.programs span{font-family:Newsreader,Georgia,serif;font-size:1.4rem;color:var(--accent)}.schedule{display:grid;grid-template-columns:1fr;gap:28px;max-width:760px}.schedule ul,.plain{list-style:none;padding:0}.schedule li{display:grid;grid-template-columns:12.5rem 8rem minmax(0,1fr);column-gap:16px;row-gap:0;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent);align-items:baseline}.schedule time{grid-column:1;grid-row:auto;font-variant-numeric:tabular-nums;white-space:nowrap}.schedule strong{grid-column:2}.schedule li span{grid-column:3;color:#6b645c}.quiet{background:color-mix(in srgb,var(--accent) 8%,var(--paper));width:100%;max-width:none;padding:48px max(20px,calc((100% - 1120px)/2))}.colophon{display:grid;gap:8px;padding:28px 0 48px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}.fine{font-size:.9rem}.sheet{padding:48px 0 72px}.narrow{max-width:720px}.stack,.login-card{display:grid;gap:12px}label{display:grid;gap:6px;font-size:.95rem}input,select,textarea{background:#fff;border:1px solid color-mix(in srgb,var(--ink) 25%,transparent);border-radius:8px;padding:10px 12px}.check{display:flex;gap:10px;align-items:flex-start}.location-grid,.directory{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.location-card,.website-card,.org-card,.login-card{background:#fff;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:16px;padding:22px}.location-card{display:grid;gap:8px;justify-items:start}.login{min-height:100vh;display:grid;place-items:center;background:var(--paper, #f6f4ef)}.login-card{width:min(420px,calc(100% - 32px))}.error{color:#8d1d18}.success{color:#1d5c32}.disconnected{width:min(720px,calc(100% - 40px));margin:12vh auto}.office{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:#f7f6f3;color:#1c1916}.office aside{background:var(--ink, #1c1916);color:#f6f3ec;padding:22px 16px;display:flex;flex-direction:column;gap:8px}.office aside a{color:inherit;text-decoration:none;display:block;padding:8px 10px;border-radius:8px}.office aside a.active{background:color-mix(in srgb,var(--accent, #c8a15a) 80%,white);color:#1c1916}.office aside .password-change{display:grid;gap:8px;margin-top:12px}.office aside .password-change input,.office aside .password-change button{width:100%}.office main{padding:32px}.office-brand{font-family:Newsreader,Georgia,serif;font-size:1.4rem;margin:0}.office-person,.who{opacity:.8;font-size:.92rem}.text-button{margin-top:auto;background:transparent;color:inherit;border:0;text-align:left;cursor:pointer}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.inline-form input,.inline-form select{min-width:10rem}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid #e6e1d8;vertical-align:top}.note{background:#fff;border-left:3px solid var(--accent, #6d542c);padding:10px 12px}.class-card{margin:0 0 22px}.class-card h3{margin:0 0 4px}.class-card p{margin:0 0 8px}.roster{list-style:none;padding:0;margin:0}.family-list{display:flex;flex-direction:column;gap:12px;max-width:640px}.family-card{background:#fff;border:1px solid #e4e0d8;border-radius:12px;padding:16px 18px}.family-card h2{margin:0;font-size:1.35rem}.family-card p{margin:2px 0 8px;color:#6b645c}.family-card select{display:block;width:100%;margin:8px 0 12px}.facts{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.facts label{display:flex;align-items:center;gap:6px}ul.sheet{list-style:none;padding:0;margin:0 0 18px;max-width:520px}ul.sheet li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e4e0d8}ul.sheet em{display:block;font-style:normal;color:#6b645c}ul.sheet form{display:flex;gap:8px}ul.sheet input{width:72px}.stack input,.stack select,.stack textarea{width:100%}.gear-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gear-actions input{width:64px}.office main button{background:#fff;border:1px solid #cfc8be;border-radius:999px;padding:6px 12px;cursor:pointer}.office main button:disabled{background:#efeae2;color:#6b645c;cursor:default}.office td:first-child{white-space:nowrap}.roster li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #e4e0d8}.roster em{display:block;font-style:normal;color:#6b645c;font-size:.9rem}.promote{margin:8px 0 22px}.promote p{margin-bottom:8px}.roster button{background:#fff;border:1px solid #cfc8be;border-radius:999px;padding:6px 12px;cursor:pointer}.roster button:disabled{background:#efeae2;color:#6b645c;cursor:default}.points{list-style:none;padding:0;display:grid;gap:18px}.points li{display:grid;gap:4px;border-top:1px solid #ddd6c8;padding-top:12px}.org-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:0 0 28px}.org-card h2,.website-card h2{margin:0 0 4px;font-size:1.45rem}.org-card .owner,.website-card header p{margin:0 0 10px;color:#6b645c}.org-card ul,.website-card ul{list-style:none;padding:0;margin:8px 0 12px}.org-card li,.website-card li{display:block;padding:8px 0;border-bottom:1px solid #e4e0d8}.org-card li span{display:block;color:#6b645c}.button.ghost{background:transparent;color:var(--ink, #1b1916);border:1px solid color-mix(in srgb,var(--ink, #1b1916) 22%,transparent);width:auto;padding:8px 14px}.sheet form.stack{display:grid;gap:12px}.sheet form.account{max-width:360px;margin-top:28px}.sheet form.stack .button{width:fit-content}.sheet form.scope-form{display:grid;justify-items:start}.scope-form .button{width:auto}.loc-group{margin:10px 0}.check.nested{margin-left:18px}.scope-form{display:grid;gap:10px}.address-list{padding-left:18px}.reply{font-size:1.15rem}.sheet .schedule li{display:grid;grid-template-columns:12.5rem 8rem minmax(0,1fr);column-gap:16px;row-gap:0;justify-content:start;align-items:baseline}.sheet .schedule time{grid-column:1;grid-row:auto;white-space:nowrap}.sheet .schedule strong{grid-column:2;grid-row:auto}.sheet .schedule li span{grid-column:3;grid-row:auto;color:#6b645c;display:block}@media(max-width:800px){.hero,.programs,.schedule,.split,.office,.sheet .schedule li{grid-template-columns:1fr}.sheet .schedule time,.sheet .schedule strong,.sheet .schedule li span{grid-column:1;grid-row:auto;white-space:normal}.mast{align-items:flex-start;flex-direction:column}.office aside{position:sticky;top:0}}
