:root{--bg:#fff;--fg:#000;color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;cursor:default;-webkit-user-select:none;user-select:none;caret-color:transparent}
a,button{cursor:pointer}
input,textarea{cursor:text;-webkit-user-select:text;user-select:text;caret-color:var(--fg)}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--fg);font:13px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;overflow:hidden;position:relative;cursor:default}
.nav{position:absolute;z-index:5;color:inherit;text-decoration:none;padding:14px}
.tl{top:14px;left:18px}.tr{top:14px;right:18px}.bl{bottom:14px;left:18px}.br{bottom:14px;right:18px}
.clock{top:14px;left:50%;transform:translateX(-50%);font-variant-numeric:tabular-nums}
.clock,.clock time{cursor:pointer}
.artist{position:absolute;z-index:5;left:50%;bottom:14px;transform:translateX(-50%);margin:0;padding:14px;max-width:calc(100vw - 180px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.menu-toggle,.menu-close{display:none}
.mobile-menu{border:0;color:var(--fg);background:var(--bg)}
.stage{display:grid;grid-template-columns:1fr 1fr;height:100%;width:100%;max-width:1470px;margin:0 auto}
.pv{display:flex;align-items:center;justify-content:center;padding:0 4vw;min-height:0;overflow:hidden}
.pv img{display:block;max-width:100%;max-height:62vh;object-fit:cover;opacity:0;transition:opacity 1.4s ease .5s}
.rc{display:flex;align-items:center;justify-content:center;min-width:0}
.ring,.ring *{cursor:grab}
.ring{position:relative;touch-action:none;opacity:0;transition:opacity 1.6s ease}
.ring.drag,.ring.drag *{cursor:grabbing}
.it{position:absolute;left:0;top:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease;will-change:transform}
.it img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-drag:none}
.tick{position:absolute;background:var(--fg);z-index:50;pointer-events:none}
body.ready .pv img,body.ready .ring,body.ready .it{opacity:1}
@media (max-width:768px),(max-aspect-ratio:4/5){
 .clock{display:none}
 .nav.tr,.nav.bl,.nav.br{display:none}
 .menu-toggle{position:absolute;z-index:6;top:14px;right:18px;display:flex;width:44px;height:44px;padding:14px;border:0;background:none;color:inherit;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
 .menu-toggle span{display:block;width:16px;height:1px;background:currentColor}
 .mobile-menu{position:fixed;inset:0;display:flex;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;flex-direction:column;justify-content:center;align-items:center;visibility:hidden;opacity:0;transition:opacity .35s ease,visibility .35s ease}
 .mobile-menu[open]{visibility:visible;opacity:1}
 .mobile-menu::backdrop{background:var(--bg)}
 .mobile-menu[open]::backdrop{animation:menu-fade-in .35s ease both}
 .menu-close{position:absolute;top:14px;right:18px;display:flex;width:44px;height:44px;padding:14px;border:0;background:none;color:inherit;flex-direction:column;justify-content:center;gap:5px;cursor:pointer}
 .menu-close span{display:block;width:16px;height:1px;background:currentColor}
 .menu-close span:first-child{animation:menu-icon-open-first .25s ease both}
 .menu-close span:last-child{animation:menu-icon-open-last .25s ease both}
 .menu-links{display:flex;flex-direction:column;align-items:center;gap:44px}
 .menu-links a{color:inherit;text-decoration:none;font-size:13px}
 .stage{grid-template-columns:1fr;grid-template-rows:1fr auto}
 .pv{padding:92px 32px 8px}
 .pv img{max-width:96%;max-height:96%;object-fit:contain;cursor:zoom-in}
 body:not(.open) .pv img{transform:translateY(-14px)}
 .rc{padding-bottom:18px}
 .artist{display:none}
 body.open .pv{position:fixed;inset:0;z-index:100;background:var(--bg);padding:24px}
 body.open .pv{flex-direction:column;gap:12px}
 body.open .pv img{max-height:calc(100% - 52px);cursor:zoom-out}
 body.open .artist{position:static;display:block;transform:none;max-width:100%;padding:0}
}
@keyframes menu-fade-in{from{opacity:0}to{opacity:1}}
@keyframes menu-icon-open-first{from{transform:translateY(0) rotate(0)}to{transform:translateY(3px) rotate(45deg)}}
@keyframes menu-icon-open-last{from{transform:translateY(0) rotate(0)}to{transform:translateY(-3px) rotate(-45deg)}}
main{height:100%}
.ring,.pv{-webkit-user-select:none;user-select:none}
.content-page{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
.content-page main{height:auto}
.content-main{display:flex;align-items:center;width:100%;min-height:100svh;margin:0 auto}
.contact-copy{width:100%;max-width:595px}
.contact-image{display:block;width:100%;aspect-ratio:16 / 9;margin-bottom:12px;object-fit:cover;object-position:top center}
.contact-form{display:flex;gap:15px;padding:15px 15px 19px;flex-direction:column;border:1px solid var(--fg)}
.contact-fields{display:grid;gap:14px}
.contact-form label{display:grid;gap:8px;min-width:0}
.contact-form label>span{font-size:13px;line-height:1.6}
.contact-form input,.contact-form textarea{width:100%;min-width:0;padding:12px;border:1px solid #777;border-radius:0;outline:none;background:transparent;color:inherit;font:inherit;font-size:13px;line-height:1.5}
.contact-form input{height:47px}
.contact-form textarea{height:95px;min-height:95px;resize:vertical}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888;opacity:1}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:1px solid var(--fg);outline-offset:2px}
.contact-actions{display:flex;justify-content:flex-end}
.submit-button{min-width:83px;min-height:47px;padding:0 18px;border:1px solid #777;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.submit-button:hover{border-color:var(--fg)}
.submit-button:disabled{opacity:.5;cursor:wait}
.form-status{flex:1;margin:0;text-align:right;font-size:13px;line-height:1.4}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--bg);color:var(--fg);padding:10px 14px}
.skip:focus{left:18px;top:56px}
a:focus-visible,button:focus-visible,.ring:focus-visible,.pv img:focus-visible{outline:1px solid var(--fg);outline-offset:4px}
.ring:focus-visible{border-radius:50%}
@media (prefers-reduced-motion:reduce){.pv img,.ring,.it,.mobile-menu{transition:none!important}.mobile-menu[open]::backdrop,.menu-close span{animation:none!important}.menu-close span:first-child{transform:translateY(3px) rotate(45deg)}.menu-close span:last-child{transform:translateY(-3px) rotate(-45deg)}}
@media (forced-colors:active){.tick{background:CanvasText}}

.contact-page .content-main{justify-content:center;padding:24px}
.contact-email,.contact-email *{-webkit-user-select:text;user-select:text}
.contact-email{margin:12px 0 0;font-size:13px;line-height:1.4;text-align:center}
.contact-email a{color:inherit;text-underline-offset:3px}
@media (max-width:768px),(max-aspect-ratio:4/5){.contact-page .content-main{align-items:flex-start;padding:calc(82px + env(safe-area-inset-top, 0px)) 24px 24px}}
