body.tm-warm-theme #navbar {
  background: rgba(251, 249, 246, 0.82) !important;
  border-color: rgba(139, 126, 116, 0.18) !important;
  box-shadow: 0 10px 30px rgba(139, 126, 116, 0.08);
}

body.tm-warm-theme #navbar .brand-wordmark,
body.tm-warm-theme #line1,
body.tm-warm-theme #line2 {
  color: #3f3b34 !important;
  background-color: #3f3b34 !important;
}

body.tm-warm-theme #navbar .brand-wordmark {
  color: #7d6b5d !important;
  opacity: 1 !important;
  text-shadow: none;
  letter-spacing: 0.18em;
  font-size: 1rem !important;
  font-weight: 700;
  white-space: nowrap;
  background: transparent !important;
}

body.tm-warm-theme #navbar .book-now-btn {
  background: #9e8976 !important;
  color: #fff !important;
  border-color: #9e8976 !important;
}

body.tm-warm-theme #navbar .book-now-btn:hover {
  background: #7d6b5d !important;
  color: #fff !important;
}

body.tm-warm-theme #mobileMenu {
  background: rgba(245, 241, 232, 0.96) !important;
}

body.tm-warm-theme #mobileMenu a {
  color: #3f3b34 !important;
}

body.tm-warm-theme #mobileMenu a:hover {
  color: #9e8976 !important;
}

body.tm-warm-theme #mobileMenu .mobile-contact-link {
  background: #9e8976 !important;
  border-color: #9e8976 !important;
  color: #fff !important;
}

body.tm-warm-theme .blog-page-main {
  color: #3f3b34;
  background:
    radial-gradient(circle at top left, rgba(212, 199, 184, 0.34), transparent 26%),
    radial-gradient(circle at 85% 12%, rgba(158, 137, 118, 0.1), transparent 18%),
    linear-gradient(180deg, #f8f3ec 0%, #f5f1eb 34%, #efe7dd 100%);
}

body.tm-warm-theme .blog-shell {
  width: min(1680px, calc(100% - 2rem));
  margin: 0 auto;
}

body.tm-warm-theme #blogHero {
  padding-top: 11rem;
  padding-bottom: 4.5rem;
}

body.tm-warm-theme .blog-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr);
  gap: 2rem;
  align-items: stretch;
}

body.tm-warm-theme .blog-hero-copy,
body.tm-warm-theme .blog-feature-card,
body.tm-warm-theme .blog-cta-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(158, 137, 118, 0.16);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(251, 248, 241, 0.96));
  box-shadow:
    0 24px 52px rgba(111, 98, 89, 0.08),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);
}

body.tm-warm-theme .blog-hero-copy {
  border-radius: 2rem;
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 32rem;
}

body.tm-warm-theme .blog-hero-copy::before,
body.tm-warm-theme .blog-feature-card::before,
body.tm-warm-theme .blog-cta-panel::before {
  content: "";
  position: absolute;
  inset: auto auto -4rem -4rem;
  width: 12rem;
  height: 12rem;
  border-radius: 999px;
  background: rgba(212, 183, 157, 0.12);
  filter: blur(10px);
  pointer-events: none;
}

body.tm-warm-theme .blog-kicker,
body.tm-warm-theme .blog-feature-label,
body.tm-warm-theme .blog-card-tag {
  color: #9e8976;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  font-size: 0.68rem;
  font-weight: 700;
}

body.tm-warm-theme .blog-hero-title,
body.tm-warm-theme .blog-feature-content h2,
body.tm-warm-theme .blog-section-heading h2,
body.tm-warm-theme .blog-cta-panel h2,
body.tm-warm-theme .blog-card-body h3 {
  font-family: "Newsreader", serif;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: #9e8976;
}

body.tm-warm-theme .blog-hero-title {
  font-size: clamp(2.5rem, 5.6vw, 4.6rem);
  line-height: 1;
  max-width: 10ch;
  margin-top: 1rem;
}

body.tm-warm-theme .blog-hero-text,
body.tm-warm-theme .blog-feature-content p,
body.tm-warm-theme .blog-card-body p,
body.tm-warm-theme .blog-cta-panel p {
  color: #716a61;
  font-size: 1rem;
  line-height: 1.8;
}

body.tm-warm-theme .blog-hero-text {
  max-width: 38rem;
  margin-top: 1.4rem;
}

body.tm-warm-theme .blog-hero-actions,
body.tm-warm-theme .blog-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

body.tm-warm-theme .blog-primary-cta,
body.tm-warm-theme .blog-secondary-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  padding: 0 1.5rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.72rem;
  font-weight: 700;
  transition:
    transform 220ms ease,
    background-color 220ms ease,
    color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}

body.tm-warm-theme .blog-primary-cta {
  background: #9e8976;
  color: #fff;
  box-shadow: 0 18px 36px rgba(125, 107, 93, 0.18);
}

body.tm-warm-theme .blog-primary-cta:hover {
  background: #7d6b5d;
  transform: translateY(-1px);
}

body.tm-warm-theme .blog-secondary-cta {
  border: 1px solid rgba(158, 137, 118, 0.3);
  color: #7d6b5d;
  background: rgba(255, 255, 255, 0.55);
}

body.tm-warm-theme .blog-secondary-cta:hover {
  border-color: #9e8976;
  background: rgba(158, 137, 118, 0.08);
  transform: translateY(-1px);
}

body.tm-warm-theme .blog-feature-card {
  border-radius: 2rem;
  display: grid;
  grid-template-rows: 1.15fr auto;
  min-height: 32rem;
}

body.tm-warm-theme .blog-feature-media {
  padding: 1rem 1rem 0;
}

body.tm-warm-theme .blog-feature-media img,
body.tm-warm-theme .blog-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 500ms ease;
}

body.tm-warm-theme .blog-feature-card:hover img,
body.tm-warm-theme .blog-card:hover img {
  transform: scale(1.04);
}

body.tm-warm-theme .blog-feature-media img {
  border-radius: 1.5rem;
  min-height: 21rem;
}

body.tm-warm-theme .blog-feature-content {
  padding: 1.5rem 1.75rem 1.75rem;
}

body.tm-warm-theme .blog-feature-content h2 {
  font-size: 1.8rem;
  line-height: 1.08;
  margin: 0.75rem 0 0.85rem;
}

body.tm-warm-theme .blog-feature-content a {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 1rem;
  color: #7d6b5d;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.72rem;
  font-weight: 700;
}

body.tm-warm-theme .blog-topics {
  padding-bottom: 2rem;
}

body.tm-warm-theme .blog-topics-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  padding: 1.4rem;
  border-radius: 999px;
  border: 1px solid rgba(158, 137, 118, 0.14);
  background: rgba(255, 255, 255, 0.52);
  box-shadow: 0 16px 30px rgba(111, 98, 89, 0.04);
}

body.tm-warm-theme .blog-topics-wrap span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: rgba(158, 137, 118, 0.08);
  color: #7d6b5d;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.66rem;
  font-weight: 700;
}

body.tm-warm-theme .blog-journal {
  padding-top: 3rem;
  padding-bottom: 5rem;
}

body.tm-warm-theme .blog-section-heading {
  max-width: 40rem;
  margin-bottom: 2rem;
}

body.tm-warm-theme .blog-section-heading h2 {
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  line-height: 1.05;
  margin-top: 0.85rem;
}

body.tm-warm-theme .blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

body.tm-warm-theme .blog-card {
  border-radius: 1.75rem;
  overflow: hidden;
  border: 1px solid rgba(158, 137, 118, 0.14);
  background: rgba(255, 255, 255, 0.72);
  box-shadow:
    0 24px 46px rgba(111, 98, 89, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.35);
  transition:
    transform 260ms ease,
    box-shadow 260ms ease,
    border-color 260ms ease;
}

body.tm-warm-theme .blog-card:hover {
  transform: translateY(-6px);
  border-color: rgba(158, 137, 118, 0.24);
  box-shadow:
    0 30px 56px rgba(111, 98, 89, 0.1),
    inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

body.tm-warm-theme .blog-card-offset {
  transform: translateY(2.5rem);
}

body.tm-warm-theme .blog-card-media {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

body.tm-warm-theme .blog-card-body {
  padding: 1.5rem 1.4rem 1.6rem;
}

body.tm-warm-theme .blog-card-body h3 {
  font-size: 1.65rem;
  line-height: 1.08;
  margin: 0.8rem 0 0.85rem;
}

body.tm-warm-theme .blog-cta {
  padding-bottom: 6rem;
}

body.tm-warm-theme .blog-cta-panel {
  border-radius: 2rem;
  padding: 3rem;
  text-align: center;
}

body.tm-warm-theme .blog-cta-panel h2 {
  font-size: clamp(1.9rem, 3.5vw, 3rem);
  line-height: 1.06;
  max-width: 14ch;
  margin: 0.8rem auto 1rem;
}

body.tm-warm-theme .blog-cta-panel p {
  max-width: 42rem;
  margin: 0 auto;
}

body.tm-warm-theme .blog-cta-actions {
  justify-content: center;
}

@media (max-width: 1100px) {
  body.tm-warm-theme .blog-hero-grid,
  body.tm-warm-theme .blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.tm-warm-theme .blog-card-offset {
    transform: none;
  }
}

@media (max-width: 767px) {
  body.tm-warm-theme .blog-shell {
    width: min(100%, calc(100% - 1.25rem));
  }

  body.tm-warm-theme #blogHero {
    padding-top: 8.6rem;
    padding-bottom: 3rem;
  }

  body.tm-warm-theme .blog-hero-grid,
  body.tm-warm-theme .blog-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.tm-warm-theme .blog-hero-copy,
  body.tm-warm-theme .blog-feature-card,
  body.tm-warm-theme .blog-cta-panel {
    border-radius: 1.5rem;
  }

  body.tm-warm-theme .blog-hero-copy,
  body.tm-warm-theme .blog-cta-panel,
  body.tm-warm-theme .blog-feature-content,
  body.tm-warm-theme .blog-card-body {
    padding: 1.3rem;
  }

  body.tm-warm-theme .blog-topics-wrap {
    border-radius: 1.5rem;
    justify-content: flex-start;
  }

  body.tm-warm-theme .blog-hero-actions,
  body.tm-warm-theme .blog-cta-actions {
    flex-direction: column;
  }

  body.tm-warm-theme .blog-primary-cta,
  body.tm-warm-theme .blog-secondary-cta {
    width: 100%;
  }
}
