@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Manrope:wght@300;400;500;600;700;800&display=swap');

:root{
  --emerald-950:#07221c;
  --emerald-900:#0c342a;
  --emerald-800:#123f33;
  --emerald-700:#1a4f40;
  --emerald-600:#25664f;
  --brass-500:#c9a24b;
  --brass-400:#d9b968;
  --brass-300:#e8cf94;
  --cream-100:#faf6ee;
  --cream-200:#f2ead9;
  --ink-900:#171512;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Manrope',sans-serif;
  background-color:var(--cream-100);
  color:var(--ink-900);
}

.font-display{
  font-family:'Fraunces',serif;
}

.text-brass{color:var(--brass-500);}
.bg-emerald-deep{background-color:var(--emerald-950);}

.hero-overlay{
  background:linear-gradient(180deg, rgba(7,34,28,0.55) 0%, rgba(7,34,28,0.75) 55%, rgba(7,34,28,0.96) 100%);
}

.brass-divider{
  height:2px;
  width:64px;
  background:linear-gradient(90deg, var(--brass-500), transparent);
}

.brass-divider-center{
  height:2px;
  width:80px;
  background:var(--brass-500);
  margin-left:auto;
  margin-right:auto;
}

.card-shadow{
  box-shadow:0 20px 45px -20px rgba(7,34,28,0.35);
}

.btn-brass{
  background-color:var(--brass-500);
  color:var(--emerald-950);
  transition:background-color .25s ease, transform .2s ease;
}
.btn-brass:hover{
  background-color:var(--brass-400);
  transform:translateY(-1px);
}

.btn-outline-cream{
  border:1px solid var(--cream-100);
  color:var(--cream-100);
  transition:all .25s ease;
}
.btn-outline-cream:hover{
  background-color:var(--cream-100);
  color:var(--emerald-950);
}

.nav-link{
  position:relative;
  color:var(--cream-100);
}
.nav-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-4px;
  width:0;
  height:1px;
  background-color:var(--brass-500);
  transition:width .25s ease;
}
.nav-link:hover::after,
.nav-link.active::after{
  width:100%;
}

.chip-brass{
  border:1px solid var(--brass-500);
  color:var(--brass-500);
  letter-spacing:.18em;
}

.fade-img{
  transition:transform .6s ease, filter .6s ease;
}
.fade-img:hover{
  transform:scale(1.05);
}

[x-cloak]{display:none !important;}

::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--cream-200);}
::-webkit-scrollbar-thumb{background:var(--brass-500);border-radius:6px;}

.marquee-track{
  animation:marquee 32s linear infinite;
}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
