@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/regular.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/medium.otf') format('opentype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/bold.otf') format('opentype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/black-italic.otf') format('opentype');font-weight:900;font-style:italic;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/heavy-italic.otf') format('opentype');font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/semibold-italic.otf') format('opentype');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/light-italic.otf') format('opentype');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/thin-italic.otf') format('opentype');font-weight:200;font-style:italic;font-display:swap}
@font-face{font-family:'SF Pro Display';src:url('/assets/fonts/ultralight-italic.otf') format('opentype');font-weight:100;font-style:italic;font-display:swap}
:root{--purple:#755095;--violet:#a57acc;--lavender:#bf94e3;--peach:#ffdebf;--amber:#ffa61e;--orange:#f97e14;--ink:#30203c;--paper:#fffaf5;--line:#75509535;--muted:#684d7c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'SF Pro Display',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:5px}p{font-size:18px;line-height:1.6;margin:0 0 22px}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.035em}img{max-width:100%;display:block}[hidden]{display:none!important}.wrap{max-width:1460px;margin:auto;padding:0 5%}.skip{position:absolute;left:16px;top:-70px;z-index:30;background:white;padding:16px}.skip:focus{top:10px}.announcement{background:var(--purple);color:var(--paper);padding:10px 5%;font-size:12px;display:flex;justify-content:space-between;gap:20px}.announcement a{display:flex;justify-content:space-between;gap:24px}.announcement a:hover{text-decoration:underline}header{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:35px;height:88px}.logo{display:block;position:relative;width:185px;height:74px;flex-shrink:0}.logo img{position:absolute;width:350px;height:262.5px;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}.navlinks{display:flex;align-items:center;gap:29px;font-size:14px;font-weight:500}.navlinks a{padding:9px 0;position:relative}.navlinks a:not(.nav-contact):after{content:'';position:absolute;bottom:0;left:0;right:100%;height:2px;background:var(--purple);transition:right .2s}.navlinks a:hover:after,.navlinks a[aria-current=page]:after{right:0}.navlinks .nav-contact{padding:15px 21px;background:var(--purple);color:white;display:flex;gap:25px}.menu{display:none;background:none;color:var(--ink);border:1px solid var(--purple);padding:9px 13px}.progress{height:2px;background:var(--orange);width:0;position:absolute;bottom:-1px;left:0}.label{font-size:11px;letter-spacing:1.7px;text-transform:uppercase;font-weight:500;line-height:1.5}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 22px;border:1px solid var(--purple);background:var(--purple);color:white;font-size:15px;font-weight:700;transition:background .2s,transform .2s}.btn:hover{background:var(--ink);transform:translateY(-2px)}.btn.orange{background:var(--amber);border-color:var(--amber);color:var(--ink)}.btn.orange:hover{background:var(--peach)}.btn.light{background:none;color:var(--ink)}.btn.light:hover{background:var(--peach)}.textlink{display:inline-flex;gap:30px;align-items:center;font-size:15px;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0}.textlink:hover{color:var(--purple)}.actions{display:flex;gap:14px;flex-wrap:wrap}.home-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper)}.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:55% 50%}.home-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#30203ce8,#30203c75 58%,#30203c08),linear-gradient(0deg,#30203c9c,transparent 70%)}.hero-content{padding-top:40px;padding-bottom:38px;min-height:595px;position:relative}.hero-content h1{font-size:clamp(74px,7vw,108px);line-height:.94;margin:23px 0 23px;letter-spacing:-.045em}.hero-content h1 span{display:block}.hero-content h1 span:nth-child(2){color:var(--peach)}.hero-content h1 span:nth-child(3){color:var(--lavender)}.hero-content p{max-width:560px;font-size:21px;line-height:1.4;margin-bottom:24px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.photo-credit{font-size:10px;color:#ffdebfca;max-width:210px;line-height:1.5;text-align:right}.hero-content .label{max-width:390px}.mission{padding:95px 0}.mission-grid{display:grid;grid-template-columns:1fr 3.3fr;gap:70px}.mission h2{font-size:clamp(33px,3.8vw,57px);line-height:1.15;font-weight:500;letter-spacing:-.026em}.mission h2 strong{font-weight:700;color:var(--purple)}.mission-note{font-size:17px;max-width:740px;margin-top:27px;margin-bottom:0}.programs{padding:85px 0;background:#eee0f7}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-head h2{font-size:clamp(40px,4.4vw,65px);line-height:1.06;margin-top:18px}.section-head p{max-width:350px;font-size:17px;margin:0}.program-row{display:grid;grid-template-columns:1.05fr 1.7fr;gap:55px;padding:42px 0;border-top:1px solid var(--line);align-items:center}.program-row:last-child{border-bottom:1px solid var(--line)}.program-row figure{margin:0}.program-row figure img{width:100%;height:auto}.program-row figcaption{font-size:11px;line-height:1.4;color:var(--muted);margin-top:10px}.program-row h3{font-size:clamp(32px,3.5vw,49px);line-height:1.08;margin:18px 0 17px;max-width:620px}.program-row p{font-size:18px;max-width:650px}.program-meta{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:13px;margin:20px 0;color:var(--purple);font-weight:500}.program-row .textlink{margin-top:5px}.community{display:grid;grid-template-columns:1.35fr 1fr;background:var(--purple);color:white}.community figure{margin:0;display:flex;align-items:center;background:var(--peach)}.community figure img{width:100%;height:auto}.community-copy{padding:70px 12%;display:flex;flex-direction:column;justify-content:center}.community h2{font-size:clamp(39px,4vw,60px);line-height:1.04;margin:22px 0 26px}.community p{font-size:18px;color:var(--peach)}.community .textlink{align-self:start}.community .textlink:hover{color:var(--peach)}.research{padding:90px 0;background:var(--paper)}.research-top{display:grid;grid-template-columns:1.3fr 1fr;gap:75px;align-items:start}.research h2{font-size:clamp(39px,4.5vw,64px);line-height:1.06;margin:18px 0 24px}.research p{font-size:17px}.research-photo{margin:0}.research-photo img{width:100%;height:auto}.research-photo figcaption{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:45px 0 25px}.stat{padding:35px 24px 35px 0}.stat+.stat{border-left:1px solid var(--line);padding-left:30px}.stat strong{display:block;font-size:clamp(44px,5.5vw,78px);font-weight:500;letter-spacing:-.04em;line-height:1;margin-bottom:14px;color:var(--purple)}.stat span{font-size:15px;line-height:1.4;max-width:250px;display:block}.research-note{font-size:15px!important;max-width:850px;color:var(--muted)}.event-home{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.15fr}.event-home-copy{padding:75px max(7%,30px);display:flex;flex-direction:column;justify-content:center}.event-home h2{font-size:clamp(43px,4.7vw,68px);line-height:1;margin:24px 0}.event-home p{font-size:18px;color:var(--peach)}.event-home-copy .textlink{align-self:start}.event-home .textlink:hover{color:var(--peach)}.event-home figure{margin:0;display:flex;align-items:center;background:#ffdebf}.event-home img{width:100%;height:auto}.event-date{font-size:14px;margin:0 0 25px;color:var(--lavender);font-weight:700}.contact-band{padding:75px 0;background:var(--lavender)}.contact-band .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;align-items:center}.contact-band h2{font-size:clamp(39px,4.5vw,63px);line-height:1.06;margin-top:18px;max-width:780px}.contact-band p{font-size:17px;margin-top:20px;margin-bottom:0}.contact-band .actions{justify-content:flex-end}footer{padding:43px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:35px}.footer-links{display:flex;gap:55px}.footer-links h3{font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.footer-links a{display:block;font-size:14px;margin-bottom:11px}.footer-links a:hover{text-decoration:underline}.copyright{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.page-top{padding:55px 0 65px;background:#eee0f7}.crumb{font-size:12px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;margin-bottom:35px}.crumb a:hover{text-decoration:underline}.page-title-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:70px;align-items:end}.page-top h1{font-size:clamp(48px,5.6vw,82px);line-height:1.02;margin:18px 0 24px;max-width:850px}.page-top .lead{font-size:22px;line-height:1.4;max-width:780px;margin-bottom:28px}.page-top figure{margin:0}.page-top figure img{width:100%;height:auto}.page-top figcaption{font-size:11px;color:var(--muted);margin-top:10px}.page-top .program-meta{font-size:14px;margin:25px 0}.content-section{padding:80px 0}.content-section.alt{background:var(--peach)}.content-section.purple{background:var(--purple);color:var(--paper)}.content-grid{display:grid;grid-template-columns:1fr 1.9fr;gap:80px}.content-section h2{font-size:clamp(33px,3.5vw,50px);line-height:1.08;margin:18px 0 25px}.content-section h3{font-size:26px;line-height:1.2;margin-bottom:14px}.content-section p{max-width:860px}.curriculum{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 0;display:flex;justify-content:space-between;align-items:start;gap:25px;font-size:24px;font-weight:500;letter-spacing:-.02em}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:25px;font-weight:400;flex-shrink:0}details[open] summary:after{content:'−'}.detail-body{padding:0 32px 15px 0}.detail-body p{font-size:18px}.timeline{display:grid;gap:0;border-top:1px solid var(--line)}.phase{display:grid;grid-template-columns:.85fr 2fr;gap:35px;border-bottom:1px solid var(--line);padding:25px 0}.phase>span{font-size:14px;font-weight:700;color:var(--purple)}.phase h3{font-size:25px;margin-bottom:10px}.phase p{font-size:17px;margin:0}.key-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:40px}.key-facts div{border-top:1px solid var(--line);padding-top:20px}.key-facts strong{font-size:34px;line-height:1.2;letter-spacing:-.03em;font-weight:500;display:block;margin-bottom:9px}.key-facts span{font-size:14px;line-height:1.4;display:block}.event-gallery{display:grid;grid-template-columns:1.75fr 1fr;gap:22px;margin-top:35px;align-items:start}.event-pair{display:grid;gap:22px}.photo-open{display:block;border:0;padding:0;background:transparent;position:relative;width:100%;text-align:left}.photo-open img{width:100%;height:auto}.photo-open>span{position:absolute;bottom:14px;right:14px;padding:9px 13px;background:var(--paper);color:var(--purple);font-size:19px}.photo-open:hover>span{background:var(--amber)}.gallery-label{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.5}.photo-dialog{border:0;padding:20px;background:var(--paper);color:var(--ink);width:min(1100px,95vw);max-height:94svh}.photo-dialog::backdrop{background:#30203ce8}.dialog-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:12px;letter-spacing:1px}.photo-close{padding:10px 15px;border:1px solid var(--purple);background:none;color:var(--ink)}.photo-dialog>img{display:block;width:100%;height:min(72svh,760px);object-fit:contain}.photo-dialog-caption{font-size:14px;margin:15px 0 0}.leader{border-top:1px solid var(--line);padding-top:25px}.leader h3{font-size:36px;margin:12px 0 8px}.leader .role{font-size:14px;color:var(--purple);margin-bottom:20px}.contact-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:85px}.contact-layout h2{font-size:42px;line-height:1.1;margin-bottom:24px}.contact-layout .mail-link{font-size:21px;border-bottom:1px solid var(--purple);display:inline-block;padding-bottom:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:grid;gap:9px;font-size:14px;font-weight:500}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;background:white;border:1px solid #75509565;padding:15px;color:var(--ink);border-radius:0;font-size:17px}.field textarea{resize:vertical;min-height:160px}.form-help{font-size:13px;color:var(--muted);margin:20px 0}.contact-form .actions{align-items:center}.draft-status{font-size:13px;margin:20px 0 0;color:var(--purple)}.motion .reveal{opacity:0;transform:translateY(15px);transition:opacity .5s,transform .5s}.motion .reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.navlinks{gap:19px;font-size:13px}.nav{gap:15px}.page-title-grid,.content-grid{gap:40px}.mission-grid{gap:35px;grid-template-columns:1fr 3fr}.program-row{gap:35px}.community-copy{padding:55px 9%}.research-top{gap:35px}.contact-band .wrap{gap:35px}.contact-layout{gap:40px}.footer-links{gap:30px}}
@media(max-width:760px){html{scroll-padding-top:82px}.wrap{padding:0 6%}.announcement{padding:10px 6%;font-size:11px}.announcement>span{display:none}.announcement a{width:100%;justify-content:space-between}.nav{height:78px}.logo{width:150px;height:65px}.logo img{width:300px;height:225px}.menu{display:block}.navlinks{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:28px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:15px}.navlinks.open{display:flex}.navlinks a{font-size:18px}.hero-content{min-height:570px;padding-top:35px;padding-bottom:32px}.hero-content h1{font-size:clamp(64px,15vw,88px);line-height:.95;margin:23px 0}.hero-content .label{font-size:10px;max-width:300px}.hero-content p{font-size:18px;line-height:1.45;max-width:100%;margin-bottom:24px}.hero-bottom{display:block}.photo-credit{font-size:9px;margin-top:20px;text-align:left;max-width:100%}.hero-photo{object-position:60% 50%}.home-hero:before{background:linear-gradient(90deg,#30203cdc,#30203c88),linear-gradient(0deg,#30203cbc,transparent)}.mission,.programs,.research,.content-section{padding:60px 0}.mission-grid,.program-row,.research-top,.content-grid,.page-title-grid,.contact-layout{grid-template-columns:1fr;gap:28px}.mission h2{font-size:34px;line-height:1.2}.mission-note{font-size:17px;margin-top:24px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:46px}.section-head p{max-width:100%;margin-top:22px}.program-row{padding:30px 0;gap:20px}.program-row h3{font-size:36px;margin:15px 0}.program-row p{font-size:17px}.program-meta{gap:8px 18px}.community{grid-template-columns:1fr}.community-copy{padding:55px 6%}.community h2{font-size:46px}.community p{font-size:17px}.research h2{font-size:45px}.stats{grid-template-columns:1fr;margin-top:30px}.stat,.stat+.stat{padding:25px 0;border-left:0}.stat+.stat{border-top:1px solid var(--line)}.stat strong{font-size:65px;margin-bottom:12px}.stat span{max-width:100%}.event-home{grid-template-columns:1fr}.event-home-copy{padding:55px 6%}.event-home h2{font-size:54px}.event-home figure{grid-row:1}.contact-band{padding:55px 0}.contact-band .wrap{grid-template-columns:1fr;gap:25px}.contact-band h2{font-size:43px}.contact-band .actions{justify-content:start}.footer-top{flex-direction:column;gap:30px}.footer-links{gap:30px;flex-wrap:wrap}.copyright{flex-direction:column;line-height:1.5}.page-top{padding:35px 0 45px}.crumb{margin-bottom:25px}.page-top h1{font-size:48px}.page-top .lead{font-size:20px}.page-top figure{margin-top:10px}.content-section h2{font-size:37px}.content-section p{font-size:17px}summary{font-size:22px;padding:22px 0}.detail-body{padding-right:0}.phase{grid-template-columns:1fr;gap:12px}.key-facts{gap:20px;grid-template-columns:1fr}.key-facts strong{font-size:32px}.event-gallery{grid-template-columns:1fr;gap:18px}.event-pair{grid-template-columns:1fr 1fr;gap:14px}.event-pair .photo-open>span{padding:5px 8px;font-size:17px;bottom:8px;right:8px}.photo-dialog{padding:15px}.photo-dialog>img{height:70svh}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.contact-layout h2{font-size:36px}.contact-layout .mail-link{font-size:19px}.actions .btn{font-size:14px;gap:25px}.contact-form .actions{align-items:stretch}.contact-form .btn{justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion .reveal{opacity:1;transform:none}}

.fiscal-note{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 20px;max-width:100%}

.btn,.textlink{gap:0}.navlinks .nav-contact{gap:0}.photo-open{transition:opacity .2s}.photo-open:hover{opacity:.94}

/* Reach figures animate once when visitors reach the research section. */
.stat{position:relative}.stat strong{position:relative}.stat .stat-value{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;max-width:none;display:inline-block;font-variant-numeric:tabular-nums;white-space:nowrap}.stat .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.stat:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:var(--amber);transform:scaleX(var(--count-progress,0));transform-origin:left;opacity:.85;pointer-events:none}.count-complete .stat:after{opacity:0;transition:opacity .65s}.is-counting .stat strong{color:var(--purple)}@media(prefers-reduced-motion:reduce){.stat:after{display:none}}
