/* ---------------------------------------------------------------
   lmsh7 — gallery
   A pure-white canvas. The logo breathes in the top-left corner.
   --------------------------------------------------------------- */

:root {
  --bg: #ffffff;
  --ink: #2b2b2b;
  --space: clamp(1.5rem, 4vw, 3rem);
  --logo-w: clamp(120px, 18vw, 220px);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

body {
  min-height: 100svh;
  background: var(--bg);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
    sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* --- Header / logo ------------------------------------------------ */

.site-header {
  position: relative;
  padding: var(--space);
}

.logo {
  display: inline-block;
  line-height: 0;
  /* gentle entrance */
  animation: fade-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.logo img {
  display: block;
  width: var(--logo-w);
  height: auto;
  /* image already trimmed + transparent; nothing else needed */
}

.logo:hover img {
  opacity: 0.72;
}

.logo img,
.logo:hover img {
  transition: opacity 0.4s ease;
}

/* --- Stage (future gallery) -------------------------------------- */

.stage {
  /* reserved space for the gallery; empty for now */
}

/* --- Motion ------------------------------------------------------- */

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo {
    animation: none;
  }
  .logo img,
  .logo:hover img {
    transition: none;
  }
}
