/*
===========================================
THANKSGIVING 2026 HOMEPAGE THEME
Seasonal skin for index.html only. Every rule is scoped to
body.theme-thanksgiving; remove that class (and this stylesheet link)
to return the homepage to the standard brand colors.
Loaded after november-2026.css so it can restyle the November blocks.
===========================================
*/

body.theme-thanksgiving {
  --tg-cranberry: #8c2f39;      /* white text 8.4:1 */
  --tg-cranberry-dark: #5e1f27;
  --tg-pumpkin: #c2410c;        /* on white 5.2:1, white text 5.2:1 */
  --tg-pumpkin-dark: #9a3412;
  --tg-gold: #d9a441;           /* decoration fills only */
  --tg-cream: #fdf6ec;
  --tg-wheat: #f6e7cf;
  --tg-line: #ecd9bb;
  --tg-bark: #3b2416;           /* headings on cream 14:1 */
  --tg-text: #4a3426;
  --tg-sage: #5f7a4a;

  /* Remap brand tokens so shared components (header, footer, forms) follow. */
  --primary-navy: var(--tg-cranberry);
  --primary-blue: var(--tg-pumpkin);
  --primary-blue-text: var(--tg-pumpkin);
  --accent-orange: #e8772e;
  --neutral-light: var(--tg-cream);
  --shadow-glow: 0 0 30px rgba(194, 65, 12, 0.25);

  background: var(--tg-cream);
}

/* Leaf garland used as a ribbon/divider (decorative). */
body.theme-thanksgiving {
  --tg-garland: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='28' viewBox='0 0 120 28'%3E%3Cpath d='M0 14c20-8 40 8 60 0s40 8 60 0' fill='none' stroke='%235f7a4a' stroke-width='1.5'/%3E%3Cpath fill='%23c2410c' d='M18 6l1.4 3 2.6-1.2-.5 3.1 3.2.3-2.2 2.2 2.3 1.6-3.1.8.8 3-2.9-1.4-1.6 2.6-1.5-2.6-2.9 1.4.8-3-3.1-.8 2.3-1.6-2.2-2.2 3.2-.3-.5-3.1 2.6 1.2z'/%3E%3Cellipse cx='48' cy='17' rx='6' ry='3.2' transform='rotate(-30 48 17)' fill='%23d9a441'/%3E%3Ccircle cx='62' cy='11' r='2.4' fill='%238c2f39'/%3E%3Ccircle cx='66' cy='13' r='2' fill='%238c2f39'/%3E%3Cpath fill='%238c2f39' d='M88 5l1.4 3 2.6-1.2-.5 3.1 3.2.3-2.2 2.2 2.3 1.6-3.1.8.8 3-2.9-1.4-1.6 2.6-1.5-2.6-2.9 1.4.8-3-3.1-.8 2.3-1.6-2.2-2.2 3.2-.3-.5-3.1 2.6 1.2z'/%3E%3Cellipse cx='108' cy='16' rx='6' ry='3.2' transform='rotate(25 108 16)' fill='%23e8772e'/%3E%3C/svg%3E");
}

/* ---------- typography + shared components ---------- */
body.theme-thanksgiving .section-label {
  color: var(--tg-pumpkin-dark);
  background: rgba(217, 164, 65, 0.2);
}
body.theme-thanksgiving .btn-primary {
  background: linear-gradient(135deg, var(--tg-pumpkin) 0%, var(--tg-pumpkin-dark) 100%);
  box-shadow: 0 8px 25px rgba(154, 52, 18, 0.35);
}
body.theme-thanksgiving .btn-primary:hover {
  background: linear-gradient(135deg, var(--tg-pumpkin-dark) 0%, var(--tg-cranberry) 100%);
  box-shadow: 0 12px 35px rgba(140, 47, 57, 0.4);
}
body.theme-thanksgiving .btn-secondary {
  background: linear-gradient(135deg, var(--tg-cranberry) 0%, var(--tg-cranberry-dark) 100%);
  box-shadow: 0 8px 25px rgba(140, 47, 57, 0.3);
}

/* ---------- hero ---------- */
body.theme-thanksgiving .hero.hero-home::before {
  /* Keeps the dark top band the transparent header needs, in a warm tone. */
  background: linear-gradient(180deg, rgba(42, 20, 12, 0.78) 0, rgba(42, 20, 12, 0.42) 100px, rgba(42, 20, 12, 0.12) 200px, transparent 300px, transparent 70%, rgba(94, 31, 39, 0.3) 100%);
}
body.theme-thanksgiving .hero-intro {
  position: relative;
  background:
    radial-gradient(circle at 85% 10%, rgba(217, 164, 65, 0.22), transparent 40%),
    linear-gradient(120deg, var(--tg-cranberry-dark) 0%, var(--tg-cranberry) 55%, #7a2e1a 100%);
  padding-bottom: 5rem;
}
body.theme-thanksgiving .hero-intro .section-label {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
}
body.theme-thanksgiving .hero-intro::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.75rem;
  height: 28px;
  background: var(--tg-garland) repeat-x center / auto 28px;
  opacity: 0.9;
  pointer-events: none;
}

/* ---------- section backgrounds (override the inline cool gradients) ---------- */
body.theme-thanksgiving #services-showcase,
body.theme-thanksgiving #service-areas,
body.theme-thanksgiving #reviews {
  background: linear-gradient(180deg, #fff 0%, var(--tg-cream) 100%) !important;
}
body.theme-thanksgiving #services,
body.theme-thanksgiving #faq,
body.theme-thanksgiving #process {
  background: linear-gradient(180deg, var(--tg-cream) 0%, #fff 100%) !important;
}
body.theme-thanksgiving .promo-banner + .section,
body.theme-thanksgiving .trust-badges-section {
  background: linear-gradient(135deg, var(--tg-cream) 0%, var(--tg-wheat) 100%) !important;
}
body.theme-thanksgiving .promo-banner {
  background: linear-gradient(120deg, var(--tg-cranberry) 0%, var(--tg-pumpkin-dark) 100%);
}
body.theme-thanksgiving .stats-image-section::before {
  background: linear-gradient(135deg, rgba(154, 52, 18, 0.95) 0%, rgba(94, 31, 39, 0.96) 100%);
}
body.theme-thanksgiving .coverage-hero::before {
  background: linear-gradient(135deg, rgba(59, 36, 22, 0.9) 0%, rgba(140, 47, 57, 0.84) 55%, rgba(194, 65, 12, 0.55) 100%);
}
body.theme-thanksgiving .cta-image-section::before {
  background: linear-gradient(135deg, rgba(154, 52, 18, 0.95) 0%, rgba(140, 47, 57, 0.93) 100%);
}
/* Light text on the dark warm overlays (pumpkin would fail contrast there). */
body.theme-thanksgiving .coverage-hero .section-label,
body.theme-thanksgiving .split-content-side.dark .section-label {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.3);
}
body.theme-thanksgiving .cta-image-section strong { color: #fde68a; }
body.theme-thanksgiving .image-banner-overlay {
  background: linear-gradient(90deg, rgba(59, 36, 22, 0.88) 0%, rgba(140, 47, 57, 0.55) 70%, rgba(140, 47, 57, 0.2) 100%);
}
body.theme-thanksgiving .split-content-side.dark {
  background: linear-gradient(135deg, var(--tg-bark) 0%, var(--tg-cranberry-dark) 100%);
}

/* ===================== NOVEMBER FEATURED PANEL ===================== */
body.theme-thanksgiving #november-feature {
  --nov-ink: var(--tg-bark);
  --nov-text: var(--tg-text);
  --nov-navy: var(--tg-pumpkin);
  --nov-blue-text: var(--tg-cranberry);
  background: #fff;
  padding: 4rem 0;
}
body.theme-thanksgiving .nov-feature {
  position: relative;
  background: linear-gradient(135deg, #fffaf3 0%, var(--tg-cream) 100%);
  border: 1px solid var(--tg-line);
  border-left: 6px solid var(--tg-gold);
  border-radius: var(--radius-2xl, 1.5rem);
  padding: 2rem;
  box-shadow: 0 18px 40px rgba(59, 36, 22, 0.08);
  overflow: hidden;
}
body.theme-thanksgiving .nov-feature::after {
  content: "";
  position: absolute;
  top: 1rem;
  right: -10px;
  width: 140px;
  height: 28px;
  background: var(--tg-garland) no-repeat right center / auto 28px;
  opacity: 0.85;
  pointer-events: none;
}
body.theme-thanksgiving .nov-feature img { box-shadow: 0 12px 28px rgba(59, 36, 22, 0.18); }
body.theme-thanksgiving .nov-btn--primary { background: var(--tg-pumpkin); }
body.theme-thanksgiving .nov-btn--primary:hover { background: var(--tg-pumpkin-dark); }
body.theme-thanksgiving .nov-link { color: var(--tg-cranberry); }

/* ===================== MORE TIME FOR WHAT MATTERS ===================== */
body.theme-thanksgiving #november-campaign {
  --nov-ink: var(--tg-bark);
  --nov-text: var(--tg-text);
  --nov-muted: #6b4f3c;            /* on wheat 6.3:1 */
  --nov-navy: var(--tg-cranberry);
  --nov-blue-text: var(--tg-cranberry);
  --nov-line: var(--tg-line);
  --nov-tint: var(--tg-cream);
  position: relative;
  padding: 6rem 0 6.5rem;
  background:
    radial-gradient(circle at 10% 15%, rgba(217, 164, 65, 0.28), transparent 40%),
    radial-gradient(circle at 92% 85%, rgba(194, 65, 12, 0.16), transparent 45%),
    linear-gradient(180deg, var(--tg-wheat) 0%, #f3dcbc 100%);
}
/* Scalloped edges separate the section from the white panel above and the next section. */
body.theme-thanksgiving #november-campaign::before,
body.theme-thanksgiving #november-campaign::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 22px;
  background-repeat: repeat-x;
  background-size: 44px 22px;
  pointer-events: none;
}
body.theme-thanksgiving #november-campaign::before {
  top: 0;
  background-image: radial-gradient(circle at 22px 0, #fff 21px, transparent 22px);
}
body.theme-thanksgiving #november-campaign::after {
  bottom: 0;
  background-image: radial-gradient(circle at 22px 22px, #fff 21px, transparent 22px);
}

body.theme-thanksgiving #november-campaign .nov-cards__eyebrow {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 0.45rem;
  background: var(--tg-cranberry);
  border-color: var(--tg-cranberry);
  color: #fff;
}
body.theme-thanksgiving .tg-leaf { width: 16px; height: 16px; color: var(--tg-gold); flex-shrink: 0; }

body.theme-thanksgiving #november-campaign h2 { max-width: 24ch; }
body.theme-thanksgiving #november-campaign h2::after {
  content: "";
  display: block;
  width: 180px;
  max-width: 60%;
  height: 28px;
  margin: 0.75rem auto 0;
  background: var(--tg-garland) no-repeat center / auto 28px;
}

body.theme-thanksgiving .nov-card {
  --nov-accent: var(--tg-pumpkin);
  --nov-accent-soft: #fdebd9;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--tg-line);
  border-top: 0;
  border-radius: var(--radius-2xl, 1.5rem);
  background: #fffdf9;
  box-shadow: 0 10px 26px rgba(59, 36, 22, 0.1);
}
body.theme-thanksgiving .nov-card:hover { box-shadow: 0 22px 44px rgba(59, 36, 22, 0.18); }
body.theme-thanksgiving .nov-card--black-friday { --nov-accent: var(--tg-cranberry); --nov-accent-soft: #f7e3e5; }
body.theme-thanksgiving .nov-card--sbs { --nov-accent: var(--tg-sage); --nov-accent-soft: #e8efe1; }

body.theme-thanksgiving .nov-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-bottom: 5px solid var(--nov-accent);
  background: var(--tg-wheat);
}
body.theme-thanksgiving .nov-card__media picture,
body.theme-thanksgiving .nov-card__media img {
  display: block;
  width: 100%;
  height: 100%;
}
body.theme-thanksgiving .nov-card__media img {
  object-fit: cover;
  transition: transform 0.5s ease;
}
body.theme-thanksgiving .nov-card:hover .nov-card__media img { transform: scale(1.05); }

/* Icon + date sit as badges over the photo. */
body.theme-thanksgiving .nov-card__top {
  position: absolute;
  left: 0.9rem;
  right: 0.9rem;
  top: 0.9rem;
  margin: 0;
  align-items: flex-start;
}
body.theme-thanksgiving .nov-card__icon {
  width: 44px;
  height: 44px;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
body.theme-thanksgiving .nov-card__icon svg { width: 22px; height: 22px; }
body.theme-thanksgiving #november-campaign .nov-card__date {
  background: var(--nov-accent);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}

body.theme-thanksgiving .nov-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.4rem 1.5rem 1.15rem;
}
body.theme-thanksgiving .nov-card__cta { color: var(--nov-accent); }
body.theme-thanksgiving .nov-card__cta:hover { color: var(--nov-accent); }

/* Featured card: lifted with a gold ring; label sits on the photo. */
body.theme-thanksgiving .nov-card.is-featured {
  border: 2px solid var(--tg-gold);
  box-shadow: 0 22px 46px rgba(154, 52, 18, 0.22);
}
/* The card clips overflow, so the "Featured" label moves inside, centered over the photo. */
body.theme-thanksgiving .nov-card.is-featured::before {
  top: 1.15rem;
  right: auto;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  background: var(--tg-bark);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

body.theme-thanksgiving #november-campaign a:focus-visible,
body.theme-thanksgiving #november-feature a:focus-visible {
  outline-color: var(--tg-pumpkin-dark);
}

@media (max-width: 860px) {
  body.theme-thanksgiving .nov-feature { padding: 1.25rem; }
  body.theme-thanksgiving .nov-feature::after { display: none; }
}
@media (max-width: 760px) {
  body.theme-thanksgiving #november-campaign { padding: 4.5rem 0 5rem; }
  body.theme-thanksgiving #november-feature { padding: 2.5rem 0; }
  body.theme-thanksgiving .hero-intro { padding-bottom: 4rem; }
}

/* ===================== FALL MOTION =====================
   Leaves canvas + pause button are created by assets/js/fall-leaves.js.
   Everything below is switched off under prefers-reduced-motion. */
.tg-leaves {
  position: fixed;
  inset: 0;
  z-index: 990;               /* under back-to-top (999), mobile CTA bar (1020), header (1030) */
  pointer-events: none;
}
.tg-leaves-toggle {
  position: fixed;
  left: 1.25rem;
  bottom: 1.25rem;
  z-index: 998;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  background: var(--tg-cranberry, #8c2f39);
  color: var(--tg-gold, #d9a441);
  box-shadow: 0 6px 18px rgba(59, 36, 22, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.tg-leaves-toggle svg { width: 22px; height: 22px; animation: tg-rock 3.5s ease-in-out infinite; }
.tg-leaves-toggle:hover { transform: scale(1.08); }
.tg-leaves-toggle:focus-visible { outline: 3px solid var(--tg-pumpkin, #c2410c); outline-offset: 3px; }
.tg-leaves-toggle.is-paused { background: #fff; color: var(--tg-cranberry, #8c2f39); border-color: var(--tg-line, #ecd9bb); }
.tg-leaves-toggle.is-paused svg { animation: none; opacity: 0.75; }
.tg-leaves-toggle.is-paused::after {
  content: "";
  position: absolute;
  width: 26px;
  height: 2px;
  background: currentColor;
  transform: rotate(-45deg);
  border-radius: 2px;
}
@media (max-width: 991px) {
  .tg-leaves-toggle { left: 0.75rem; bottom: 5rem; }   /* clears the mobile Call/Book bar */
}

/* One-time tip beside the pause button: tells visitors the leaves react to them. */
.tg-leaves-hint {
  position: fixed;
  left: 4.75rem;
  bottom: 1.5rem;
  z-index: 998;
  max-width: calc(100vw - 6rem);
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: var(--tg-bark, #3b2416);
  color: #fff;
  font-family: var(--font-heading, 'Poppins', sans-serif);
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.3;
  box-shadow: 0 6px 18px rgba(59, 36, 22, 0.3);
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
}
.tg-leaves-hint.is-visible { opacity: 1; transform: none; }
@media (max-width: 991px) {
  .tg-leaves-hint { left: 4.1rem; bottom: 5.3rem; }
}

@keyframes tg-rock {
  0%, 100% { transform: rotate(-12deg); }
  50% { transform: rotate(12deg); }
}
@keyframes tg-sway {
  0%, 100% { transform: translateX(-6px) rotate(-1.5deg); }
  50% { transform: translateX(6px) rotate(1.5deg); }
}
@keyframes tg-ribbon-drift {
  from { background-position: 0 center; }
  to { background-position: 240px center; }
}
@keyframes tg-glow-drift {
  0%, 100% { transform: translate3d(-4%, -2%, 0) scale(1); opacity: 0.9; }
  50% { transform: translate3d(6%, 4%, 0) scale(1.12); opacity: 1; }
}
@keyframes tg-shimmer {
  0% { background-position: 120% 0; }
  100% { background-position: -20% 0; }
}
@keyframes tg-kenburns {
  0% { transform: scale(1) translate(0, 0); }
  100% { transform: scale(1.08) translate(-1.5%, -1%); }
}
@keyframes tg-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(217, 164, 65, 0.55); }
  50% { box-shadow: 0 0 0 8px rgba(217, 164, 65, 0); }
}
@keyframes tg-sheen {
  from { transform: translateX(-120%) skewX(-18deg); }
  to { transform: translateX(220%) skewX(-18deg); }
}

@media (prefers-reduced-motion: no-preference) {
  /* Hero: drifting warm light + flowing garland + shimmer on the gold city line */
  body.theme-thanksgiving .hero-intro { overflow: hidden; isolation: isolate; }
  body.theme-thanksgiving .hero-intro::before {
    content: "";
    position: absolute;
    inset: -20%;
    z-index: -1;
    background:
      radial-gradient(circle at 25% 30%, rgba(232, 119, 46, 0.28), transparent 35%),
      radial-gradient(circle at 75% 70%, rgba(217, 164, 65, 0.22), transparent 38%);
    animation: tg-glow-drift 16s ease-in-out infinite;
    pointer-events: none;
  }
  body.theme-thanksgiving .hero-intro::after { animation: tg-ribbon-drift 18s linear infinite; }
  body.theme-thanksgiving .hero-title span {
    background: linear-gradient(100deg, var(--accent-gold, #f4c95d) 40%, #fff6d8 50%, var(--accent-gold, #f4c95d) 60%) 0 0 / 250% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: tg-shimmer 2.6s ease-out 0.8s 1 both;
  }

  /* Featured panel: slow Ken Burns photo + fluttering garland */
  body.theme-thanksgiving .nov-feature picture { display: block; overflow: hidden; border-radius: var(--radius-xl, 1rem); }
  body.theme-thanksgiving .nov-feature img { animation: tg-kenburns 18s ease-in-out infinite alternate; }
  body.theme-thanksgiving .nov-feature::after { animation: tg-sway 5s ease-in-out infinite; transform-origin: right center; }

  /* November section */
  body.theme-thanksgiving .tg-leaf { animation: tg-rock 4s ease-in-out infinite; transform-origin: 50% 90%; }
  body.theme-thanksgiving #november-campaign h2::after { animation: tg-sway 4.5s ease-in-out infinite; }
  /* .aos-animate: only after the AOS fade-up has finished taking over transform. */
  body.theme-thanksgiving .nov-card.aos-animate {
    transform: perspective(900px) rotateX(var(--tg-tilt-x, 0deg)) rotateY(var(--tg-tilt-y, 0deg));
    transition: transform 0.35s ease-out, box-shadow 0.3s ease, opacity 0.6s ease;
  }
  body.theme-thanksgiving .nov-card.aos-animate:hover {
    transform: perspective(900px) rotateX(var(--tg-tilt-x, 0deg)) rotateY(var(--tg-tilt-y, 0deg)) translateY(-6px);
  }
  body.theme-thanksgiving .nov-card__media::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 45%;
    background: linear-gradient(90deg, transparent, rgba(255, 246, 216, 0.45), transparent);
    transform: translateX(-120%) skewX(-18deg);
    pointer-events: none;
  }
  body.theme-thanksgiving .nov-card:hover .nov-card__media::after { animation: tg-sheen 0.9s ease-out; }
  body.theme-thanksgiving .nov-card.is-featured::before { animation: tg-pulse 2.4s ease-out infinite; }

  /* Warm shine across primary buttons on hover */
  body.theme-thanksgiving .btn-primary,
  body.theme-thanksgiving .nov-btn--primary { position: relative; overflow: hidden; }
  body.theme-thanksgiving .btn-primary::after,
  body.theme-thanksgiving .nov-btn--primary::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 40%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
    transform: translateX(-120%) skewX(-18deg);
    pointer-events: none;
  }
  body.theme-thanksgiving .btn-primary:hover::after,
  body.theme-thanksgiving .nov-btn--primary:hover::after { animation: tg-sheen 0.8s ease-out; }
}

@media (prefers-reduced-motion: reduce) {
  body.theme-thanksgiving .nov-card__media img { transition: none; }
  body.theme-thanksgiving .nov-card:hover .nov-card__media img { transform: none; }
  .tg-leaves,
  .tg-leaves-toggle,
  .tg-leaves-hint { display: none !important; }
}

/* ===================== THANKSGIVING LANDING PAGE (.nov-page) =====================
   thanksgiving-house-cleaning-2026.html shares the theme tokens and the leaves
   above; these rules restyle its own hero, sections and closing band. */
body.theme-thanksgiving.nov-page {
  --nov-ink: var(--tg-bark);
  --nov-text: var(--tg-text);
  --nov-muted: #6b4f3c;
  --nov-navy: var(--tg-cranberry);
  --nov-blue-text: var(--tg-cranberry);
  --nov-tint: var(--tg-cream);
  --nov-line: var(--tg-line);
}

body.theme-thanksgiving.nov-page .nov-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-bottom: 5rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(217, 164, 65, 0.28), transparent 38%),
    radial-gradient(circle at 92% 30%, rgba(194, 65, 12, 0.14), transparent 40%),
    linear-gradient(165deg, var(--tg-wheat) 0%, var(--tg-cream) 60%, #fff 100%);
}
body.theme-thanksgiving.nov-page .nov-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.75rem;
  height: 28px;
  background: var(--tg-garland) repeat-x center / auto 28px;
  opacity: 0.9;
  pointer-events: none;
}
body.theme-thanksgiving.nov-page .nov-eyebrow {
  background: var(--tg-cranberry);
  border-color: var(--tg-cranberry);
  color: #fff;
}
body.theme-thanksgiving.nov-page .nov-hero__media img,
body.theme-thanksgiving.nov-page .nov-figure img {
  border: 4px solid #fff;
  box-shadow: 0 16px 36px rgba(59, 36, 22, 0.2);
}
body.theme-thanksgiving.nov-page .nov-btn--primary { background: var(--tg-pumpkin); }
body.theme-thanksgiving.nov-page .nov-btn--primary:hover { background: var(--tg-pumpkin-dark); }
body.theme-thanksgiving.nov-page .nov-btn--outline { border-color: var(--tg-cranberry); color: var(--tg-cranberry); }
body.theme-thanksgiving.nov-page .nov-btn--outline:hover { background: var(--tg-cranberry); color: #fff; }

body.theme-thanksgiving.nov-page .nov-section--tint {
  background: linear-gradient(180deg, #fbefdc 0%, var(--tg-wheat) 100%);
}
/* A short leaf garland under each section heading. */
body.theme-thanksgiving.nov-page .nov-section h2::after {
  content: "";
  display: block;
  width: 140px;
  height: 22px;
  margin-top: 0.5rem;
  background: var(--tg-garland) no-repeat left center / auto 22px;
}
body.theme-thanksgiving.nov-page .nov-checklist li::marker { color: var(--tg-pumpkin); }
body.theme-thanksgiving.nov-page .nov-areas a {
  background: #fffdf9;
  border-color: var(--tg-line);
  color: var(--tg-cranberry);
}
body.theme-thanksgiving.nov-page .nov-areas a:hover { border-color: var(--tg-cranberry); background: #fff; }
body.theme-thanksgiving.nov-page .nov-proof blockquote {
  background: #fffdf9;
  border-left: 4px solid var(--tg-gold);
}

body.theme-thanksgiving.nov-page .nov-closing {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 85% 15%, rgba(217, 164, 65, 0.22), transparent 40%),
    linear-gradient(135deg, var(--tg-cranberry-dark) 0%, var(--tg-cranberry) 60%, #7a2e1a 100%);
  padding-top: 4.5rem;
}
body.theme-thanksgiving.nov-page .nov-closing::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0.75rem;
  height: 28px;
  background: var(--tg-garland) repeat-x center / auto 28px;
  opacity: 0.9;
  pointer-events: none;
}
body.theme-thanksgiving.nov-page .nov-closing .nov-figure img { border-color: rgba(255, 255, 255, 0.85); }
body.theme-thanksgiving.nov-page .nov-closing .nov-btn--outline {
  background: transparent;
  border-color: #fff;
  color: #fff;
}
body.theme-thanksgiving.nov-page .nov-closing .nov-btn--outline:hover {
  background: #fff;
  color: var(--tg-cranberry);
}
@media (max-width: 640px) {
  body.theme-thanksgiving.nov-page .nov-eyebrow { border-radius: 1rem; line-height: 1.35; }
}

@media (prefers-reduced-motion: no-preference) {
  body.theme-thanksgiving.nov-page .nov-hero::before {
    content: "";
    position: absolute;
    inset: -20%;
    z-index: -1;
    background:
      radial-gradient(circle at 25% 30%, rgba(232, 119, 46, 0.2), transparent 35%),
      radial-gradient(circle at 75% 70%, rgba(217, 164, 65, 0.2), transparent 38%);
    animation: tg-glow-drift 16s ease-in-out infinite;
    pointer-events: none;
  }
  body.theme-thanksgiving.nov-page .nov-hero::after,
  body.theme-thanksgiving.nov-page .nov-closing::before { animation: tg-ribbon-drift 18s linear infinite; }
  body.theme-thanksgiving.nov-page .nov-hero__media picture {
    display: block;
    overflow: hidden;
    border-radius: var(--radius-xl, 1rem);
  }
  body.theme-thanksgiving.nov-page .nov-hero__media img { animation: tg-kenburns 18s ease-in-out infinite alternate; }
}
