@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500&family=Monsieur+La+Doulaise&display=swap');

:root {
  color-scheme: dark;
  background: #15191b;
  color: #e8e5dc;
  font-family: Manrope, Arial, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }

.coming-soon {
  position: relative;
  width: 100%;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
}

.announcement {
  position: absolute;
  z-index: 1;
  left: 15%;
  top: 49%;
  transform: translateY(-50%);
  pointer-events: none;
}

h1 {
  margin: 0;
  font: 400 clamp(88px, 8.2vw, 148px)/.95 'Monsieur La Doulaise', 'Brush Script MT', cursive;
  letter-spacing: 0;
}

.lab-credit {
  margin: 28px 0 0 4px;
  color: #a3aaa0;
  font: 400 clamp(10px, .8vw, 12px)/1.6 Manrope, Arial, sans-serif;
  letter-spacing: .04em;
}

.lab-credit span { color: #c8cec1; font-weight: 500; }

h1 span, h1 em { display: block; }

h1 em {
  margin: 0 0 0 .22em;
  font-size: 1.10em;
  font-style: normal;
  font-weight: 400;
  line-height: .95;
  color: #cdbc93;
}

.artwork-preview {
  position: absolute;
  left: 41%;
  top: 0;
  width: 64%;
  height: 108%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 14%, #000 87%, transparent), linear-gradient(0deg, transparent, #000 4%, #000 96%, transparent);
  mask-composite: intersect;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 87%, transparent), linear-gradient(0deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-composite: source-in;
}

.artwork-preview canvas {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.4s ease;
  outline: none;
}

body.ready .artwork-preview canvas { opacity: 1; }
.artwork-preview canvas:focus-visible { outline: 1px solid #cdbc93; outline-offset: -5px; }
body.fallback .artwork-preview canvas { background-repeat: no-repeat; }

@media (max-width: 900px) and (orientation: portrait) {
  .announcement {
    left: 8%;
    top: 8%;
    transform: none;
  }

  h1 { font-size: clamp(76px, 17.8vw, 116px); }
  .lab-credit { margin-top: 20px; font-size: 10px; }

  .artwork-preview {
    left: 10%;
    top: 34%;
    width: 100%;
    height: 70%;
  }
}

@media (max-width: 500px) and (max-height: 680px) and (orientation: portrait) {
  .announcement { top: 6%; }
  h1 { font-size: 68px; }
  .lab-credit { margin-top: 16px; font-size: 9px; }
  .artwork-preview { top: 32%; height: 72%; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .announcement { left: 15%; top: 49%; }
  h1 { font-size: clamp(60px, 8vw, 90px); }
  .lab-credit { margin-top: 18px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
