/* Wilmington Ghost Tour — Midnight Ghost visual system */
:root {
  --wgt-midnight: #192b3a;
  --wgt-blue: #27485c;
  --wgt-gold: #c49b65;
  --wgt-ivory: #f7f5f0;
  --wgt-surface: #ffffff;
  --wgt-text: #23323d;
  --wgt-muted: #56636b;
  --wgt-border: #dee3e2;
  --wgt-heading-font: "Playfair Display", Georgia, serif;
  --wgt-body-font: "Source Sans 3", Arial, sans-serif;
  --wgt-shadow-sm: 0 6px 18px rgba(25, 43, 58, 0.08);
  --wgt-shadow-md: 0 14px 34px rgba(25, 43, 58, 0.11);
}

@font-face {
  font-family: "Source Sans 3 Fallback";
  src: local("Arial");
  ascent-override: 98%;
  descent-override: 24%;
  line-gap-override: 0%;
  size-adjust: 101%;
  font-display: swap;
}

@font-face {
  font-family: "Playfair Display Fallback";
  src: local("Georgia");
  ascent-override: 108%;
  descent-override: 26%;
  line-gap-override: 0%;
  size-adjust: 92%;
  font-display: swap;
}

html {
  color-scheme: light;
  background: var(--wgt-ivory);
  font-family: var(--wgt-body-font);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  background: var(--wgt-ivory) !important;
  color: var(--wgt-text) !important;
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
  font-size: 1.0625rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

button,
input,
select,
textarea {
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
}

h1,
h2,
h3,
.font-serif {
  color: var(--wgt-midnight);
  font-family: "Playfair Display", "Playfair Display Fallback", Georgia, serif !important;
  font-weight: 700;
  letter-spacing: -0.018em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

h4,
h5,
h6 {
  color: var(--wgt-midnight);
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
  font-weight: 700;
}

p,
li,
dd,
dt,
figcaption,
td,
th {
  text-wrap: pretty;
}

a {
  text-underline-offset: 0.16em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--wgt-gold) !important;
  outline-offset: 3px !important;
  border-radius: 3px;
}

::selection {
  background: var(--wgt-gold);
  color: var(--wgt-midnight);
}

/* Shared header and navigation */
.site-header {
  background: rgba(25, 43, 58, 0.97) !important;
  border-bottom: 1px solid rgba(222, 227, 226, 0.18) !important;
  box-shadow: 0 8px 28px rgba(25, 43, 58, 0.22) !important;
}

.site-header .brand {
  color: #ffffff !important;
}

.site-header .brand-logo-img {
  height: 50px !important;
  max-width: 188px !important;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.site-header .site-nav-container {
  width: min(1220px, calc(100% - 40px)) !important;
}

.site-header .site-nav {
  min-height: 68px !important;
  justify-content: flex-start !important;
  gap: 0 !important;
}

.site-header .brand-mark {
  border-color: rgba(196, 155, 101, 0.58) !important;
  background:
    radial-gradient(circle at 34% 30%, #ffffff 0 13%, transparent 14%),
    linear-gradient(155deg, var(--wgt-blue), var(--wgt-midnight) 72%) !important;
}

.site-header .brand-mark::after {
  border-color: var(--wgt-gold) !important;
}

.site-header .brand-name,
.site-header .brand-copy small {
  color: #ffffff !important;
}

.site-header .nav-links {
  gap: clamp(0.75rem, 1.2vw, 1.1rem) !important;
  margin-left: clamp(1.5rem, 3.75vw, 3.75rem) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-family: var(--wgt-body-font) !important;
  font-weight: 600;
}

.site-header .nav-links a {
  padding: 0.45rem 0.1rem !important;
}

.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current="page"] {
  color: var(--wgt-gold) !important;
}

.site-header .menu-btn {
  margin-left: auto !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 8px !important;
  border-color: rgba(222, 227, 226, 0.44) !important;
  background: var(--wgt-surface) !important;
  color: var(--wgt-midnight) !important;
}

/* Legacy utility colors remapped to the new system */
.bg-navy-900 {
  background-color: var(--wgt-midnight) !important;
}

.bg-navy-800,
.bg-navy-700 {
  background-color: var(--wgt-ivory) !important;
}

.bg-gold-500,
.bg-gold-600 {
  background-color: var(--wgt-gold) !important;
}

.bg-gold-950,
.bg-gold-600\/5 {
  background-color: rgba(196, 155, 101, 0.14) !important;
}

.text-slate-300,
.text-slate-400,
.text-slate-500,
.text-slate-600,
.text-gray-300 {
  color: var(--wgt-muted) !important;
}

.text-slate-50,
.text-white,
.text-navy-900 {
  color: var(--wgt-text) !important;
}

.text-gold-400,
.text-gold-500,
.text-gold-500\/80,
.text-gold-500\/90,
.gold-text {
  color: var(--wgt-blue) !important;
}

.border-white\/5,
.border-white\/10,
.border-white\/15,
.border-gold-500,
.border-gold-500\/30,
.border-gold-600 {
  border-color: var(--wgt-border) !important;
}

/* Light editorial surfaces */
main,
article,
main.bg-navy-800,
article.bg-navy-800,
section.bg-navy-800 {
  background-color: var(--wgt-ivory) !important;
}

.article-content,
.about-content,
.prose {
  color: var(--wgt-text) !important;
}

.article-content {
  max-width: 46rem;
}

.article-content p,
.about-content p,
.prose p,
.article-content li,
.about-content li,
.prose li {
  color: var(--wgt-text) !important;
  font-size: 1.075rem;
  line-height: 1.76;
}

.article-content h2,
.article-content h3,
.article-content h4,
.about-content h2,
.about-content h3,
.prose h1,
.prose h2,
.prose h3,
article h1 {
  color: var(--wgt-midnight) !important;
}

body .article-content h2,
body .article-content h3,
body .article-content h4,
body h1.text-gold-500 {
  color: var(--wgt-midnight) !important;
}

.article-content h2,
.about-content h2 {
  margin-top: 3.25rem;
  font-size: clamp(1.8rem, 4vw, 2.35rem) !important;
  line-height: 1.18;
}

.article-content h3,
.about-content h3 {
  margin-top: 2.25rem;
  font-size: clamp(1.4rem, 3vw, 1.75rem) !important;
  line-height: 1.25;
}

.article-content strong,
.about-content strong,
.prose strong {
  color: var(--wgt-midnight) !important;
}

.article-content a:not(.btn-gold):not(.btn-outline):not(.photo-credit-link),
.about-content a:not(.btn-gold):not(.btn-outline),
.prose a,
.credit-entry a {
  color: var(--wgt-blue) !important;
  text-decoration-color: rgba(39, 72, 92, 0.42);
  text-decoration-thickness: 1px;
}

.article-content a:hover,
.about-content a:hover,
.prose a:hover,
.credit-entry a:hover {
  color: var(--wgt-midnight) !important;
  text-decoration-color: var(--wgt-gold);
}

.article-content ul,
.article-content ol,
.about-content ul,
.about-content ol {
  color: var(--wgt-text);
}

.article-content li::marker,
.about-content li::marker,
.prose li::marker {
  color: var(--wgt-gold) !important;
}

.article-content blockquote,
.prose blockquote {
  border-inline-start-color: var(--wgt-gold) !important;
  background: var(--wgt-surface);
  color: var(--wgt-text) !important;
}

/* Cards, informational panels, and archive tiles */
.card-ghost,
.home-page .home-card,
.credit-entry,
.faq-item,
[class~="bg-navy-900/40"],
[class~="bg-navy-900/50"] {
  border-color: var(--wgt-border) !important;
  background: var(--wgt-surface) !important;
  color: var(--wgt-text) !important;
  box-shadow: var(--wgt-shadow-sm) !important;
}

.card-ghost:hover,
.home-page .home-card:hover,
.credit-entry:target {
  border-color: rgba(39, 72, 92, 0.42) !important;
  box-shadow: var(--wgt-shadow-md) !important;
}

.card-ghost h2,
.card-ghost h3,
.home-page .home-card h3,
.credit-entry h2 {
  color: var(--wgt-midnight) !important;
}

.card-ghost p,
.home-page .home-card p,
.credit-entry p,
.faq-item p {
  color: var(--wgt-muted) !important;
}

.card-image-container,
.home-card-media,
.home-tour-media,
.hero-container,
.article-content figure > img {
  background: #e9eeef;
}

.card-image-container,
.home-tour-media > .relative,
.hero-container,
.article-content figure > img {
  border-color: var(--wgt-border) !important;
}

figcaption,
.photo-credit-note,
.license-note {
  color: var(--wgt-muted) !important;
  font-family: var(--wgt-body-font) !important;
  font-size: 0.875rem;
  line-height: 1.55;
}

.photo-credit-link {
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  background: rgba(25, 43, 58, 0.92) !important;
  color: #ffffff !important;
  font-family: var(--wgt-body-font) !important;
  font-size: 0.7rem !important;
  font-weight: 600;
  letter-spacing: 0.05em;
}

.photo-credit-link:hover {
  background: var(--wgt-blue) !important;
  color: #ffffff !important;
}

/* Buttons and interactive controls */
.btn-gold,
button[type="submit"],
input[type="submit"] {
  border: 1px solid var(--wgt-midnight) !important;
  border-radius: 8px;
  background: var(--wgt-midnight) !important;
  box-shadow: 0 7px 18px rgba(25, 43, 58, 0.16) !important;
  color: #ffffff !important;
  font-family: var(--wgt-body-font) !important;
  font-weight: 700;
}

.btn-gold:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  border-color: var(--wgt-blue) !important;
  background: var(--wgt-blue) !important;
  box-shadow: 0 9px 22px rgba(25, 43, 58, 0.2) !important;
  color: #ffffff !important;
}

.btn-outline {
  border: 1px solid var(--wgt-blue) !important;
  border-radius: 8px;
  background: transparent !important;
  color: var(--wgt-blue) !important;
  font-family: var(--wgt-body-font) !important;
  font-weight: 700;
}

.btn-outline:hover {
  border-color: var(--wgt-midnight) !important;
  background: var(--wgt-midnight) !important;
  color: #ffffff !important;
}

/* Tables */
.article-content .overflow-x-auto,
.prose .overflow-x-auto {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--wgt-border);
  border-radius: 10px;
  background: var(--wgt-surface);
}

table {
  background: var(--wgt-surface);
  color: var(--wgt-text);
}

thead,
table tr:first-child th {
  background: var(--wgt-midnight);
  color: #ffffff !important;
}

th {
  color: inherit !important;
  font-family: var(--wgt-body-font) !important;
  font-weight: 700;
}

td,
th {
  border-color: var(--wgt-border) !important;
}

tbody tr:nth-child(even) {
  background: rgba(222, 227, 226, 0.26);
}

/* Homepage-specific light/dark balance */
#home {
  background: var(--wgt-midnight) !important;
}

#home > .absolute.inset-0.z-0 > .absolute {
  background: linear-gradient(
    to bottom,
    rgba(25, 43, 58, 0.52),
    rgba(25, 43, 58, 0.7) 52%,
    var(--wgt-midnight)
  ) !important;
}

#home h1,
#home p,
#home .text-white,
#home [class*="text-white/"] {
  color: #ffffff !important;
}

#home .text-gold-500 {
  color: var(--wgt-gold) !important;
}

#home .btn-outline {
  border-color: rgba(255, 255, 255, 0.72) !important;
  color: #ffffff !important;
}

#home .btn-outline:hover {
  border-color: var(--wgt-gold) !important;
  background: var(--wgt-gold) !important;
  color: var(--wgt-midnight) !important;
}

.home-page #tours,
.home-page #faq {
  background: var(--wgt-ivory) !important;
}

.home-page #tours h2,
.home-page #faq h2,
.home-page .home-tour-card h3,
.home-page .home-article-card h3,
.home-page .home-feature-card h3 {
  color: var(--wgt-midnight) !important;
}

.home-page .home-card-eyebrow span,
.home-page .home-tour-meta span:first-child {
  color: var(--wgt-blue) !important;
}

.home-page .home-tour-meta span:last-child,
.home-page .home-tour-meta-icons span {
  color: var(--wgt-text) !important;
}

.home-page .home-card-link {
  border-color: var(--wgt-blue) !important;
  background: var(--wgt-surface) !important;
  color: var(--wgt-blue) !important;
}

.home-page .home-card-link:hover {
  border-color: var(--wgt-midnight) !important;
  background: var(--wgt-midnight) !important;
  color: #ffffff !important;
}

/* Homepage tour-card typography */
.home-page #tours .home-tour-card,
.home-page #tours .home-tour-card * {
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
}

.home-page #tours .home-tour-card h3 {
  color: var(--wgt-text) !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  line-height: 1.25 !important;
  overflow-wrap: anywhere;
}

.home-page #tours .home-tour-card .home-tour-content > p,
.home-page #tours .home-tour-card .description-container > p,
.home-page #tours .home-tour-card .description-more p {
  color: var(--wgt-text) !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  overflow-wrap: anywhere;
}

.home-page #tours .home-tour-card .home-card-eyebrow span,
.home-page #tours .home-tour-card .home-tour-meta:not(.home-tour-meta-icons) > div > span:first-child {
  color: var(--wgt-muted) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.4;
}

.home-page #tours .home-tour-card .home-tour-meta:not(.home-tour-meta-icons) > div > span:first-child {
  flex: 0 1 42%;
}

.home-page #tours .home-tour-card .home-tour-meta:not(.home-tour-meta-icons) > div > span:last-child {
  min-width: 0;
  max-width: 58%;
  color: var(--wgt-text) !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
  text-transform: none;
  white-space: normal;
}

.home-page #tours .home-tour-card .home-tour-meta-icons span {
  min-width: 0;
  color: var(--wgt-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0;
  line-height: 1.5;
  overflow-wrap: anywhere;
  white-space: normal;
}

.home-page #tours .home-tour-card .read-more-btn {
  color: var(--wgt-blue) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.4;
}

.home-page #tours .home-tour-card .home-card-actions .btn-gold {
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
}

/* Homepage cornerstone article cards */
.home-page .home-article-card .home-card-link {
  min-height: 38px;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--wgt-blue) !important;
  border-radius: 6px;
  background: var(--wgt-blue) !important;
  color: #ffffff !important;
}

.home-page .home-article-card .home-card-link:hover {
  border-color: var(--wgt-midnight) !important;
  background: var(--wgt-midnight) !important;
  color: #ffffff !important;
}

.home-page .home-article-card .home-card-link .icon {
  filter: brightness(0) invert(1);
}

.home-page .home-article-card .home-card-media,
.home-page .home-article-card .home-card-media img,
.home-page .home-article-card:hover .home-card-media,
.home-page .home-article-card:hover .home-card-media img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

.home-page .home-article-card .home-card-media > .bg-navy-900\/40 {
  background: transparent !important;
}

.home-page .home-article-card .photo-credit-link {
  right: auto;
  bottom: 0.45rem;
  left: 0.5rem;
  padding: 0.18rem 0.35rem !important;
  border: 0 !important;
  border-radius: 4px;
  background: rgba(25, 43, 58, 0.76) !important;
  color: #ffffff !important;
  font-size: 0.7rem !important;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.home-page .home-article-card .photo-credit-link:hover {
  background: rgba(25, 43, 58, 0.92) !important;
  color: #ffffff !important;
}

/* Article archive cards */
#articles .card-ghost {
  display: flex;
  flex-direction: column;
}

#articles .card-ghost > .p-6 {
  display: flex;
  flex: 1;
  flex-direction: column;
}

#articles .card-ghost > .p-6 > a:last-child {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5rem;
  min-height: 38px;
  margin-top: auto;
  padding: 0.55rem 0.8rem;
  border: 1px solid var(--wgt-blue) !important;
  border-radius: 6px;
  background: var(--wgt-blue) !important;
  color: #ffffff !important;
  font-weight: 700;
  text-decoration: none !important;
}

#articles .card-ghost > .p-6 > a:last-child:hover {
  border-color: var(--wgt-midnight) !important;
  background: var(--wgt-midnight) !important;
  color: #ffffff !important;
}

#articles .card-ghost > .p-6 > a:last-child .icon {
  filter: brightness(0) invert(1);
}

#articles .card-image-container,
#articles .card-image-container img,
#articles .card-ghost:hover .card-image-container,
#articles .card-ghost:hover .card-image-container img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

#articles .card-image-container {
  position: relative;
}

#articles .card-image-container .photo-credit-link {
  z-index: 2;
  right: auto;
  bottom: 0.4rem;
  left: 0.45rem;
  padding: 0.15rem 0.3rem !important;
  border: 0 !important;
  border-radius: 3px;
  background: rgba(25, 43, 58, 0.76) !important;
  color: #ffffff !important;
  font-size: 0.6875rem !important;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#articles .card-image-container .photo-credit-link:hover {
  background: rgba(25, 43, 58, 0.92) !important;
  color: #ffffff !important;
}

.faq-item {
  border-radius: 10px;
}

.faq-item h3,
.faq-item button,
.faq-item .text-white {
  color: var(--wgt-midnight) !important;
}

#contact {
  background: var(--wgt-blue) !important;
  color: #ffffff !important;
}

#contact h2,
#contact h3,
#contact p,
#contact label,
#contact .text-slate-300,
#contact .text-slate-400,
#contact .text-gold-500 {
  color: #ffffff !important;
}

#contact .bg-gold-600 {
  background: var(--wgt-gold) !important;
  color: var(--wgt-midnight) !important;
}

#contact input,
#contact textarea,
input,
textarea,
select {
  border: 1px solid var(--wgt-border) !important;
  border-radius: 7px !important;
  background: var(--wgt-surface) !important;
  color: var(--wgt-text) !important;
}

#contact input::placeholder,
#contact textarea::placeholder,
input::placeholder,
textarea::placeholder {
  color: #718089 !important;
  opacity: 1;
}

/* Archive and selected dark hero bands */
main > section.bg-navy-900,
body:not(.home-page) main > section:first-child.bg-navy-900 {
  background: var(--wgt-midnight) !important;
}

main > section.bg-navy-900 h1,
main > section.bg-navy-900 h2,
main > section.bg-navy-900 p,
main > section.bg-navy-900 .text-gold-500,
main > section.bg-navy-900 .text-slate-300 {
  color: #ffffff !important;
}

main > section.bg-navy-900 .bg-gold-600 {
  background: var(--wgt-gold) !important;
}

/* Policies */
body.flex.flex-col > main.flex-grow {
  width: min(100%, 56rem);
  margin-inline: auto;
  background: var(--wgt-ivory) !important;
  color: var(--wgt-text) !important;
}

body.flex.flex-col.bg-navy-900 {
  background: var(--wgt-ivory) !important;
}

body.flex.flex-col > main.flex-grow > h1 {
  color: var(--wgt-midnight) !important;
  border-color: var(--wgt-border) !important;
  letter-spacing: 0.04em;
  text-transform: none;
}

.prose-invert,
.prose-gold {
  --tw-prose-body: var(--wgt-text);
  --tw-prose-headings: var(--wgt-midnight);
  --tw-prose-links: var(--wgt-blue);
  --tw-prose-bold: var(--wgt-midnight);
  --tw-prose-counters: var(--wgt-muted);
  --tw-prose-bullets: var(--wgt-gold);
  --tw-prose-hr: var(--wgt-border);
  --tw-prose-quotes: var(--wgt-text);
  --tw-prose-quote-borders: var(--wgt-gold);
  --tw-prose-captions: var(--wgt-muted);
  --tw-prose-th-borders: var(--wgt-border);
  --tw-prose-td-borders: var(--wgt-border);
}

/* Photo Credits */
.credits-main {
  color: var(--wgt-text);
}

.credits-intro h1,
.credit-entry h2 {
  color: var(--wgt-midnight) !important;
}

.credits-intro p,
.credit-entry p {
  color: var(--wgt-muted) !important;
}

.credit-entry {
  border-radius: 10px !important;
  background: var(--wgt-surface) !important;
}

/* Shared footer */
footer,
footer.bg-navy-800,
footer.bg-navy-900,
.site-footer {
  border-color: rgba(222, 227, 226, 0.16) !important;
  background: var(--wgt-midnight) !important;
  color: rgba(255, 255, 255, 0.84) !important;
}

footer h2,
footer h3,
footer .text-white {
  color: #ffffff !important;
}

footer a,
footer .text-slate-300,
.site-footer a {
  color: #e2eaf0 !important;
}

footer p,
footer li,
footer .text-slate-400,
.site-footer p,
.site-footer .copyright {
  color: #c8d2d9 !important;
}

footer.bg-navy-800 .text-white,
footer.bg-navy-900 .text-white {
  color: #ffffff !important;
}

footer.bg-navy-800 a,
footer.bg-navy-900 a,
footer.bg-navy-800 .text-slate-300,
footer.bg-navy-900 .text-slate-300 {
  color: #e2eaf0 !important;
}

footer.bg-navy-800 > .max-w-7xl > .border-t p,
footer.bg-navy-900 > .max-w-7xl > .border-t p {
  color: #c8d2d9 !important;
}

footer a:hover,
footer .text-gold-400,
footer .text-gold-500,
.site-footer a:hover,
.site-footer a[aria-current="page"] {
  color: var(--wgt-gold) !important;
}

footer .border-white\/5,
footer .border-white\/10 {
  border-color: rgba(222, 227, 226, 0.18) !important;
}

footer:not(.site-footer) {
  padding-top: clamp(3.5rem, 6vw, 4.75rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}

footer:not(.site-footer) > .max-w-7xl > .flex:first-child {
  align-items: flex-start;
  gap: clamp(2rem, 5vw, 4.5rem) !important;
  margin-bottom: clamp(2.75rem, 5vw, 4rem) !important;
}

footer:not(.site-footer) > .max-w-7xl > .flex:first-child > div {
  min-width: 0;
}

footer:not(.site-footer) > .max-w-7xl > .flex:first-child p:first-child {
  margin-bottom: 1.25rem !important;
}

footer a[href^="mailto:"] {
  overflow-wrap: anywhere;
}

footer a[class*="social-link-"] {
  border-color: rgba(226, 234, 240, 0.58) !important;
  color: #e2eaf0 !important;
}

footer a[class*="social-link-"]:hover {
  border-color: var(--wgt-gold) !important;
  color: var(--wgt-gold) !important;
}

footer:not(.site-footer) > .max-w-7xl > .border-t {
  align-items: center;
  gap: 1rem 2rem !important;
  padding-top: 1.5rem !important;
}

footer:not(.site-footer) > .max-w-7xl > .border-t > .flex {
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem !important;
}

.site-footer {
  padding-block: 1.75rem !important;
}

/* Individual tour article facts and closing editorial note */
.article-content .tour-at-a-glance,
.article-content .tour-at-a-glance * {
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
}

.article-content .tour-at-a-glance > div:first-child {
  color: var(--wgt-text) !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  letter-spacing: 0;
  line-height: 1.25;
  text-transform: none;
}

.article-content .tour-at-a-glance .space-y-3 > div > span:first-child {
  flex: 0 1 42%;
  color: var(--wgt-muted) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1.4;
}

.article-content .tour-at-a-glance .space-y-3 > div > span:last-child {
  min-width: 0;
  max-width: 58%;
  color: var(--wgt-text) !important;
  font-size: 1.0625rem !important;
  font-weight: 600 !important;
  line-height: 1.5;
  overflow-wrap: anywhere;
  white-space: normal;
}

.article-content .article-editorial-meta {
  margin-top: 3rem;
  margin-bottom: 0 !important;
  padding-top: 1.25rem;
  border-top: 1px solid var(--wgt-border);
  color: var(--wgt-muted) !important;
  font-family: "Source Sans 3", "Source Sans 3 Fallback", Arial, sans-serif !important;
}

/* Responsive reading and navigation */
@media (max-width: 1120px) {
  .site-header .site-nav-container {
    width: min(1220px, calc(100% - 28px)) !important;
  }

  .site-header .nav-links {
    top: 68px !important;
    gap: 0.6rem !important;
    margin-left: 0 !important;
    background: var(--wgt-midnight) !important;
    border-bottom-color: rgba(222, 227, 226, 0.18) !important;
    box-shadow: 0 16px 28px rgba(25, 43, 58, 0.24) !important;
  }

  .site-header .nav-links a {
    width: 100%;
    padding-block: 0.45rem !important;
  }
}

@media (max-width: 640px) {
  .site-header .site-nav {
    min-height: 62px !important;
  }

  .site-header .brand-logo-img {
    height: 44px !important;
    max-width: 164px !important;
    padding-inline: 4px;
  }

  .site-header .nav-links {
    top: 62px !important;
  }

  #articles .card-ghost > .p-6 > a:last-child {
    width: 100%;
    justify-content: center;
  }

  body {
    font-size: 1rem;
    line-height: 1.68;
  }

  .article-content p,
  .about-content p,
  .prose p,
  .article-content li,
  .about-content li,
  .prose li {
    font-size: 1rem;
    line-height: 1.72;
  }

  article h1,
  .credits-intro h1 {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
    line-height: 1.08 !important;
  }

  .article-content h2,
  .about-content h2 {
    font-size: clamp(1.6rem, 8vw, 2rem) !important;
  }

  .article-content h3,
  .about-content h3 {
    font-size: clamp(1.3rem, 6vw, 1.55rem) !important;
  }

  table {
    font-size: 0.9375rem;
  }

  th,
  td {
    min-width: 7.5rem;
  }

  footer:not(.site-footer) > .max-w-7xl > .flex:first-child {
    gap: 2.25rem !important;
    margin-bottom: 2.5rem !important;
  }

  footer:not(.site-footer) > .max-w-7xl > .border-t {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
