/* ===== Founders Grotesk 2019 — 5 weights ===== */
/* Unavailable original font source omitted; existing fallback stack preserved. */
/* Unavailable original font source omitted; existing fallback stack preserved. */
/* Unavailable original font source omitted; existing fallback stack preserved. */
/* Unavailable original font source omitted; existing fallback stack preserved. */
/* Unavailable original font source omitted; existing fallback stack preserved. */

/* ===== Design Tokens ===== */
:root {
  --white: #ffffff;
  --warm: #f5f2ec;
  --cream: #edeae4;
  --cream-dark: #e5e2dc;
  --bg: #f5f2ec;
  --bg-warm: #faf8f3;
  --bg-alt: #edeae4;
  --charcoal: #0f0e0c;
  --ink: #1a1814;
  --ink-light: #3d3a34;
  --muted: #9b9488;
  --border: #c8c4bc;
  --border-light: #e8e5df;
  --border-dark: #a6a299;
  --gold: #a68940;
  --gold-light: #B8956A;
  --gold-pale: #e8dcc8;
  --gold-ghost: rgba(166,137,64,0.05);
  --gold-12: rgba(166,137,64,0.12);
}

/* ===== Base ===== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Founders Grotesk 2019',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:300;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  color:#1a1814;
  background:#ffffff;
  overflow-x:hidden;
}

/* ===== Section Architecture ===== */
.section{
  min-height:100vh;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  position:relative;
  box-sizing:border-box;
}

.section-light{
  background-color:#ffffff;
  color:#1a1814;
}

.section-dark{
  background-color:#0f0e0c;
  color:#f5f2ec;
}

.section-cream{
  background-color:#edeae4;
  color:#1a1814;
}

.section-warm{
  background-color:#f5f2ec;
  color:#1a1814;
}

.section-wrap{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:72px clamp(1.5rem,5vw,4rem) 48px;
  position:relative;
  z-index:2;
}

/* ===== Typography ===== */
.t-h1{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:clamp(48px,7vw,100px);
  font-weight:300;
  line-height:0.95;
  letter-spacing:-0.02em;
  color:#f5f2ec;
}

.t-h1 em{
  font-style:normal;
  font-weight:400;
  color:#c4a86a;
}

.t-h2{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:clamp(32px,4.5vw,64px);
  font-weight:300;
  line-height:1.0;
  letter-spacing:-0.02em;
  color:#1a1814;
}

.t-h2 em{
  font-style:normal;
  font-weight:400;
  color:#a68940;
}

.t-h3{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:clamp(20px,2.5vw,36px);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-0.01em;
  color:#1a1814;
}

.t-label{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:#a68940;
}

.t-label::before{
  content:'';
  width:24px;
  height:1px;
  background:var(--gold-light);
}

.t-label-center{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:#c4a86a;
}

.t-label-center::before,
.t-label-center::after{
  content:'';
  width:20px;
  height:1px;
  background:#c4a86a;
}

.t-body{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:15px;
  font-weight:300;
  line-height:1.9;
  letter-spacing:0.02em;
  color:#9b9488;
}

.t-body-sm{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:13px;
  font-weight:300;
  line-height:1.85;
  letter-spacing:0.02em;
  color:#9b9488;
}

.t-mono{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:10px;
  font-weight:500;
  letter-spacing:0.25em;
  text-transform:uppercase;
  color:#9b9488;
}

/* ===== Buttons ===== */
.btn-gold{
  font-family:'Founders Grotesk 2019',sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:0.15em;
  text-transform:uppercase;
  background-color:var(--gold);
  color:#fff;
  padding:14px 36px;
  border:none;
  cursor:pointer;
  transition:background-color 0.3s ease,transform 0.3s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.btn-gold:hover{
  background-color:var(--gold-light);
  transform:translateY(-1px);
}

/* ===== Scroll Reveal ===== */
.reveal{
  opacity:0;
  transform:translateY(20px);
}

.reveal.revealed{
  opacity:1;
  transform:translateY(0);
  transition:
    opacity 0.9s cubic-bezier(0.33,1,0.68,1),
    transform 0.9s cubic-bezier(0.33,1,0.68,1);
}

.reveal.d1.revealed{
  transition-delay:0s;
}

.reveal.d2.revealed{
  transition-delay:0.1s;
}

.reveal.d3.revealed{
  transition-delay:0.2s;
}

.reveal.d4.revealed{
  transition-delay:0.3s;
}

.reveal.d5.revealed{
  transition-delay:0.4s;
}

/* ===== Scroll Indicator ===== */
.scroll-indicator{
  position:absolute;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
}

.scroll-indicator-line{
  width:1px;
  height:36px;
  background:currentColor;
  opacity:0.4;
  position:relative;
  overflow:hidden;
}

.scroll-indicator-line::after{
  content:'';
  position:absolute;
  top:-100%;
  left:0;
  width:100%;
  height:100%;
  background:currentColor;
  animation:scrollPulse 2s ease-in-out infinite;
}

@keyframes scrollPulse{
  0%{
    top:-100%;
  }

  50%{
    top:0;
  }

  100%{
    top:100%;
  }
}

/* ===== Responsive ===== */
@media(max-width:1024px){
  .nav-bar{
    padding:0 32px;
    height:68px;
  }
}

@media(max-width:768px){
  .nav-links{
    display:none;
  }

  .nav-bar{
    padding:0 24px;
  }

  .section-wrap{
    padding:88px 1.5rem 48px;
  }

  .t-h1{
    font-size:clamp(32px,10vw,48px);
  }

  .t-h2{
    font-size:clamp(24px,7vw,32px);
  }
}

/* ===== Curtain page integration with Lumisync v3 header/footer ===== */
body.curtain-page{
  background:#ffffff;
}

/* uploaded curtain page should not define/affect the main v3 nav/footer */
body.curtain-page #site-header,
body.curtain-page #site-footer{
  font-family:inherit;
}

/* hero under fixed nav */
body.curtain-page main{
  width:100%;
  overflow:hidden;
}

/* ===== CORRECT NEW WHITE LUMISYNC LOGO ===== */
body.curtain-page #nav:not(.scrolled) .site-logo-img{
  content:url("../img/logo/Lumisync_Logo_White_2026.svg");
  filter:none !important;
}

/* Better mobile spacing for imported curtain sections */
@media(max-width:768px){
  body.curtain-page .section-wrap{
    padding-top:96px;
  }
}
/* Lumisync Curtain: responsive layout refinement (visual design unchanged) */
body.curtain-page main { overflow-x:clip; }
body.curtain-page main .section { min-height:0; height:auto; }
body.curtain-page main #curtain { min-height:min(850px,100svh); }
body.curtain-page main .section-wrap { width:100%; max-width:1440px; margin-inline:auto; padding:clamp(76px,8vw,132px) clamp(22px,5vw,88px); box-sizing:border-box; }
body.curtain-page main .section-wrap > *, body.curtain-page main .section-wrap > div { min-width:0; }
body.curtain-page main img,body.curtain-page main video { max-width:100%; }
body.curtain-page main h1,body.curtain-page main h2,body.curtain-page main h3 { overflow-wrap:break-word; }
body.curtain-page main .scene-cards { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:clamp(14px,2vw,24px) !important; }
body.curtain-page main #collection .section-wrap > div[style*="grid-template-columns"] { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
body.curtain-page main #showroom .section-wrap { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:clamp(24px,4vw,64px) !important; }
@media (max-width:900px) {
 body.curtain-page main .scene-cards { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 body.curtain-page main #collection .section-wrap > div[style*="grid-template-columns"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 body.curtain-page main #showroom .section-wrap { grid-template-columns:minmax(0,1fr) !important; }
}
@media (max-width:600px) {
 body.curtain-page main #curtain { min-height:calc(100svh - 64px); }
 body.curtain-page main .section-wrap { padding:68px 22px !important; }
 body.curtain-page main #curtain .section-wrap { min-height:calc(100svh - 64px); justify-content:center; padding-block:90px 65px !important; }
 body.curtain-page main .t-h1 { font-size:clamp(38px,10vw,54px) !important; line-height:1.06 !important; }
 body.curtain-page main .t-h2 { font-size:clamp(30px,8vw,44px) !important; line-height:1.12 !important; }
 body.curtain-page main .scene-cards { grid-template-columns:minmax(0,1fr) !important; gap:20px !important; }
 body.curtain-page main #collection .section-wrap > div[style*="grid-template-columns"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:14px !important; }
 body.curtain-page main #showroom .section-wrap { gap:28px !important; }
 body.curtain-page main .btn-gold { min-height:44px; max-width:100%; white-space:normal; text-align:center; }
 body.curtain-page main .t-body { font-size:15px; line-height:1.7; }
}
@media (max-width:360px) {
 body.curtain-page main .section-wrap { padding-inline:18px !important; }
 body.curtain-page main #collection .section-wrap > div[style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr) !important; }
}
@media (prefers-reduced-motion:reduce) {
 body.curtain-page main .reveal { opacity:1; transform:none; }
 body.curtain-page main .scroll-indicator-line::after { animation:none; }
}
