/* Swandean Site Styles */

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Font Families */
h1, h2, h3, h4, .font-heading {
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
}

body, p, a, li, nav, footer, .font-body {
  font-family: 'Crimson Pro', serif;
}

/* Layout */
body { 
  overflow-x: hidden; 
}

/* Curtain Animation */
.curtain {
  position: fixed; 
  top: 0; 
  left: 0;
  width: 100%; 
  height: 100%;
  z-index: 9999; 
  display: flex;
}

.curtain div.panel { 
  flex: 1; 
  background: #ffffff; 
}

.curtain .logo {
  position: absolute;
  top: 50%; 
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 10000;
}

/* Navigation */
.nav-scrolled {
  background-color: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(8px);
}

/* Mobile menu closed state (can animate from here) */
#mobile-menu { 
  display: none;
  opacity: 0;
  transform: translateY(-10px);
  transform-origin: top;
}

/* When we toggle open, we let JS/GSAP drive opacity/transform */
#mobile-menu.open { 
  display: block; 
}

/* Lock page while the curtain runs */
body.lock-scroll { 
  overflow: hidden; 
  height: 100vh; 
}

/* General safety */
html, body { 
  overflow-x: hidden; 
}

/* Keep nav stable before GSAP shows it */
#main-nav { 
  pointer-events: none; 
  opacity: 0; 
  transform: translateY(-12px); 
}

#main-nav.is-visible { 
  pointer-events: auto; 
  opacity: 1; 
  transform: translateY(0); 
}
