:root{--ink:#1f1730;--purple:#421d66;--purple-2:#61328a;--purple-soft:#eee4f5;--gold:#f2c14e;--cream:#fff9eb;--paper:#fffdf8;--green:#2f6954;--line:#ded3e8;--muted:#655b6d;--guide-width:1400px}*{box-sizing:border-box}html{background:var(--purple);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:17px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:50;background:#fff;padding:.7rem 1rem;border-radius:8px}.school-header{color:#fff;background:linear-gradient(120deg,#35164f 0%,#542978 65%,#8e617f 100%);border-bottom:2px solid var(--gold)}.school-identity{width:min(calc(100% - 2rem),var(--guide-width));margin:auto;padding:2.6rem 0 1.6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:3rem;align-items:center}.eyebrow{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:850;color:var(--purple)}.school-header .eyebrow{color:var(--gold)}.school-identity h1{margin:.05em 0;font:800 clamp(2.8rem,6vw,5rem)/.95 Georgia,serif;letter-spacing:-.045em}.school-identity-copy>p:not(.eyebrow){max-width:760px;margin:.8rem 0 0;font-size:1.08rem;color:rgba(255,255,255,.9)}.school-logo{justify-self:end;display:block;width:min(100%,280px);max-height:210px;object-fit:contain;background:#fff;padding:1rem;box-shadow:0 12px 30px rgba(0,0,0,.15)}.school-nav{width:min(calc(100% - 2rem),var(--guide-width));margin:auto;display:flex;overflow-x:auto;border-top:1px solid rgba(255,255,255,.18)}.school-nav a{padding:.9rem 1rem;text-decoration:none;font-weight:800;white-space:nowrap;border-bottom:4px solid transparent}.school-nav a[aria-current="page"]{color:var(--gold);border-color:var(--gold)}main{min-height:60vh}.intro-section,.schedule-section{width:min(calc(100% - 2rem),var(--guide-width));margin:auto}.intro-section{padding:2.7rem 0 1.5rem}.schedule-section{padding:1rem 0 4rem}.page-heading{max-width:860px;margin-bottom:1.8rem}.page-heading h2{margin:.12em 0;font:800 clamp(2.2rem,5vw,3.8rem)/1 Georgia,serif;letter-spacing:-.03em}.page-heading>p:not(.eyebrow){max-width:760px;margin:.8rem 0 0;color:#4f4a53}.compact-heading{margin-bottom:0}.compact-heading h2{font-size:clamp(2rem,4vw,3rem)}.quick-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 2.5rem}.quick-cards-school{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-card{position:relative;min-height:170px;padding:1.35rem;background:#fff;border:1px solid #dfd3bb;border-top:7px solid var(--purple);border-radius:16px;box-shadow:0 10px 28px rgba(66,29,102,.08)}.quick-card-gold{border-top-color:var(--gold);background:#fffaf0}.quick-card-green{border-top-color:var(--green)}.quick-card-kicker{display:block;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:850;color:#775a86}.quick-card strong{display:block;font-size:1.2rem}.quick-card p{margin:.5rem 0 0;color:#5e5962}.section-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1rem 0 1.3rem}.today-button,.period-button,.school-filter-button,.school-view-button{font:inherit;cursor:pointer}.today-button{border:0;border-radius:99px;background:var(--purple);color:#fff;padding:.75rem 1.1rem;font-weight:850}.today-button:focus-visible,.period-button:focus-visible,.school-filter-button:focus-visible,.school-view-button:focus-visible,.school-nav a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.school-controls{display:grid;grid-template-columns:1.4fr 1fr minmax(180px,.7fr);gap:1rem;padding:1.2rem;background:#fff;border:1px solid #dfd3bb;border-radius:16px;box-shadow:0 10px 28px rgba(66,29,102,.06)}.control-block{display:grid;gap:.45rem}.control-label{font-size:.76rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#725d7d}.segmented-control{display:flex;gap:.5rem;flex-wrap:wrap}.school-filter-button,.school-view-button{border:2px solid #d7c9e2;background:#fff;color:var(--ink);border-radius:99px;padding:.68rem .95rem;font-weight:800}.school-filter-button.active,.school-view-button.active{background:var(--purple);border-color:var(--purple);color:#fff}.school-date-control input{min-height:46px;padding:.65rem .8rem;border:2px solid #d7c9e2;border-radius:10px;background:#fff;color:var(--ink);font:inherit}.period-bar{margin:1rem 0 1.3rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;background:#f4edf8;border:1px solid #d8c8e5;border-radius:14px}.period-bar>div{text-align:center}.period-label{display:block;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;font-weight:850;color:#7b6487}.period-title{display:block;margin-top:.15rem;font-size:1.15rem}.period-button{width:44px;height:44px;border:2px solid #cdbbd9;border-radius:50%;background:#fff;color:var(--purple);font-weight:900}.school-lunch{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:center;padding:1.25rem 1.35rem;margin:0 0 1.3rem;background:#fffaf0;border:1px solid #e8d49c;border-left:6px solid var(--gold);border-radius:14px}.lunch-icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#392900;font:900 1.35rem Georgia,serif}.school-lunch .eyebrow{color:#8a6920}.school-lunch h3{margin:.1rem 0;font-size:1.25rem}.school-lunch p:last-child{margin:.35rem 0 0;color:#5d5543}.notice{padding:.9rem 1rem;margin:1rem 0;background:#f5ecd9;border-radius:9px}.notice:empty{display:none}.school-status{border-left:5px solid var(--purple)}.school-agenda{display:grid;gap:1rem}.school-day-card{overflow:hidden;background:#fff;border:1px solid #dfd3bb;border-radius:14px;box-shadow:0 10px 28px rgba(66,29,102,.06)}.school-day-header{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:1rem 1.2rem;background:#fbf7fd;border-bottom:3px solid var(--gold)}.school-day-header h2{margin:0;font:800 1.45rem Georgia,serif}.school-day-count{font-size:.9rem;color:#776c7e}.school-event-list{display:grid}.school-event-card{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:1.15rem 1.2rem;border-bottom:1px solid #ece4ef;border-left:5px solid var(--purple)}.school-event-card:last-child{border-bottom:0}.school-event-time{font-weight:900;color:var(--purple)}.school-event-title{margin:0 0 .3rem;font-size:1.2rem}.school-event-school{display:inline-block;margin-right:.45rem;padding:.18rem .5rem;border-radius:99px;background:#eee4f5;color:#522478;font-size:.75rem;font-weight:850}.school-event-meta,.school-event-description,.school-empty{color:#5f5865}.school-event-meta,.school-event-description{margin:.25rem 0 0}.school-empty{padding:1.5rem;border-left:5px solid #d8c8e5;background:#fff}.school-calendar-shell{overflow-x:auto;background:#fff;border:1px solid #dfd3bb;border-radius:16px;box-shadow:0 10px 28px rgba(66,29,102,.06)}.school-weekdays,.school-calendar-grid{min-width:760px}.school-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:.7rem 0;text-align:center;font-weight:850;color:#6d5c76;background:#f4edf8;border-bottom:2px solid #dbcce5}.school-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.school-calendar-day{min-height:140px;padding:.65rem;border:0;border-right:1px solid #ece4ef;border-bottom:1px solid #ece4ef;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.school-calendar-day.is-outside{opacity:.42}.school-calendar-day.is-today{box-shadow:inset 0 0 0 3px var(--gold);background:#fffaf0}.school-calendar-day.is-selected{box-shadow:inset 0 0 0 3px var(--purple)}.school-calendar-date{font-weight:900;margin-bottom:.45rem}.school-calendar-event{display:block;width:100%;margin:.25rem 0;padding:.35rem .45rem;border-radius:7px;background:#eee4f5;color:#372444;font-size:.78rem;line-height:1.25}.school-calendar-more{margin-top:.3rem;font-size:.75rem;font-weight:800;color:#766a7d}.school-selected-day{margin-top:1rem}footer{background:var(--purple);color:#fff;padding:1rem max(1rem,calc((100% - var(--guide-width))/2));display:flex;align-items:center;justify-content:space-between;gap:1rem}footer p{margin:0}footer a{text-decoration:none;font-weight:700}.theme-toggle{border:1px solid rgba(255,255,255,.35);border-radius:99px;background:rgba(255,255,255,.1);color:#fff;padding:.6rem .9rem;font:inherit;font-weight:800;cursor:pointer}html[data-theme="dark"] body,body.theme-dark{--ink:#f9f5fb;--cream:#17101f;--paper:#24182f;--line:#493754;--muted:#d3c8da;background:#17101f;color:#f9f5fb}html[data-theme="dark"] .intro-section .page-heading>p:not(.eyebrow),body.theme-dark .intro-section .page-heading>p:not(.eyebrow){color:#d3c8da}html[data-theme="dark"] .quick-card,html[data-theme="dark"] .school-controls,html[data-theme="dark"] .school-day-card,html[data-theme="dark"] .school-calendar-shell,body.theme-dark .quick-card,body.theme-dark .school-controls,body.theme-dark .school-day-card,body.theme-dark .school-calendar-shell{background:#24182f;border-color:#493754;color:#f9f5fb}html[data-theme="dark"] .quick-card p,body.theme-dark .quick-card p{color:#d3c8da}html[data-theme="dark"] .quick-card-gold,body.theme-dark .quick-card-gold{background:#2b2130}html[data-theme="dark"] .school-filter-button,html[data-theme="dark"] .school-view-button,html[data-theme="dark"] .school-date-control input,html[data-theme="dark"] .period-button,body.theme-dark .school-filter-button,body.theme-dark .school-view-button,body.theme-dark .school-date-control input,body.theme-dark .period-button{background:#24182f;color:#f9f5fb;border-color:#644e73}html[data-theme="dark"] .school-filter-button.active,html[data-theme="dark"] .school-view-button.active,body.theme-dark .school-filter-button.active,body.theme-dark .school-view-button.active{background:#74469a;border-color:#9b74bb}html[data-theme="dark"] .period-bar,body.theme-dark .period-bar{background:#2b1d37;border-color:#533d62}html[data-theme="dark"] .period-label,html[data-theme="dark"] .control-label,body.theme-dark .period-label,body.theme-dark .control-label{color:#cdbdd6}html[data-theme="dark"] .school-lunch,body.theme-dark .school-lunch{background:#2c271c;border-color:#766329;color:#fff}html[data-theme="dark"] .school-lunch p:last-child,body.theme-dark .school-lunch p:last-child{color:#ded3b7}html[data-theme="dark"] .school-day-header,body.theme-dark .school-day-header{background:#2c1e39;border-bottom-color:#b78d33}html[data-theme="dark"] .school-event-card,body.theme-dark .school-event-card{border-bottom-color:#493754}html[data-theme="dark"] .school-event-meta,html[data-theme="dark"] .school-event-description,html[data-theme="dark"] .school-empty,body.theme-dark .school-event-meta,body.theme-dark .school-event-description,body.theme-dark .school-empty{color:#d2c6d9}html[data-theme="dark"] .school-calendar-day,body.theme-dark .school-calendar-day{background:#24182f;color:#f9f5fb;border-color:#493754}html[data-theme="dark"] .school-weekdays,body.theme-dark .school-weekdays{background:#2c1e39;color:#d7cadf;border-color:#5a4369}html[data-theme="dark"] .school-calendar-event,body.theme-dark .school-calendar-event{background:#49305d;color:#fff}@media(max-width:900px){.school-identity{grid-template-columns:1fr}.school-logo{justify-self:start;width:min(220px,60vw)}.quick-cards{grid-template-columns:1fr}.school-controls{grid-template-columns:1fr 1fr}.school-date-control{grid-column:1/-1}}@media(max-width:700px){.school-identity{padding-top:1.6rem}.school-identity h1{font-size:clamp(2.4rem,12vw,3.6rem)}.school-nav{padding:0 .25rem}.intro-section{padding-top:1.8rem}.section-heading-row{align-items:flex-start}.school-controls{grid-template-columns:1fr}.school-date-control{grid-column:auto}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.school-filter-button,.school-view-button{padding:.62rem .55rem}.school-event-card{grid-template-columns:1fr;gap:.3rem}.school-lunch{grid-template-columns:1fr}.lunch-icon{display:none}.period-title{font-size:1rem}footer{align-items:flex-start;flex-direction:column}}