/* Full-screen dark floral overture. The grain is an SVG filter, never a photo. */
html.has-opening.loading-active { overflow:hidden; }
html.has-opening body .site-opening {
  position:fixed; inset:0; z-index:100000; display:grid; place-items:center;
  overflow:hidden; isolation:isolate; opacity:1; visibility:visible;
  pointer-events:auto; border:0; color:#f1e6d9;
  background:radial-gradient(ellipse at 50% 48%, #0b0405 0%, #190709 73%, #270b10 125%);
  animation:loading-failsafe 0s linear 5s forwards;
}
html.has-opening body .site-opening::before { display:none; content:none; }
html.has-opening body .site-opening::after {
  content:""; display:block; position:absolute; z-index:0; inset:-5%;
  pointer-events:none; opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  animation:loading-grain-v57 18s ease-in-out infinite alternate;
}
html.has-opening body .site-opening.is-done {
  animation:loading-curtain 1s cubic-bezier(.76,0,.24,1) forwards;
}
html.has-opening body .loading-content {
  position:relative; z-index:2; display:flex; flex-direction:column;
  align-items:center; text-align:center; width:min(480px,80vw); color:#f1e6d9;
}
html.has-opening body .loading-wave {width:70px;height:42px;color:#e0d5d7;animation:loading-appear .55s ease .1s both}
html.has-opening body .loading-brand {
  margin:20px 0 8px; color:#f1e6d9;
  font:400 clamp(42px,5.5vw,72px)/1.1 'Times New Roman',serif;
  letter-spacing:-.025em; animation:loading-rise .65s ease .25s both;
}
html.has-opening body :is(.loading-genres,.loading-label) {
  font:400 11px/1.5 'Century Gothic',Arial,sans-serif;
  text-transform:uppercase;letter-spacing:.25em;color:#b7a3a6;
}
html.has-opening body .loading-genres {margin:0;animation:loading-appear .6s ease .42s both}
html.has-opening body .loading-genres span {padding:0 .2em}
html.has-opening body .loading-track {
  height:4px;width:min(440px,78vw);overflow:hidden;border-radius:99px;
  background:#4b292e;margin-top:clamp(36px,6vh,62px);
  animation:loading-appear .6s ease .48s both;
}
html.has-opening body .loading-fill {
  display:block;width:100%;height:100%;border-radius:inherit;background:#e0d5d7;
  transform-origin:left;transform:scaleX(var(--loading-progress,0));transition:transform .2s ease;
}
html.has-opening body .loading-label {margin:16px 0 0;color:#e0d5d7;letter-spacing:.21em;animation:loading-appear .6s ease .5s both}
html.has-opening body .loading-value {font-variant-numeric:tabular-nums}
@keyframes loading-grain-v57 {from{transform:translate3d(0,0,0);opacity:.02}to{transform:translate3d(.6%,.4%,0);opacity:.03}}
@media(max-width:700px){
  html.has-opening body .loading-wave{width:58px;height:34px}
  html.has-opening body .loading-brand{font-size:clamp(40px,10.5vw,54px);margin-top:18px}
  html.has-opening body :is(.loading-genres,.loading-label){font-size:9px;letter-spacing:.16em}
  html.has-opening body .loading-track{width:min(270px,73vw);margin-top:38px}
  html.has-opening body .loading-label{margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
  html.has-opening body .site-opening{display:none!important}
  html.has-opening body .site-opening::after{animation:none!important}
}
