/* ===== Founders Grotesk 2019 — 5 weights ===== */
@font-face {
  font-family: 'Founders Grotesk 2019';
  src: url('/fonts/founders-grotesk-light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Founders Grotesk 2019';
  src: url('/fonts/founders-grotesk-regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Founders Grotesk 2019';
  src: url('/fonts/founders-grotesk-medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Founders Grotesk 2019';
  src: url('/fonts/founders-grotesk-semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Founders Grotesk 2019';
  src: url('/fonts/founders-grotesk-bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* ===== 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;
}

/* Light hero: use white nav on curtain page unless scrolled */
body.curtain-page #nav:not(.scrolled) .site-logo-img{
  content:url("../img/logo/Lumisync_Logo_White.svg");
  filter:none !important;
}

/* Better mobile spacing for imported curtain sections */
@media(max-width:768px){
  body.curtain-page .section-wrap{
    padding-top:96px;
  }
}
