/* =========================================================
   TKT CSS Ã¢â‚¬â€ best-effort reorganized from current uploaded file
   Source: uploaded tkt.css in this chat
   Note: this is a second, more aggressive cleanup pass that
   consolidates repeated gradient systems and shared selector ownership.
   ========================================================= */

/* ===== RESET, TOKENS & GLOBAL BASE ===== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  max-width: 100vw;
}

body {
  overflow-x: clip;
  overflow-y: visible;
  width: 100%;
  max-width: 100vw;
  font-family: "El Messiri", sans-serif;
  background-color: #111;
  color: #DDC97C;
}

input, button, label, textarea, select {
  font-family: inherit;
}

main p  {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

main > :first-child  {
  margin-top: 0;
}
/* ===== HOMEPAGE STAGE Ã¢â‚¬â€ unify header + hero zone ===== */
.homepage-stage {
  width: min(100% - 2rem, 1880px); /* widen the texture field; inner shell stays constrained */
  margin: 0 auto 1rem;
padding: 0.85rem 0 0.5rem;
  position: relative;
  isolation: isolate;
}
/* Homepage hero uses the embedded logo inside the background image.
   Hide the fetched live header logo on homepage only so the two systems
   do not overlap. Keep nav visible. */
.homepage-stage header .hero-logo-wrap > img.site-logo,
.homepage-stage header > img.site-logo {
  display: none !important;
}
.homepage-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 34px;
  background:
    linear-gradient(
      180deg,
      rgba(8, 8, 8, 0.02) 0%,
      rgba(8, 8, 8, 0.03) 56%,
      rgba(10, 10, 10, 0.08) 74%,
      rgba(10, 10, 10, 0.16) 88%,
      rgba(10, 10, 10, 0.30) 100%
    ),
    url("/assets/homepage-hero-texture.webp.png");
  background-repeat: no-repeat, no-repeat;
  background-size: cover, cover;
  background-position: center top, center top;
  box-shadow:
    0 0 0 1px rgba(232, 197, 71, 0.03),
    0 22px 70px rgba(0, 0, 0, 0.18);
  pointer-events: none;
  z-index: 0;
}

@media (min-width: 1025px) {
  .homepage-stage::after {
    content: "";
    position: absolute;
    top: -2.6rem;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(380px, 34vw, 560px);
    height: clamp(400px, 38vw, 620px);
    background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }
}

@media (min-width: 1025px) {
  .tkt-title-inner > .tagline-explainer:first-of-type {
    font-size: 1.32rem;
    line-height: 1.55 !important;
    font-weight: 450;

    max-width: 700px;

    margin: 1.65rem auto 1.45rem !important;

    padding: 0 1.5rem;

    color: #E8C547;
    opacity: 0.88;

    letter-spacing: 0.015em;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);

    font-style: italic;
  }
}

.homepage-stage > * {
  position: relative;
  z-index: 1;
}
/* ===== HOMEPAGE SHELL Ã¢â‚¬â€ inner spacing only, no separate panel ===== */
.homepage-main {
  text-align: center;
  line-height: 1.35;
}
.homepage-shell {
  width: min(100% - 2rem, 1120px);
  margin: 0 auto 1rem;
padding: 18.75rem 1.5rem 1rem;
  position: relative;
}
/* Mobile homepage hero: restore logo layer and reduce desktop spacing */
@media (max-width: 600px) {
  .homepage-stage::before {
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.74) 0%,
        rgba(0, 0, 0, 0.74) 38%,
        rgba(0, 0, 0, 0.86) 68%,
        rgba(0, 0, 0, 0.94) 100%
      ),
      url("/assets/homepage-hero-texture.webp.png");
    background-repeat: no-repeat, no-repeat;
    background-size: cover, cover;
    background-position: center top, center top;
  }

  .homepage-stage::after {
    content: "";
    position: absolute;
    top: 0.85rem;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(235px, 64vw, 295px);
    height: clamp(235px, 68vw, 315px);
    background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }

  .homepage-shell {
    padding: 10rem 1rem 1rem; /* Mobile homepage: reduces gap between visual logo and opening proclamation. */
  }
}


/* Homepage: short medium viewport correction.
   Covers phone landscape widths that miss the portrait-mobile and desktop hero ranges.
   Uses the floating menu, restores the visual logo, and darkens the texture for tagline readability. */
@media (min-width: 601px) and (max-width: 1024px) and (max-height: 520px) {
  .homepage-stage header,
  .homepage-stage .hero-logo-wrap {
    position: relative !important;
    z-index: 30000 !important;
    overflow: visible !important;
  }

  .homepage-stage header nav ul.nav-main {
    display: none !important;
  }

  .homepage-stage .tkt-menu-toggle,
  .homepage-stage .tkt-menu-toggle.tkt-docked {
    display: inline-flex !important;
    position: fixed !important;
    top: 14px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 30003 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .homepage-stage .tkt-menu-panel {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 30001 !important;
    pointer-events: none !important;
  }

  .homepage-stage .tkt-menu-panel[data-open="true"] {
    pointer-events: auto !important;
  }

  .homepage-stage .tkt-menu-panel .tkt-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30001 !important;
  }

  .homepage-stage .tkt-menu-panel .tkt-menu-card,
  .homepage-stage .tkt-menu-panel .tkt-menu-card.tkt-docked {
    display: block !important;
    position: fixed !important;
    top: 58px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 30002 !important;
    pointer-events: auto !important;
  }

  .homepage-stage .tkt-menu-card,
  .homepage-stage .tkt-menu-card *,
  .homepage-stage .tkt-menu-card .tkt-menu-nav,
  .homepage-stage .tkt-menu-card .tkt-menu-nav a,
  .homepage-stage .tkt-menu-card .tkt-menu-nav button {
    pointer-events: auto !important;
  }

  .homepage-stage .tkt-menu-card .tkt-menu-nav {
    display: flex !important;
    flex-direction: column !important;
  }

  .homepage-stage .tkt-menu-card .tkt-subpanel[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .homepage-stage::before {
    background:
      linear-gradient(
        180deg,
        rgba(8, 8, 8, 0.50) 0%,
        rgba(8, 8, 8, 0.62) 24%,
        rgba(8, 8, 8, 0.76) 52%,
        rgba(8, 8, 8, 0.88) 100%
      ),
      url("/assets/homepage-hero-texture.webp.png") center top / cover no-repeat !important;
    background-position: center top !important;
  }

  .homepage-stage::after {
    content: "";
    position: absolute;
    top: 1.3rem;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(195px, 28vw, 250px);
    height: clamp(195px, 29vw, 260px);
    background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }

  .homepage-shell {
    padding-top: clamp(8.75rem, 27vh, 10rem);
  }

  .homepage-taglines,
  .homepage-taglines .tag-nkbc,
  .homepage-taglines .tag-ntbh,
  .homepage-taglines .tag-serve {
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.92) !important;
  }
}
.homepage-shell::before {
  content: none;
}

.homepage-shell > * {
  position: relative;
  z-index: 1;
}

:root {
  --link-grad: linear-gradient(90deg, #D4AF37 0%, #ffffff 50%, #D4AF37 100%);
  --menu-grad-rest: 35%;
  --link-hover-glow: 0 0 8px rgba(130,0,211,.90), 0 0 18px rgba(130,0,211,.75), 0 0 26px rgba(130,0,211,.45);
  --link-focus-outline: 2px solid #E8C547;
  --link-focus-offset: 2px;
  --menu-link-bg-size: 200% 100%;
  --menu-link-bg-pos: var(--menu-grad-rest) 50%;
  --menu-link-inset: 0 0 0 1px rgba(232,197,71,.20) inset;
  --grad-nkbc: linear-gradient(
    to bottom,
    #FF6A5E 0%,
    #D6262C 17%,
    #B11218 55%,
    #7A070B 100%
  );
  --grad-serve-band: linear-gradient(
    to bottom,
    #8FA8E8 0%,
    #6B91EA 16%,
    #4D7DFF 34%,
    #2D5EFF 50%,
    #4A74F2 66%,
    #B7C7F5 80%,
    #C0C49F 100%
  );
  --grad-purple-h2: linear-gradient(
    to bottom,
    #FFD700 0%,
    #FFD700 26%,
    #6F00B3 40%,
    #6F00B3 50%,
    #FFD700 64%,
    #FFD700 100%
  );
  --grad-purple-card: linear-gradient(
    to bottom,
    #FFD700 0%,
    #FFD700 36%,
    #6F00B3 46%,
    #6F00B3 54%,
    #FFD700 64%,
    #FFD700 100%
  );
  --grad-nkbc-accent: linear-gradient(
    to bottom,
    #FFD700 0%,
    #FFD700 22%,
    #DC143C 40%,
    #8B0000 62%,
    #FFD700 75%,
    #FFD700 100%
  );


}

.nowrap  {
  white-space: nowrap;
}


/* ===== BASE UTILITIES & SHARED HELPERS ===== */

.tkt-link {
  display:block;
  padding:.5rem .6rem;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  background: var(--link-grad);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  transition: background-position .35s ease, box-shadow .25s ease;
  background-size: 200% auto;
}

.tkt-link:hover {
  background-position: 200% center;
  box-shadow: 0 0 0 1px rgba(232,197,71,.25) inset, 0 0 14px rgba(130,0,211,.35);
}

.tkt-disabled {
  opacity: .6;
  cursor: default;
}

.tkt-subgroup {
  padding: .25rem 0 .4rem .6rem;
  display:flex;
  flex-direction:column;
  gap:.1rem;
}

.tkt-sublink:hover {
  text-decoration: underline;
}

.purple-sub  {
  color: #8200D3;
  font-weight: bold;
}

.blue-sub  {
  color: #1F51FF;
  font-weight: bold;
}

.red-sub  {
  color: #DC143C;
  font-weight: bold;
}

h2:not(.tkt-title-purplegold):not(.tkt-h2-gradient)  {
  text-align: center;
  font-weight: 700;
  font-size: 1.75rem;
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
  color: #E8C547;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

header + main  {
  padding-top: 2rem;
}

.tkt-404  {
  text-align: center;
}

.tkt-404-title  {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}


/* ===== FORMS & CTA ===== */

.tkt-input  {
  background: linear-gradient( to bottom, #1F51FF 0%,
   #234AE6 40%,
   #2C3FAD 70%,
   #2E3866 100%
   );
  color: #CCCCCC;
  text-align: center;
  font-size: 1.00rem;
  border-radius: 12px;
  border: none;
  padding: 0.70em 1.3em;
  width: 100%;
  max-width: 310px;
  margin: 0 auto 0.75rem auto;
  display: block;
  transition: box-shadow 0.3s ease;
}

.tkt-input::placeholder  {
  color: #CCCCCC;
  opacity: 1;
}

.tkt-input:focus  {
  outline: none;
  box-shadow: 0 0 10px 2px #FFD700;
}

.tkt-btn  {
  background: linear-gradient(to bottom, #b0121a 0%,
   #960018 40%,
   #7a000f 100%
   );
  color: #ffffff;
   border-radius: 12px;
  padding: 0.75em 1.5em;
  cursor: pointer;
  border: none;
  display: block;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 0 10px rgba(150, 0, 24, 0.35);
  transition: box-shadow 0.4s ease-in-out, background-color 0.3s ease-in-out;
  margin-bottom: 0.75rem !important;
  font-size: 1.2rem;
  font-weight: 600;
}

a.tkt-btn  {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  background-image: linear-gradient(to bottom, #b0121a 0%, #960018 40%, #7a000f 100%) !important;
}

a.tkt-btn:hover  {
  filter: brightness(1.05);
}

.tkt-btn:hover  {
  box-shadow: 0 0 12px 3px rgba(232, 197, 71, 0.4);
}

.tkt-btn-submit  {
  margin-top: 1.25rem;
}

.tkt-field  {
  margin-bottom: 1.25rem;
}

.tkt-label, .tkt-consent, .tkt-note, label[for="EMAIL"], label[for="FIRSTNAME"]  {
  display: none !important;
}

#form-trust-text  {
  color: #E8C547 !important;
  font-size: 1.05rem;
  font-weight: 500;
  margin-top: 2.5rem !important;
  margin-bottom: 1.75rem !important;
  text-align: center;
}

.tkt-msg, #success-message, #error-message  {
  font-family: "El Messiri", sans-serif !important;
  font-size: 1rem !important;
}

.notify-btn  {
  max-width: 180px;

  margin: 1.5rem auto 0 auto;
}

.tkt-input:-moz-autofill  {
  box-shadow: 0 0 0 1000px #1F51FF inset !important;
  -moz-text-fill-color: #CCCCCC !important;
}
.tkt-input:-moz-autofill  {
  box-shadow: 0 0 0 1000px #1F51FF inset !important;
  -moz-text-fill-color: #CCCCCC !important;
}

/* Keep browser autofill fields visually consistent */
.tkt-input:-webkit-autofill,
.tkt-input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #1F51FF inset !important;
  -webkit-text-fill-color: #CCCCCC !important;
  background-color: transparent !important;
  background-image: none !important;
}
@media (min-width: 1025px) {
  .tkt-input {
    max-width: 420px;
  }

  .tkt-btn-submit {
    min-width: 420px;
  }
}

/* ===== HERO, TAGLINES & TITLES ===== */

.tagline-explainer  {
  font-size: 1.15rem;
  line-height: 1.3 !important;
  font-weight: 500;
  color: #E8C547;
  text-align: center;
  margin-top: 1.1rem;
  margin-bottom: 1.25rem !important;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  font-style: italic;
  white-space: normal;
  overflow-wrap: break-word;
  max-width: 95vw;
  padding: 0 1rem;
}
.tagline-explainer span {
  display: block;
}
.tagline-explainer span + span {
  margin-top: 0.25rem;
}
.homepage-taglines + .tagline-explainer {
  font-size: 1.18rem;
  font-weight: 500;
  color: #D8BF6A;
  margin-top: 0.85rem;
  margin-bottom: 1.35rem !important;
}

.homepage-taglines + .tagline-explainer a,
.homepage-taglines + .tagline-explainer a:visited {
  color: #D8BF6A !important;
  font-weight: 500;
  text-decoration: none;
}
.tagline-explainer a,
.tagline-explainer a:visited,
.contact-wrapper .contact-route a,
.contact-wrapper .contact-route a:visited  {
  color: #FFD970 !important;
  font-style: normal;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* === HERO DIVIDER === */
.hero-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 100%;
  max-width: 760px;
  margin: 1.1rem auto 1.35rem;
}

.hero-divider-line {
  width: 280px;
  max-width: 32vw;
  height: 1.5px;
  background: rgba(232, 197, 71, 0.62);
  flex: 0 0 auto;
}

.hero-divider-mark {
  display: block;
  width: 74px;
  height: auto;
  opacity: 0.9;
  flex: 0 0 auto;
  transform: translateY(-4px);
}
/* ===== HERO DIVIDER Ã¢â‚¬â€ CHI RHO (proportion fix) ===== */
.hero-divider {
  width: min(540px, 68%);
  margin: 1.05rem auto 1.2rem;
  color: rgba(232, 197, 71, 0.54);
}

.hero-divider svg {
  display: block;
  width: 100%;
  height: 30px;
  overflow: visible;
}

.hero-divider line {
  stroke: currentColor;
  stroke-width: 1.6;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
}

.hero-divider-mark path {
  stroke: currentColor;
  stroke-width: 2.1;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

@media (max-width: 480px) {
  .hero-divider {
    width: min(440px, 78%);
    color: rgba(232, 197, 71, 0.62);
  }
}

.tkt-title-redgold,
.tkt-title-purple,
.tkt-title-leadgold,
.tkt-lead-stacked,
.tkt-title-bluegold,
.tkt-title-series,
.tkt-title-wsha {
  font-style: italic;
}

.tkt-title-redgold,
.tkt-title-purple,
.tkt-title-leadgold,
.tkt-lead-stacked,
.tkt-title-bluegold,
.tkt-title-series {
  font-weight: 600;
}

.tkt-title-redgold  {
  font-size: 2.25rem !important;
  background: linear-gradient(to bottom, #FFD700 0%, #FFD700 25%, #DC143C 40%, #8B0000 55%, #FFD700 85%, #FFD700 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
  display: block;
  margin: 0.1rem 0 !important;
  margin-bottom: 1.5rem !important;
  line-height: 1.3 !important;
}

.tkt-title-purple  {
  font-size: 2rem;
  background: linear-gradient(to bottom, #FFD700 0%,

  #FFD700 18%,

  #8200D3 38%,

  #8200D3 52%,

  #FFD700 70%,

  #FFD700 100%

  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  margin: 0.1em 0 0.3em;
}

.tkt-title-leadgold  {
  font-size: 2rem;
  background: linear-gradient(to bottom, #FFD700 0%,

  #FFD700 25%,

  #1F51FF 48%,

  #1F51FF 58%,

  #FFD700 70%,

  #FFD700 100%

  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  margin: 0.5em 0 1.25em;
  white-space: nowrap;
}

.tkt-title-inner  {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  max-width: 100%;
}

.tkt-lead  {
  font-size: 1.25rem;
  padding: 0 1rem;
  line-height: 1.55;
  margin-top: 2rem !important;
}

.homepage-taglines .tag-ntbh  {
  margin-bottom: 0.25rem !important;
}
/* Desktop homepage: restore creed hierarchy after NKBC prominence bump */
@media (min-width: 769px) {
  .homepage-taglines .tag-ntbh {
    font-size: 1.88rem !important;
  }

  .homepage-taglines .tag-serve {
    font-size: 1.68rem !important;
  }
}
.homepage-taglines .tag-serve  {
  margin-top: 0.22rem !important;
}

.tag-nkbc, .tag-ntbh, .tag-serve  {
  font-size: 1.75rem;
  font-style: italic;
  font-weight: 600;
  text-align: center;
  display: block;
  margin: 0.15em auto;
  line-height: 1.4;
}

.tag-ntbh,
.footer-truth-v2 {
  position: relative;
  display: inline-block;
  z-index: 1;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #6C18AD;
  color: #6C18AD;
  text-shadow:
    0 -0.22px 0 rgba(247, 230, 255, 0.40),
    0 -0.38px 0 rgba(217, 167, 255, 0.12),
    0 1px 1px rgba(0, 0, 0, 0.18),
    0 0 0.10px rgba(255, 255, 255, 0.02);
}

.tag-ntbh {
  font-size: 1.82rem;
  font-weight: 550;
  left: -0.085em;
  margin-bottom: 0em !important;
  line-height: 1.1 !important;
}

.tag-ntbh::before,
.footer-truth-v2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  transform: translate(0.30px, 0.22px);
  color: rgba(232, 197, 71, 0.36);
  -webkit-text-fill-color: rgba(232, 197, 71, 0.36);
  text-shadow:
    0 0 0.09px rgba(255, 215, 0, 0.10),
    0 1px 1px rgba(0, 0, 0, 0.08);
  pointer-events: none;
}

.tag-nkbc {
  font-size: 2.08rem;
  font-weight: 700;
  display: block;

  background: linear-gradient(
    to bottom,
    #FF6A5E 0%,
    #D6262C 17%,
    #B11218 55%,
    #7A070B 100%
  );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;

filter: saturate(1.26) contrast(1.06) brightness(1.12);

  text-shadow:
    0 -0.12px 0 rgba(232, 150, 88, 0.08),
    0 0.38px 0 rgba(34, 0, 3, 0.38),
    0 0.8px 0.9px rgba(0, 0, 0, 0.28),
    0 1.2px 1.5px rgba(20, 0, 0, 0.20);

  margin: 0.2em 0;
}

.tkt-lead-stacked  {
  font-size: 2em;
  background: linear-gradient(to bottom, #FFD700 0%,
  #FFD700 25%,
  #3f51b5 45%,
  #3f51b5 55%,
  #6f5c32 65%,
  #D4AF37 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  margin-top: 0.35em;
  margin-bottom: 1.75em;
}

.tkt-title-bluegold  {
  font-size: 1.85rem;
  background: linear-gradient(to bottom, #FFD700 0%, #FFD700 24%, #1F51FF 46%, #1F51FF 54%, #FFD700 76%, #FFD700 100%) !important;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  white-space: nowrap;
  margin: 0.2em 0 1.75em;
  padding: 0.4em 0.75em;
  border: 2px solid #E8C547;
  border-radius: 8px;
  display: inline-block;
  background-clip: padding-box;
  line-height: 1.4;
}

.tkt-title-series  {
  font-size: 1.75rem;
  display: inline-block;
  line-height: 1.4;
  font-weight: 650;
  background-image: linear-gradient(
    to bottom,
    #8FA8E8 0%,
    #6B91EA 16%,
    #4D7DFF 34%,
    #2D5EFF 50%,
    #4A74F2 66%,
    #B7C7F5 80%,
    #C0C49F 100%
  );
  background-size: 100% 1.34em;
  background-repeat: repeat-y;
  background-position: 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34);
}

.tag-serve,
.footer-serve-v2 {
  font-weight: 650;
  background-image: var(--grad-serve-band);
  background-size: 100% 1.34em;
  background-repeat: repeat-y;
  background-position: 0 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34);
}

.tag-serve {
  font-size: 1.82rem !important;
  line-height: 1.34 !important;
  white-space: normal !important;
  word-break: break-word;
  max-width: 90%;
  margin-bottom: 0em !important;
}

.planned-subhead  {
  font-size: 1.12rem;
  font-weight: 550;
  color: #B9A561;
  margin: 1.25em auto 0.75em;
  display: block;
  width: 100%;
  text-align: center;
  text-shadow: none;
  letter-spacing: 0.01em;
}

.tkt-card h2, .tkt-lead, .tkt-sub  {
  color: #E8C547 !important;
  display: flow-root;
}

.tkt-sub  {
  font-size: 1.1rem;
  margin-bottom: 2.2rem;
  font-style: italic;
}

.tkt-series-highlight  {
  display: inline;
  font-weight: 700;
  background: linear-gradient(to right, #E8C547 0%, #1F51FF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tkt-title-teachings  {
  font-size: 1.85rem;
  font-style: italic;
  font-weight: 600;
  background: linear-gradient(to right, #E8C547 0%, #DC143C 20%, #E8C547 40%, #1F51FF 60%, #1F51FF 80%, #E8C547 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  margin: 1.75rem 0 2rem;
}

.tkt-title-combo  {
  margin-top: 0.1em !important;
  margin-bottom: 0.2em !important;
}

.tkt-title-redgold, .tkt-title-purplegold  {
  margin-bottom: 0.2em !important;
  line-height: 1.2 !important;
}

.page-title  {
  font-size: 2rem;
  font-style: italic;
  font-weight: 550;
  text-align: center;
  margin-top: 0.5em;
  margin-bottom: 0.75em;
  line-height: 1.35;
  position: relative;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #6C18AD;
  color: #6C18AD;
  text-shadow:
    0 -0.22px 0 rgba(247, 230, 255, 0.42),
    0 -0.38px 0 rgba(217, 167, 255, 0.14),
    0 1px 1px rgba(0, 0, 0, 0.18),
    0 0 0.10px rgba(255, 255, 255, 0.02),
    0.38px 0.28px 0 rgba(232, 197, 71, 0.48),
    0 0 0.12px rgba(255, 215, 0, 0.16);
}

.homepage-taglines  {
  margin-top: 0.75rem !important;

  margin-bottom: 1.75rem !important;
}

.tag-force-height  {
  display: block;
  height: 0;
  font-size: 1em;
  line-height: 1;
  visibility: hidden;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

h2.tkt-h2-gradient  {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 550;
  line-height: 1.3;
  margin: 2.5rem auto 1.25rem;
  display: inline-block;
  position: relative;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #6C18AD;
  color: #6C18AD;
  text-shadow:
    0 -0.28px 0 rgba(247, 230, 255, 0.48),
    0 -0.5px 0 rgba(217, 167, 255, 0.18),
    0 1px 1px rgba(0, 0, 0, 0.20),
    0 0 0.12px rgba(255, 255, 255, 0.03),
    0.45px 0.32px 0 rgba(232, 197, 71, 0.58),
    0 0 0.16px rgba(255, 215, 0, 0.20);
}


/* ===== CONTENT BLOCKS, CARDS & CHECKLISTS ===== */
/* ===== HOMEPAGE CTA BUTTON + FEATURE CARDS ===== */
/* Replaces the visible form-heavy hero CTA with a cleaner premium button and card grid. */

.tkt-hero-cta {
  display: flex;
  justify-content: center;
  margin: 1.35rem auto 2.1rem;
}

.tkt-hero-guide-btn,
.tkt-hero-guide-btn:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(100%, 340px);
  padding: 0.76rem 2.05rem;

  border: 1px solid rgba(232, 197, 71, 0.72);
  border-radius: 5px;

  color: #E8C547 !important;
  -webkit-text-fill-color: #E8C547 !important;

  background:
    linear-gradient(
      180deg,
      rgba(232, 197, 71, 0.13) 0%,
      rgba(232, 197, 71, 0.04) 38%,
      rgba(0, 0, 0, 0.28) 100%
    ),
    radial-gradient(
      ellipse at 50% 0%,
      rgba(232, 197, 71, 0.22) 0%,
      rgba(232, 197, 71, 0.08) 42%,
      rgba(0, 0, 0, 0) 78%
    ),
    rgba(8, 6, 5, 0.58) !important;

  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;

  text-decoration: none !important;
  font-size: 1.32rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.015em;

  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.82),
    0 0 8px rgba(232, 197, 71, 0.16);

  box-shadow:
    inset 0 0 0 1px rgba(255, 236, 156, 0.08),
    inset 0 0 22px rgba(232, 197, 71, 0.08),
    0 0 0 1px rgba(0, 0, 0, 0.55),
    0 0 22px rgba(232, 197, 71, 0.10),
    0 8px 24px rgba(0, 0, 0, 0.34);

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease,
    background 0.25s ease;
}

.tkt-hero-guide-btn:hover,
.tkt-hero-guide-btn:focus-visible {
  border-color: rgba(255, 215, 0, 0.82);
  color: #FFE89A !important;
  -webkit-text-fill-color: #FFE89A !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 215, 0, 0.20) 0%,
      rgba(232, 197, 71, 0.12) 42%,
      rgba(0, 0, 0, 0.20) 100%
    ),
    radial-gradient(
      ellipse at 50% 0%,
      rgba(255, 215, 0, 0.26) 0%,
      rgba(232, 197, 71, 0.15) 46%,
      rgba(0, 0, 0, 0) 78%
    ),
    rgba(14, 9, 5, 0.72) !important;

  box-shadow:
    inset 0 0 0 1px rgba(255, 236, 156, 0.28),
    inset 0 0 28px rgba(232, 197, 71, 0.22),
    0 0 0 1px rgba(255, 215, 0, 0.24),
    0 0 16px rgba(232, 197, 71, 0.24),
    0 0 26px rgba(232, 197, 71, 0.16),
    0 10px 28px rgba(0, 0, 0, 0.44);

  filter: brightness(1.08) saturate(1.04);
  transform: translateY(-1px) scale(1.006);
}

/* Homepage feature intro - heading and subline above the three feature cards */
.tkt-home-feature-intro {
  max-width: 760px;
  margin: 2.15rem auto 1.05rem;
  padding: 0 1rem;
  text-align: center;
}

.tkt-home-feature-intro h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.62rem, 2.35vw, 2.22rem);
  line-height: 1.15;
  font-weight: 750;
  color: #E8C547;
  letter-spacing: 0.01em;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.68),
    0 0 12px rgba(232, 197, 71, 0.10);
}

.tkt-home-feature-intro p {
  max-width: 760px;
  margin: 0 auto;
  font-size: clamp(0.98rem, 1.05vw, 1.06rem);
  line-height: 1.55;
  color: #D9C779;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.tkt-home-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.05rem;
  width: min(100%, 1120px);
  margin: 1.45rem auto 3rem;
}

.tkt-home-feature-card,
.tkt-home-feature-card:visited {
  position: relative;
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  border: 1px solid rgba(232, 197, 71, 0.16);
  border-radius: 4px;
  padding: 1.15rem 1.25rem;
  text-align: left;
  text-decoration: none !important;
  color: #E8C547 !important;
  -webkit-text-fill-color: initial !important;
  background: rgba(10, 8, 7, 0.44) !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  box-shadow: inset 0 0 28px rgba(0, 0, 0, 0.35);
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

/* Homepage feature cards - subtle gold perimeter hover/focus */
.tkt-home-feature-card:hover,
.tkt-home-feature-card:focus-visible {
  border-color: rgba(232, 197, 71, 0.48);
  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.38),
    0 0 0 1px rgba(232, 197, 71, 0.24),
    0 0 20px rgba(232, 197, 71, 0.26);
  transform: translateY(-1px);
  outline: none;
}
.tkt-home-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.30) 52%, rgba(0, 0, 0, 0.72) 100%),
    radial-gradient(circle at 50% 20%, rgba(232, 197, 71, 0.22), rgba(120, 56, 18, 0.18) 34%, rgba(0, 0, 0, 0.12) 72%),
    linear-gradient(135deg, rgba(232, 197, 71, 0.12), rgba(130, 0, 211, 0.10), rgba(31, 81, 255, 0.08));
  opacity: 0.95;
  z-index: 0;
}

.tkt-home-card-title,
.tkt-home-card-copy {
  position: relative;
  z-index: 1;
}

.tkt-home-card-title {
  display: block;
  color: #E8C547;
  font-size: 1.35rem;
  font-weight: 650;
  line-height: 1.2;
  margin-bottom: 0.8rem;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.68);
}

.tkt-home-card-copy {
  display: block;
  color: #D8C68A;
  font-size: 1rem;
  line-height: 1.45;
  max-width: 28ch;
}

.tkt-guide-form {
  scroll-margin-top: 2rem;
  margin-top: 3rem;
}
.tkt-checklist {
  list-style: none;
  padding: 0;
  margin: 2rem auto 1.5rem;
  max-width: 560px;
  --check-fs: 1.15rem;
  --check-li-mb: 0.9rem;
  --check-icon-size: 1.2em;
}

.tkt-checklist .check-text,
.check-text {
  color: #E8C547;
  -webkit-text-fill-color: #E8C547;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
  display: inline;
}

.tkt-checklist li {
  display: flex;
  align-items: flex-start;
  gap: .6em;
  margin-bottom: var(--check-li-mb);
  font-size: var(--check-fs);
  font-weight: 600;
  line-height: 1.6;
}

.tkt-checklist .check-icon {
  font-weight: 700;
  font-size: var(--check-icon-size);
  line-height: 1;
  transform: translateY(1px);
  flex-shrink: 0;
  margin-right: .1em;

  background: var(--grad-nkbc-accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  -webkit-text-stroke: 0;
}

.teaching-list  {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
}

.teaching-card  {
  width: 100%;
  max-width: none;

  padding: 0 1rem;
  margin: 0.5rem 0;
}

.teaching-card a  {
  display: flex;

  align-items: baseline;
  gap: 1.5rem;

  text-align: left;
  font-size: 1.4rem;
  font-weight: 600;
  text-decoration: none;
  color: #E8C547;
  transition: all 0.4s ease;
  white-space: nowrap;
}

.teaching-card .card-label  {
  flex: 0 0 13rem;

  background: linear-gradient( to bottom, #D4AF37 0%, #FFD700 15%, #FFEF9F 35%, #FFFBE3 50%, #FFEF9F 65%, #FFD700 85%, #D4AF37 100% );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  display: inline-block;
  font-weight: 600;
  margin-right: 0.25rem;
  line-height: 1.2;
  transition: all 0.4s ease;
}

.teaching-card .card-title  {
  flex: 1 1 auto;
  display: inline-block;
  position: relative;
  font-weight: 550;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #6C18AD;
  color: #6C18AD;
  text-shadow:
    0 -0.28px 0 rgba(247, 230, 255, 0.48),
    0 -0.5px 0 rgba(217, 167, 255, 0.18),
    0 1px 1px rgba(0, 0, 0, 0.20),
    0 0 0.12px rgba(255, 255, 255, 0.03),
    0.45px 0.32px 0 rgba(232, 197, 71, 0.58),
    0 0 0.16px rgba(255, 215, 0, 0.20);

  white-space: normal;
  overflow: visible;
  text-overflow: unset;
}

.teaching-card a:hover .card-label  {
  display: inline-block;
  font-weight: 600;
  margin-right: 0.25rem;
  line-height: 1.2;
  background: var(--link-grad);
  background-size: 128% auto;
  background-position: 56% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  transition: all 0.4s ease;
}

.teaching-card .label  {
  display: inline-block;
  font-weight: 600;
  margin-right: 0.25rem;
  line-height: 1.2;
  background: linear-gradient( to bottom, #FFD700 0%, #FFD700 18%, #8200D3 38%, #8200D3 52%, #FFD700 70%, #FFD700 100% );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  transition: all 0.4s ease;
}

.teaching-card .desc  {
  color: #E8C547;
  font-weight: 600;
  line-height: 1.2;
  transition: all 0.4s ease;
}

.tkt-card h2:not(.tkt-title-purplegold):not(.tkt-h2-gradient) {
  font-size: 1.48rem;
  line-height: 1.24;
  margin-top: 0.50rem;
  margin-bottom: 0.85rem;
  max-width: 40ch;
  margin-left: auto;
  margin-right: auto;
}

.tkt-card p:last-of-type  {
  margin-bottom: 1rem;

}

.cta-lead  {
  color: #C6AE61 !important;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 500;
  margin-top: 1.1rem;
  margin-bottom: 0.95rem;
  display: block;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.18);
}

.tkt-bridge-section  {
  max-width: 700px;
  margin: 0 auto 2.25rem;

  padding: 1rem;
  text-align: center;
  font-family: "El Messiri", sans-serif;
}

.tkt-mission-heading  {
  font-size: 1.65rem;
  font-weight: 600;
  color: #E8C547;
  margin-top: -0.75rem;

  margin-bottom: 0.25rem;
}

.tkt-mission-sub  {
  font-size: 1.15rem;
  line-height: 1.45;
  margin-bottom: 2.5rem;
  background: linear-gradient( to bottom, #FFD700 0%, #FFD700 22%, #1F51FF 44%, #1F51FF 56%, #FFD700 78%, #FFD700 100% );
  background-size: 100% 100%;
  background-position: 0 0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.tkt-pullquote  {
  font-size: 1.15rem;
  font-style: italic;
  color: #E8C547;
  margin: 2.5rem auto;

  padding: 0.75rem 1.5rem;
  border-left: 4px solid #E8C547;
  background: rgba(255, 255, 255, 0.03);
  max-width: 600px;
}

.tkt-secondary-btn  {
  display: inline-block;
  padding: 0.6em 1.25em;
  font-size: 0.95rem;
  font-weight: 500;
  color: #E8C547 !important;
  -webkit-text-fill-color: #E8C547 !important;
  border: 1px solid #E8C547;
  border-radius: 6px;
  background: transparent;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
  margin-top: 1rem;
  margin-bottom: 4rem;
}

.tkt-secondary-btn:hover  {
  background: #E8C547;
  color: #111 !important;

  -webkit-text-fill-color: #111 !important;

  text-shadow: none;
}


/* ===== INFO, BLOG & CONTACT CONTENT ===== */

.info-content  {
  margin-top: 30px;
  margin-bottom: 60px;
  padding: 60px 30px;
  font-family: "El Messiri", sans-serif;
  font-size: 1.35rem;
  color: #D4AF37;
  line-height: 1.95;
  text-align: left;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

.info-content p  {
  margin-bottom: 1.35em;
}

.info-content a, .info-sof-teaser a, .contact-wrapper .contact-route a  {
  color: #E8C547;
  text-decoration: underline;
  text-decoration-thickness: 0.09em;
  text-underline-offset: 0.18em;
  font-weight: 500;
}

.info-content a:hover, .info-sof-teaser a:hover, .contact-wrapper .contact-route a:hover  {
  text-shadow: 0 0 6px rgba(130, 0, 211, 0.9);
}

.sof-pastoral-note  {
  margin-top: 2.5rem;

   padding-top: 0.5rem;
  font-size: 1.15rem;
  font-style: italic;
  border-top: 1px solid rgba(232, 197, 71, 0.4);

}

.info-sof-teaser  {
  margin-top: 2rem;
  font-size: 1.05rem;
  font-style: italic;
}

.info-content h3  {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: #E8C547;
}

.footer-link-email  {
  color: #D4AF37;
  text-decoration: underline;
}

.contact-intro  {
  font-size: 1.1rem;
  font-weight: 500;
  margin-top: 1rem;
  margin-bottom: 1rem;
}

main.blog-post .tkt-title-purplegold  {
  margin-bottom: 3rem !important;

}

main.blog-post  {
  padding-bottom: 2.5rem;

}

.blog-post blockquote.pull-quote a  {
  background: linear-gradient(90deg, #FFD700 0%, #E8C547 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}

.blog-post blockquote.pull-quote:last-of-type  {
  margin-bottom: 3rem;

}

.blog-post p  {
  font-size: 1.3rem;

  line-height: 1.75;

}

.blog-post p a,
.blog-post p a:visited,
.blog-post li a,
.blog-post li a:visited  {
  color: #FFD970 !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-shadow: none;
}

.blog-post blockquote.pull-quote  {
  display: block;
  max-width: 800px;
  margin: 2.25rem auto;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  font-style: italic;
  font-weight: 1000;

  font-size: 1.2rem;
  line-height: 1.8;
  text-align: center;
  border-left: 4px solid #E8C547;
  background-image: linear-gradient( 90deg, #FFD700 0%,
  #FFE88A 20%,
  #DC143C 50%,
  #FFE88A 80%,
  #FFD700 100%
  );
  background-size: 250% 100%;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  animation-direction: normal;
  animation: pullQuoteShimmerX 6s linear infinite;
}

.blog-post .teaching-date {
  display: block;
  width: 100%;
  font-size: 0.9rem;
  color: #C9A93A;
  text-align: center;
  line-height: 1.2;
  margin: 0.55rem auto 1.4rem;
}

.contact-wrapper a.email-link  {
  background: var(--grad-serve-band);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 600;
  text-decoration: none;
  font-size: 1.1em;
  transition: background 0.5s ease-in-out;
}

.contact-wrapper a.email-link:hover,
.contact-wrapper a.email-link:focus-visible,
.contact-wrapper a.email-link:active {
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #8F35D8;
  color: #8F35D8;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.45);
}
.blog-post .tkt-post-inner  {
  max-width: 750px;
  margin: 0 auto 20px auto;

  padding: 30px 30px 24px 30px;

  font-family: "El Messiri", sans-serif;
  font-size: 21.78px;
  color: #D4AF37;
  line-height: 1.95;
  text-align: left;
}


/* ===== FOOTER ===== */

.footer-identity-row  {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
  max-width: 1000px;
  margin: 4em auto 1.15em;
  padding: 0 2.5em;
  text-align: left;
}

.footer-col  {
  flex: 1 1 0;
  padding: 1em 1.25em;
  text-align: center;
  font-size: 1.05rem;
  line-height: 1.6;
}

.footer-identity-row > .footer-col:nth-child(1) {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
}

.footer-left,
.footer-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: visible;
}

.footer-links  {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  text-align: center;
  padding: 0.45em 0 0.35em;
  margin: 0.45rem auto 0;
  width: 100%;
  max-width: 100%;
}

.footer-links .footer-contact-mobile {
  display: none;
}

.footer-links a,
.footer-links a:visited {
  font-weight: 600;
  font-size: 1.26rem;
  letter-spacing: normal;
  text-decoration: none;
  background: var(--link-grad);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  transition: background-position .4s ease, text-shadow .3s ease;
}

.footer-links a:hover,
.footer-links a:focus-visible {
  background-position: 200% center;
  text-shadow: var(--link-hover-glow);
}

/* Footer brand family Ã¢â‚¬â€ v2 remains the canonical footer system */
.footer-tkt-logo-v2,
.footer-nkbc-v2,
.footer-truth-v2,
.footer-serve-v2 {
  font-style: italic;
  text-align: center;
  white-space: normal;
  margin: 0.08em auto;
}

.footer-tkt-logo-v2,
.footer-nkbc-v2 {
  display: block;
  line-height: 1.22;
}

.footer-truth-v2,
.footer-serve-v2 {
  display: inline-block;
  font-size: 1.38rem;
}

.footer-tkt-logo-v2 {
  font-size: 1.55rem;
  font-weight: 700;
  background: linear-gradient(
    145deg,
    #fffce3 5%,
    #E8C547 25%,
    #B78C28 45%,
    #F9D976 65%,
    #E8C547 85%,
    #fffce3 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow:
    0 0 1.5px rgba(232, 197, 71, 0.2),
    0 0 0.8px rgba(255, 245, 200, 0.2);
  margin-bottom: 0.10em;
}

.footer-nkbc-v2 {
  font-size: 1.52rem;
  font-weight: 650;
  background: var(--grad-nkbc);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  margin-bottom: 0.12em;
}

.footer-truth-v2 {
  font-weight: 550;
  line-height: 1.20;
  left: -0.055em;
}

/* Footer NKBC: modestly strengthen allegiance line without competing with TKT */
.footer-nkbc-v2 {
  font-weight: 700;
  filter: saturate(1.12) brightness(1.08);
}
.footer-serve-v2 {
  line-height: 1.34;
  overflow: visible;
  padding-right: 0.12em;
  padding-bottom: 0.14em;
  margin-top: 0;
}

.footer-address, .footer-address *  {
  color: #5F5F5F !important;
  background: none !important;
  -webkit-text-fill-color: #5F5F5F !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}
/* ===== NAV, HEADER & FLOATING MENU ===== */

.tkt-subpanel-back::before {
  content: "";
  font-weight: 700;
  line-height: 1;
}

.tkt-subpanel-nav {
  display:flex;
  flex-direction:column;
  gap:.2rem;
  padding: 0 2px;
}

.tkt-menu-title {
  margin: 4px 6px 10px;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing:.02em;
  background: var(--link-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0,0,0,.45);
}

.tkt-menu-nav {
  display:flex;
  flex-direction:column;
  gap:.1rem;
  padding: 2px;
}

.tkt-menu-card .tkt-menu-nav .coming-soon, .tkt-subpanel .coming-soon {
  opacity: 1 !important;

  cursor: pointer !important;
  pointer-events: auto !important;
}

.tkt-menu-card .tkt-menu-nav .coming-soon::after, .tkt-subpanel .coming-soon::after {
  color: #888 !important;
  font-style: italic;
}

.tkt-menu-details summary {
  list-style: none;
  cursor: pointer;
}

.tkt-menu-details summary::-webkit-details-marker {
  display:none;
}

.tkt-menu-cta {
  padding: .4rem .2rem .2rem;
}

.coming-soon::after  {
  content: " (Coming Soon)";
  font-size: 0.8em;
  color: gray;
}

.teachings-navigation  {
  margin: 2rem 0 2.5rem;
  text-align: center;
}

.teachings-navigation p  {
  margin-top: 0.75rem;
  font-size: 1.02rem;
}

.teachings-nav-list  {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.teachings-nav-list li  {
  margin: 0.35rem 0;
  font-weight: 600;
  font-size: inherit;

}

.tkt-menu-toggle  {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #E8C547;
  background: rgba(0, 0, 0, 0.72);
  color: #E8C547;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
  padding: 0;
}

.tkt-menu-toggle span, .tkt-menu-toggle  {
  line-height: 1;
}

.tkt-menu-card .tkt-menu-nav a:focus-visible, .tkt-menu-card .tkt-menu-nav button:focus-visible, .tkt-subpanel a:focus-visible, .tkt-subpanel .tkt-sublink:focus-visible {
  outline: var(--link-focus-outline);
  outline-offset: var(--link-focus-offset);
}

header .hero-logo-wrap > img.site-logo {
  width: clamp(220px, 22vw, 340px) !important;
  max-width: 340px !important;
  height: auto !important;
  flex: 0 0 auto !important;
}

nav,
nav ul.nav-main li {
  position: relative;
  z-index: 10 !important;
}

/* Primary nav links Ã¢â‚¬â€ owned here, not in Footer */
nav ul.nav-main > li > a,
nav ul.nav-main > li > a:visited {
  font-weight: 600;
  text-decoration: none;
  background: var(--link-grad);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
  transition: background-position .4s ease, text-shadow .3s ease;
}

nav ul.nav-main > li > a:hover,
nav ul.nav-main > li > a:focus-visible {
  background-position: 200% center;
  text-shadow: var(--link-hover-glow);
}

.tkt-menu-card .tkt-menu-nav button, .tkt-menu-card .tkt-menu-nav .tkt-has-submenu {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  border: 0;
  padding: .5rem .6rem;
  border-radius: 10px;
  box-shadow: none;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

.tkt-menu-card .tkt-menu-nav :is(a,button), .tkt-subpanel :is(a,button,.tkt-sublink) {
  display: block;
  padding: .5rem .6rem;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  text-shadow: none !important;
  transition: background-position .35s ease, text-shadow .25s ease, box-shadow .25s ease;
}

.tkt-menu-card .tkt-menu-nav :is(a,button),
.tkt-subpanel :is(a,button,.tkt-sublink),
.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu > span,
.tkt-subpanel-back {
  background: var(--link-grad) !important;
  background-size: var(--menu-link-bg-size) !important;
  background-position: var(--menu-link-bg-pos) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

.tkt-menu-card .tkt-menu-nav :is(a,button):hover,
.tkt-menu-card .tkt-menu-nav :is(a,button):focus-visible,
.tkt-subpanel :is(a,button,.tkt-sublink):hover,
.tkt-subpanel :is(a,button,.tkt-sublink):focus-visible {
  background-position: 200% 50% !important;
  text-shadow: var(--link-hover-glow);
  box-shadow: var(--menu-link-inset);
  outline: var(--link-focus-outline);
  outline-offset: var(--link-focus-offset);
}

.tkt-menu-card .tkt-menu-nav :is(a,button) > span,
.tkt-menu-card .tkt-menu-nav .tkt-has-submenu > span,
.tkt-subpanel :is(a,button,.tkt-sublink) > span {
  background: inherit !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  display: inline-block;
}

.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu > span {
  display: inline-block;
}

.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu:hover > span,
.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu:focus-visible > span,
.tkt-subpanel-back:hover,
.tkt-subpanel-back:focus-visible {
  background-position: 200% 50% !important;
}

.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu {
  font-size: inherit !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: left;
  width: 100%;
  padding: .5rem .6rem !important;
}

.tkt-menu-card .tkt-menu-nav button.tkt-has-submenu > span {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.tkt-subpanel-back {
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid transparent;
  font-weight: 700;
  font-size: 0.95rem;
  padding: .35rem .55rem;
  margin: 6px 6px 8px;
  border-radius: 10px;
  cursor: pointer;
  text-shadow: none;
  transition: background-position .35s ease, box-shadow .25s ease;
}

.tkt-subpanel-back:hover,
.tkt-subpanel-back:focus-visible  {
  box-shadow: 0 0 0 1px rgba(232,197,71,.22) inset, 0 0 12px rgba(130,0,211,.28);
  outline: var(--link-focus-outline);
  outline-offset: var(--link-focus-offset);
}


/* === Teaching Article Series Navigation ===
   Refines breadcrumb and previous/series/next links without adding wrappers.
   Keeps navigation readable, intentional, and less like default text links. */

.blog-post .tkt-breadcrumb {
  margin: 0 0 1.15rem;
  text-align: center;
  font-size: 0.9rem;
}

.blog-post .tkt-breadcrumb a,
.blog-post .tkt-breadcrumb a:visited {
  color: #FFD970 !important;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  text-shadow: none !important;
}

.blog-post .tkt-breadcrumb span {
  color: rgba(255, 217, 112, 0.72);
  margin: 0 0.25rem;
}

.blog-post .tkt-breadcrumb span:last-child {
  color: #FFF0B8;
  font-weight: 500;
}

.blog-post nav.tkt-post-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.65rem 1.15rem;
  margin: 3.5rem auto 0 !important;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(232, 197, 71, 0.22);
  text-align: center;
  font-size: 0.95rem;
}

.blog-post .tkt-post-nav a,
.blog-post .tkt-post-nav a:visited {
  color: #FFD970 !important;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  text-shadow: none !important;
}

.blog-post .tkt-breadcrumb a:hover,
.blog-post .tkt-breadcrumb a:focus-visible,
.blog-post .tkt-post-nav a:hover,
.blog-post .tkt-post-nav a:focus-visible {
  color: #FFE89A !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* iOS floating menu: avoid WebKit clipped-gradient tap artifacts
   iPhone Safari/Chrome can retain a white/gold paint artifact when tapped
   menu text uses background-clip:text plus transparent text fill.
   Scope this fallback to iOS touch devices only so desktop and Android keep
   the approved gradient menu treatment.
*/
@supports (-webkit-touch-callout: none) {
  @media (hover: none) and (pointer: coarse) {
    .tkt-menu-card .tkt-menu-nav :is(a, button),
    .tkt-subpanel :is(a, button, .tkt-sublink),
    .tkt-subpanel-back {
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
    }

    .tkt-menu-card .tkt-menu-nav :is(a, button),
    .tkt-subpanel :is(a, button, .tkt-sublink),
    .tkt-subpanel-back,
    .tkt-menu-card .tkt-menu-nav :is(a, button) > span,
    .tkt-menu-card .tkt-menu-nav .tkt-has-submenu > span,
    .tkt-subpanel :is(a, button, .tkt-sublink) > span {
      background: none !important;
      background-image: none !important;
      -webkit-background-clip: border-box !important;
      background-clip: border-box !important;
      -webkit-text-fill-color: #F4D76E !important;
      color: #F4D76E !important;
      text-shadow: none !important;
    }

    .tkt-menu-card .tkt-menu-nav :is(a, button):focus,
    .tkt-menu-card .tkt-menu-nav :is(a, button):active,
    .tkt-subpanel :is(a, button, .tkt-sublink):focus,
    .tkt-subpanel :is(a, button, .tkt-sublink):active,
    .tkt-subpanel-back:focus,
    .tkt-subpanel-back:active {
      outline: none !important;
      box-shadow: none !important;
      background-color: transparent !important;
    }
  }
}
/* Floating menu: prevent hidden subpanels from blocking main menu taps */
.tkt-menu-card .tkt-subpanel[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* ===== PAGE-SPECIFIC OVERRIDES ===== */

body.shop-page .tkt-checklist {
  --check-fs: 1.35rem;
  --check-li-mb: 1rem;
  --check-icon-size: 1.4rem;
}

body.shop-page .tag-spacer  {
  display: block;
  height: 0.5em;
  visibility: hidden;
  line-height: 0;
  font-size: 0;
  pointer-events: none;
}

body.shop-page .tag-force-height  {
  display: inline-block;
  font-size: 1.15em;
  line-height: 1.25;
  height: auto;
  visibility: hidden;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}

body.shop-page .tag-ntbh  {
  margin-bottom: 0.2em !important;
}

body.shop-page .tkt-card  {
  margin-top: 0em;
  padding-top: 0;
}

body.shop-page .tkt-card h2  {
  margin-top: 0em;
}

body.shop-page .tkt-card .tkt-lead {
  color: #D6C27E !important;
  font-size: 1.06rem;
  line-height: 1.55;
  font-weight: 450;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.28);
  max-width: 42ch;
  margin-left: auto;
  margin-right: auto;
}

body.shop-page .cta-lead {
  color: #A99658 !important;
  font-size: 0.96rem;
  line-height: 1.45;
  font-weight: 450;
  text-shadow: none;
  margin-top: 1.1rem;
  margin-bottom: 0.85rem;
}

/* TKT SHOP NOTIFY FORM START
   Reveals a compact Brevo shop-launch signup without importing Brevo styling. */
body.shop-page .shop-notify-form-wrap {
  max-width: 320px;
  margin: 1rem auto 0;
  text-align: center;
}

body.shop-page .shop-notify-form {
  display: grid;
  gap: 0.75rem;
  justify-items: center;
}

body.shop-page .shop-notify-input {
  margin-bottom: 0 !important;
}

body.shop-page .shop-notify-submit {
  width: 100%;
  max-width: 320px;
}

body.shop-page .input--hidden {
  display: none !important;
}
/* TKT SHOP NOTIFY FORM END */

/* === SHOP NOTIFY THANKS PAGE START === */
/* Shop launch confirmation page:
   Uses the standard inner-page logo and texture field while isolating
   its compact desktop navigation and confirmation layout from /shop. */

/* Lower the existing visual-logo pseudo-element on this page only. */
body.shop-page.shop-notify-thanks-page::after {
  top: 2.6rem;
}

/* Desktop navigation is enabled in the media query below. */
body.shop-page.shop-notify-thanks-page .shop-notify-thanks-header {
  display: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

/* Approved desktop confirmation-block position and width. */
body.shop-page.shop-notify-thanks-page .shop-notify-thanks-card {
  max-width: 720px;
  margin: 15rem auto 3rem;
  padding: 0 1.5rem;
  text-align: center;
}

body.shop-page.shop-notify-thanks-page .shop-notify-thanks-title {
  margin: 0 0 2rem;
  color: #E8C547;
  font-family: "El Messiri", sans-serif;
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  text-shadow: 0 0 12px rgba(232, 197, 71, 0.38);
  background: none;
  background-clip: initial;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: currentColor;
}

body.shop-page.shop-notify-thanks-page
  .shop-notify-thanks-card
  .tkt-lead {
  margin-left: auto;
  margin-right: auto;
}

body.shop-page.shop-notify-thanks-page
  .shop-notify-thanks-card
  .tkt-sub {
  display: block;
  margin-top: 1.05rem;
  margin-bottom: 2.25rem;
}

body.shop-page.shop-notify-thanks-page
  .shop-notify-thanks-card
  .tkt-btn:focus:not(:focus-visible) {
  outline: none;
}

body.shop-page.shop-notify-thanks-page
  .shop-notify-thanks-card
  .tkt-btn:focus-visible {
  outline: 2px solid rgba(232, 197, 71, 0.7);
  outline-offset: 3px;
}

/* Desktop-only confirmation-page navigation. */
@media (min-width: 781px) {
  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: block;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
  }

  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* Exact approved Shop-page structure and spacing: ul > li > a. */
  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav-list {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav-list
    > li {
    position: relative;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
  }

  /* Exact measured desktop Shop values.
     The page's 400-only font source synthesizes the requested 600 weight,
     matching the approved fuller Shop-page glyph rendering. */
  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav-list
    > li
    > a {
    display: inline;
    margin: 0;
    padding: 3.2px 4.8px;
    font-family: "El Messiri", sans-serif;
    font-size: 20.48px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: normal;
    color: transparent;
    text-decoration: none;
    white-space: nowrap;
    background-image: linear-gradient(
      90deg,
      rgb(212, 175, 55) 0%,
      rgb(255, 255, 255) 50%,
      rgb(212, 175, 55) 100%
    );
    background-size: 200%;
    background-position: 0% 0%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    transition: background-position 0.4s ease;
  }

  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav-list
    > li
    > a:hover,
  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-nav-list
    > li
    > a:focus-visible {
    background-position: 200px 0;
    text-decoration: none;
  }
}

/* Existing Shop mobile rules force negative main spacing.
   These two declarations counter only those inherited declarations. */
@media (max-width: 780px) {
  body.shop-notify-thanks-page > header:not(.shop-notify-thanks-header),
  body.shop-notify-thanks-page .hero-logo-wrap {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    z-index: 30003 !important;
  }

  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-card {
    margin-top: 9.75rem !important;
    padding-top: 0 !important;
  }

  body.shop-page.shop-notify-thanks-page
    .shop-notify-thanks-title {
    font-size: 2.15rem;
  }
}
/* === SHOP NOTIFY THANKS PAGE END === */
.teachings-page .tkt-title-series  {
  font-size: 2.1rem;
  font-weight: 600;
  display: inline-block;
  margin-top: 0;
  margin-left: 0.35rem;
  text-align: left;
  vertical-align: baseline;
}

.teachings-page .tkt-title-purplegold  {
  margin-bottom: 22.25rem;
}

.about-page nav  {
  margin-bottom: 0.1rem;
}

.teachings-page .tkt-title-combo  {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0.35rem;
  flex-wrap: wrap;
  margin-top: 0.75rem;
  margin-bottom: 1.75rem;
}

.teachings-page main.blog-post  {
  margin-top: 0;
  padding-top: 0;
}

.teachings-page nav  {
  margin-top: 0;
  margin-bottom: 0.75rem;

}

.terms-page nav,
.shop-page nav  {
  margin-bottom: 0rem;
}

.terms-page .tkt-title-purple  {
  margin-top: 0.6rem;
  margin-bottom: 1.85rem;
}

.teachings-page header,
body.shop-page header  {
  padding-bottom: 2rem;
}

.teachings-page header nav  {
  margin-top: 0;
  margin-bottom: 0;
  display: block;
}

/* Teachings pages: homepage-derived top field behind header and opening title area */
body.teachings-page {
  position: relative;
  background-color: #101010;
  overflow-x: hidden;
}

/* Teaching-page visual field: match homepage texture behavior without duplicating full homepage hero */
body.teachings-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 115vh !important;
  transform: translateX(-50%);
  background:
    radial-gradient(
      ellipse 18% 18% at 50% 15%,
      rgba(214, 128, 58, 0.24) 0%,
      rgba(186, 102, 40, 0.12) 18%,
      rgba(120, 58, 22, 0.04) 34%,
      rgba(0, 0, 0, 0) 48%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(0, 0, 0, 0.68) 24%,
      rgba(16, 16, 16, 0.86) 72%,
      rgba(16, 16, 16, 1) 100%
    ),
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.82) 0%,
      rgba(0, 0, 0, 0.18) 46%,
      rgba(0, 0, 0, 0.18) 54%,
      rgba(0, 0, 0, 0.82) 100%
    ),
    url("/assets/homepage-hero-texture.webp.png");
  background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
  background-size: cover, cover, cover, cover;
  background-position: center top, center top, center top, center top;
  pointer-events: none;
  z-index: 0;
  min-height: 950px !important;
  bottom: auto !important;
}

/* Teaching-page visual logo: homepage method, but smaller and restrained */
@media (min-width: 1025px) {
  body.teachings-page::after {
    content: "";
    position: absolute;
    top: 2.75rem;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(250px, 18vw, 330px);
    height: clamp(265px, 20vw, 350px);
    background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }
}
/* Teaching article pages: reduce desktop logo so it reads as context, not a second hero */
@media (min-width: 1025px) {
  body.teachings-page:has(.tkt-breadcrumb)::after {
    top: 3.25rem;
    width: clamp(155px, 11vw, 210px);
    height: clamp(165px, 12.5vw, 225px);
  }

  body.teachings-page:has(.tkt-breadcrumb) main.blog-post {
    margin-top: clamp(10.75rem, 12vw, 12.25rem) !important;
  }
}
/* Teaching-page visual logo: tablet/mobile version, since the live header logo is hidden */
@media (max-width: 1024px) {
  body.teachings-page::after {
    content: "";
    position: absolute;
    top: 3.25rem;
    left: 50%;
    transform: translateX(-50%);
    width: clamp(210px, 42vw, 285px);
    height: clamp(220px, 46vw, 310px);
    background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
    pointer-events: none;
    z-index: 0;
  }
}

body.teachings-page header,
body.teachings-page main,
body.teachings-page footer {
  position: relative;
  z-index: 1;
}

/* Teachings pages: keep real header flow clean; logo is now visual background like homepage */
body.teachings-page header {
  padding: 0.85rem 0 0 !important;
}

/* Teachings pages: hide fetched live logo image, matching homepage method */
body.teachings-page header .hero-logo-wrap > img.site-logo,
body.teachings-page header > img.site-logo {
  display: none !important;
}

/* Teachings pages: nav remains at top, not transformed into the logo */
body.teachings-page header nav {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
  display: block;
}

/* Teachings pages: reserve space below visual logo before breadcrumb/title stack */
body.teachings-page main.blog-post {
  margin-top: clamp(14.5rem, 17vw, 16.75rem) !important;
  padding-top: 0 !important;
}

/* Teaching pages: mobile/tablet tightening after desktop reserve-space rule */
@media (max-width: 1024px) {
  body.teachings-page main.blog-post {
    margin-top: clamp(10.35rem, 29vw, 12.65rem) !important;
  }
}

/* Teaching article pages: smaller mobile/tablet logo and tighter reserved space */
@media (max-width: 1024px) {
  body.teachings-page:has(.tkt-breadcrumb)::after {
    top: 3rem;
    width: clamp(155px, 34vw, 220px);
    height: clamp(165px, 38vw, 235px);
  }

  body.teachings-page:has(.tkt-breadcrumb) main.blog-post {
    margin-top: clamp(8.25rem, 24vw, 10.5rem) !important;
  }

  body.teachings-page .blog-post:has(.tkt-breadcrumb) .tkt-post-inner {
    padding-top: clamp(1.25rem, 4vw, 2.25rem) !important;
  }

  body.teachings-page .blog-post:has(.tkt-breadcrumb) .tkt-breadcrumb {
    margin-top: 0 !important;
  }
}

/* Teachings pages: remove extra top padding so reserved logo space is controlled above */
body.teachings-page .blog-post .tkt-post-inner {
  padding-top: 0 !important;
}
/* Teachings article pages: prevent legacy purple-title spacing from pushing date/body too low */
body.teachings-page main.blog-post .tkt-title-purplegold {
  margin-bottom: 0.65rem !important;
}

/* Teachings pages: match homepage NKBC treatment at restrained reading-page scale */
body.teachings-page .tkt-title-combo .tkt-title-redgold,
body.teachings-page h1.tkt-title-redgold {
  font-size: 2.18rem !important;
  font-weight: 700 !important;
  display: inline-block;
  margin-top: 0.25rem !important;
  margin-bottom: 0;
  line-height: 1.3 !important;
  background: linear-gradient(
    to bottom,
    #FF6A5E 0%,
    #D6262C 17%,
    #B11218 55%,
    #7A070B 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  filter: saturate(1.26) contrast(1.06) brightness(1.12);
  text-shadow:
    0 -0.12px 0 rgba(232, 150, 88, 0.08),
    0 0.38px 0 rgba(34, 0, 3, 0.38),
    0 0.8px 0.9px rgba(0, 0, 0, 0.28),
    0 1.2px 1.5px rgba(20, 0, 0, 0.20) !important;
}
/* Teaching pages: keep NKBC strong on desktop but restrained on narrow screens */
@media (max-width: 480px) {
  body.teachings-page .tkt-title-combo .tkt-title-redgold,
  body.teachings-page h1.tkt-title-redgold {
    font-size: 1.95rem !important;
    line-height: 1.25 !important;
    max-width: 95vw;
  }
}
/* Teaching index mobile: keep "Teaching Series" secondary to NKBC */
@media (max-width: 480px) {
  body.teachings-page .tkt-title-series {
    font-size: 1.72rem !important;
    line-height: 1.25 !important;
  }
}

.teachings-page h1.tkt-title-redgold  {
  display: inline-block;
  margin-top: 0.25rem !important;
  margin-bottom: 0;
  line-height: 1.3 !important;
}

/* Shop mobile portrait spacing:
   Tightens the visual-logo/tagline/planned-resources stack.
   Uses > section:first-of-type because the shop tagline section is not adjacent to header after injected header markup. */
@media (max-width: 600px) and (orientation: portrait) {
  body.shop-page header {
    min-height: 6.5rem !important;
    padding-bottom: 0 !important;
  }

  body.shop-page > section:first-of-type {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -2.25rem !important;
    margin-bottom: 0 !important;
  }

  body.shop-page > section:first-of-type .tkt-title-combo,
  body.shop-page > section:first-of-type .tkt-title-inner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.shop-page > section:first-of-type .tag-spacer,
  body.shop-page > section:first-of-type .tag-force-height {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  body.shop-page > section:first-of-type .tag-nkbc,
  body.shop-page > section:first-of-type .tag-ntbh,
  body.shop-page > section:first-of-type .tag-serve {
    margin-top: 0.05em !important;
    margin-bottom: 0.05em !important;
    line-height: 1.15 !important;
  }

  body.shop-page main {
    margin-top: -3.25rem !important;
  }

  body.shop-page .planned-subhead {
    margin-top: 0 !important;
    margin-bottom: 0.4rem !important;
  }
}
/* Narrow-phone shop mobile portrait spacing:
   Further tightens only the shop page for S25-style narrow portrait widths.
   Homepage narrow-phone spacing is intentionally untouched. */
@media (max-width: 390px) and (orientation: portrait) {
  body.shop-page header {
    min-height: 5.75rem !important;
    padding-bottom: 0 !important;
  }

  body.shop-page > section:first-of-type {
    margin-top: -2.75rem !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  body.shop-page main {
    margin-top: -4rem !important;
  }
}

body.shop-page .site-logo  {
  width: clamp(220px, 22vw, 300px) !important;
  max-width: 300px !important;
  height: auto !important;
}

body.shop-page .hero-logo-wrap {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  position: relative !important;


}

body.shop-page .hero-logo-wrap .site-logo {
  display: block !important;
  margin: 0 auto !important;
}

.thanks-page .site-logo, .error-page .site-logo  {
  width: 260px;
  max-width: 80vw;
  height: auto;
  display: block;
  margin: 0.45rem auto 0;
}

body.error-page .blog-post  {
  max-width: 60rem;
  margin: 4rem auto 6rem;
  text-align: center;
}

body.shop-page .tkt-menu-toggle  {
  z-index: 10000 !important;
}

body.teachings-page h2.tkt-title-purplegold  {
  white-space: normal !important;
  display: inline-block !important;
  text-align: center !important;
  line-height: 1.3 !important;
  font-weight: 550;
  position: relative;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #6C18AD !important;
  color: #6C18AD !important;
  text-shadow:
    0 -0.22px 0 rgba(247, 230, 255, 0.42),
    0 -0.38px 0 rgba(217, 167, 255, 0.14),
    0 1px 1px rgba(0, 0, 0, 0.18),
    0 0 0.10px rgba(255, 255, 255, 0.02),
    0.38px 0.28px 0 rgba(232, 197, 71, 0.48),
    0 0 0.12px rgba(255, 215, 0, 0.16) !important;
}

body.teachings-page h2.tkt-title-purplegold.nkbc-part5-title  {
  max-width: 32ch;

  margin-left: auto;
  margin-right: auto;
}

body.teachings-page .teachings-navigation ul.teachings-nav-list  {
  font-size: inherit;
}

body.teachings-page .teachings-navigation ul.teachings-nav-list li a {
  font-size: 1em;
}

body.teachings-page .tkt-intro-line2  {
  display: block;
  margin-top: 0.6rem;
}

body.teachings-page .blog-post p,
body.teachings-page .teachings-navigation p  {
  margin: 0 0 1.15rem 0;
}

body.teachings-page .blog-post p:last-child  {
  margin-bottom: 0;
}

body.terms-page main, body.privacy-page main  {
  max-width: 900px;
  margin: 3rem auto 4rem;
  padding: 0 1.5rem;
}

body.terms-page .info-content, body.privacy-page .info-content  {
  margin-top: 30px;
  margin-bottom: 60px;
  padding: 0 60px 30px;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  font-family: "El Messiri", sans-serif;
  font-size: 1.35rem;
  line-height: 1.95;
  color: #D4AF37;
  text-align: left;
}

body.terms-page .info-content ul, body.privacy-page .info-content ul  {
  margin-left: 0;
  padding-left: 1.75rem;
}


/* ===== ANIMATIONS ===== */

@keyframes pullQuoteShimmerX  {
  0%  {
    background-position: 100% 50%;
  }

  100%  {
    background-position: 0% 50%;
  }

}


/* ===== RESPONSIVE & INTERACTION MEDIA QUERIES ===== */

@media (max-width: 480px) {
  /* Shop page Ã¢â‚¬â€ checklist tightening */
  body.shop-page .tkt-checklist {
    --check-fs: 1.08rem;
    --check-li-mb: .9rem;
  }

  body.shop-page .tkt-checklist li {
    align-items: flex-start;
  }

  body.shop-page .tkt-checklist .check-text {
    flex: 1 1 auto;
    display: block !important;
    text-align: left !important;
    white-space: normal !important;
    color: #E8C547 !important;
    -webkit-text-fill-color: #E8C547 !important;
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
  }

  /* Main spacing */
  header + main  {
    padding-top: 1.25rem !important;
  }

  :root {
    --gutter: clamp(10px, 3.5vw, 16px);
  }

  main, footer, section {
    padding-inline: var(--gutter);
  }

  header {
    padding-inline: 0;
  }

  /* Footer Ã¢â‚¬â€ mobile stack */
  .footer-identity-row  {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    padding: 0 0.75em !important;
    margin: 1.5em auto 1em !important;
    text-align: center !important;
  }

  .footer-col  {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0.5em 0.25em !important;
    text-align: center !important;
  }

  /* Balance spacing between the mobile footer identity groups.
     Remove only the address block's top padding. */
  footer .footer-identity-row > .footer-col.footer-address {
    padding-top: 0 !important;
  }

  .footer-links a {
    font-size: clamp(1.08rem, 4.4vw, 1.18rem) !important;
    letter-spacing: -.01em;
  }

  .footer-tkt-logo-v2 {
    font-size: 1.24rem;
    line-height: 1.24;
  }

  .footer-nkbc-v2 {
    font-size: 1.22rem;
    line-height: 1.22;
  }

  .footer-truth-v2 {
    font-size: 1.22rem;
    line-height: 1.20;
  }

  .footer-serve-v2 {
    font-size: 1.22rem;
    line-height: 1.48;
    padding-bottom: 0.28em;
    background-size: 100% 1.58em;
  }

  /* Header nav / floating menu */
  header nav ul.nav-main {
    display: none !important;
    gap: .45rem !important;
  }

  header nav .nav-about {
    display: none !important;
  }

  .hero-logo-wrap {
    margin-top: 12px;
  }

  .hero-logo-wrap .tkt-menu-toggle {
    top: 0.75rem;
    margin-right: 0.5rem;
  }

  nav {
    margin-inline: 0;
  }

  nav ul.nav-main {
    gap: 0.65rem !important;
  }

  nav ul.nav-main > li > a {
    font-size: clamp(1.04rem, 4.2vw, 1.14rem) !important;
    padding: 0.15rem 0.25rem !important;
    white-space: nowrap !important;
    letter-spacing: -.01em;
  }

  nav .coming-soon::after {
    display: none;
  }

  /* Floating menu: keep the whole mobile menu above page content */
  .tkt-menu-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
    pointer-events: none !important;
  }

  .tkt-menu-panel[data-open="true"] {
    pointer-events: auto !important;
  }

  .tkt-menu-toggle,
  .tkt-menu-toggle.tkt-docked  {
    position: fixed !important;
    top: 14px !important;
    left: 12px !important;
    z-index: 10000 !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  .tkt-menu-panel .tkt-menu-overlay  {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9998 !important;
  }

  .tkt-menu-panel .tkt-menu-card,
  .tkt-menu-panel .tkt-menu-card.tkt-docked  {
    position: fixed !important;
    top: 58px !important;
    left: 12px !important;
    z-index: 9999 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  header, .hero-logo-wrap  {
    overflow: visible !important;
  }

  /* Teachings cards / headings Ã¢â‚¬â€ mobile */
  .teaching-card a  {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    white-space: normal !important;
  }

  .teaching-card .card-label  {
    flex: 0 0 auto !important;
  }

  .teaching-card .card-title  {
    width: 100%;
  }

  body.teachings-page .teaching-card .card-title  {
  display: inline-block !important;
  white-space: normal !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #6C18AD !important;
  color: #6C18AD !important;
  text-shadow:
    0 -0.28px 0 rgba(247, 230, 255, 0.48),
    0 -0.5px 0 rgba(217, 167, 255, 0.18),
    0 1px 1px rgba(0, 0, 0, 0.20),
    0 0 0.12px rgba(255, 255, 255, 0.03),
    0.45px 0.32px 0 rgba(232, 197, 71, 0.58),
    0 0 0.16px rgba(255, 215, 0, 0.20) !important;
}

  body.teachings-page h2:is(.tkt-title-purplegold, .tkt-h2-gradient)  {
    font-size: 1.6rem;
    line-height: 1.3;
    text-align: center;
    display: inline-block;
    white-space: normal;
    background: none;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    -webkit-text-fill-color: #6C18AD;
    color: #6C18AD;
    text-shadow:
      0 -0.28px 0 rgba(247, 230, 255, 0.48),
      0 -0.5px 0 rgba(217, 167, 255, 0.18),
      0 1px 1px rgba(0, 0, 0, 0.20),
      0 0 0.12px rgba(255, 255, 255, 0.03),
      0.45px 0.32px 0 rgba(232, 197, 71, 0.58),
      0 0 0.16px rgba(255, 215, 0, 0.20);
  }
}

@media (max-width: 380px) {
  .homepage-taglines .tag-serve {
    max-width: 13.25ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .tkt-btn {
    white-space: normal;
    text-align: center;
    padding: 0.7em 1.1em;
  }

  .tag-nkbc, .tag-ntbh  {
    font-size: 1.45rem !important;
    line-height: 1.2 !important;
    margin: 0.15em auto !important;
  }

  .tag-serve  {
    font-size: 1.5rem !important;
    line-height: 1.34 !important;
    margin-top: -0.45em !important;
    margin-bottom: 0.4em !important;
    white-space: normal !important;
    word-break: break-word;
    max-width: 90%;
  }

  body.shop-page .tkt-checklist .check-text  {
    font-size: 1.08rem !important;
    line-height: 1.5 !important;
  }
}

@media (min-width: 381px) and (max-width: 480px) {
  .homepage-taglines .tag-nkbc {
    font-size: 1.84rem !important;
    white-space: nowrap !important;
  }

.homepage-taglines .tag-serve  {
    margin-top: 0.10em !important;
    margin-bottom: 0.25em !important;
  }

  footer .footer-col.footer-address,
  footer .footer-col.footer-address * {
    color: #5A5A5A !important;
    -webkit-text-fill-color: #5A5A5A !important;
    text-shadow: none !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
  }

  .teachings-page footer .footer-col.footer-address,
  .teachings-page footer .footer-col.footer-address * {
    font-size: 0.82rem;
    line-height: 1.45;
  }
}

@media (max-width: 768px) {
  .footer-links .footer-contact-mobile {
    display: inline-block;
  }
}
/* iPhone SE footer links: force intentional 2x2 layout instead of accidental 3+1 wrap */
@media (max-width: 375px) {
  .footer-links {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    justify-content: center;
    justify-items: center;
    column-gap: 1.35rem;
    row-gap: 0.35rem;
  }

  .footer-links a {
    font-size: 1.08rem !important;
  }
}

@media (min-width: 481px) {
  /* Desktop / tablet nav Ã¢â‚¬â€ canonical block */
  nav ul.nav-main {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
    margin: 0 auto !important;
  }

  nav ul.nav-main > li {
    list-style: none !important;
  }

  nav ul.nav-main > li > a {
    font-size: 1.28rem !important;
    padding: .20rem .30rem !important;
    white-space: nowrap !important;
  }

  header nav ul.nav-main {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: .5rem !important;
    padding-left: 8px !important;
    padding-right: 12px !important;
  }

  header nav ul.nav-main::after {
    content: "";
    flex: 0 0 16px;
  }
}


/* Short landscape floating menu bridge:
   At phone-landscape/tablet-short widths, hide the full nav and force the floating menu
   to the top-left with a repaired click stack. Keep this after the 481px nav block so it wins cascade. */
@media (orientation: landscape) and (min-width: 601px) and (max-width: 1024px) and (max-height: 520px) {
  header,
  header nav,
  .hero-logo-wrap {
    position: relative !important;
    z-index: 30000 !important;
    overflow: visible !important;
  }

  header nav ul.nav-main {
    display: none !important;
  }

  .tkt-menu-toggle,
  .tkt-menu-toggle.tkt-docked,
  .hero-logo-wrap .tkt-menu-toggle {
    display: inline-flex !important;
    position: fixed !important;
    top: 14px !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 30003 !important;
    pointer-events: auto !important;
  }

  .tkt-menu-panel {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    z-index: 30000 !important;
    pointer-events: none !important;
  }

  .tkt-menu-panel[data-open="true"] {
    pointer-events: auto !important;
  }

  .tkt-menu-panel .tkt-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30001 !important;
    pointer-events: auto !important;
  }

  .tkt-menu-panel .tkt-menu-card,
  .tkt-menu-panel .tkt-menu-card.tkt-docked {
    display: block !important;
    position: fixed !important;
    top: 58px !important;
    left: 12px !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 30002 !important;
    pointer-events: auto !important;
  }

  .tkt-menu-card,
  .tkt-menu-card *,
  .tkt-menu-card .tkt-menu-nav,
  .tkt-menu-card .tkt-menu-nav a,
  .tkt-menu-card .tkt-menu-nav button {
    pointer-events: auto !important;
  }

  .tkt-menu-card .tkt-menu-nav {
    display: flex !important;
    flex-direction: column !important;
  }

  .tkt-menu-card .tkt-subpanel[hidden] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}
@media (min-width: 1025px)  {
  .homepage-stage::before {
    left: -1.25rem;
    right: -1.25rem;
    bottom: 0;
background:
  radial-gradient(
  ellipse 18% 18% at 50% 13%,
  rgba(214, 128, 58, 0.28) 0%,
  rgba(186, 102, 40, 0.14) 16%,
  rgba(120, 58, 22, 0.04) 30%,
  rgba(0, 0, 0, 0) 43%
),
  linear-gradient(
    180deg,
rgba(0, 0, 0, 0.92) 0%,
rgba(0, 0, 0, 0.80) 16%,
rgba(2, 2, 2, 0.72) 34%,
    rgba(6, 6, 6, 0.80) 64%,
    rgba(8, 8, 8, 0.89) 84%,
    rgba(10, 10, 10, 0.95) 100%
  ),
  url("/assets/homepage-hero-texture.webp.png");
background-repeat: no-repeat, no-repeat, no-repeat;
background-size: 100% 100%, cover, 126% auto;
background-position: center top, center top, center -1.25rem;
    -webkit-mask-image: radial-gradient(
ellipse 14% 26% at 50% 17%,
	rgba(0, 0, 0, 1) 76%,
  rgba(0, 0, 0, 0.96) 86%,
  rgba(0, 0, 0, 0.72) 94%,
  rgba(0, 0, 0, 0) 100%
);
mask-image: radial-gradient(
  ellipse 132% 112% at center 30%,
  rgba(0, 0, 0, 1) 76%,
  rgba(0, 0, 0, 0.96) 86%,
  rgba(0, 0, 0, 0.72) 94%,
  rgba(0, 0, 0, 0) 100%
);
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
	box-shadow:
      0 0 0 1px rgba(232, 197, 71, 0.03),
      0 22px 70px rgba(0, 0, 0, 0.18),
      inset 0 0 110px rgba(0, 0, 0, 0.16),
      inset 0 -70px 120px rgba(0, 0, 0, 0.12);
  }

  .tkt-menu-toggle, .tkt-menu-panel  {
    display: none !important;
  }
}

@media (max-width: 375px) {
  :root {
    --gutter: 12px;
  }

  header nav ul.nav-main > li.nav-about  {
    display: none !important;
  }
}


@media (max-width: 760px) {
  .tkt-home-feature-grid {
    grid-template-columns: 1fr;
    width: min(100%, 420px);
    gap: 0.95rem;
    margin-top: 1.5rem;
  }

  .tkt-home-feature-card {
    min-height: 190px;
  }
}

@media (max-width: 480px) {
  .tkt-hero-cta {
    margin: 1.15rem auto 1.85rem;
  }

  .tkt-hero-guide-btn,
  .tkt-hero-guide-btn:visited {
    min-width: min(100%, 300px);
    font-size: 1.18rem;
    padding: 0.72rem 1.45rem;
  }

  .tkt-home-card-title {
    font-size: 1.18rem;
  }

  .tkt-home-card-copy {
    font-size: 0.95rem;
  }
}


@media (hover: hover) and (pointer: fine)  {
  .tagline-explainer a:hover, .tagline-explainer a:focus-visible  {
    color: #FFE89A !important;
    text-decoration: underline;
    text-shadow: 0 0 6px rgba(130, 0, 211, 0.6);
  }

  .teaching-card a:hover .card-title  {
  background: var(--link-grad);
  background-size: 128% auto;
  background-position: 56% center;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: none;
}

  nav ul.nav-main > li:hover > a::after,
  nav ul.nav-main > li > a:hover::after  {
    transform: scaleX(1);
  }

  .contact-wrapper .contact-route a:hover,
  .contact-wrapper .contact-route a:focus-visible,
  .blog-post p a:hover,
  .blog-post li a:hover,
  .blog-post p a:focus-visible,
  .blog-post li a:focus-visible,
  .blog-post .tkt-breadcrumb a:hover,
  .blog-post .tkt-breadcrumb a:focus-visible,
  .blog-post .tkt-post-nav a:hover,
  .blog-post .tkt-post-nav a:focus-visible  {
    color: #FFE89A !important;
    text-decoration: underline;
  }
}

/* FINAL mobile floating-menu stacking fix:
   The menu lives inside the header/logo wrapper. On mobile, page content was painting
   above the lower half of the menu, making visible links untappable. This raises the
   menu parent and its panel/card above page content without changing menu layout. */
@media (max-width: 480px) {
  header,
  .hero-logo-wrap {
    position: relative !important;
    z-index: 30000 !important;
    overflow: visible !important;
  }

  .tkt-menu-panel {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30001 !important;
    pointer-events: none !important;
  }

  .tkt-menu-panel[data-open="true"] {
    pointer-events: auto !important;
  }

  .tkt-menu-panel .tkt-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 30001 !important;
  }

  .tkt-menu-panel .tkt-menu-card,
  .tkt-menu-panel .tkt-menu-card.tkt-docked {
    position: fixed !important;
    top: 58px !important;
    left: 12px !important;
    z-index: 30002 !important;
    pointer-events: auto !important;
  }

  .tkt-menu-toggle,
  .tkt-menu-toggle.tkt-docked {
    position: fixed !important;
    top: 14px !important;
    left: 12px !important;
    z-index: 30003 !important;
    pointer-events: auto !important;
  }
}

/* Standard pages: use current visual-logo treatment without exposing the live logo image canvas */
body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page) {
  position: relative;
  isolation: isolate;
  overflow-x: hidden;
}

/* Standard inner-page texture field:
   Brings about, statement, shop, contact, and legal pages into the same visual family
   as the homepage, teachings pages, and guide pages without changing HTML. */
body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: clamp(42rem, 86vw, 68rem);
  transform: translateX(-50%);
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(9, 9, 9, 0.78) 46%,
      rgba(11, 11, 11, 1) 100%
    ),
    radial-gradient(
      ellipse 48% 38% at 50% 9%,
      rgba(232, 197, 71, 0.10) 0%,
      rgba(130, 0, 211, 0.08) 34%,
      rgba(0, 0, 0, 0) 72%
    ),
    url("/assets/homepage-hero-texture.webp.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 100% 100%, cover, 126% auto;
  background-position: center top, center top, center -1.25rem;
  pointer-events: none;
  z-index: 0;
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 66%,
    rgba(0, 0, 0, 0.72) 82%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 66%,
    rgba(0, 0, 0, 0.72) 82%,
    rgba(0, 0, 0, 0) 100%
  );
}
body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page)::after {
  content: "";
  position: absolute;
  top: 1.15rem;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(190px, 42vw, 270px);
  height: clamp(190px, 44vw, 285px);
  background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
  pointer-events: none;
  z-index: 0;
}

body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page) header .hero-logo-wrap > img.site-logo {
  display: none !important;
}

body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page) header {
  min-height: clamp(8.75rem, 31vw, 12.5rem);
}
/* Info/contact header nav spacing:
   Lowers the desktop/tablet top links to match the visual rhythm of the guide pages.
   Mobile floating menu is untouched because mobile hides .nav-main separately. */
@media (min-width: 481px) {
  body > header > nav {
    margin-top: 0.85rem !important;
    margin-bottom: 0 !important;
  }
}

body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page) :is(header, main, footer) {
  position: relative;
  z-index: 1;
}

/* 404 page: show the standard header/nav like other inner pages.
   Keep the floating menu positioning rules below intact. */
body.error-page .tkt-menu-toggle,
body.error-page .tkt-menu-toggle.tkt-docked {
  position: fixed !important;
  top: 14px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 30003 !important;
  transform: none !important;
  pointer-events: auto !important;
}

body.error-page .tkt-menu-panel .tkt-menu-card,
body.error-page .tkt-menu-panel .tkt-menu-card.tkt-docked {
  position: fixed !important;
  top: 58px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 30002 !important;
  width: clamp(220px, 58vw, 260px) !important;
  max-width: calc(100vw - 24px) !important;
}

body.error-page .tkt-menu-card .tkt-menu-nav {
  display: flex !important;
  flex-direction: column !important;
}

/* === GUIDE PAGE START === */
/* Scoped landing page styles for /stand-firm-guide.html only.
   This version uses the existing TKT homepage/teaching visual language:
   dark textured field, centered visual logo treatment, restrained gold borders,
   flatter cards, and no large SaaS-style boxed shell. */

/* Page-level visual field */
body.guide-page {
  position: relative;
  overflow-x: hidden;
  background: #0b0b0b;
  color: #FFFACD;
}

/* Textured upper field, matching the homepage/teaching page family. */
body.guide-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: clamp(620px, 52vw, 860px);
  transform: translateX(-50%);
  background:
    radial-gradient(
      ellipse 22% 18% at 50% 12%,
      rgba(214, 128, 58, 0.20) 0%,
      rgba(186, 102, 40, 0.10) 20%,
      rgba(0, 0, 0, 0) 68%
    ),
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.10) 0%,
      rgba(0, 0, 0, 0.24) 42%,
      rgba(0, 0, 0, 0.72) 78%,
      rgba(11, 11, 11, 1) 100%
    ),
    url("/assets/homepage-hero-texture.webp.png");
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 100% 100%, cover, 126% auto;
  background-position: center top, center top, center -1.25rem;
  pointer-events: none;
  z-index: 0;
}

/* Centered visual logo treatment, matching the homepage/teaching method. */
body.guide-page::after {
  content: "";
  position: absolute;
  top: 1.1rem;
  left: 50%;
  width: clamp(210px, 19vw, 330px);
  height: clamp(225px, 21vw, 360px);
  transform: translateX(-50%);
  background: url("/assets/homepage-logo2.png") center top / contain no-repeat;
  opacity: 0.92;
  pointer-events: none;
  z-index: 0;
}

/* Hide the fetched live logo on this page so it does not fight the centered visual logo. */
body.guide-page header .hero-logo-wrap > img.site-logo,
body.guide-page header > img.site-logo {
  display: none !important;
}

/* Keep shared header/nav above the texture field. */
body.guide-page header,
body.guide-page main,
body.guide-page footer {
  position: relative;
  z-index: 1;
}

body.guide-page header {
  min-height: clamp(12rem, 24vw, 18rem);
}

body.guide-page header nav {
  margin-top: 0.85rem !important;
  margin-bottom: 0 !important;
}

/* Main guide page wrapper */
body.guide-page .guide-main {
  width: 100%;
  padding: 0 1rem 3.25rem;
}

/* Hero area sits under the visual logo without adding a separate boxed panel. */
body.guide-page .guide-hero {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.guide-page .guide-shell {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

/* Small gold label above the title. */
body.guide-page .guide-kicker {
  margin: 0 auto 0.7rem;
  padding: 0;
  max-width: none;
  color: #E8C547;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.72);
}

/* Main page title, restrained to the current TKT gold treatment. */
body.guide-page .guide-title {
  position: relative;
  z-index: 1;
  display: block;
  width: fit-content;
  margin: 0 auto 0.8rem;
  max-width: 820px;
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #6C18AD;
  color: #6C18AD;
  font-size: clamp(2.05rem, 5.5vw, 4rem);
  font-style: normal;
  font-weight: 600;
  line-height: 1.04;
  text-align: center;
  letter-spacing: -0.018em;
  text-shadow:
    0 -0.22px 0 rgba(247, 230, 255, 0.40),
    0 -0.38px 0 rgba(217, 167, 255, 0.12),
    0 2px 3px rgba(0, 0, 0, 0.72),
    0 0 0.10px rgba(255, 255, 255, 0.02);
}

body.guide-page .guide-title::before {
  content: "Stand Firm in Truth";
  position: absolute;
  inset: 0;
  z-index: -1;
  transform: translate(0.55px, 0.38px);
  color: rgba(232, 197, 71, 0.34);
  -webkit-text-fill-color: rgba(232, 197, 71, 0.34);
  text-shadow:
    0 0 0.09px rgba(255, 215, 0, 0.10),
    0 1px 1px rgba(0, 0, 0, 0.10);
  pointer-events: none;
}

/* Hero support copy. */
body.guide-page .guide-subtitle {
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
  color: #D9C779;
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.62;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.52);
}

/* Homepage-style divider. */
body.guide-page .guide-divider {
  width: min(540px, 68%);
  height: 1.5px;
  margin: 1.3rem auto 1.75rem;
  background: linear-gradient(
    90deg,
    rgba(232, 197, 71, 0),
    rgba(232, 197, 71, 0.62),
    rgba(130, 0, 211, 0.35),
    rgba(232, 197, 71, 0)
  );
}

/* Two-column desktop layout. */
body.guide-page .guide-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 1.05rem;
  align-items: stretch;
  width: min(100%, 1040px);
  margin: 0 auto;
}

/* Shared panel style, closer to homepage cards than a landing-page box. */
body.guide-page .guide-copy,
body.guide-page .guide-form-card {
  position: relative;
  overflow: hidden;
  padding: 1.55rem;
  border: 1px solid rgba(232, 197, 71, 0.18);
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.56) 100%),
    radial-gradient(circle at 50% 18%, rgba(232, 197, 71, 0.12), rgba(120, 56, 18, 0.10) 34%, rgba(0, 0, 0, 0.10) 72%),
    linear-gradient(135deg, rgba(232, 197, 71, 0.08), rgba(130, 0, 211, 0.06), rgba(31, 81, 255, 0.05));
  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.38),
    0 14px 34px rgba(0, 0, 0, 0.28);
  text-align: left;
}

body.guide-page .guide-copy h2,
body.guide-page .guide-form-card h2 {
  margin: 0 0 0.85rem;
  color: #E8C547;
  font-size: clamp(1.28rem, 1.55vw, 1.55rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.68);
}

body.guide-page .guide-copy p,
body.guide-page .guide-form-card p {
  max-width: none;
  margin: 0 0 1rem;
  padding: 0;
  color: #D8C68A;
  font-size: 1rem;
  line-height: 1.58;
  text-align: left;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.42);
}

/* Bullet list stays readable and restrained. */
body.guide-page .guide-list {
  margin: 1rem 0 1.25rem;
  padding: 0;
  list-style: none;
}

body.guide-page .guide-list li {
  position: relative;
  margin: 0 0 0.72rem;
  padding-left: 1.25rem;
  color: #E7DAA8;
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
}

body.guide-page .guide-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: #E8C547;
  box-shadow: 0 0 10px rgba(232, 197, 71, 0.32);
}

body.guide-page .guide-note {
  margin-top: 1.15rem !important;
  color: #E8C547 !important;
  font-style: italic;
}

/* Form layout */
body.guide-page .guide-form {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
}

body.guide-page .guide-label {
  color: #E8C547;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.3;
}

body.guide-page .guide-input {
  width: 100%;
  min-height: 3rem;
  padding: 0.78rem 0.95rem;
  border: 1px solid rgba(232, 197, 71, 0.30);
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(31, 81, 255, 0.18), rgba(8, 8, 8, 0.94)),
    #111111;
  color: #FFFACD;
  font-size: 1rem;
  line-height: 1.4;
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 250, 205, 0.05);
}

body.guide-page .guide-input::placeholder {
  color: rgba(255, 250, 205, 0.58);
}

body.guide-page .guide-input:focus {
  outline: none;
  border-color: rgba(232, 197, 71, 0.76);
  box-shadow:
    0 0 0 3px rgba(232, 197, 71, 0.13),
    inset 0 1px 0 rgba(255, 250, 205, 0.08);
}

/* Consent row stays visible. Existing global .tkt-consent hidden rule does not affect this class. */
body.guide-page .guide-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.65rem;
  align-items: start;
  margin: 0.25rem 0 0.25rem;
  color: #D8C68A;
  font-size: 0.88rem;
  line-height: 1.5;
  text-align: left;
}

body.guide-page .guide-consent input {
  width: 1.03rem;
  height: 1.03rem;
  margin-top: 0.18rem;
  accent-color: #E8C547;
}

body.guide-page .guide-consent a {
  color: #E8C547;
  text-decoration: none;
}

/* Submit button, matching the existing homepage CTA direction. */
body.guide-page .guide-submit {
  width: 100%;
  min-height: 3.1rem;
  margin-top: 0.25rem;
  border: 1px solid rgba(232, 197, 71, 0.48);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 215, 0, 0.13) 0%, rgba(255, 215, 0, 0.02) 38%, rgba(0, 0, 0, 0.16) 100%),
    linear-gradient(180deg, #B5161C 0%, #960018 48%, #70000F 100%);
  color: #F2EDE5;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-align: center;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.10),
    0 10px 22px rgba(0, 0, 0, 0.32),
    0 0 14px rgba(150, 0, 24, 0.20);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

body.guide-page .guide-submit:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(255, 215, 0, 0.78);
  color: #FFE89A;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 14px 26px rgba(0, 0, 0, 0.38),
    0 0 18px rgba(232, 197, 71, 0.20);
}

body.guide-page .guide-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

/* Form feedback text. */
body.guide-page .guide-message {
  min-height: 1.3rem;
  margin: 0.1rem 0 0;
  padding: 0;
  color: #E8C547;
  font-size: 0.9rem;
  line-height: 1.4;
  text-align: left;
}

body.guide-page .guide-message-error {
  color: #ffb3b3;
}

/* Tablet layout */
@media (max-width: 820px) {
  body.guide-page::after {
    top: 1rem;
    width: clamp(190px, 34vw, 280px);
    height: clamp(205px, 38vw, 310px);
  }

  body.guide-page header {
    min-height: clamp(11rem, 32vw, 15rem);
  }

  body.guide-page .guide-content-grid {
    grid-template-columns: 1fr;
    gap: 0.95rem;
    width: min(100%, 620px);
  }

  body.guide-page .guide-copy,
  body.guide-page .guide-form-card {
    padding: 1.35rem;
  }
}

/* Small phone layout */
@media (max-width: 480px) {
  body.guide-page::before {
    height: 620px;
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.72) 0%,
        rgba(0, 0, 0, 0.76) 38%,
        rgba(0, 0, 0, 0.90) 72%,
        rgba(11, 11, 11, 1) 100%
      ),
      url("/assets/homepage-hero-texture.webp.png");
    background-repeat: no-repeat, no-repeat;
    background-size: cover, cover;
    background-position: center top, center top;
  }

  body.guide-page::after {
    top: 0.85rem;
    width: clamp(220px, 64vw, 290px);
    height: clamp(230px, 68vw, 310px);
  }

  body.guide-page header {
    min-height: clamp(14rem, 70vw, 18rem);
  }

  body.guide-page .guide-main {
    padding: 0 0.75rem 2.5rem;
  }

  body.guide-page .guide-kicker {
    font-size: 0.78rem;
    letter-spacing: 0.12em;
  }

  body.guide-page .guide-title {
    font-size: clamp(2rem, 10vw, 2.75rem);
  }

  body.guide-page .guide-subtitle {
    font-size: 0.98rem;
    line-height: 1.6;
  }

  body.guide-page .guide-divider {
    width: 78%;
    margin: 1.15rem auto 1.35rem;
  }

  body.guide-page .guide-copy,
  body.guide-page .guide-form-card {
    padding: 1.1rem;
  }

  body.guide-page .guide-copy h2,
  body.guide-page .guide-form-card h2 {
    font-size: 1.22rem;
  }

  body.guide-page .guide-copy p,
  body.guide-page .guide-form-card p,
  body.guide-page .guide-list li {
    font-size: 0.96rem;
  }
}
/* Mobile guide title correction:
   Keeps the NTBH-style title controlled on iPhone SE, Pixel, and similar phone widths. */
@media (max-width: 480px) {
  body.guide-page .guide-title {
    display: block !important;
    width: 100% !important;
    max-width: 94vw !important;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: clamp(1.62rem, 7.8vw, 2.08rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.015em;
  }

  body.guide-page .guide-subtitle {
    max-width: 92vw !important;
    font-size: 0.92rem !important;
    line-height: 1.55 !important;
  }
}
/* Mobile guide form tightening:
   Keeps the guide cards usable on phones without changing desktop layout. */
@media (max-width: 480px) {
  body.guide-page .guide-copy,
  body.guide-page .guide-form-card {
    padding: 0.95rem 0.9rem !important;
  }

  body.guide-page .guide-copy h2,
  body.guide-page .guide-form-card h2 {
    font-size: 1.08rem !important;
    line-height: 1.22 !important;
    margin-bottom: 0.7rem !important;
  }

  body.guide-page .guide-copy p,
  body.guide-page .guide-form-card p,
  body.guide-page .guide-list li {
    font-size: 0.88rem !important;
    line-height: 1.48 !important;
  }

  body.guide-page .guide-list {
    margin: 0.85rem 0 1rem !important;
  }

  body.guide-page .guide-list li {
    margin-bottom: 0.58rem !important;
    padding-left: 1rem !important;
  }

  body.guide-page .guide-note {
    margin-top: 0.85rem !important;
  }

  body.guide-page .guide-form {
    gap: 0.62rem !important;
    margin-top: 0.8rem !important;
  }

  body.guide-page .guide-input {
    min-height: 2.55rem !important;
    padding: 0.62rem 0.78rem !important;
    font-size: 0.88rem !important;
  }

  body.guide-page .guide-consent {
    gap: 0.5rem !important;
    margin: 0.15rem 0 0.2rem !important;
    font-size: 0.78rem !important;
    line-height: 1.42 !important;
  }

  body.guide-page .guide-consent input {
    width: 0.92rem !important;
    height: 0.92rem !important;
    margin-top: 0.16rem !important;
  }

  body.guide-page .guide-submit {
    min-height: 2.65rem !important;
    font-size: 0.92rem !important;
    margin-top: 0.2rem !important;
  }

  body.guide-page .guide-message {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
    min-height: 1.1rem !important;
  }
}
/* Guide copy card refinement:
   CSS-only devotional accent for the left guide card. */
body.guide-page .guide-copy {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.60) 100%),
    radial-gradient(circle at 18% 12%, rgba(232, 197, 71, 0.13), rgba(130, 0, 211, 0.08) 34%, rgba(0, 0, 0, 0.08) 72%),
    linear-gradient(135deg, rgba(232, 197, 71, 0.09), rgba(130, 0, 211, 0.06), rgba(31, 81, 255, 0.04));
}

body.guide-page .guide-copy h2::after {
  content: "";
  display: block;
  width: min(260px, 76%);
  height: 1px;
  margin: 0.72rem 0 0;
  background: linear-gradient(
    90deg,
    rgba(232, 197, 71, 0.68),
    rgba(130, 0, 211, 0.36),
    rgba(232, 197, 71, 0)
  );
}

body.guide-page .guide-copy .guide-note {
  position: relative;
  padding-left: 0.85rem;
}

body.guide-page .guide-copy .guide-note::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.22rem;
  bottom: 0.18rem;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(232, 197, 71, 0.84),
    rgba(130, 0, 211, 0.42)
  );
}
/* Final guide signup title color override:
   Keeps /stand-firm-guide.html aligned with the redesigned email/PDF.
   Placed at the end of the guide signup section so later title rules do not override it. */
body.guide-page .guide-title,
body.guide-page #guide-title {
  color: #E8C547 !important;
  -webkit-text-fill-color: #E8C547 !important;
  background: none !important;
  background-image: none !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 10px rgba(232, 197, 71, 0.18) !important;
}

body.guide-page .guide-title::before {
  color: rgba(232, 197, 71, 0.34) !important;
  -webkit-text-fill-color: rgba(232, 197, 71, 0.34) !important;
}
/* Mobile guide signup hero tightening:
   Reduces the oversized logo/header space on /stand-firm-guide.html only.
   Desktop layout is untouched. */
@media (max-width: 480px) {
  body.guide-page::after {
    top: 0.65rem !important;
    width: clamp(185px, 54vw, 245px) !important;
    height: clamp(195px, 58vw, 265px) !important;
  }

  body.guide-page header {
    min-height: clamp(11.75rem, 58vw, 15.25rem) !important;
  }

  body.guide-page .guide-divider {
    margin: 1rem auto 1.15rem !important;
  }
}
/* Guide thank-you page:
   Scoped confirmation page for /stand-firm-thank-you.html. */
body.guide-thanks-page .guide-thanks-main {
  width: 100%;
  padding: 0 1rem 3.25rem;
}

body.guide-thanks-page .guide-thanks-hero {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.guide-thanks-page .guide-thanks-shell {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}

body.guide-thanks-page .guide-thanks-title {
  margin: 0 auto 0.75rem;
  color: #E8C547;
  font-size: clamp(2.05rem, 5vw, 3.6rem);
  font-style: normal;
  font-weight: 650;
  line-height: 1.08;
  text-align: center;
  text-shadow:
    0 2px 4px rgba(0, 0, 0, 0.82),
    0 0 12px rgba(232, 197, 71, 0.16);
}

body.guide-thanks-page .guide-thanks-lead {
  max-width: 620px;
  margin: 0 auto;
  color: #D9C779;
  font-size: clamp(1rem, 1.35vw, 1.14rem);
  line-height: 1.62;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.52);
}

body.guide-thanks-page .guide-thanks-card {
  max-width: 680px;
  margin: 0 auto;
  padding: 1.65rem;
  border: 1px solid rgba(232, 197, 71, 0.18);
  border-radius: 4px;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.14) 0%, rgba(0, 0, 0, 0.58) 100%),
    radial-gradient(circle at 50% 12%, rgba(232, 197, 71, 0.12), rgba(130, 0, 211, 0.08) 36%, rgba(0, 0, 0, 0.10) 72%),
    linear-gradient(135deg, rgba(232, 197, 71, 0.08), rgba(130, 0, 211, 0.06), rgba(31, 81, 255, 0.04));
  box-shadow:
    inset 0 0 30px rgba(0, 0, 0, 0.38),
    0 14px 34px rgba(0, 0, 0, 0.28);
  text-align: left;
}

body.guide-thanks-page .guide-thanks-card h2 {
  margin: 0 0 0.85rem;
  color: #E8C547;
  font-size: clamp(1.28rem, 1.55vw, 1.55rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.68);
}

body.guide-thanks-page .guide-thanks-card p {
  margin: 0 0 1rem;
  color: #D8C68A;
  font-size: 1rem;
  line-height: 1.62;
  text-align: left;
}

body.guide-thanks-page .guide-thanks-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
  margin-top: 1.25rem;
}

body.guide-thanks-page .guide-thanks-button,
body.guide-thanks-page .guide-thanks-button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.9rem;
  padding: 0.7rem 1.25rem;
  border: 1px solid rgba(232, 197, 71, 0.48);
  border-radius: 5px;
  background:
    linear-gradient(180deg, rgba(255, 215, 0, 0.13) 0%, rgba(255, 215, 0, 0.02) 38%, rgba(0, 0, 0, 0.16) 100%),
    linear-gradient(180deg, #B5161C 0%, #960018 48%, #70000F 100%);
  color: #F2EDE5;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

body.guide-thanks-page .guide-thanks-link,
body.guide-thanks-page .guide-thanks-link:visited {
  color: #E8C547;
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 480px) {
  body.guide-thanks-page .guide-thanks-main {
    padding: 0 0.75rem 2.5rem;
  }

  body.guide-thanks-page .guide-thanks-card {
    padding: 1.1rem;
  }

  body.guide-thanks-page .guide-thanks-card p {
    font-size: 0.9rem;
    line-height: 1.52;
  }

  body.guide-thanks-page .guide-thanks-actions {
    flex-direction: column;
    align-items: stretch;
  }

  body.guide-thanks-page .guide-thanks-button,
  body.guide-thanks-page .guide-thanks-link {
    width: 100%;
    text-align: center;
  }
}
/* Mobile guide thank-you button correction:
   Keeps the thank-you CTA from becoming oversized on phone widths. */
@media (max-width: 480px) {
  body.guide-thanks-page .guide-thanks-actions {
    align-items: center !important;
    gap: 0.55rem !important;
  }

  body.guide-thanks-page .guide-thanks-button,
  body.guide-thanks-page .guide-thanks-button:visited {
    width: auto !important;
    min-width: 12rem;
    max-width: 15rem;
    min-height: 2.55rem;
    padding: 0.55rem 1rem;
    font-size: 0.92rem;
  }

  body.guide-thanks-page .guide-thanks-link,
  body.guide-thanks-page .guide-thanks-link:visited {
    width: auto !important;
    font-size: 0.9rem;
  }
}
/* Mobile guide thank-you bottom spacing correction:
   Pulls the footer/tagline area closer after the confirmation card on /stand-firm-thank-you.html only.
   Desktop layout and global footer styles are untouched. */
@media (max-width: 480px) {
  body.guide-thanks-page .guide-thanks-main {
    padding-bottom: 0.9rem !important;
  }

  body.guide-thanks-page .guide-thanks-hero {
    padding-bottom: 0.85rem !important;
  }
}
/* End guide thank-you page. */
/* === GUIDE PAGE END === */

/* Inner-page texture continuity correction:
   Prevents the standard/thank-you/404 texture field from ending as a visible horizontal band.
   The field now extends through the page and fades at the page bottom instead of stopping mid-layout. */
body:is(.about-page,.contact-page,.statement-page,.privacy-page,.terms-page,.shop-page,.thanks-page,.error-page,.info-page):not(.teachings-page)::before,
body.guide-thanks-page::before {
  height: auto !important;
  min-height: 100vh;
  bottom: 0;
  background-size: 100% 100%, cover, cover !important;
  background-position: center top, center top, center top !important;
  -webkit-mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 58%,
    rgba(0, 0, 0, 0.86) 74%,
    rgba(0, 0, 0, 0.45) 90%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
  mask-image: linear-gradient(
    to bottom,
    #000 0%,
    #000 58%,
    rgba(0, 0, 0, 0.86) 74%,
    rgba(0, 0, 0, 0.45) 90%,
    rgba(0, 0, 0, 0) 100%
  ) !important;
}

/* Short utility page texture correction:
   Contact thank-you, generic thank-you, 404, and guide thank-you are short pages.
   Keep the texture across the full viewport instead of fading to a visible black band. */
body:is(.thanks-page,.error-page)::before,
body.guide-thanks-page::before {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  transform: none !important;
  background-size: 100% 100%, cover, cover !important;
  background-position: center top, center top, center top !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
/* === Teachings Hub Page ===
   Scoped hub-only rules for /posts/teachings.html.
   Keeps the Teaching Library hub separate from article pages and shared .tkt-title-series behavior. */

body.teachings-hub-page main.blog-post {
  padding-top: 12.375rem !important;
  margin-top: 0 !important;
}

body.teachings-hub-page .teachings-hub-title {
  display: block;
  width: fit-content;
  margin: 0 auto 1.35rem;
  padding: 0 0.12em 0.22em;
  overflow: visible;

  font-size: 2.1rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;

  transform: skewX(-5deg);
  transform-origin: center;

  background-image: linear-gradient(
    to bottom,
    #8FA8E8 0%,
    #6B91EA 18%,
    #4D7DFF 36%,
    #1F51FF 56%,
    #244FE0 78%,
    #1F3FB8 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

body.teachings-hub-page .tagline-explainer {
  margin-top: 0.55rem;
  margin-bottom: 0.7rem;
}

body.teachings-hub-page .teachings-navigation {
  margin-top: 1.1rem;
  margin-bottom: 1rem;
}

body.teachings-hub-page .teachings-navigation h2.tkt-h2-gradient {
  margin-top: 0;
  margin-bottom: 0.35rem;
}

body.teachings-hub-page .teachings-navigation p {
  margin-top: 0.25rem;
  margin-bottom: 0.55rem;
}

/* Teaching Hub: study-view links
   Refines only the three Explore Teachings links:
   Teaching Series / Teaching Topics / Scripture Index.
   Static hover prevents repaint flicker on nearby gradient headings. */
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list {
  display: flex;
  justify-content: center;
  gap: clamp(1.35rem, 4vw, 3rem);
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-top: 0.65rem;
  margin-bottom: 0.75rem;
}

body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list li {
  margin: 0;
}

body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:hover,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:focus-visible {
  position: relative;
  display: inline-block;
  padding: 0.2rem 0.12rem 0.42rem;
  font-size: clamp(1.02rem, 1.15vw, 1.14rem);
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: 0.025em;
  text-decoration: none !important;

  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #E8C547 !important;
  color: #E8C547 !important;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.58) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:hover,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:focus-visible {
  -webkit-text-fill-color: #F2D66D !important;
  color: #F2D66D !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.7),
    0 0 3px rgba(232, 197, 71, 0.12) !important;
}

body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a::after,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:hover::after,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:focus-visible::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: rgba(232, 197, 71, 0.48);
  transform: translateX(-50%) scaleX(0.76);
  transform-origin: center;
  opacity: 0.78;
  transition: none !important;
  animation: none !important;
  box-shadow: none !important;
}

body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:hover::after,
body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a:focus-visible::after {
  background: rgba(242, 214, 109, 0.72);
  opacity: 0.9;
  transform: translateX(-50%) scaleX(0.86);
  box-shadow: 0 0 3px rgba(232, 197, 71, 0.12) !important;
}

@media (max-width: 480px) {
  body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list {
    gap: 0.55rem 1.1rem;
    margin-top: 0.55rem;
  }

  body.teachings-hub-page .teachings-navigation:first-of-type .teachings-nav-list a {
    font-size: 1rem;
    padding-bottom: 0.36rem;
  }
}

body.teachings-hub-page .tkt-series-feature-card {
  margin-top: 0.85rem;
}

/* Teaching Hub: featured series card
   Keeps the full card clickable while preventing whole-card hover color shifts.
   The visual action is carried by the CTA only. */
body.teachings-hub-page .tkt-series-feature-card > a,
body.teachings-hub-page .tkt-series-feature-card > a:hover,
body.teachings-hub-page .tkt-series-feature-card > a:focus-visible {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "kicker title"
    "desc desc"
    "cta cta";
  gap: 0.35rem 1.35rem;
  align-items: center;
  padding: 1.15rem 1.35rem 1.05rem;
  border: 1px solid rgba(232, 197, 71, 0.42);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(232, 197, 71, 0.08), rgba(0, 0, 0, 0.10)),
    radial-gradient(circle at 50% 0%, rgba(130, 0, 211, 0.12), rgba(0, 0, 0, 0) 58%);
  box-shadow: 0 0 22px rgba(232, 197, 71, 0.08);
  text-decoration: none !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Teaching Library NKBC feature-card label:
   Carries the NKBC red/crimson series treatment without using italics.
   Scoped to the NKBC card so NTBH and WSHA keep their own treatments. */
html body.teachings-hub-page .teaching-list .tkt-series-feature-card:not(.tkt-series-feature-card--ntbh):not(.tkt-series-feature-card--wsha) > a .tkt-series-feature-kicker,
html body.teachings-hub-page .teaching-list .tkt-series-feature-card:not(.tkt-series-feature-card--ntbh):not(.tkt-series-feature-card--wsha) > a:hover .tkt-series-feature-kicker,
html body.teachings-hub-page .teaching-list .tkt-series-feature-card:not(.tkt-series-feature-card--ntbh):not(.tkt-series-feature-card--wsha) > a:focus-visible .tkt-series-feature-kicker {
  grid-area: kicker !important;
  display: inline-block !important;
  width: fit-content !important;

  font-family: "El Messiri", sans-serif !important;
  font-size: clamp(1.25rem, 2.1vw, 1.65rem) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;

  background: var(--grad-nkbc) !important;
  background-image: var(--grad-nkbc) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  text-shadow:
    rgba(232, 150, 88, 0.08) 0px -0.12px 0px,
    rgba(34, 0, 0, 0.34) 0px 0.8px 0.9px,
    rgba(20, 0, 0, 0.2) 0px 1.2px 1.5px !important;

  white-space: nowrap !important;
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .tkt-series-feature-card > a .tkt-series-feature-title,
body.teachings-hub-page .tkt-series-feature-card > a:hover .tkt-series-feature-title,
body.teachings-hub-page .tkt-series-feature-card > a:focus-visible .tkt-series-feature-title {
  grid-area: title;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  white-space: nowrap;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #9E3DDA !important;
  color: #9E3DDA !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .tkt-series-feature-card > a .tkt-series-feature-desc,
body.teachings-hub-page .tkt-series-feature-card > a:hover .tkt-series-feature-desc,
body.teachings-hub-page .tkt-series-feature-card > a:focus-visible .tkt-series-feature-desc {
  grid-area: desc;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #D4AF37 !important;
  color: #D4AF37 !important;
  font-size: 0.92rem;
  line-height: 1.55;
  opacity: 0.96;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .tkt-series-feature-cta {
  grid-area: cta;
  position: relative;
  display: inline-block;
  width: fit-content;
  margin-top: 0.32rem;
  padding: 0.12rem 0 0.34rem;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: #E8C547 !important;
  color: #E8C547 !important;
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: 0.025em;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.68);
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .tkt-series-feature-cta::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(232, 197, 71, 0.84),
    rgba(232, 197, 71, 0.42),
    rgba(232, 197, 71, 0.10)
  );
  opacity: 0.84;
  transition: none !important;
  animation: none !important;
}

body.teachings-hub-page .tkt-series-feature-card > a:hover .tkt-series-feature-cta,
body.teachings-hub-page .tkt-series-feature-card > a:focus-visible .tkt-series-feature-cta {
  -webkit-text-fill-color: #F2D66D !important;
  color: #F2D66D !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 3px rgba(232, 197, 71, 0.14);
}

body.teachings-hub-page .tkt-series-feature-card > a:hover .tkt-series-feature-cta::after,
body.teachings-hub-page .tkt-series-feature-card > a:focus-visible .tkt-series-feature-cta::after {
  background: linear-gradient(
    90deg,
    rgba(242, 214, 109, 0.95),
    rgba(242, 214, 109, 0.55),
    rgba(242, 214, 109, 0.16)
  );
  opacity: 0.95;
}

@media (max-width: 620px) {
  body.teachings-hub-page .tkt-series-feature-card > a,
  body.teachings-hub-page .tkt-series-feature-card > a:hover,
  body.teachings-hub-page .tkt-series-feature-card > a:focus-visible {
    grid-template-columns: 1fr;
    grid-template-areas:
      "kicker"
      "title"
      "desc"
      "cta";
    text-align: center;
  }

  body.teachings-hub-page .tkt-series-feature-title {
    white-space: normal;
  }

  body.teachings-hub-page .tkt-series-feature-cta {
    justify-self: center;
  }
}
/* === Teaching Hub: series card identity system START ===
   Final source of truth for Teaching Library series cards.
   Kept at the end of tkt.css so these scoped rules win without duplicate override blocks.
   Right-side metadata uses the console-approved quieter parchment treatment. */

body.teachings-hub-page .teachings-navigation--additional-series {
  margin-top: 1.45rem;
}

/* Right-side series metadata: approved quiet parchment treatment. */
body.teachings-hub-page .teaching-list .tkt-series-feature-card .tkt-series-feature-title,
body.teachings-hub-page .teaching-list .tkt-series-feature-card > a .tkt-series-feature-title,
body.teachings-hub-page .teaching-list .tkt-series-feature-card > a:hover .tkt-series-feature-title,
body.teachings-hub-page .teaching-list .tkt-series-feature-card > a:focus-visible .tkt-series-feature-title,
body.teachings-hub-page .teaching-list .tkt-series-feature-card .card-title.tkt-series-feature-title {
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #C6B789 !important;
  color: #C6B789 !important;
  font-family: "El Messiri", sans-serif !important;
  font-size: clamp(0.92rem, 1.18vw, 1.02rem) !important;
  font-weight: 520 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.012em !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.72),
    0 0 1px rgba(130, 0, 211, 0.08) !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* NKBC: flagship blood-red identity. */
body.teachings-hub-page .teaching-list--featured .tkt-series-feature-card:first-child > a .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list--featured .tkt-series-feature-card:first-child > a:hover .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list--featured .tkt-series-feature-card:first-child > a:focus-visible .tkt-series-feature-kicker {
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #B3262E !important;
  color: #B3262E !important;
  font-size: clamp(1.34rem, 2.18vw, 1.74rem) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.76),
    0 0 2px rgba(232, 197, 71, 0.08) !important;
}

/* NTBH: solid violet identity. */
/* NTBH featured-card label:
   Uses the Part 1 NTBH solid-purple treatment while preserving NKBC card sizing.
   This replaces the older flat-purple NTBH card override instead of adding a duplicate rule. */
body.teachings-hub-page .teaching-list .tkt-series-feature-card--ntbh > a .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--ntbh > a:hover .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--ntbh > a:focus-visible .tkt-series-feature-kicker {
  grid-area: kicker !important;
  display: inline-block !important;
  width: fit-content !important;

  color: rgb(108, 24, 173) !important;
  -webkit-text-fill-color: rgb(108, 24, 173) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;

  font-family: "El Messiri", sans-serif !important;
  font-size: clamp(1.25rem, 2.1vw, 1.65rem) !important;
  font-style: normal !important;
  font-weight: 550 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;

  text-shadow:
    rgba(247, 230, 255, 0.42) 0px -0.22px 0px,
    rgba(217, 167, 255, 0.14) 0px -0.38px 0px,
    rgba(0, 0, 0, 0.18) 0px 1px 1px,
    rgba(255, 255, 255, 0.02) 0px 0px 0.1px,
    rgba(232, 197, 71, 0.48) 0.38px 0.28px 0px,
    rgba(255, 215, 0, 0.16) 0px 0px 0.12px !important;

  white-space: nowrap !important;
  transition: none !important;
  animation: none !important;
}

/* WSHA featured-card label:
   Uses the Serve blue-band treatment while preserving shared card sizing. */
html body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--wsha > a .tkt-series-feature-kicker,
html body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--wsha > a:hover .tkt-series-feature-kicker,
html body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--wsha > a:focus-visible .tkt-series-feature-kicker {
  grid-area: kicker !important;
  display: inline-block !important;
  width: fit-content !important;

  font-family: "El Messiri", sans-serif !important;
  font-size: clamp(1.25rem, 2.1vw, 1.65rem) !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;

  background: var(--grad-serve-band) !important;
  background-image: var(--grad-serve-band) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  text-shadow:
    rgba(143, 168, 232, 0.18) 0px -0.12px 0px,
    rgba(0, 18, 72, 0.36) 0px 0.8px 0.9px,
    rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

  white-space: nowrap !important;
  transition: none !important;
  animation: none !important;
}

/* Standard future-series identity. */
body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard > a .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard > a:hover .tkt-series-feature-kicker,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard > a:focus-visible .tkt-series-feature-kicker {
  background: linear-gradient(
    90deg,
    #D4AF37 0%,
    #fffacd 50%,
    #D4AF37 100%
  ) !important;
  background-size: 200% auto !important;
  background-position: 0% 0% !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  font-size: clamp(1.34rem, 2.05vw, 1.68rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  text-shadow: none !important;
}

/* Natural desktop description width for planned/developing series. */
body.teachings-hub-page .teaching-list .tkt-series-feature-card--ntbh .tkt-series-feature-desc,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--wsha .tkt-series-feature-desc,
body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard .tkt-series-feature-desc {
  display: block !important;
  width: min(68ch, 100%) !important;
  max-width: 68ch !important;
  min-width: 0 !important;
  white-space: normal !important;
  line-height: 1.52 !important;
  justify-self: start !important;
}

@media (max-width: 620px) {
  body.teachings-hub-page .teaching-list .tkt-series-feature-card .tkt-series-feature-title,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card > a .tkt-series-feature-title,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card .card-title.tkt-series-feature-title {
    white-space: normal !important;
    font-size: 1rem !important;
    justify-self: center !important;
  }

  body.teachings-hub-page .teaching-list.teaching-list--featured
  .tkt-series-feature-card.tkt-series-feature-card--wsha > a
  .card-label.tkt-series-feature-kicker {
    display: block !important;
    width: auto !important;
    max-width: 15ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-wrap: balance !important;
    justify-self: center !important;
    text-align: center !important;
    font-size: clamp(1.18rem, 4.8vw, 1.38rem) !important;
    line-height: 1.16 !important;
  }

  body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard > a .tkt-series-feature-kicker {
    white-space: normal !important;
    font-size: clamp(1.22rem, 4.8vw, 1.45rem) !important;
  }

  body.teachings-hub-page .teaching-list .tkt-series-feature-card--ntbh .tkt-series-feature-desc,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card--wsha .tkt-series-feature-desc,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card--standard .tkt-series-feature-desc {
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* Teaching Library mobile feature-card centering START
   Scope: /posts/teachings.html only.
   Purpose:
   - Centers the Teaching Library feature-card text stack on mobile.
   - Targets the card/link container because the title spans were already computing centered.
   - Does not affect desktop layout. */
@media (max-width: 620px) {
  body.teachings-hub-page .teaching-list .tkt-series-feature-card,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card > a {
    text-align: center !important;
  }

  body.teachings-hub-page .teaching-list .tkt-series-feature-card > a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.teachings-hub-page .teaching-list .tkt-series-feature-card .card-label,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card .card-title,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card .tkt-series-feature-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}
/* Teaching Library mobile feature-card centering END */
/* Mobile NTBH purple/silver shared treatment START
   Scope: mobile NTBH-rendered text across Teaching Library, NKBC article pages, and footer contexts.
   Purpose:
   - Defines the accepted purple/silver NTBH palette once.
   - Uses repeat-y for wrapped article/header text so multi-line headings render evenly.
   - Uses no-repeat for footer NTBH so the compact footer tag stays visually matched.
   - Keeps the Teaching Library NTBH card kicker heavier for real-phone readability. */
@media (max-width: 620px) {
  body {
    --tkt-mobile-ntbh-purple-silver: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    );
  }

  body.teachings-hub-page main.blog-post h2.tkt-h2-gradient,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:hover .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:focus-visible .tkt-series-feature-kicker,
  body.nkbc-article-page main.blog-post .tkt-title-combo > h2.tkt-title-purplegold,
  body.nkbc-article-page main.blog-post h2.tkt-h2-gradient,
  footer .footer-truth-v2,
  footer .footer-truth {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-image: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-size: 100% 1.45em !important;
    background-position: center top !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;
  }

  body.teachings-hub-page main.blog-post h2.tkt-h2-gradient,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:hover .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:focus-visible .tkt-series-feature-kicker,
  body.nkbc-article-page main.blog-post .tkt-title-combo > h2.tkt-title-purplegold,
  body.nkbc-article-page main.blog-post h2.tkt-h2-gradient {
    background-repeat: repeat-y !important;
  }

  footer .footer-truth-v2,
  footer .footer-truth {
    background-repeat: no-repeat !important;
  }

  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:hover .tkt-series-feature-kicker,
  body.teachings-hub-page .teaching-list .tkt-series-feature-card.tkt-series-feature-card--ntbh > a:focus-visible .tkt-series-feature-kicker {
    font-weight: 750 !important;
    letter-spacing: 0.015em !important;
  }

  footer .footer-truth-v2::before {
    content: none !important;
  }
}
/* Mobile NTBH purple/silver shared treatment END */
/* Mobile NKBC series index color treatment START
   Scope: /posts/no-king-but-christ.html only.
   Purpose:
   - Keep "Teaching Series" in the WSHA blue treatment.
   - Leave Part labels gold through the existing .card-label CSS.
   - Apply the Series Index purple/silver treatment to each article-title line.
   Note: Titles are split into .card-title-line spans in the HTML so wrapped mobile titles do not receive uneven gradient bands. */
@media (max-width: 620px) {
/* Mobile NKBC Series Index heading treatment START
     Scope: /posts/no-king-but-christ.html only.
     Purpose:
     - Applies the accepted NTBH purple/silver treatment to the actual Series Index heading.
     - Targets the real HTML: .teachings-navigation > h2.tkt-h2-gradient.
     - Reuses --grad-mobile-purple-silver from this block to avoid repeating the palette. */
  body.nkbc-series-page main.blog-post .teachings-navigation > h2.tkt-h2-gradient {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-image: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 550 !important;
  }
  /* Mobile NKBC Series Index heading treatment END */
body.nkbc-series-page main.blog-post h1.tkt-title-combo > span.tkt-title-series {
    font-weight: 540 !important;
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background-image: linear-gradient(
      to bottom,
      rgb(143, 168, 232) 0%,
      rgb(107, 145, 234) 16%,
      rgb(77, 125, 255) 34%,
      rgb(45, 94, 255) 50%,
      rgb(74, 116, 242) 66%,
      rgb(183, 199, 245) 80%,
      rgb(192, 196, 159) 100%
    ) !important;

    background-size: 100% 1.28em !important;
    background-repeat: repeat-y !important;
    background-position: 0 0 !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(143, 168, 232, 0.18) 0px -0.12px 0px,
      rgba(0, 18, 72, 0.36) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;
  }

  body.nkbc-series-page main.blog-post .teaching-list .teaching-card > a > span.card-title {
    display: block !important;
    background: none !important;
    background-image: none !important;
    color: inherit !important;
    -webkit-text-fill-color: initial !important;
    text-shadow: none !important;
  }

  body.nkbc-series-page main.blog-post .teaching-list .teaching-card > a > span.card-title .card-title-line {
    display: block !important;
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-image: var(--tkt-mobile-ntbh-purple-silver) !important;
    background-size: auto !important;
    background-repeat: repeat !important;
    background-position: 0% 0% !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 550 !important;
  }
}
/* Mobile NKBC series index color treatment END */
/* === Teaching Hub: series card identity system END === */
/* === WSHA series page mobile title wrap START ===
   Forces the long WSHA title to break cleanly on mobile:
   "We Serve the" / "Highest Authority:" / "Teaching Series". */
@media (max-width: 620px) {
  body.wsha-series-page .tkt-title-combo {
    text-align: center !important;
  }

  body.wsha-series-page .tkt-title-combo .tkt-title-series:first-child {
    display: block !important;
    max-width: 18ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-wrap: balance !important;
  }

  body.wsha-series-page .tkt-title-combo .tkt-title-series:last-child {
    display: block !important;
    margin-top: 0.15rem !important;
  }
}
/* === WSHA series page mobile title wrap END === */

/* === NTBH Teaching Page Accent System === */
/* Purpose:
   Scoped treatment for No Truth but His article pages.
   Keeps the article column centered, fixes breadcrumb color/weight, and applies the confirmed NTBH + WSHA header stack.
   This block replaces earlier NTBH article styling instead of adding duplicate rules. */

main.ntbh-teaching-post,
main.blog-post.ntbh-teaching-post {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  text-align: left !important;
}

/* Breadcrumbs */
.ntbh-teaching-post .teaching-breadcrumb,
.ntbh-teaching-post .teaching-breadcrumb *,
.ntbh-teaching-post .breadcrumb,
.ntbh-teaching-post .breadcrumb * {
  color: #E8C547 !important;
  -webkit-text-fill-color: #E8C547 !important;
  background: none !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55) !important;
}

.ntbh-teaching-post .teaching-breadcrumb,
.ntbh-teaching-post .breadcrumb {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.45rem !important;
  font-size: 0.95rem !important;
}

/* Top line: confirmed NTBH purple title treatment */
.ntbh-teaching-post .ntbh-part1-series-top {
  display: block !important;
  text-align: center !important;
  margin: 0 auto 0.55rem auto !important;

  color: rgb(108, 24, 173) !important;
  -webkit-text-fill-color: rgb(108, 24, 173) !important;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;

  font-family: "El Messiri", sans-serif !important;
  font-size: 42px !important;
  font-style: normal !important;
  font-weight: 550 !important;
  line-height: 52px !important;

  text-shadow:
    rgba(247, 230, 255, 0.42) 0px -0.22px 0px,
    rgba(217, 167, 255, 0.14) 0px -0.38px 0px,
    rgba(0, 0, 0, 0.18) 0px 1px 1px,
    rgba(255, 255, 255, 0.02) 0px 0px 0.1px,
    rgba(232, 197, 71, 0.48) 0.38px 0.28px 0px,
    rgba(255, 215, 0, 0.16) 0px 0px 0.12px !important;

  white-space: nowrap !important;
}

/* Full-width row centers the inner skewed WSHA title */
.ntbh-teaching-post .ntbh-part1-title-line {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  margin: 0 auto 0.95rem auto !important;
  padding: 0 !important;
  background: none !important;
  -webkit-text-fill-color: initial !important;
  color: inherit !important;
}

.ntbh-teaching-post .ntbh-part1-title-inner {
  display: inline-block !important;
  margin-left: auto !important;
  margin-right: auto !important;

  background-image: var(--grad-serve-band) !important;
  background-size: 100% 1.7em !important;
  background-repeat: repeat-y !important;
  background-position: 0 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  font-size: 2.35rem !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  font-weight: 650 !important;
  padding-right: 0.18em !important;
  padding-bottom: 0.12em !important;
  overflow: visible !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34) !important;
  transform: skewX(-11deg) !important;
  transform-origin: center center !important;
}

/* Body text: match NKBC article paragraph color */
.ntbh-teaching-post > p:not(.teaching-series-label):not(.teaching-date):not(.ntbh-part1-date),
.ntbh-teaching-post li,
.ntbh-teaching-post blockquote:not(.pull-quote) p {
  color: rgb(212, 175, 55) !important;
  -webkit-text-fill-color: rgb(212, 175, 55) !important;
  text-shadow: none !important;
}
/* Body subheadings: WSHA treatment */
.ntbh-teaching-post h2 {
  display: block !important;
  text-align: center !important;
  margin: 2.2rem auto 0.95rem auto !important;

  background-image: var(--grad-serve-band) !important;
  background-size: 100% 1.7em !important;
  background-repeat: repeat-y !important;
  background-position: 0 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  font-size: 1.9rem !important;
  line-height: 1.35 !important;
  font-style: normal !important;
  font-weight: 650 !important;
  padding-right: 0.14em !important;
  padding-bottom: 0.12em !important;
  overflow: visible !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34) !important;
  transform: skewX(-11deg) !important;
  transform-origin: center center !important;
}

.ntbh-teaching-post .post-date,
.ntbh-teaching-post .ntbh-part1-date {
  text-align: center !important;
  margin-top: 0.2rem !important;
  margin-bottom: 1.6rem !important;
}

/* Pull quotes keep the shared TKT gold treatment. */
.ntbh-teaching-post .pull-quote {
  color: #E8C547 !important;
  border-left-color: #E8C547;
}
/* === NTBH Series Index Heading Treatment === */
/* Purpose:
   Controls only the No Truth but His series index H1.
   NTBH uses the current solid tagline purple.
   Teaching Series uses the existing WSHA blue gradient proven by .tkt-title-series.
   Teaching Series uses normal font-style plus skewX(-11deg) to mimic italics without clipping the final "s". */
.ntbh-index-heading {
  text-align: center;
}

.ntbh-index-title {
  color: #6F00B3 !important;
  -webkit-text-fill-color: #6F00B3 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  font-style: italic;
  font-weight: 600;
  line-height: 1.4;
  display: inline-block;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34);
}

.ntbh-index-series {
  background-image: var(--grad-serve-band) !important;
  background-size: 100% 1.7em !important;
  background-repeat: repeat-y !important;
  background-position: 0 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.7 !important;
  padding-right: 0.14em !important;
  padding-bottom: 0.16em !important;
  overflow: visible !important;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34) !important;
  display: inline-block !important;
  transform: skewX(-11deg) !important;
  transform-origin: center center !important;
  vertical-align: baseline !important;
}
/* === Teaching Library WSHA Title Treatment === */
/* Purpose:
   Applies the exact WSHA blue gradient used by .tkt-title-series to the Teaching Library page title.
   Centers the title with left: 50% + translateX(-50%).
   Uses normal font-style plus skewX(-11deg) to mimic italics without clipping the "y" descender. */
body.teachings-page main h1.teaching-library-wsha-title,
main h1.teaching-library-wsha-title,
h1.teaching-library-wsha-title {
  background-image: var(--grad-serve-band) !important;
  background-size: 100% 1.7em !important;
  background-repeat: repeat-y !important;
  background-position: 0 0 !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.7 !important;
  padding-bottom: 0.16em !important;
  overflow: visible !important;

  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34) !important;
  display: inline-block !important;
  width: auto !important;
  max-width: max-content !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) skewX(-11deg) !important;
  transform-origin: center center !important;
  text-align: center !important;
}

/* === TKT STATIC PAGE MOBILE TITLE RENDERING START === */
/* Static/info page mobile title rendering:
   Applies the approved NTBH purple/silver title treatment to confirmed static page h1.page-title elements.
   Scoped to confirmed non-article pages only. Teaching article pages remain untouched.

   Homepage/shop NTBH tagline:
   Disables the legacy .tag-ntbh::before duplicate layer on the header tagline only.
   That hidden layer was causing the mobile purple/silver treatment to render too lavender.
*/
@media (max-width: 620px) {
  body.about-page .page-title,
  body.statement-page .page-title,
  body.privacy-page .page-title,
  body.terms-page .page-title,
  body.contact-page .page-title,
  body.teachings-series-page .page-title,
  body.teachings-topics-page .page-title,
  body.teachings-scripture-page .page-title,
  body.shop-page .page-title {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    ) !important;

    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 700 !important;
  }

  body:not(.teachings-page) .homepage-taglines .tag-ntbh::before {
    content: none !important;
    display: none !important;
  }

  body:not(.teachings-page) .homepage-taglines .tag-ntbh {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 56%,
      rgb(220, 216, 228) 70%,
      rgb(238, 236, 243) 84%,
      rgb(246, 245, 249) 100%
    ) !important;

    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 700 !important;
  }
}
/* === TKT STATIC PAGE MOBILE TITLE RENDERING END === */

/* === TKT NTBH ARTICLE MOBILE ALIGNMENT START === */
/* NTBH article mobile alignment:
   Future-ready for Part 2+ when pages use:
   body.teachings-page.ntbh-article-page
   main.blog-post.ntbh-teaching-post
   .ntbh-article-series-top / .ntbh-article-title-line / .ntbh-article-title-inner / .ntbh-article-date */
@media (max-width: 1024px) {
  body.teachings-page.ntbh-article-page::after {
    top: 3rem !important;
    width: clamp(155px, 34vw, 220px) !important;
    height: clamp(165px, 38vw, 235px) !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post {
    margin-top: clamp(9.45rem, 27vw, 11.75rem) !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post nav.teaching-breadcrumb {
    margin-bottom: 1.65rem !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .teaching-series-label,
  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-article-series-top {
    font-size: clamp(1.95rem, 7.6vw, 2.12rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 0.55rem !important;
    font-style: italic !important;
    font-weight: 700 !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-article-title-line,
  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-part1-title-line {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
    font-style: normal !important;
    transform: none !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-article-title-inner,
  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-part1-title-inner {
    font-size: clamp(1.6rem, 6.2vw, 1.72rem) !important;
    line-height: 1.32 !important;
    max-width: 21rem !important;
    padding-bottom: 0.18em !important;
    font-style: normal !important;
    font-weight: 500 !important;
    transform: none !important;
  }

  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .teaching-date,
  body.teachings-page.ntbh-article-page main.blog-post.ntbh-teaching-post .ntbh-article-date {
    margin-top: 0.35rem !important;
  }
}
/* === TKT NTBH ARTICLE MOBILE ALIGNMENT END === */

/* === TKT NTBH SERIES INDEX CARD SPLIT START === */
/* NTBH series index card layout:
   Places Part # left and teaching title right without changing shared card markup. */
body.teachings-page main.blog-post.ntbh-series-index .teaching-list .teaching-card > a {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  column-gap: 0.85rem !important;
  align-items: baseline !important;
  text-align: left !important;
  width: 100% !important;
}

body.teachings-page main.blog-post.ntbh-series-index .teaching-list .teaching-card > a .card-label {
  grid-column: 1 !important;
  white-space: nowrap !important;
  text-align: left !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

body.teachings-page main.blog-post.ntbh-series-index .teaching-list .teaching-card > a .card-title {
  grid-column: 2 !important;
  min-width: 0 !important;
  text-align: left !important;
  margin: 0 !important;
}

@media (max-width: 620px) {
  body.teachings-page main.blog-post.ntbh-series-index .teaching-list .teaching-card > a {
    column-gap: 0.65rem !important;
  }
}
/* === TKT NTBH SERIES INDEX CARD SPLIT END === */

/* === TKT NTBH MOBILE SERIES + SHARED TEACHING NAV REFINEMENTS START === */

/* Purpose:
   1) Gives the NTBH series page mobile title, Series Index heading, and card titles
      the approved purple/silver and blue/silver rendering.
   2) Tightens the mobile gap between "No Truth but His:" and "Teaching Series."
   3) Gives NTBH article-page series labels the same approved purple/silver rendering.
   4) Makes teaching-post breadcrumbs and bottom article nav gold treatment uniform
      across NKBC and NTBH without touching the global site nav or footer.
*/

/* Mobile NTBH series/page-label rendering only. */
@media (max-width: 620px) {
  /* NTBH series page H1 wrapper:
     Tightens the gap between "No Truth but His:" and "Teaching Series"
     without changing the approved individual text sizes. */
  body.teachings-page main.blog-post.ntbh-series-index h1.ntbh-index-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.45rem !important;
    row-gap: 0.45rem !important;
    line-height: 1.1 !important;
  }

  /* NTBH title phrase.
     Matched to NKBC series title size at 412px:
     1.95rem = 31.2px, line-height 1.25 = 39px. */
  body.teachings-page main.blog-post.ntbh-series-index .ntbh-index-title {
    font-size: 1.95rem !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    ) !important;

    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;
  }

  /* NTBH "Teaching Series" span.
     Matched to NKBC Teaching Series size at 412px:
     1.72rem = 27.52px, line-height 1.25 = 34.4px. */
  body.teachings-page main.blog-post.ntbh-series-index .ntbh-index-series {
    font-size: 1.72rem !important;
    line-height: 1.25 !important;
    font-weight: 540 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(143, 168, 232) 0%,
      rgb(107, 145, 234) 16%,
      rgb(77, 125, 255) 34%,
      rgb(45, 94, 255) 50%,
      rgb(74, 116, 242) 66%,
      rgb(183, 199, 245) 80%,
      rgb(192, 196, 159) 100%
    ) !important;

    background-size: 100% 1.28em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(143, 168, 232, 0.18) 0px -0.12px 0px,
      rgba(0, 18, 72, 0.36) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;
  }

  /* NTBH Series Index heading. */
  body.teachings-page main.blog-post.ntbh-series-index h2.tkt-h2-gradient {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    ) !important;

    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 550 !important;
  }

  /* NTBH series page card titles.
     Same purple/silver family with the approved extra silver. */
  body.teachings-page main.blog-post.ntbh-series-index .teaching-list .teaching-card .card-title {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 18%,
      rgb(146, 77, 255) 36%,
      rgb(126, 68, 214) 52%,
      rgb(178, 160, 202) 66%,
      rgb(214, 210, 224) 82%,
      rgb(238, 236, 243) 100%
    ) !important;

    background-size: 100% 1.6em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.14) 0px -0.1px 0px,
      rgba(45, 0, 72, 0.36) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.28) 0px 1.2px 1.5px !important;

    font-weight: 500 !important;
  }

  /* NTBH teaching article series label.
     Future-ready for Part 2+ as long as NTBH article pages keep .ntbh-teaching-post. */
  body.teachings-page main.blog-post.ntbh-teaching-post .teaching-series-label {
    color: rgba(0, 0, 0, 0) !important;
    -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

    background: linear-gradient(
      to bottom,
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    ) !important;

    background-size: 100% 1.45em !important;
    background-position: center top !important;
    background-repeat: repeat-y !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;

    text-shadow:
      rgba(181, 143, 232, 0.16) 0px -0.12px 0px,
      rgba(45, 0, 72, 0.34) 0px 0.8px 0.9px,
      rgba(0, 0, 0, 0.26) 0px 1.2px 1.5px !important;

    font-weight: 550 !important;
  }
}

/* Shared teaching article bottom navigation.
   Covers NTBH nav.series-nav and NKBC nav.tkt-post-nav. */
body.teachings-page main.blog-post nav.series-nav,
body.teachings-page main.blog-post nav.tkt-post-nav {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.9rem 1rem !important;
  width: 100% !important;
  margin: 2.25rem auto 1.25rem !important;
  padding-top: 1.25rem !important;
  border-top: 1px solid rgba(232, 197, 71, 0.35) !important;
  text-align: left !important;
}

/* Bottom nav split:
   - one link stays left
   - multiple links keep earlier links left
   - final next-link moves right */
body.teachings-page main.blog-post nav.series-nav a:last-child:not(:only-child),
body.teachings-page main.blog-post nav.tkt-post-nav a:last-child:not(:only-child) {
  margin-left: auto !important;
}

/* Shared top breadcrumb wrappers.
   Keeps layout untouched while harmonizing the gold tone. */
body.teachings-page main.blog-post nav.teaching-breadcrumb,
body.teachings-page main.blog-post nav.tkt-breadcrumb {
  color: #ddc97c !important;
}

/* Shared gold link treatment for teaching breadcrumbs and bottom article nav. */
body.teachings-page main.blog-post nav.series-nav a,
body.teachings-page main.blog-post nav.tkt-post-nav a,
body.teachings-page main.blog-post nav.teaching-breadcrumb a,
body.teachings-page main.blog-post nav.tkt-breadcrumb a {
  color: rgba(0, 0, 0, 0) !important;
  -webkit-text-fill-color: rgba(0, 0, 0, 0) !important;

  background: linear-gradient(
    90deg,
    #b9902f 0%,
    #e8c547 28%,
    #fff3a8 50%,
    #e8c547 72%,
    #b9902f 100%
  ) !important;
  background-size: 200% auto !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;

  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.55),
    0 0 0.65px rgba(232, 197, 71, 0.18) !important;

  font-weight: 700 !important;
  text-decoration: none !important;
}

/* Bottom nav sizing only.
   Breadcrumbs keep their existing size. */
body.teachings-page main.blog-post nav.series-nav a,
body.teachings-page main.blog-post nav.tkt-post-nav a {
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}

/* === TKT NTBH MOBILE SERIES + SHARED TEACHING NAV REFINEMENTS END === */

/* === TKT HOMEPAGE S25 PROCLAIM SPACING START === */
/* Final narrow-phone homepage spacing override:
   Kept at the end of the CSS so it wins after earlier homepage mobile rules.
   Targets S25-style portrait widths only. */
@media (min-width: 360px) and (max-width: 430px) and (orientation: portrait) {
  html body:not(.teachings-page) .homepage-stage .homepage-shell {
    padding-top: 10.45rem !important;
  }
}
/* === TKT HOMEPAGE S25 PROCLAIM SPACING END === */

/* === TKT LORD MANUAL SMALL CAPS START ===
   Purpose:
   - Gives uppercase LORD a reverent small-caps look without relying on browser synthesized small-caps.
   - Body LORD and H2 LORD are scoped separately so heading tuning does not affect paragraph text.
   - Manual L + ORD structure avoids the tiny rendering produced by font-variant-caps in El Messiri. */

/* Body paragraph LORD treatment */
.ntbh-teaching-post p .lord-sc-body {
  display: inline-block;
  white-space: nowrap;
  font-weight: 500;
  letter-spacing: 0;
}

.ntbh-teaching-post p .lord-sc-body .lord-l {
  font-size: 1em;
}

.ntbh-teaching-post p .lord-sc-body .lord-tail {
  font-size: 0.78em;
  letter-spacing: 0.025em;
  vertical-align: 0.045em;
}

/* H2 LORD treatment */
.ntbh-teaching-post h2 .lord-sc-heading,
.ntbh-teaching-post h2 .lord-sc-heading span {
  background-image: inherit;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  font-style: inherit;
  font-weight: inherit;
}

.ntbh-teaching-post h2 .lord-sc-heading {
  display: inline-block;
  white-space: nowrap;
  letter-spacing: 0;
}

.ntbh-teaching-post h2 .lord-sc-heading .lord-l {
  font-size: 1em;
}

.ntbh-teaching-post h2 .lord-sc-heading .lord-tail {
  font-size: 0.78em;
  letter-spacing: 0.015em;
  vertical-align: 0.04em;
  margin-left: -0.08em;
}
/* === TKT LORD MANUAL SMALL CAPS END === */
/* === TKT NTBH BLUE SILVER HEADINGS START === */
/* Exact WSHA blue/silver treatment for NTBH teaching titles and H2 headings only. */
.ntbh-teaching-post .ntbh-blue-silver-heading-line {
  background: linear-gradient(
    to bottom,
    #8FA8E8 0%,
    #6B91EA 16%,
    #4D7DFF 34%,
    #2D5EFF 50%,
    #4A74F2 66%,
    #B7C7F5 80%,
    #C0C49F 100%
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.34);
}
/* === TKT NTBH BLUE SILVER HEADINGS END === */

/* === TKT MOBILE PULL QUOTE BALANCE START === */
/* Prevents short pull quotes from ending with an isolated final word on phones. */
@media (max-width: 620px) {
  .pull-quote {
    text-wrap: balance;
  }
}
/* === TKT MOBILE PULL QUOTE BALANCE END === */

/* === TKT MOBILE TEACHING HEADING BALANCE START === */
/* Balances teaching H2s and inner Part-title lines on phones.
   The surrounding series-label headings remain untouched. */
@media (max-width: 620px) {
  body.teachings-page main.blog-post h2,
  body.teachings-page main.blog-post .card-title-line,
  body.teachings-page main.ntbh-teaching-post .ntbh-article-title-inner {
    text-wrap: balance;
  }
}
/* === TKT MOBILE TEACHING HEADING BALANCE END === */

/* === TKT MOBILE SERIES TITLE ROWS START === */
/* Keeps approved title breaks mobile-only and restarts the
   Series Index gradient on every visible card-title row. */
.card-title .tkt-card-title-break {
  display: none;
}

.card-title.ntbh-card-title,
.card-title.ntbh-card-title .tkt-card-gradient-row {
  font-weight: 550;
}

@media (max-width: 620px) {
  .card-title .tkt-card-title-break {
    display: block;
  }

  .card-title .tkt-card-gradient-row {
    background-image: linear-gradient(
      rgb(181, 143, 232) 0%,
      rgb(160, 107, 234) 16%,
      rgb(146, 77, 255) 32%,
      rgb(126, 68, 214) 44%,
      rgb(190, 184, 207) 58%,
      rgb(220, 216, 228) 74%,
      rgb(238, 236, 243) 88%,
      rgb(246, 245, 249) 100%
    );
    background-size: 100% 37.12px;
    background-position: 50% 0%;
    background-repeat: repeat-y;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
  }
}
/* === TKT MOBILE SERIES TITLE ROWS END === */

/* === NKBC Mobile: Pull Quote to Section Heading Spacing === */
@media (max-width: 620px) {
  /* Remove only the heading's top margin when it directly follows a pull quote. */
  .pull-quote + h2.tkt-h2-gradient {
    margin-top: 0 !important;
  }
}

/* === Teaching Hub Mobile: Active Series to Footer Spacing === */
@media (max-width: 620px) {
  /* Remove spacing reserved below the final visible series card. */
  body.teachings-hub-page main.blog-post > .teachings-library-shell {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
