:root{
  --sand:#F5F1EA;--ink:#0E1B2C;--terracotta:#C2533A;
  --sea:#3E6B7A;--gold:#B8935A;
  --serif:'Playfair Display',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--sand);line-height:1.6;font-weight:300;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:.9}}
@keyframes rotateReveal{to{transform:rotate(0)}}
/* nav scrolled state (added by JS scroll handler) */
.nav.scrolled{background:rgba(245,241,234,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(14,27,44,.08)}
.nav.scrolled .nav__logo,.nav.scrolled .nav__link{color:var(--ink)}
.nav__logo{font-family:var(--serif);font-size:1.15rem;font-weight:500;letter-spacing:.04em;color:var(--sand);transition:color .4s ease}
.nav__links{display:flex;gap:2rem}
.nav__link{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.85);transition:color .2s}
