/* =========================================================================
   TFA Article Components — v1.0
   Enqueue on single-post templates only. Scoped under .tfa-article so
   components never bleed into Divi module CSS.

   Install:
     1. Upload to /wp-content/themes/<theme>/tfa-article.css
     2. In functions.php (or a child theme):

          add_action('wp_enqueue_scripts', function () {
              if (is_single() && 'post' === get_post_type()) {
                  wp_enqueue_style('tfa-article',
                      get_stylesheet_directory_uri() . '/tfa-article.css',
                      [], '1.0');
              }
          });

     3. Wrap every article body in Claude Code's output with
        <div class="tfa-article"> ... </div>

   Brand tokens pulled from memory.md (TFA brand system, live site).
   ========================================================================= */

/* ---------- fonts + icons ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&family=Fraunces:ital,wght@0,500;1,500&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css');

/* ---------- tokens ---------- */
.tfa-article {
  /* colour */
  --tfa-navy:        #373E56;
  --tfa-navy-soft:   #4B5270;
  --tfa-teal:        #44BBA4;
  --tfa-teal-dark:   #2D9685;
  --tfa-teal-50:     #E8F7F3;
  --tfa-teal-100:    #D2EFE8;
  --tfa-cobalt:      #2563EB;
  --tfa-cobalt-dark: #1D4ED8;
  --tfa-cobalt-50:   #EFF4FF;

  --tfa-ink:         #1F2437;
  --tfa-text:        #2C3347;
  --tfa-text-soft:   #596079;
  --tfa-muted:       #8A91A7;
  --tfa-line:        #E6E9F2;
  --tfa-surface:     #F4FAF8;
  --tfa-white:       #FFFFFF;

  --tfa-warn-bg:     #FFF5E6;
  --tfa-warn-ink:    #8A4E00;
  --tfa-warn-accent: #E88A00;
  --tfa-danger-bg:   #FFEEEE;
  --tfa-danger-ink:  #9B1C1C;
  --tfa-danger-accent:#DC2626;
  --tfa-info-bg:     #EFF4FF;
  --tfa-info-ink:    #1E3A8A;
  --tfa-info-accent: #2563EB;
  --tfa-tip-bg:      #E8F7F3;
  --tfa-tip-ink:     #0F4F46;
  --tfa-tip-accent:  #2D9685;

  --tfa-grad-hero:   linear-gradient(135deg, #0F4F46 0%, #1B8574 50%, #29C4A9 100%);

  /* type */
  --tfa-font-body:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --tfa-font-head:   'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif;
  --tfa-font-quote:  'Fraunces', 'Source Serif 4', Georgia, serif;

  /* radii / shadow */
  --tfa-radius:      14px;
  --tfa-radius-sm:   10px;
  --tfa-radius-lg:   20px;
  --tfa-shadow-sm:   0 1px 2px rgba(19,27,48,.06), 0 2px 8px rgba(19,27,48,.04);
  --tfa-shadow-md:   0 4px 16px rgba(19,27,48,.08), 0 2px 4px rgba(19,27,48,.04);
  --tfa-shadow-lg:   0 12px 40px rgba(19,27,48,.12), 0 4px 12px rgba(19,27,48,.06);
}

/* ---------- base article typography ---------- */
.tfa-article {
  font-family: var(--tfa-font-body);
  color: var(--tfa-text);
  font-size: 18px;
  line-height: 1.75;
  font-weight: 450;
  letter-spacing: -0.003em;
}
.tfa-article p { margin: 0 0 1.15em; }
.tfa-article h1,
.tfa-article h2,
.tfa-article h3,
.tfa-article h4 {
  font-family: var(--tfa-font-head);
  color: var(--tfa-navy);
  letter-spacing: -0.02em;
  line-height: 1.2;
  font-weight: 700;
  margin: 2em 0 0.6em;
}
.tfa-article h2 { font-size: 1.75em; }
.tfa-article h3 { font-size: 1.3em; }
.tfa-article h4 { font-size: 1.1em; font-weight: 600; }
.tfa-article a  { color: var(--tfa-cobalt); text-decoration: underline; text-underline-offset: 3px; }
.tfa-article a:hover { color: var(--tfa-cobalt-dark); }
.tfa-article strong { font-weight: 600; color: var(--tfa-ink); }
.tfa-article ul, .tfa-article ol { padding-left: 1.4em; margin: 0 0 1.3em; }
.tfa-article li { margin: 0.3em 0; }

/* =========================================================================
   1. Key Takeaways
   ========================================================================= */
.tfa-takeaways {
  background: var(--tfa-teal-50);
  border: 1px solid var(--tfa-teal-100);
  border-left: 5px solid var(--tfa-teal);
  border-radius: var(--tfa-radius);
  padding: 1.5rem 1.75rem;
  margin: 2rem 0 2.5rem;
  box-shadow: var(--tfa-shadow-sm);
}
.tfa-takeaways__label {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--tfa-font-head);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--tfa-teal-dark);
  margin: 0 0 .75rem;
}
.tfa-takeaways__label::before {
  content: "";
  width: 22px; height: 22px;
  background: var(--tfa-teal);
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
}
.tfa-takeaways h2,
.tfa-takeaways__title {
  font-family: var(--tfa-font-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--tfa-navy);
  margin: 0 0 .75rem;
}
.tfa-takeaways ul {
  margin: 0; padding: 0; list-style: none;
}
.tfa-takeaways li {
  position: relative;
  padding: .4rem 0 .4rem 1.85rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--tfa-ink);
}
.tfa-takeaways li::before {
  content: "";
  position: absolute; left: 0; top: .65rem;
  width: 20px; height: 20px;
  background: var(--tfa-teal);
  border-radius: 50%;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/14px no-repeat;
}

/* =========================================================================
   2. Callouts (tip / info / warning / danger / brisbane-fact / quote-hero)
   ========================================================================= */
.tfa-callout {
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 1rem;
  padding: 1.25rem 1.5rem 1.25rem 1.25rem;
  margin: 1.75rem 0;
  border-radius: var(--tfa-radius);
  border: 1px solid transparent;
  background: var(--tfa-tip-bg);
  color: var(--tfa-ink);
  font-size: 1rem;
  line-height: 1.6;
  box-shadow: var(--tfa-shadow-sm);
}
.tfa-callout__icon {
  width: 44px; height: 44px; border-radius: 12px;
  display: grid; place-items: center;
  background: var(--tfa-white);
  box-shadow: 0 1px 2px rgba(19,27,48,.08);
  font-size: 22px; line-height: 1;
}
.tfa-callout__body p:last-child { margin-bottom: 0; }
.tfa-callout__title {
  font-family: var(--tfa-font-head);
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 .35em;
  letter-spacing: -0.01em;
}

/* variants */
.tfa-callout--tip     { background: var(--tfa-tip-bg);    border-color: #B9E0D6; }
.tfa-callout--tip     .tfa-callout__title { color: var(--tfa-tip-ink); }
.tfa-callout--info    { background: var(--tfa-info-bg);   border-color: #C7D7FE; }
.tfa-callout--info    .tfa-callout__title { color: var(--tfa-info-ink); }
.tfa-callout--warning { background: var(--tfa-warn-bg);   border-color: #FCD9A6; }
.tfa-callout--warning .tfa-callout__title { color: var(--tfa-warn-ink); }
.tfa-callout--danger  { background: var(--tfa-danger-bg); border-color: #FBC5C5; }
.tfa-callout--danger  .tfa-callout__title { color: var(--tfa-danger-ink); }

/* Brisbane-fact variant — a proud little QLD card */
.tfa-callout--brisbane {
  background: linear-gradient(135deg, #F6FFFD 0%, #EAF7F3 100%);
  border-color: #B9E0D6;
  overflow: hidden;
}
.tfa-callout--brisbane::before {
  content: "";
  position: absolute;
  top: -12px; right: -12px;
  width: 120px; height: 120px;
  opacity: .08;
  background: var(--tfa-teal-dark);
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M12 2C8.1 2 5 5.1 5 9c0 5.3 7 13 7 13s7-7.7 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/></svg>") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M12 2C8.1 2 5 5.1 5 9c0 5.3 7 13 7 13s7-7.7 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/></svg>") center/contain no-repeat;
}
.tfa-callout--brisbane .tfa-callout__title { color: var(--tfa-tip-ink); }
.tfa-callout--brisbane .tfa-callout__kicker {
  font-family: var(--tfa-font-head);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tfa-teal-dark);
  margin: 0 0 .25rem;
}

/* =========================================================================
   3. Comparison table (side-by-side cards)
   ========================================================================= */
.tfa-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin: 2rem 0;
}
@media (max-width: 640px) { .tfa-compare { grid-template-columns: 1fr; } }

.tfa-compare__col {
  background: var(--tfa-white);
  border: 1px solid var(--tfa-line);
  border-radius: var(--tfa-radius);
  padding: 1.5rem 1.5rem 1.75rem;
  box-shadow: var(--tfa-shadow-sm);
  position: relative;
}
.tfa-compare__col--winner {
  border-color: var(--tfa-teal);
  box-shadow: 0 0 0 3px rgba(68,187,164,.12), var(--tfa-shadow-md);
}
.tfa-compare__badge {
  position: absolute; top: -11px; left: 1.5rem;
  background: var(--tfa-teal);
  color: #fff;
  font-family: var(--tfa-font-head);
  font-size: .7rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase;
  padding: .3rem .75rem;
  border-radius: 999px;
}
.tfa-compare__title {
  font-family: var(--tfa-font-head);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--tfa-navy);
  margin: 0 0 .25rem;
}
.tfa-compare__subtitle {
  color: var(--tfa-text-soft);
  font-size: .95rem;
  margin: 0 0 1rem;
}
.tfa-compare__list { list-style: none; padding: 0; margin: 0; }
.tfa-compare__list li {
  display: grid;
  grid-template-columns: 26px 1fr;
  align-items: start;
  gap: .7rem;
  padding: .55rem 0;
  font-size: .97rem;
  line-height: 1.45;
  border-bottom: 1px dashed var(--tfa-line);
}
.tfa-compare__list li:last-child { border-bottom: 0; }
.tfa-compare__list li > i.fa-solid,
.tfa-compare__list li > i.fa-regular,
.tfa-compare__list li > i.fa-brands {
  font-size: 1.05rem;
  line-height: 1.45;
  width: 22px;
  text-align: center;
  margin-top: .12rem;
}
/* Decision semantics — colour the icon by data-ok */
.tfa-compare__list li[data-ok="yes"] > i { color: #16A34A; }
.tfa-compare__list li[data-ok="no"]  > i { color: #DC2626; opacity: .85; }
.tfa-compare__list li[data-ok="no"]  { color: var(--tfa-text-soft); }
.tfa-compare__list li[data-ok="no"]  strong { color: var(--tfa-text); }

/* =========================================================================
   4. Stat cards (row of big numbers)
   ========================================================================= */
.tfa-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}
@media (max-width: 900px) { .tfa-stats { grid-template-columns: repeat(2, 1fr); } }

.tfa-stat {
  background: var(--tfa-white);
  border: 1px solid var(--tfa-line);
  border-radius: var(--tfa-radius);
  padding: 1.25rem 1.25rem 1.3rem;
  box-shadow: var(--tfa-shadow-sm);
  position: relative;
}
.tfa-stat__value {
  font-family: var(--tfa-font-head);
  font-size: 2.3rem;
  font-weight: 800;
  color: var(--tfa-navy);
  letter-spacing: -0.03em;
  line-height: 1.05;
  margin: 0 0 .25rem;
}
.tfa-stat__value small { font-size: .65em; font-weight: 700; color: var(--tfa-teal-dark); letter-spacing: -.01em; }
.tfa-stat__label {
  font-size: .92rem;
  color: var(--tfa-text-soft);
  line-height: 1.4;
  margin: 0;
}
.tfa-stat--highlight {
  background: linear-gradient(135deg, var(--tfa-teal-50) 0%, #F6FFFD 100%);
  border-color: #B9E0D6;
}
.tfa-stat--highlight .tfa-stat__value { color: var(--tfa-teal-dark); }

/* =========================================================================
   5. Pull-quote
   ========================================================================= */
.tfa-quote {
  position: relative;
  margin: 2.25rem 0;
  padding: 1.5rem 1.75rem 1.5rem 3.5rem;
  background: var(--tfa-white);
  border-left: 4px solid var(--tfa-teal);
  border-radius: 0 var(--tfa-radius) var(--tfa-radius) 0;
  box-shadow: var(--tfa-shadow-sm);
}
.tfa-quote::before {
  content: "\201C";
  position: absolute; left: 1rem; top: .25rem;
  font-family: var(--tfa-font-quote);
  font-size: 4rem;
  line-height: 1;
  color: var(--tfa-teal);
  font-style: italic;
}
.tfa-quote__text {
  font-family: var(--tfa-font-quote);
  font-style: italic;
  font-size: 1.25rem;
  line-height: 1.5;
  color: var(--tfa-ink);
  margin: 0 0 .75rem;
}
.tfa-quote__cite {
  display: flex; align-items: center; gap: .6rem;
  font-size: .9rem;
  color: var(--tfa-text-soft);
  font-style: normal;
}
.tfa-quote__cite strong { color: var(--tfa-navy); font-weight: 600; }
.tfa-quote__stars { color: #F5B400; letter-spacing: 1px; }

/* =========================================================================
   6. Decision cards (3-up)
   ========================================================================= */
.tfa-decision {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 2rem 0;
}
@media (max-width: 860px) { .tfa-decision { grid-template-columns: 1fr; } }
.tfa-decision__card {
  background: var(--tfa-white);
  border: 1px solid var(--tfa-line);
  border-top: 5px solid var(--tfa-muted);
  border-radius: var(--tfa-radius);
  padding: 1.25rem 1.25rem 1.5rem;
  box-shadow: var(--tfa-shadow-sm);
}
.tfa-decision__card--primary   { border-top-color: var(--tfa-teal); }
.tfa-decision__card--secondary { border-top-color: var(--tfa-cobalt); }
.tfa-decision__card--tertiary  { border-top-color: #9B6BE3; }
.tfa-decision__kicker {
  font-family: var(--tfa-font-head);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--tfa-muted);
  margin: 0 0 .25rem;
}
.tfa-decision__card--primary   .tfa-decision__kicker { color: var(--tfa-teal-dark); }
.tfa-decision__card--secondary .tfa-decision__kicker { color: var(--tfa-cobalt-dark); }
.tfa-decision__card--tertiary  .tfa-decision__kicker { color: #6B3FB0; }
.tfa-decision__title {
  font-family: var(--tfa-font-head);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--tfa-navy);
  margin: 0 0 .75rem;
}
.tfa-decision__list { list-style: none; padding: 0; margin: 0; }
.tfa-decision__list li {
  position: relative;
  padding: .3rem 0 .3rem 1.5rem;
  font-size: .95rem;
  line-height: 1.5;
  color: var(--tfa-text);
}
.tfa-decision__list li::before {
  content: "";
  position: absolute; left: 0; top: .55rem;
  width: 16px; height: 16px;
  background: currentColor;
  opacity: .7;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/></svg>") center/contain no-repeat;
}
.tfa-decision__card--primary   .tfa-decision__list li { color: var(--tfa-teal-dark); }
.tfa-decision__card--primary   .tfa-decision__list li { color: inherit; }
.tfa-decision__card--primary   .tfa-decision__list li::before { background: var(--tfa-teal); }
.tfa-decision__card--secondary .tfa-decision__list li::before { background: var(--tfa-cobalt); }
.tfa-decision__card--tertiary  .tfa-decision__list li::before { background: #9B6BE3; }

/* =========================================================================
   7. Inline CTA pill (mid-article)
   ========================================================================= */
.tfa-cta-inline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 2rem 0;
  padding: 1rem 1.25rem;
  background: var(--tfa-cobalt-50);
  border: 1px solid #C7D7FE;
  border-radius: var(--tfa-radius);
}
.tfa-cta-inline__text {
  margin: 0;
  font-size: 1rem;
  color: var(--tfa-info-ink);
  font-weight: 500;
}
.tfa-cta-inline__text strong { color: var(--tfa-info-ink); }
.tfa-cta-inline__btn {
  display: inline-flex; align-items: center; gap: .5rem;
  background: var(--tfa-cobalt);
  color: #fff !important;
  text-decoration: none !important;
  font-family: var(--tfa-font-head);
  font-weight: 700;
  font-size: .95rem;
  padding: .7rem 1.1rem;
  border-radius: 999px;
  transition: background .15s ease, transform .15s ease;
  white-space: nowrap;
}
.tfa-cta-inline__btn:hover { background: var(--tfa-cobalt-dark); transform: translateY(-1px); }
.tfa-cta-inline__btn::after {
  content: "→";
  transition: transform .15s ease;
}
.tfa-cta-inline__btn:hover::after { transform: translateX(2px); }

/* =========================================================================
   8. Full-width CTA block (end of article)
   ========================================================================= */
.tfa-cta-block {
  margin: 3rem 0 1rem;
  padding: 2.25rem 2rem 2rem;
  background: var(--tfa-grad-hero);
  border-radius: var(--tfa-radius-lg);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: var(--tfa-shadow-lg);
}
.tfa-cta-block::before {
  content: "";
  position: absolute;
  top: -40px; right: -40px;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.tfa-cta-block::after {
  content: "";
  position: absolute;
  bottom: -60px; left: -30px;
  width: 180px; height: 180px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.tfa-cta-block__kicker {
  position: relative; z-index: 1;
  display: inline-block;
  font-family: var(--tfa-font-head);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: .3rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: #fff;
  margin: 0 0 1rem;
}
.tfa-cta-block__title,
.tfa-article .tfa-cta-block .tfa-cta-block__title,
.tfa-article .tfa-cta-block h2.tfa-cta-block__title {
  position: relative; z-index: 1;
  font-family: var(--tfa-font-head);
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  margin: 0 0 .5rem;
  color: #ffffff !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.08);
}
.tfa-cta-block__sub {
  position: relative; z-index: 1;
  font-size: 1.05rem;
  line-height: 1.5;
  color: rgba(255,255,255,.92);
  max-width: 46ch;
  margin: 0 auto 1.25rem;
}
.tfa-cta-block__btn,
.tfa-article .tfa-cta-block .tfa-cta-block__btn {
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; gap: .6rem;
  background: var(--tfa-cobalt);
  color: #ffffff !important;
  text-decoration: none !important;
  font-family: var(--tfa-font-head);
  font-weight: 800;
  font-size: 1.05rem;
  padding: 1rem 1.8rem;
  border-radius: 999px;
  margin: 0 auto;
  /* white halo ring + drop shadow so the cobalt button pops on the green gradient */
  box-shadow: 0 8px 22px rgba(0,0,0,.24), 0 0 0 4px rgba(255,255,255,.16);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.tfa-cta-block__btn:hover {
  background: var(--tfa-cobalt-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.32), 0 0 0 5px rgba(255,255,255,.2);
}
.tfa-cta-block__btn::after { content: "→"; font-size: 1.1em; }
.tfa-cta-block__proof {
  position: relative; z-index: 1;
  display: block;
  margin-top: 1.1rem;
  font-size: .9rem;
  color: rgba(255,255,255,.92);
}
.tfa-cta-block__proof-stars {
  display: inline-block;
  margin-right: .4rem;
  color: #FFD166;
  letter-spacing: 2px;
}
/* =========================================================================
   9. FAQ accordion
   ========================================================================= */
.tfa-faq {
  margin: 2rem 0;
  border-top: 1px solid var(--tfa-line);
}
.tfa-faq__item {
  border-bottom: 1px solid var(--tfa-line);
  padding: 0;
}
.tfa-faq__item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 0;
  cursor: pointer;
  font-family: var(--tfa-font-head);
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--tfa-navy);
}
.tfa-faq__item summary::-webkit-details-marker { display: none; }
.tfa-faq__item summary::after {
  content: "+";
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--tfa-teal-dark);
  transition: transform .2s ease;
  line-height: 1;
}
.tfa-faq__item[open] summary::after { content: "\2212"; }
.tfa-faq__answer {
  padding: 0 0 1.25rem;
  color: var(--tfa-text);
  font-size: 1rem;
  line-height: 1.65;
}
.tfa-faq__answer p:last-child { margin-bottom: 0; }
