@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600&display=swap");

:root {
  --fp-paper: #ebe8e1;
  --fp-ink: #10100f;
  --fp-muted: rgba(16, 16, 15, 0.52);
  --fp-line: rgba(16, 16, 15, 0.14);
  --fp-soft: rgba(16, 16, 15, 0.055);
}

html,
body.fp-mechanics-body {
  background: var(--fp-paper) !important;
  color: var(--fp-ink) !important;
}

body.fp-mechanics-body {
  padding-bottom: 0 !important;
}

.fp-hidden,
.fp-original-prose {
  display: none !important;
}

.fp-hero {
  width: min(1080px, calc(100vw - 36px));
  margin: 0 auto 72px;
  padding: 54px 0 70px;

  color: var(--fp-ink);
  font-family: "Vazirmatn", sans-serif;

  border-bottom: 1px solid var(--fp-line);
}

.fp-hero-meta {
  display: flex;
  justify-content: space-between;
  gap: 20px;

  padding-bottom: 10px;
  margin-bottom: 58px;

  border-bottom: 1px solid var(--fp-line);

  color: var(--fp-muted);

  font-size: 9px;
  letter-spacing: 0.09em;
}

.fp-hero-meta span:first-child {
  direction: ltr;
}

.fp-hero-kicker {
  margin-bottom: 16px;

  direction: ltr;
  text-align: right;

  color: var(--fp-muted);

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.17em;
}

.fp-hero h1 {
  margin: 0 !important;
  padding: 0 !important;

  color: var(--fp-ink) !important;

  font-family: "Vazirmatn", sans-serif !important;
  font-size: clamp(52px, 9vw, 112px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.055em !important;
}

.fp-hero > p {
  max-width: 650px;

  margin: 32px 0 0 auto !important;

  color: rgba(16, 16, 15, 0.74) !important;

  font-family: "Vazirmatn", sans-serif !important;
  font-size: clamp(15px, 1.6vw, 18px) !important;
  font-weight: 300;
  line-height: 2.05 !important;
  text-align: right;
}


.fp-hero-controls {
  width: 100%;
  margin-top: 46px;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  border-top: 1px solid var(--fp-line);
  border-bottom: 1px solid var(--fp-line);

  direction: rtl;
}

.fp-guide-item {
  min-height: 72px;

  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 14px;

  padding: 13px 0;

  color: var(--fp-muted);
}

.fp-guide-item + .fp-guide-item {
  border-right: 1px solid var(--fp-line);
  padding-right: 22px;
}

.fp-guide-index {
  direction: ltr;

  color: rgba(16, 16, 15, 0.34);

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.fp-guide-text {
  color: rgba(16, 16, 15, 0.68);

  font-family: "Vazirmatn", sans-serif;

  font-size: 12px;
  font-weight: 300;
  line-height: 1.8;
}


.fp-chapter-title {
  width: min(900px, calc(100vw - 36px));

  margin:
    clamp(110px, 14vw, 180px)
    auto
    0 !important;

  padding:
    22px
    0
    0 !important;

  border-top: 1px solid var(--fp-line);

  color: var(--fp-ink) !important;

  font-family: "Vazirmatn", sans-serif !important;
  font-weight: 400 !important;
  text-align: right;
}

.fp-chapter-index {
  display: block;

  margin-bottom: 24px;

  direction: ltr;

  color: var(--fp-muted);

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 9px;
  letter-spacing: 0.12em;
}

.fp-chapter-fa {
  display: block;

  font-size: clamp(42px, 7vw, 82px);
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.fp-chapter-en {
  display: block;

  margin-top: 11px;

  direction: ltr;
  text-align: right;

  color: var(--fp-muted);

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.16em;
}

.fp-copy {
  width: min(690px, calc(100vw - 36px));

  margin:
    30px
    auto
    62px;

  color: rgba(16, 16, 15, 0.78);

  font-family: "Vazirmatn", sans-serif;
}

.fp-copy p {
  display: block !important;

  margin:
    0
    0
    19px !important;

  color: inherit !important;

  font-family: inherit !important;
  font-size: clamp(14px, 1.45vw, 17px) !important;
  font-weight: 300 !important;
  line-height: 2.05 !important;

  text-align: right !important;
}

.fp-interactive-label {
  width: min(720px, calc(100vw - 36px));

  margin:
    54px
    auto
    13px;

  padding-top: 9px;

  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;

  border-top: 1px solid var(--fp-line);

  color: var(--fp-muted);

  font-family: "Vazirmatn", sans-serif;
}

.fp-interactive-label span {
  direction: ltr;

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 8px;
}

.fp-interactive-label strong {
  font-size: 10px;
  font-weight: 400;
}

.fp-interactive-label small {
  direction: ltr;

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 7px;
  letter-spacing: 0.12em;
}

body.fp-mechanics-body .drawer_container {
  direction: ltr !important;
}

body.fp-mechanics-body .drawer_container *,
body.fp-mechanics-body canvas {
  direction: ltr !important;
}

.fp-credit {
  width: min(1080px, calc(100vw - 36px));

  margin:
    150px
    auto
    0;

  padding:
    22px
    0
    38px;

  display: flex;
  justify-content: space-between;
  gap: 28px;

  border-top: 1px solid var(--fp-line);

  color: var(--fp-muted);

  font-family: "Vazirmatn", sans-serif;
  font-size: 9px;
  line-height: 1.8;
}

.fp-credit span:first-child {
  direction: ltr;

  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  letter-spacing: 0.11em;
}

@media (max-width: 700px) {
  .fp-hero {
    padding-top: 32px;
    padding-bottom: 52px;
    margin-bottom: 56px;
  }

  .fp-hero-meta {
    margin-bottom: 44px;
  }

  .fp-hero h1 {
    font-size: clamp(48px, 15vw, 72px) !important;
  }

  .fp-hero > p {
    margin-top: 25px !important;

    font-size: 14px !important;
    line-height: 2 !important;
  }

  .fp-hero-controls {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .fp-guide-item {
    min-height: 58px;
    padding: 11px 0;
  }

  .fp-guide-item + .fp-guide-item {
    border-right: 0;
    border-top: 1px solid var(--fp-line);
    padding-right: 0;
  }

  .fp-guide-text {
    font-size: 11px;
  }

  .fp-chapter-title {
    margin-top: 96px !important;
  }

  .fp-chapter-fa {
    font-size: clamp(39px, 12vw, 58px);
  }

  .fp-copy {
    margin-top: 24px;
    margin-bottom: 42px;
  }

  .fp-copy p {
    font-size: 14px !important;
    line-height: 2 !important;
  }

  .fp-interactive-label {
    margin-top: 38px;
  }

  .fp-credit {
    margin-top: 100px;

    flex-direction: column;
  }
}

/* =========================================================
   MECHANICS GUIDE — FINAL CLEANUP
========================================================= */

.fp-hero-controls {
  width: 100%;
  margin-top: 40px;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 28px;

  border: 0 !important;

  direction: rtl;
}

.fp-guide-item {
  min-height: 0;

  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: baseline;
  gap: 12px;

  padding: 0 !important;

  border: 0 !important;

  color: var(--fp-muted);
}

.fp-guide-item + .fp-guide-item {
  border: 0 !important;
  padding: 0 !important;
}

.fp-guide-index {
  padding-top: 0;

  direction: ltr;

  color: rgba(16, 16, 15, 0.28);

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.12em;
}

.fp-guide-text {
  color: rgba(16, 16, 15, 0.72);

  font-family: "Vazirmatn", sans-serif;

  font-size: 12px;
  font-weight: 300;
  line-height: 1.85;
}

/* Reduce the large empty gap before first interactive */
.fp-hero {
  padding-bottom: 48px;
  margin-bottom: 34px;
}

/* Keep only one editorial separator before each interactive */
.fp-interactive-label {
  margin-top: 34px;

  padding-top: 12px;

  border-top: 1px solid rgba(16, 16, 15, 0.12);
}

.fp-interactive-label strong {
  color: rgba(16, 16, 15, 0.66);

  font-size: 10px;
  font-weight: 400;
}

.fp-interactive-label small {
  color: rgba(16, 16, 15, 0.42);
}

@media (max-width: 700px) {
  .fp-hero-controls {
    grid-template-columns: 1fr;

    gap: 18px;

    margin-top: 34px;
  }

  .fp-guide-item {
    grid-template-columns: 24px minmax(0, 1fr);

    gap: 10px;
  }

  .fp-guide-item + .fp-guide-item {
    border: 0 !important;
  }

  .fp-guide-text {
    font-size: 11.5px;
    line-height: 1.8;
  }

  .fp-hero {
    padding-bottom: 38px;
    margin-bottom: 24px;
  }

  .fp-interactive-label {
    margin-top: 26px;
    padding-top: 10px;
  }
}

/* =========================================================
   FARBOD MECHANICS — UNIFIED CONTROL ACCENT
   ========================================================= */

:root {
  --fp-accent: #A6B35B;
  --fp-accent-strong: #8F9C49;
  --fp-accent-soft: rgba(166, 179, 91, 0.22);
  --fp-control-ink: #2f2d29;
  --fp-control-muted: #cfc9bf;
  --fp-control-bg: rgba(166, 179, 91, 0.08);
}

/* -------------------------
   Generic control buttons
   ------------------------- */
.fp-mech-icon-button,
.fp-mechanics-body button {
  border-color: var(--fp-accent-soft) !important;
  background: var(--fp-control-bg) !important;
  color: var(--fp-control-ink) !important;
}

.fp-mech-icon-button:hover,
.fp-mechanics-body button:hover {
  border-color: var(--fp-accent) !important;
  background: rgba(166, 179, 91, 0.14) !important;
}

/* keep icon shapes visible */
.fp-mech-icon-button::before,
.fp-mech-icon-button::after {
  background-color: var(--fp-control-ink) !important;
  border-color: var(--fp-control-ink) !important;
}

/* -------------------------
   Unified sliders
   ------------------------- */
.fp-mechanics-body input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  background: transparent !important;
  accent-color: var(--fp-accent) !important;
}

.fp-mechanics-body input[type="range"]::-webkit-slider-runnable-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to right,
    var(--fp-accent) 0%,
    var(--fp-accent) 50%,
    var(--fp-control-muted) 50%,
    var(--fp-control-muted) 100%
  ) !important;
}

.fp-mechanics-body input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 34px !important;
  height: 34px !important;
  margin-top: -14px !important;
  border: 2px solid var(--fp-accent) !important;
  border-radius: 999px !important;
  background: var(--fp-accent) !important;
  box-shadow: 0 0 0 6px rgba(166, 179, 91, 0.14) !important;
}

.fp-mechanics-body input[type="range"]::-moz-range-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--fp-control-muted) !important;
}

.fp-mechanics-body input[type="range"]::-moz-range-progress {
  height: 6px !important;
  border-radius: 999px !important;
  background: var(--fp-accent) !important;
}

.fp-mechanics-body input[type="range"]::-moz-range-thumb {
  width: 34px !important;
  height: 34px !important;
  border: 2px solid var(--fp-accent) !important;
  border-radius: 999px !important;
  background: var(--fp-accent) !important;
  box-shadow: 0 0 0 6px rgba(166, 179, 91, 0.14) !important;
}

/* -------------------------
   Any active states
   ------------------------- */
.fp-mechanics-body .active,
.fp-mechanics-body [aria-pressed="true"],
.fp-mechanics-body [data-active="true"] {
  color: var(--fp-accent-strong) !important;
  border-color: var(--fp-accent) !important;
}

/* -------------------------
   Remove random red leftovers
   ------------------------- */
.fp-mechanics-body * {
  scrollbar-color: var(--fp-accent) transparent;
}


/* =========================================================
   FARBOD MECHANICS SLIDER SYSTEM
   ========================================================= */

.slider_left_gutter,
.slider_right_gutter,
.slider_knob {
    background: #A6B35B !important;
}

.slider_right_gutter {
    opacity: 0.28;
}

.slider_knob {
    box-shadow:
        0 0 0 8px rgba(166,179,91,0.12);
}

.slider_left_gutter {
    background: #A6B35B !important;
}


/* ===== tighten top spacing in mechanics hero ===== */
.fp-mechanics-hero {
  padding-top: 12px !important;
}

.fp-hero-top {
  margin-bottom: 22px !important;
}

.fp-mechanics-hero > :first-child,
.fp-mechanics-hero > header:first-child,
.fp-mechanics-hero > section:first-child {
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  .fp-mechanics-hero {
    padding-top: 8px !important;
    padding-bottom: 48px !important;
  }

  .fp-hero-top {
    margin-bottom: 18px !important;
  }
}


/* =========================================================
   FARbod mechanics hero compact layout
   ========================================================= */

.fp-mechanics-hero {
    min-height: auto !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.fp-hero-top {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 20px !important;
}

.fp-section-title,
h1.fp-section-title {
    margin-top: 55px !important;
}

.fp-section-summary {
    margin-top: 18px !important;
}


@media (max-width: 700px) {

    .fp-section-title,
    h1.fp-section-title {
        margin-top: 35px !important;
    }

}



/* =================================
   FARBOD MECHANICS — FINAL ENDING
================================= */

body.fp-mechanics-body {
    overflow-x: hidden;
    padding-bottom: 0 !important;
}

/* Keep the original source ending hidden */
body.fp-mechanics-body #footer,
body.fp-mechanics-body .article_footer,
body.fp-mechanics-body .patreon,
body.fp-mechanics-body .fp-original-footer,
body.fp-mechanics-body .fp-hidden-source-section {
    display: none !important;
}

/* Remove leftover space from the source article */
body.fp-mechanics-body #content,
body.fp-mechanics-body .article,
body.fp-mechanics-body .padding_wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

body.fp-mechanics-body #final-words {
    margin-bottom: 28px !important;
}

/* Farbod footer */
body.fp-mechanics-body footer.fp-farbod-footer {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 48px 0 0 !important;
    padding: 30px 0 34px !important;

    border-top: 1px solid var(--fp-line) !important;

    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;

    color: var(--fp-muted);
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.08em;
}

body.fp-mechanics-body footer.fp-farbod-footer .brand {
    color: var(--fp-ink);
    font-weight: 500;
    letter-spacing: 0.12em;
}

body.fp-mechanics-body footer.fp-farbod-footer .credit {
    text-align: right;
}

@media (max-width: 700px) {
    body.fp-mechanics-body footer.fp-farbod-footer {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;

        margin-top: 34px !important;
        padding: 24px 0 28px !important;
    }

    body.fp-mechanics-body footer.fp-farbod-footer .credit {
        text-align: left;
    }
}


/* ================================
   FARbod COMPACT ARTICLE SYSTEM
================================ */


/* Remove original article vertical rhythm */

body.fp-mechanics-body .padding_wrapper {

    padding-top: 0 !important;
    padding-bottom: 40px !important;

}


body.fp-mechanics-body .article {

    margin-top: 0 !important;
    padding-top: 0 !important;

}


/* Sections */

body.fp-mechanics-body h1.fp-chapter-title {

    margin-top: 80px !important;
    margin-bottom: 35px !important;

}


/* Interactive blocks */

body.fp-mechanics-body .drawer_container {

    margin-top: 20px !important;
    margin-bottom: 35px !important;

}


/* Sliders */

body.fp-mechanics-body .slider_red,
body.fp-mechanics-body .slider_gray,
body.fp-mechanics-body .slider_yellow,
body.fp-mechanics-body .slider_blue,
body.fp-mechanics-body .slider_green,
body.fp-mechanics-body .slider_violet,
body.fp-mechanics-body .slider_assembly {

    margin-bottom: 30px !important;

}


/* Hidden original paragraphs */

body.fp-mechanics-body .fp-original-prose {

    display:none !important;

}


/* Remove original empty ending */

body.fp-mechanics-body #final-words {

    margin-bottom:30px !important;

}


/* FINAL FOOTER POLISH */

body.fp-mechanics-body footer.fp-farbod-footer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 24px 0 0 !important;
    padding: 18px 0 22px !important;

    border-top: 1px solid var(--fp-line) !important;

    color: var(--fp-muted) !important;
    min-height: auto !important;
}

body.fp-mechanics-body footer.fp-farbod-footer * {
    box-sizing: border-box;
}

body.fp-mechanics-body .fp-farbod-footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

body.fp-mechanics-body .fp-farbod-footer-title {
    color: var(--fp-ink);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.4;
}

body.fp-mechanics-body .fp-farbod-footer-copyright {
    color: var(--fp-muted);
    font-size: 10px;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

body.fp-mechanics-body .fp-farbod-footer-bottom {
    display: grid;
    gap: 6px;
}

body.fp-mechanics-body .fp-farbod-footer-summary,
body.fp-mechanics-body .fp-farbod-footer-credit {
    margin: 0;
    line-height: 1.8;
}

body.fp-mechanics-body .fp-farbod-footer-summary {
    color: rgba(16, 16, 15, 0.72);
    font-size: 12px;
}

body.fp-mechanics-body .fp-farbod-footer-credit {
    color: rgba(16, 16, 15, 0.48);
    font-size: 10px;
    letter-spacing: 0.02em;
    direction: ltr;
    text-align: left;
}

@media (max-width: 700px) {
    body.fp-mechanics-body footer.fp-farbod-footer {
        gap: 10px !important;
        margin-top: 20px !important;
        padding: 16px 0 18px !important;
    }

    body.fp-mechanics-body .fp-farbod-footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    body.fp-mechanics-body .fp-farbod-footer-title {
        font-size: 11px;
        letter-spacing: 0.12em;
    }

    body.fp-mechanics-body .fp-farbod-footer-summary {
        font-size: 11px;
        line-height: 1.9;
    }

    body.fp-mechanics-body .fp-farbod-footer-credit {
        font-size: 9px;
        line-height: 1.7;
    }
}

/* ENGLISH FOOTER ALIGNMENT */

body.fp-mechanics-body footer.fp-farbod-footer {
    direction: ltr !important;
    text-align: left !important;
}

body.fp-mechanics-body .fp-farbod-footer-top,
body.fp-mechanics-body .fp-farbod-footer-bottom {
    direction: ltr !important;
    text-align: left !important;
}

body.fp-mechanics-body .fp-farbod-footer-summary,
body.fp-mechanics-body .fp-farbod-footer-credit {
    direction: ltr !important;
    text-align: left !important;
}


/* =========================================================
   FARBOD MECHANICS — BILINGUAL DIRECTION SYSTEM
   ========================================================= */

body.fp-mechanics-body.fp-lang-en .fp-hero,
body.fp-mechanics-body.fp-lang-en .fp-chapter-title,
body.fp-mechanics-body.fp-lang-en .fp-copy,
body.fp-mechanics-body.fp-lang-en .fp-interactive-label {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
}

body.fp-mechanics-body.fp-lang-en .fp-hero {
  direction: ltr;
  text-align: left;
}

body.fp-mechanics-body.fp-lang-en .fp-hero-meta {
  direction: ltr;
}

body.fp-mechanics-body.fp-lang-en .fp-hero-kicker {
  direction: ltr;
  text-align: left;
}

body.fp-mechanics-body.fp-lang-en .fp-hero h1 {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  text-align: left !important;
  letter-spacing: -0.06em !important;
}

body.fp-mechanics-body.fp-lang-en .fp-hero > p {
  margin-left: 0 !important;
  margin-right: auto !important;

  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  text-align: left !important;
  line-height: 1.8 !important;
}

body.fp-mechanics-body.fp-lang-en .fp-hero-controls {
  direction: ltr;
}

body.fp-mechanics-body.fp-lang-en .fp-guide-item {
  direction: ltr;
}

body.fp-mechanics-body.fp-lang-en .fp-guide-text {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

body.fp-mechanics-body.fp-lang-en .fp-chapter-title {
  direction: ltr;
  text-align: left;

  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;
}

body.fp-mechanics-body.fp-lang-en .fp-chapter-fa {
  direction: ltr;
  text-align: left;

  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  letter-spacing: -0.055em;
}

body.fp-mechanics-body.fp-lang-en .fp-chapter-en {
  display: none !important;
}

body.fp-mechanics-body.fp-lang-en .fp-copy {
  direction: ltr;
}

body.fp-mechanics-body.fp-lang-en .fp-copy p {
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  text-align: left !important;
  line-height: 1.82 !important;
}

body.fp-mechanics-body.fp-lang-en .fp-interactive-label {
  direction: ltr;
}

body.fp-mechanics-body.fp-lang-en .fp-interactive-label strong {
  text-align: left;
}

body.fp-mechanics-body.fp-lang-fa .fp-farbod-footer-summary {
  direction: rtl !important;
  text-align: right !important;

  font-family:
    "Vazirmatn",
    sans-serif;
}

body.fp-mechanics-body.fp-lang-fa .fp-farbod-footer-credit {
  direction: rtl !important;
  text-align: right !important;

  font-family:
    "Vazirmatn",
    sans-serif;
}

body.fp-mechanics-body.fp-lang-en .fp-farbod-footer-summary,
body.fp-mechanics-body.fp-lang-en .fp-farbod-footer-credit {
  direction: ltr !important;
  text-align: left !important;

  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

body.fp-mechanics-body.fp-lang-fa .gear_train5_explainer {
  direction: rtl;
  text-align: right;
  font-family:
    "Vazirmatn",
    sans-serif;
}

body.fp-mechanics-body.fp-lang-en .gear_train5_explainer {
  direction: ltr;
  text-align: left;
  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}

@media (max-width: 700px) {
  body.fp-mechanics-body.fp-lang-en .fp-hero h1 {
    font-size:
      clamp(
        46px,
        13vw,
        68px
      ) !important;

    line-height: .98 !important;
  }

  body.fp-mechanics-body.fp-lang-en .fp-copy p {
    line-height: 1.78 !important;
  }
}


/* =========================================================
   FARBOD MECHANICS — MODEL EDUCATIONAL CAPTIONS
   ========================================================= */

.fp-interactive-caption {
  width: min(720px, calc(100vw - 36px));

  box-sizing: border-box;

  margin:
    -3px
    auto
    -4px !important;

  padding:
    0
    46px
    0
    46px;

  color: rgba(16, 16, 15, 0.58) !important;

  font-size: 11.5px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;

  text-wrap: pretty;
}

body.fp-mechanics-body.fp-lang-fa
.fp-interactive-caption {
  direction: rtl;

  text-align: right;

  font-family:
    "Vazirmatn",
    sans-serif !important;
}

body.fp-mechanics-body.fp-lang-en
.fp-interactive-caption {
  direction: ltr;

  text-align: left;

  font-family:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  line-height: 1.65 !important;
}

@media (max-width: 700px) {
  .fp-interactive-caption {
    width: min(
      720px,
      calc(100vw - 36px)
    );

    margin:
      -1px
      auto
      -2px !important;

    padding:
      0
      34px
      0
      34px;

    font-size: 10.5px !important;
    line-height: 1.8 !important;
  }

  body.fp-mechanics-body.fp-lang-en
  .fp-interactive-caption {
    line-height: 1.65 !important;
  }
}

/* MECHANICS BODY READABILITY POLISH START */
p,
li,
figcaption,
.fp-copy,
.fp-body,
.fp-detail,
.fp-note,
.fp-caption,
.fp-guide-text,
.fp-spec-text,
.fp-model-caption,
.fp-annotation {
  font-size: clamp(16px, 1.02vw, 18px);
  line-height: 1.95;
  letter-spacing: -0.01em;
  font-weight: 400;
  color: rgba(17, 17, 17, 0.82);
}

.fp-meta,
.fp-guide-index,
.fp-caption-index,
.fp-spec-label,
.fp-kicker,
.fp-overline,
small {
  font-size: clamp(12px, 0.78vw, 13px);
  line-height: 1.6;
  letter-spacing: 0.08em;
  font-weight: 500;
  color: rgba(17, 17, 17, 0.52);
}

.fp-guide-item,
.fp-spec-row,
.fp-caption,
.fp-note {
  line-height: 1.9;
}
/* MECHANICS BODY READABILITY POLISH END */

/* FARBOD MECHANICS — SITE FONT ALIGNMENT START */

/*
  Match the V2 site typography:
  English editorial → site serif
  English UI / metadata → site sans
  Persian remains Vazirmatn via existing rules.
*/

body.fp-mechanics-body.fp-lang-en .fp-hero,
body.fp-mechanics-body.fp-lang-en .fp-hero h1,
body.fp-mechanics-body.fp-lang-en .fp-chapter-title,
body.fp-mechanics-body.fp-lang-en .fp-chapter-fa,
body.fp-mechanics-body.fp-lang-en .fp-copy,
body.fp-mechanics-body.fp-lang-en .fp-copy p,
body.fp-mechanics-body.fp-lang-en .fp-interactive-caption,
body.fp-mechanics-body.fp-lang-en .fp-farbod-footer-summary {
  font-family:
    "Iowan Old Style",
    "Baskerville",
    "Times New Roman",
    serif !important;
}

body.fp-mechanics-body.fp-lang-en .fp-hero-meta,
body.fp-mechanics-body.fp-lang-en .fp-hero-kicker,
body.fp-mechanics-body.fp-lang-en .fp-guide-text,
body.fp-mechanics-body.fp-lang-en .fp-guide-index,
body.fp-mechanics-body.fp-lang-en .fp-interactive-label,
body.fp-mechanics-body.fp-lang-en .fp-interactive-label strong,
body.fp-mechanics-body.fp-lang-en .fp-interactive-label span,
body.fp-mechanics-body.fp-lang-en .fp-interactive-label small,
body.fp-mechanics-body.fp-lang-en .gear_train5_explainer,
body.fp-mechanics-body.fp-lang-en .fp-farbod-footer-credit {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    system-ui,
    sans-serif !important;
}

/* FARBOD MECHANICS — SITE FONT ALIGNMENT END */

/* FARBOD MECHANICS — GUIDE BASELINE FIX START */

.fp-guide-item {
  display: flex !important;
  align-items: baseline !important;
  gap: clamp(14px, 1.6vw, 22px);
}

.fp-guide-index {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1 !important;
  transform: translateY(0.08em);
}

.fp-guide-text {
  margin: 0;
  line-height: 1.35;
}

/* FARBOD MECHANICS — GUIDE BASELINE FIX END */
