*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--background:#eff1f6;--surface:#fff;--accent:#00e;--accent-light:#fff;--text:#111;--text-muted:#55596a;--font-body:system-ui, sans-serif;--font-heading:system-ui, sans-serif;--fs-sm:clamp(.875rem, .85rem + .15vw, .95rem);--fs-body:clamp(1rem, .95rem + .25vw, 1.125rem);--fs-h3:clamp(1.25rem, 1.15rem + .5vw, 1.5rem);--fs-h2:clamp(1.5rem, 1.3rem + 1vw, 2rem);--fs-h1:clamp(2rem, 1.6rem + 2vw, 3rem);--shadow-low:0 2px 3px #00000026, 0 1px 6px #0000001a;--shadow-mid:0 6px 12px #00000026, 0 2px 6px #0000001a;--shadow-pressed:inset 0 3px 6px #0000004d;--ease-smooth:cubic-bezier(.4, 0, .2, 1)}body{min-height:100dvh;font-family:var(--font-body);font-size:var(--fs-body);background-color:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-heading);line-height:1.2}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site-header{isolation:isolate;text-align:center;width:100%;color:var(--surface);padding-block:2.5rem 2rem;position:relative;overflow:hidden}.site-header:before{content:"";z-index:-2;background:url(/images/learners_banner.jpeg) 50%/cover;animation:30s ease-in-out infinite alternate banner-pan;position:absolute;inset:0 -20% 0 0}.site-header:after{content:"";z-index:-1;background-color:#00006e8c;position:absolute;inset:0}@keyframes banner-pan{0%{transform:translate(0)}to{transform:translate(-15%)}}.header-eyebrow{font-size:var(--fs-sm);color:var(--accent-light);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.site-header h1{font-size:var(--fs-h1);text-wrap:balance}main{width:100%;max-width:40rem;margin-inline:auto;padding-inline:1rem}.theme-filter{z-index:10;scrollbar-width:none;background-color:var(--background);box-shadow:var(--shadow-mid);flex-wrap:nowrap;gap:.5rem;margin-block:0 1.5rem;margin-inline:-1rem;padding-block:.75rem;padding-inline:1rem;display:flex;position:sticky;top:0;overflow-x:auto}.theme-filter::-webkit-scrollbar{display:none}.theme-filter button{white-space:nowrap;border:2px solid var(--accent);background-color:var(--surface);min-height:2.75rem;box-shadow:var(--shadow-low);text-transform:capitalize;cursor:pointer;border-radius:999px;flex-shrink:0;padding-inline:1rem}.theme-filter button[aria-pressed=true]{background-color:var(--accent);color:var(--surface);box-shadow:var(--shadow-pressed)}@media (pointer:fine){.theme-filter{flex-wrap:wrap;overflow-x:visible}}.timeline{border-left:3px solid var(--accent);flex-direction:column;gap:1.5rem;margin-block:2rem;padding-left:1.25rem;display:flex}.timeline-entry{background-color:var(--surface);box-shadow:var(--shadow-low);border-radius:.5rem;padding:1rem;position:relative}.timeline-entry:before{content:"";border:3px solid var(--background);background-color:var(--accent);border-radius:50%;width:1rem;height:1rem;position:absolute;top:1.25rem;left:calc(-1.75rem - 1.5px)}.entry-year{font-size:var(--fs-sm);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.entry-title{font-size:var(--fs-h3);margin-block:.25rem .5rem}.show-more{min-height:2.75rem;box-shadow:none;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:.5rem;font-weight:600}.show-more:hover{text-decoration:underline}.entry-details{visibility:hidden;opacity:0;transition:grid-template-rows .45s var(--ease-smooth), opacity .35s ease, visibility .45s;grid-template-rows:0fr;display:grid}.entry-details.open{visibility:visible;opacity:1;grid-template-rows:1fr}.entry-details-inner{transition:transform .45s var(--ease-smooth);overflow:hidden;transform:translateY(-.75rem)}.entry-details.open .entry-details-inner{transform:translateY(0)}footer{padding-bottom:calc(2.5rem + env(safe-area-inset-bottom))}.footer-logo{width:min(100%,22rem);height:auto;margin-block:2rem 1.5rem;margin-inline:auto}.footer-links{flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;list-style:none;display:flex}.footer-button{border:2px solid var(--accent);background-color:var(--surface);min-height:2.75rem;box-shadow:var(--shadow-low);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;padding-inline:1rem;display:inline-flex}.footer-modal{background-color:var(--surface);width:min(90%,32rem);max-height:85dvh;color:var(--text);box-shadow:var(--shadow-mid);border:none;border-radius:.75rem;margin:auto;padding:0}.footer-modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#282a32cc}.modal-content{padding:1.5rem}.footer-modal h2{margin-block:1rem}.modal-close{border:2px solid var(--accent);background-color:var(--surface);cursor:pointer;border-radius:999px;min-height:2.75rem;margin-left:auto;padding-inline:1rem;display:block}html:has(dialog[open]){overflow:hidden}.contact-list{flex-direction:column;gap:1.25rem;list-style:none;display:flex}.contact-name{font-weight:700}.contact-role{color:var(--text-muted)}.contact-list a{color:var(--accent);padding-block:.5rem;font-weight:600;display:inline-block}.locations{flex-direction:column;gap:1.5rem;display:flex}.locations address{font-style:normal}@media (hover:hover){.timeline-entry,.theme-filter button,.footer-button{transition:transform .2s,box-shadow .2s}.timeline-entry:hover{box-shadow:var(--shadow-mid);transform:translateY(-2px)}.theme-filter button:hover,.footer-button:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.site-header:before{animation:none}}
