*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --white:#f8f6f2;
  --mist:#e8e5df;
  --stone:#c4bdb2;
  --bark:#7a6a58;
  --charcoal:#2a2520;
  --ink:#1a1714;
  --accent-warm:#9c7a5a;
  --ff-serif:'Cormorant Garamond',Georgia,serif;
  --ff-mono:'Geist Mono',monospace;
  --ease-out:cubic-bezier(0.16,1,0.3,1);
}
html{scroll-behavior:smooth}
body{
  background:var(--white);
  color:var(--ink);
  font-family:var(--ff-serif);
  font-weight:300;
  overflow-x:hidden;
  cursor:none;
}
#cur{
  position:fixed;width:8px;height:8px;
  border-radius:50%;background:var(--ink);
  pointer-events:none;z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .25s var(--ease-out),height .25s var(--ease-out),background .25s;
}
#cur.big{width:44px;height:44px;background:var(--accent-warm);opacity:0.4}
#cur.lb{background:rgba(248,246,242,0.85)}
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:2rem 3.5rem;
  background:transparent;
  transition:background 0.4s;
}
nav.scrolled{background:rgba(248,246,242,0.92);backdrop-filter:blur(12px)}
.nav-logo{
  font-family:var(--ff-serif);font-size:1.1rem;font-weight:400;
  letter-spacing:0.08em;color:var(--ink);text-decoration:none;
  text-transform:uppercase;
}
.nav-links{display:flex;gap:2.5rem;list-style:none}
.nav-links a,.nav-back{
  font-family:var(--ff-mono);font-size:0.62rem;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--charcoal);text-decoration:none;opacity:0.7;
  transition:opacity 0.2s;
}
.nav-links a:hover,.nav-back:hover{opacity:1}
.nav-back{display:flex;align-items:center;gap:0.6rem}
.nav-back::before{content:'←';font-family:serif;font-size:0.85rem}
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.9s var(--ease-out),transform 0.9s var(--ease-out)}
.reveal.visible{opacity:1;transform:none}
footer{
  padding:2rem 3.5rem;
  display:flex;justify-content:center;
  border-top:1px solid var(--mist);
  background:var(--white);
}
.footer-copy{
  font-family:var(--ff-mono);font-size:0.55rem;
  letter-spacing:0.1em;color:var(--stone);
}
