@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Rajdhani:wght@300;400;500;600;700&display=swap');

:root {
  --gold:  #C9A84C;
  --gold-l:#E8C87A;
  --gold-d:#8B6E2F;
  --black: #050505;
  --dark:  #0D0D0D;
  --dark2: #141414;
  --dark3: #1C1C1C;
  --white: #F5F0E8;
  --muted: rgba(245,240,232,.45);
  --border:rgba(245,240,232,.07);
  --green: #4CAF7A;
  --red:   #E05C5C;
  --tr:    cubic-bezier(.25,.46,.45,.94);
}

*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--black); color:var(--white); font-family:'Rajdhani',sans-serif; font-weight:300; overflow-x:hidden; cursor:none; }

/* CURSOR */
#cursor { width:8px; height:8px; background:var(--gold); border-radius:50%; position:fixed; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); }
#ring   { width:36px; height:36px; border:1px solid rgba(201,168,76,.5); border-radius:50%; position:fixed; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:all .25s var(--tr); }

/* NAV */
nav { position:fixed; top:40px; left:0; right:0; z-index:200; display:flex; justify-content:space-between; align-items:center; padding:18px 60px; background:rgba(5,5,5,.93); border-bottom:1px solid var(--border); backdrop-filter:blur(14px); transition:top .3s,padding .3s; }
nav.scrolled { top:0; padding:12px 60px; }
body.no-promo nav { top:0; }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:19px; font-weight:300; letter-spacing:.3em; color:var(--white); text-decoration:none; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; gap:36px; list-style:none; }
.nav-links a { font-size:11px; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; position:relative; }
.nav-links a::after { content:''; position:absolute; bottom:-4px; left:0; width:0; height:1px; background:var(--gold); transition:width .3s var(--tr); }
.nav-links a:hover,.nav-links a.active { color:var(--gold); }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-cta { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--black); background:var(--gold); padding:10px 24px; text-decoration:none; font-weight:600; transition:background .3s; }
.nav-cta:hover { background:var(--gold-l); }

/* TYPOGRAPHY */
.slabel { font-size:9px; letter-spacing:.5em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; display:flex; align-items:center; gap:14px; }
.slabel::before { content:''; width:28px; height:1px; background:var(--gold); flex-shrink:0; }
.stitle { font-family:'Cormorant Garamond',serif; font-size:clamp(34px,5vw,60px); font-weight:300; line-height:1.05; margin-bottom:44px; }
.stitle em { font-style:italic; color:var(--gold); }

/* BUTTONS */
.btn-g  { display:inline-block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--black); background:var(--gold); padding:15px 38px; text-decoration:none; font-weight:600; transition:background .3s; border:none; cursor:pointer; font-family:'Rajdhani',sans-serif; }
.btn-g:hover { background:var(--gold-l); }
.btn-o  { display:inline-block; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); border:1px solid var(--border); padding:13px 30px; text-decoration:none; font-weight:500; transition:all .3s; background:none; cursor:pointer; font-family:'Rajdhani',sans-serif; }
.btn-o:hover { border-color:var(--gold); color:var(--gold); }
.btn-gh { display:inline-flex; align-items:center; gap:10px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; font-weight:500; }
.btn-gh::after { content:'→'; transition:transform .3s; }
.btn-gh:hover { color:var(--gold); }
.btn-gh:hover::after { transform:translateX(6px); }

/* FORMS */
.fg { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.fl { font-size:9px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold-d); }
.fi,.fs,.ft { background:var(--dark2); border:1px solid var(--border); color:var(--white); padding:12px 15px; font-family:'Rajdhani',sans-serif; font-size:14px; outline:none; transition:border-color .3s; width:100%; }
.fi:focus,.fs:focus,.ft:focus { border-color:var(--gold); }
.fi::placeholder,.ft::placeholder { color:rgba(245,240,232,.2); }
.fs option { background:var(--dark2); }
.ft { resize:none; }

/* PAGE HERO */
.phero { padding:150px 8% 72px; background:var(--dark); border-bottom:1px solid var(--border); }

/* COUNTERS */
.counter { font-variant-numeric:tabular-nums; }

/* FOOTER */
footer { background:var(--dark); padding:56px 8%; border-top:1px solid var(--border); }
.fg-wrap { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:56px; margin-bottom:44px; }
.fb-logo { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:300; letter-spacing:.3em; color:var(--white); }
.fb-logo span { color:var(--gold); }
.fb-p { font-size:12px; color:var(--muted); line-height:1.8; margin-top:14px; max-width:250px; }
.fct { font-size:9px; letter-spacing:.38em; text-transform:uppercase; color:var(--gold-d); margin-bottom:16px; }
.fc a,.fc p { display:block; font-size:12px; color:var(--muted); text-decoration:none; line-height:2.1; transition:color .3s; }
.fc a:hover { color:var(--gold); }
.fb { display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--border); }
.fc-copy { font-size:11px; color:rgba(245,240,232,.2); }
.fc-copy a:hover { color:var(--gold); }
.fc-soc { display:flex; gap:22px; }
.fc-soc a { font-size:10px; letter-spacing:.22em; text-transform:uppercase; color:rgba(245,240,232,.28); text-decoration:none; transition:color .3s; }
.fc-soc a:hover { color:var(--gold); }

/* WHATSAPP FLOAT */
#wa-btn {
  position:fixed; bottom:28px; right:28px; z-index:500;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(37,211,102,.35);
  transition:transform .3s,box-shadow .3s;
  text-decoration:none;
}
#wa-btn:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,.5); }

/* TOAST */
.toast-g { position:fixed; bottom:100px; right:28px; background:var(--dark3); border:1px solid var(--gold); color:var(--white); padding:13px 20px; font-size:13px; z-index:4000; opacity:0; transform:translateY(8px); transition:all .3s var(--tr); pointer-events:none; }
.toast-g.show { opacity:1; transform:translateY(0); }

/* REVEAL */
.rv { opacity:0; transform:translateY(34px); transition:opacity .8s var(--tr),transform .8s var(--tr); }
.rv.vis { opacity:1; transform:translateY(0); }
.rv1 { transition-delay:.1s; } .rv2 { transition-delay:.2s; } .rv3 { transition-delay:.3s; }

/* SCROLLBAR */
::-webkit-scrollbar { width:4px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--dark3); }

/* GALLERY SLIDER COMPARE */
.compare-wrap { position:relative; overflow:hidden; user-select:none; }
.compare-wrap img { width:100%; display:block; pointer-events:none; }
.compare-after { position:absolute; inset:0; overflow:hidden; }
.compare-after img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.compare-divider { position:absolute; top:0; bottom:0; width:2px; background:var(--gold); cursor:ew-resize; }
.compare-handle { position:absolute; top:50%; transform:translateY(-50%); width:40px; height:40px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; color:var(--black); font-size:16px; font-weight:700; left:-19px; box-shadow:0 2px 12px rgba(0,0,0,.5); }

/* MOBILE */
@media(max-width:900px) {
  nav { padding:16px 20px; top:38px; }
  nav.scrolled { top:0; padding:10px 20px; }
  .nav-links { display:none; }
  body { cursor:auto; }
  #cursor,#ring { display:none; }
  .fg-wrap { grid-template-columns:1fr 1fr; gap:28px; }
  #wa-btn { bottom:20px; right:20px; width:50px; height:50px; }
}
@media(max-width:600px) { .fg-wrap { grid-template-columns:1fr; } }
