@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap");

:root {
  --ifc-navy: #14365d;
  --ifc-slate: #2a2f35;
  --ifc-sand: #f9f8f3;
  --ifc-tangerine: #d85c27;
  --ifc-sage: #b6c199;
}

body {
  font-family: "Inter", sans-serif;
  color: var(--ifc-slate);
  background: var(--ifc-sand);
}

.quarto-title h1,
h1,
h2,
h3,
h4 {
  font-family: "Playfair Display", serif;
  color: var(--ifc-navy);
}

a,
.navbar a,
.sidebar a,
.toc a {
  color: var(--ifc-tangerine);
}

a:hover,
.navbar a:hover,
.sidebar a:hover,
.toc a:hover {
  color: #b1481d;
}

#quarto-header .navbar {
  background: #ffffff !important;
  border-bottom: 1px solid color-mix(in srgb, var(--ifc-sage) 30%, white) !important;
  box-shadow: none !important;
  padding: 0;
  padding-inline-end: 24px;
  padding-inline-start: 24px;
  padding-block-end: 12px;
  padding-block-start: 12px;
}

#quarto-header .navbar-container {
  padding: 0;
}

#quarto-header .navbar-brand-container {
  margin-left: 0 !important;
  margin-right: auto !important;
}

#quarto-header .navbar-brand,
#quarto-header .navbar-brand .navbar-title,
#quarto-header .quarto-navbar-tools a {
  color: var(--ifc-slate) !important;
}

#quarto-header .navbar-brand-logo {
  padding: 0;
}

#quarto-header .navbar-brand-logo img {
  height: 40px;
  max-height: none;
  width: auto;
  display: block;
}

#quarto-header .navbar-brand .navbar-title {
  font-size: 0.95rem;
  font-weight: 500;
  margin-left: 0.75rem;
  color: var(--ifc-navy) !important;
}

#quarto-header .quarto-navbar-tools a {
  color: var(--ifc-slate) !important;
}

#quarto-header .quarto-navbar-tools a:hover {
  color: var(--ifc-navy) !important;
}

#quarto-sidebar {
  background: #fff;
  border-right: 1px solid color-mix(in srgb, var(--ifc-sage) 35%, white);
}

#quarto-sidebar .sidebar-item-text {
  color: var(--ifc-slate);
}

#quarto-sidebar .sidebar-link.active,
#quarto-sidebar .sidebar-link:hover {
  color: var(--ifc-navy);
}

.quarto-title-block {
  border-bottom: 1px solid color-mix(in srgb, var(--ifc-sage) 45%, white);
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
}

blockquote {
  border-left: 4px solid var(--ifc-sage);
  background: #fff;
}

code,
pre {
  border-radius: 2px;
}

.table,
table {
  --bs-table-striped-bg: #ffffff;
}

.table th,
table th {
  color: var(--ifc-navy);
}

/* ── Branded footer ──────────────────────────────────────────── */
.ifc-footer {
  background-color: #1e293b;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.875rem;
  margin-top: 4rem;
}

.ifc-footer-inner {
  max-width: 72rem;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.ifc-footer-logo {
  height: 32px;
  width: 32px;
  opacity: 0.95;
  display: block;
}

.ifc-footer-social {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.ifc-footer-social a {
  color: rgba(255, 255, 255, 0.7) !important;
  line-height: 1;
}

.ifc-footer-social a:hover {
  color: #fff !important;
}

.ifc-footer-copy {
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
}

.ifc-footer-copy a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: underline;
}

.ifc-footer-copy a:hover {
  color: #fff !important;
}

.ifc-footer-nav {
  list-style: none;
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

.ifc-footer-nav a {
  color: rgba(255, 255, 255, 0.7) !important;
  text-decoration: none;
}

.ifc-footer-nav a:hover {
  color: #fff !important;
}

@media (max-width: 576px) {
  .ifc-footer-inner {
    flex-direction: column;
    text-align: center;
  }
}
