.hosted-page{background:radial-gradient(circle at 20% 10%,rgba(255,194,14,.12),transparent 28%),linear-gradient(180deg,var(--navy),var(--deep) 42%,#04101f)}.calendar-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 20px;background:var(--navy);border-bottom:1px solid var(--line)}.calendar-title{margin:0;text-align:center;color:#fff;font-size:1.6rem;font-weight:950;text-transform:uppercase;letter-spacing:.02em}.calendar-nav{background:transparent;color:var(--gold);border:1px solid rgba(255,194,14,.55);border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer}@media(hover:hover)and (pointer:fine){.calendar-nav:hover:not(:disabled):not([aria-disabled=true]){background:var(--gold);color:var(--ink);transform:translateY(var(--interaction-lift))}}.calendar-nav:first-child{justify-self:start}.calendar-nav:last-child{justify-self:end}.event-chip>span{display:block;margin-top:4px;font-size:.76rem;color:var(--soft)}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:34px 0 22px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.view-toggle{display:flex;gap:8px;flex-wrap:wrap}.toggle-btn{border:1px solid rgba(255,255,255,.26);background:#ffffff14;color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.toggle-btn.active{background:var(--gold);color:var(--ink);border-color:var(--gold)}.filters{display:flex;gap:15px;flex-wrap:wrap;align-items:center}select{border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:10px 14px;background:#fff;color:var(--ink);font-weight:700}.view{display:none}.view.active{display:block}.calendar{background:#ffffff0f;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.calendar-head{display:grid;grid-template-columns:repeat(7,1fr);background:var(--navy);border-bottom:1px solid var(--line)}.calendar-head div{padding:13px 10px;font-weight:900;text-align:center;color:var(--gold);text-transform:uppercase;font-size:.8rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.day{min-height:150px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff09}.day:nth-child(7n){border-right:0}.day.muted{opacity:.38}.date{font-weight:900;color:#fff;margin-bottom:8px}.event-chip{display:block;background:#ffc20e24;border:1px solid rgba(255,194,14,.55);border-left:4px solid var(--gold);color:#fff;border-radius:10px;padding:8px;margin:7px 0;text-decoration:none;font-size:.8rem;line-height:1.25}.event-chip strong{display:block;color:var(--gold)}.expired-event{opacity:.52;filter:grayscale(.35);cursor:default;border-color:#fff3;border-left-color:#8190a6;background:#ffffff0d}.expired-event strong{color:#c8d1dd}.expired-label{display:block;margin-top:6px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#aeb9c8}.expired-course{opacity:.7}.course-register.disabled{pointer-events:none;cursor:default;background:#687588;color:#dce3eb}.course-list{display:grid;gap:18px}.course-list-controls{margin-bottom:18px}.hidden{display:none!important}.course-card{display:grid;grid-template-columns:170px 1fr auto;gap:20px;align-items:stretch;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.course-hover-preview{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:32px;background:#020c1b7a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}.course-hover-preview.is-visible{opacity:1;visibility:visible}.course-preview-card{width:min(560px,calc(100vw - 64px));overflow:hidden;background:linear-gradient(145deg,#12345a,#0b2748 55%,#071d37);border:1px solid rgba(255,194,14,.42);border-radius:20px;box-shadow:0 28px 80px #0000007a,0 0 0 1px #ffffff0a;color:#fff;transform:translateY(8px) scale(.985);transition:transform .2s ease;pointer-events:auto;cursor:pointer}.course-hover-preview.is-visible .course-preview-card{transform:translateY(0) scale(1)}@media(hover:hover)and (pointer:fine){.course-preview-card:hover{border-color:#ffc20eb3;box-shadow:0 32px 90px #0000008c,0 0 0 1px #ffc20e14}}.course-preview-heading{padding:28px 30px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.course-preview-kicker{display:block;margin-bottom:8px;color:var(--gold);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.course-preview-heading h2{margin:0;color:#fff;font-size:1.65rem;line-height:1.15;text-transform:uppercase}.course-preview-details{display:grid;grid-template-columns:1fr 1fr;padding:12px 30px 24px}.course-preview-detail{padding:20px 0}.preview-left{padding-right:30px}.preview-right{padding-left:30px;border-left:1px solid rgba(255,255,255,.09)}.preview-row-one,.preview-row-two{border-bottom:1px solid rgba(255,255,255,.09)}.preview-category{grid-column:1 / -1;border-bottom:1px solid rgba(255,255,255,.09)}.preview-label{display:block;margin-bottom:5px;color:#ffffff9e;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.preview-value{display:block;color:#fff;font-size:.95rem;font-weight:800;line-height:1.35}#preview-precinct-row{grid-column:1 / -1;display:flex;align-items:center;gap:14px;margin:10px 0;padding:15px 17px;background:#ffc20e17;border:1px solid rgba(255,194,14,.38);border-radius:12px}#preview-precinct-row[hidden]{display:none}.preview-precinct-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--gold)}.preview-precinct-badge svg{display:block;width:25px;height:25px}.preview-precinct-content{min-width:0}#preview-precinct-row .preview-label{color:var(--gold)}#preview-precinct-row .preview-value{font-size:1rem}.course-preview-footer{padding:14px 30px;background:#0000002e;border-top:1px solid rgba(255,255,255,.08);color:#ffffffb3;text-align:center;font-size:.76rem;font-weight:800;letter-spacing:.04em}.flyer{border-radius:14px;min-height:210px;overflow:hidden;background:#111;padding:0;display:block}.flyer img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}.course-card h2{margin:0 0 6px;color:#fff;font-size:1.35rem;text-transform:uppercase}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}.pill{display:inline-flex;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:800}.course-actions{display:flex;flex-direction:column;gap:10px;min-width:140px;justify-content:center}.course-register{display:inline-flex;align-items:center;justify-content:center;text-align:center}.note{color:#cdd8e8;font-size:.92rem;margin-top:18px}.visit-help{padding:0 0 18px}.visit-help p{margin:0;color:var(--soft)}.visit-help a{color:var(--gold);font-weight:900;text-decoration:none}.visit-help a:hover{text-decoration:underline}.event-title{display:flex;flex-direction:row;align-items:center;gap:5px}.precinct-indicator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#d4a72c}.precinct-indicator svg{display:block;width:15px;height:15px}.event-location{display:block;margin-top:3px;opacity:.85;font-size:.85em}.flyer-image-button{width:100%;height:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;display:block}.flyer-image-button img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block;transition:transform .25s ease}@media(hover:hover)and (pointer:fine){.flyer-image-button:hover img{transform:scale(1.03)}}.image-lightbox[hidden]{display:none}.image-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:32px;background:#000000eb}.lightbox-content{max-width:95vw;max-height:92vh;display:flex;align-items:center;justify-content:center}.lightbox-content img{max-width:100%;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 70px #0000008c}.lightbox-close{position:absolute;top:20px;right:28px;width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:999px;background:#0000008c;color:#fff;font-size:32px;line-height:1;cursor:pointer}@media(hover:hover)and (pointer:fine){.lightbox-close:hover{background:var(--gold);color:var(--ink)}}body.lightbox-open{overflow:hidden}@media(max-width:720px){.image-lightbox{padding:16px}.lightbox-close{top:12px;right:12px}}@media(max-width:900px){.course-card{grid-template-columns:1fr}.course-actions{flex-direction:row;flex-wrap:wrap}.calendar-head{display:none}.calendar-grid{display:block}.day{min-height:auto;border-right:0}.day.muted{display:none}}.calendar-nav,.toggle-btn,.lightbox-close{transition:background-color var(--interaction-transition),color var(--interaction-transition),border-color var(--interaction-transition),filter var(--interaction-transition),transform var(--interaction-transition)}.filters select,.course-list-controls select{transition:border-color var(--interaction-transition)}@media(hover:hover)and (pointer:fine){.toggle-btn:hover:not(.active):not(:disabled):not([aria-disabled=true]){background:#ffffff1f;border-color:#fff6;color:var(--white);transform:translateY(var(--interaction-lift))}.toggle-btn.active:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(var(--interaction-brightness));transform:translateY(var(--interaction-lift))}.filters select:hover,.course-list-controls select:hover{border-color:var(--gold)}}.calendar-nav:focus-visible,.toggle-btn:focus-visible,.filters select:focus-visible,.course-list-controls select:focus-visible,.event-chip:focus-visible,.course-register:focus-visible,.course-preview-card:focus-visible,.lightbox-close:focus-visible,.visit-help a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.flyer-image-button:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}@media(prefers-reduced-motion:reduce){.calendar-nav,.toggle-btn,.lightbox-close,.filters select,.course-list-controls select{transition:none}.calendar-nav:hover,.toggle-btn:hover{transform:none}}@media(max-width:720px){.calendar-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;padding:18px 16px}.calendar-title{grid-column:1 / -1;grid-row:1;min-width:0;font-size:clamp(1.15rem,5vw,1.6rem);overflow-wrap:anywhere}.calendar-nav:first-child{grid-column:1;grid-row:2;justify-self:start}.calendar-nav:last-child{grid-column:2;grid-row:2;justify-self:end}.calendar-nav{min-width:0;max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere}.toolbar,.filters,.course-list-controls{min-width:0}.filters{width:100%}.filters>*,.course-list-controls>*{min-width:0;max-width:100%}.filters select,.course-list-controls select{width:100%;min-width:0;max-width:100%;min-height:44px}.toggle-btn{min-height:44px}.course-card{grid-template-columns:minmax(0,1fr)}.course-card>*{min-width:0}.course-card h2,.event-chip,.pill{overflow-wrap:anywhere}.pill{max-width:100%}.event-title>strong{min-width:0}.course-actions{min-width:0}.course-actions>a,.course-actions>button{max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;text-align:center}.image-lightbox{padding:72px 16px 16px}.lightbox-content{max-width:100%;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px)}.lightbox-content img{max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px)}}@media(hover:none),(pointer:coarse){.flyer-image-button:hover img{transform:none}}@media(prefers-reduced-motion:reduce){.flyer-image-button img{transition:none}.flyer-image-button:hover img{transform:none}}@media(prefers-reduced-motion:reduce){.course-hover-preview,.course-preview-card{transition:none}.course-preview-card,.course-hover-preview.is-visible .course-preview-card{transform:none}}.calendar-day-events{display:contents}.calendar-weekday,.calendar-agenda-empty{display:none}@media(max-width:720px){.calendar-grid{padding:8px 16px 16px}.calendar-grid .day:not(.agenda-has-events){display:none}.calendar-grid .day.agenda-has-events{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:start;gap:12px;padding:16px 0;background:transparent;border-right:0;border-bottom:1px solid var(--line);min-height:0}.calendar-grid .date{margin:0;padding-top:10px;font-size:1.4rem;line-height:1.1;text-align:center}.calendar-weekday{display:block;margin-top:5px;font-size:.7rem;font-weight:800;text-transform:uppercase;color:var(--soft)}.calendar-day-events{display:grid;gap:10px;min-width:0}.calendar-grid .event-chip{margin:0;padding:12px;font-size:.85rem;line-height:1.4}.calendar-grid .event-title span:not(.precinct-indicator){min-width:0}.calendar-grid .event-location{font-size:.78rem}.calendar-agenda-empty:not([hidden]){display:block;margin:0;padding:20px 24px 28px;color:var(--soft);text-align:center}}@media(min-width:721px){.filters{gap:6px}.filters>label.kicker{margin:0}.filters #courseType{appearance:none;-webkit-appearance:none;color-scheme:dark;min-width:min(220px,100%);max-width:100%;min-height:44px;padding:11px 44px 11px 16px;border:1px solid rgba(255,194,14,.45);border-radius:10px;background-color:var(--navy);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23ffc20e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;color:var(--soft);font:inherit;font-size:.9rem;font-weight:800;cursor:pointer;box-shadow:0 3px 10px #00000029}.filters #courseType:focus-visible{border-color:var(--gold);outline:3px solid var(--gold);outline-offset:3px}.filters #courseType option{background:var(--navy);color:var(--soft)}.filters #courseType option:checked{background:var(--gold);color:var(--ink)}}@media(min-width:721px)and (hover:hover)and (pointer:fine){.filters #courseType:hover{border-color:var(--gold)}}@media(min-width:721px)and (forced-colors:active){.filters #courseType{appearance:auto;-webkit-appearance:auto;background-image:none}}.calendar-return-button{display:none}@media(max-width:720px){.calendar-return-button:not([hidden]){display:block;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:60;width:max-content;max-width:calc(100% - 32px);min-height:44px;padding:12px 20px;white-space:normal;text-align:center;box-shadow:0 6px 24px #0006}.calendar-return-button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}body.calendar-detail-open #listView{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}}.course-calendar-return{display:none}@media(min-width:901px){.course-calendar-return{display:block;min-height:44px;width:100%;white-space:normal;text-align:center}}
