/* ── TOP BAR ── */
.top-bar {
  background: var(--ink);
  padding: .55rem 5%;
  display: flex; align-items: center; justify-content: center; gap: 2rem;
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.3);
}
.top-bar a { color: rgba(255,255,255,.55); text-decoration: none; transition: color .2s; }
.top-bar a:hover { color: var(--brass); }
.top-bar-sep { color: var(--brass); opacity: .5; }

/* ── NAV ── */
nav {
  position: sticky; top: 0; z-index: 200;
  background: rgba(247,245,240,.96); backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--rule);
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem 5%;
}
.nav-logo {
  text-decoration: none; color: var(--ink);
  display: flex; align-items: center; gap: .9rem;
}
.logo-mark {
  width: 32px; height: 32px; border: 1.5px solid var(--brass);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.logo-mark span {
  font-family: var(--serif); font-size: 1rem; font-weight: 500;
  color: var(--brass); line-height: 1;
}
.logo-text { display: flex; flex-direction: column; gap: .05rem; }
.logo-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; letter-spacing: .01em; }
.logo-tagline {
  font-size: .5rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--brass);
}
.nav-links { display: flex; gap: 2rem; list-style: none; align-items: center; }
.nav-links a {
  font-size: .68rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase;
  color: var(--mid); text-decoration: none; transition: color .2s;
}
.nav-links a:hover { color: var(--ink); }
.nav-cta {
  background: var(--ink) !important; color: var(--bg) !important;
  padding: .5rem 1.4rem !important; transition: background .2s !important;
}
.nav-cta:hover { background: var(--brass) !important; color: var(--ink) !important; }

/* ── TICKER ── */
.ticker {
  background: var(--ink2); overflow: hidden; padding: .6rem 0;
  border-bottom: 1px solid rgba(184,146,74,.3);
}
.ticker-track { display: flex; animation: ticker-scroll 50s linear infinite; white-space: nowrap; }
.ticker-item {
  font-size: .58rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.22); padding: 0 2.8rem; flex-shrink: 0;
}
.ticker-item.brass { color: rgba(184,146,74,.5); }
.ticker-item::after { content: ' ·'; color: rgba(184,146,74,.25); }
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── BUTTONS ── */
.btn-brass {
  display: inline-block; background: var(--brass); color: var(--ink);
  text-decoration: none; font-size: .66rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; padding: .85rem 1.8rem;
  transition: all .2s; white-space: nowrap; text-align: center;
}
.btn-brass:hover { background: #cba25a; }
.btn-outline-w {
  display: inline-block; border: 1px solid rgba(255,255,255,.2);
  color: rgba(255,255,255,.5); text-decoration: none; font-size: .66rem;
  font-weight: 500; letter-spacing: .1em; text-transform: uppercase;
  padding: .85rem 1.8rem; transition: all .2s; white-space: nowrap; text-align: center;
}
.btn-outline-w:hover { border-color: rgba(255,255,255,.4); color: #fff; }

/* ── SHARED SECTION LABELS ── */
.section-wrap { padding: 3.5rem 5%; border-bottom: 1px solid var(--rule); }
.section-label {
  font-size: .58rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: var(--brass); margin-bottom: 1rem;
  display: flex; align-items: center; gap: .8rem;
}
.section-label::before { content: ''; width: 24px; height: 1px; background: var(--brass); flex-shrink: 0; }
.section-heading {
  font-family: var(--serif); font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 300; letter-spacing: -.02em; line-height: 1.05;
  color: var(--ink); margin-bottom: 2rem;
}
.section-heading em { font-style: italic; color: var(--brass); }

/* ── TAGS ── */
.tags { display: flex; flex-wrap: wrap; gap: .35rem; }
.tag { font-size: .56rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: .2rem .6rem; background: var(--brass-lt); color: var(--brass); }
.tag-dk { background: rgba(13,13,13,.07); color: var(--mid); }

/* ── FOOTER ── */
footer {
  background: var(--ink2); border-top: 1px solid rgba(255,255,255,.05);
  padding: 1.2rem 5%; display: flex; justify-content: space-between; align-items: center;
  font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.15);
}
footer span:nth-child(2) { color: rgba(184,146,74,.35); }
