
/* ---- Font family override: Spirit of '76 typography ---- */
/* Override theme's Lora/Karla with Playfair Display/Inter  */
:root {
  --theme-font-p_font-family:    'Playfair Display', Georgia, serif !important;
  --theme-font-h1_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --theme-font-h2_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --theme-font-h3_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --theme-font-h4_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --theme-font-h5_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --theme-font-h6_font-family:   'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  --wp--preset--font-family--p-font: 'Playfair Display', Georgia, serif;
  --wp--preset--font-family--h-1-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

body,
p,
.elementor-widget-text-editor,
input, textarea, select, button {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.post_title,
.widget_title,
.widgettitle {
  font-family: 'Playfair Display', Georgia, serif;
}

/* =====================================================
   Spirit of '76 — color overrides
   Applies token palette to existing Kicker/Elementor markup.
   CSS ONLY — no markup, class, ID, or JS changes.
   ===================================================== */

/* ---- Page background & body ---- */
body,
.site,
.site-content,
#page {
  background-color: var(--bg);
  color: var(--ink);
}

/* ---- Header / nav ---- */
.site-header,
#site-header,
.header_content_wrap,
.trx_addons_scroll_to_top,
header.site-header {
  background-color: var(--bg);
  border-bottom-color: var(--rule);
}

/* Sticky header on scroll */
.header_fixed .site-header,
.sticky-header .site-header,
.header_content_wrap.fixed {
  background-color: rgba(11,21,48,0.92);
  backdrop-filter: blur(12px);
}

/* Logo text */
.site-title a,
.logo_text,
.header_logo a {
  color: var(--ink);
}

/* Nav links */
.menu_main_nav > li > a,
.menu_main_nav .menu-item > a,
.sf-menu > li > a {
  color: var(--ink-2);
}
.menu_main_nav > li > a:hover,
.menu_main_nav .menu-item > a:hover,
.sf-menu > li > a:hover,
.menu_main_nav > li.current-menu-item > a {
  color: var(--gold);
}

/* Nav CTA / book button */
.menu_main_nav .nav_btn > a,
.menu_main_nav .sc_button,
.trx_addons_button,
a.sc_button {
  background-color: var(--gold-deep);
  color: var(--ink);
  border-color: var(--gold-deep);
}
.menu_main_nav .nav_btn > a:hover,
a.sc_button:hover {
  background-color: var(--red-hover);
  border-color: var(--red-hover);
}

/* ---- Sections & backgrounds ---- */
.elementor-section,
.elementor-top-section,
.e-con,
.e-container {
  background-color: transparent;
}

/* Dark sections */
.sc_layouts_row_type_normal,
[class*="scheme_dark"],
.scheme_dark {
  background-color: var(--bg-2);
  color: var(--ink);
}

/* ---- Headings ---- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  color: var(--ink);
}

/* ---- Body text ---- */
p,
.elementor-widget-text-editor p,
.wp-block-paragraph {
  color: var(--ink-2);
}

/* ---- Gold accents — eyebrows, labels, numbers ---- */
.trx_addons_accent,
.sc_item_subtitle,
.sc_item_tag,
.post_meta_item,
.post_categories a,
.post_tags a {
  color: var(--gold);
}

/* ---- Primary CTAs (Liberty Red) ---- */
.sc_button_default,
.sc_button_hover,
a.sc_button_default,
.elementor-button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"],
.wpcf7-submit {
  background-color: var(--gold-deep);
  border-color: var(--gold-deep);
  color: var(--ink);
}
.sc_button_default:hover,
a.sc_button_default:hover,
.elementor-button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: var(--red-hover);
  border-color: var(--red-hover);
  color: var(--ink);
}

/* ---- Secondary / outline buttons (Vintage Gold) ---- */
.sc_button_bordered,
a.sc_button_bordered {
  border-color: var(--gold);
  color: var(--gold);
  background-color: transparent;
}
.sc_button_bordered:hover,
a.sc_button_bordered:hover {
  background-color: var(--gold);
  color: var(--bg);
}

/* ---- Cards / post tiles ---- */
.post_item,
.post_item_wrap,
.sc_item_wrap,
.trx_addons_column {
  background-color: var(--bg-2);
  border-color: var(--rule);
}
.post_item:hover,
.post_item_wrap:hover {
  border-color: var(--gold);
}

/* Post titles in cards */
.post_title a,
.post_title {
  color: var(--ink);
}
.post_title a:hover { color: var(--gold); }

/* Post meta (date, category) */
.post_meta,
.post_meta_item,
.post_date,
.post_author {
  color: var(--ink-3);
}

/* ---- Featured image overlay ---- */
.post_featured .mask,
.post_featured_bg {
  background-color: var(--bg);
}

/* ---- Sidebar / widgets ---- */
.widget,
.sidebar_inner {
  background-color: transparent;
  color: var(--ink-2);
}
.widget_title,
.widgettitle {
  color: var(--ink);
  border-bottom-color: var(--rule);
}

/* ---- Footer ---- */
.footer_wrap,
.site-footer,
#colophon {
  background-color: var(--bg);
  border-top-color: var(--rule);
}
.footer_wrap *,
.site-footer * {
  color: var(--ink-2);
}
.footer_wrap a,
.site-footer a {
  color: var(--ink-2);
}
.footer_wrap a:hover,
.site-footer a:hover {
  color: var(--gold);
}

/* ---- Borders & dividers ---- */
.trx_addons_divider,
hr,
.wp-block-separator {
  border-color: var(--rule);
  background-color: var(--rule);
}

/* ---- Links ---- */
a { color: var(--gold); }
a:hover { color: var(--gold-2); }

/* ---- Form inputs ---- */
input[type="text"],
input[type="email"],
input[type="search"],
textarea,
select,
.wpcf7-text,
.wpcf7-email,
.wpcf7-textarea {
  background-color: var(--bg-3);
  border-color: var(--rule-2);
  color: var(--ink);
}
input::placeholder,
textarea::placeholder { color: var(--ink-4); }
input:focus,
textarea:focus {
  border-color: var(--gold);
  outline: none;
}

/* ---- Parallax sections — leave background-image alone,
        only tint overlays if present ---- */
.background_parallax .sc_layouts_row_bg,
.background_parallax .trx_addons_bg {
  /* intentionally left empty — parallax handles its own transform */
}

/* ---- WP admin bar compensation (no color change needed) ---- */
/* =============================================================
   Spirit of '76 — Blog Index (Cover Story) + Single Post (Field Notes)
   CSS-only reskin. Zero JS. No class renames. No data-* changes.
   ============================================================= */

/* ─────────────────────────────────────────────────────────────
   SHARED: hide right sidebar on blog + single post
   ───────────────────────────────────────────────────────────── */
.blog .sidebar,
.single .sidebar {
  display: none !important;
}

.blog .content_wrap,
.single .content_wrap {
  max-width: 100% !important;
  padding: 0 !important;
}

.blog .content_wrap .content,
.single .content_wrap .content {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ─────────────────────────────────────────────────────────────
   BLOG INDEX — Cover Story Layout
   ───────────────────────────────────────────────────────────── */

/* Full-bleed wrapper */
.blog .sa-blog-wrap {
  background: var(--bg);
  min-height: 100vh;
}

/* ── Masthead / Featured Hero ── */
.blog .sa-blog-masthead {
  background: var(--bg-2);
  background-image:
    radial-gradient(ellipse 80% 60% at 70% 50%, rgba(196,30,58,0.08) 0%, transparent 60%),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 40px,
      rgba(212,165,116,0.03) 40px,
      rgba(212,165,116,0.03) 41px
    );
  padding: 72px 80px 64px;
  border-bottom: 1px solid var(--rule);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  min-height: 520px;
}

/* Left: text content */
.blog .sa-blog-masthead-text {
  position: relative;
  z-index: 2;
}

/* Issue label */
.blog .sa-blog-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
}

.blog .sa-blog-eyebrow::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold);
}

/* Blog title (becomes issue title in hero) */
.blog .sa-blog-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(42px, 5vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  color: var(--ink) !important;
  margin: 0 0 16px !important;
  letter-spacing: -0.02em;
}

.blog .sa-blog-tagline {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 40px;
  max-width: 480px;
}

/* Hero CTA button */
.blog .sa-blog-cta {
  display: inline-block;
  background: var(--gold-deep);
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 28px;
  text-decoration: none !important;
  border: none;
}

.blog .sa-blog-cta:hover {
  background: var(--red-hover);
}

/* Right: decorative / latest post highlight */
.blog .sa-blog-masthead-aside {
  border: 1px solid var(--rule);
  padding: 32px;
  background: var(--bg-3);
  position: relative;
}

/* ── Issue ticker strip ── */
.blog .sa-blog-issue-strip {
  background: var(--bg-3);
  border-bottom: 1px solid var(--rule);
  padding: 0 80px;
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.blog .sa-blog-issue-strip::-webkit-scrollbar { display: none; }

.blog .sa-issue-label {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding: 16px 24px 16px 0;
  border-right: 1px solid var(--rule);
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: 24px;
}

.blog .sa-issue-item {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: var(--ink-2);
  padding: 16px 20px;
  border-right: 1px solid var(--rule);
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none !important;
  transition: color 0.2s;
}

.blog .sa-issue-item:hover { color: var(--gold); }

.blog .sa-issue-num {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  color: var(--gold);
  margin-right: 6px;
}

/* ── Category filter tabs ── */
.blog .sa-cat-filter-bar {
  padding: 0 80px;
  border-bottom: 1px solid var(--rule);
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.blog .sa-cat-filter-bar::-webkit-scrollbar { display: none; }

.blog .sa-cat-tab {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  padding: 14px 20px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  text-decoration: none !important;
  transition: color 0.2s, border-color 0.2s;
  cursor: pointer;
}

.blog .sa-cat-tab.active,
.blog .sa-cat-tab:hover {
  color: var(--ink);
  border-bottom-color: var(--gold);
}

/* ── Archive section ── */
.blog .sa-archive-header {
  padding: 56px 80px 32px;
  border-bottom: 1px solid var(--rule);
}

.blog .sa-archive-label {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.blog .sa-archive-label::before {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--gold);
}

.blog .sa-archive-headline {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(32px, 3.5vw, 52px) !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 0 !important;
  line-height: 1.1 !important;
}

.blog .sa-archive-headline em {
  font-style: italic;
  color: var(--gold);
}

/* ── Post Grid ── */
/* Hide the old numbered list layout */
.blog .sa-blog-container {
  padding: 48px 80px 80px;
}

/* Transform post rows into a 3-col card grid */
.blog .sa-blog-container > .sa-post-row:nth-child(1) {
  display: none; /* first post shown in hero */
}

/* Wrap rows in a pseudo-grid using CSS */
.blog .sa-blog-container {
  display: block;
}

/* Individual post card */
.blog .sa-post-row {
  display: grid;
  grid-template-columns: 1fr;
  background: var(--bg-2);
  border: 1px solid var(--rule);
  transition: border-color 0.2s, transform 0.2s;
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
}

.blog .sa-post-row:hover {
  border-color: var(--gold);
  transform: translateY(-2px);
}

/* Hide number and arrow in card layout */
.blog .sa-post-number,
.blog .sa-post-arrow {
  display: none !important;
}

/* Card image placeholder */
.blog .sa-post-thumb-wrap {
  aspect-ratio: 4/3;
  background: var(--bg-3);
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 8px,
      rgba(212,165,116,0.04) 8px,
      rgba(212,165,116,0.04) 9px
    );
  position: relative;
  overflow: hidden;
}

.blog .sa-post-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* If no image, show placeholder label */
.blog .sa-post-row:not(:has(img)) .sa-post-thumb-wrap::after {
  content: attr(data-label);
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-3);
  background: var(--bg-2);
  padding: 4px 8px;
  border: 1px solid var(--rule);
}

/* Meta column repurposed as card footer */
.blog .sa-post-meta-col {
  display: none;
}

/* Main content: category + title + read more */
.blog .sa-post-main {
  padding: 20px 24px 24px !important;
  width: auto !important;
  float: none !important;
}

/* Category tag above title */
.blog .sa-post-category {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}

/* Card metadata line: date · read time */
.blog .sa-post-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--ink-3);
  margin-bottom: 10px;
}

.blog .sa-post-card-meta span + span::before {
  content: '·';
  margin-right: 8px;
}

/* Post title in card */
.blog .sa-post-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin: 0 0 16px !important;
}

.blog .sa-post-title a {
  color: var(--ink) !important;
  text-decoration: none !important;
  font-style: italic;
}

.blog .sa-post-title a:hover {
  color: var(--gold) !important;
}

/* Read post link */
.blog .sa-post-read-more,
.blog .sa-read-more-link {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-2) !important;
  text-decoration: none !important;
}

.blog .sa-post-read-more:hover,
.blog .sa-read-more-link:hover {
  color: var(--gold) !important;
}

/* Excerpt */
.blog .sa-post-excerpt {
  display: none;
}

/* Grid layout for posts using CSS columns workaround */
/* We can't use CSS grid directly without a wrapper — use column-count */
.blog .sa-blog-container {
  column-count: 3;
  column-gap: 24px;
}

.blog .sa-post-row {
  break-inside: avoid;
  margin-bottom: 24px !important;
  display: block !important;
}

/* Load more button */
.blog .sa-load-more,
.blog .nav-links,
.blog .posts-navigation {
  column-span: all;
  text-align: center;
  padding: 24px 0 0;
  break-inside: avoid;
}

.blog .nav-links a,
.blog .posts-navigation a,
.blog .sa-load-more a {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink) !important;
  border: 1px solid var(--rule);
  padding: 14px 40px;
  text-decoration: none !important;
  transition: border-color 0.2s, color 0.2s;
}

.blog .nav-links a:hover,
.blog .posts-navigation a:hover {
  border-color: var(--gold);
  color: var(--gold) !important;
}

/* ─────────────────────────────────────────────────────────────
   SINGLE POST — Field Notes Layout
   ───────────────────────────────────────────────────────────── */

/* Full-bleed dark header */
.single .sa-article-header {
  background: var(--bg-2) !important;
  background-image:
    radial-gradient(ellipse 60% 80% at 100% 50%, rgba(196,30,58,0.06) 0%, transparent 50%),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 40px,
      rgba(212,165,116,0.025) 40px,
      rgba(212,165,116,0.025) 41px
    ) !important;
  padding: 48px 80px 56px !important;
  border-bottom: 1px solid var(--rule);
}

/* Back link */
.single .sa-back-link {
  display: inline-block;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  text-decoration: none !important;
  margin-bottom: 32px !important;
  transition: color 0.2s;
}

.single .sa-back-link:hover {
  color: var(--gold) !important;
}

/* Eyebrow: issue number · category */
.single .sa-article-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-bottom: 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.single .sa-eyebrow-issue {
  color: var(--ink-3);
}

.single .sa-eyebrow-cat {
  color: var(--gold) !important;
  text-decoration: none !important;
}

.single .sa-eyebrow-cat::before {
  content: '· ';
  color: var(--rule);
}

/* Article title */
.single .sa-article-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(40px, 5vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
  margin: 0 0 24px !important;
  max-width: 860px;
}

.single .sa-article-title em {
  font-style: italic;
  color: var(--gold);
}

/* Deck */
.single .sa-article-deck {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  color: var(--ink-2) !important;
  margin: 0 0 32px !important;
  max-width: 680px;
}

/* Byline bar */
.single .sa-article-byline {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--rule) !important;
  flex-wrap: wrap;
}

.single .sa-byline-avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--gold-deep) !important;
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}

.single .sa-byline-meta {
  flex: 1;
  min-width: 120px;
}

.single .sa-byline-name {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}

.single .sa-byline-role {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  color: var(--ink-3) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.single .sa-byline-divider {
  width: 1px;
  height: 32px;
  background: var(--rule);
  flex-shrink: 0;
}

.single .sa-byline-stats {
  display: flex !important;
  gap: 32px !important;
  align-items: center;
}

.single .sa-byline-stat-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  margin-bottom: 2px !important;
}

.single .sa-byline-stat-val {
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ink) !important;
}

/* Hide email in byline (show only name/role) */
.single .sa-byline-email {
  display: none !important;
}

/* Hero image zone */
.single .sa-article-hero {
  background: var(--bg-3);
  background-image:
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 8px,
      rgba(212,165,116,0.04) 8px,
      rgba(212,165,116,0.04) 9px
    );
  aspect-ratio: 21/9;
  max-height: 420px;
  width: 100%;
  display: flex;
  align-items: flex-end;
  padding: 20px 32px;
  border-bottom: 1px solid var(--rule);
}

.single .sa-article-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single .sa-hero-caption {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: var(--ink-3);
  font-style: italic;
}

/* Article body wrap: TOC + content side-by-side */
.single .sa-article-body-wrap {
  display: grid !important;
  grid-template-columns: 260px 1fr !important;
  gap: 0 !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: start;
}

/* TOC sidebar */
.single .sa-toc {
  position: sticky !important;
  top: 80px !important;
  padding: 48px 32px 48px 80px !important;
  border-right: 1px solid var(--rule) !important;
  align-self: start !important;
}

.single .sa-toc-label {
  font-family: 'Inter', sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  margin-bottom: 16px !important;
}

.single .sa-toc-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single .sa-toc-item {
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--rule) !important;
}

.single .sa-toc-item a,
.single .sa-toc-item {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  color: var(--ink-3) !important;
  text-decoration: none !important;
  transition: color 0.2s;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.single .sa-toc-item.active a,
.single .sa-toc-item a:hover {
  color: var(--ink) !important;
}

.single .sa-toc-num {
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
  color: var(--gold) !important;
  font-size: 11px !important;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Article body */
.single .sa-article-body {
  padding: 48px 80px 80px 56px !important;
  max-width: 780px !important;
}

/* Body typography */
.single .sa-article-body p {
  font-family: 'Inter', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
  color: var(--ink-2) !important;
  margin: 0 0 24px !important;
}

.single .sa-article-body h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 48px 0 16px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--rule) !important;
  line-height: 1.2 !important;
}

.single .sa-article-body h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin: 32px 0 8px !important;
}

/* Dropcap first paragraph */
.single .sa-article-body > p:first-of-type::first-letter,
.single .sa-article-body .dropcap::first-letter {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 5.5em !important;
  font-weight: 700 !important;
  line-height: 0.75 !important;
  float: left !important;
  margin: 4px 8px -4px 0 !important;
  color: var(--ink) !important;
}

/* Pull quote */
.single .sa-article-body blockquote,
.single .sa-pull-quote {
  border-left: 3px solid var(--gold-deep) !important;
  background: var(--bg-3) !important;
  margin: 32px 0 !important;
  padding: 24px 28px !important;
  border-radius: 0 !important;
}

.single .sa-article-body blockquote p,
.single .sa-pull-quote p {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 19px !important;
  font-style: italic !important;
  color: var(--gold) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.single .sa-article-body blockquote cite,
.single .sa-pull-quote cite {
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  color: var(--ink-3) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  display: block !important;
  margin-top: 12px !important;
}

/* Code / template box */
.single .sa-article-body pre,
.single .sa-article-body code,
.single .sa-template-box {
  background: var(--bg-3) !important;
  border: 1px solid var(--rule) !important;
  font-family: 'JetBrains Mono', 'Fira Code', 'Consolas', monospace !important;
  font-size: 13px !important;
  color: var(--ink-2) !important;
  padding: 24px !important;
  display: block !important;
  line-height: 1.8 !important;
  margin: 24px 0 !important;
  overflow-x: auto !important;
}

/* Bullet list */
.single .sa-article-body ul li {
  font-family: 'Inter', sans-serif !important;
  font-size: 16px !important;
  color: var(--ink-2) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--rule) !important;
  list-style: none !important;
  padding-left: 20px !important;
  position: relative !important;
  line-height: 1.6 !important;
}

.single .sa-article-body ul li::before {
  content: '—' !important;
  position: absolute !important;
  left: 0 !important;
  color: var(--ink-3) !important;
}

/* Strong in body */
.single .sa-article-body strong {
  color: var(--ink) !important;
  font-weight: 600 !important;
}

/* Post CTA at bottom */
.single .sa-post-cta {
  background: var(--bg-2);
  border-top: 1px solid var(--rule);
  padding: 56px 80px;
  text-align: center;
}

.single .sa-post-cta h3 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 32px !important;
  color: var(--ink) !important;
  margin-bottom: 8px !important;
}

.single .sa-post-cta p {
  color: var(--ink-2) !important;
  margin-bottom: 24px !important;
}

.single .sa-post-cta a {
  display: inline-block;
  background: var(--gold-deep);
  color: var(--ink) !important;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 32px;
  text-decoration: none !important;
}

/* ── Mobile ── */
@media(max-width:900px) {
  .blog .sa-blog-masthead {
    grid-template-columns: 1fr;
    padding: 48px 20px;
    min-height: auto;
  }
  .blog .sa-blog-masthead-aside { display: none; }
  .blog .sa-blog-issue-strip,
  .blog .sa-cat-filter-bar,
  .blog .sa-archive-header { padding: 0 20px; }
  .blog .sa-blog-container { column-count: 2; padding: 32px 20px 64px; }
  .single .sa-article-header { padding: 32px 20px 40px !important; }
  .single .sa-article-title { font-size: clamp(32px, 8vw, 52px) !important; }
  .single .sa-article-body-wrap { grid-template-columns: 1fr !important; }
  .single .sa-toc { display: none !important; }
  .single .sa-article-body { padding: 32px 20px 64px !important; }
}

@media(max-width:600px) {
  .blog .sa-blog-container { column-count: 1; }
  .single .sa-article-title { font-size: clamp(28px, 9vw, 40px) !important; }
  .single .sa-byline-stats { display: none !important; }
}


/* =====================================================
   Spirit of '76 — Custom Nav Bar  (sa-nav)
   Added 2026-05 — hides Kicker top_panel on non-canvas
   ===================================================== */

/* Hide Kicker's default header on blog/single/about/contacts */
body:not(.elementor-template-canvas) .top_panel,
body:not(.elementor-template-canvas) .top_panel_wrap {
	display: none !important;
}

/* Push page content down to clear the nav on non-canvas pages */
body:not(.elementor-template-canvas) .page_content_wrap {
	padding-top: 64px !important;
}

/* ── Nav shell ── */
.sa-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: var(--bg, #0B1530);
	border-bottom: 1px solid var(--rule, rgba(212,165,116,0.15));
	height: 64px;
	display: none; /* hidden on canvas pages; shown below */
}

body:not(.elementor-template-canvas) .sa-nav {
	display: block;
}

/* ── Inner layout ── */
.sa-nav-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 32px;
	height: 64px;
	display: flex;
	align-items: center;
	gap: 40px;
}

/* ── Logo mark ── */
.sa-nav-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none !important;
	flex-shrink: 0;
}

.sa-nav-adj {
	font-family: var(--serif, 'Playfair Display', Georgia, serif);
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--gold, #D4A574) !important;
	line-height: 1;
	border: 1px solid var(--gold, #D4A574);
	padding: 3px 7px;
	border-radius: 2px;
}

.sa-nav-site-name {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--ink, #F5F1E8) !important;
	text-transform: uppercase;
}

.sa-nav-dot {
	color: var(--gold, #D4A574);
	margin: 0 4px;
}

/* ── Nav links ── */
.sa-nav-links {
	display: flex;
	align-items: center;
	gap: 32px;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	margin-left: auto !important;
}

.sa-nav-links li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.sa-nav-links a {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-2, #C8C0B0) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.sa-nav-links a:hover,
.sa-nav-links a.sa-nav-active {
	color: var(--gold, #D4A574) !important;
}

/* ── CTA button ── */
.sa-nav-cta {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink, #F5F1E8) !important;
	background: var(--gold-deep, #C41E3A);
	text-decoration: none !important;
	padding: 9px 20px;
	border-radius: 2px;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background 0.2s ease;
}

.sa-nav-cta:hover {
	background: var(--red-hover, #A01830) !important;
	color: var(--ink, #F5F1E8) !important;
}

/* ── Hamburger ── */
.sa-nav-hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	margin-left: 8px;
}

.sa-nav-hamburger span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--ink, #F5F1E8);
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.sa-nav-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sa-nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
.sa-nav-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ── Mobile menu ── */
.sa-nav-mobile-menu {
	background: var(--bg-2, #142142);
	border-top: 1px solid var(--rule, rgba(212,165,116,0.15));
	padding: 16px 24px 24px;
}

.sa-nav-mobile-menu ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.sa-nav-mobile-menu li {
	list-style: none !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--rule, rgba(212,165,116,0.15));
}

.sa-nav-mobile-menu a {
	display: block;
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-2, #C8C0B0) !important;
	text-decoration: none !important;
	padding: 14px 0;
}

.sa-nav-mobile-menu a:hover { color: var(--gold, #D4A574) !important; }

.sa-nav-mobile-menu .sa-nav-cta {
	margin-top: 16px;
	display: inline-block;
	border-bottom: none !important;
}

/* ── Responsive ── */
@media (max-width: 768px) {
	.sa-nav-links,
	.sa-nav-cta { display: none !important; }
	.sa-nav-hamburger { display: flex; }
	.sa-nav-inner { gap: 0; }
	.sa-nav-site-name { display: none; }
}

@media (min-width: 769px) {
	.sa-nav-mobile-menu { display: none !important; }
}


/* =====================================================
   Spirit of '76 — TOC Sidebar (single posts)
   ===================================================== */

/* Layout: TOC left + body right on wide screens */
.sa-article-layout {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
}

.sa-article-body-wrap {
	flex: 1;
	min-width: 0;
}

/* TOC sidebar */
.sa-toc {
	width: 220px;
	flex-shrink: 0;
	position: sticky;
	top: 88px; /* below sa-nav (64px) + 24px gap */
	max-height: calc(100vh - 112px);
	overflow-y: auto;
}

.sa-toc-inner {
	border-left: 2px solid var(--rule, rgba(212,165,116,0.15));
	padding-left: 16px;
}

.sa-toc-label {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-3, #7A7060);
	margin-bottom: 12px;
}

/* Progress bar */
.sa-toc-progress-wrap {
	width: 2px;
	height: 80px;
	background: var(--rule, rgba(212,165,116,0.15));
	border-radius: 1px;
	margin: 0 0 16px -18px;
	position: relative;
}

.sa-toc-progress-bar {
	width: 2px;
	height: 0%;
	background: var(--gold, #D4A574);
	border-radius: 1px;
	position: absolute;
	top: 0;
	left: 0;
	transition: height 0.1s linear;
}

/* TOC list */
.sa-toc-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sa-toc-item {
	list-style: none !important;
	margin: 0 !important;
}

.sa-toc-link {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	text-decoration: none !important;
	padding: 5px 0;
	transition: color 0.15s ease;
}

.sa-toc-num {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 10px;
	font-weight: 700;
	color: var(--ink-3, #7A7060);
	min-width: 16px;
	padding-top: 1px;
	flex-shrink: 0;
	transition: color 0.15s ease;
}

.sa-toc-text {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 400;
	color: var(--ink-3, #7A7060);
	line-height: 1.4;
	transition: color 0.15s ease;
}

.sa-toc-link:hover .sa-toc-num,
.sa-toc-link:hover .sa-toc-text,
.sa-toc-link.sa-toc-active .sa-toc-num,
.sa-toc-link.sa-toc-active .sa-toc-text {
	color: var(--gold, #D4A574) !important;
}

.sa-toc-link.sa-toc-active .sa-toc-num {
	color: var(--gold, #D4A574) !important;
}

/* Hide TOC on narrow screens */
@media (max-width: 960px) {
	.sa-article-layout { display: block; padding: 0; }
	.sa-toc { display: none; }
}


/* =====================================================
   Spirit of '76 — Blog Masthead Featured Hero
   ===================================================== */

.sa-blog-masthead {
	background: var(--bg, #0B1530);
	border-bottom: 1px solid var(--rule, rgba(212,165,116,0.15));
	padding: 72px 0 56px;
}

.sa-masthead-inner {
	max-width: 860px;
	margin: 0 auto;
	padding: 0 32px;
}

.sa-masthead-eyebrow {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold, #D4A574);
	margin-bottom: 16px;
}

.sa-blog-title {
	font-family: var(--serif, 'Playfair Display', Georgia, serif);
	font-size: clamp(36px, 5vw, 60px);
	font-weight: 700;
	color: var(--ink, #F5F1E8);
	line-height: 1.1;
	margin: 0 0 16px;
}

.sa-blog-tagline {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 16px;
	color: var(--ink-2, #C8C0B0);
	margin: 0 0 48px;
	line-height: 1.6;
}

/* Hero card */
.sa-hero-card {
	border-top: 1px solid var(--rule, rgba(212,165,116,0.15));
	padding-top: 32px;
}

.sa-hero-card-meta {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-3, #7A7060);
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.sa-hero-cat {
	color: var(--gold, #D4A574);
}

.sa-hero-sep {
	color: var(--ink-3, #7A7060);
}

.sa-hero-title {
	font-family: var(--serif, 'Playfair Display', Georgia, serif);
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 700;
	color: var(--ink, #F5F1E8);
	line-height: 1.25;
	margin: 0 0 12px;
}

.sa-hero-title a {
	color: inherit !important;
	text-decoration: none !important;
}

.sa-hero-title a:hover {
	color: var(--gold, #D4A574) !important;
}

.sa-hero-deck {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 15px;
	color: var(--ink-2, #C8C0B0);
	line-height: 1.65;
	margin: 0 0 24px;
	max-width: 640px;
}

.sa-hero-cta {
	display: inline-block;
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink, #F5F1E8) !important;
	background: var(--gold-deep, #C41E3A);
	text-decoration: none !important;
	padding: 10px 24px;
	border-radius: 2px;
	transition: background 0.2s ease;
}

.sa-hero-cta:hover {
	background: var(--red-hover, #A01830) !important;
	color: var(--ink, #F5F1E8) !important;
}


/* =====================================================
   Spirit of '76 — In This Issue Strip
   ===================================================== */

.sa-issue-strip-wrap {
	background: var(--bg-2, #142142);
	border-bottom: 1px solid var(--rule, rgba(212,165,116,0.15));
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.sa-issue-strip-wrap::-webkit-scrollbar { display: none; }

.sa-issue-strip {
	display: flex;
	align-items: stretch;
	gap: 0;
	padding: 0 32px;
	min-width: max-content;
}

.sa-issue-chip {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 14px 20px;
	border-right: 1px solid var(--rule, rgba(212,165,116,0.15));
	text-decoration: none !important;
	transition: background 0.15s ease;
	min-width: 88px;
}

.sa-issue-chip:first-child { border-left: 1px solid var(--rule, rgba(212,165,116,0.15)); }

.sa-issue-chip:hover {
	background: var(--bg-3, #1B2B4D);
}

.sa-issue-chip-active {
	background: var(--bg-3, #1B2B4D);
}

.sa-issue-no {
	font-family: var(--serif, 'Playfair Display', Georgia, serif);
	font-size: 13px;
	font-weight: 700;
	color: var(--gold, #D4A574) !important;
	line-height: 1;
}

.sa-issue-chip-active .sa-issue-no {
	color: var(--ink, #F5F1E8) !important;
}

.sa-issue-date {
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--ink-3, #7A7060);
	text-transform: uppercase;
}


/* =====================================================
   Spirit of '76 — Category Filter Tabs
   ===================================================== */

.sa-filter-wrap {
	background: var(--bg, #0B1530);
	border-bottom: 1px solid var(--rule, rgba(212,165,116,0.15));
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.sa-filter-wrap::-webkit-scrollbar { display: none; }

.sa-filter-tabs {
	display: flex;
	align-items: stretch;
	gap: 0;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 32px !important;
	min-width: max-content;
}

.sa-filter-tabs li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.sa-filter-tab {
	display: block;
	font-family: var(--sans, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-3, #7A7060) !important;
	text-decoration: none !important;
	padding: 16px 20px;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.sa-filter-tab:hover {
	color: var(--ink-2, #C8C0B0) !important;
}

.sa-filter-tab.sa-filter-active {
	color: var(--gold, #D4A574) !important;
	border-bottom-color: var(--gold, #D4A574);
}


/* =====================================================
   Spirit of '76 — Nav update (matches site.css mockup)
   Square ADJ mark + stacked wordmark/tagline
   ===================================================== */

/* Remove old adj dot styles */
.sa-nav-adj { display: none; }
.sa-nav-site-name { display: none; }
.sa-nav-dot { display: none; }

/* Square ADJ mark */
.sa-nav-mark {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--gold, #D4A574);
  display: grid;
  place-items: center;
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-weight: 700;
  color: var(--gold, #D4A574);
  font-size: 13px;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

/* Stacked brand text */
.sa-nav-brand-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.sa-nav-wordmark {
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-weight: 700;
  font-size: 19px;
  letter-spacing: -0.01em;
  color: var(--ink, #F5F1E8);
  line-height: 1.1;
}

.sa-nav-tag {
  font-family: var(--sans, 'Inter', sans-serif);
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-3, #7A7060);
  line-height: 1;
}

/* Align nav-inner gap tighter */
.sa-nav-inner {
  gap: 32px;
}

/* Nav links style from site.css */
.sa-nav-links a {
  font-size: 13px;
  letter-spacing: 0.06em;
  font-weight: 500;
}

/* CTA matches site.css .nav-cta */
.sa-nav-cta {
  padding: 10px 22px;
  font-size: 13px;
  letter-spacing: 0.08em;
}

/* Hide sa-nav-site-name on mobile too */
@media (max-width: 768px) {
  .sa-nav-brand-text { display: flex; } /* keep stacked brand on mobile */
  .sa-nav-tag { display: none; }        /* hide tagline on mobile, keep wordmark */
}


/* =====================================================
   Spirit of '76 — Footer (sa-footer)
   Matches site.css .footer design exactly
   Hide Kicker default footer on non-canvas pages
   ===================================================== */

/* Hide ALL Kicker/old footers everywhere — sa-footer is the only footer */
.footer_wrap,
.footer_inner,
#footer_wrap,
.footer_wrap,
.footer_inner,
#footer_wrap,
.footer_custom,
#hp-footer {
  display: none !important;
}

/* Footer shell */
.sa-footer {
  display: none; /* hidden on canvas pages, shown below */
  border-top: 1px solid var(--rule, rgba(212,165,116,0.15));
  margin-top: 96px;
  padding: 56px 32px 40px;
  background: var(--bg, #0B1530);
}

body:not(.elementor-template-canvas) .sa-footer {
  display: block;
}

/* Footer inner grid: brand col (2fr) + 3 link cols (1fr each) */
.sa-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
}

/* Brand column */
.sa-footer-brand-col {}

.sa-footer-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  text-decoration: none !important;
  margin-bottom: 16px;
}

.sa-footer-adj {
  width: 42px;
  height: 42px;
  border: 1.5px solid var(--gold, #D4A574);
  display: grid;
  place-items: center;
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-weight: 700;
  color: var(--gold, #D4A574);
  font-size: 13px;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

.sa-footer-wordmark {
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -0.01em;
  color: var(--ink, #F5F1E8);
}

.sa-footer-tagline {
  color: var(--ink-2, #C8C0B0);
  font-size: 14px;
  line-height: 1.6;
  max-width: 320px;
  margin: 0;
}

/* Link columns */
.sa-footer-col-heading {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gold, #D4A574);
  margin: 0 0 16px;
  font-weight: 600;
}

.sa-footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.sa-footer-col li {
  list-style: none !important;
  margin-bottom: 10px !important;
}

.sa-footer-col a {
  color: var(--ink-2, #C8C0B0) !important;
  font-size: 14px;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

.sa-footer-col a:hover {
  color: var(--ink, #F5F1E8) !important;
}

/* Bottom bar */
.sa-footer-bottom {
  max-width: 1180px;
  margin: 48px auto 0;
  padding-top: 24px;
  border-top: 1px solid var(--rule, rgba(212,165,116,0.15));
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--ink-3, #7A7060);
  letter-spacing: 0.06em;
}

.sa-footer-made {
  font-style: italic;
  font-family: var(--serif, 'Playfair Display', Georgia, serif);
}

/* Footer responsive */
@media (max-width: 960px) {
  .sa-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .sa-footer-brand-col {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .sa-footer-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .sa-footer-bottom {
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }
}


/* =====================================================
   Spirit of '76 — Universal footer
   Hide old homepage footer; show sa-footer everywhere
   ===================================================== */


/* Show sa-footer on canvas pages too */
.elementor-template-canvas .sa-footer {
  display: block !important;
}

/* Kicker footer_wrap already hidden on non-canvas;
   canvas pages don't render it, so no extra rule needed */
