:root{--background: #fcfcfc;--color: #111;--modal-backdrop: #ffffffdd;--button-background: #00000044;--image-background: #eee;--accent: #3c69b0;--shadow-color: #00000033;--shadow-color-darker: #00000055}*{box-sizing:border-box}html,body{background-color:var(--background);padding:0;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:var(--color)}a{color:inherit;text-decoration:none}.page-shell{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:0 16px;position:relative;max-width:1600px;margin:auto}.site-header{position:sticky;top:0;margin-bottom:60px;background-color:var(--background);z-index:30;margin-top:32px;width:100%}.site-header-content{padding:16px 48px 16px 16px;display:flex;align-items:center;justify-content:space-between;max-width:1600px;margin:auto}.site-logo{object-fit:contain;height:80px;width:auto;display:block;cursor:pointer}.site-nav{display:flex;align-items:center}.site-nav a{color:var(--accent);cursor:pointer;padding-bottom:4px}.site-nav a.active{border-bottom:2px solid var(--accent)}.site-nav a:not(:first-child){margin-left:24px}.quote-wrap{text-align:center}.quote-wrap blockquote{max-width:800px;text-align:center;line-height:1.5;font-size:36px;position:relative;margin:-40px 0 32px;text-transform:initial;font-weight:700;color:var(--accent);font-style:normal}.quote-wrap blockquote:before{content:"“";left:-65px;top:30px}.quote-wrap blockquote:after{content:"”";right:-60px;bottom:-3px}.quote-wrap blockquote:before,.quote-wrap blockquote:after{font-family:Times New Roman,Times,serif;font-size:100px;color:var(--accent);line-height:0;position:absolute;opacity:.3}.view-panel.hidden{display:none}.masonry{column-count:3;column-gap:16px;width:100%}.masonry-item{width:100%;border:0;background:transparent;margin:0 0 16px;padding:0;display:block;break-inside:avoid;cursor:pointer;border-radius:4px;transition:all .3s ease-in-out}.masonry-item img{width:100%;display:block;border-radius:4px;background:var(--image-background);box-shadow:4px 10px 20px var(--shadow-color-darker)}.masonry-item:hover{transform:scale(1.03)}.masonry-item:hover img{box-shadow:4px 20px 30px var(--shadow-color-darker)}.gallery-load-sentinel{height:1px}.album-grid{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto 48px;max-width:1600px;padding:0 16px;width:100%}.album-card{border:0;background:transparent;text-align:left;cursor:pointer;padding:0;display:flex;flex-direction:column;border-radius:4px;align-items:center;flex:1 0 auto;max-width:min(450px,45%);box-shadow:4px 10px 20px var(--shadow-color);overflow:hidden;margin:8px;transition:all .3s ease-in-out;position:relative}.album-card:hover{transform:scale(1.03);box-shadow:4px 20px 30px var(--shadow-color)}.album-thumb-wrap{border-radius:3px;overflow:hidden;margin:12px;font-size:0;display:block}.album-thumb-wrap img{width:100%;aspect-ratio:1;max-width:100%;object-fit:cover;display:block}.album-meta{display:flex;align-items:center;flex:1;color:var(--color);padding:8px 16px 18px;font-size:18px}.album-meta span{font-size:14px;position:absolute;top:20px;right:20px;background-color:var(--background);height:28px;width:28px;border-radius:40px;font-weight:700;box-shadow:0 0 20px var(--shadow-color);display:flex;align-items:center;justify-content:center;line-height:1}.image-modal-overlay{position:fixed;inset:0;z-index:200}.image-modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--modal-backdrop);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.image-modal-content{position:absolute;inset:0;display:flex;width:100%;height:100%}.image-modal-image-wrap{flex:1 1 auto;position:relative;width:100%;height:100%}.image-modal-image{object-fit:contain;max-height:95%;max-width:95%;border-radius:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%}.image-modal-close,.image-modal-prev,.image-modal-next{position:fixed;background-color:var(--button-background);color:var(--color);width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:220;border:0}.image-modal-close{top:10px;right:10px;font-size:34px;line-height:35px}.image-modal-prev,.image-modal-next{top:50%;transform:translateY(-50%);font-size:40px;font-weight:200;line-height:34px}.image-modal-prev{left:16px}.image-modal-next{right:16px}.image-modal-sidebar{flex:0 0 400px;font-size:16px;z-index:210;display:flex;align-items:center;padding:100px 16px 48px}.image-modal-sidebar-content{width:100%}.image-modal-sidebar h3{font-size:24px;font-weight:400;margin-bottom:60px}.image-modal-sidebar label{padding-left:8px;margin-bottom:4px;display:block;opacity:.7;font-size:14px;font-weight:700;margin-top:32px}.image-modal-sidebar p{color:var(--accent);padding-left:8px;margin:0}.album-pill{text-decoration:underline;font-size:inherit;margin-bottom:16px;display:block;cursor:pointer;color:var(--accent)}.album-modal-content{z-index:211;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;overflow:auto;max-height:100vh;width:100%;padding:60px 16px}.album-modal-title{margin:48px 0 0;font-size:48px;font-weight:700;text-align:center;color:var(--color)}.album-modal-grid{max-width:1600px;width:100%;margin-top:80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.album-modal-item{border:0;padding:0;cursor:pointer;border-radius:4px;overflow:hidden;box-shadow:4px 10px 20px var(--shadow-color-darker);background:transparent;transition:transform .25s ease}.album-modal-item:hover{transform:scale(1.01)}.album-modal-item img{width:100%;display:block;background:var(--image-background)}.about-wrap{max-width:1600px;margin:auto;display:flex;align-items:center;justify-content:center;flex-direction:column}.about-image{height:200px;border-radius:50%;box-shadow:0 0 40px var(--button-background);margin-bottom:60px}.about-logo{height:150px;width:auto;display:block}.about-prose p{max-width:800px;text-align:center;line-height:1.5;font-size:18px}.about-prose blockquote{position:relative;margin:32px 0;font-weight:700;font-size:140%;color:var(--accent);max-width:800px;text-align:center}.courses-wrap{max-width:1600px;padding:0 32px;margin:auto auto 32px;display:grid;grid-template:auto / 1fr 1fr;row-gap:32px;column-gap:32px}.courses-wrap h1{grid-column:1 / -1;text-align:center;font-size:24px;color:var(--accent);margin-bottom:48px}.courses-prose h2{font-size:18px;font-weight:700;margin-bottom:42px;margin-top:16px;color:var(--accent)}.courses-prose a{color:var(--accent)}.courses-prose ul{padding-left:18px;list-style:none}.courses-prose li{margin-bottom:12px}.courses-prose li:before{content:"•";font-size:18px;margin-right:4px}.courses-prose blockquote{display:inline-block;margin:0;padding:8px 18px;border:1px solid var(--shadow-color);background-color:var(--image-background);border-radius:4px;text-align:center;box-shadow:2px 4px 20px var(--shadow-color)}.not-found-wrap{max-width:700px;margin:40px auto}.not-found-wrap a{color:var(--accent)}@media(max-width:1024px){.image-modal-sidebar{flex:0 0 200px;padding:0 16px}.image-modal-sidebar h3{font-size:20px;margin-bottom:16px}.album-modal-title{font-size:32px;margin-top:24px}.album-modal-grid{margin-top:32px}}@media(max-width:900px){.masonry{column-count:2}}@media(max-width:768px){.site-header{top:-135px;margin-bottom:60px}.site-logo{height:100px;margin-bottom:32px}.site-header-content{flex-direction:column;padding-right:0}.quote-wrap blockquote{max-width:250px;font-size:18px;margin-top:0}.quote-wrap blockquote:before{left:-55px}.quote-wrap blockquote:after{right:-50px}.album-grid{padding:0}.album-card{margin:8px;max-width:min(450px,100%)}.album-meta{font-size:14px;padding:0 8px 8px}.album-thumb-wrap{margin:6px}.album-meta span{top:10px;right:10px}.courses-wrap{padding:16px;grid-template:auto / 1fr}.courses-prose ul{list-style:initial;padding-left:15px}.courses-prose li:before{display:none}}@media(max-width:640px){.masonry{column-count:1}.image-modal-content{flex-direction:column;margin-top:32px}.image-modal-sidebar{width:100%;flex:0;padding:0 16px 32px}.album-modal-grid{grid-template-columns:1fr}.image-modal-prev,.image-modal-next,.image-modal-close{width:44px;height:44px;font-size:22px}}
