@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2)format("woff2")}:root{--color-bg:#fff;--color-text:#000;--color-text-secondary:#444;--color-text-muted:#767676;--color-border:#ddd;--color-border-subtle:#eee;--color-link:#000;--color-link-hover:#595959;--color-error:#c44;--overlay-lightbox:#000000f2;--text-overlay-muted:#ffffff80}[data-theme=dark]{--color-bg:#000;--color-text:#fff;--color-text-secondary:#bbb;--color-text-muted:#a3a3a3;--color-border:#333;--color-border-subtle:#222;--color-link:#fff;--color-link-hover:#a3a3a3;--color-error:#e55;--overlay-lightbox:#000000fa;--text-overlay-muted:#fff6}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(57px + 3rem);font-size:18px}@media (width>=768px){html{scroll-padding-top:calc(77px + 3rem)}}body{color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}a{color:var(--color-link);text-decoration:none;transition:color .3s}a:hover{color:var(--color-link-hover)}img{max-width:100%;height:auto;display:block}::selection{background-color:var(--color-text);color:var(--color-bg)}:focus-visible{outline:1px solid var(--color-text);outline-offset:2px}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}button:active{opacity:.7}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2,h3,h4,h5,h6{color:var(--color-text);margin-top:2.5rem;margin-bottom:.75rem;font-weight:400;line-height:1.4}h1{margin-top:0;margin-bottom:1rem;font-size:1.375rem}h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-top:2rem;margin-bottom:.75rem;font-size:.6875rem}@media (width>=768px){h2{letter-spacing:.12em;margin-top:3rem;margin-bottom:1rem}}h3{margin-top:2rem;margin-bottom:.5rem;font-size:.875rem}h4,h5,h6{font-size:.75rem}p{color:var(--color-text-secondary);margin-top:0;margin-bottom:1rem;font-size:.875rem;line-height:1.6}strong{color:var(--color-text);font-weight:600}small{color:var(--color-text-muted);font-size:.75rem}ul,ol{color:var(--color-text-secondary);margin:0 0 1rem;padding-left:1rem;font-size:.875rem}li{margin-bottom:.25rem;line-height:1.6}nav ul{margin:0;padding:0;list-style:none}blockquote{color:var(--color-text);border:none;margin:1.5rem 0;padding:0;font-size:.875rem;line-height:1.75}blockquote p{color:inherit;margin-bottom:.5rem}blockquote p:last-of-type{margin-bottom:0}blockquote cite,blockquote strong{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-top:.75rem;font-size:.6875rem;font-weight:400;display:block}.lead{color:var(--color-text);margin-bottom:1rem;font-size:1rem;line-height:1.75}.intro{color:var(--color-text-secondary);font-size:.875rem;line-height:1.6}hr{border:0;border-top:1px solid var(--color-border);margin:2rem 0}@media (width>=768px){hr{margin:3rem 0}}.prose p{color:var(--color-text-secondary);margin-bottom:1.25em;line-height:1.75}@media (width>=768px){.prose p{line-height:1.8}}.prose a{background-image:linear-gradient(var(--color-text-muted), var(--color-text-muted));background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;text-decoration:none;transition:background-size .3s}.prose a:hover{background-size:100% 1px}.prose strong{font-weight:600}.prose hr{margin:2rem 0}@media (width>=768px){.prose hr{margin:3rem 0}}.prose blockquote{margin:2rem 0}.prose blockquote p{margin-bottom:.5rem;line-height:1.75}.prose ul,.prose ol{margin-bottom:1.25em;line-height:1.8}.prose li{margin-bottom:.5em}.site{flex-direction:column;min-height:100vh;display:flex}main{flex:1;padding:1.5rem 0 3rem}@media (width>=768px){main{padding:3rem 0 5rem}}main:has(.home){padding:0}main:has(.home) .container-wide{max-width:none;padding:0}body:has(.home){overflow:hidden}footer{padding:1.5rem 1.25rem;padding-right:max(1.25rem, env(safe-area-inset-right,0px));padding-bottom:max(1.5rem, env(safe-area-inset-bottom,0px));padding-left:max(1.25rem, env(safe-area-inset-left,0px));border-top:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);text-align:center;font-size:.6875rem}footer p{margin:0}.footer__content{flex-direction:column;align-items:center;gap:1rem;display:flex}.footer__nav{flex-wrap:wrap;justify-content:center;gap:.25rem;display:flex}@media (width>=480px){.footer__nav{gap:.5rem}}.footer__nav a{color:var(--color-text-muted);transition:color .3s}.footer__nav a:hover{color:var(--color-text)}.footer__nav a{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.5rem .25rem;display:inline-flex}@media (width>=480px){.footer__nav a{padding:.5rem .75rem}}.footer__copyright{color:var(--color-text-muted);font-size:.6875rem}.footer__copyright a{color:var(--color-text-muted);transition:color .3s}.footer__copyright a:hover{color:var(--color-text)}.page-loading{justify-content:center;align-items:center;gap:.5rem;min-height:200px;padding:3rem;display:flex}.page-loading__dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite loading-pulse}.page-loading__dot:nth-child(2){animation-delay:.2s}.page-loading__dot:nth-child(3){animation-delay:.4s}@keyframes loading-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.masthead{z-index:100;background:var(--color-bg);padding:1rem 1.25rem;padding-top:max(1rem, env(safe-area-inset-top,0px));padding-right:max(1.25rem, env(safe-area-inset-right,0px));padding-left:max(1.25rem, env(safe-area-inset-left,0px));border-bottom:1px solid var(--color-border);position:sticky;top:0}@media (width>=768px){.masthead{padding:1.5rem 2rem;padding-top:max(1.5rem, env(safe-area-inset-top,0px));padding-right:max(2rem, env(safe-area-inset-right,0px));padding-left:max(2rem, env(safe-area-inset-left,0px))}}.masthead-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}@media (width>=768px){.masthead-inner{flex-wrap:nowrap}}.masthead-title{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:400}.masthead-title a{color:var(--color-text)}.masthead-tagline{color:var(--color-text-muted);margin-left:.75rem;font-weight:400;display:none}@media (width>=480px){.masthead-tagline{display:inline}}.masthead-controls{align-items:center;gap:1rem;display:flex}@media (width>=768px){.masthead-controls{display:none}}.nav{border-top:1px solid var(--color-border-subtle);width:100%;display:none}.nav:focus{outline:none}@media (width>=768px){.nav{border-top:none;flex-direction:row;align-items:center;gap:1.25rem;width:auto;display:flex}}.nav--open{display:block}.nav--open .nav__inner{animation:.2s forwards nav-expand,.2s .15s forwards nav-fade-in}.nav--closing{display:block}.nav--closing .nav__inner{animation:.15s forwards nav-fade-out,.2s .1s forwards nav-collapse}.nav__inner{opacity:0;will-change:opacity;flex-direction:column;gap:.25rem;padding-top:1rem;display:flex}@media (width>=768px){.nav__inner{opacity:1;will-change:auto;padding-top:0;animation:none;display:contents}}@keyframes nav-expand{0%{max-height:0;padding-top:0}to{max-height:20rem;padding-top:1rem}}@keyframes nav-collapse{0%{max-height:20rem;padding-top:1rem}to{max-height:0;padding-top:0}}@keyframes nav-fade-in{to{opacity:1}}@keyframes nav-fade-out{0%{opacity:1}to{opacity:0}}.nav__link{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;transition:color .3s}.nav__link:hover{color:var(--color-text)}.nav__link{align-items:center;min-height:2.75rem;padding:.75rem 0;display:flex}@media (width>=768px){.nav__link{min-height:auto;padding:0;display:inline}}.nav__link.router-link-active{color:var(--color-text);font-weight:500}@media (width>=768px){.nav__link.router-link-active{position:relative}.nav__link.router-link-active:after{content:"";background:var(--color-text);height:1px;position:absolute;bottom:-.25rem;left:0;right:0}}.nav-toggle{width:2.75rem;height:2.75rem;color:var(--color-text-muted);justify-content:center;align-items:center;margin:-.875rem;transition:color .3s;display:flex}.nav-toggle:hover{color:var(--color-text)}.nav-toggle__icon{width:1rem;height:1rem}.nav-toggle__line{transform-origin:50%;will-change:transform;transition:transform .3s}.nav-toggle__line--top{transform:translateY(-.25rem)}.nav-toggle__line--bottom{transform:translateY(.25rem)}.nav-toggle[aria-expanded=true] .nav-toggle__line--top{transform:translateY(0)rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle__line--bottom{transform:translateY(0)rotate(-45deg)}.release{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem;scroll-margin-top:calc(57px + 1rem);display:grid}@media (width>=768px){.release{grid-template-columns:1fr 200px;gap:1.5rem;scroll-margin-top:calc(77px + 1rem)}}.release--text-only{margin-bottom:1.5rem;display:block}.release img,.release iframe{order:-1;width:100%;max-width:none;height:auto;margin-bottom:.5rem;display:block}@media (width>=768px){.release img,.release iframe{order:1;max-width:200px;margin-bottom:0}}.release iframe{aspect-ratio:1;height:auto}.release .bandcamp-player{aspect-ratio:1;cursor:pointer;order:-1;width:100%;position:relative}@media (width>=768px){.release .bandcamp-player{order:1;max-width:200px}}.release .bandcamp-player img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s,transform .3s;display:block;transform:translateY(.5rem)}.release .bandcamp-player img.is-loaded{opacity:1;transform:translateY(0)}.release .bandcamp-player iframe{border:0;width:100%;height:100%;position:absolute;top:0;left:0}.release .bandcamp-player:hover .bandcamp-player__button{opacity:1}.release .bandcamp-player--loading .bandcamp-player__button{opacity:.5;pointer-events:none}.release .bandcamp-player__button{cursor:pointer;opacity:0;background:#0006;border:none;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.release .bandcamp-player__button:after{content:"";border:10px solid #0000;border-left:16px solid #fff;border-right-width:0;position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.release .bandcamp-player__button:focus-visible{opacity:1;outline:2px solid var(--color-text);outline-offset:-2px}.release .bandcamp-player__fallback{background:var(--color-border-subtle);width:100%;height:100%;position:absolute;top:0;left:0}.release .bandcamp-player__loading{background:var(--color-border-subtle);width:100%;height:100%;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;font-size:.6875rem;display:flex;position:absolute;top:0;left:0}.release .release__spinner{background:var(--color-border-subtle);justify-content:center;align-items:center;gap:.5rem;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.release .release-cover{order:-1;width:100%;display:block;position:relative}@media (width>=768px){.release .release-cover{order:1;max-width:200px}}.release .release-cover img{opacity:0;width:100%;height:auto;margin:0;transition:opacity .3s,transform .3s;display:block;transform:translateY(.5rem)}.release .release-cover img.is-loaded{opacity:1;transform:translateY(0)}.release .release-cover:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.release .release-cover--bandcamp:after{content:"";opacity:0;pointer-events:none;background:#0006;width:100%;height:100%;transition:opacity .3s;position:absolute;top:0;left:0}.release .release-cover--bandcamp:before{content:"";z-index:1;opacity:0;border:10px solid #0000;border-left:16px solid #fff;border-right-width:0;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-40%,-50%)}.release .release-cover--bandcamp:hover:after,.release .release-cover--bandcamp:hover:before,.release .release-cover--bandcamp:focus-visible:after,.release .release-cover--bandcamp:focus-visible:before{opacity:1}.release .release-details{order:1}@media (width>=768px){.release .release-details{order:-1}}.release .release-details p{margin-bottom:.5rem}.release .release-details p:first-child strong{color:var(--color-text);font-size:1rem}.release .release-details .release-title-link{color:inherit;text-decoration:none;transition:opacity .3s}.release .release-details .release-title-link:hover{opacity:.7}.release .release-details .release-title-link:focus-visible{outline:1px solid var(--color-border);outline-offset:2px}.release .release-details .release-meta{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem}.release .release-details .release-meta a{text-underline-offset:.15em;text-decoration-thickness:1px;text-decoration:underline!important}.release .release-details .release-meta a:hover,.release .release-details .release-meta a:focus{text-decoration-thickness:2px}.release .release-details .release-description{color:var(--color-text-secondary);font-size:.875rem;line-height:1.75}.release .release-details ol{color:var(--color-text-muted);margin-top:1rem;margin-bottom:0;padding-left:1.25rem;font-size:.75rem}.release .release-details ol li{margin-bottom:.25rem;line-height:1.6}.release .release-details .release-credits{color:var(--color-text-muted);margin-top:.75rem;font-size:.6875rem}.release .release-details .release-credits a{text-underline-offset:.15em;text-decoration:underline;text-decoration-thickness:1px}.release .release-details .release-credits a:hover,.release .release-details .release-credits a:focus{text-decoration-thickness:2px}.release--text-only .release-details p{margin-bottom:.25rem}.release--text-only .release-details .release-meta{margin-bottom:.5rem}.release--text-only .release-details .release-description{font-size:.75rem;line-height:1.6}.social-links{justify-content:center;gap:.5rem;display:flex}@media (width>=480px){.social-links{gap:1rem}}.social-links a{color:var(--color-text-muted);transition:color .3s}.social-links a:hover{color:var(--color-text)}.pagination{justify-content:center;gap:1rem;margin:2rem 0;font-size:.75rem;display:flex}.pagination-item{border:1px solid var(--color-border);color:var(--color-text-muted);padding:.5rem 1rem}.pagination-item:hover{color:var(--color-text);border-color:var(--color-text)}.pagination-item--disabled{opacity:.5;pointer-events:none}.contact-intro{max-width:33rem;margin:0 auto 2rem}@media (width>=768px){.contact-intro{margin-bottom:3rem}}.contact-intro p{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.875rem;line-height:1.75}.contact-intro p:last-child{margin-bottom:0}.contact-intro a{color:var(--color-text);border-bottom:1px solid var(--color-border);text-decoration:none;transition:border-color .3s}.contact-intro a:hover{border-color:var(--color-text)}.contact-success{text-align:center;max-width:33rem;margin:0 auto 2rem}@media (width>=768px){.contact-success{margin-bottom:3rem}}.contact-success h2{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-top:0;margin-bottom:1rem;font-size:.6875rem;font-weight:500}.contact-success p{color:var(--color-text-secondary);margin-bottom:0;font-size:.875rem;line-height:1.75}.contact-form{max-width:33rem;margin:0 auto}.contact-form__honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.contact-form__field{margin-bottom:1.5rem}.contact-form__field:last-of-type{margin-bottom:2rem}.contact-form__error{color:var(--color-error,#c0392b);margin-top:.5rem;font-size:.6875rem;display:block}.contact-form__label{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.6875rem;font-weight:500;display:block}.contact-form__label abbr{color:var(--color-text);margin-left:.25rem;text-decoration:none}.contact-form__input,.contact-form__textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background-color:var(--color-bg);padding:.75rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.6;transition:border-color .3s,background-color .3s}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:var(--color-text-muted);opacity:.6;transition:opacity .3s}.contact-form__input:hover,.contact-form__textarea:hover{border-color:var(--color-text-muted)}.contact-form__input:hover::placeholder,.contact-form__textarea:hover::placeholder{opacity:.8}.contact-form__input:focus,.contact-form__textarea:focus{border-color:var(--color-text);outline:none}.contact-form__input:focus::placeholder,.contact-form__textarea:focus::placeholder{opacity:.4}.contact-form__input--invalid,.contact-form__textarea--invalid,.contact-form__input--invalid:hover,.contact-form__input--invalid:focus,.contact-form__textarea--invalid:hover,.contact-form__textarea--invalid:focus{border-color:var(--color-error)}@media (prefers-reduced-motion:reduce){.contact-form__input,.contact-form__textarea,.contact-form__input::placeholder,.contact-form__textarea::placeholder{transition-duration:.01ms}}.contact-form__textarea{resize:vertical;min-height:8rem;max-height:24rem}.contact-form__submit{border:1px solid var(--color-text);text-transform:uppercase;letter-spacing:.05em;width:100%;min-height:2.75rem;color:var(--color-text);cursor:pointer;background-color:#0000;padding:.75rem 1.5rem;font-size:.75rem;font-weight:500;transition:color .3s,background-color .3s,opacity .3s,transform .3s;display:block}@media (width>=768px){.contact-form__submit{width:auto;display:inline-block}}.contact-form__submit--valid{color:var(--color-bg);background-color:var(--color-text)}.contact-form__submit--valid:hover:not(:disabled){opacity:.9}.contact-form__submit--valid:active:not(:disabled){opacity:.8;transform:translateY(1px)}.contact-form__submit:not(.contact-form__submit--valid):hover:not(:disabled){background-color:var(--color-border-subtle)}.contact-form__submit:disabled{opacity:.5;cursor:not-allowed}.contact-form__submit:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}@media (prefers-reduced-motion:reduce){.contact-form__submit{transition-duration:.01ms}.contact-form__submit:active:not(:disabled){transform:none}}.lightbox{background-color:var(--overlay-lightbox);z-index:9999;cursor:pointer;contain:layout style paint;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex;position:fixed;top:0;left:0}@media (width>=768px){.lightbox{padding:2rem}}.lightbox__image{object-fit:contain;cursor:default;width:90vw;height:90vh}.lightbox__video{cursor:default;border:none;width:90vw;max-width:160vh;height:50.625vw;max-height:90vh}.lightbox__hints{z-index:10000;align-items:center;gap:0;display:flex;position:absolute;bottom:1vh;left:50%;transform:translate(-50%)}.lightbox__hint{min-width:44px;min-height:44px;color:var(--color-background);opacity:.5;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.25rem;font-size:.875rem;line-height:1;transition:opacity .3s,transform .3s;display:flex}@media (width>=768px){.lightbox__hint{padding:.5rem;font-size:1rem}}.lightbox__hint:hover:not(:disabled){opacity:1}.lightbox__hint:disabled{opacity:.2;cursor:not-allowed}@media (prefers-reduced-motion:no-preference){.lightbox__hint:active:not(:disabled){transform:scale(.9)}}.lightbox__hint--prev,.lightbox__hint--next{transform:translateY(1px)}.lightbox__hint--close{font-size:1.125rem;font-weight:300}@media (width>=768px){.lightbox__hint--close{font-size:1.375rem}}.lightbox__credit{color:var(--text-overlay-muted);z-index:10000;pointer-events:auto;text-align:center;font-size:.75rem;position:absolute;bottom:4vh;left:50%;transform:translate(-50%)}@media (width>=768px){.lightbox__credit{text-align:right;font-size:.6875rem;bottom:1vh;left:auto;right:2rem;transform:none}}.lightbox__credit a{color:var(--color-link);text-decoration:none;transition:color .3s}.lightbox__credit a:hover,.lightbox__credit a:focus-visible{color:var(--color-link-hover)}.lightbox-enter-active,.lightbox-leave-active{transition:opacity .3s}.lightbox-enter-from,.lightbox-leave-to{opacity:0}.accordion-section{margin-top:.5rem;scroll-margin-top:calc(57px + 1rem)}@media (width>=768px){.accordion-section{scroll-margin-top:calc(77px + 1rem)}}.accordion-section:first-of-type{margin-top:0}.accordion-heading{font:inherit;margin:0}.accordion-trigger{cursor:pointer;text-align:left;text-transform:uppercase;letter-spacing:.05em;width:100%;color:var(--color-text-muted);background:0 0;border:none;justify-content:space-between;align-items:center;margin:0 0 .75rem;padding:0;scroll-margin-top:calc(57px + 1rem);font-family:inherit;font-size:.6875rem;font-weight:400;line-height:1.4;display:flex}@media (width>=768px){.accordion-trigger{letter-spacing:.12em;margin-bottom:1rem;scroll-margin-top:calc(77px + 1rem)}}.accordion-trigger:hover{color:var(--color-text)}.accordion-trigger:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}.accordion-trigger:after{content:"";will-change:transform;border-bottom:1px solid;border-right:1px solid;flex-shrink:0;width:.375rem;height:.375rem;margin-left:.5rem;transition:transform .3s;transform:rotate(45deg)}.accordion-trigger[aria-expanded=true]:after{transform:rotate(-135deg)}.accordion-content{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.accordion-content[aria-hidden=false]{grid-template-rows:1fr}.accordion-content[aria-hidden=false] .accordion-content-inner{opacity:1;transition-delay:.15s}.accordion-content:focus{outline:none}.accordion-content:focus-visible{outline:2px solid var(--color-text);outline-offset:4px}.accordion-content-inner{opacity:0;will-change:opacity;transition:opacity .3s;overflow:hidden}.home .hero{width:100%;min-height:50vh;height:calc(100vh - 57px - 180px - max(0px, env(safe-area-inset-bottom,0px) - 1.5rem) + 3px);opacity:0;background-position:bottom;background-repeat:no-repeat;background-size:cover;margin:0;padding:0;transition:opacity .3s;position:relative}.home .hero--loaded{opacity:1}@media (aspect-ratio>=3/2){.home .hero{background-size:100%}}@media (width>=768px){.home .hero{height:calc(100vh - 77px - 180px - max(0px, env(safe-area-inset-bottom,0px) - 1.5rem) + 3px)}}.home .hero__loading{gap:.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home .hero__loading-dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite loading-pulse}.home .hero__loading-dot:nth-child(2){animation-delay:.2s}.home .hero__loading-dot:nth-child(3){animation-delay:.4s}.page[data-page=about] .about-image-group{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(150px,200px);gap:1rem;margin:3rem 0;display:grid}@media (width>=768px){.page[data-page=about] .about-image-group{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto);gap:1.5rem;margin:4rem 0}}.page[data-page=about] .about-image-group:has(+.about-image-group){margin-bottom:0}.page[data-page=about] .about-image-group+.about-image-group{margin-top:1rem}@media (width>=768px){.page[data-page=about] .about-image-group+.about-image-group{margin-top:1.5rem}:is(.page[data-page=about] .about-image-group:has(.about-image-group__image:first-child:nth-last-child(2)),.page[data-page=about] .about-image-group:has(.about-image-group__image:first-child:nth-last-child(4))){grid-auto-rows:minmax(200px,550px)}}.page[data-page=about] .about-image-group__image{cursor:pointer;margin:0;position:relative;overflow:hidden}.page[data-page=about] .about-image-group__image img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;display:block}.page[data-page=about] .about-image-group__image img[src]{opacity:1}.page[data-page=about] .about-image-group__image:hover img{opacity:.9}@media (width>=768px){.page[data-page=about] .about-image-group__image:first-child:nth-last-child(3){grid-area:1/1/3/3}.page[data-page=about] .about-image-group__image:nth-child(2):nth-last-child(2){grid-area:1/3/2/5}.page[data-page=about] .about-image-group__image:nth-child(3):last-child{grid-area:2/3/3/5}.page[data-page=about] .about-image-group__image:first-child:nth-last-child(4){grid-area:1/1/2/3}.page[data-page=about] .about-image-group__image:nth-child(2):nth-last-child(3){grid-area:1/3/2/5}.page[data-page=about] .about-image-group__image:nth-child(3):nth-last-child(2){grid-area:2/1/3/3}.page[data-page=about] .about-image-group__image:nth-child(4):last-child{grid-area:2/3/3/5}.page[data-page=about] .about-image-group__image:first-child:nth-last-child(2){grid-column:1/3}.page[data-page=about] .about-image-group__image:nth-child(2):last-child{grid-column:3/5}}.page[data-page=about] .about-image{margin:3rem 0}@media (width>=768px){.page[data-page=about] .about-image{margin:4rem 0}}.page[data-page=about] .about-image img{opacity:0;width:100%;height:auto;transition:opacity .3s;display:block}.page[data-page=about] .about-image img[src]{opacity:1}.page[data-page=about] .short-bio{border-bottom:1px solid var(--color-border);margin-bottom:3rem;padding-bottom:2rem}@media (width>=768px){.page[data-page=about] .short-bio{margin-bottom:4rem;padding-bottom:3rem}}.page[data-page=about] .short-bio p{color:var(--color-text-primary);margin-bottom:0;font-size:1rem;line-height:1.75}@media (width>=768px){.page[data-page=about] .short-bio p{font-size:1.125rem;line-height:1.8}}.page[data-page=about] .prose{margin-bottom:2rem}@media (width>=768px){.page[data-page=about] .prose{margin-bottom:3rem}}.about-image-group+.page[data-page=about] .prose{margin-top:3rem}@media (width>=768px){.about-image-group+.page[data-page=about] .prose{margin-top:4rem}}.page[data-page=press] blockquote{border-bottom:1px solid var(--color-border-subtle);margin:2rem 0;padding-bottom:2rem;scroll-margin-top:calc(57px + 1rem)}@media (width>=768px){.page[data-page=press] blockquote{scroll-margin-top:calc(77px + 1rem)}}.page[data-page=press] blockquote:last-of-type{border-bottom:none;padding-bottom:0}.page[data-page=press] blockquote p{font-size:1rem;line-height:1.75}.page[data-page=press] h2+p{color:var(--color-text-muted);font-size:.75rem}.page[data-page=live] .event{margin-bottom:2.5rem;scroll-margin-top:calc(57px + 1rem)}@media (width>=768px){.page[data-page=live] .event{scroll-margin-top:calc(77px + 1rem)}}.page[data-page=live] .event--text-only .event-details p{margin-bottom:.25rem}.page[data-page=live] .event--text-only .event-details .event-meta{margin-bottom:.5rem}.page[data-page=live] .event--text-only .event-details .event-description{color:var(--color-text-secondary);font-size:.75rem;line-height:1.6}.page[data-page=live] .event-details p:first-child strong{font-size:.875rem}.page[data-page=live] .event-meta{text-transform:none;letter-spacing:normal;color:var(--color-text-muted);font-size:.75rem;font-style:italic}.page[data-page=live] .event-meta a{text-underline-offset:.15em;text-decoration-thickness:1px;text-decoration:underline!important}.page[data-page=live] .event-meta a:hover,.page[data-page=live] .event-meta a:focus{text-decoration-thickness:2px}.page[data-page=live] .event-description a{text-underline-offset:.15em;text-decoration:underline;text-decoration-thickness:1px}.page[data-page=live] .event-description a:hover,.page[data-page=live] .event-description a:focus{text-decoration-thickness:2px}.page[data-page=live] .event-date{color:var(--color-text-muted)}.page[data-page=live] .event-title-link{color:inherit;text-decoration:none;transition:opacity .3s}.page[data-page=live] .event-title-link:hover{opacity:.7}.page[data-page=live] .event-title-link:focus-visible{outline:1px solid var(--color-border);outline-offset:2px}.page[data-page=live] .event-title-ref{color:var(--color-text-muted);margin-left:.25rem;font-size:.85em;text-decoration:none;transition:opacity .3s}.page[data-page=live] .event-title-ref:hover{opacity:.7}.page[data-page=live] .event-title-ref:focus-visible{outline:1px solid var(--color-border);outline-offset:2px}.event-photos-link,.release-gallery-link{margin-top:.5rem;margin-bottom:0}.not-found{text-align:center;padding:3rem 0}.not-found h1{margin-bottom:1rem;font-size:1.375rem}.not-found>p{color:var(--color-text-secondary);margin-bottom:2rem}.not-found-nav p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.75rem}.not-found-nav ul{flex-wrap:wrap;justify-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.not-found-nav a{border:1px solid var(--color-border);padding:.5rem 1rem;transition:border-color .3s,color .3s;display:inline-block}.not-found-nav a:hover{border-color:var(--color-text)}.visually-hidden{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);padding:.5rem 1rem;font-size:.75rem;text-decoration:none;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:1rem}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-uppercase{text-transform:uppercase;letter-spacing:.12em}.container-wide{max-width:72rem;margin:0 auto;padding:0 1.25rem}@media (width>=768px){.container-wide{padding:0 1.5rem}}@media (width>=1024px){.container-wide{padding:0 2rem}}.container-full{width:100%;padding:0}.link-discrete{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.6875rem;text-decoration:none;transition:color .3s}.link-discrete:hover,.link-discrete:focus-visible{color:var(--color-text)}.link-discrete:focus-visible{outline:1px solid var(--color-border);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.link-discrete:active{transform:scale(.98)}}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(.5rem)}.page-leave-to{opacity:0;transform:translateY(-.5rem)}.page-enter-to,.page-leave-from{opacity:1;transform:translateY(0)}:is(.page-enter-from:has(.home),.page-leave-to:has(.home)){transform:translateY(0)}
