/* The original masks are the shared motif; content stays visible without motion. */
html{scroll-padding-top:120px}
.header{position:sticky;top:0;z-index:20;background:white;border-bottom:1px solid transparent;transition:border-color .2s}.header.is-scrolled{border-bottom-color:var(--line)}.header nav>a[aria-current=page]{color:var(--magenta)}.header nav>a:not(.button){position:relative;padding-block:4px}.header nav>a:not(.button)::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--magenta);transform:scaleX(0);transform-origin:left;transition:transform .24s cubic-bezier(.16,1,.3,1)}.header nav>a:not(.button):hover::after,.header nav>a[aria-current=page]::after{transform:scaleX(1)}
.button{gap:15px;position:relative;transition:background .22s,transform .22s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.button::after{content:'';position:absolute;bottom:8px;left:22px;right:22px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s cubic-bezier(.16,1,.3,1)}.button:hover::after,.button:focus-visible::after{transform:scaleX(1)}.text-link{transition:color .2s,border-color .2s}.text-link:hover{border-color:var(--magenta)}
.hero{height:600px;min-height:540px}.hero-photo{top:24px;height:calc(100% - 24px)}.hero-copy{padding-top:24px}.hero h1{font-size:65px}.hero-category{display:block;font:17px/1.4 var(--body);margin-top:5px}.hero-line{margin-top:13px;font-size:26px}.hero-sub{margin-top:13px;margin-bottom:18px;max-width:540px}.hero-motif{position:absolute;width:190px;left:6%;top:67px;pointer-events:none;transform:translate(var(--mask-x,0px),var(--mask-y,0px)) rotate(-9deg);transition:transform .35s cubic-bezier(.16,1,.3,1)}.hero-motif img{width:100%;height:auto;filter:brightness(0) invert(1);opacity:.85}.hero-copy{max-width:780px;margin:auto}.hero-bottom{bottom:18px}
.audience{position:relative;overflow:hidden}.audience>img{transition:transform .6s cubic-bezier(.16,1,.3,1);transform-origin:center}.audience:hover>img,.audience:focus-visible>img{transform:scale(1.025)}.audience-action{display:inline-block;font-size:13px;margin-top:16px;border-bottom:1px solid var(--line);padding-bottom:4px;transition:color .2s,border-color .2s}.audience:hover .audience-action{color:var(--magenta);border-color:var(--magenta)}.card-mask{display:inline-block;width:43px;height:27px;background:url('assets/image-remove-preview-1.png') center/contain no-repeat;opacity:.6;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s}.audience:hover .card-mask,.audience:focus-visible .card-mask{opacity:1;transform:rotate(-9deg)}.masks{transition:transform .65s cubic-bezier(.16,1,.3,1)}.school:hover .masks{transform:rotate(6deg)}
.director-copy{position:relative}.director-mask{position:absolute;top:-32px;right:0;width:88px;height:auto;opacity:.4;transform:rotate(9deg)}.director h2{padding-right:85px}.contact{position:relative;isolation:isolate;overflow:hidden}.contact-mask{position:absolute;bottom:25px;left:44%;width:175px;height:auto;filter:brightness(0) invert(1);opacity:.26;transform:rotate(-13deg);z-index:-1;pointer-events:none}
.faq{background:#fff}.faq-list{border-top:1px solid var(--line);max-width:100%}.faq-list summary{font-family:var(--display);font-size:18px;line-height:1.5;padding:23px 0}.faq-list summary>.plus{margin-left:auto;flex:0 0 24px}.faq-list details>p{max-width:75ch;font-size:16px;padding:0 0 24px;line-height:1.65}.faq-list a{text-decoration:underline;text-underline-offset:4px;color:var(--magenta)}.faq-list details[open] summary{color:var(--magenta)}.activity-list summary:hover,.faq-list summary:hover{color:var(--magenta)}
.page-intro{position:relative;overflow:hidden}.page-intro-mask{position:absolute;top:65px;right:8%;width:185px;height:auto;opacity:.26;transform:rotate(12deg);pointer-events:none}.page-intro h1,.intro-bottom,.breadcrumb{position:relative}.course-table tr{transition:background .18s}.course-table tbody tr:hover{background:#faf6fc}.course-table tbody tr.is-selected{background:var(--lilac)}.course-table a{display:inline-block;padding:7px 0;border-bottom:1px solid transparent;transition:border-color .2s}.course-table a:hover{border-color:currentColor}.filter{transition:background .18s,color .18s,border-color .18s}.filters{position:relative}.filters::before{content:'';width:32px;height:21px;background:url('assets/image-remove-preview-1.png') center/contain no-repeat;margin-right:10px}.course-table tbody.filter-change{animation:course-change .24s ease-out}@keyframes course-change{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.person-intro{display:grid;grid-template-columns:1.18fr .9fr;gap:95px;align-items:center;padding-top:50px;padding-bottom:65px}.person-copy{position:relative}.person-copy h1{font-size:60px}.person-roles{font:19px/1.5 var(--display);color:var(--magenta);margin:16px 0 28px}.person-copy>.lead{font-size:22px;line-height:1.6;max-width:620px}.person-copy>p+p{margin-top:20px}.person-copy>.text-link{margin-top:28px}.person-mask{width:110px;height:auto;margin-top:36px;transform:rotate(-8deg)}.person-photo img{width:100%;aspect-ratio:.83;max-height:595px;object-position:center 25%}.person-teaching{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;background:var(--lilac)}.person-teaching h2{margin-bottom:22px}.person-teaching p+p{margin-top:20px}.person-teaching .text-link{margin-top:24px}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline time{color:var(--magenta);font-family:var(--display);font-size:18px}.timeline h3{font-size:24px;margin-bottom:10px}.timeline p{max-width:75ch}.person-training{display:grid;grid-template-columns:1fr 1.1fr;gap:95px;background:#f8f7f9}.person-training ul{margin:25px 0;padding-left:19px;color:var(--muted)}.person-training li{padding:0 0 14px 8px}.person-training .button{margin-top:5px}.training-mask{width:140px;height:auto;margin-top:45px;opacity:.55;transform:rotate(7deg)}
@media(min-width:1600px){.hero{height:600px}.hero h1{font-size:65px}}
@media(max-width:1100px){.hero-motif{left:4%;width:125px;top:75px}.header nav{gap:15px}.header .brand img{width:195px}.person-intro,.person-teaching,.person-training{gap:55px}.person-copy h1{font-size:50px}.page-intro-mask{right:5%;width:145px}}
@media(max-width:760px){html{scroll-padding-top:92px}.header{position:sticky;top:0}.hero{height:585px;min-height:0}.hero-copy{padding-top:62px;padding-inline:22px}.hero h1{font-size:45px}.hero-category{font-size:14px;margin-top:6px}.hero-line{font-size:19px;margin-top:12px}.hero-sub{font-size:13px;margin-top:12px;margin-bottom:16px;max-width:315px}.hero-photo{top:auto;height:250px}.hero-motif{width:70px;left:calc(50% - 35px);top:12px;transform:rotate(-6deg)}.hero-motif img{opacity:.7}.hero-bottom{font-size:12px;bottom:14px}.audience-action{font-size:13px;margin-top:12px}.director-mask{width:62px;top:0}.director h2{padding-right:65px}.contact-mask{bottom:30px;left:auto;right:-5px;width:120px;opacity:.26}.faq-list summary{font-size:16px;flex-wrap:nowrap;gap:20px;padding:21px 0}.faq-list details>p{font-size:15px}.page-intro-mask{width:130px;top:45px;right:12px;opacity:.26}.page-intro h1{font-size:34px;max-width:350px}.filters::before{display:none}.person-intro{grid-template-columns:1fr;gap:30px;padding-top:32px;padding-bottom:45px}.person-copy h1{font-size:39px}.person-roles{font-size:17px;margin:14px 0 22px}.person-copy>.lead{font-size:20px;line-height:1.55}.person-copy>p+p{font-size:15px}.person-mask{position:absolute;top:-2px;right:0;width:60px;margin:0;opacity:.2}.person-photo img{aspect-ratio:1;max-height:430px}.person-teaching,.person-training{grid-template-columns:1fr;gap:26px}.person-teaching .lead{font-size:20px}.person-teaching p+p{font-size:15px}.timeline article{grid-template-columns:1fr;gap:12px;padding:24px 0}.timeline time{font-size:15px}.timeline h3{font-size:22px}.timeline p{font-size:15px}.training-mask{display:none}.person-training ul{font-size:15px}.person-training .button{font-size:13px;max-width:100%;padding:13px 18px;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-motif{transform:rotate(-6deg)!important}.audience:hover>img,.audience:focus-visible>img,.button:hover{transform:none}}
