/* =========================================================
   FlairMatrix — fm.css (Refactored)
   - Inter self-hosted
   - Accessibility baseline
   - Link systems: header / content / sidebar / footer
   - Button utilities
   - Sections + widths + measures + grids + overlays + icons
   - Structural nav band (desktop centered / mobile scroll + chevrons)
   - Footer (component-scoped two-section architecture)
   - Contact Form 7
   ========================================================= */

/* =========================================================
   0) Core tokens
   ========================================================= */
:root{
  /* Layout */
  --fm-section-py: 96px;
  --fm-gutter: 40px;
  --fm-content-max: 860px;
  --fm-wide-max: 1120px;
  --fm-measure-body: 60ch;

  /* Surfaces + borders */
  --fm-border: var(--wp--preset--color--fm-border, #E3E6EA);
  --fm-border-hover: #D0D6DD;
  --fm-shadow-soft: 0 4px 12px rgba(0,0,0,0.04);

  /* Text */
  --fm-accent: var(--wp--preset--color--fm-accent, #5E7385);
  --fm-ink: var(--wp--preset--color--fm-text-primary, #2E3440);
  --fm-muted: var(--wp--preset--color--fm-text-secondary, #3E4652);

  /* Links */
  --fm-link-underline-offset: 0.18em;

  /* Icons */
  --fm-icon-size: 20px;
  --fm-icon-gap: var(--wp--preset--spacing--fm-three, 12px);

  /* Structural nav */
  --fm-structural-chevron-size: 28px;
  --fm-structural-chevron-gap: 10px;

  /* Footer */
  --fm-footer-main-bg: var(--wp--preset--color--fm-text-primary, #2E3440);
  --fm-footer-bar-bg: #2A2F3A;
  --fm-footer-fg: var(--wp--preset--color--fm-surface-base, #F7F6F3);
  --fm-footer-muted: rgba(216,221,227,0.92);
  --fm-footer-muted-2: rgba(216,221,227,0.80);
}

/* =========================================================
   1) Inter (self-hosted)
  font-display: swap;
  or
  font-display: fallback;
   ========================================================= */
@font-face{
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter/InterVariable.woff2") format("woff2");
}

/* =========================================================
   2) Accessibility baseline
   ========================================================= */
a:focus-visible,
button:focus-visible{
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385);
  outline-offset: 2px;
  box-shadow: none;
}

/* Remove mouse/touch focus box but keep keyboard focus-visible.
   Header-specific legacy block-header selectors were retired after the
   governed custom header moved to fm-header.css. */
.entry-content a:active,
.entry-content a:focus:not(:focus-visible),
.fm-sidebar a:active,
.fm-sidebar a:focus:not(:focus-visible),
.fm-footer-main a:active,
.fm-footer-main a:focus:not(:focus-visible),
.fm-footer-bar a:active,
.fm-footer-bar a:focus:not(:focus-visible),
.fm-footer-main .wp-block-image a:active,
.fm-footer-main .wp-block-image a:focus:not(:focus-visible){
  outline: none !important;
  box-shadow: none !important;
}

/* =========================================================
   3) Legacy block header styles removed
   The old TT5 / Gutenberg Navigation Block header is no longer used.
   Governed site header ownership now lives in fm-header.css.
   This file keeps only global/theme-level styling.
   ========================================================= */

/* =========================================================
   4) Main content links
   ========================================================= */
.entry-content a:not(.wp-block-button__link){
  color: var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: var(--fm-link-underline-offset);
}

.entry-content a:hover:not(.wp-block-button__link),
.entry-content a:active:not(.wp-block-button__link){
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  text-decoration-thickness: 2px;
}

/* =========================================================
   5) Sidebar links — file-tab behavior
   ========================================================= */
.fm-sidebar a{
  color: var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: none !important;
  border-left: 2px solid transparent;
  padding-left: 0.5rem;
  display: inline-block;
}

.fm-sidebar a:hover,
.fm-sidebar a:active{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  border-left-color: var(--wp--preset--color--fm-accent, #5E7385);
}

.fm-sidebar .current-menu-item > a,
.fm-sidebar .current_page_item > a,
.fm-sidebar .current-menu-ancestor > a,
.fm-sidebar .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.fm-sidebar .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content,
.fm-sidebar .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  border-left-color: var(--wp--preset--color--fm-accent, #5E7385);
}

/* Remove automatic top spacing before footer only */
:where(.wp-site-blocks) > footer.wp-block-template-part{
  margin-block-start: 0;
}

/* =========================================================
   6) Button utilities
   ========================================================= */
.wp-block-button.fm-btn-sm .wp-block-button__link{
  font-size: var(--wp--preset--font-size--fm-sm);
  padding: var(--wp--preset--spacing--fm-two) var(--wp--preset--spacing--fm-four);
  border-radius: var(--wp--preset--border-radius--fm-four);
}
.wp-block-button.fm-btn .wp-block-button__link{
  font-size: var(--wp--preset--font-size--fm-md);
  padding: var(--wp--preset--spacing--fm-three) var(--wp--preset--spacing--fm-five);
  border-radius: var(--wp--preset--border-radius--fm-four);
}
.wp-block-button.fm-btn-lg .wp-block-button__link{
  font-size: var(--wp--preset--font-size--fm-lg);
  padding: var(--wp--preset--spacing--fm-four) var(--wp--preset--spacing--fm-six);
  border-radius: var(--wp--preset--border-radius--fm-four);
}

.wp-block-button.fm-btn-primary .wp-block-button__link{
  background: var(--wp--preset--color--fm-accent, #5E7385);
  color: var(--wp--preset--color--fm-surface-white, #FFFFFF);
  border: 1px solid var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: none !important;
}
.wp-block-button.fm-btn-primary .wp-block-button__link:hover{ filter: brightness(0.92); }
.wp-block-button.fm-btn-primary .wp-block-button__link:active{ filter: brightness(0.88); }

.wp-block-button.fm-btn-secondary .wp-block-button__link{
  background: transparent;
  color: var(--wp--preset--color--fm-accent, #5E7385);
  border: 1px solid var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: none !important;
}
.wp-block-button.fm-btn-secondary .wp-block-button__link:hover{
  background: var(--wp--preset--color--fm-surface-subtle, #EEF1F4);
}
.wp-block-button.fm-btn-secondary .wp-block-button__link:active{ filter: brightness(0.98); }

.wp-block-button.fm-btn-text .wp-block-button__link{
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--fm-accent, #5E7385);
  padding-left: 0;
  padding-right: 0;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: var(--fm-link-underline-offset);
}
.wp-block-button.fm-btn-text .wp-block-button__link:hover{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  text-decoration-thickness: 2px;
}

.wp-block-button .wp-block-button__link:focus-visible{
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}

/* =========================================================
   7) Sections + widths + measures + text
   ========================================================= */
.fm-section{
  padding-top: var(--wp--preset--spacing--fm-eleven, var(--fm-section-py));
  padding-bottom: var(--wp--preset--spacing--fm-eleven, var(--fm-section-py));
}

.fm-content,
.fm-wide{
  padding-left: var(--fm-gutter);
  padding-right: var(--fm-gutter);
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
.fm-content{ max-width: var(--fm-content-max); }
.fm-wide{ max-width: var(--fm-wide-max); }

.fm-hero{
  padding-top: var(--wp--preset--spacing--fm-twelve, 112px);
  padding-bottom: var(--wp--preset--spacing--fm-twelve, 112px);
}
.fm-section--tight{
  padding-top: var(--wp--preset--spacing--fm-ten, 80px);
  padding-bottom: var(--wp--preset--spacing--fm-ten, 80px);
}
.fm-section--loose{
  padding-top: var(--wp--preset--spacing--fm-twelve, 112px);
  padding-bottom: var(--wp--preset--spacing--fm-twelve, 112px);
}

.fm-section h1{ max-width: 24ch; }
.fm-section h2{ max-width: 28ch; }
.fm-section h3{ max-width: 32ch; }
.fm-section p,
.fm-section ul,
.fm-section ol{ max-width: var(--fm-measure-body); }
.fm-section :where(h1,h2,h3,p,ul,ol){ margin-right: auto; }

.fm-measure-h1{ max-width: 24ch; }
.fm-measure-h2{ max-width: 28ch; }
.fm-measure-h3{ max-width: 32ch; }
.fm-measure-tight{ max-width: 52ch; }
.fm-measure{ max-width: var(--fm-measure-body); }
.fm-measure-wide{ max-width: 80ch; }

.fm-card :where(h1,h2,h3,p,ul,ol),
.fm-watermark-item :where(h1,h2,h3,p,ul,ol){ max-width: none; }

.fm-callout{
  max-width: 54ch;
  font-size: 1.04em;
  letter-spacing: 0.01em;
  font-weight: 600;
  color: var(--fm-muted);
  line-height: 1.7;
}
.fm-callout.fm-callout--rule{
  padding-top: var(--wp--preset--spacing--fm-five, 24px);
  border-top: 1px solid var(--fm-border);
}
.fm-lead{
  font-size: var(--wp--preset--font-size--fm-lg, 1.125rem);
  line-height: 1.6;
  color: var(--fm-ink);
  max-width: var(--fm-measure-body);
}
.fm-text-standout{ font-weight: 600; color: var(--fm-ink); }
.fm-text-highlight{ color: var(--wp--preset--color--fm-accent, #5E7385); font-weight: 600; }
.fm-text-muted{ color: var(--fm-muted); }


/* =========================================================
   FlairMatrix — Hero System
   Practical recommended model
   Works with:
   - .fm-section.fm-hero
   - .fm-content / .fm-wide

   ---------------------------------------------------------
   H2 USAGE IN HERO (IMPORTANT)
   ---------------------------------------------------------
   - h2 is OPTIONAL inside hero
   - use ONLY when it represents a true semantic subheading
   - do NOT use h2 for visual styling purposes
   - default hero uses: h1 + p (brand, intro, highlight)

   If used:
   - apply class: .fm-hero-subheading
   - do NOT rely on generic .fm-section h2 styles
   - keep it visually lighter than h1 and below brand line

   Recommended order:
   p.fm-hero-brand
   h1
   h2.fm-hero-subheading (optional)
   p.fm-hero-intro
   p.fm-text-highlight
   ========================================================= */
   
   /* ---------------------------------------------------------
   Hero Head Cluster (OPTIONAL)
   ---------------------------------------------------------
   Used only when both:
   - .fm-hero-brand
   - h1

   are present.

   Purpose:
   - reduce spacing between brand and h1
   - keep overall hero spacing intact

   If not used:
   - h1 behaves as a normal hero element
   - spacing is controlled by parent gap

   This supports two valid hero patterns:
   1) brand + h1 (clustered)
   2) h1 only (no cluster)
   --------------------------------------------------------- */
   

.fm-hero .fm-content,
.fm-hero .fm-wide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--wp--preset--spacing--fm-three, 16px);
}

/* Hero head cluster: brand + h1 */
.fm-hero .fm-hero-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.fm-hero .fm-hero-head .fm-hero-brand,
.fm-hero .fm-hero-head h1,
.fm-hero .fm-hero-head .wp-block-heading:is(h1) {
  margin: 0;
}

/* Brand line above H1 */
.fm-hero .fm-hero-brand {
  margin: 0;
  font-size: var(--wp--preset--font-size--fm-sm, 0.94rem);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--fm-accent);
}

/* Hero H1 */
.fm-hero h1,
.fm-hero .wp-block-heading:is(h1) {
  margin: 0;
  max-width: 22ch;
}

/* Optional hero subheading (H2) */
.fm-hero .fm-hero-subheading {
  margin: 0;
  max-width: 42ch;
  font-size: var(--wp--preset--font-size--fm-two-xl, 1.125rem);
  font-weight: 500;
  line-height: 1.5;
  color: var(--fm-ink);
}

/* Main intro paragraph */
.fm-hero .fm-hero-intro {
  margin: 0;
  max-width: 60ch;
  font-size: var(--wp--preset--font-size--fm-lg, 1.125rem);
  font-weight: 400;
  line-height: 1.6;
  color: var(--fm-ink);
}

/* Highlight/support statement */
.fm-hero .fm-text-highlight {
  margin: 0;
  max-width: 62ch;
}

/* Optional tighter hero spacing */
.fm-hero.fm-section--tight .fm-content,
.fm-hero.fm-section--tight .fm-wide {
  gap: var(--wp--preset--spacing--fm-two, 12px);
}

/* Optional looser hero spacing */
.fm-hero.fm-section--loose .fm-content,
.fm-hero.fm-section--loose .fm-wide {
  gap: var(--wp--preset--spacing--fm-four, 24px);
}



/* =========================================================
   8) Grid systems + cards + watermark items
   ========================================================= */
.fm-grid,
.fm-grid > .wp-block-group__inner-container{
  display: grid;
  gap: var(--wp--preset--spacing--fm-eight, 32px);
  align-items: start;
}
.fm-grid-2,
.fm-grid-2 > .wp-block-group__inner-container{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.fm-grid-3,
.fm-grid-3 > .wp-block-group__inner-container{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fm-card-grid,
.fm-card-grid > .wp-block-group__inner-container{
  --wp--style--block-gap: 0px;
  display: grid;
  gap: var(--wp--preset--spacing--fm-eight, 32px);
  align-items: stretch;
}
.fm-card-grid.is-layout-flow > *,
.fm-card-grid > .wp-block-group__inner-container > *{
  margin-block-start: 0 !important;
}

.fm-card{
  border: 1px solid var(--fm-border);
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  background: var(--wp--preset--color--fm-surface-white, #FFFFFF);
  padding: var(--wp--preset--spacing--fm-six, 24px);
  height: 100%;
}
.fm-card:hover{
  border-color: var(--fm-border-hover);
  box-shadow: var(--fm-shadow-soft);
}
.fm-card :where(h1,h2,h3,h4,h5,h6,p,ul,ol){
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}
.fm-card.wp-block-group > .wp-block-group__inner-container{
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--fm-three, 12px);
  height: 100%;
}
.fm-card-stack{
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--fm-three, 12px);
}
.fm-card h3,
.fm-watermark-item h3{
  font-size: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem);
  font-weight: 600;
  line-height: 1.3;
}
.fm-card :where(h2,h3) a{
  color: inherit;
  text-decoration: none;
}
.fm-card:hover :where(h2,h3) a,
.fm-card :where(h2,h3) a:focus-visible{
  text-decoration: underline;
  text-underline-offset: var(--fm-link-underline-offset);
  text-decoration-thickness: 1px;
}

.fm-watermark-grid,
.fm-watermark-grid > .wp-block-group__inner-container{
  --wp--style--block-gap: 0px;
  display: grid;
  gap: var(--wp--preset--spacing--fm-eight, 32px);
  align-items: start;
}
.fm-watermark-grid.is-layout-flow > *,
.fm-watermark-grid > .wp-block-group__inner-container > *{
  margin-block-start: 0 !important;
}
.fm-watermark-item{
  display: flex;
  flex-direction: column;
  gap: var(--fm-icon-gap);
}
.fm-watermark-item :where(h1,h2,h3,h4,h5,h6,p,ul,ol){
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* =========================================================
   9) Background utilities + overlays
   ========================================================= */
.fm-bg-white{ background: var(--wp--preset--color--fm-surface-white, #FFFFFF); }
.fm-bg-subtle{ background: var(--wp--preset--color--fm-surface-subtle, #EEF1F4); }
.fm-bg-base{ background: var(--wp--preset--color--fm-surface-base, #F7F6F3); }

.fm-overlay{
  position: relative;
  overflow: hidden;
}
.fm-overlay::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.fm-overlay > *{
  position: relative;
  z-index: 1;
}
.fm-overlay-wash::before{
  background: var(--wp--preset--color--fm-accent, #5E7385);
  opacity: 0.035;
}
.fm-overlay-grid::before{
  background-image:
    linear-gradient(to right, rgba(46,52,64,0.06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(46,52,64,0.06) 1px, transparent 1px);
  background-size: 72px 72px;
  opacity: 0.12;
}

/* =========================================================
   10) Icon system + explore links
   ========================================================= */
.fm-icon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--fm-icon-size);
  height: var(--fm-icon-size);
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
}
.fm-icon svg{ width: 100%; height: 100%; display: block; }
.fm-icons-accent .fm-icon{ color: var(--wp--preset--color--fm-accent, #5E7385); }
.fm-card .fm-icon{ width: var(--fm-icon-size); height: var(--fm-icon-size); }
.fm-icons-left .fm-icon{ margin-left: 0; margin-right: auto; }
.fm-icons-center .fm-icon{ margin-left: auto; margin-right: auto; }
.fm-watermark-center .fm-watermark-item{ text-align: center; }
.fm-watermark-center .fm-watermark-item .fm-icon{ margin-left: auto; margin-right: auto; }
.fm-icons-sm{ --fm-icon-size: 18px; }
.fm-icons-md{ --fm-icon-size: 20px; }
.fm-icons-lg{ --fm-icon-size: 22px; }

.fm-card p.fm-card-link > a,
.fm-watermark-item p.fm-card-link > a{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  font-weight: 500;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: var(--fm-link-underline-offset);
}
.fm-card p.fm-card-link > a:hover,
.fm-card p.fm-card-link > a:focus-visible,
.fm-watermark-item p.fm-card-link > a:hover,
.fm-watermark-item p.fm-card-link > a:focus-visible{
  text-decoration: underline;
}
.fm-card p.fm-card-link > a::after,
.fm-watermark-item p.fm-card-link > a::after{
  content: "→";
  font-size: 0.95em;
  transition: transform 0.15s ease;
}
.fm-card p.fm-card-link > a:hover::after,
.fm-watermark-item p.fm-card-link > a:hover::after{
  transform: translateX(2px);
}


/* =========================================================
   11) Structural nav band
   Wrapper: .fm-structural-nav
   Inner: .fm-wide
   ========================================================= */
.fm-structural-nav{
  --fm-structural-chevron-hit: 36px;
  --fm-structural-gutter-mobile: 26px;
  padding-block: var(--wp--preset--spacing--fm-three, 12px);
  border-bottom: 1px solid var(--wp--preset--color--fm-border, #E3E6EA);
  position: relative;
}

.fm-structural-nav :where(.wp-block-group){
  margin: 0;
}

.fm-structural-nav .fm-wide{
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.fm-structural-nav :where(nav.alignwide),
.fm-structural-nav :where(ul.alignwide){
  max-width: none !important;
  width: auto !important;
}

.fm-structural-nav .wp-block-navigation{
  display: flex !important;
  justify-content: center !important;
  width: 100%;
}

.fm-structural-nav .wp-block-navigation__container{
  display: flex !important;
  justify-content: center !important;
  align-items: center;
  flex-wrap: nowrap;
  width: fit-content !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: var(--wp--preset--spacing--fm-five, 24px);
}
/* Defensive rule — prevent Gutenberg layout overrides */
.fm-structural-nav .wp-block-navigation__container{
  flex-wrap: nowrap !important;
  min-width: max-content;
}

.fm-structural-nav .wp-block-navigation a,
.fm-structural-nav .wp-block-navigation .wp-block-navigation-item__content{
  font-size: 1rem;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  text-decoration: none !important;
  border-bottom: 1px solid transparent;
  padding-block: 0.15em;
  font-weight: 500;
}

.fm-structural-nav .wp-block-navigation a:hover,
.fm-structural-nav .wp-block-navigation .wp-block-navigation-item__content:hover{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  border-bottom-color: var(--wp--preset--color--fm-accent, #5E7385);
}

.fm-structural-nav .wp-block-navigation .current-menu-item > a,
.fm-structural-nav .wp-block-navigation .current_page_item > a,
.fm-structural-nav .wp-block-navigation .current-menu-ancestor > a{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  border-bottom-color: var(--wp--preset--color--fm-accent, #5E7385);
  font-weight: 600;
}

/* mobile-only hints hidden by default */
.fm-structural-nav .fm-structural-hint{
  display: none;
}

@media (max-width: 781px){
  .fm-structural-nav .wp-block-navigation{
    justify-content: flex-start !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    min-width: 0;
    padding-left: var(--fm-structural-gutter-mobile);
    padding-right: var(--fm-structural-gutter-mobile);
  }

  .fm-structural-nav .wp-block-navigation::-webkit-scrollbar{
    display: none;
  }

  .fm-structural-nav .wp-block-navigation__container{
    display: inline-flex !important;
    flex-wrap: nowrap;
    justify-content: flex-start !important;
    align-items: center;
    width: max-content !important;
    min-width: max-content;
    margin: 0 !important;
    overflow: visible;
    gap: var(--wp--preset--spacing--fm-four, 16px);
    white-space: nowrap;
  }

  .fm-structural-nav .wp-block-navigation-item{
    flex: 0 0 auto;
  }

  /* edge masks */
  .fm-structural-nav::before,
  .fm-structural-nav::after{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 32px;
    pointer-events: none;
    z-index: 10;
  }

  .fm-structural-nav::before{
    left: 0;
    background: linear-gradient(
      to right,
      #F7F6F3 40%,
      rgba(247,246,243,0)
    );
  }

  .fm-structural-nav::after{
    right: 0;
    background: linear-gradient(
      to left,
      #F7F6F3 40%,
      rgba(247,246,243,0)
    );
  }

  .fm-structural-nav .fm-structural-hint{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: var(--fm-structural-chevron-hit);
    height: var(--fm-structural-chevron-hit);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    border-radius: 4px;
    box-shadow: none;
    color: var(--wp--preset--color--fm-text-primary, #2E3440);
    cursor: pointer;
    z-index: 20;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    outline: none;
  }

  .fm-structural-nav .fm-structural-hint--left{
    left: 2px;
  }

  .fm-structural-nav .fm-structural-hint--right{
    right: 2px;
  }

  .fm-structural-nav .fm-structural-hint svg{
      width: 18px;
      height: 18px;
      display: block;
      fill: none;
      stroke: currentColor;
      stroke-width: 2.15;
      opacity: 1;
    }

  .fm-structural-nav .fm-structural-hint[hidden]{
    display: none !important;
  }

  /* suppress click/tap ring, keep keyboard accessibility */
  .fm-structural-nav .fm-structural-hint:focus{
    outline: none;
  }

  .fm-structural-nav .fm-structural-hint:active{
    outline: none;
    box-shadow: none;
  }

  .fm-structural-nav .fm-structural-hint:focus:not(:focus-visible){
    outline: none;
    box-shadow: none;
  }

  .fm-structural-nav .fm-structural-hint:focus-visible{
    outline: none;
    box-shadow: 0 0 0 2px var(--wp--preset--color--fm-accent, #5E7385);
    border-radius: 4px;
  }
}



/* =========================================================
   12) Footer — component-scoped, two-section architecture
   ========================================================= */
.fm-footer-main,
.fm-footer-bar{
  width: 100%;
  color: var(--fm-footer-fg);
}
.fm-footer-main{ background: var(--fm-footer-main-bg); }
.fm-footer-bar{ background: var(--fm-footer-bar-bg); }

.fm-footer-inner{
  max-width: var(--wp--style--global--wide-size, 1120px);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--fm-gutter);
  padding-right: var(--fm-gutter);
}

.fm-footer-main{
  padding-top: var(--wp--preset--spacing--fm-six, 40px);
  padding-bottom: var(--wp--preset--spacing--fm-five, 32px);
}

.fm-footer-brand{ max-width: 340px; }
.fm-footer-brand p{
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  margin: 0;
}
.fm-footer-brand p + p{ margin-top: var(--wp--preset--spacing--fm-two, 8px); }

.fm-footer-nav .wp-block-columns{ gap: var(--wp--preset--spacing--fm-four, 16px); }

.fm-footer-nav-group :where(h2,h3,h4){
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 12px 0;
  letter-spacing: 0.01em;
}

.fm-footer-nav-group :where(ul,ol){
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.fm-footer-main .fm-footer-nav-group .wp-block-list{ margin: 0; padding-left: 0; list-style: none; }
.fm-footer-main .fm-footer-nav-group .wp-block-list li{
  margin: 0 0 var(--wp--preset--spacing--fm-two, 8px) 0;
  padding: 0;
  line-height: 1.25 !important;
}
.fm-footer-main .fm-footer-nav-group .wp-block-list li > a,
.fm-footer-nav-group a{
  font-size: 14px;
  font-weight: 400;
  line-height: inherit !important;
  display: inline;
}
.fm-footer-nav-group :where(ul + h2, ul + h3, ul + h4){
  margin-top: var(--wp--preset--spacing--fm-three, 12px);
}

/* Footer hover underline uses text-decoration only */
.fm-footer-main a,
.fm-footer-bar a{
  color: inherit;
  border-bottom: 0 !important;
  text-decoration: none;
}
.fm-footer-main a:hover,
.fm-footer-main a:focus-visible,
.fm-footer-bar a:hover,
.fm-footer-bar a:focus-visible{
  text-decoration-line: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}

/* Footer logos never underline */
.fm-footer-main .wp-block-site-logo a,
.fm-footer-main .wp-block-image a,
.fm-footer-bar .wp-block-site-logo a,
.fm-footer-bar .wp-block-image a{
  text-decoration: none !important;
  border-bottom: 0 !important;
}

.fm-footer-bar{
  padding-top: var(--wp--preset--spacing--fm-three, 12px);
  padding-bottom: var(--wp--preset--spacing--fm-three, 12px);
  border-top: 1px solid rgba(247,246,243,0.12);
}
.fm-footer-bar p{
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  color: var(--fm-footer-muted);
  text-align: center;
}
.fm-footer-legal{
  margin-top: var(--wp--preset--spacing--fm-two, 8px);
  text-align: center;
}
.fm-footer-legal p{ color: var(--fm-footer-muted-2); }

/* =========================================================
   13) Contact Form 7
   ========================================================= */
.fm-form .wpcf7{
  margin: 0;
  max-width: 620px;
}
.fm-form .wpcf7 form{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.fm-form .wpcf7 label{
  display: block;
  font-weight: 600;
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  line-height: 1.4;
}
.fm-form .wpcf7 input[type="text"],
.fm-form .wpcf7 input[type="email"],
.fm-form .wpcf7 input[type="tel"],
.fm-form .wpcf7 input[type="url"],
.fm-form .wpcf7 input[type="number"],
.fm-form .wpcf7 input[type="date"],
.fm-form .wpcf7 select,
.fm-form .wpcf7 textarea{
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  font: inherit;
  font-size: var(--wp--preset--font-size--fm-md, 1rem);
  line-height: 1.4;
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  background: var(--wp--preset--color--fm-surface-white, #FFFFFF);
  border: 1px solid var(--wp--preset--color--fm-border, #D8DDE3);
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  padding: 10px 14px;
}
.fm-form .wpcf7 ::placeholder{
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  opacity: 0.7;
}
.fm-form .wpcf7 input:focus,
.fm-form .wpcf7 select:focus,
.fm-form .wpcf7 textarea:focus{
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385);
  outline-offset: 2px;
  border-color: var(--wp--preset--color--fm-accent, #5E7385);
  box-shadow: none;
}
.fm-form .wpcf7 textarea{
  min-height: 130px;
  resize: vertical;
}
.fm-form .wpcf7 p{ margin: 0; }
.fm-form .wpcf7 p strong{
  display: inline-block;
  margin-top: 8px;
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
}
.fm-form .wpcf7 .wpcf7-checkbox{
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}
.fm-form .wpcf7 .wpcf7-list-item{ margin: 0; }
.fm-form .wpcf7 .wpcf7-list-item label{
  font-weight: 500;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.fm-form .wpcf7 input[type="checkbox"],
.fm-form .wpcf7 input[type="radio"]{
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--wp--preset--color--fm-accent, #5E7385);
}
.fm-form .wpcf7 input[type="submit"]{
  align-self: flex-start;
  cursor: pointer;
  font-size: var(--wp--preset--font-size--fm-md, 1rem);
  font-weight: 600;
  padding: 12px 24px;
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  color: var(--wp--preset--color--fm-surface-white, #FFFFFF);
  background: var(--wp--preset--color--fm-accent, #5E7385);
  border: 1px solid var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: none !important;
}
.fm-form .wpcf7 input[type="submit"]:hover{ filter: brightness(0.92); }
.fm-form .wpcf7 input[type="submit"]:active{ filter: brightness(0.88); }
.fm-form .wpcf7 input[type="submit"]:focus-visible{
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385);
  outline-offset: 2px;
  box-shadow: none;
}
.fm-form .wpcf7 .wpcf7-not-valid-tip{
  margin-top: 6px;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  color: #B42318;
}
.fm-form .wpcf7 .wpcf7-response-output{
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  line-height: 1.5;
}
.fm-form .wpcf7 form.sent .wpcf7-response-output{
  border: 1px solid var(--wp--preset--color--fm-border, #D8DDE3);
  background: var(--wp--preset--color--fm-surface-subtle, #EEF1F4);
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
}
.fm-form .wpcf7 form.invalid .wpcf7-response-output,
.fm-form .wpcf7 form.failed .wpcf7-response-output{
  border: 1px solid #F2C6C6;
  background: #FFF5F5;
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
}

/* =========================================================
   14) Responsive adjustments
   ========================================================= */
@media (max-width: 1024px){
  .fm-grid-3,
  .fm-grid-3 > .wp-block-group__inner-container{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 781px){
  :root{
    --fm-section-py: 72px;
    --fm-gutter: 20px;
  }

  .fm-grid-2,
  .fm-grid-2 > .wp-block-group__inner-container,
  .fm-grid-3,
  .fm-grid-3 > .wp-block-group__inner-container{
    grid-template-columns: 1fr;
    gap: var(--wp--preset--spacing--fm-five, 24px);
  }

  .fm-section :where(h1,h2,h3,p,ul,ol),
  .fm-callout{ max-width: 100%; }

  .fm-overlay-grid::before{
    background-size: 56px 56px;
    opacity: 0.10;
  }

  .fm-footer-main{
    padding-top: var(--wp--preset--spacing--fm-five, 32px);
    padding-bottom: var(--wp--preset--spacing--fm-four, 24px);
  }
  .fm-footer-brand{
    max-width: 100%;
    margin-bottom: var(--wp--preset--spacing--fm-four, 16px);
  }
  .fm-footer-nav .wp-block-columns{ gap: var(--wp--preset--spacing--fm-three, 12px); }
  .fm-footer-bar{ text-align: center; }

  .fm-form .wpcf7{ max-width: 100%; }
  .fm-form .wpcf7 input[type="text"],
  .fm-form .wpcf7 input[type="email"],
  .fm-form .wpcf7 select,
  .fm-form .wpcf7 textarea{ padding: 10px 12px; }
}


/* =========================================================
   14) SVG image maintenance rules
   Header-specific Site Logo Block rules were removed because the governed
   header now uses its own custom markup and is styled in fm-header.css.
   Keep only the footer/global image SVG safety rule below.
   ========================================================= */

/* Footer / generic Image Block: standard SVG scaling */
.wp-block-image img[src$=".svg"] {
    height: auto !important; /* Prevents height collapse */
    width: 100%;
    display: block;
}


/* =========================================================
   15) Search Page
   ========================================================= */

/* ---------------------------------------------------------
   A) Page structure + intro
   --------------------------------------------------------- */
.search .wp-block-heading h1,
.search h1.wp-block-heading{
  margin-bottom: var(--wp--preset--spacing--fm-three, 12px);
}

.search .wp-block-group > p:first-of-type{
  margin-top: 0;
  margin-bottom: 0;
  max-width: 62ch;
  color: var(--fm-ink);
}

/* ---------------------------------------------------------
   B) Search block
   --------------------------------------------------------- */
.search .wp-block-search{
  margin-top: 0;
  margin-bottom: 0;
  max-width: 620px;
  width: 100%;
}

.search .wp-block-search .wp-block-search__inside-wrapper{
  min-height: 52px;
  background: var(--wp--preset--color--fm-surface-white, #FFFFFF);
  border: 1px solid var(--fm-border);
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  box-shadow: none;
}

.search .wp-block-search .wp-block-search__input[type="search"]{
  width: 100%;
  box-sizing: border-box;
  min-height: 50px;
  margin: 0;
  font: inherit;
  font-size: var(--wp--preset--font-size--fm-md, 1rem);
  line-height: 1.4;
  color: var(--fm-ink);
  background: transparent;
  border: 0;
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  padding: 10px 16px;
  -webkit-appearance: none;
  appearance: none;
}

.search .wp-block-search .wp-block-search__input[type="search"]::placeholder{
  color: var(--fm-muted);
  opacity: 0.7;
}

.search .wp-block-search .wp-block-search__input[type="search"]:focus{
  outline: none;
  box-shadow: none;
}

.search .wp-block-search:focus-within .wp-block-search__inside-wrapper{
  border-color: var(--wp--preset--color--fm-accent, #5E7385);
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385);
  outline-offset: 2px;
  box-shadow: none;
}

/* Remove browser-native search decorations */
.search .wp-block-search .wp-block-search__input[type="search"]::-webkit-search-decoration,
.search .wp-block-search .wp-block-search__input[type="search"]::-webkit-search-cancel-button,
.search .wp-block-search .wp-block-search__input[type="search"]::-webkit-search-results-button,
.search .wp-block-search .wp-block-search__input[type="search"]::-webkit-search-results-decoration{
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.search .wp-block-search .wp-block-search__input[type="search"]::-ms-clear,
.search .wp-block-search .wp-block-search__input[type="search"]::-ms-reveal{
  display: none;
  width: 0;
  height: 0;
}

.search .wp-block-search .wp-block-search__button{
  min-width: 52px;
  min-height: 50px;
  padding: 0 16px;
  border: 0;
  background: transparent;
  color: var(--fm-muted);
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.search .wp-block-search .wp-block-search__button:hover{
  background: transparent;
  color: var(--wp--preset--color--fm-accent, #5E7385);
}

.search .wp-block-search .wp-block-search__button:focus-visible{
  outline: 2px solid var(--wp--preset--color--fm-accent, #5E7385);
  outline-offset: 2px;
  box-shadow: none;
}

.search .wp-block-search .wp-block-search__button .search-icon{
  width: 20px;
  height: 20px;
  fill: currentColor;
}

/* ---------------------------------------------------------
   C) Search results title (H2)
   --------------------------------------------------------- */
.search .wp-block-query-title{
  margin-top: var(--wp--preset--spacing--fm-six, 24px);
  margin-bottom: var(--wp--preset--spacing--fm-four, 16px);
  color: var(--fm-ink);
  line-height: 1.3;
}

/* ---------------------------------------------------------
   D) Search results list
   --------------------------------------------------------- */
.search .wp-block-post-template{
  margin: 0;
  padding: 0;
}

.search .wp-block-post-template > li{
  list-style: none;
  margin: 0;
  padding: var(--wp--preset--spacing--fm-five, 20px) 0;
}

.search .wp-block-post-title{
  margin-top: 0;
  margin-bottom: 8px;
  color: var(--fm-ink);
  font-weight: 600;
  line-height: 1.35;
}

.search .wp-block-post-title a{
  color: inherit;
  text-decoration: none;
}

.search .wp-block-post-title a:hover,
.search .wp-block-post-title a:focus-visible{
  color: var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: underline;
  text-underline-offset: var(--fm-link-underline-offset);
}

.search .wp-block-post-title a:focus-visible{
  outline: none;
}

.search .wp-block-post-excerpt{
  margin: 0;
}

.search .wp-block-post-excerpt__excerpt{
  margin: 0;
  max-width: 72ch;
  color: var(--fm-muted);
  line-height: 1.6;
}

.search .wp-block-separator{
  margin-top: var(--wp--preset--spacing--fm-five, 20px);
  margin-bottom: 0;
  border: 0;
  border-top: 1px solid var(--fm-border);
  opacity: 1;
}

.search .wp-block-post-template > li:last-child .wp-block-separator{
  display: none;
}

/* ---------------------------------------------------------
   E) No results
   --------------------------------------------------------- */
.search .wp-block-query-no-results,
.search .wp-block-query-no-results p{
  color: var(--fm-ink);
}

/* ---------------------------------------------------------
   F) Pagination
   --------------------------------------------------------- */
.search .wp-block-query-pagination{
  gap: var(--wp--preset--spacing--fm-three, 12px);
  align-items: center;
  border-top: 1px solid var(--fm-border);
  padding-top: var(--wp--preset--spacing--fm-five, 20px);
}

.search .wp-block-query-pagination a,
.search .wp-block-query-pagination .page-numbers{
  color: var(--fm-ink);
  text-decoration: none;
}

.search .wp-block-query-pagination a:hover,
.search .wp-block-query-pagination a:focus-visible,
.search .wp-block-query-pagination .page-numbers:hover{
  color: var(--wp--preset--color--fm-accent, #5E7385);
  text-decoration: underline;
  text-underline-offset: var(--fm-link-underline-offset);
}

.search .wp-block-query-pagination .page-numbers.current{
  font-weight: 600;
  color: var(--fm-ink);
  text-decoration: none;
}

/* ---------------------------------------------------------
   G) Responsive
   --------------------------------------------------------- */
@media (max-width: 781px){
  .search .wp-block-search{
    max-width: 100%;
  }

  .search .wp-block-search .wp-block-search__inside-wrapper{
    min-height: 48px;
  }

  .search .wp-block-search .wp-block-search__input[type="search"]{
    min-height: 46px;
    padding: 10px 14px;
  }

  .search .wp-block-search .wp-block-search__button{
    min-width: 48px;
    min-height: 46px;
    padding: 0 14px;
  }

  .search .wp-block-post-template > li{
    padding: var(--wp--preset--spacing--fm-four, 16px) 0;
  }

  .search .wp-block-separator{
    margin-top: var(--wp--preset--spacing--fm-four, 16px);
  }

  .search .wp-block-query-pagination{
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}


/* =========================================================
   FlairMatrix — Insight Posts
   Final system aligned to Insight Content System v2
   ========================================================= */

.fm-insight-post{
  --fm-insight-band-max: 100%;
  --fm-insight-header-max: 860px;
  --fm-insight-body-max: 860px;
  --fm-insight-figure-max: 860px;
  --fm-insight-nav-max: 860px;
  background: transparent;
}

/* Gutenberg leakage guard */
.fm-insight-post.is-layout-constrained > *,
.fm-insight-post .is-layout-constrained > *{
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.fm-insight-post :where(.wp-block-group__inner-container){
  padding-left: 0;
  padding-right: 0;
}

/* Inner wrapper */
.fm-insight-inner{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Header band */
.fm-insight-band{
  width: 100%;
  max-width: var(--fm-insight-band-max);
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--wp--preset--spacing--fm-five, 32px);
  padding-bottom: var(--wp--preset--spacing--fm-five, 32px);
  background: var(--wp--preset--color--fm-surface-subtle, #EEF1F4);
}

/* Header content */
.fm-insight-header{
  width: 100%;
  max-width: var(--fm-insight-header-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--fm-gutter);
  padding-right: var(--fm-gutter);
}

/* Classification row */
.fm-insight-classification{
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--fm-two, 8px);
  align-items: center;
  margin: 0 0 var(--wp--preset--spacing--fm-four, 16px);
}

.fm-insight-category,
.fm-insight-tag{
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border: 1px solid rgba(216, 221, 227, 0.7);
  border-radius: var(--wp--preset--border-radius--fm-four, 4px);
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
}

.fm-insight-category{
  color: var(--wp--preset--color--fm-accent, #5E7385);
  background: rgba(255,255,255,0.35);
  font-weight: 500;
}

.fm-insight-tag{
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  background: rgba(255,255,255,0.18);
  font-weight: 500;
}

/* Header text */
.fm-insight-title{
  margin: 0 0 var(--wp--preset--spacing--fm-four, 16px);
  max-width: 28ch;
}

.fm-insight-dek{
  margin: 0 0 var(--wp--preset--spacing--fm-four, 16px);
  max-width: 60ch;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  line-height: 1.65;
}

.fm-insight-meta{
  margin: 0;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  line-height: 1.5;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
}

/* Body */
.fm-insight-body{
  width: 100%;
  max-width: var(--fm-insight-body-max);
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--wp--preset--spacing--fm-seven, 40px);
  padding-bottom: var(--wp--preset--spacing--fm-seven, 40px);
  padding-left: var(--fm-gutter);
  padding-right: var(--fm-gutter);
}

.fm-insight-body p{
  margin: 0;
  max-width: 72ch;
  line-height: 1.7;
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
}

.fm-insight-body p + p{
  margin-top: var(--wp--preset--spacing--fm-four, 16px);
}

.fm-insight-body h2{
  margin: var(--wp--preset--spacing--fm-six, 32px) 0 var(--wp--preset--spacing--fm-three, 12px);
  line-height: 1.32;
}

.fm-insight-body h3{
  margin: var(--wp--preset--spacing--fm-five, 24px) 0 var(--wp--preset--spacing--fm-two, 8px);
}

.fm-insight-body ul,
.fm-insight-body ol{
  margin-top: var(--wp--preset--spacing--fm-four, 16px);
  margin-bottom: var(--wp--preset--spacing--fm-four, 16px);
  padding-left: 1.25rem;
  max-width: 68ch;
}

.fm-insight-body li{
  margin-bottom: var(--wp--preset--spacing--fm-two, 8px);
  line-height: 1.65;
}

.fm-insight-body li:last-child{
  margin-bottom: 0;
}

/* Key line */
.fm-key-line{
  margin: var(--wp--preset--spacing--fm-five, 24px) 0;
  max-width: 42ch;
  font-weight: 600;
  line-height: 1.55;
}

/* Figure */
.fm-insight-figure{
  width: 100%;
  max-width: var(--fm-insight-figure-max);
  margin: var(--wp--preset--spacing--fm-six, 32px) auto;
}

.fm-insight-caption{
  margin-top: var(--wp--preset--spacing--fm-two, 8px);
  padding-left: 0.875rem;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
}

.fm-insight-closing{
  margin-top: var(--wp--preset--spacing--fm-five, 24px) !important;
}

/* Nav */
.fm-insight-nav{
  width: 100%;
  max-width: var(--fm-insight-nav-max);
  margin-left: auto;
  margin-right: auto;
  padding-top: var(--wp--preset--spacing--fm-five, 24px);
  padding-bottom: var(--wp--preset--spacing--fm-eight, 48px);
  padding-left: var(--fm-gutter);
  padding-right: var(--fm-gutter);
  border-top: 1px solid var(--wp--preset--color--fm-border, #D8DDE3);
}

.fm-insight-nav p{
  margin: 0;
}

/*.fm-insight-nav-back{
  margin-bottom: var(--wp--preset--spacing--fm-three, 12px) !important;
}

.fm-insight-nav-category{
  margin-bottom: var(--wp--preset--spacing--fm-five, 24px) !important;
}

.fm-insight-nav-prev,
.fm-insight-nav-next{
  display: inline-block;
  margin: 0 !important;
  vertical-align: top;
}

.fm-insight-nav-prev{
  padding-right: var(--wp--preset--spacing--fm-six, 32px);
}*/

.fm-insight-nav-back,
.fm-insight-nav-category,
.fm-insight-nav-prev,
.fm-insight-nav-next{
  display: inline-block;
  margin: 0 !important;
  vertical-align: top;
}
.fm-insight-nav-back,
.fm-insight-nav-prev{
  padding-right: var(--wp--preset--spacing--fm-five, 24px);
}

.fm-insight-nav-continue-reading-title{
    margin-top: var(--wp--preset--spacing--fm-six, 32px) !important;
    margin-bottom: var(--wp--preset--spacing--fm-three, 12px) !important;
}

.fm-insight-nav-continue-reading-list{
    margin-top: var(--wp--preset--spacing--fm-one, 4px) !important;
    margin-bottom: var(--wp--preset--spacing--fm-six, 32px) !important;
    list-style-type: none; 
    padding: 0;
    padding-left: var(--wp--preset--spacing--fm-three, 12px) !important;            
    margin: 0;             
}

.entry-content .fm-insight-nav a:not(.wp-block-button__link){
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: var(--wp--preset--color--fm-text-secondary, #3E4652);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--fm-sm, 0.95rem);
  line-height: 1.5;
}

.entry-content .fm-insight-nav a:not(.wp-block-button__link):hover,
.entry-content .fm-insight-nav a:not(.wp-block-button__link):active{
  color: var(--wp--preset--color--fm-text-primary, #2E3440);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: var(--fm-link-underline-offset, 0.18em);
}

/* Mobile */
@media (max-width: 781px){
  .fm-insight-band{
    padding-top: var(--wp--preset--spacing--fm-five, 24px);
    padding-bottom: var(--wp--preset--spacing--fm-five, 24px);
  }

  .fm-insight-title,
  .fm-insight-dek,
  .fm-insight-body p,
  .fm-insight-body ul,
  .fm-insight-body ol,
  .fm-key-line{
    max-width: none;
  }

  .fm-insight-caption{
    padding-left: 0.75rem;
  }

  .fm-insight-classification{
    gap: 6px;
  }

  .fm-insight-category,
  .fm-insight-tag{
    min-height: 26px;
    padding: 4px 8px;
  }

    /*
  .fm-insight-nav-prev,
  .fm-insight-nav-next{
    display: block;
  }

  .fm-insight-nav-prev{
    padding-right: 0;
    margin-bottom: var(--wp--preset--spacing--fm-three, 12px) !important;
  }*/
  
  .fm-insight-nav-back,
  .fm-insight-nav-category,
  .fm-insight-nav-prev,
  .fm-insight-nav-next{
    display: block;
  }

  .fm-insight-nav-back,
  .fm-insight-nav-prev{
    padding-right: 0;
    margin-bottom: var(--wp--preset--spacing--fm-three, 12px) !important;
  }
}