:root{--mch-blue:#005ca9;--mch-blue-deep:#004a87;--mch-blue-dark:#25215d;--mch-amber:#fcaf17;--mch-purple:#742876;--mch-purple-dark:#5e2060;--mch-teal:#02756f;--ink:#1a2533;--ink-soft:#44546a;--ink-mute:#6b7a90;--paper:#ffffff;--paper-tint:#f4f8fb;--paper-tint-2:#e6eef6;--line:#d6dfeb;--shadow-sm:0 1px 2px rgba(10, 30, 60, .06), 0 2px 6px rgba(10, 30, 60, .04);--shadow-md:0 4px 12px rgba(10, 30, 60, .08), 0 12px 32px rgba(10, 30, 60, .06);--radius:12px;--radius-sm:8px;--maxw:1080px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8eef6;--ink-soft:#b3c0d2;--ink-mute:#8496ad;--paper:#0e1621;--paper-tint:#14202e;--paper-tint-2:#1c2a3a;--line:#2a3a4d;--shadow-sm:0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--shadow-md:0 4px 12px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .4)}}:root[data-theme=dark]{--ink:#e8eef6;--ink-soft:#b3c0d2;--ink-mute:#8496ad;--paper:#0e1621;--paper-tint:#14202e;--paper-tint-2:#1c2a3a;--line:#2a3a4d;--shadow-sm:0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--shadow-md:0 4px 12px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .4)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji;color:var(--ink);background:var(--paper-tint);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--mch-blue-deep)}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.site-header{background:var(--paper);border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:center;gap:12px;min-height:64px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.brand-mark{display:inline-flex}.brand-mark img{width:28px;height:28px;display:block}.header-spacer{flex:1}.theme-toggle{border:1px solid var(--line);background:var(--paper-tint);color:var(--ink-soft);width:38px;height:38px;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}.theme-toggle:hover{background:var(--paper-tint-2);border-color:var(--mch-blue)}.hero{position:relative;padding:56px 0 32px;text-align:center;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(58% 70% at 50% -6%,color-mix(in srgb,var(--mch-blue-dark) 12%,transparent),transparent 70%)}.hero-logo{margin:0 auto 22px}.hero-logo img{height:128px;width:auto;max-width:100%}.logo-dark{display:none}.hero h1{margin:0 0 12px;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;letter-spacing:-.02em;color:var(--ink)}.hero .lede{margin:0 auto;max-width:60ch;font-size:1.12rem;color:var(--ink-soft)}.accent-rule{height:4px;width:72px;margin:22px auto 0;border-radius:999px;background:var(--mch-blue-dark)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:inline-block}}:root[data-theme=dark] .logo-light{display:none}:root[data-theme=dark] .logo-dark{display:inline-block}:root[data-theme=light] .logo-light{display:inline-block}:root[data-theme=light] .logo-dark{display:none}.about{padding:8px 0 44px;text-align:center}.about p{max-width:64ch;margin-inline:auto;color:var(--ink-soft);font-size:1.02rem}.fellowship-cta{padding:4px 0 22px}.cta-panel{display:flex;align-items:center;gap:18px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,color-mix(in srgb,var(--mch-blue) 12%,var(--paper)),color-mix(in srgb,var(--mch-teal) 12%,var(--paper)));box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.cta-panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--mch-blue)}.cta-icon{flex:none;display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--mch-blue) 16%,transparent);color:var(--mch-blue-deep)}.cta-icon svg{width:26px;height:26px}.cta-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.cta-text strong{font-size:1.1rem;color:var(--ink)}.cta-text p{margin:0;color:var(--ink-soft);font-size:.98rem}.cta-btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:11px 18px;border-radius:var(--radius-sm);background:var(--mch-purple);color:#fff;font-weight:700;font-size:.95rem;white-space:nowrap}.cta-btn .go-arrow{display:inline-block;transition:transform .15s ease}.cta-panel:hover .cta-btn{background:var(--mch-purple-dark)}.cta-panel:hover .go-arrow{transform:translateX(4px)}@media(max-width:640px){.cta-panel{flex-direction:column;align-items:flex-start;gap:14px}.cta-btn{width:100%;justify-content:center}}.services{padding:12px 0 64px}.services-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 8px}.section-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin:0}.filter{margin-left:auto}.filter input{width:260px;max-width:100%;padding:9px 14px;font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm)}.filter input::placeholder{color:var(--ink-mute)}.filter input:focus{outline:none;border-color:var(--mch-blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--mch-blue) 22%,transparent)}.service-group{--accent:var(--mch-blue-deep);margin-top:26px}.service-group.accent-blue{--accent:var(--mch-blue)}.service-group.accent-blue-deep{--accent:var(--mch-blue-deep)}.service-group.accent-purple{--accent:var(--mch-purple)}.service-group.accent-teal{--accent:var(--mch-teal)}.service-group.accent-amber{--accent:var(--mch-amber)}.service-group:first-child{margin-top:12px}.group-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:1.05rem;color:var(--ink)}.group-title::before{content:"";width:10px;height:10px;border-radius:3px;background:var(--accent)}.no-results{color:var(--ink-mute);padding:24px 0}[hidden]{display:none!important}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 20px 18px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-decoration:none;color:inherit;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent);opacity:.9;transition:height .15s ease,opacity .15s ease}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent)}.card:hover::before{height:4px;opacity:1}.card:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent),var(--shadow-md)}.card-body{display:flex;flex-direction:column;gap:6px}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.card .icon{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);transition:background .15s ease,transform .15s ease}.card:hover .icon{background:color-mix(in srgb,var(--accent) 22%,transparent);transform:scale(1.06)}.card .icon svg{width:24px;height:24px;display:block}.card h4{margin:0;font-size:1.12rem;color:var(--ink)}.card p{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.5;min-height:3em}.card .go{font-size:.9rem;font-weight:600;color:var(--accent);white-space:nowrap}.card .go-arrow{display:inline-block;transition:transform .15s ease}.card:hover .go-arrow{transform:translateX(4px)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:999px}.badge svg{width:12px;height:12px}.badge-staff{color:color-mix(in srgb,var(--mch-blue) 55%,var(--ink));background:color-mix(in srgb,var(--mch-blue) 14%,var(--paper));border:1px solid color-mix(in srgb,var(--mch-blue) 38%,var(--paper))}.badge-login{color:color-mix(in srgb,var(--mch-amber) 45%,var(--ink));background:color-mix(in srgb,var(--mch-amber) 18%,var(--paper));border:1px solid color-mix(in srgb,var(--mch-amber) 42%,var(--paper))}.badge-public{color:color-mix(in srgb,var(--mch-teal) 50%,var(--ink));background:color-mix(in srgb,var(--mch-teal) 16%,var(--paper));border:1px solid color-mix(in srgb,var(--mch-teal) 40%,var(--paper))}.site-footer{border-top:1px solid var(--line);background:var(--paper);padding:28px 0;color:var(--ink-mute);font-size:.9rem}.site-footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.site-footer .footer-spacer{flex:1}.site-footer .footer-admin{color:var(--ink-mute);opacity:.55;text-decoration:none;transition:opacity .15s ease,color .15s ease}.site-footer .footer-admin:hover,.site-footer .footer-admin:focus-visible{opacity:1;text-decoration:underline}@media(max-width:520px){.hero{padding:40px 0 20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.card:hover,.card:hover .icon,.card:hover .go-arrow,.cta-panel:hover,.cta-panel:hover .go-arrow{transform:none}}.error-hero{padding:72px 0 88px}.error-code{font-size:clamp(5.5rem,20vw,11rem);font-weight:800;line-height:1;letter-spacing:-.04em;margin-bottom:4px;background:linear-gradient(115deg,var(--mch-blue-deep),var(--mch-blue) 45%,var(--mch-teal) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.error-hero .lede p{margin:0 auto;max-width:52ch}.error-retry{display:inline-flex;align-items:center;gap:10px;margin:18px 0 0;color:var(--ink-mute);font-size:.95rem}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--mch-teal);animation:pulse-dot 2.4s ease-in-out infinite}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}@media(prefers-reduced-motion:reduce){.pulse-dot{animation:none}}.error-actions{margin-top:30px}.btn-home{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--radius-sm);background:var(--mch-blue-deep);color:#fff;font-weight:700;font-size:.95rem;text-decoration:none;box-shadow:var(--shadow-sm)}.btn-home:hover{background:var(--mch-blue-dark)}.btn-home .go-arrow{display:inline-block;transition:transform .15s ease}.btn-home:hover .go-arrow{transform:translateX(4px)}