:root {
  --brand-ink: #102640;
  --brand-ink-soft: #29415b;
  --brand-gold: #c58b24;
  --brand-gold-dark: #956617;
  --brand-paper: #f7f4ed;
  --brand-card: #fffdf8;
  --brand-line: #dfd5c2;
}

.brand-site {
  background: var(--brand-paper) !important;
  color: var(--brand-ink) !important;
}

.brand-site .bg-slate-950 { background: var(--brand-paper) !important; }
.brand-site .bg-slate-900\/70,
.brand-site .bg-slate-900\/60,
.brand-site .bg-slate-900\/50,
.brand-site .bg-slate-900,
.brand-site .bg-cyan-950\/20,
.brand-site .bg-gradient-to-br { background: var(--brand-card) !important; background-image: none !important; }
.brand-site .bg-slate-800\/80,
.brand-site .bg-slate-800 { background: #eee8dc !important; }

.brand-site .text-white { color: var(--brand-ink) !important; }
.brand-site .text-slate-100,
.brand-site .text-slate-200,
.brand-site .text-slate-300 { color: var(--brand-ink-soft) !important; }
.brand-site .text-slate-400,
.brand-site .text-slate-500 { color: #5d6b79 !important; }
.brand-site .text-cyan-200,
.brand-site .text-cyan-300 { color: var(--brand-gold-dark) !important; }

.brand-site .border-slate-800,
.brand-site .border-slate-800\/80,
.brand-site .border-slate-700,
.brand-site .border-cyan-400\/20,
.brand-site .border-cyan-400\/25 { border-color: var(--brand-line) !important; }
.brand-site .border-cyan-400\/50 { border-color: var(--brand-gold) !important; }
.brand-site .bg-cyan-400 { background: var(--brand-gold) !important; }
.brand-site .text-slate-950 { color: #fffdf8 !important; }
.brand-site .shadow-soft,
.brand-site .shadow-2xl { box-shadow: 0 18px 45px rgba(16, 38, 64, 0.09) !important; }

.brand-site a:hover { color: var(--brand-gold-dark) !important; }
.brand-site .hover\:bg-cyan-300:hover { background: #d7a33a !important; }
.brand-site .hover\:text-cyan-200:hover { color: var(--brand-gold-dark) !important; }
.brand-site .hover\:border-cyan-400\/50:hover { border-color: var(--brand-gold) !important; }

.brand-site .bg-cyan-400\/10 { background: #f6ecd4 !important; }
.brand-site .bg-slate-900\/70 { border-color: var(--brand-line) !important; }
.brand-site .bg-cyan-950\/20 { border-color: #ead7ad !important; }
.brand-site .from-slate-900 { --tw-gradient-from: var(--brand-card) !important; }
.brand-site .to-cyan-950\/30 { --tw-gradient-to: #f0e5cf !important; }

.brand-site .pointer-events-none .bg-cyan-500\/10,
.brand-site .pointer-events-none .bg-sky-400\/10 { background: rgba(197, 139, 36, 0.09) !important; }
.brand-site .bg-cyan-400\/10 { color: var(--brand-gold-dark) !important; }

.brand-site h1,
.brand-site h2,
.brand-site h3 { letter-spacing: -0.025em; }
.brand-site h1 { font-weight: 650; }
.brand-site section > .mb-5 h2,
.brand-site section > .mb-6 h2 { letter-spacing: -0.015em; }

.site-nav {
  align-items: center;
  border-bottom: 1px solid var(--brand-line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  padding-bottom: 1rem;
}

.site-nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
}

.site-nav a {
  align-items: center;
  border-radius: 9999px;
  color: var(--brand-ink-soft);
  display: inline-flex;
  min-height: 2.25rem;
  padding: 0.45rem 0.7rem;
  transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav .site-nav-active {
  background: #f6ecd4;
  color: var(--brand-gold-dark) !important;
}

.site-nav a:focus-visible,
.brand-site a:focus-visible,
.brand-site button:focus-visible {
  outline: 3px solid rgba(197, 139, 36, 0.45);
  outline-offset: 2px;
}

.site-nav .site-nav-home {
  color: var(--brand-ink);
  font-weight: 700;
  letter-spacing: -0.01em;
  padding-left: 0;
}

.site-nav .site-nav-active { font-weight: 700; }

@media (max-width: 639px) {
  .site-nav { align-items: flex-start; }
  .site-nav-links { width: 100%; }
  .site-nav .site-nav-home { width: 100%; }
  .site-nav a { padding-left: 0.55rem; padding-right: 0.55rem; }
}

@media (min-width: 640px) {
  .brand-site main { padding-top: 3.5rem; padding-bottom: 3.5rem; }
}

@media print {
  .brand-site { background: white !important; }
}
