CSS

body { cursor: none; }
@media (pointer: coarse) { body { cursor: auto; } }

.cursor-dot {
  position: fixed; width: 6px; height: 6px;
  background: #C8A96A; border-radius: 50%;
  pointer-events: none; z-index: 9999;
  transform: translate(-50%, -50%);
  transition: width .3s, height .3s, background .3s;
}
.cursor-ring {
  position: fixed; width: 36px; height: 36px;
  border: 1px solid rgba(200,169,106,.5); border-radius: 50%;
  pointer-events: none; z-index: 9998;
  transform: translate(-50%, -50%);
  transition: width .35s, height .35s, border-color .35s;
}
body:has(a:hover) .cursor-ring,
body:has(button:hover) .cursor-ring {
  width: 56px; height: 56px;
  border-color: rgba(200,169,106,.8);
}
body:has(a:hover) .cursor-dot,
body:has(button:hover) .cursor-dot {
  width: 4px; height: 4px; background: #E6D5B0;
}

.scroll-progress {
  position: fixed; top: 68px; left: 0;
  height: 1px; background: #C8A96A;
  z-index: 199; width: 0%; opacity: 0;
  pointer-events: none;
  transition: width .1s linear, opacity .5s;
}
.scroll-progress.visible { opacity: 1; }

.page-loader {
  position: fixed; inset: 0; background: #1C1A17;
  z-index: 9000; display: flex;
  align-items: center; justify-content: center;
  pointer-events: none;
}
.page-loader-logo {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 32px; font-weight: 300;
  letter-spacing: 12px; text-transform: uppercase;
  color: transparent;
  -webkit-text-stroke: 1px rgba(200,169,106,.4);
  animation: loaderReveal 1.4s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: .2s;
}
@keyframes loaderReveal {
  0%   { letter-spacing: 24px; opacity: 0; -webkit-text-stroke-color: rgba(200,169,106,.1); }
  60%  { opacity: 1; -webkit-text-stroke-color: rgba(200,169,106,.6); }
  100% { letter-spacing: 12px; opacity: 1; -webkit-text-stroke-color: rgba(200,169,106,.5); }
}
.page-loader-line {
  position: absolute; bottom: 0; left: 0; height: 1px;
  background: linear-gradient(to right, transparent, #C8A96A, transparent);
  animation: loaderLine 1.6s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: .1s;
}
@keyframes loaderLine {
  0% { width: 0%; opacity: 0; }
  30% { opacity: 1; }
  100% { width: 100%; opacity: 0.3; }
}
.page-loader.hide {
  animation: loaderOut .9s cubic-bezier(.7,0,.3,1) forwards;
}
@keyframes loaderOut {
  0%   { clip-path: inset(0 0 0 0); }
  100% { clip-path: inset(0 0 100% 0); }
}

.t-header {
  background: rgba(255,255,255,0) !important;
  border-bottom: 1px solid transparent !important;
  transition: background .5s, border-color .5s !important;
}
.t-header.nav-scrolled {
  background: rgba(255,255,255,.97) !important;
  border-bottom-color: rgba(200,169,106,.15) !important;
  backdrop-filter: blur(8px);
}
body.loading .tn-atom {
  opacity: 0;
  transition: opacity .8s ease;
}
body.loaded .tn-atom {
  opacity: 1;
}
.uc-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .9s ease, transform .9s ease;
}
.uc-reveal.uc-visible {
  opacity: 1;
  transform: translateY(0);
}
.uc-reveal-delay-1 { transition-delay: .12s; }
.uc-reveal-delay-2 { transition-delay: .24s; }
.uc-reveal-delay-3 { transition-delay: .36s; }
.uc-reveal-delay-4 { transition-delay: .48s; }
.uc-reveal {
  opacity: 1 !important;
  transform: none !important;
}
.t-header__logo {
  transition: letter-spacing .4s ease;
}
.t-header__logo:hover {
  letter-spacing: 10px;
}