/* ─── MOON DUSK CO. — Global Stylesheet ─── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Montserrat:wght@200;300;400;500&display=swap');

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

:root {
  --black:    #0a0a0a;
  --deep:     #111111;
  --card:     #141414;
  --gold:     #C9A84C;
  --gold-lt:  #e8c97a;
  --cream:    #FDF6EC;
  --cream-dk: #F0E8D8;
  --rose:     #C2786B;
  --rose-lt:  #e8a99f;
  --sage:     #7A9E7E;
  --lav:      #9B8DB0;
  --blue:     #6B8CAE;
  --gray:     #888;
  --light:    #CCC;
  --border:   rgba(201,168,76,0.15);
}

html { scroll-behavior:smooth; }

body {
  background:var(--black);
  color:var(--cream);
  font-family:'Montserrat',sans-serif;
  font-weight:300;
  overflow-x:hidden;
  cursor:none;
}

/* ─── CURSOR ─── */
.cursor {
  width:10px; height:10px;
  background:var(--gold); border-radius:50%;
  position:fixed; top:0; left:0; z-index:9999;
  pointer-events:none; transform:translate(-50%,-50%);
  transition:width .25s,height .25s,background .25s;
  mix-blend-mode:screen;
}
.cursor-ring {
  width:34px; height:34px;
  border:1px solid rgba(201,168,76,.35);
  border-radius:50%;
  position:fixed; top:0; left:0; z-index:9998;
  pointer-events:none; transform:translate(-50%,-50%);
  transition:width .3s,height .3s,border-color .3s;
}
body:has(a:hover) .cursor,
body:has(button:hover) .cursor { width:18px; height:18px; }

/* ─── NAV ─── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:20px 60px;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .4s, backdrop-filter .4s;
}
nav.scrolled {
  background:rgba(10,10,10,.97);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-logo {
  font-family:'Cormorant Garamond',serif;
  font-size:1.25rem; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); text-decoration:none;
}
.nav-logo span { font-style:italic; font-weight:300; color:var(--cream); }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a {
  font-size:.65rem; font-weight:400; letter-spacing:.18em;
  text-transform:uppercase; color:var(--light); text-decoration:none;
  position:relative; transition:color .3s;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0; right:0; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .3s ease;
}
.nav-links a:hover,
.nav-links a.active { color:var(--gold); }
.nav-links a:hover::after,
.nav-links a.active::after { transform:scaleX(1); }
.nav-cta {
  font-size:.62rem; font-weight:400; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold); padding:10px 22px;
  text-decoration:none; transition:background .3s,color .3s;
}
.nav-cta:hover { background:var(--gold); color:var(--black); }
.nav-mobile-btn { display:none; background:none; border:none; cursor:none; }
.nav-mobile-btn span { display:block; width:22px; height:1px; background:var(--gold); margin:5px 0; }

/* ─── FOOTER ─── */
footer {
  background:#060606;
  padding:80px 60px 40px;
  border-top:1px solid var(--border);
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:60px;
  padding-bottom:60px; border-bottom:1px solid rgba(255,255,255,.05);
}
.footer-brand { font-family:'Cormorant Garamond',serif; font-size:1.3rem; font-weight:400; letter-spacing:.2em; color:var(--gold); text-transform:uppercase; margin-bottom:14px; }
.footer-desc { font-size:.65rem; color:rgba(255,255,255,.28); line-height:1.9; max-width:250px; }
.footer-col-title { font-size:.58rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:22px; }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:11px; }
.footer-links a { font-size:.65rem; color:rgba(255,255,255,.32); text-decoration:none; letter-spacing:.06em; transition:color .3s; }
.footer-links a:hover { color:var(--cream); }
.footer-bottom { padding-top:30px; display:flex; align-items:center; justify-content:space-between; }
.footer-copy { font-size:.58rem; color:rgba(255,255,255,.18); letter-spacing:.1em; }
.footer-social { display:flex; gap:22px; }
.footer-social a { font-size:.58rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.22); text-decoration:none; transition:color .3s; }
.footer-social a:hover { color:var(--gold); }

/* ─── TRUST BAR ─── */
.trust-bar {
  background:rgba(201,168,76,.05);
  border-bottom:1px solid var(--border);
  padding:18px 60px;
  display:flex; justify-content:center; gap:64px; flex-wrap:wrap;
}
.trust-item { font-size:.56rem; letter-spacing:.18em; text-transform:uppercase; color:rgba(201,168,76,.55); }

/* ─── SECTION COMMONS ─── */
.section-eyebrow {
  font-size:.58rem; letter-spacing:.35em; text-transform:uppercase;
  color:var(--gold); display:flex; align-items:center; gap:14px; margin-bottom:18px;
}
.section-eyebrow::after { content:''; flex:0 0 40px; height:1px; background:rgba(201,168,76,.35); }
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.2rem,4vw,3.8rem);
  font-weight:300; color:var(--cream); line-height:1.1; margin-bottom:14px;
}
.section-title em { font-style:italic; color:var(--gold); }
.section-sub { font-size:.72rem; color:rgba(253,246,236,.45); letter-spacing:.04em; max-width:380px; line-height:1.9; margin-bottom:60px; }

/* ─── BUTTONS ─── */
.btn {
  display:inline-block; text-decoration:none; font-family:'Montserrat',sans-serif;
  font-size:.62rem; letter-spacing:.22em; text-transform:uppercase; font-weight:400;
  transition:all .3s; cursor:none;
}
.btn-gold { background:var(--gold); color:var(--black); padding:15px 34px; }
.btn-gold:hover { background:var(--gold-lt); transform:translateY(-1px); }
.btn-outline { border:1px solid var(--gold); color:var(--gold); padding:14px 32px; }
.btn-outline:hover { background:var(--gold); color:var(--black); }
.btn-text { color:var(--gold); border-bottom:1px solid rgba(201,168,76,.35); padding-bottom:3px; }
.btn-text:hover { border-color:var(--gold); }
.btn-cream { background:var(--cream); color:var(--black); padding:15px 34px; }
.btn-cream:hover { background:var(--cream-dk); transform:translateY(-1px); }

/* ─── REVEAL ANIMATION ─── */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s ease,transform .8s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }
.rv1{transition-delay:.08s} .rv2{transition-delay:.16s} .rv3{transition-delay:.24s}
.rv4{transition-delay:.32s} .rv5{transition-delay:.4s}

/* ─── PAGE HERO (interior pages) ─── */
.page-hero {
  min-height:52vh; display:flex; align-items:flex-end;
  padding:120px 60px 70px;
  position:relative; overflow:hidden;
}
.page-hero-bg {
  position:absolute; inset:0;
  background:linear-gradient(160deg,#0d0d0d 0%,#111008 60%,#0a0a0a 100%);
}
.page-hero-glow {
  position:absolute; inset:0; pointer-events:none;
}
.page-hero-content { position:relative; z-index:2; max-width:680px; }
.page-eyebrow { font-size:.58rem; letter-spacing:.35em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.page-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,5.5vw,5rem);
  font-weight:300; color:var(--cream); line-height:1.05; margin-bottom:18px;
}
.page-title em { font-style:italic; color:var(--gold); }
.page-desc { font-size:.78rem; color:rgba(253,246,236,.55); line-height:2; max-width:500px; }

/* ─── GRAIN OVERLAY ─── */
.grain {
  position:fixed; inset:-50%; width:200%; height:200%;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");
  pointer-events:none; z-index:9997; opacity:.5;
  animation:grain 8s steps(10) infinite;
}
@keyframes grain{0%,100%{transform:translate(0,0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(2%,1%)}30%{transform:translate(-1%,3%)}40%{transform:translate(3%,-2%)}50%{transform:translate(-3%,2%)}60%{transform:translate(1%,-1%)}70%{transform:translate(-2%,3%)}80%{transform:translate(2%,-3%)}90%{transform:translate(-1%,1%)}}

/* ─── EMAIL CAPTURE ─── */
.email-section {
  background:#0d0c0a; padding:100px 60px; text-align:center;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.email-eyebrow { font-size:.58rem; letter-spacing:.3em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
.email-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,4vw,3rem); font-weight:300; font-style:italic; color:var(--cream); margin-bottom:14px; }
.email-sub { font-size:.7rem; color:var(--gray); letter-spacing:.05em; margin-bottom:44px; max-width:440px; margin-left:auto; margin-right:auto; line-height:1.9; }
.email-form { display:flex; max-width:460px; margin:0 auto; }
.email-input {
  flex:1; padding:16px 20px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-right:none;
  color:var(--cream); font-family:'Montserrat',sans-serif; font-size:.72rem; letter-spacing:.05em;
  outline:none; transition:border-color .3s;
}
.email-input::placeholder { color:rgba(255,255,255,.22); }
.email-input:focus { border-color:rgba(201,168,76,.4); }
.email-btn {
  padding:16px 26px; background:var(--gold); border:none;
  color:var(--black); font-family:'Montserrat',sans-serif;
  font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:500; cursor:none; transition:background .3s;
}
.email-btn:hover { background:var(--gold-lt); }
.email-note { font-size:.56rem; color:rgba(255,255,255,.18); margin-top:18px; letter-spacing:.08em; }
.email-success { display:none; font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-style:italic; color:var(--gold); margin-top:16px; }

/* ─── RESPONSIVE ─── */
@media(max-width:900px){
  nav { padding:18px 28px; }
  .nav-links,.nav-cta { display:none; }
  .nav-mobile-btn { display:block; }
  .trust-bar { gap:28px; padding:16px 24px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:40px; }
  .page-hero { padding:110px 28px 50px; }
}
@media(max-width:600px){
  .footer-grid { grid-template-columns:1fr; }
  .email-form { flex-direction:column; }
  .email-input { border-right:1px solid rgba(255,255,255,.1); border-bottom:none; }
  .email-btn { padding:14px; }
}
