/* --------------------------------------------------------------------------
   Single font showcase (template-font-mezakh.php)
   -------------------------------------------------------------------------- */

.oz-font-page {
  /* UI chrome (nav, titles, meta) — always Mezakh. --oz-fp-sample-font set in PHP. */
  --oz-fp-ui-font: var(--oz-font-mezakh), sans-serif;
  --oz-fp-muted: #6b6b6b;
  --oz-fp-rule: rgba(var(--oz-ink-rgb), 0.15);
  --oz-fp-panel: #f5f5f5;
  font-family: var(--oz-fp-ui-font);
  padding-bottom: clamp(3rem, 8vw, 5rem);
  font-variant-emoji: text;
  overflow-x: clip;
  max-width: 100%;
}

/* Type set in the showcased family (tester, glyphs, specimens, style cards). */
.oz-font-page__sample {
  font-family: var(--oz-fp-sample-font);
}

/* Do not inherit site UI OpenType (body uses Mezakh ss06). Glyph cells set features inline. */
.oz-font-page__sample:not(.oz-font-page__glyph-cell) {
  font-feature-settings: normal;
}

.oz-font-page__specimen-body,
.oz-font-page__specimen-line,
.oz-font-page__specimen-col {
  font-family: var(--oz-fp-specimen-font, var(--oz-fp-sample-font));
  font-weight: inherit;
  font-feature-settings: inherit;
}

.oz-font-page__nav-bar {
  --oz-fp-nav-bg: #f5f5f5;
  border-block-end: none;
  background: var(--oz-fp-nav-bg);
}

.oz-font-page__nav-inner {
  max-width: var(--oz-max);
  margin-inline: auto;
  padding: clamp(1rem, 2.5vw, 1.35rem) var(--oz-gutter);
}

.oz-font-page__nav-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(0.85rem, 2vw, 1.1rem);
  width: 100%;
}

.oz-font-page__nav-links-slot {
  display: flex;
  justify-content: center;
  width: 100%;
}

.oz-font-page__pack-toggle {
  --oz-fp-toggle-h: 2.5rem;
  --oz-fp-toggle-pad: 3px;
  --oz-fp-toggle-inner-r: calc((var(--oz-fp-toggle-h) - 2 * var(--oz-fp-toggle-pad)) / 2);
  --oz-fp-toggle-index: 0;
  --oz-fp-toggle-duration: 0.28s;
  --oz-fp-toggle-ease: cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  direction: ltr;
  box-sizing: border-box;
  min-width: 11.75rem;
  height: var(--oz-fp-toggle-h);
  padding: var(--oz-fp-toggle-pad);
  gap: 0;
  border-radius: 12px;
  background: var(--oz-ink);
}

.oz-font-page__toggle-thumb {
  position: absolute;
  top: var(--oz-fp-toggle-pad);
  left: var(--oz-fp-toggle-pad);
  z-index: 0;
  width: calc((100% - 2 * var(--oz-fp-toggle-pad)) / 2);
  height: calc(100% - 2 * var(--oz-fp-toggle-pad));
  border-radius: 8px;
  background: #fff;
  pointer-events: none;
  transform: translateX(calc(var(--oz-fp-toggle-index) * 100%));
  transition: transform var(--oz-fp-toggle-duration) var(--oz-fp-toggle-ease);
}

.oz-font-page__toggle {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 3rem;
  border: none;
  border-radius: var(--oz-fp-toggle-inner-r);
  background: transparent;
  font-family: inherit;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  color: #fff;
  white-space: nowrap;
  transition: color var(--oz-fp-toggle-duration) var(--oz-fp-toggle-ease);
}

.oz-font-page__toggle.is-active {
  color: var(--oz-ink);
}

@media (prefers-reduced-motion: reduce) {
  .oz-font-page__toggle-thumb,
  .oz-font-page__toggle {
    transition-duration: 0.01ms;
  }
}

.oz-font-page__font-nav {
  flex: 0 1 auto;
}

.oz-font-page__font-nav--hidden,
.oz-font-page__font-nav[hidden] {
  display: none !important;
}

.oz-font-page__font-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: clamp(0.75rem, 2.5vw, 1rem);
  direction: rtl;
}

.oz-font-page__font-list li {
  display: flex;
  flex: 0 0 auto;
  min-width: 5rem;
}

.oz-font-page__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.5rem 1rem;
  text-decoration: none;
  text-align: center;
  font-family: inherit;
  font-weight: 600;
  font-size: 1.2rem;
  color: var(--oz-ink);
  line-height: 1;
  background: transparent;
  white-space: nowrap;
}

.oz-font-page__nav-link:hover:not(.oz-font-page__nav-link--current) {
  opacity: 0.75;
}

.oz-font-page__nav-link--current {
  border-radius: 8px;
  background: #fff;
  color: var(--oz-ink);
  border: 1px solid var(--oz-ink);
}

@media (max-width: 480px) {
  .oz-font-page__font-list {
    gap: 0.5rem 1rem;
  }

  .oz-font-page__font-list li {
    min-width: 6rem;
  }
}

/* —— Name lockup (Mezakh | anchor | מזח) —— */
.oz-font-page__name {
  padding: clamp(2.5rem, 6vw, 4rem) var(--oz-gutter);
  background: #fff;
}

.oz-font-page__name-row {
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  direction: ltr;
  align-items: center;
  justify-content: center;
  gap: clamp(1.25rem, 4vw, 1rem);
  line-height: 1;
  color: var(--oz-ink);
}

.oz-font-page__name-en,
.oz-font-page__name-he {
  font-size: clamp(2.5rem, 16vw, 8rem);
}

.oz-font-page__name-he {
  direction: rtl;
  unicode-bidi: isolate;
}

.oz-font-page__name-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  font-size: clamp(2.5rem, 16vw, 8rem);
  line-height: 1;
  color: var(--oz-ink);
  font-variant-emoji: text;
}

/* —— Details —— */
.oz-font-page__details {
  background: #f5f5f5;
  padding: clamp(2.5rem, 6vw, 4rem) var(--oz-gutter);
}

.oz-font-page__details-inner {
  max-width: var(--oz-max);
  margin-inline: auto;
  display: grid;
  gap: clamp(2rem, 5vw, 3rem);
  grid-template-columns: 1fr;
}

@media (min-width: 984px) {
  .oz-font-page__details-inner {
    grid-template-columns: minmax(10rem, 15rem) minmax(0, 1fr);
    align-items: start;
    gap: clamp(2.5rem, 8vw, 6rem);
  }
}

.oz-font-page__dl {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  text-align: right;
}

.oz-font-page__dl > div {
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  line-height: 1.55;
}

.oz-font-page__dl dt,
.oz-font-page__dl dd {
  display: inline;
  margin: 0;
  font-weight: 400;
  color: var(--oz-ink);
}

.oz-font-page__dl dt::after {
  content: ': ';
}

.oz-font-page__details-copy {
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--oz-ink);
  text-align: right;
}

.oz-font-page__langs-wrap {
  max-width: var(--oz-max);
  margin-inline: auto;
  margin-top: clamp(1.5rem, 4vw, 2.25rem);
  padding-top: clamp(1.25rem, 3vw, 1.75rem);
  border-top: 1px solid rgba(var(--oz-ink-rgb), 0.12);
  text-align: right;
}

.oz-font-page__langs {
  margin: 0;
}

.oz-font-page__langs-summary {
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  font-weight: 400;
  color: var(--oz-ink);
  text-align: right;
  user-select: none;
}

.oz-font-page__langs-summary-text {
  text-align: right;
}

.oz-font-page__langs-chevron {
  flex-shrink: 0;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0.35em 0 0.35em;
  border-color: var(--oz-ink) transparent transparent transparent;
  transition: transform 0.35s ease;
  transform: rotate(90deg);
  margin-top: 2px;
}

.oz-font-page__langs.is-open .oz-font-page__langs-chevron {
  transform: rotate(0deg);
}

.oz-font-page__langs-collapse {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.oz-font-page__langs.is-open .oz-font-page__langs-collapse {
  grid-template-rows: 1fr;
}

.oz-font-page__langs-panel {
  min-height: 0;
  overflow: hidden;
  padding-top: 0.85rem;
  opacity: 0;
  transform: translateY(-0.4rem);
  transition:
    opacity 0.32s ease,
    transform 0.32s ease;
}

.oz-font-page__langs.is-open .oz-font-page__langs-panel {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 0.38s ease 0.08s,
    transform 0.38s ease 0.08s;
}

@media (prefers-reduced-motion: reduce) {
  .oz-font-page__langs-collapse,
  .oz-font-page__langs-panel,
  .oz-font-page__langs-chevron {
    transition: none;
  }
}

.oz-font-page__langs-list {
  margin: 0;
  font-size: clamp(0.8rem, 1.35vw, 0.92rem);
  line-height: 1.65;
  font-weight: 400;
  color: #333;
  text-align: left;
}

/* —— Tester —— */
.oz-font-page__tester {
  max-width: var(--oz-max);
  margin-inline: auto;
  padding: clamp(2rem, 5vw, 3rem) var(--oz-gutter);
  box-sizing: border-box;
}

.oz-font-page__tester-bar {
  direction: ltr;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1.25rem 1.75rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--oz-fp-rule);
}

.oz-font-page__reset {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  border: 1px solid var(--oz-border);
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--oz-ink);
  flex-shrink: 0;
}

.oz-font-page__reset[hidden] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.oz-font-page__reset:hover {
  background: var(--oz-fp-panel);
}

.oz-font-page__align {
  display: inline-flex;
  flex-direction: row;
  direction: ltr;
  gap: 0.35rem;
  border: 1px solid var(--oz-border);
  padding: 0.25rem;
  border-radius: 6px;
  background: #fff;
}

.oz-font-page__align-btn {
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: max(4px, 0.2rem);
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--oz-muted);
}

.oz-font-page__align-btn.is-active {
  background: var(--oz-fp-panel);
  color: var(--oz-ink);
}

.oz-font-page__align-btn .fa-solid {
  font-size: 1rem;
  line-height: 1;
}

.oz-font-page__slider-unit {
  flex: 1 1 8rem;
  min-width: min(100%, 11rem);
  display: grid;
  gap: 0.25rem;
}

.oz-font-page__slider-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--oz-muted);
  text-align: center;
}

.oz-font-page__slider-val {
  display: block;
  text-align: center;
  font-size: 0.9rem;
  font-weight: 600;
  min-height: 1.25rem;
}

.oz-font-page__range {
  width: 100%;
  margin: 0;
  accent-color: var(--oz-ink);
}

.oz-font-page__preview {
  min-height: clamp(6rem, 28vw, 16rem);
  padding: clamp(1.5rem, 3.5vw, 2.5rem);
  background: #fff;
  border: 1px solid var(--oz-fp-rule);
  border-radius: max(4px, 0.25rem);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 400;
  letter-spacing: 0;
  outline: none;
  overflow-wrap: anywhere;
  max-width: 100%;
  box-sizing: border-box;
}

.oz-font-page__preview[dir='rtl'] {
  direction: rtl;
  text-align: right;
}

.oz-font-page__preview[dir='ltr'] {
  direction: ltr;
  text-align: left;
}

.oz-font-page__preview:focus-visible {
  outline: 2px solid var(--oz-ink);
}

/* Pasted rich text should not keep source fonts, colors, or link styling. */
.oz-font-page__preview :is(a, span, font, b, i, u, em, strong) {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}

/* —— Specimens (weight examples) —— */
.oz-font-page__specimens {
  padding: 0 var(--oz-gutter);
  background: #fff;
}

.oz-font-page__specimens-inner {
  display: flex;
  flex-direction: column;
  max-width: var(--oz-max);
  margin-inline: auto;
}

.oz-font-page__specimen {
  --oz-fp-specimen-lh: 1.2;
  padding: clamp(2.25rem, 5vw, 3.25rem) 0;
  border-block-start: 1px solid var(--oz-fp-rule);
  background: #fff;
  color: var(--oz-ink);
  max-width: 100%;
  overflow-x: clip;
  container-type: inline-size;
}

.oz-font-page__specimens-inner > .oz-font-page__specimen:first-child {
  border-block-start: none;
  padding-block-start: clamp(1.5rem, 4vw, 2.5rem);
}

.oz-font-page__specimen-head {
  direction: ltr;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.oz-font-page__specimen-sub {
  font-size: clamp(1.05rem, 1.85vw, 1.3rem);
  color: var(--oz-fp-muted);
  font-weight: 400;
  line-height: 1.35;
}

.oz-font-page__specimen-family {
  font-weight: 700;
  color: var(--oz-fp-muted);
}

/* Lyristate — single weight; hide stale Regular / רגיל suffixes on specimen headers */
.oz-font-page--lyristate .oz-font-page__specimen-weight-label {
  display: none;
}

.oz-font-page--lyristate .oz-font-page__specimen--quote .oz-font-page__specimen-weight-label {
  display: inline;
}

.oz-font-page__specimen-sub--he {
  text-align: end;
}

.oz-font-page__specimen-body {
  margin: 0;
  max-width: 100%;
  box-sizing: border-box;
  /* anywhere + mixed bidi splits Latin at hyphens and mirrors parentheses. */
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  font-size: var(--oz-fp-specimen-line-size, clamp(1.05rem, 2vw, 2.2rem));
  line-height: var(--oz-fp-specimen-lh);
  text-align: right;
}

/* Latin / digit runs inside RTL specimen copy.
   inline-block: the whole phrase moves to the next line instead of splitting
   mid-parenthesis. max-width 100% lets a too-long phrase wrap inside the LTR box. */
.oz-font-page__ltr {
  display: inline-block;
  direction: ltr;
  unicode-bidi: isolate;
  max-width: 100%;
  vertical-align: baseline;
  text-align: left;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.oz-font-page__specimen--paragraph-centered .oz-font-page__specimen-body {
  --oz-fp-specimen-lh: 1.5;
  max-width: 100%;
  font-size: clamp(1.1rem, 1.85vw, 2.5rem);
  line-height: 1.2;
  text-align: right;
  text-align-last: right;
  hyphens: none;
}

/* Birzia paragraph specimens — right-aligned body copy */
.oz-font-page--birzia .oz-font-page__specimen--regular .oz-font-page__specimen-body {
  --oz-fp-specimen-lh: 1.55;
  font-size: var(--oz-fp-specimen-line-size, clamp(1.05rem, 1.85vw, 1.55rem));
  line-height: 1.2;
  text-align: right;
  hyphens: none;
}

.oz-font-page--birzia .oz-font-page__specimen--light .oz-font-page__specimen-body {
  --oz-fp-specimen-lh: 1.55;
  font-size: clamp(1.1rem, 2vw, 1.65rem);
  line-height: 1.2;
  text-align: right;
  hyphens: none;
}

/* Hipusheet Light — single paragraph, larger display body */
.oz-font-page--hipusheet .oz-font-page__specimen--light .oz-font-page__specimen-body {
  font-size: clamp(1.5rem, 4vw, 2.75rem);
  line-height: 1.2;
  text-align: right;
}

/* Hipusheet paragraph specimens — default body copy */
.oz-font-page--hipusheet .oz-font-page__specimen--regular .oz-font-page__specimen-body,
.oz-font-page--hipusheet .oz-font-page__specimen--medium .oz-font-page__specimen-body,
.oz-font-page--hipusheet .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
  font-size: clamp(1.05rem, 2vw, 2.2rem);
  line-height: var(--oz-fp-specimen-lh);
  text-align: right;
}

/* Kriti Narrow paragraph specimens */
.oz-font-page--kriti-narrow .oz-font-page__specimen--regular .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.35rem, 6.8vw, 4.75rem));
  line-height: 1.15;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--light .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.2rem, 2.35vw, 2.45rem));
  line-height: 1.15;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--extra-light .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(0.875rem, 1.25vw, 1.375rem));
  line-height: 1.2;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.35rem, 2.8vw, 2.75rem));
  line-height: 1.15;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--bold-cities .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--kriti-narrow .oz-font-page__specimen--bold-cities .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(4rem, 17vw, 12rem));
  line-height: 1.05;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(3.5rem, 15vw, 8.5rem));
  line-height: 1.05;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--medium .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(3rem, 12.5vw, 9.5rem));
  line-height: 1.05;
  text-align: right;
}

.oz-font-page--kriti-narrow .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--kriti-narrow .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2rem, 7.5vw, 4.5rem));
  line-height: 1.05;
}

/* Lyristate display specimens — sizes from OZDesktopLyristate.pdf */
.oz-font-page--lyristate .oz-font-page__specimen--mapachot {
  container-type: inline-size;
}

.oz-font-page--lyristate .oz-font-page__specimen--mapachot .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(4.5rem, 32vw, 26rem)),
    42cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
}

.oz-font-page--lyristate .oz-font-page__specimen--puzzle-pieces .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2rem, 10.2vw, 8.9375rem));
  line-height: 1.05;
  text-align: center;
}

.oz-font-page--lyristate .oz-font-page__specimen--motesplass {
  container-type: inline-size;
}

.oz-font-page--lyristate .oz-font-page__specimen--motesplass .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(3.5rem, 18vw, 16rem)),
    16cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
}

.oz-font-page--lyristate .oz-font-page__specimen--strassenfest {
  container-type: inline-size;
}

.oz-font-page--lyristate .oz-font-page__specimen--strassenfest .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(3.75rem, 20vw, 18rem)),
    17cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
  direction: ltr;
}

.oz-font-page--lyristate .oz-font-page__specimen--photo-club {
  container-type: inline-size;
}

.oz-font-page--lyristate .oz-font-page__specimen--photo-club .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(4rem, 26vw, 22rem)),
    30cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
}

.oz-font-page--lyristate .oz-font-page__specimen--shaolin .oz-font-page__specimen-line[dir='rtl'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.65rem, 7.9vw, 6.875rem));
  line-height: 1.08;
}

.oz-font-page--lyristate .oz-font-page__specimen--quote {
  padding-block: clamp(3rem, 8vw, 5rem);
}

.oz-font-page--lyristate .oz-font-page__specimen--quote .oz-font-page__specimen-head {
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.oz-font-page--lyristate .oz-font-page__specimen--quote .oz-font-page__specimen-lines {
  margin-block: 0;
  padding-block: 0;
  gap: 0.08em;
}

.oz-font-page--lyristate .oz-font-page__specimen--quote .oz-font-page__specimen-line[dir='rtl'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.75rem, 9.3vw, 8.125rem));
  line-height: 1.08;
  text-align: right;
  width: auto;
}

.oz-font-page--lyristate .oz-font-page__specimen--dj-set .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.5rem, 7.1vw, 6.25rem));
  line-height: 1.05;
}

.oz-font-page--lyristate .oz-font-page__specimen--dj-set .oz-font-page__specimen-line[dir='ltr']:first-child {
  font-size: clamp(2.75rem, 15.7vw, 13.75rem);
}

/* Slogan display specimens — sizes from OZDesktopSlogan.pdf; JS scales to container (oz-font-page.js) */
.oz-font-page--slogan .oz-font-page__specimen {
  overflow-x: visible;
}

.oz-font-page--slogan .oz-font-page__specimen--looks-good .oz-font-page__specimen-body,
.oz-font-page--slogan .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  line-height: 1.05;
  font-size: var(--oz-fp-specimen-line-size, clamp(3rem, 16vw, 10rem));
}

.oz-font-page--slogan .oz-font-page__specimen--looks-good .oz-font-page__specimen-body {
  line-height: 1;
}

.oz-font-page--slogan .oz-font-page__specimen--same-moment .oz-font-page__specimen-line {
  line-height: 1.08;
}

/* Slogan stylistic sets / extra features — 62px samples from OZDesktopSlogan.pdf */
.oz-font-page--slogan .oz-font-page__style-card:not(.oz-font-page__style-card--inverted) {
  min-height: clamp(6.5rem, 14vw, 8.75rem);
  background: #ececec;
}

.oz-font-page--slogan .oz-font-page__style-card--inverted {
  min-height: clamp(6.5rem, 14vw, 8.75rem);
}

.oz-font-page--slogan .oz-font-page__style-sample,
.oz-font-page--slogan .oz-font-page__style-sample--xfeat {
  font-size: clamp(1.75rem, 4.3vw, 3.875rem);
  line-height: 1.15;
}

/* Bull display specimens — sizes from OZDesktopBull.pdf */
.oz-font-page--bull .oz-font-page__specimen--shipping-line {
  container-type: inline-size;
}

.oz-font-page--bull .oz-font-page__specimen--shipping-line .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(2.11rem, 14.2vw, 12.5rem)),
    18cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
}

.oz-font-page--bull .oz-font-page__specimen--survivors .oz-font-page__specimen-body,
.oz-font-page--bull .oz-font-page__specimen--legal-text .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(0.48rem, 3.3vw, 2.875rem));
  line-height: 1.35;
  text-align: right;
}

.oz-font-page--bull .oz-font-page__specimen--legal-text .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(0.47rem, 3.2vw, 2.8125rem));
}

.oz-font-page--bull .oz-font-page__specimen--madagascar {
  container-type: inline-size;
}

.oz-font-page--bull .oz-font-page__specimen--madagascar .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(2.11rem, 14.2vw, 12.5rem)),
    13cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
  direction: ltr;
}

.oz-font-page--bull .oz-font-page__specimen--legal-quote .oz-font-page__specimen-line[dir='rtl'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(0.74rem, 5vw, 4.375rem));
  line-height: 1.08;
}

.oz-font-page--bull .oz-font-page__specimen--now-then .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.95rem, 20vw, 17.5rem));
  line-height: 1.05;
}

.oz-font-page--bull .oz-font-page__specimen--gemini {
  container-type: inline-size;
}

.oz-font-page--bull .oz-font-page__specimen--gemini .oz-font-page__specimen-line[dir='rtl'] {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(1.73rem, 11.7vw, 10.25rem)),
    12cqi
  );
  line-height: 1.05;
}

.oz-font-page--bull .oz-font-page__specimen--mail .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(0.42rem, 2.9vw, 2.5rem));
  line-height: 1.35;
  text-align: left;
  direction: ltr;
}

/* Caspit — specimen sizes from OZDesktopCaspit_Mod1.pdf */
.oz-font-page--caspit .oz-font-page__specimen--black,
.oz-font-page--caspit .oz-font-page__specimen--extra-bold-fruit {
  container-type: inline-size;
}

.oz-font-page--caspit .oz-font-page__specimen--black .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(3rem, 18vw, 17.8125rem)),
    16.2cqi
  );
  line-height: 1;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
  hyphens: none;
  overflow-wrap: normal;
  word-break: keep-all;
}

.oz-font-page__specimen--stacked-paragraphs .oz-font-page__specimen-paragraphs {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  hyphens: none;
}

.oz-font-page__specimen--stacked-paragraphs .oz-font-page__specimen-paragraphs [dir] {
  display: block;
}

.oz-font-page__specimen-body--preline {
  white-space: pre-line;
}

.oz-font-page--caspit .oz-font-page__specimen--regular .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.5rem, 4.5vw, 4.8125rem));
  line-height: 1.15;
}

.oz-font-page--caspit .oz-font-page__specimen--regular .oz-font-page__specimen-paragraphs [dir='rtl'] {
  text-align: right;
  text-align-last: right;
}

.oz-font-page--caspit .oz-font-page__specimen--regular .oz-font-page__specimen-paragraphs [dir='ltr'] {
  text-align: left;
  text-align-last: left;
}

.oz-font-page--caspit .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'] {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(2rem, 10vw, 10.3125rem)),
    11cqi
  );
  line-height: 1.1;
}

.oz-font-page--caspit .oz-font-page__specimen--medium .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.05rem, 2vw, 2.8125rem));
  line-height: 1.35;
}

.oz-font-page--caspit .oz-font-page__specimen--extra-bold .oz-font-page__specimen-col {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(2.5rem, 7.5vw, 7.5rem)),
    9.5cqi
  );
  line-height: 1.05;
}

.oz-font-page--caspit .oz-font-page__specimen--light .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.5rem, 4vw, 4.6875rem));
  line-height: 1.25;
}

.oz-font-page--caspit .oz-font-page__specimen--extra-bold-fruit .oz-font-page__specimen-body {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(4rem, 22vw, 14.5rem)),
    16.2cqi
  );
  line-height: 1.05;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
  hyphens: none;
  overflow-wrap: normal;
  word-break: keep-all;
}

@media (max-width: 640px) {
  .oz-font-page--caspit .oz-font-page__specimen--extra-bold-fruit .oz-font-page__specimen-body {
    white-space: normal;
    overflow-x: visible;
  }
}

.oz-font-page--caspit .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.1rem, 2.5vw, 3.6875rem));
  line-height: 1.3;
}

.oz-font-page--caspit .oz-font-page__style-sample--xfeat {
  font-size: clamp(1.75rem, 4.3vw, 3.875rem);
  line-height: 1.15;
}

/* Marker paragraph specimens — ss01 Small Hebrew needs extra leading + side pad (glyph overhang).
   Avoid overflow-wrap:anywhere — mid-word breaks scramble BiDi and stack Latin under Hebrew punct. */
.oz-font-page--marker .oz-font-page__specimen--regular {
  overflow-x: visible;
}

.oz-font-page--marker .oz-font-page__specimen--regular .oz-font-page__specimen-body {
  --oz-fp-specimen-lh: 1.65;
  direction: rtl;
  font-size: clamp(1.05rem, 1.8vw, 3.2rem);
  line-height: 1.65;
  padding-inline: 0.12em;
  text-align: right;
  overflow-wrap: break-word;
  word-break: normal;
}

.oz-font-page--marker .oz-font-page__specimen--medium .oz-font-page__specimen-body {
  direction: rtl;
  font-size: var(--oz-fp-specimen-line-size, clamp(1.5rem, 3.2vw, 3.25rem));
  line-height: 1.15;
  text-align: right;
  overflow-wrap: break-word;
  word-break: normal;
}

.oz-font-page--marker .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
  direction: rtl;
  font-size: var(--oz-fp-specimen-line-size, clamp(1.6rem, 3.8vw, 3.5rem));
  line-height: 1.15;
  text-align: right;
  overflow-wrap: break-word;
  word-break: normal;
}

.oz-font-page--marker .oz-font-page__specimen--striped .oz-font-page__specimen-line {
  white-space: pre-line;
  overflow-wrap: normal;
  word-break: keep-all;
  font-size: var(--oz-fp-specimen-line-size, clamp(2.2rem, 8.1vw, 5.6rem));
  line-height: 1.05;
}

.oz-font-page--marker .oz-font-page__specimen--bold,
.oz-font-page--marker .oz-font-page__specimen--black,
.oz-font-page--marker .oz-font-page__specimen--extra-bold {
  container-type: inline-size;
}

.oz-font-page--marker .oz-font-page__specimen--bold .oz-font-page__specimen-line,
.oz-font-page--marker .oz-font-page__specimen--black .oz-font-page__specimen-line,
.oz-font-page--marker .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  overflow-x: clip;
  line-height: 1;
}

/* Large CSS ceiling — oz-font-page.js scales each line to exact row width */
.oz-font-page--marker .oz-font-page__specimen--bold .oz-font-page__specimen-line {
  font-size: var(--oz-fp-specimen-line-size, clamp(3.25rem, 16vw, 10rem));
}

.oz-font-page--marker .oz-font-page__specimen--black .oz-font-page__specimen-line {
  font-size: var(--oz-fp-specimen-line-size, clamp(4rem, 16vw, 11.5rem));
}

.oz-font-page--marker .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.85rem, 6.8vw, 3.75rem));
}

.oz-font-page--kriti .oz-font-page__specimen--medium .oz-font-page__specimen-body {
  line-height: 1.2;
}

.oz-font-page--kriti .oz-font-page__specimen--light-alt-yod .oz-font-page__specimen-body {
  line-height: 1.35;
}

/* Kriti Bold — center pair (מַעְגָּל / КОЛЬЦО) */
.oz-font-page--kriti .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--kriti .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(6rem, 24vw, 17rem)),
    18cqi
  );
}

/* Kriti Extra-Light / Black — stacked pairs; JS scales each line to fill row */
.oz-font-page--kriti .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
.oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page--kriti .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--kriti .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(3.25rem, 13vw, 12rem));
}

.oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.75rem, 12vw, 9rem));
}

/* Hipusheet Black — stacked pair; JS scales each line to fill row */
.oz-font-page--hipusheet .oz-font-page__specimen--black .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page--hipusheet .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--hipusheet .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.8rem, 9vw, 5.2rem));
}

/* Hipusheet Bold — stacked pair; JS scales each line to fill row */
.oz-font-page--hipusheet .oz-font-page__specimen--bold .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page--hipusheet .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--hipusheet .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2rem, 6.5vw, 3.75rem));
}

/* Birzia centered paragraph */
.oz-font-page--birzia .oz-font-page__specimen--medium .oz-font-page__specimen-body {
  --oz-fp-specimen-lh: 1.5;
  font-size: clamp(1.1rem, 1.85vw, 2.5rem);
  line-height: 1.2;
  text-align: right;
  text-align-last: right;
  hyphens: none;
}

/* Split-word thin specimens */
.oz-font-page--mezakh .oz-font-page__specimen--thin .oz-font-page__specimen-line,
.oz-font-page--maadim .oz-font-page__specimen--thin .oz-font-page__specimen-line,
.oz-font-page--temple .oz-font-page__specimen--thin .oz-font-page__specimen-line {
  font-size: clamp(3rem, 28vw, 12rem);
}

.oz-font-page--maadim .oz-font-page__specimen--thin .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page--temple .oz-font-page__specimen--thin .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

/* Mezakh Thin (אופקים / Horizons) + Black — single line, JS scales to fill row */
.oz-font-page--mezakh .oz-font-page__specimen--thin .oz-font-page__specimen-line,
.oz-font-page--mezakh .oz-font-page__specimen--black .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page__specimen-lines,
.oz-font-page__specimen-split,
.oz-font-page__specimen-cols {
  max-width: 100%;
  min-width: 0;
}

.oz-font-page__specimen-lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2em;
  margin: 0;
  text-align: center;
}

.oz-font-page__specimen-line {
  width: 100%;
  max-width: 100%;
  margin: 0;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  font-size: clamp(1.85rem, 4.5vw, 3.15rem);
  line-height: 1;
  text-align: center;
}

@media (min-width: 984px) {
  .oz-font-page__specimen--center-pair,
  .oz-font-page__specimen--center-pair-stack-m {
    overflow: visible;
    overflow-x: visible;
  }

  /* Birzia — paired lines share one size; per-specimen fit cap prevents overflow */
  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line {
    overflow-x: clip;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='rtl'] {
    text-align: right;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    text-align: left;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.75rem, 11vw, 4.5rem)),
      var(--oz-fp-specimen-line-fit, 7cqi)
    );
  }

  /* Bold / Semi-Bold / Inline — JS fits to row (shared size); CSS ceiling is fallback before fonts.ready */
  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit: 18cqi;
  }

  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit: 9.5cqi;
  }

  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit: 16cqi;
  }

  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit: 11cqi;
  }

  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line {
    /* Cap to English "LOCAL MEMORY" + Shadow glyph overhang */
    --oz-fp-specimen-line-fit: 12.25cqi;
  }

  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    padding-inline-end: 0.18em;
    box-sizing: border-box;
  }
}

.oz-font-page__specimen--center-pair .oz-font-page__specimen-lines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  margin: clamp(1rem, 3vw, 2rem) 0 0;
  padding-block: clamp(0.75rem, 2vw, 1.5rem);
  direction: ltr;
  text-align: unset;
  container-type: inline-size;
}

.oz-font-page__specimen--center-pair .oz-font-page__specimen-line {
  width: auto;
  max-width: none;
  margin: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}

/* Temple / Maadim / Mezakh Extra-Light / Bold / Black — long pair; single line, JS scales to fit (no clip / no orphan) */
.oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
.oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line,
.oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line,
.oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
.oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line,
.oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line,
.oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
.oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  max-width: 100%;
}

.oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.5rem, 14vw, 6rem));
}

.oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.5rem, 14vw, 6rem));
}

.oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.4rem, 8.5vw, 4rem));
}

.oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.75rem, 10.5vw, 4.75rem));
}

.oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(3rem, 12vw, 5rem));
}

.oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.5rem, 7.5vw, 4rem));
}

.oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.75rem, 5.5vw, 3.5rem));
}

.oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, 4rem);
}

.oz-font-page--mezakh .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page--mezakh .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
  font-size: var(--oz-fp-specimen-line-size, clamp(2.5rem, 6.5vw, 4rem));
}

.oz-font-page__specimen--center-pair .oz-font-page__specimen-line[dir='ltr'] {
  grid-column: 1;
  justify-self: start;
  text-align: left;
}

.oz-font-page__specimen--center-pair .oz-font-page__specimen-line[dir='rtl'] {
  grid-column: 2;
  justify-self: end;
  text-align: right;
}

/* Stacked pair: Hebrew above English, each line flush to its side */
.oz-font-page__specimen--stack-pair-end .oz-font-page__specimen-lines {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: 100%;
  margin-block: clamp(1rem, 3vw, 2rem) 0;
  padding-block: clamp(0.75rem, 2vw, 1.5rem);
  gap: 0.12em;
  direction: ltr;
}

.oz-font-page__specimen--stack-pair-end .oz-font-page__specimen-line {
  width: 100%;
  max-width: 100%;
  margin: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  overflow-x: clip;
  line-height: 1;
}

.oz-font-page__specimen--stack-pair-end .oz-font-page__specimen-line[dir='rtl'] {
  order: -1;
  text-align: right;
}

/* Hipusheet Halul — one full-width centered line, scales to fill row */
.oz-font-page--hipusheet .oz-font-page__specimen--halul {
  container-type: inline-size;
}

.oz-font-page--hipusheet .oz-font-page__specimen--halul .oz-font-page__specimen-body {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: center;
  text-align-last: center;
  white-space: nowrap;
  overflow-x: clip;
  line-height: 1;
  font-size: var(--oz-fp-specimen-line-size, clamp(3.5rem, 18vw, 14rem));
}

.oz-font-page__specimen--stack-pair-end .oz-font-page__specimen-line[dir='ltr'] {
  text-align: left;
}

/* Stacked pair: Hebrew above English, centered */
.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-lines {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 100%;
  margin-block: clamp(1rem, 3vw, 2rem) 0;
  padding-block: clamp(0.75rem, 2vw, 1.5rem);
  gap: 0.15em;
  text-align: center;
}

.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line {
  width: auto;
  max-width: 100%;
  margin: 0;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
  line-height: 1;
}

.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='rtl'] {
  order: -1;
  text-align: center;
}

.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='ltr'] {
  text-align: center;
}

.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='rtl'],
.oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='ltr'] {
  font-size: min(
    var(--oz-fp-specimen-line-size, clamp(3rem, 16vw, 10rem)),
    14cqi
  );
}

@supports not (font-size: 1cqi) {
  .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3rem, 16vw, 10rem)),
      14vw
    );
  }
}

.oz-font-page__specimen--split-word .oz-font-page__specimen-split {
  display: block;
  margin: 0;
}

.oz-font-page__specimen--split-word .oz-font-page__specimen-line {
  width: 100%;
}

.oz-font-page__specimen--split-word .oz-font-page__specimen-line:last-child {
  margin-bottom: 0;
}

.oz-font-page__specimen--split-word .oz-font-page__specimen-line--end {
  text-align: right;
}

.oz-font-page__specimen--split-word .oz-font-page__specimen-line--start {
  text-align: left;
}

.oz-font-page__specimen-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.25rem, 4vw, 3rem);
  margin: 0;
}

@media (max-width: 640px) {
  .oz-font-page__specimen-cols {
    grid-template-columns: 1fr;
  }

  .oz-font-page__specimen--two-column-bilingual .oz-font-page__specimen-col {
    font-size: var(--oz-fp-specimen-line-size, clamp(1.6rem, 6.5vw, 2.75rem));
  }

  .oz-font-page__specimen--two-column-bilingual .oz-font-page__specimen-col--he {
    order: 1;
  }

  .oz-font-page__specimen--two-column-bilingual .oz-font-page__specimen-col--en {
    order: 2;
  }
}

.oz-font-page__specimen-col {
  margin: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
  font-size: clamp(1.05rem, 2.4vw, 3rem);
  line-height: var(--oz-fp-specimen-lh);
}

/* Extra-Bold bilingual block (two-column-bilingual) */
.oz-font-page__specimen--two-column-bilingual .oz-font-page__specimen-col {
  font-size: var(--oz-fp-specimen-line-size, clamp(1.5rem, 4.5vw, 3rem));
  line-height: 1;
}

.oz-font-page__specimen--two-column-bilingual .oz-font-page__specimen-cols {
  gap: clamp(1.5rem, 5vw, 3.5rem);
}

.oz-font-page__specimen-col--en {
  text-align: left;
}

.oz-font-page__specimen-col--he {
  text-align: right;
}

.oz-font-page__specimen-col--preline {
  white-space: pre-line;
}

/* —— Glyphs —— */
.oz-font-page__glyphs {
  padding: 0 var(--oz-gutter);
  background: #fff;
}

.oz-font-page__glyphs-inner {
  direction: ltr;
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: var(--oz-max);
  margin-inline: auto;
  border-block: 1px solid var(--oz-fp-rule);
  min-height: 24rem;
  background: #fff;
}

@media (max-width: 983px) {
  .oz-font-page__glyphs-inner {
    grid-template-columns: 1fr;
  }
}

.oz-font-page__glyphs-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-inline-end: 1px solid var(--oz-fp-rule);
}

.oz-font-page__glyphs-label-en {
  margin: 0;
  padding: clamp(2.25rem, 5vw, 3.25rem) 0 1rem;
  text-align: left;
}

.oz-font-page__glyphs-grid {
  flex: 0 1 auto;
  width: 100%;
  padding: clamp(1rem, 2vw, 1.25rem) 0.85rem clamp(1.5rem, 3vw, 2rem);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: 1.7rem;
  align-content: start;
  align-items: start;
  max-height: min(70vh, 38rem);
  overflow-x: hidden;
  overflow-y: auto;
  scroll-padding-bottom: clamp(1.5rem, 3vw, 2rem);
  scrollbar-width: thin;
  scrollbar-color: var(--oz-ink) transparent;
}

.oz-font-page__glyphs-grid::-webkit-scrollbar {
  width: 5px;
}

.oz-font-page__glyphs-grid::-webkit-scrollbar-track {
  background: rgba(var(--oz-ink-rgb), 0.08);
  border-radius: 999px;
}

.oz-font-page__glyphs-grid::-webkit-scrollbar-thumb {
  background: var(--oz-ink);
  border-radius: 999px;
}

@media (max-width: 983px) {
  .oz-font-page__glyphs-stick-sentinel {
    height: 1px;
    width: 100%;
    pointer-events: none;
    visibility: hidden;
  }

  .oz-font-page__glyphs-panel {
    position: sticky;
    top: var(--oz-glyphs-sticky-top, var(--oz-header-height));
    z-index: 2;
    background: #fff;
    border-inline-end: none;
    border-block-end: 1px solid var(--oz-fp-rule);
    padding-bottom: clamp(1.25rem, 3vw, 2rem);
  }

  .oz-font-page__glyphs-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 0.45rem;
    max-height: var(
      --oz-glyphs-mobile-preview-height,
      calc(clamp(4rem, 40vw, 12rem) + clamp(1rem, 3vh, 2rem))
    );
    padding: clamp(1rem, 2vw, 1.25rem) 0 clamp(1.5rem, 3vw, 2rem);
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
  }

  .oz-font-page__glyph-cell {
    width: 100%;
    aspect-ratio: 1 / 1;
    align-self: start;
    font-size: 1.2rem;
    padding: 0.35rem;
    border-radius: 6px;
  }
}

.oz-font-page__glyph-cell,
.oz-font-page__glyph-big {
  font-family: var(--oz-fp-glyph-font, var(--oz-fp-sample-font));
}

.oz-font-page__glyph-cell {
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 1 / 1;
  align-self: start;
  border-radius: 10px;
  border: 1px solid transparent;
  background: #fff;
  cursor: pointer;
  font-size: clamp(1.75rem, 2.4vw, 2.4rem);
  line-height: 1.15;
  color: var(--oz-ink);
  font-variant-emoji: text;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 0.35rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.oz-font-page__glyph-cell:hover:not(.is-selected) {
  background: rgba(var(--oz-ink-rgb), 0.06);
}

.oz-font-page__glyph-cell.is-selected {
  background: var(--oz-ink);
  color: #fff;
  border-color: var(--oz-ink);
}

.oz-font-page__glyph-detail {
  padding: clamp(2.25rem, 5vw, 3.25rem) 0 clamp(1.25rem, 3vw, 2rem);
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-content: stretch;
  align-items: stretch;
  text-align: right;
  min-height: 24rem;
  height: 100%;
}

.oz-font-page__glyph-detail-head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.15rem;
  margin-bottom: 0;
  padding-block-start: 0;
  width: 100%;
}

.oz-font-page__glyph-detail-title {
  margin: 0;
  width: 100%;
  text-align: start;
}

.oz-font-page__glyph-weight {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  direction: rtl;
  cursor: pointer;
}

.oz-font-page__glyph-weight select {
  appearance: none;
  width: auto;
  max-width: 100%;
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
  font-weight: 400;
  color: var(--oz-ink);
  padding-block: 0.15rem;
  padding-inline-start: 1.35em;
  padding-inline-end: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: right;
  direction: rtl;
}

.oz-font-page__glyph-weight-chevron {
  position: absolute;
  inset-inline-start: 0.15rem;
  top: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0.5em 0 0.5em;
  border-color: var(--oz-ink) transparent transparent transparent;
  transform: translateY(-35%);
  pointer-events: none;
}

.oz-font-page__glyph-big {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  font-size: clamp(5rem, 25vw, 28rem);
  line-height: 1;
  margin: 0;
  padding-bottom: clamp(1rem, 3vh, 2rem);
  color: var(--oz-ink);
  font-variant-emoji: text;
}

.oz-font-page__glyph-uni-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  margin: 0;
  padding-block-start: 0.5rem;
  direction: ltr;
  line-height: 1;
}

.oz-font-page__glyph-uni-nav .oz-font-page__glyph-uni {
  margin: 0;
  min-width: 5.5ch;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.oz-font-page__glyph-uni-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--oz-ink);
  /* Nav arrows are UI chrome — always Mezakh, never the showcase sample font. */
  font-family: var(--oz-fp-ui-font);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  padding: 0.35rem 0.5rem;
  /* Mezakh ‹ › sit low in the em box — nudge to match Unicode label. */
  transform: translateY(-0.12em);
  font-variant-emoji: text;
  font-feature-settings: normal;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.oz-font-page__glyph-uni-btn:hover {
  opacity: 0.55;
}

.oz-font-page__glyph-uni-btn:focus-visible {
  outline: 2px solid var(--oz-ink);
  outline-offset: 2px;
  border-radius: 2px;
}

.oz-font-page__glyph-uni {
  text-align: center;
  font-size: clamp(0.85rem, 1.4vw, 0.95rem);
  color: var(--oz-fp-muted);
  font-variant-numeric: tabular-nums;
  direction: ltr;
}

/* —— Stylistic sets —— */
.oz-font-page__styles {
  padding: clamp(2.5rem, 6vw, 4rem) var(--oz-gutter);
  max-width: var(--oz-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.oz-font-page__styles-header {
  margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}

.oz-font-page__styles-header-top {
  direction: ltr;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.oz-font-page__styles-sub--en {
  text-align: left;
}

.oz-font-page__styles-sub--he {
  text-align: end;
}

.oz-font-page__styles-title {
  margin: 0;
  text-align: right;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 700;
  color: var(--oz-fp-muted);
}

.oz-font-page__styles-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 4vw, 2.25rem) clamp(1rem, 3vw, 1.5rem);
}

/* Stylistic sets: ss01/ss03/… in the start (right) column. */
.oz-font-page__styles > .oz-font-page__styles-grid {
  direction: rtl;
}

/* Extra features: PHP pairs are authored for RTL column flow (right, left, right, …). */
.oz-font-page__xfeat > .oz-font-page__styles-grid {
  direction: rtl;
}

/* Kriti Narrow: LTR grid — multilingual top-left, niqqud top-right, currency bottom-right. */
.oz-font-page--kriti-narrow .oz-font-page__xfeat > .oz-font-page__styles-grid {
  direction: ltr;
}

.oz-font-page--kriti-narrow .oz-font-page__xfeat > .oz-font-page__styles-grid > .oz-font-page__style-item:last-child:nth-child(odd) {
  grid-column: 2;
}

/* Odd count: last card alone in the right column (e.g. סימני מטבע). */
.oz-font-page__xfeat > .oz-font-page__styles-grid > .oz-font-page__style-item:last-child:nth-child(odd) {
  grid-column: 1;
}

.oz-font-page__style-item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.55rem;
  direction: rtl;
}

.oz-font-page__style-label {
  display: block;
  margin: 0;
  text-align: right;
  font-size: 1.2rem;
  color: var(--oz-fp-muted);
  font-weight: 400;
  line-height: 1.35;
}

.oz-font-page__style-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(5.5rem, 12vw, 7.5rem);
  padding: clamp(1rem, 2.5vw, 1.5rem);
  font-size: clamp(1.5rem, 3.5vw, 2.75rem);
  border-radius: 4px;
  background: #ececec;
  color: var(--oz-ink);
  border: 2px solid transparent;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  cursor: pointer;
}

.oz-font-page__style-card--static {
  cursor: default;
  transition: none;
}

.oz-font-page__style-card--static.oz-font-page__style-card--inverted,
.oz-font-page__style-card--inverted {
  background: var(--oz-ink);
  color: #fff;
}

@media (hover: hover) {
  .oz-font-page__style-card:not(.oz-font-page__style-card--static):not(.oz-font-page__style-card--inverted):hover,
  .oz-font-page__style-card:not(.oz-font-page__style-card--static):not(.oz-font-page__style-card--inverted):focus-visible {
    background: var(--oz-ink);
    color: #fff;
  }

  .oz-font-page__style-card--inverted:not(.oz-font-page__style-card--static):hover,
  .oz-font-page__style-card--inverted:not(.oz-font-page__style-card--static):focus-visible {
    background: #ececec;
    color: var(--oz-ink);
  }
}

.oz-font-page__style-card.is-active:not(.oz-font-page__style-card--inverted) {
  background: var(--oz-ink);
  color: #fff;
}

.oz-font-page__style-card--inverted.is-active {
  background: #ececec;
  color: var(--oz-ink);
}

.oz-font-page__style-sample {
  margin: 0;
  font-size: clamp(1.5rem, 3.5vw, 2.75rem);
  line-height: 1.2;
  text-align: center;
  font-weight: 500;
  font-variant-emoji: text;
  unicode-bidi: isolate;
}

.oz-font-page__style-sample[dir='ltr'] {
  direction: ltr;
}

.oz-font-page__style-sample[dir='rtl'] {
  direction: rtl;
}

/* frac: diagonal bar is narrower than the digits; keep 1234/5678 on one line. */
.oz-font-page__style-sample--frac {
  white-space: nowrap;
}

@media (max-width: 983px) {
  .oz-font-page__style-sample--frac {
    font-size: clamp(1.05rem, 4.8vw, 1.55rem);
    letter-spacing: 0.14em;
  }
}

/* —— Extra features (same card pattern as stylistic sets) —— */
.oz-font-page__xfeat {
  padding: clamp(2.5rem, 6vw, 4rem) var(--oz-gutter);
  max-width: var(--oz-max);
  margin-inline: auto;
  box-sizing: border-box;
}

/* Feature labels revealed on card hover (e.g. Kriti Narrow) */
.oz-font-page__xfeat--hover-labels > .oz-font-page__styles-grid {
  direction: ltr;
}

.oz-font-page__xfeat--hover-labels .oz-font-page__style-item {
  cursor: default;
}

.oz-font-page__xfeat--hover-labels .oz-font-page__style-label {
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  background: transparent;
  color: var(--oz-fp-muted);
}

.oz-font-page__xfeat--hover-labels .oz-font-page__style-card--static {
  cursor: default;
  transition: background 0.2s ease, border-color 0.2s ease;
}

/* Extra features — outline on hover; sample text color unchanged */
.oz-font-page__xfeat .oz-font-page__style-card--static {
  background: #ececec;
  color: var(--oz-ink);
  transition: background 0.2s ease, border-color 0.2s ease;
}

@media (hover: hover) {
  .oz-font-page__xfeat .oz-font-page__style-item:hover .oz-font-page__style-card--static,
  .oz-font-page__xfeat .oz-font-page__style-item:focus-within .oz-font-page__style-card--static {
    background: var(--oz-bg);
    border-color: var(--oz-ink);
    color: var(--oz-ink);
  }

  .oz-font-page__xfeat--hover-labels .oz-font-page__style-item:hover .oz-font-page__style-label,
  .oz-font-page__xfeat--hover-labels .oz-font-page__style-item:focus-within .oz-font-page__style-label,
  .oz-font-page__xfeat--hover-labels .oz-font-page__style-item:focus-visible .oz-font-page__style-label {
    opacity: 1;
  }
}

@media (hover: none) {
  .oz-font-page__xfeat--hover-labels .oz-font-page__style-label {
    opacity: 1;
  }

  .oz-font-page__xfeat .oz-font-page__style-item {
    cursor: pointer;
  }

  .oz-font-page__xfeat .oz-font-page__style-card--static {
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
  }
}

.oz-font-page__xfeat .oz-font-page__style-item.is-active .oz-font-page__style-card--static {
  background: var(--oz-bg);
  border-color: var(--oz-ink);
  color: var(--oz-ink);
}

.oz-font-page__xfeat--hover-labels .oz-font-page__style-item.is-active .oz-font-page__style-label {
  opacity: 1;
}

/* —— Pack font navigation —— */
.oz-font-page__pack-nav {
  padding: clamp(1.5rem, 4vw, 2.5rem) var(--oz-gutter) 0;
  max-width: var(--oz-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.oz-font-page__pack-nav--text {
  --oz-pack-brand: #6b6e6f;
  --oz-pack-brand-hover: #5a5d5e;
}

.oz-font-page__pack-nav--display {
  --oz-pack-brand: #b0903d;
  --oz-pack-brand-hover: #9a7d35;
}

.oz-font-page__pack-nav-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(0.75rem, 2vw, 1.25rem);
}

.oz-font-page__pack-nav-link {
  flex: 1 1 12rem;
  max-width: 22rem;
  min-width: 0;
  background: var(--oz-bg);
  color: var(--oz-pack-brand);
  border-color: var(--oz-pack-brand);
}

.oz-font-page__pack-nav-link.oz-btn--hero-cta {
  min-width: 0;
}

.oz-font-page__pack-nav-link:hover,
.oz-font-page__pack-nav-link:focus-visible {
  background: var(--oz-pack-brand);
  border-color: var(--oz-pack-brand);
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}

@media (max-width: 983px) {
  .oz-font-page__pack-nav-inner {
    flex-wrap: nowrap;
    gap: 0.5rem;
  }

  .oz-font-page__pack-nav-link {
    flex: 1 1 0;
    max-width: 50%;
    width: 50%;
    min-width: 0;
    padding-inline: 0.65rem;
    font-size: clamp(0.8rem, 2.8vw, 1rem);
    white-space: normal;
    text-align: center;
  }
}

/* —— CTA (uses .oz-btn--hero-cta from style.css) —— */
.oz-font-page__cta {
  padding: 2.5rem var(--oz-gutter) 3rem;
  text-align: center;
}

/* —— Mobile layout —— */
@media (max-width: 983px) {
  .oz-font-page__styles-grid {
    grid-template-columns: 1fr;
  }

  .oz-font-page__xfeat > .oz-font-page__styles-grid > .oz-font-page__style-item:last-child:nth-child(odd),
  .oz-font-page--kriti-narrow .oz-font-page__xfeat > .oz-font-page__styles-grid > .oz-font-page__style-item:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .oz-font-page__name-row {
    flex-direction: column;
    gap: 0.05em;
  }

  .oz-font-page__name-row :is(.oz-font-page__name-en, .oz-font-page__name-he, .oz-font-page__name-icon) {
    line-height: 0.8;
  }

  .oz-font-page__name-he {
    order: 1;
  }

  .oz-font-page__name-icon {
    order: 2;
  }

  .oz-font-page__name-en {
    order: 3;
  }

  .oz-font-page__toggle {
    padding-inline: 1.35rem;
    font-size: 1.05rem;
  }

  .oz-font-page__pack-toggle {
    width: min(100%, 20rem);
    min-width: 0;
  }

  .oz-font-page__tester-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: 0.85rem 1rem;
    direction: ltr;
  }

  .oz-font-page__reset {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }

  /* 2×2 (RTL visual): משקל|גודל, ריווח|toggle — grid stays LTR so sliders match desktop */
  .oz-font-page__slider-unit:nth-child(5) {
    grid-column: 2;
    grid-row: 2;
  }

  .oz-font-page__slider-unit:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
  }

  .oz-font-page__slider-unit:nth-child(3) {
    grid-column: 2;
    grid-row: 3;
  }

  .oz-font-page__align {
    grid-column: 1;
    grid-row: 3;
    align-self: end;
    justify-self: center;
    flex-direction: row;
  }

  .oz-font-page__slider-unit {
    min-width: 0;
    flex: none;
    direction: ltr;
  }

  .oz-font-page__specimen--split-word .oz-font-page__specimen-line {
    font-size: min(5rem, 28cqi);
  }

  .oz-font-page__specimen--center-pair .oz-font-page__specimen-lines {
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: clamp(0.5rem, 3vw, 1.25rem);
  }

  .oz-font-page__specimen--center-pair .oz-font-page__specimen-line[dir='ltr'] {
    grid-column: 1;
    justify-self: start;
    align-self: end;
    text-align: left;
    width: auto;
    max-width: 100%;
  }

  .oz-font-page__specimen--center-pair .oz-font-page__specimen-line[dir='rtl'] {
    grid-column: 2;
    justify-self: end;
    align-self: start;
    text-align: right;
    order: unset;
    width: auto;
    max-width: 100%;
  }

  /* Bold pair: long Hebrew + English — stack on mobile, edge-aligned */
  .oz-font-page__specimen--center-pair-stack-m .oz-font-page__specimen-lines {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(0.15rem, 1.5vw, 0.5rem);
  }

  .oz-font-page__specimen--center-pair-stack-m .oz-font-page__specimen-line[dir='rtl'] {
    order: -1;
    grid-column: auto;
    align-self: stretch;
    justify-self: stretch;
    text-align: right;
    width: 100%;
  }

  .oz-font-page__specimen--center-pair-stack-m .oz-font-page__specimen-line[dir='ltr'] {
    grid-column: auto;
    align-self: stretch;
    justify-self: stretch;
    text-align: left;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .oz-font-page__specimen--center-pair-stack-m .oz-font-page__specimen-line[dir='rtl'] {
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Kriti Black — stacked pair on mobile; JS scales to fill width */
  .oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--kriti .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.75rem, 12vw, 9rem)),
      14vw
    );
  }

  @supports not (font-size: 1cqi) {
    .oz-font-page__specimen--split-word .oz-font-page__specimen-line {
      font-size: clamp(2.5rem, 14vw, 5rem);
    }
  }

  .oz-font-page__specimen-head {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
  }

  .oz-font-page__specimen-head .oz-font-page__specimen-sub,
  .oz-font-page__glyphs-label-en.oz-font-page__specimen-sub,
  .oz-font-page__glyph-detail-title.oz-font-page__specimen-sub,
  .oz-font-page__styles-header-top .oz-font-page__specimen-sub {
    font-size: clamp(0.75rem, 2.6vw, 0.9rem);
    flex: 0 1 auto;
    min-width: 0;
  }

  .oz-font-page__specimen-sub--en {
    text-align: left;
  }

  .oz-font-page__specimen-sub--he {
    text-align: right;
  }

  .oz-font-page__styles-header-top {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    direction: ltr;
    gap: 0.5rem;
  }

  .oz-font-page__styles-sub--en {
    text-align: left;
  }

  .oz-font-page__styles-sub--he {
    text-align: end;
  }

  .oz-font-page__glyph-detail {
    min-height: 18rem;
  }

  .oz-font-page__glyph-big {
    font-size: clamp(4rem, 40vw, 12rem);
  }
}

@media (max-width: 480px) {
  .oz-font-page__font-list li {
    min-width: 0;
    flex: 1 1 calc(50% - 0.5rem);
  }

  .oz-font-page__nav-link {
    font-size: 1.05rem;
    padding-inline: 0.65rem;
    white-space: normal;
  }

  .oz-font-page__glyphs-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 0.35rem;
  }

  .oz-font-page__glyph-cell {
    align-self: start;
    font-size: 1.05rem;
    padding: 0.3rem;
    border-radius: 5px;
  }

  .oz-font-page__style-label {
    font-size: 1.05rem;
    line-height: 1.4;
  }
}

/* --------------------------------------------------------------------------
   Per-font overrides — scoped via oz-font-page--{id} on <main>
   -------------------------------------------------------------------------- */

@media (max-width: 983px) {
  .oz-font-page {
    overflow-x: hidden;
  }

  .oz-font-page--kriti {
    overflow-x: hidden;
  }

  .oz-font-page--kriti .oz-font-page__specimen--center-pair:not(.oz-font-page__specimen--center-pair-stack-m) {
    overflow-x: clip;
  }

  /* Kriti Bold — short pair (מַעְגָּל / КОЛЬЦО) */
  .oz-font-page--kriti .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--kriti .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(6rem, 24vw, 17rem)),
      26vw
    );
    white-space: nowrap;
  }

  /* Kriti Extra-Light — stacked pair (קְצֵה הַמַּעֲרֶכֶת / TERMINAL EDGE) */
  .oz-font-page--kriti .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--kriti .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3.25rem, 13vw, 12rem)),
      13.5vw
    );
  }

  .oz-font-page--mezakh,
  .oz-font-page--maadim,
  .oz-font-page--birzia,
  .oz-font-page--hipusheet,
  .oz-font-page--kriti-narrow,
  .oz-font-page--lyristate,
  .oz-font-page--marker {
    overflow-x: hidden;
  }

  .oz-font-page--lyristate .oz-font-page__specimen--mapachot .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(4.5rem, 32vw, 26rem)),
      20vw
    );
  }

  .oz-font-page--lyristate .oz-font-page__specimen--photo-club .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(4rem, 26vw, 22rem)),
      22vw
    );
  }

  .oz-font-page--lyristate .oz-font-page__specimen--dj-set .oz-font-page__specimen-line[dir='ltr']:first-child {
    font-size: min(clamp(2.75rem, 15.7vw, 13.75rem), 12vw);
  }

  .oz-font-page--lyristate .oz-font-page__specimen--motesplass .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3.5rem, 18vw, 16rem)),
      17vw
    );
  }

  .oz-font-page--lyristate .oz-font-page__specimen--strassenfest .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3.75rem, 20vw, 18rem)),
      18vw
    );
  }

  .oz-font-page--kriti-narrow .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3.5rem, 15vw, 8.5rem)),
      14vw
    );
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .oz-font-page--kriti-narrow .oz-font-page__specimen--medium .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3rem, 12.5vw, 9.5rem)),
      14.5vw
    );
  }

  .oz-font-page--kriti-narrow .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--kriti-narrow .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2rem, 7.5vw, 4.5rem)),
      9.5vw
    );
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .oz-font-page--kriti-narrow .oz-font-page__specimen--bold-cities .oz-font-page__specimen-line,
  .oz-font-page--kriti-narrow .oz-font-page__specimen--bold-cities .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--kriti-narrow .oz-font-page__specimen--bold-cities .oz-font-page__specimen-line[dir='ltr'] {
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(4rem, 17vw, 12rem)),
      16.5vw
    );
  }

  .oz-font-page--kriti-narrow .oz-font-page__specimen--regular .oz-font-page__specimen-body {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.35rem, 6.8vw, 4.75rem)),
      6.8vw
    );
  }

  .oz-font-page--marker .oz-font-page__specimen--striped .oz-font-page__specimen-line {
    white-space: pre-line;
    overflow-wrap: anywhere;
  }

  .oz-font-page--marker .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--hipusheet .oz-font-page__specimen--halul .oz-font-page__specimen-body {
    font-size: min(
      clamp(2.75rem, 16vw, var(--oz-fp-specimen-line-size, 14rem)),
      20vw
    );
  }

  /* Hipusheet Black — stacked pair on mobile; keep one line (no orphan / no clip) */
  .oz-font-page--hipusheet .oz-font-page__specimen--black .oz-font-page__specimen-lines {
    gap: clamp(0.15rem, 1.5vw, 0.5rem);
    margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
    padding-block: 0;
  }

  .oz-font-page--hipusheet .oz-font-page__specimen--black .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.8rem, 9vw, 5.2rem)),
      6.5vw
    );
  }

  /* Hipusheet Bold — stacked pair on mobile; keep one line (no orphan) */
  .oz-font-page--hipusheet .oz-font-page__specimen--bold .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2rem, 6.5vw, 3.75rem)),
      6.25vw
    );
  }

  /* Marker — stacked pair on mobile */
  .oz-font-page--marker .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--marker .oz-font-page__specimen--extra-bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.85rem, 6.8vw, 3.75rem)),
      7.2vw
    );
  }

  .oz-font-page--marker .oz-font-page__specimen--bold .oz-font-page__specimen-line {
    font-size: var(--oz-fp-specimen-line-size, clamp(3.25rem, 18vw, 10rem));
  }

  .oz-font-page--marker .oz-font-page__specimen--black .oz-font-page__specimen-line {
    font-size: var(--oz-fp-specimen-line-size, clamp(4rem, 18vw, 11.5rem));
  }

  .oz-font-page--marker .oz-font-page__specimen--medium .oz-font-page__specimen-body,
  .oz-font-page--marker .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
    max-width: 100%;
    min-width: 0;
    font-size: clamp(1rem, 3.8vw, 1.35rem);
    line-height: 1.35;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
  }

  .oz-font-page--marker .oz-font-page__specimen--regular .oz-font-page__specimen-body {
    max-width: 100%;
    min-width: 0;
    font-size: clamp(0.95rem, 3.5vw, 1.2rem);
    line-height: 1.65;
    padding-inline: 0.12em;
    overflow-wrap: break-word;
    word-break: normal;
  }

  .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page__specimen--stack-pair-center .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3rem, 16vw, 10rem)),
      14vw
    );
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line,
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-x: clip;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='rtl'] {
    text-align: right;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    text-align: left;
  }

  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      clamp(1.85rem, 9vw, var(--oz-fp-specimen-line-size, 4rem)),
      var(--oz-fp-specimen-line-fit-mobile, 9vw)
    );
  }

  /* Bold / Semi-Bold / Inline — JS fits to row (shared size); CSS ceiling is fallback before fonts.ready */
  .oz-font-page--birzia .oz-font-page__specimen--bold .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit-mobile: 14vw;
  }

  .oz-font-page--birzia .oz-font-page__specimen--semi-bold .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit-mobile: 6.5vw;
  }

  .oz-font-page--birzia .oz-font-page__specimen--inline .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit-mobile: 10.5vw;
  }

  .oz-font-page--birzia .oz-font-page__specimen--black .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit-mobile: 9vw;
  }

  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line {
    --oz-fp-specimen-line-fit-mobile: 12vw;
  }

  /* Shadow — short bilingual pair; raise above shared 9vw mobile ceiling */
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      clamp(2.25rem, 12vw, var(--oz-fp-specimen-line-size, 6rem)),
      var(--oz-fp-specimen-line-fit-mobile, 12vw)
    );
  }

  .oz-font-page--birzia .oz-font-page__specimen--shadow .oz-font-page__specimen-line[dir='ltr'] {
    padding-inline-end: 0.08em;
    box-sizing: border-box;
  }

  .oz-font-page--birzia .oz-font-page__specimen--regular .oz-font-page__specimen-body {
    font-size: var(--oz-fp-specimen-line-size, clamp(1rem, 3.75vw, 1.3rem));
    line-height: 1.5;
  }

  .oz-font-page--birzia .oz-font-page__specimen--light .oz-font-page__specimen-body {
    font-size: clamp(1.05rem, 4vw, 1.35rem);
    line-height: 1.5;
  }

  .oz-font-page--birzia .oz-font-page__specimen--medium .oz-font-page__specimen-body {
    max-width: 100%;
    font-size: clamp(1rem, 4.2vw, 1.35rem);
    line-height: 1.45;
  }

  /* Mezakh Black — single line on mobile; larger type, tight pair spacing */
  .oz-font-page--mezakh .oz-font-page__specimen--black .oz-font-page__specimen-lines {
    gap: 0.05rem;
    margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
    padding-block: 0;
  }

  .oz-font-page--mezakh .oz-font-page__specimen--black .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.75rem, 5.5vw, 4rem)),
      8.25vw
    );
  }

  /* Mezakh Extra-Light / Bold — stacked pair on mobile; JS scales to fill width (no orphan) */
  .oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-lines,
  .oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-lines {
    gap: 0.05rem;
    margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
    padding-block: 0;
  }

  .oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
  .oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--mezakh .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.5rem, 14vw, 6rem)),
      13.5vw
    );
  }

  .oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--mezakh .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.75rem, 8vw, 3.5rem)),
      10.5vw
    );
  }

  /* Maadim center-pair stack specimens on mobile; JS scales to fill width (no clip / no orphan) */
  .oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-lines,
  .oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-lines,
  .oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-lines {
    gap: 0.05rem;
    margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
    padding-block: 0;
  }

  .oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
  .oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line,
  .oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--maadim .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.5rem, 14vw, 6rem)),
      13.5vw
    );
  }

  .oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--maadim .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.4rem, 8.5vw, 4rem)),
      10.5vw
    );
  }

  .oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--maadim .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.75rem, 10.5vw, 4.75rem)),
      9.5vw
    );
  }

  /* Temple center-pair stack specimens on mobile; JS scales to fill width (no clip / no orphan) */
  .oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-lines,
  .oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-lines,
  .oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-lines {
    gap: 0.05rem;
    margin-top: clamp(0.35rem, 1.5vw, 0.75rem);
    padding-block: 0;
  }

  .oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line,
  .oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line,
  .oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
  }

  .oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--temple .oz-font-page__specimen--extra-light .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(3rem, 12vw, 5rem)),
      10.5vw
    );
  }

  .oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--temple .oz-font-page__specimen--bold .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(2.5rem, 7.5vw, 4rem)),
      7.5vw
    );
  }

  .oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='rtl'],
  .oz-font-page--temple .oz-font-page__specimen--black .oz-font-page__specimen-line[dir='ltr'] {
    font-size: min(
      var(--oz-fp-specimen-line-size, clamp(1.75rem, 5.5vw, 3.5rem)),
      5.75vw
    );
  }

  /* Temple Semi-Bold — slightly smaller body to avoid orphan last word */
  .oz-font-page--temple .oz-font-page__specimen--semi-bold .oz-font-page__specimen-body {
    font-size: clamp(0.95rem, 3.7vw, 1.25rem);
    line-height: 1.35;
  }

  /* Thin split pair — JS scales to fill row (Mezakh); viewport fallback (Temple) */
  .oz-font-page--temple .oz-font-page__specimen--thin .oz-font-page__specimen-line {
    font-size: clamp(2.75rem, 16vw, 5.5rem);
  }

  .oz-font-page--mezakh .oz-font-page__specimen--thin .oz-font-page__specimen-line {
    font-size: clamp(3.25rem, 24vw, 8rem);
  }

  /* Maadim Thin (מַעֲבָר / Transit) — fill row width */
  .oz-font-page--maadim .oz-font-page__specimen--thin .oz-font-page__specimen-line {
    font-size: clamp(3.25rem, 24vw, 6.5rem);
  }

}
