/*
TFGPS Shared Library + Article System
Canonical global stylesheet for:
- shared TFGPS custom navigation
- article pages
- Library homepage
- Definitions page

Article-only components remain scoped to .tfgps-article-root.
Library-home components remain scoped to .TFGPS-Library-page / .TFGPS-Library-root.
Definitions components remain scoped to .def-root.
*/
@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://d3syewzhvzylbl.cloudfront.net/fonts/google-fonts/cormorantgaramond/regular.woff2) format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://d3syewzhvzylbl.cloudfront.net/fonts/google-fonts/cormorantgaramond/700.woff2) format("woff2");
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://d3syewzhvzylbl.cloudfront.net/fonts/google-fonts/cormorantgaramond/700.woff2) format("woff2");
}

@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://d3syewzhvzylbl.cloudfront.net/fonts/google-fonts/lora/regular.woff2) format("woff2");
}

html,
body {
  background-color: #1C0A08;
}

.tfgps-article-root,
.tfgps-article-root *,
.tfgps-article-root *::before,
.tfgps-article-root *::after {
  box-sizing: border-box;
}

.tfgps-article-root {
  --garnet-deep: #0F0504;
  --garnet: #1C0A08;
  --garnet-warm: #24100C;
  --garnet-panel: #2A0D12;
  --garnet-mid: #3A0F18;
  --cream-light: #F0E2BC;
  --cream: #E8D5B0;
  --muted: #A0937A;
  --dim: #7E7058;
  --gold-deep: #8B5A1A;
  --gold: #C8822A;
  --gold-light: #E8A650;
  --line: rgba(200, 130, 42, 0.22);
  --line-soft: rgba(200, 130, 42, 0.12);
  --line-cream: rgba(232, 213, 176, 0.16);
  --display: "Cormorant Garamond", Georgia, serif;
  --body: "Lora", Georgia, serif;
  --max: 1160px;
  --article: 820px;
  --tfgps-nav-height: 64px;
  --tfgps-anchor-gap: 22px;

  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
  overflow-x: clip;
  background: var(--garnet);
  color: var(--cream);
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.84;
}

.tfgps-article-root a {
  color: inherit;
}

.tfgps-article-root a:focus-visible {
  outline: 1px solid var(--gold-light);
  outline-offset: 4px;
}

.tfgps-article-root .tfgps-page {
  width: 100%;
  min-height: 100%;
  background: var(--garnet);
}


/* =========================================================
   SHARED TFGPS CUSTOM NAVIGATION
   Used by articles and custom Library pages.
   Mirrors the native Systeme.io header visually while keeping
   the CSS-only <details> mobile menu.
   ========================================================= */

.tfgps-site-header,
.tfgps-site-header *,
.tfgps-site-header *::before,
.tfgps-site-header *::after {
  box-sizing: border-box;
}

.tfgps-site-header {
  --tfgps-nav-height: 64px;
  --tfgps-nav-max: 1160px;
  --tfgps-nav-display: "Cormorant Garamond", Georgia, serif;
  --tfgps-nav-cream: #EFDFBB;
  --tfgps-nav-gold: #E8A650;
  --tfgps-nav-line-soft: rgba(200, 130, 42, 0.12);

  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: var(--tfgps-nav-height);
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(200, 130, 42, 0.08);
  background: #1C0A06;
  box-shadow: none;
  font-family: var(--tfgps-nav-display);
}

.tfgps-site-header .tfgps-site-nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 42px;
  width: 100%;
  max-width: var(--tfgps-nav-max);
  height: 100%;
  margin: 0 auto;
  padding: 0 34px;
}

.tfgps-site-header a {
  color: var(--tfgps-nav-cream);
  text-decoration: none;
}

.tfgps-site-header a:focus-visible,
.tfgps-site-header .tfgps-mobile-menu summary:focus-visible {
  outline: 1px solid var(--tfgps-nav-gold);
  outline-offset: 4px;
}

/* Desktop navigation remains a separate tree, matching Systeme.io's
   own desktop/mobile header architecture. */
.tfgps-site-header .tfgps-desktop-nav {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 38px;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.tfgps-site-header .tfgps-desktop-nav a {
  display: inline-flex;
  align-items: center;
  height: var(--tfgps-nav-height);
  color: var(--tfgps-nav-cream);
  font: 700 18px / 1 var(--tfgps-nav-display);
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.18s ease;
}

.tfgps-site-header .tfgps-desktop-nav a:hover {
  color: var(--tfgps-nav-gold);
}

/* Existing mobile-nav wrapper also carries the logo on desktop. */
.tfgps-site-header .tfgps-mobile-nav {
  order: -1;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
}

.tfgps-site-header .tfgps-mobile-brand {
  display: block;
  flex: 0 0 auto;
  width: 178px;
  height: 52px;
  overflow: hidden;
  color: transparent !important;
  font-size: 0;
  line-height: 0;
  white-space: nowrap;
  background-image: url("https://d1yei2z3i6k35z.cloudfront.net/16924123/69c1b6883245a7.50963400_Colorlogo-nobackground.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

.tfgps-site-header .tfgps-mobile-menu {
  display: none;
  position: relative;
  margin: 0;
  padding: 0;
}

.tfgps-site-header .tfgps-mobile-menu summary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  color: var(--tfgps-nav-cream);
  cursor: pointer;
  list-style: none;
}

/* Supports older article markup that still contains a visible "Menu" span. */
.tfgps-site-header .tfgps-mobile-menu summary > span:first-child:not(.tfgps-site-header .tfgps-menu-icon) {
  display: none;
}

.tfgps-site-header .tfgps-mobile-menu summary::-webkit-details-marker {
  display: none;
}

.tfgps-site-header .tfgps-mobile-menu summary::marker {
  content: "";
}

.tfgps-site-header .tfgps-menu-icon {
  display: grid;
  gap: 5px;
  width: 24px;
}

.tfgps-site-header .tfgps-menu-icon span {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--tfgps-nav-cream);
  transition: transform 0.18s ease, opacity 0.18s ease;
}

.tfgps-site-header .tfgps-mobile-menu[open] .tfgps-site-header .tfgps-menu-icon span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.tfgps-site-header .tfgps-mobile-menu[open] .tfgps-site-header .tfgps-menu-icon span:nth-child(2) {
  opacity: 0;
}

.tfgps-site-header .tfgps-mobile-menu[open] .tfgps-site-header .tfgps-menu-icon span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.tfgps-site-header .tfgps-mobile-menu-panel {
  position: fixed;
  top: var(--tfgps-nav-height);
  left: 0;
  right: 0;
  z-index: 999;
  display: grid;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--tfgps-nav-line-soft);
  border-bottom: 1px solid rgba(200, 130, 42, 0.32);
  background: #1C0A06;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.22);
}

.tfgps-site-header .tfgps-mobile-menu-panel a {
  display: flex;
  align-items: center;
  min-height: 52px;
  margin: 0;
  padding: 0 24px;
  border-bottom: 1px solid var(--tfgps-nav-line-soft);
  color: var(--tfgps-nav-cream);
  font: 700 18px / 1.25 var(--tfgps-nav-display);
  letter-spacing: 0;
  text-transform: uppercase;
}

.tfgps-site-header .tfgps-mobile-menu-panel a:last-child {
  border-bottom: 0;
}

.tfgps-site-header .tfgps-mobile-menu-panel a:hover {
  color: var(--tfgps-nav-gold);
  background: rgba(200, 130, 42, 0.055);
}

@media (max-width: 760px) {
  .tfgps-site-header .tfgps-site-nav-shell {
    gap: 18px;
    padding: 0 22px;
  }

  .tfgps-site-header .tfgps-desktop-nav {
    display: none;
  }

  .tfgps-site-header .tfgps-mobile-nav {
    order: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .tfgps-site-header .tfgps-mobile-brand {
    width: 150px;
    height: 46px;
  }

  .tfgps-site-header .tfgps-mobile-menu {
    display: block;
  }

  /* Article anchor offsets still live on the article root. */
  .tfgps-article-root {
    --tfgps-nav-height: 64px;
    --tfgps-anchor-gap: 18px;
  }
}


/* HERO */
.tfgps-article-root .tfgps-hero {
  position: relative;
  border-bottom: 1px solid var(--line-soft);
  background:
    radial-gradient(ellipse 75% 70% at 50% 0%, rgba(200, 130, 42, 0.12), transparent 58%),
    linear-gradient(180deg, var(--garnet-deep), var(--garnet-panel));
}

.tfgps-article-root .tfgps-hero-inner {
  max-width: var(--max);
  margin: 0 auto;
  padding: 54px 80px 48px;
}

.tfgps-article-root .tfgps-breadcrumbs {
  margin: 0 0 28px;
}

.tfgps-article-root .tfgps-breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--muted);
  font-family: var(--display);
  font-size: 14.5px;
  letter-spacing: 0.04em;
}

.tfgps-article-root .tfgps-breadcrumbs li {
  display: flex;
  align-items: center;
}

.tfgps-article-root .tfgps-breadcrumbs li:not(:last-child)::after {
  content: ">";
  margin-left: 8px;
  color: var(--gold-deep);
}

.tfgps-article-root .tfgps-breadcrumbs a {
  color: var(--gold-light);
  text-decoration: none;
}

.tfgps-article-root .tfgps-breadcrumbs a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.tfgps-article-root .tfgps-breadcrumbs [aria-current="page"] {
  color: var(--cream);
}

.tfgps-article-root .tfgps-title {
  max-width: 890px;
  margin: 0;
  color: var(--cream-light);
  font: 700 clamp(44px, 5.5vw, 70px) / 1.03 var(--display);
  letter-spacing: -0.012em;
}

.tfgps-article-root .tfgps-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 26px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}

.tfgps-article-root .tfgps-byline > .tfgps-byline-item {
  display: inline-flex;
  align-items: center;
}

.tfgps-article-root .tfgps-byline > .tfgps-byline-item:not(:last-child)::after {
  content: "·";
  margin: 0 10px;
  color: var(--gold-deep);
}

.tfgps-article-root .tfgps-byline-author {
  gap: 0.32em;
}

.tfgps-article-root .tfgps-byline a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.tfgps-article-root .tfgps-byline a:hover{
  color: var(--cream-light);
  text-decoration-color: var(--cream-light);;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ARTICLE LAYOUT
   Two content areas only: the TOC rail and the article body.
   The third grid track is intentionally empty balance space, not a sidebar.
   It keeps the 820px article body near the visual center with a subtle
   rightward bias while allowing the TOC to sit close to the left edge. */
.tfgps-article-root .tfgps-layout {
  display: grid;
  grid-template-columns: 340px minmax(0, var(--article)) 300px;
  align-items: start;
  justify-content: center;
  column-gap: 56px;
  width: 100%;
  max-width: 1620px;
  margin: 0 auto;
  padding: 48px 24px 90px;
}

.tfgps-article-root .tfgps-article-sidebar {
  grid-column: 1;
}

.tfgps-article-root .tfgps-article-body {
  grid-column: 2;
}

.tfgps-article-root .tfgps-article-sidebar {
  position: sticky;
  top: calc(var(--tfgps-nav-height) + 18px);
  align-self: start;
  min-width: 0;
  height: fit-content;
}

.tfgps-article-root .tfgps-sidebar-sticky {
  position: static;
}

/* LEFT SIDEBAR: FULL TOC, NO INTERNAL SCROLL */
.tfgps-article-root .tfgps-toc {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line-soft);
}

.tfgps-article-root .tfgps-sidebar-label {
  margin: 0 0 10px;
  color: var(--gold);
  font: 700 12.5px / 1.2 var(--display);
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.tfgps-article-root .tfgps-toc ol {
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  list-style: none;
}

.tfgps-article-root .tfgps-toc li {
  margin: 0;
  padding: 0;
}

.tfgps-article-root .tfgps-toc a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  padding: 1.5px 0;
  color: var(--muted);
  font: 400 24px / 1.10 var(--display);
  text-decoration: none;
  transition: color 0.2s ease;
}

.tfgps-article-root .tfgps-toc a:hover {
  color: var(--cream-light);
}

.tfgps-article-root .tfgps-toc a > span:last-child {
  white-space: nowrap;
}

.tfgps-article-root .tfgps-toc-num {
  color: var(--gold-deep);
  font-size: 12.5px;
  letter-spacing: 0.08em;
}

/* ARTICLE BODY */
.tfgps-article-root .tfgps-article-body {
  min-width: 0;
}

.tfgps-article-root .tfgps-article-body p {
  margin: 0 0 24px;
}

.tfgps-article-root .tfgps-article-body a {
  color: var(--gold-light);
  text-decoration: underline;
  text-decoration-color: rgba(232, 166, 80, 0.62);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.tfgps-article-root .tfgps-article-body a:hover {
  color: var(--cream-light);
  text-decoration-color: var(--cream-light);
}

/* ARTICLE IMAGES */
.tfgps-article-root .tfgps-figure {
  width: 100%;
  max-width: 100%;
  margin: 48px 0 56px;
}

.tfgps-article-root .tfgps-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border: 1px solid var(--line);
  background: var(--garnet-deep);
}

.tfgps-article-root .tfgps-figure figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.58;
  font-style: italic;
}

.tfgps-article-root .tfgps-direct-answer {
  position: relative;
  margin: 0 0 36px;
  padding: 30px 34px;
  border: 1px solid rgba(200, 130, 42, 0.58);
  background: rgba(200, 130, 42, 0.04);
}

.tfgps-article-root .tfgps-direct-answer::before {
  content: "";
  position: absolute;
  left: -1px;
  top: -1px;
  width: 40px;
  height: 1px;
  background: var(--cream-light);
}

.tfgps-article-root .tfgps-direct-label,
.tfgps-article-root .tfgps-summary-kicker {
  margin-bottom: 9px;
  color: var(--gold);
  font: 700 11.5px / 1.35 var(--display);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tfgps-article-root .tfgps-direct-copy {
  margin: 0 !important;
  color: var(--cream-light);
  font: 700 24px / 1.48 var(--display);
}

.tfgps-article-root .tfgps-key-takeaways {
  margin: 34px 0 44px;
  padding: 32px 34px;
  border: 1px solid rgba(200, 130, 42, 0.34);
  background: linear-gradient(180deg, rgba(58, 15, 24, 0.56), rgba(42, 13, 18, 0.36));
}

.tfgps-article-root .tfgps-key-takeaways h2 {
  margin: 0 0 18px !important;
  color: var(--cream-light);
  font: 700 30px / 1.12 var(--display);
}

.tfgps-article-root .tfgps-key-takeaways ul {
  margin: 0;
  padding-left: 20px;
}

.tfgps-article-root .tfgps-key-takeaways li {
  margin: 0 0 13px;
  color: var(--cream);
  font-size: 16px;
  line-height: 1.72;
}

.tfgps-article-root .tfgps-key-takeaways li:last-child {
  margin-bottom: 0;
}

.tfgps-article-root .tfgps-key-takeaways li::marker {
  color: var(--gold);
}

.tfgps-article-root .tfgps-key-takeaways strong {
  color: var(--cream-light);
}

.tfgps-article-root .tfgps-section {
  margin: 56px 0 0;
  scroll-margin-top: calc(var(--tfgps-nav-height) + var(--tfgps-anchor-gap));
}

.tfgps-article-root .tfgps-section > h2,
.tfgps-article-root .tfgps-faq-title {
  margin: 0 0 24px;
  color: var(--cream-light);
  font: 700 36px / 1.12 var(--display);
}

.tfgps-article-root .tfgps-section > h2::after,
.tfgps-article-root .tfgps-faq-title::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  margin-top: 13px;
  background: linear-gradient(90deg, var(--gold), transparent);
}

.tfgps-article-root .tfgps-section h3 {
  margin: 34px 0 12px;
  color: var(--gold);
  font: 700 25px / 1.25 var(--display);
}

.tfgps-article-root .tfgps-section strong {
  color: var(--cream-light);
}

.tfgps-article-root .tfgps-quote-band {
  position: relative;
  width: 100%;
  margin: 58px 0;
  padding: 52px 42px;
  overflow: hidden;
  border-top: 1px solid rgba(200, 130, 42, 0.4);
  border-bottom: 1px solid rgba(200, 130, 42, 0.4);
  background:
    radial-gradient(ellipse at center, rgba(200, 130, 42, 0.10), transparent 62%),
    var(--garnet-deep);
  text-align: center;
}

.tfgps-article-root .tfgps-quote-band blockquote,
.tfgps-article-root .tfgps-quote-band p {
  max-width: 840px;
  margin: 0 auto !important;
  color: var(--cream-light);
  font: italic 36px / 1.42 var(--display);
}

.tfgps-article-root .tfgps-quote-band blockquote {
  quotes: none;
}

.tfgps-article-root .tfgps-quote-band blockquote::before {
  content: "“";
  margin-right: 0.05em;
  color: var(--gold);
}

.tfgps-article-root .tfgps-quote-band blockquote::after {
  content: "”";
  margin-left: 0.05em;
  color: var(--gold);
}

.tfgps-article-root .tfgps-number-framework {
  margin: 30px 0 34px;
}

.tfgps-article-root .tfgps-number-card {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 20px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
}

.tfgps-article-root .tfgps-number-card:last-child {
  border-bottom: 1px solid var(--line-soft);
}

.tfgps-article-root .tfgps-number {
  color: var(--gold);
  font: 700 30px / 1 var(--display);
}

.tfgps-article-root .tfgps-number-card p {
  margin: 0 !important;
  color: var(--cream);
  font-size: 16.5px;
  line-height: 1.68;
}

.tfgps-article-root .tfgps-insight-a {
  position: relative;
  margin: 32px 0;
  padding: 28px 30px 28px 42px;
  border-left: 3px solid var(--gold);
  background: linear-gradient(90deg, rgba(200, 130, 42, 0.07), rgba(58, 15, 24, 0.16));
}

.tfgps-article-root .tfgps-insight-a::before {
  content: "✦";
  position: absolute;
  left: 15px;
  top: 29px;
  color: var(--gold-light);
  font-size: 14px;
}

.tfgps-article-root .tfgps-insight-a > strong {
  display: block;
  margin-bottom: 6px;
  color: var(--cream-light);
  font: 700 22px / 1.2 var(--display);
}

.tfgps-article-root .tfgps-insight-a p {
  margin: 0 !important;
  color: var(--cream);
  font-size: 15px;
  line-height: 1.66;
}

/* COMMON MYTHS LIST */
.tfgps-article-root .tfgps-myth-list {
  margin: 28px 0 0;
  padding-left: 24px;
}

.tfgps-article-root .tfgps-myth-list li {
  margin: 0 0 15px;
  padding-left: 4px;
  color: var(--cream);
  font-size: 16.5px;
  line-height: 1.72;
}

.tfgps-article-root .tfgps-myth-list li:last-child {
  margin-bottom: 0;
}

.tfgps-article-root .tfgps-myth-list li::marker {
  color: var(--gold);
}

/* FAQ */
.tfgps-article-root .tfgps-faq {
  margin: 70px 0 0;
  scroll-margin-top: calc(var(--tfgps-nav-height) + var(--tfgps-anchor-gap));
}

.tfgps-article-root .tfgps-faq-item {
  padding: 23px 0;
  border-top: 1px solid var(--line-soft);
}

.tfgps-article-root .tfgps-faq-item:last-child {
  border-bottom: 1px solid var(--line-soft);
}

.tfgps-article-root .tfgps-faq-item h3 {
  margin: 0 0 10px;
  color: var(--gold);
  font: 700 21px / 1.3 var(--display);
}

.tfgps-article-root .tfgps-faq-item p {
  margin: 0 0 18px !important;
  color: var(--cream);
  font-size: 16.5px;
  line-height: 1.78;
}

.tfgps-article-root .tfgps-faq-item p:last-child {
  margin-bottom: 0 !important;
}

/* MEDIUM DESKTOP */
@media (max-width: 1640px) and (min-width: 1421px) {
  .tfgps-article-root .tfgps-layout {
    grid-template-columns: 280px minmax(0, 780px) 240px;
    column-gap: 44px;
    max-width: 1420px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .tfgps-article-root .tfgps-toc a {
    font-size: 22px;
    line-height: 1.12;
  }

  .tfgps-article-root .tfgps-toc a > span:last-child {
    white-space: normal;
  }
}

/* COMPACT DESKTOP */
@media (max-width: 1420px) and (min-width: 1321px) {
  .tfgps-article-root .tfgps-layout {
    grid-template-columns: 240px minmax(0, 720px) 200px;
    column-gap: 36px;
    max-width: 1264px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .tfgps-article-root .tfgps-toc a {
    font-size: 20px;
    line-height: 1.14;
  }

  .tfgps-article-root .tfgps-toc a > span:last-child {
    white-space: normal;
  }
}

/* TABLET */
@media (max-width: 1320px) {
  .tfgps-article-root .tfgps-hero-inner {
    padding-left: 42px;
    padding-right: 42px;
  }

  .tfgps-article-root .tfgps-layout {
    grid-template-columns: 220px minmax(0, 1fr);
    column-gap: 54px;
    row-gap: 38px;
    padding-left: 42px;
    padding-right: 42px;
  }

  .tfgps-article-root .tfgps-article-body {
    grid-column: 2;
  }

  .tfgps-article-root .tfgps-article-sidebar {
    position: sticky;
    top: calc(var(--tfgps-nav-height) + 18px);
  }

  .tfgps-article-root .tfgps-toc a {
    font-size: 16px;
    line-height: 1.22;
  }

  .tfgps-article-root .tfgps-toc a > span:last-child {
    white-space: normal;
  }
}

/* SHORT DESKTOP VIEWPORTS: keep the full enlarged TOC visible above the fold */
@media (min-width: 1321px) and (max-height: 950px) {
  .tfgps-article-root .tfgps-hero-inner {
    padding-top: 34px;
    padding-bottom: 30px;
  }

  .tfgps-article-root .tfgps-breadcrumbs {
    margin-bottom: 16px;
  }

  .tfgps-article-root .tfgps-title {
    font-size: clamp(44px, 4.6vw, 60px);
  }

  .tfgps-article-root .tfgps-byline {
    margin-top: 18px;
  }

  .tfgps-article-root .tfgps-layout {
    padding-top: 34px;
  }
}

/* MOBILE */
@media (max-width: 760px) {
  .tfgps-article-root {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    font-size: 16.5px;
  }

  .tfgps-article-root .tfgps-hero-inner {
    padding: 38px 22px 34px;
  }

  .tfgps-article-root .tfgps-breadcrumbs {
    margin-bottom: 22px;
  }

  .tfgps-article-root .tfgps-title {
    font-size: clamp(40px, 12vw, 54px);
  }

  .tfgps-article-root .tfgps-byline {
    font-size: 14px;
  }

  .tfgps-article-root .tfgps-layout {
    display: block;
    padding: 36px 22px 64px;
  }

  .tfgps-article-root .tfgps-article-body {
    width: 100%;
  }

  .tfgps-article-root .tfgps-article-sidebar {
    position: static;
  }

  .tfgps-article-root .tfgps-article-sidebar {
    margin-bottom: 42px;
  }

  .tfgps-article-root .tfgps-toc a {
    padding: 5px 0;
    font-size: 14px;
    line-height: 1.35;
  }

  .tfgps-article-root .tfgps-toc a > span:last-child {
    white-space: normal;
  }

  .tfgps-article-root .tfgps-direct-answer {
    padding: 26px 24px;
  }

  .tfgps-article-root .tfgps-direct-copy {
    font-size: 22px;
  }

  .tfgps-article-root .tfgps-key-takeaways {
    padding: 24px 22px;
  }

  .tfgps-article-root .tfgps-key-takeaways li {
    font-size: 16px;
  }

  .tfgps-article-root .tfgps-section {
    margin-top: 46px;
  }

  .tfgps-article-root .tfgps-section > h2,
  .tfgps-article-root .tfgps-faq-title {
    font-size: 31px;
  }

  .tfgps-article-root .tfgps-section h3 {
    font-size: 23px;
  }

  .tfgps-article-root .tfgps-quote-band {
    margin-top: 46px;
    margin-bottom: 46px;
    padding: 45px 24px;
  }

  .tfgps-article-root .tfgps-quote-band blockquote,
  .tfgps-article-root .tfgps-quote-band p {
    font-size: 29px;
  }

  .tfgps-article-root .tfgps-number-card {
    grid-template-columns: 46px 1fr;
    gap: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tfgps-article-root * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* ADDITIVE VISUAL COMPONENT LIBRARY */
.tfgps-article-root .exhibit{margin:48px 0 56px}
.tfgps-article-root .exhibit-label{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--gold-light);font:700 11px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .exhibit-label::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.tfgps-article-root .exhibit-note{margin:-6px 0 18px!important;color:var(--dim);font-size:13px;line-height:1.55;font-style:italic}


/* Definition cards */


.tfgps-article-root .definition-a{position:relative;padding:31px 34px;border:1px solid rgba(200,130,42,.58);background:rgba(200,130,42,.04)}
.tfgps-article-root .definition-a::before, .tfgps-article-root .definition-a::after{content:"";position:absolute;width:38px;height:1px;background:var(--cream-light)}
.tfgps-article-root .definition-a::before{left:-1px;top:-1px}
.tfgps-article-root .definition-a::after{right:-1px;bottom:-1px}
.tfgps-article-root .def-kicker{margin-bottom:8px;color:var(--gold);font:700 11px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .def-title{margin:0 0 10px;color:var(--cream-light);font:700 29px/1.12 var(--display)}
.tfgps-article-root .def-copy{margin:0!important;color:var(--cream);font-size:16.5px;line-height:1.74}


.tfgps-article-root .definition-b{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(58,15,24,.55),rgba(28,10,8,.12))}
.tfgps-article-root .definition-b-term{padding:28px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}
.tfgps-article-root .definition-b-term small{color:var(--gold);font:700 10.5px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .definition-b-term strong{margin-top:8px;color:var(--cream-light);font:700 26px/1.08 var(--display)}
.tfgps-article-root .definition-b-body{padding:28px 30px}
.tfgps-article-root .definition-b-body p{margin:0!important;color:var(--cream);font-size:16px;line-height:1.76}


/* Comparison tables */


.tfgps-article-root .table-wrap{overflow-x:auto;border:1px solid var(--line-cream)}
.tfgps-article-root .comparison-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:680px}
.tfgps-article-root .comparison-table caption{padding:17px 20px;border-bottom:1px solid var(--line-cream);background:rgba(200,130,42,.05);color:var(--muted);font-size:15px;line-height:1.62;text-align:left}
.tfgps-article-root .comparison-table th, .tfgps-article-root .comparison-table td{padding:16px 18px;border-right:1px solid var(--line-cream);border-bottom:1px solid var(--line-cream);vertical-align:top;text-align:left}
.tfgps-article-root .comparison-table tr:last-child>*{border-bottom:0}
.tfgps-article-root .comparison-table tr>*:last-child{border-right:0}
.tfgps-article-root .comparison-table thead th{background:rgba(240,226,188,.05);color:var(--gold);font:700 12px/1.4 var(--display);letter-spacing:.13em;text-transform:uppercase}
.tfgps-article-root .comparison-table tbody th{color:var(--cream-light);font:700 17px/1.4 var(--display)}
.tfgps-article-root .comparison-table td{color:var(--cream);font-size:15.5px;line-height:1.65}


.tfgps-article-root .table-b{border-color:rgba(200,130,42,.36);background:linear-gradient(180deg,rgba(58,15,24,.24),transparent)}
.tfgps-article-root .table-b .comparison-table thead th:first-child{background:var(--garnet-deep)}
.tfgps-article-root .table-b .comparison-table thead th:not(:first-child){background:linear-gradient(180deg,rgba(200,130,42,.12),rgba(58,15,24,.12));color:var(--gold-light)}
.tfgps-article-root .table-b .comparison-table tbody th{background:rgba(15,5,4,.55)}
.tfgps-article-root .table-b .comparison-table tbody tr:hover td{background:rgba(200,130,42,.035)}


/* This vs that */


.tfgps-article-root .vs-a{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-cream)}
.tfgps-article-root .vs-a-panel{padding:30px 30px 28px}
.tfgps-article-root .vs-a-panel+ .vs-a-panel{border-left:1px solid var(--line-cream);background:rgba(240,226,188,.035)}
.tfgps-article-root .vs-tag{display:inline-block;margin-bottom:12px;color:var(--gold);font:700 10.5px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .vs-title{margin:0 0 12px;color:var(--cream-light);font:700 27px/1.12 var(--display)}
.tfgps-article-root .vs-a-panel p{margin:0!important;color:var(--cream);font-size:15.5px;line-height:1.72}


.tfgps-article-root .vs-b{position:relative;padding:8px 0}
.tfgps-article-root .vs-b::before{content:"VS";position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;background:var(--garnet-deep);color:var(--gold-light);font:700 12px/1 var(--display);letter-spacing:.1em}
.tfgps-article-root .vs-b-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-soft)}
.tfgps-article-root .vs-b-row:last-child{border-bottom:1px solid var(--line-soft)}
.tfgps-article-root .vs-b-cell{padding:19px 32px;color:var(--cream);font-size:15.5px;line-height:1.62}
.tfgps-article-root .vs-b-cell:first-child{text-align:right;padding-right:42px}
.tfgps-article-root .vs-b-cell:last-child{padding-left:42px;border-left:1px solid var(--line-soft)}
.tfgps-article-root .vs-b-cell strong{display:block;margin-bottom:4px;color:var(--cream-light);font:700 18px/1.25 var(--display)}


/* Numbered frameworks */


.tfgps-article-root .framework-a{border-top:1px solid var(--line-soft)}
.tfgps-article-root .framework-a-item{display:grid;grid-template-columns:58px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line-soft)}
.tfgps-article-root .framework-a-num{color:var(--gold);font:700 32px/1 var(--display)}
.tfgps-article-root .framework-a-title{margin-bottom:5px;color:var(--cream-light);font:700 20px/1.25 var(--display)}
.tfgps-article-root .framework-a-copy{color:var(--cream);font-size:15.5px;line-height:1.68}


.tfgps-article-root .framework-b{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-cream)}
.tfgps-article-root .framework-b-step{position:relative;padding:28px 20px 24px;text-align:center}
.tfgps-article-root .framework-b-step+ .framework-b-step{border-left:1px solid var(--line-cream)}
.tfgps-article-root .framework-b-step::after{content:"";position:absolute;right:-5px;top:39px;z-index:2;width:9px;height:9px;border-top:1px solid var(--gold);border-right:1px solid var(--gold);transform:rotate(45deg);background:var(--garnet)}
.tfgps-article-root .framework-b-step:last-child::after{display:none}
.tfgps-article-root .framework-b-num{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 13px;border:1px solid rgba(200,130,42,.5);border-radius:50%;color:var(--gold-light);font:700 16px/1 var(--display)}
.tfgps-article-root .framework-b-title{color:var(--cream-light);font:700 18px/1.22 var(--display)}
.tfgps-article-root .framework-b-copy{margin-top:8px;color:var(--muted);font-size:13.5px;line-height:1.55}


/* Cause and effect */


.tfgps-article-root .cause-a{border:1px solid var(--line-cream)}
.tfgps-article-root .cause-a-row{display:grid;grid-template-columns:1fr 64px 1fr;align-items:stretch}
.tfgps-article-root .cause-a-row+ .cause-a-row{border-top:1px solid var(--line-cream)}
.tfgps-article-root .cause-cell{padding:23px 26px}
.tfgps-article-root .cause-cell strong{display:block;margin-bottom:5px;color:var(--cream-light);font:700 19px/1.25 var(--display)}
.tfgps-article-root .cause-cell span{color:var(--cream);font-size:14.5px;line-height:1.62}
.tfgps-article-root .cause-arrow{display:grid;place-items:center;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);color:var(--gold);font:700 24px/1 var(--display);background:rgba(200,130,42,.035)}


.tfgps-article-root .cause-b{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.tfgps-article-root .cascade-card{position:relative;padding:24px 22px;border:1px solid var(--line);background:linear-gradient(165deg,rgba(58,15,24,.55),rgba(15,5,4,.25))}
.tfgps-article-root .cascade-card:not(:last-child)::after{content:"→";position:absolute;right:-23px;top:50%;transform:translateY(-50%);z-index:3;color:var(--gold-light);font:700 22px/1 var(--display)}
.tfgps-article-root .cascade-label{color:var(--gold);font:700 10px/1.35 var(--display);letter-spacing:.16em;text-transform:uppercase}
.tfgps-article-root .cascade-title{margin:7px 0 7px;color:var(--cream-light);font:700 21px/1.2 var(--display)}
.tfgps-article-root .cascade-copy{color:var(--muted);font-size:13.8px;line-height:1.6}


/* Timelines */


.tfgps-article-root .timeline-a{position:relative;padding-left:32px}
.tfgps-article-root .timeline-a::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:linear-gradient(var(--gold),var(--line),var(--gold-deep))}
.tfgps-article-root .timeline-a-item{position:relative;padding:0 0 30px 24px}
.tfgps-article-root .timeline-a-item:last-child{padding-bottom:0}
.tfgps-article-root .timeline-a-item::before{content:"";position:absolute;left:-30px;top:7px;width:13px;height:13px;border:1px solid var(--gold);border-radius:50%;background:var(--garnet)}
.tfgps-article-root .timeline-time{color:var(--gold);font:700 11px/1.35 var(--display);letter-spacing:.14em;text-transform:uppercase}
.tfgps-article-root .timeline-title{margin-top:5px;color:var(--cream-light);font:700 21px/1.2 var(--display)}
.tfgps-article-root .timeline-copy{margin-top:5px;color:var(--cream);font-size:14.5px;line-height:1.64}


.tfgps-article-root .timeline-b{position:relative;display:grid;grid-template-columns:repeat(5,1fr);padding-top:42px}
.tfgps-article-root .timeline-b::before{content:"";position:absolute;left:8%;right:8%;top:20px;height:1px;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--gold-deep))}
.tfgps-article-root .timeline-b-step{position:relative;padding:16px 14px 20px;text-align:center}
.tfgps-article-root .timeline-b-step::before{content:"";position:absolute;top:-29px;left:50%;transform:translateX(-50%);width:12px;height:12px;border:1px solid var(--gold);border-radius:50%;background:var(--garnet-deep)}
.tfgps-article-root .timeline-b-step:nth-child(odd){background:rgba(58,15,24,.25)}
.tfgps-article-root .timeline-b-label{color:var(--gold);font:700 10px/1.35 var(--display);letter-spacing:.12em;text-transform:uppercase}
.tfgps-article-root .timeline-b-title{margin-top:7px;color:var(--cream-light);font:700 18px/1.2 var(--display)}
.tfgps-article-root .timeline-b-copy{margin-top:7px;color:var(--muted);font-size:12.8px;line-height:1.55}


/* Topic trees/maps */


.tfgps-article-root .tree-a{padding:30px;border:1px solid var(--line-cream);background:radial-gradient(circle at 50% 0%,rgba(200,130,42,.07),transparent 45%)}
.tfgps-article-root .tree-root{width:min(360px,100%);margin:0 auto;padding:17px 20px;border:1px solid var(--gold);background:var(--garnet-mid);text-align:center;color:var(--cream-light);font:700 22px/1.2 var(--display)}
.tfgps-article-root .tree-trunk{width:1px;height:28px;margin:0 auto;background:var(--gold)}
.tfgps-article-root .tree-branches{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:28px}
.tfgps-article-root .tree-branches::before{content:"";position:absolute;left:16.66%;right:16.66%;top:0;height:1px;background:var(--gold)}
.tfgps-article-root .tree-node{position:relative;padding:18px 16px;border:1px solid var(--line);background:rgba(42,13,18,.7);text-align:center}
.tfgps-article-root .tree-node::before{content:"";position:absolute;left:50%;top:-28px;width:1px;height:28px;background:var(--gold)}
.tfgps-article-root .tree-node strong{display:block;color:var(--cream-light);font:700 18px/1.2 var(--display)}
.tfgps-article-root .tree-node span{display:block;margin-top:6px;color:var(--muted);font-size:12.8px;line-height:1.5}


.tfgps-article-root .map-b{position:relative;min-height:440px;border:1px solid var(--line-cream);background:radial-gradient(circle at center,rgba(200,130,42,.08),transparent 42%)}
.tfgps-article-root .map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:170px;height:170px;border:1px solid var(--gold);border-radius:50%;background:var(--garnet-mid);color:var(--cream-light);text-align:center;font:700 23px/1.14 var(--display);box-shadow:0 0 0 16px rgba(200,130,42,.035)}
.tfgps-article-root .map-node{position:absolute;width:190px;padding:17px 16px;border:1px solid var(--line);background:var(--garnet-panel);text-align:center;color:var(--cream-light);font:700 17px/1.2 var(--display)}
.tfgps-article-root .map-node span{display:block;margin-top:5px;color:var(--muted);font:400 12.5px/1.45 var(--body)}
.tfgps-article-root .map-node::after{content:"";position:absolute;background:var(--line)}
.tfgps-article-root .map-n1{left:6%;top:10%}
.tfgps-article-root .map-n2{right:6%;top:10%}
.tfgps-article-root .map-n3{left:6%;bottom:10%}
.tfgps-article-root .map-n4{right:6%;bottom:10%}


/* Flow */


.tfgps-article-root .flow-a{display:flex;align-items:stretch;border:1px solid var(--line-cream);overflow:hidden}
.tfgps-article-root .flow-a-step{position:relative;flex:1;padding:24px 24px 22px;background:rgba(58,15,24,.25)}
.tfgps-article-root .flow-a-step+ .flow-a-step{border-left:1px solid var(--line-cream)}
.tfgps-article-root .flow-a-step:not(:last-child)::after{content:"";position:absolute;right:-12px;top:50%;z-index:3;width:22px;height:22px;transform:translateY(-50%) rotate(45deg);border-top:1px solid var(--line-cream);border-right:1px solid var(--line-cream);background:var(--garnet-panel)}
.tfgps-article-root .flow-a-label{color:var(--gold);font:700 10px/1.35 var(--display);letter-spacing:.14em;text-transform:uppercase}
.tfgps-article-root .flow-a-title{margin-top:6px;color:var(--cream-light);font:700 19px/1.2 var(--display)}
.tfgps-article-root .flow-a-copy{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.52}


.tfgps-article-root .flow-b{border:1px solid var(--line-cream)}
.tfgps-article-root .flow-b-row{display:grid;grid-template-columns:130px 1fr;min-height:76px}
.tfgps-article-root .flow-b-row+ .flow-b-row{border-top:1px solid var(--line-cream)}
.tfgps-article-root .flow-b-stage{display:flex;align-items:center;padding:15px 18px;border-right:1px solid var(--line-cream);background:rgba(15,5,4,.55);color:var(--gold);font:700 11px/1.35 var(--display);letter-spacing:.14em;text-transform:uppercase}
.tfgps-article-root .flow-b-content{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:15px 20px}
.tfgps-article-root .flow-b-content strong{color:var(--cream-light);font:700 18px/1.2 var(--display)}
.tfgps-article-root .flow-b-content span{color:var(--muted);font-size:13.5px;line-height:1.55}
.tfgps-article-root .gate{padding:6px 9px;border:1px solid rgba(200,130,42,.45);color:var(--gold-light)!important;font:700 9.5px/1 var(--display)!important;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}


/* Myth/reality */


.tfgps-article-root .myth-a{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tfgps-article-root .myth-card{padding:26px;border:1px solid var(--line-cream)}
.tfgps-article-root .myth-card.myth{background:rgba(126,112,88,.06)}
.tfgps-article-root .myth-card.reality{background:linear-gradient(150deg,rgba(58,15,24,.55),rgba(200,130,42,.035));border-color:rgba(200,130,42,.4)}
.tfgps-article-root .myth-label{color:var(--muted);font:700 10px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .reality .myth-label{color:var(--gold)}
.tfgps-article-root .myth-card h4{margin:8px 0 10px;color:var(--cream-light);font:700 23px/1.18 var(--display)}
.tfgps-article-root .myth-card p{margin:0!important;color:var(--cream);font-size:14.5px;line-height:1.65}


.tfgps-article-root .myth-b{border-top:1px solid var(--line-soft)}
.tfgps-article-root .myth-b-item{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line-soft)}
.tfgps-article-root .myth-status{align-self:start;padding:7px 10px;border:1px solid var(--line);color:var(--gold-light);font:700 9.5px/1.2 var(--display);letter-spacing:.13em;text-transform:uppercase;text-align:center}
.tfgps-article-root .myth-b-content strong{display:block;margin-bottom:5px;color:var(--cream-light);font:700 19px/1.24 var(--display)}
.tfgps-article-root .myth-b-content span{color:var(--cream);font-size:14.5px;line-height:1.62}


/* Decision support */


.tfgps-article-root .matrix{overflow-x:auto;border:1px solid var(--line-cream)}
.tfgps-article-root .matrix table{width:100%;min-width:680px;border-collapse:collapse}
.tfgps-article-root .matrix th, .tfgps-article-root .matrix td{padding:15px 16px;border-right:1px solid var(--line-cream);border-bottom:1px solid var(--line-cream);text-align:left;vertical-align:middle}
.tfgps-article-root .matrix tr:last-child>*{border-bottom:0}
.tfgps-article-root .matrix tr>*:last-child{border-right:0}
.tfgps-article-root .matrix thead th{color:var(--gold);font:700 11px/1.35 var(--display);letter-spacing:.12em;text-transform:uppercase;background:rgba(200,130,42,.05)}
.tfgps-article-root .matrix tbody th{color:var(--cream-light);font:700 16px/1.35 var(--display)}
.tfgps-article-root .matrix td{color:var(--cream);font-size:14px;line-height:1.5}
.tfgps-article-root .score{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid var(--line);color:var(--gold-light);font:700 11px/1 var(--display)}


.tfgps-article-root .decision-tree{display:grid;gap:14px}
.tfgps-article-root .decision-question{padding:22px;border:1px solid var(--gold);background:var(--garnet-mid);color:var(--cream-light);text-align:center;font:700 22px/1.25 var(--display)}
.tfgps-article-root .decision-branches{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tfgps-article-root .decision-branch{position:relative;padding:22px;border:1px solid var(--line);background:rgba(42,13,18,.62)}
.tfgps-article-root .decision-branch::before{display:inline-block;margin-bottom:8px;padding:4px 8px;border:1px solid var(--line);color:var(--gold);font:700 9px/1.2 var(--display);letter-spacing:.13em;text-transform:uppercase}
.tfgps-article-root .decision-branch.yes::before{content:"If yes"}
.tfgps-article-root .decision-branch.no::before{content:"If no"}
.tfgps-article-root .decision-branch strong{display:block;color:var(--cream-light);font:700 19px/1.25 var(--display)}
.tfgps-article-root .decision-branch span{display:block;margin-top:6px;color:var(--muted);font-size:13.5px;line-height:1.55}


/* Layered models */


.tfgps-article-root .layers-a{display:grid;gap:10px}
.tfgps-article-root .layer{position:relative;padding:20px 24px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(58,15,24,.6),rgba(28,10,8,.2))}
.tfgps-article-root .layer:nth-child(2){margin-left:34px}
.tfgps-article-root .layer:nth-child(3){margin-left:68px}
.tfgps-article-root .layer:nth-child(4){margin-left:102px}
.tfgps-article-root .layer-num{position:absolute;right:18px;top:15px;color:rgba(232,166,80,.18);font:700 44px/1 var(--display)}
.tfgps-article-root .layer strong{display:block;color:var(--cream-light);font:700 19px/1.2 var(--display)}
.tfgps-article-root .layer span{display:block;margin-top:5px;max-width:600px;color:var(--muted);font-size:13.5px;line-height:1.55}


.tfgps-article-root .pyramid{display:flex;flex-direction:column;align-items:center;gap:8px}
.tfgps-article-root .pyramid-tier{padding:17px 22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(58,15,24,.7),rgba(42,13,18,.55));text-align:center}
.tfgps-article-root .pyramid-tier:nth-child(1){width:42%}
.tfgps-article-root .pyramid-tier:nth-child(2){width:60%}
.tfgps-article-root .pyramid-tier:nth-child(3){width:78%}
.tfgps-article-root .pyramid-tier:nth-child(4){width:96%}
.tfgps-article-root .pyramid-tier strong{color:var(--cream-light);font:700 18px/1.2 var(--display)}
.tfgps-article-root .pyramid-tier span{display:block;margin-top:4px;color:var(--muted);font-size:12.8px;line-height:1.5}


/* Insight callouts */


.tfgps-article-root .insight-b{position:relative;padding:30px 34px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);text-align:center;background:radial-gradient(ellipse at center,rgba(200,130,42,.08),transparent 68%)}
.tfgps-article-root .insight-b .insight-kicker{color:var(--gold);font:700 10px/1.35 var(--display);letter-spacing:.18em;text-transform:uppercase}
.tfgps-article-root .insight-b strong{display:block;max-width:620px;margin:7px auto 0;color:var(--cream-light);font:italic 27px/1.36 var(--display)}


/* Optional CTA component */


.tfgps-article-root .lead-magnet-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;padding:34px 36px;border:1px solid rgba(200,130,42,.5);background:linear-gradient(140deg,rgba(58,15,24,.92),rgba(36,16,12,.84));box-shadow:0 18px 40px rgba(0,0,0,.22)}


.tfgps-article-root .lead-magnet-cta h3{margin:0 0 7px!important;color:var(--cream-light);font:700 28px/1.12 var(--display)}


.tfgps-article-root .lead-magnet-cta p{margin:0!important;max-width:610px;color:var(--muted);font-size:15.5px;line-height:1.7}


.tfgps-article-root .tfgps-article-body a.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  padding: 16px 26px;

  border: 1px solid var(--gold);
  background: linear-gradient(
    135deg,
    var(--gold-light),
    var(--gold) 55%,
    var(--gold-deep)
  );

  color: #FBF3E4;
  text-decoration: none;
  text-shadow: 0 1px 2px rgba(74, 28, 4, 0.55);

  font: 700 11.5px / 1.35 var(--body);
  letter-spacing: 0.16em;
  text-transform: uppercase;

  cursor: pointer;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease,
    border-color 0.18s ease;
}

.tfgps-article-root .tfgps-article-body a.button:hover {
  color: #FBF3E4;
  text-decoration: none;
  border-color: var(--gold-light);
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
}

.tfgps-article-root .tfgps-article-body a.button:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
}

.tfgps-article-root .tfgps-article-body a.button:focus-visible {
  color: #FBF3E4;
  text-decoration: none;
  outline: 1px solid var(--cream-light);
  outline-offset: 4px;
}

/* ADDITIVE VISUAL COMPONENT RESPONSIVE RULES */
@media (max-width: 900px) {
  .tfgps-article-root .framework-b{grid-template-columns:1fr 1fr}


  .tfgps-article-root .framework-b-step:nth-child(3){border-left:0;border-top:1px solid var(--line-cream)}


  .tfgps-article-root .framework-b-step:nth-child(4){border-top:1px solid var(--line-cream)}


  .tfgps-article-root .framework-b-step::after{display:none}


  .tfgps-article-root .timeline-b{grid-template-columns:1fr}


  .tfgps-article-root .timeline-b::before{display:none}


  .tfgps-article-root .timeline-b-step{padding:18px 18px;text-align:left;border-top:1px solid var(--line-soft)}


  .tfgps-article-root .timeline-b-step::before{display:none}


  .tfgps-article-root .map-b{min-height:0;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:14px}


  .tfgps-article-root .map-center, .tfgps-article-root .map-node{position:static;transform:none;width:auto;height:auto;border-radius:0}


  .tfgps-article-root .map-center{grid-column:1/-1;padding:22px}


  .tfgps-article-root .cause-b{grid-template-columns:1fr}


  .tfgps-article-root .cascade-card:not(:last-child)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-24px;transform:translateX(-50%)}


  .tfgps-article-root .flow-a{display:grid}


  .tfgps-article-root .flow-a-step+ .flow-a-step{border-left:0;border-top:1px solid var(--line-cream)}


  .tfgps-article-root .flow-a-step::after{display:none}
}

@media (max-width: 680px) {
  .tfgps-article-root .lead-magnet-cta{grid-template-columns:1fr;padding:26px 22px}


  .tfgps-article-root .tfgps-article-body a.button{justify-self:start}


  .tfgps-article-root .definition-b{grid-template-columns:1fr}


  .tfgps-article-root .definition-b-term{border-right:0;border-bottom:1px solid var(--line)}


  .tfgps-article-root .vs-a, .tfgps-article-root .myth-a, .tfgps-article-root .decision-branches{grid-template-columns:1fr}


  .tfgps-article-root .vs-a-panel+ .vs-a-panel{border-left:0;border-top:1px solid var(--line-cream)}


  .tfgps-article-root .vs-b::before{display:none}


  .tfgps-article-root .vs-b-row{grid-template-columns:1fr}


  .tfgps-article-root .vs-b-cell:first-child{text-align:left;padding:17px 20px}


  .tfgps-article-root .vs-b-cell:last-child{padding:17px 20px;border-left:0;border-top:1px solid var(--line-soft)}


  .tfgps-article-root .framework-b{grid-template-columns:1fr}


  .tfgps-article-root .framework-b-step+ .framework-b-step{border-left:0;border-top:1px solid var(--line-cream)}


  .tfgps-article-root .cause-a-row{grid-template-columns:1fr}


  .tfgps-article-root .cause-arrow{padding:9px;border-left:0;border-right:0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);font-size:0}


  .tfgps-article-root .cause-arrow::before{content:"↓";font-size:21px}


  .tfgps-article-root .tree-branches{grid-template-columns:1fr;padding-top:0}


  .tfgps-article-root .tree-branches::before, .tfgps-article-root .tree-node::before, .tfgps-article-root .tree-trunk{display:none}


  .tfgps-article-root .tree-node{margin-top:10px}


  .tfgps-article-root .map-b{grid-template-columns:1fr}


  .tfgps-article-root .map-center{grid-column:auto}


  .tfgps-article-root .flow-b-row{grid-template-columns:1fr}


  .tfgps-article-root .flow-b-stage{border-right:0;border-bottom:1px solid var(--line-cream)}


  .tfgps-article-root .flow-b-content{grid-template-columns:1fr}


  .tfgps-article-root .myth-b-item{grid-template-columns:1fr;gap:10px}


  .tfgps-article-root .myth-status{justify-self:start}


  .tfgps-article-root .layers-a .layer{margin-left:0!important}


  .tfgps-article-root .pyramid-tier{width:100%!important}
}

/* =========================================================
   GLOBAL SITE FOOTER
   ========================================================= */

.tfgps-site-footer,
.tfgps-site-footer *,
.tfgps-site-footer *::before,
.tfgps-site-footer *::after {
  box-sizing: border-box;
}

.tfgps-site-footer {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  border-top: 1px solid rgba(200, 130, 42, 0.16);
  background: #1C0A06;
  color: #E8D5B0;
  font-family: "Lora", Georgia, serif;
}

.tfgps-footer-inner {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 60px 34px 32px;
}

.tfgps-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 56px;
  margin: 0 0 48px;
}

.tfgps-footer-column {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.tfgps-footer-title {
  margin: 0 0 18px;
  color: #C8822A;
  font: 700 12px / 1.3 "Cormorant Garamond", Georgia, serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.tfgps-footer-navigation {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

.tfgps-footer-navigation a {
  color: #EFDFBB;
  font-family: "Lora", Georgia, serif;
  font-size: 14px;
  line-height: 1.55;
  text-decoration: none;
  transition: color 0.18s ease;
}

.tfgps-footer-navigation a:hover {
  color: #E8A650;
  text-decoration: none;
}

.tfgps-footer-navigation a:focus-visible {
  outline: 1px solid #E8A650;
  outline-offset: 4px;
}

.tfgps-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin: 0;
  padding: 24px 0 0;
  border-top: 1px solid rgba(232, 213, 176, 0.12);
}

.tfgps-footer-credentials,
.tfgps-footer-copyright {
  margin: 0;
  color: #A0937A;
  font-size: 11px;
  line-height: 1.6;
}

.tfgps-footer-credentials {
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.tfgps-footer-copyright {
  white-space: nowrap;
}


/* TABLET */

@media (max-width: 900px) {
  .tfgps-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 42px 56px;
  }
}


/* MOBILE */

@media (max-width: 760px) {
  .tfgps-footer-inner {
    padding: 48px 22px 28px;
  }

  .tfgps-footer-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    margin-bottom: 40px;
  }

  .tfgps-footer-title {
    margin-bottom: 14px;
  }

  .tfgps-footer-navigation {
    gap: 7px;
  }

  .tfgps-footer-navigation a {
    font-size: 14px;
  }

  .tfgps-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .tfgps-footer-credentials {
    font-size: 10px;
    letter-spacing: 0.1em;
  }

  .tfgps-footer-copyright {
    font-size: 10px;
    white-space: normal;
  }
}

/* =========================================================
   LIBRARY HOMEPAGE
   Extracted from the Library homepage inline stylesheet.
   Shared navigation is intentionally NOT scoped here.
   ========================================================= */

    .TFGPS-Library-page,
    .TFGPS-Library-page *,
    .TFGPS-Library-page *::before,
    .TFGPS-Library-page *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    .TFGPS-Library-root {
      width: 100%;
      max-width: 100%;
      overflow-x: hidden;
      overflow-x: clip;
      font-family: 'Lora', Georgia, serif;
      background: #1C0A08;
      color: #E8D5B0;
    }

    .TFGPS-Library-page a {
      color: inherit;
      text-decoration: none;
    }

    .TFGPS-Library-page a:focus-visible {
      outline: 1px solid #C8822A;
      outline-offset: 4px;
    }

    .TFGPS-Library-page {
      width: 100%;
      background: #1C0A08;
      color: #E8D5B0;
      overflow: visible;
    }

    .TFGPS-Library-design-note {
      background: #1C0A08;
      border: 1px solid rgba(200, 130, 42, 0.2);
      padding: 10px 80px;
      font-size: 11px;
      color: #8F785D;
      font-style: italic;
      line-height: 1.6;
    }

    .TFGPS-Library-design-note strong {
      color: #C8822A;
      font-style: normal;
      font-weight: 500;
    }
.TFGPS-Library-hero {
      padding: 64px 80px 48px;
      background:
        radial-gradient(circle at 74% 18%, rgba(200, 130, 42, 0.12), transparent 34%),
        linear-gradient(180deg, #1C0A08 0%, #24100C 100%);
      border-bottom: 1px solid rgba(200, 130, 42, 0.18);
    }

    .TFGPS-Library-hero-inner {
      max-width: 860px;
      margin: 0 auto;
    }

    .TFGPS-Library-eyebrow {
      font-family: 'Cormorant Garamond', serif;
      font-size: 10px;
      letter-spacing: 0.45em;
      text-transform: uppercase;
      color: #C8822A;
      margin-bottom: 16px;
      font-weight: 400;
    }

    .TFGPS-Library-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 52px;
      font-weight: 600;
      color: #E8D5B0;
      margin-bottom: 12px;
      line-height: 1.1;
    }

    .TFGPS-Library-subtitle {
      font-size: 15px;
      color: #BCA98D;
      font-style: italic;
      line-height: 1.7;
      max-width: 680px;
    }

    .TFGPS-Library-anchor-nav {
      background: #24100C;
      padding: 24px 80px;
      border-bottom: 1px solid rgba(200, 130, 42, 0.12);
    }

    .TFGPS-Library-anchor-inner {
      max-width: 860px;
      margin: 0 auto;
      display: flex;
      gap: 0;
      width: fit-content;
      border: 0.5px solid rgba(200, 130, 42, 0.3);
      border-radius: 2px;
      overflow: hidden;
    }

    .TFGPS-Library-anchor-link {
      padding: 10px 32px;
      font-family: 'Cormorant Garamond', serif;
      font-size: 11px;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: #BCA98D;
      background: transparent;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
    }

    .TFGPS-Library-anchor-link:first-child {
      background: rgba(58, 15, 24, 0.55);
      color: #E8D5B0;
    }

    .TFGPS-Library-anchor-link:not(:last-child) {
      border-right: 0.5px solid rgba(200, 130, 42, 0.3);
    }

    .TFGPS-Library-anchor-note {
      font-size: 10px;
      color: #8F785D;
      font-style: italic;
      margin: 10px auto 0;
      max-width: 860px;
      line-height: 1.6;
    }

    .TFGPS-Library-read-first {
      background:
        radial-gradient(ellipse at 80% 0%, rgba(139, 90, 26, 0.14) 0%, rgba(28, 10, 8, 0) 55%),
        #24100C;
      border-bottom: 1px solid rgba(200, 130, 42, 0.15);
    }

    .TFGPS-Library-read-first-inner {
      max-width: 860px;
      margin: 0 auto;
      padding: 56px 80px;
    }

    .TFGPS-Library-section-label {
      font-family: 'Cormorant Garamond', serif;
      font-size: 10px;
      letter-spacing: 0.45em;
      text-transform: uppercase;
      color: #C8822A;
      margin-bottom: 8px;
      font-weight: 400;
    }

    .TFGPS-Library-section-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 32px;
      font-weight: 600;
      color: #E8D5B0;
      margin-bottom: 8px;
      line-height: 1.15;
    }

    .TFGPS-Library-section-subtitle {
      font-size: 14px;
      color: #BCA98D;
      font-style: italic;
      margin-bottom: 36px;
      line-height: 1.7;
    }

    .TFGPS-Library-read-first-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1px;
      background: rgba(200, 130, 42, 0.12);
    }

    .TFGPS-Library-read-first-tile {
      background: #1C0A08;
      padding: 22px 20px;
      display: block;
      transition: background 0.2s ease, color 0.2s ease;
      min-height: 130px;
    }

    .TFGPS-Library-read-first-tile:hover {
      background:
        radial-gradient(circle at 82% 18%, rgba(200, 130, 42, 0.10), transparent 38%),
        #2A120D;
    }

    .TFGPS-Library-read-first-number {
      font-family: 'Cormorant Garamond', serif;
      font-size: 10px;
      letter-spacing: 0.3em;
      color: #c8822a;
      margin-bottom: 8px;
    }

    .TFGPS-Library-read-first-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 15px;
      font-weight: 600;
      color: #E0CDA8;
      line-height: 1.35;
      margin-bottom: 8px;
    }

    .TFGPS-Library-read-first-tile:hover .TFGPS-Library-read-first-title {
      color: #C8822A;
    }

    .TFGPS-Library-read-first-cta {
      font-size: 10px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: #C8822A;
    }

    .TFGPS-Library-section {
      max-width: 860px;
      margin: 0 auto;
      padding: 56px 80px;
      background: #1C0A08;
    }

    .TFGPS-Library-build-note {
      background: #24100C;
      border-left: 2px solid #C8822A;
      padding: 14px 18px;
      margin: 28px 0;
      font-size: 13px;
      color: #BCA98D;
      line-height: 1.7;
      font-style: italic;
    }

    .TFGPS-Library-build-note strong {
      color: #C8822A;
      font-style: normal;
      font-size: 11px;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      display: block;
      margin-bottom: 6px;
      font-weight: 500;
    }

    .TFGPS-Library-accordion-group {
      margin-bottom: 28px;
    }

    .TFGPS-Library-accordion-group-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 11px;
      letter-spacing: 0.25em;
      text-transform: uppercase;
      color: #C8822A;
      margin-bottom: 10px;
      padding-bottom: 6px;
      border-bottom: 0.5px solid rgba(200, 130, 42, 0.12);
      font-weight: 400;
    }

    .TFGPS-Library-accordion-item {
      border-bottom: 0.5px solid rgba(200, 130, 42, 0.1);
    }

    .TFGPS-Library-accordion-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 14px 0;
      gap: 20px;
    }

    .TFGPS-Library-accordion-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 17px;
      font-weight: 600;
      color: #E0CDA8;
      line-height: 1.3;
    }

    .TFGPS-Library-accordion-toggle {
      font-size: 18px;
      color: #C8822A;
      font-family: 'Cormorant Garamond', serif;
      flex-shrink: 0;
    }

    .TFGPS-Library-accordion-body {
      padding: 0 0 18px;
    }

    .TFGPS-Library-accordion-text {
      font-size: 14px;
      line-height: 1.85;
      color: #CDBB9B;
      margin-bottom: 10px;
    }

    .TFGPS-Library-accordion-link {
      font-size: 12px;
      color: #C8822A;
      letter-spacing: 0.1em;
      text-decoration: none;
    }

    .TFGPS-Library-divider {
      height: 1px;
      background: rgba(200, 130, 42, 0.12);
    }

    .TFGPS-Library-articles {
      background:
        radial-gradient(circle at 82% 14%, rgba(200, 130, 42, 0.10), transparent 34%),
        #24100C;
      border-top: 1px solid rgba(200, 130, 42, 0.16);
    }

    .TFGPS-Library-articles-inner {
      max-width: 860px;
      margin: 0 auto;
      padding: 56px 80px;
    }

    .TFGPS-Library-articles-grid {
      display: grid;
      grid-template-columns: 1fr 220px;
      gap: 56px;
      align-items: start;
    }

    .TFGPS-Library-cluster {
      margin-bottom: 44px;
      padding-bottom: 44px;
      border-bottom: 0.5px solid rgba(200, 130, 42, 0.1);
    }

    .TFGPS-Library-cluster:last-of-type {
      border-bottom: none;
      padding-bottom: 0;
    }

    .TFGPS-Library-cluster-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 20px;
      font-weight: 600;
      color: #E8D5B0;
      margin-bottom: 4px;
      line-height: 1.25;
    }

    .TFGPS-Library-cluster-description {
      font-size: 13px;
      color: #9F8A6F;
      font-style: italic;
      margin-bottom: 16px;
      line-height: 1.6;
    }

    .TFGPS-Library-article-list {
      display: flex;
      flex-direction: column;
      gap: 0;
      list-style: none;
    }

    .TFGPS-Library-article-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 0;
      border-bottom: 0.5px solid rgba(200, 130, 42, 0.07);
      gap: 12px;
    }

    .TFGPS-Library-article-row:last-child {
      border-bottom: none;
    }
    
    .TFGPS-Library-article-title {
      font-size: 14px;
      color: #CDBB9B;
      line-height: 1.4;
    }
    
    .TFGPS-Library-article-title a {
      color: #E0CDA8;
      text-decoration-color: currentColor;
      text-underline-offset: 3px;
      font-weight: 600;
      transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
    }

.TFGPS-Library-article-title a:hover {
  color: #D4B483;
  text-decoration-color: currentColor;
}

    .TFGPS-Library-article-number {
      font-size: 10px;
      color: #C8822A;
      background: rgba(200, 130, 42, 0.08);
      padding: 2px 8px;
      border-radius: 2px;
      white-space: nowrap;
      margin-left: 12px;
      flex-shrink: 0;
      font-family: 'Cormorant Garamond', serif;
      letter-spacing: 0.1em;
    }

    .TFGPS-Library-sidebar {
      background:
        linear-gradient(180deg, rgba(58, 15, 24, 0.35) 0%, rgba(28, 10, 8, 0.15) 100%),
        #24100C;
      border: 0.5px solid rgba(200, 130, 42, 0.22);
      padding: 22px;
      position: sticky;
      top: 100px;
    }

    .TFGPS-Library-sidebar-label {
      font-size: 9px;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      color: #C8822A;
      margin-bottom: 10px;
      font-family: 'Cormorant Garamond', serif;
    }

    .TFGPS-Library-sidebar-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 16px;
      font-weight: 600;
      color: #E8D5B0;
      margin-bottom: 8px;
      line-height: 1.3;
    }

    .TFGPS-Library-sidebar-body {
      font-size: 12px;
      color: #BCA98D;
      line-height: 1.65;
      margin-bottom: 16px;
      font-style: italic;
    }

    .TFGPS-Library-sidebar-button {
      display: block;
      width: 100%;
      background: linear-gradient(135deg, #E8A650, #C8822A 55%, #8B5A1A);
      border: 1px solid #C8822A;
      padding: 11px;
      font-family: 'Cormorant Garamond', serif;
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: #FBF3E4;
      text-shadow: 0 1px 2px rgba(74, 28, 4, 0.55);
      cursor: pointer;
      border-radius: 2px;
      text-align: center;
      font-weight: 600;
      transition: background 0.2s ease;
    }

    .TFGPS-Library-sidebar-button:hover {
      background: linear-gradient(135deg, #F0E2BC, #E8A650 55%, #C8822A);
    }

    .TFGPS-Library-section-footer-link {
      margin-top: 34px;
      text-align: center;
    }

    .TFGPS-Library-section-footer-link a {
      color: #C8822A;
      text-decoration: underline;
      text-decoration-color: currentColor;
      text-underline-offset: 4px;
      font-family: 'Cormorant Garamond', serif;
      font-size: 16px;
      font-weight: 600;
      transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
    }

    .TFGPS-Library-section-footer-link a:hover {
      color: #E8A650;
      text-decoration-color: currentColor;
    }

    .TFGPS-Library-footer {
      background: #24100C;
      border-top: 1px solid rgba(200, 130, 42, 0.18);
      padding: 36px 80px;
      display: flex;
      justify-content: space-between;
      gap: 30px;
      font-size: 11px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #9F8A6F;
    }

    @media (max-width: 980px) {
.TFGPS-Library-hero {
        padding: 48px 24px 36px;
      }

      .TFGPS-Library-hero-inner {
        width: 100%;
        max-width: 100%;
      }

      .TFGPS-Library-eyebrow {
        letter-spacing: 0.34em;
      }

      .TFGPS-Library-title {
        font-size: 38px;
        line-height: 1.08;
      }

      .TFGPS-Library-subtitle {
        font-size: 14px;
      }

      .TFGPS-Library-anchor-nav {
        padding: 20px 24px;
      }

      .TFGPS-Library-anchor-inner {
        width: 100%;
        max-width: 100%;
        flex-direction: column;
      }

      .TFGPS-Library-anchor-link {
        width: 100%;
        padding: 12px 14px;
        min-height: 40px;
        text-align: center;
      }

      .TFGPS-Library-anchor-link:not(:last-child) {
        border-right: none;
        border-bottom: 0.5px solid rgba(200, 130, 42, 0.3);
      }

      .TFGPS-Library-read-first-inner,
      .TFGPS-Library-section,
      .TFGPS-Library-articles-inner {
        width: 100%;
        max-width: 100%;
        padding: 40px 24px;
      }

      .TFGPS-Library-section-label {
        letter-spacing: 0.34em;
      }

      .TFGPS-Library-section-title {
        font-size: 31px;
        line-height: 1.14;
      }

      .TFGPS-Library-section-subtitle {
        margin-bottom: 32px;
      }

      .TFGPS-Library-read-first-grid {
        grid-template-columns: 1fr;
      }

      .TFGPS-Library-read-first-tile {
        min-height: auto;
      }

      .TFGPS-Library-read-first-title {
        font-size: 17px;
      }

      .TFGPS-Library-accordion-group-title {
        letter-spacing: 0.22em;
      }

      .TFGPS-Library-accordion-header {
        gap: 18px;
      }

      .TFGPS-Library-accordion-name {
        font-size: 18px;
      }

      .TFGPS-Library-articles-grid {
        grid-template-columns: 1fr;
        gap: 34px;
      }

      .TFGPS-Library-cluster {
        padding-bottom: 38px;
      }

      .TFGPS-Library-cluster-name {
        font-size: 22px;
        line-height: 1.2;
      }

      .TFGPS-Library-article-row {
        align-items: flex-start;
        padding: 11px 0;
      }

      .TFGPS-Library-article-title {
        flex: 1 1 auto;
        min-width: 0;
        line-height: 1.45;
      }

      .TFGPS-Library-article-number {
        margin-left: 0;
        margin-top: 2px;
      }

      .TFGPS-Library-sidebar {
        position: relative;
        top: auto;
      }

      .TFGPS-Library-sidebar-title {
        font-size: 20px;
      }

      .TFGPS-Library-sidebar-body {
        font-size: 13px;
      }

      .TFGPS-Library-sidebar-button {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 13px 14px;
        line-height: 1.35;
      }

      .TFGPS-Library-footer {
        padding: 24px;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        text-align: center;
        font-size: 10px;
        line-height: 1.6;
      }
    }

    @media (max-width: 390px) {
.TFGPS-Library-hero {
        padding: 44px 20px 34px;
      }

      .TFGPS-Library-anchor-nav,
      .TFGPS-Library-read-first-inner,
      .TFGPS-Library-section,
      .TFGPS-Library-articles-inner {
        padding-left: 20px;
        padding-right: 20px;
      }

      .TFGPS-Library-title {
        font-size: 35px;
      }

      .TFGPS-Library-section-title {
        font-size: 29px;
      }
    }

    @media (max-width: 1200px) {

      .TFGPS-Library-page,
      .TFGPS-Library-page * {
        max-width: 100%;
        overflow-wrap: break-word;
        word-break: normal;
        white-space: normal;
      }

      .TFGPS-Library-page {
        overflow-x: hidden;
      }
.TFGPS-Library-hero {
        padding: 48px 24px 36px;
      }

      .TFGPS-Library-hero-inner {
        width: 100%;
        max-width: 100%;
      }

      .TFGPS-Library-eyebrow {
        letter-spacing: 0.34em;
      }

      .TFGPS-Library-title {
        font-size: 38px;
        line-height: 1.08;
      }

      .TFGPS-Library-subtitle {
        font-size: 14px;
      }

      .TFGPS-Library-anchor-nav {
        padding: 20px 24px;
      }

      .TFGPS-Library-anchor-inner {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
      }

      .TFGPS-Library-anchor-link {
        width: 100%;
        padding: 12px 14px;
        min-height: 40px;
        text-align: center;
      }

      .TFGPS-Library-anchor-link:not(:last-child) {
        border-right: none;
        border-bottom: 0.5px solid rgba(200, 130, 42, 0.3);
      }

      .TFGPS-Library-read-first-inner,
      .TFGPS-Library-section,
      .TFGPS-Library-articles-inner {
        width: 100%;
        max-width: 100%;
        padding: 40px 24px;
      }

      .TFGPS-Library-section-label {
        letter-spacing: 0.34em;
      }

      .TFGPS-Library-section-title {
        font-size: 31px;
        line-height: 1.14;
      }

      .TFGPS-Library-section-subtitle {
        margin-bottom: 32px;
      }

      .TFGPS-Library-read-first-grid {
        display: flex;
        flex-direction: column;
        gap: 1px;
        width: 100%;
      }

      .TFGPS-Library-read-first-tile {
        width: 100%;
        min-height: auto;
      }

      .TFGPS-Library-read-first-title {
        font-size: 17px;
      }

      .TFGPS-Library-accordion-group-title {
        letter-spacing: 0.22em;
      }

      .TFGPS-Library-accordion-header {
        gap: 18px;
      }

      .TFGPS-Library-accordion-name {
        font-size: 18px;
      }

      .TFGPS-Library-articles-grid {
        display: flex;
        flex-direction: column;
        gap: 34px;
        width: 100%;
      }

      .TFGPS-Library-cluster {
        padding-bottom: 38px;
      }

      .TFGPS-Library-cluster-name {
        font-size: 22px;
        line-height: 1.2;
      }

      .TFGPS-Library-article-row {
        align-items: flex-start;
        padding: 11px 0;
        width: 100%;
      }

      .TFGPS-Library-article-title {
        flex: 1 1 auto;
        min-width: 0;
        line-height: 1.45;
      }

      .TFGPS-Library-article-number {
        margin-left: 0;
        margin-top: 2px;
      }

      .TFGPS-Library-sidebar {
        position: relative;
        top: auto;
        width: 100%;
      }

      .TFGPS-Library-sidebar-title {
        font-size: 20px;
      }

      .TFGPS-Library-sidebar-body {
        font-size: 13px;
      }

      .TFGPS-Library-sidebar-button {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 13px 14px;
        line-height: 1.35;
      }

      .TFGPS-Library-footer {
        padding: 24px;
        flex-direction: column;
        justify-content: center;
        gap: 10px;
        text-align: center;
        font-size: 10px;
        line-height: 1.6;
      }
    }

/* =========================================================
   DEFINITIONS PAGE
   Extracted from the Definitions page inline stylesheet.
   ========================================================= */
.def-root {
      --def-ember: #1C0A08;
      --def-garnet: #1C0A08;
      --def-garnet-deep: #24100C;
      --def-ivory: #E8D5B0;
      --def-ivory-warm: #F0E2BC;
      --def-ivory-soft: #E8A650;
      --def-amber: #C8822A;
      --def-body: #D0BE9C;
      --def-body-soft: #BCA98D;
      --def-muted: #9F8A6F;
      --def-rule-soft: rgba(200,130,42,0.18);
      --def-rule-faint: rgba(200,130,42,0.10);
      font-family: 'Lora', Georgia, serif;
      background: var(--def-garnet);
      color: var(--def-ivory);
      width: 100%;
      max-width: 100%;
      overflow-x: hidden;
      overflow-x: clip;
    }

    .def-main,
    .def-main *,
    .def-main *::before,
    .def-main *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    .def-main {
      width: 100%;
      background: var(--def-garnet);
    }

    .def-page-header {
      position: relative;
      z-index: 1;
    }

    .def-page-header::before {
      content: "";
      position: absolute;
      inset: 0 50%;
      width: 100vw;
      margin-left: -50vw;
      margin-right: -50vw;
      z-index: -1;
    }

    .def-page-header {
      padding: 96px 80px 72px;
      max-width: 1100px;
      margin: 0 auto;
    }

    .def-page-eyebrow {
      font-family: 'Cormorant Garamond', serif;
      font-size: 10px;
      letter-spacing: 0.45em;
      text-transform: uppercase;
      color: var(--def-amber);
      margin-bottom: 24px;
      font-weight: 600;
    }

    .def-page-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 72px;
      font-weight: 500;
      color: var(--def-ivory);
      line-height: 1.02;
      margin-bottom: 32px;
      letter-spacing: -0.012em;
    }

    .def-page-rule {
      width: 72px;
      height: 1px;
      background: var(--def-amber);
      margin-bottom: 32px;
    }

    .def-page-intro {
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px;
      font-style: italic;
      color: var(--def-ivory-soft);
      line-height: 1.65;
      max-width: 760px;
    }

    .def-definitions {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      padding: 48px 80px 96px;
    }

    .def-definitions::before {
      content: "";
      position: absolute;
      inset: 0 50%;
      width: 100vw;
      margin-left: -50vw;
      margin-right: -50vw;
      background:
        radial-gradient(ellipse at 80% 0%, rgba(139,90,26,0.14) 0%, rgba(36,16,12,0) 55%),
        #24100C;
      z-index: -1;
    }

    .def-category {
      margin-bottom: 72px;
    }

    .def-category:last-child {
      margin-bottom: 0;
    }

    .def-category-header {
      padding-bottom: 22px;
      margin-bottom: 28px;
      border-bottom: 1px solid var(--def-rule-soft);
    }

    .def-category-number {
      font-family: 'Cormorant Garamond', serif;
      font-size: 11px;
      letter-spacing: 0.4em;
      text-transform: uppercase;
      color: var(--def-amber);
      font-weight: 600;
      margin-bottom: 12px;
    }

    .def-category-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 36px;
      font-weight: 500;
      color: var(--def-ivory);
      line-height: 1.2;
      margin-bottom: 8px;
      letter-spacing: -0.005em;
    }

    .def-category-subtitle {
      font-family: 'Cormorant Garamond', serif;
      font-size: 16px;
      font-style: italic;
      color: var(--def-muted);
      line-height: 1.65;
      max-width: 720px;
    }

    .def-item {
      border-bottom: 0.5px solid var(--def-rule-faint);
    }

    .def-item:last-child {
      border-bottom: none;
    }

    .def-item summary {
      cursor: pointer;
      padding: 22px 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      list-style: none;
      transition: padding 0.2s ease;
    }

    .def-item summary::-webkit-details-marker {
      display: none;
    }

    .def-item summary:hover .def-term {
      color: var(--def-ivory);
    }

    .def-item summary:hover .def-toggle {
      color: var(--def-ivory);
      border-color: var(--def-ivory-soft);
    }

    .def-term {
      font-family: 'Cormorant Garamond', serif;
      font-size: 21px;
      font-weight: 600;
      color: var(--def-ivory-soft);
      line-height: 1.4;
      transition: color 0.2s;
      flex: 1;
      letter-spacing: -0.003em;
    }

    .def-toggle {
      font-family: 'Cormorant Garamond', serif;
      font-size: 22px;
      color: var(--def-amber);
      width: 32px;
      height: 32px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 0.5px solid var(--def-rule-soft);
      border-radius: 50%;
      flex-shrink: 0;
      transition: all 0.25s ease;
      line-height: 1;
      padding-bottom: 2px;
    }

    .def-item[open] .def-toggle {
      transform: rotate(45deg);
      color: var(--def-ivory);
      border-color: var(--def-ivory-soft);
    }

    .def-item[open] .def-term {
      color: var(--def-ivory);
    }

    .def-item[open] summary {
      padding-bottom: 14px;
      background: linear-gradient(90deg, rgba(200,130,42,0.04) 0%, rgba(200,130,42,0) 100%);
    }

    .def-definition-body {
      padding: 4px 56px 28px 0;
      max-width: 820px;
    }

    .def-definition-text {
      font-size: 16px;
      line-height: 1.95;
      color: var(--def-body);
      margin-bottom: 14px;
    }

    .def-definition-text strong {
      color: var(--def-ivory);
      font-weight: 500;
    }

    .def-definition-text em {
      color: var(--def-ivory-soft);
      font-style: italic;
    }

    .def-definition-link {
      font-size: 11px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--def-amber);
      text-decoration: none;
      border-bottom: 1px solid rgba(200,130,42,0.4);
      padding-bottom: 2px;
      display: inline-block;
      margin-top: 10px;
      transition: all 0.2s;
    }

    .def-definition-link:hover {
      color: var(--def-ivory);
      border-color: var(--def-ivory);
    }

    @media (max-width: 767px) {
      .def-root {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
      }

      .def-root * {
        max-width: 100%;
      }

      .def-main {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
      }

      .def-page-header {
        padding: 64px 28px 48px;
        max-width: none;
        margin: 0;
      }

      .def-page-eyebrow {
        font-size: 10px;
        letter-spacing: 0.42em;
        margin-bottom: 22px;
        line-height: 1.6;
      }

      .def-page-title {
        font-size: 48px;
        line-height: 1.02;
        margin-bottom: 28px;
      }

      .def-page-rule {
        width: 64px;
        margin-bottom: 28px;
      }

      .def-page-intro {
        font-size: 18px;
        line-height: 1.8;
        max-width: none;
      }

      .def-definitions {
        padding: 32px 28px 72px;
        max-width: none;
        margin: 0;
      }

      .def-category {
        margin-bottom: 56px;
      }

      .def-category-header {
        padding-bottom: 20px;
        margin-bottom: 24px;
      }

      .def-category-number {
        font-size: 10px;
        letter-spacing: 0.38em;
        margin-bottom: 10px;
      }

      .def-category-name {
        font-size: 28px;
        line-height: 1.18;
        margin-bottom: 10px;
      }

      .def-category-subtitle {
        font-size: 15px;
        line-height: 1.75;
        max-width: none;
      }

      .def-item summary {
        padding: 20px 0;
        align-items: flex-start;
        gap: 18px;
      }

      .def-item[open] summary {
        padding-bottom: 14px;
      }

      .def-term {
        font-size: 20px;
        line-height: 1.4;
      }

      .def-toggle {
        width: 30px;
        height: 30px;
        margin-top: 2px;
      }

      .def-definition-body {
        padding: 2px 0 26px;
        max-width: none;
      }

      .def-definition-text {
        font-size: 15px;
        line-height: 1.95;
      }

      .def-definition-link {
        font-size: 10px;
      }
    }

    @media (max-width: 390px) {
      .def-page-header {
        padding: 60px 24px 44px;
      }

      .def-definitions {
        padding: 30px 24px 68px;
      }

      .def-page-title {
        font-size: 44px;
      }

      .def-page-intro {
        font-size: 17px;
      }

      .def-category-name {
        font-size: 27px;
      }
    }
