@font-face{font-family:Advert;src:url('assets/fonts/advert-regular.ttf')}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#000;color:#fff;font-family:Arial,sans-serif}body{height:100svh;overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #ffb73d;outline-offset:6px}[hidden]{display:none!important}.backdrop{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.shade{position:fixed;inset:0;background:#0002;pointer-events:none}header{position:fixed;top:30px;left:50%;transform:translateX(-50%);z-index:5;white-space:nowrap}.wordmark{font-family:Advert,Georgia,serif;font-size:48px;font-weight:400;background:none;border:0}.nav{position:fixed;z-index:5;left:32px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:38px}.nav button{writing-mode:vertical-rl;transform:rotate(180deg);padding:0 8px;border:0;background:none;text-transform:uppercase;font-size:20px;font-weight:700;min-height:64px}.nav button[aria-expanded=true],.nav button:hover{color:#ffb73d}.socials{position:fixed;z-index:5;right:38px;top:50%;transform:translateY(-50%);display:grid;gap:32px}.socials img{width:28px;height:28px;object-fit:contain}.socials a:hover{transform:scale(1.15)}.panel{position:fixed;z-index:3;inset:120px 130px 130px;overflow:auto;animation:enter .35s ease both;text-align:center}.panel:has(.carousel){overflow:visible}.close{position:absolute;right:0;top:-20px;border:0;background:#0005;border-radius:50%;font-size:28px;width:40px;height:40px;z-index:4}.carousel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:10px}.slide{width:100%;display:grid;justify-items:center}.cover{width:min(400px,48vh,100%);aspect-ratio:1;object-fit:cover;border:0;background:#0004}.video-frame{width:min(900px,100%);aspect-ratio:16/9;border:0;background:#000}.slide-title{font-family:Impact,'Arial Narrow',sans-serif;font-size:25px;font-weight:700;margin:12px 0 0;line-height:1.25}.slide-title a:hover{text-decoration:underline}.dots{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:30px}.dot{border:0;border-radius:50%;width:19px;height:19px;background:#ffffff70;padding:0}.dot[aria-current=true]{background:white}.arrow{position:absolute;top:35%;background:none;border:0;font-size:64px;line-height:1;opacity:.95;padding:16px}.prev{left:5%}.next{right:5%}.arrow:disabled{opacity:.25;cursor:default}.tour-wrap{max-width:760px;margin:auto;background:#0009;padding:30px}.tour-wrap h1{font-family:Advert,serif;font-size:42px}.tour-wrap p{line-height:1.6}.fallback-link{display:inline-block;margin:16px 0;padding:12px 18px;border:1px solid #ffffff80}.shop-wrap{background:#0008;padding:30px;min-height:100%}.shop-wrap h1{font-family:Advert,serif;font-size:40px}footer{position:fixed;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}.join{display:flex;gap:7px;align-items:center}.join input{width:180px;background:transparent;color:#fff;border:0;border-bottom:1px solid #fff;padding:4px;border-radius:0}.join button{background:transparent;border:1px solid #fff;font-size:12px;padding:3px 6px}.footer-image{height:32px;width:auto;display:block}.footer-image.spotify{height:29px}.links-mark{color:#ffb73d;font-size:32px}.motion{position:fixed;bottom:26px;right:24px;z-index:6;border:1px solid #fff5;background:#0007;padding:6px 9px;font-size:11px}.signup-note{position:fixed;z-index:9;bottom:80px;left:50%;transform:translateX(-50%);padding:20px;background:#111;border:1px solid #777;max-width:90vw;width:420px;line-height:1.5}.signup-note a{text-decoration:underline}.signup-note button{float:right;background:none;border:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){header{top:22px}.wordmark{font-size:38px}.nav{top:93px;left:0;width:100%;transform:none;flex-direction:row;justify-content:center;gap:10px}.nav button{writing-mode:horizontal-tb;transform:none;min-height:44px;font-size:14px;padding:10px}.socials{right:auto;left:50%;top:auto;bottom:92px;transform:translateX(-50%);display:flex;gap:26px}.socials img{width:23px;height:23px}.panel{inset:150px 22px 155px}.cover{width:min(100%,42svh)}.arrow{top:30%;font-size:44px;padding:6px;background:#0005}.prev{left:-16px}.next{right:-16px}.dots{gap:9px;margin-top:18px}.dot{width:13px;height:13px}.slide-title{font-size:20px}.close{right:-10px;top:-18px;font-size:23px}.video-frame{margin-top:25px}.tour-wrap,.shop-wrap{padding:18px}footer{bottom:25px;gap:14px;flex-wrap:wrap;width:94%;white-space:normal}.join input{width:130px}.footer-image{height:22px}.footer-image.spotify{height:22px}.links-mark{font-size:24px}.motion{right:8px;bottom:5px;font-size:9px;padding:2px 5px}.signup-note{bottom:135px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* Carousel mechanics and requested popup refinements. */
.carousel-scroll-area{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin}
.carousel{height:auto;min-height:100%;justify-content:center}
.carousel-viewport{width:100%;flex-shrink:0;overflow:hidden;touch-action:pan-y pinch-zoom}
.carousel-viewport,.carousel-viewport *{cursor:grab}
.carousel-viewport:active,.carousel-viewport:active *{cursor:grabbing}
.carousel-track{display:flex;width:100%;align-items:center;will-change:transform}
.carousel-track .slide{flex:0 0 100%;min-width:0;user-select:none;-webkit-user-select:none}
.carousel-track .slide-title{max-width:100%;overflow-wrap:anywhere;font-weight:500}
.media,.artwork-link{width:100%;display:grid;justify-items:center}
.media .cover{width:min(400px,48vh,100%,var(--media-limit,10000px))}
.media .video-frame{width:min(900px,100%,calc(var(--media-limit,10000px)*16/9))}
.music-preview{padding:0;overflow:hidden}
.cover-art{display:block;width:100%;height:100%;object-fit:cover}
.video-preview{position:relative;display:grid;place-items:center;padding:0;color:inherit}
.video-thumbnail{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-preview svg{position:relative;width:68px;height:48px}
.rotation-toggle{border:0;background:none;color:inherit;font-size:11px;padding:3px 6px;margin-top:8px}
.release-title{border:0;background:none;padding:0;color:inherit;font:inherit}
.release-title:hover{text-decoration:underline}
.stream-options{min-height:0;overflow:hidden;container-type:inline-size;padding:12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;border:1px solid #ffffff60;background:#000d;text-align:left}
.stream-prompt{margin:0;font-size:14px;font-weight:400}
.stream-services{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));align-content:start;gap:8px;padding:2px}
.stream-service{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;min-height:52px;border:1px solid #ffffff60;padding:8px 10px;font-size:14px}
.stream-icon{display:block;width:24px;height:24px;object-fit:contain}
.stream-label{display:grid;gap:3px;min-width:0}
.stream-name{overflow-wrap:anywhere}
.stream-service:hover{border-color:#fff;background:#ffffff12}
.stream-service:focus-visible{outline-offset:-3px}
.stream-action{font-size:11px;opacity:.7}
.stream-back{justify-self:start;border:0;background:none;padding:4px 0;font-size:12px;text-decoration:underline}
@container(max-width:220px){.stream-service{grid-template-columns:20px minmax(0,1fr);gap:6px;padding:6px;min-height:44px;font-size:12px}.stream-icon{width:20px;height:20px}.stream-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stream-action{font-size:10px}}
.carousel-viewport .stream-options,.carousel-viewport .stream-options *{cursor:auto;user-select:text;-webkit-user-select:text}
.carousel-viewport .stream-options a,.carousel-viewport .stream-options a *,.carousel-viewport .stream-options button{cursor:pointer}
#shop{left:0;right:0;width:min(640px,48vw);margin-inline:auto;overflow:visible}
#tour{left:0;right:0;width:min(760px,calc(100vw - 260px));margin-inline:auto;overflow:visible}
#tour>.close,#shop>.close{top:12px;right:12px}
.tour-wrap,.shop-wrap{max-height:100%;overflow-y:auto;overscroll-behavior-y:contain;padding-top:32px}
.tour-wrap,.shop-wrap,.signup-copy{scrollbar-width:thin;scrollbar-color:#ffffff55 transparent}
.tour-wrap::-webkit-scrollbar,.shop-wrap::-webkit-scrollbar,.signup-copy::-webkit-scrollbar{width:6px}
.tour-wrap::-webkit-scrollbar-track,.shop-wrap::-webkit-scrollbar-track,.signup-copy::-webkit-scrollbar-track{background:transparent}
.tour-wrap::-webkit-scrollbar-thumb,.shop-wrap::-webkit-scrollbar-thumb,.signup-copy::-webkit-scrollbar-thumb{background:#ffffff55;border-radius:3px}
.tour-wrap::-webkit-scrollbar-thumb:hover,.shop-wrap::-webkit-scrollbar-thumb:hover,.signup-copy::-webkit-scrollbar-thumb:hover{background:#ffffff80}
.join .signup-line{display:inline-block;width:180px;height:27px;border-bottom:1px solid #fff}
.join .signup-join{font-size:12px;line-height:normal;border:1px solid #fff;padding:3px 6px}
@media(max-width:700px){.media .cover{width:min(100%,42svh,var(--media-limit,10000px))}.join .signup-line{width:130px}}
@media(max-width:700px){#tour,#shop{left:22px;right:22px;width:auto}}

/* Original vector title and bird artwork; the player uses their original motion. */
.wordmark{display:block;width:280px;height:44.8px;padding:0}
.links-mark{display:block;width:45px;height:38px}
.brand-animation{display:block;position:relative;width:100%;height:100%}
.brand-fallback{display:block;width:100%;height:100%;object-fit:contain}
.brand-player{position:absolute;inset:0}
.brand-player svg{display:block;width:100%;height:100%}
.brand-animation.is-ready>.brand-fallback{visibility:hidden}
/* Keep the original SVG moving while the vector player loads or is unavailable. */
[data-brand-name=title]>.brand-fallback{animation:brand-title-pulse 2s ease-in-out infinite!important;transform-origin:center}
[data-brand-name=bird]>.brand-fallback{animation:brand-bird-sway 1.333333s ease-in-out infinite!important;transform-origin:55% 75%}
.brand-animation>.brand-fallback{animation-play-state:paused!important}
.brand-animation[data-animation-state=playing]>.brand-fallback{animation-play-state:running!important}
.brand-animation.is-ready>.brand-fallback{animation:none!important}
@keyframes brand-title-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}
@keyframes brand-bird-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@media(max-width:991px){.wordmark{width:330px;height:52.8px}}
@media(max-width:700px){body>header{top:12px}.links-mark{height:30px}.wordmark{width:300px;height:48px}}
@media(max-width:479px){.wordmark{width:220px;height:35.2px}}

/* Mailing-list invitation. */
.signup-dialog{inset:120px 0 130px;width:min(640px,48vw);max-width:calc(100vw - 44px);max-height:min(560px,calc(100svh - 250px));margin:auto;padding:0;overflow:hidden;border:1px solid #ffffff60;background:#0b0b0bf5;color:#fff;text-align:left}
.signup-dialog[open]{display:flex;flex-direction:column;animation:enter .25s ease both}
.signup-dialog::backdrop{background:#0008}
.signup-dialog .signup-header{position:relative;top:auto;left:auto;transform:none;z-index:auto;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 28px 16px;white-space:normal}
.signup-header h2{margin:0;font-family:Advert,Georgia,serif;font-size:36px;font-weight:400;line-height:1.2}
.signup-header h2:focus{outline:none}
.signup-close{flex-shrink:0;width:40px;height:40px;border:1px solid #ffffff50;border-radius:50%;background:none;color:inherit;font-size:26px;line-height:1}
.signup-copy{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 28px 8px;font-size:14px;line-height:1.55}
.signup-copy p{margin:0 0 16px}
.signup-copy ol{margin:0 0 16px;padding-left:22px}
.signup-copy li{padding-left:3px;margin:0 0 7px}
.signup-signoff{line-height:1.6}
.signup-action{flex-shrink:0;border-top:1px solid #ffffff35;padding:18px 28px 22px}
.signup-continue{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid #fff;background:transparent;color:inherit;font-size:13px}
.signup-continue:hover{background:#ffffff15}
@media(max-width:700px){.signup-dialog{inset:150px 22px 155px;width:auto;max-height:calc(100svh - 305px)}.signup-dialog .signup-header{padding:18px 18px 12px}.signup-header h2{font-size:clamp(24px,7.2vw,30px)}.signup-copy{padding:0 18px 4px}.signup-action{padding:14px 18px 18px}}
@media(max-height:700px){.signup-dialog .signup-header{padding:8px 18px}.signup-header h2{font-size:28px}.signup-action{padding:10px 18px}}
@media(min-width:701px) and (max-height:600px){.signup-dialog{inset:100px 0 80px;max-height:calc(100svh - 180px)}}

/* Keep mobile controls inside the picture, clear of the film's letterbox bars. */
@media(max-width:700px){
  body{--mobile-video-bar:6.5svh;--mobile-wordmark-height:48px;--mobile-row-gap:10px;--mobile-footer-height:30px;--mobile-title-top:calc(var(--mobile-video-bar) + 12px);--mobile-nav-top:max(93px,calc(var(--mobile-title-top) + var(--mobile-wordmark-height) + var(--mobile-row-gap)));--mobile-panel-top:calc(var(--mobile-nav-top) + 57px);--mobile-panel-bottom:calc(156px + var(--mobile-video-bar))}
  body>header{top:var(--mobile-title-top)}
  .nav{top:var(--mobile-nav-top)}
  footer{bottom:calc(26px + var(--mobile-video-bar))}
  .socials{bottom:calc(26px + var(--mobile-video-bar) + var(--mobile-footer-height) + var(--mobile-row-gap))}
  .motion{bottom:calc(6px + var(--mobile-video-bar))}
  .panel{top:var(--mobile-panel-top);bottom:var(--mobile-panel-bottom)}
  .signup-dialog{top:var(--mobile-panel-top);bottom:var(--mobile-panel-bottom);max-height:calc(100svh - var(--mobile-panel-top) - var(--mobile-panel-bottom))}
}
@media(max-width:479px){body{--mobile-wordmark-height:35.2px}}
/* Leave the same gap when the footer wraps on the smallest phones. */
@media(max-width:355px){body{--mobile-footer-height:66px}}

/* Inset desktop controls past the film's bars after object-fit:cover cropping. */
@media(min-width:701px){
  body{--desktop-video-height:max(100svh,56.25vw);--desktop-video-bar:max(0px,calc(50svh - var(--desktop-video-height)*.435))}
  body>header{top:calc(30px + var(--desktop-video-bar))}
  footer{bottom:calc(28px + var(--desktop-video-bar))}
  .motion{bottom:calc(26px + var(--desktop-video-bar))}
  .panel{top:calc(120px + var(--desktop-video-bar));bottom:calc(130px + var(--desktop-video-bar))}
  .signup-dialog{top:calc(120px + var(--desktop-video-bar));bottom:calc(130px + var(--desktop-video-bar));max-height:min(560px,calc(100svh - 250px - var(--desktop-video-bar)*2))}
}
@media(min-width:701px) and (max-height:600px){.signup-dialog{top:calc(100px + var(--desktop-video-bar));bottom:calc(80px + var(--desktop-video-bar));max-height:calc(100svh - 180px - var(--desktop-video-bar)*2)}}
