:root {
  --brand-black: #17202a;
  --brand-white: #ffffff;
  --brand-accent: #2563eb;
  --focus-ring: rgba(37, 99, 235, 0.35);
}

body {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  letter-spacing: 0.01em;
  background-color: var(--brand-white) !important;
  color: var(--brand-black) !important;
}

::selection {
  background: var(--brand-accent);
  color: var(--brand-white);
}

/* Shared white, charcoal, and blue palette across every page. */
[class~="bg-slate-950"],
[class~="bg-gray-50"] {
  background-color: #f8fafc !important;
}

[class*="bg-slate-900"] {
  background-color: var(--brand-white) !important;
  color: var(--brand-black) !important;
}

[class*="bg-slate-800"] {
  background-color: #eef2f7 !important;
}

[class~="bg-white"] {
  background-color: var(--brand-white) !important;
  color: var(--brand-black) !important;
}

[class*="border-slate-"],
[class*="border-gray-"] {
  border-color: #d9e0e8 !important;
}

[class*="text-indigo-"],
[class*="text-emerald-"],
[class*="text-blue-"] {
  color: var(--brand-accent) !important;
}

[class*="bg-indigo-"] {
  background-color: var(--brand-accent) !important;
}

[class*="bg-gradient-"] {
  background-image: linear-gradient(135deg, #ffffff 0%, #f8fafc 68%, #dbeafe 100%) !important;
}

[class*="hover\\:text-indigo-"]:hover,
[class*="hover\\:text-emerald-"]:hover,
[class*="hover\\:text-blue-"]:hover {
  color: var(--brand-accent) !important;
}

[class*="hover\\:bg-indigo-"]:hover,
[class*="hover\\:bg-blue-"]:hover {
  background-color: #1d4ed8 !important;
}

[class~="text-white"] {
  color: var(--brand-black) !important;
}

[class~="text-transparent"] {
  color: var(--brand-accent) !important;
  background-image: none !important;
  -webkit-text-fill-color: var(--brand-accent) !important;
}

[class~="text-gray-100"],
[class~="text-gray-200"],
[class~="text-gray-300"],
[class~="text-gray-400"],
[class~="text-gray-500"],
[class~="text-slate-300"],
[class~="text-slate-400"],
[class~="text-slate-500"] {
  color: #526171 !important;
}

[class*="bg-indigo-"] [class~="text-white"],
[class*="bg-blue-"] [class~="text-white"],
[class*="bg-indigo-"] {
  color: var(--brand-white) !important;
}

a,
button,
input,
textarea {
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 3px;
}

button:hover,
a[class*="bg-indigo"]:hover {
  transform: translateY(-1px);
}

input:focus,
textarea:focus {
  box-shadow: 0 0 0 4px var(--focus-ring);
}

.blog-page main p {
  color: #526171;
}

.blog-page main h1,
.blog-page main h2,
.blog-page main h3 {
  color: var(--brand-black);
}

.blog-page main h1 span {
  color: var(--brand-accent);
}

.blog-page main > section:first-child > div > div > span,
.blog-page main section p.text-indigo-400 {
  color: var(--brand-accent);
}

.blog-page main section > div > div > span.text-sm,
.blog-page main article > div:last-child > span {
  color: #697789;
}

.blog-page main article p {
  color: #526171;
}

.blog-page main article a {
  color: var(--brand-accent);
}

.blog-page main article:nth-of-type(2) a,
.blog-page main article:nth-of-type(2) h4 {
  color: #2563eb;
}

.blog-page footer {
  color: #697789;
}
