*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Cormorant Garamond', Georgia, serif; background: #0D0C0B; color: #F0EBE3; overflow-x: hidden; }
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #0D0C0B; }
::-webkit-scrollbar-thumb { background: #C8A97E; border-radius: 2px; }
.sans { font-family: 'DM Sans', sans-serif; }
.gold { color: #C8A97E; }
.italic { font-style: italic; }
.divider { width: 48px; height: 1px; background: #C8A97E; margin: 22px 0; }
.eyebrow { font-family: 'DM Sans', sans-serif; font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: #C8A97E; margin-bottom: 20px; }
.reveal { opacity: 0; transform: translateY(38px); transition: opacity 0.75s ease, transform 0.75s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-d1 { transition-delay: 0.08s; }
.reveal-d2 { transition-delay: 0.16s; }
.reveal-d3 { transition-delay: 0.24s; }
.reveal-d4 { transition-delay: 0.32s; }
.reveal-d5 { transition-delay: 0.40s; }
.btn-primary {
  font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  background: #C8A97E; color: #0D0C0B; border: none; padding: 15px 38px;
  cursor: pointer; transition: background 0.3s, transform 0.2s; font-weight: 500; display: inline-block; text-decoration: none;
}
.btn-primary:hover { background: #E0C090; transform: translateY(-2px); }
.btn-outline {
  font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase;
  background: transparent; color: #C8A97E; border: 1px solid #C8A97E; padding: 14px 37px;
  cursor: pointer; transition: all 0.3s; font-weight: 400; display: inline-block; text-decoration: none;
}
.btn-outline:hover { background: #C8A97E; color: #0D0C0B; }
.section-title { font-size: clamp(30px,5vw,60px); font-weight: 300; letter-spacing: -0.02em; line-height: 1.1; }
.section-sub { font-family: 'DM Sans', sans-serif; font-size: 16px; color: #6A5A4A; max-width: 480px; line-height: 1.75; }
@keyframes heroReveal { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes lineGrow { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@keyframes fadeDown { from { opacity:0; transform:translateY(-16px); } to { opacity:1; transform:translateY(0); } }
@keyframes lbZoom { from { opacity:0; transform:scale(0.93); } to { opacity:1; transform:scale(1); } }