/* פרינס האלו: נבנה אוטומטית מ-research/v50/font_pages/prince_hallow/{css,js} על ידי build_font_pages.py. לא לערוך כאן. */
/* ===== 00-core.css ===== */
/* ===========================================================================
   פרינס האלו - הליבה (30.10.2026). במה: כחול לילה עמוק (לא שחור, כדי שהצל השחור ייראה),
   האותיות בצבע קלף-זהב חיוור כמו הכותרות של הסרטים, וכל צל בממשק שחור וקשה.
   =========================================================================== */
/* the two @font-face rules come from the builder (font_faces in the page head) */
body.fp--prince-hallow {
  --p-night-0: #0f1730; --p-night-1: #16213f; --p-night-2: #1f2d55; --p-night-3: #2c3d6e;
  --p-gold: #ecdcae; --p-gold-2: #d8bf7c; --p-text: #f3ecda; --p-muted: #bcc4dc; --p-ink: #14110a;
  --p-hard-s: 3px 3px 0 #000; --p-hard: 5px 5px 0 #000;
  --p-ease: cubic-bezier(.16, 1, .3, 1);
  --fp-bg: var(--p-night-1); --fp-fg: var(--p-text); --fp-muted: var(--p-muted); --fp-acc: var(--p-gold); --fp-acc2: var(--p-gold-2);
  --fp-panel: rgba(236, 220, 174, .06); --fp-line: rgba(236, 220, 174, .22); --fp-ink: var(--p-ink);
  background: radial-gradient(120% 900px at 70% 180px, #2c3d6e 0%, #1f2d55 38%, #16213f 72%) top / 100% 1100px no-repeat, var(--p-night-1);
  color: var(--p-text);
}
.fp--prince-hallow .p-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fp--prince-hallow .p-nw { white-space: nowrap; }
.fp--prince-hallow :focus-visible { outline: 3px solid var(--p-gold); outline-offset: 3px; }
.fp--prince-hallow .p-pf, .fp--prince-hallow [lang="en"][dir="ltr"].p-pf { font-family: 'FS Prince Hallow', var(--f-brand); }

/* buttons + chips: parchment fill, black hard shadow */
.fp--prince-hallow .p-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 12px;
  font: 700 1rem/1.1 var(--f-text); text-decoration: none; color: var(--p-ink); background: var(--p-gold); border: 2px solid #000; box-shadow: var(--p-hard);
  transition: transform .2s var(--p-ease), box-shadow .2s var(--p-ease); }
.fp--prince-hallow .p-btn:hover { transform: translate(-1px, -1px); box-shadow: 6px 6px 0 #000; }
.fp--prince-hallow .p-btn:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 #000; }
.fp--prince-hallow .p-btn--ghost { background: var(--p-night-2); color: var(--p-text); }
.fp--prince-hallow .p-chip { min-height: 44px; padding: 6px 14px; border-radius: 10px; border: 2px solid #000; background: var(--p-night-2); color: var(--p-text);
  font: 600 .95rem/1.2 var(--f-text); cursor: pointer; box-shadow: var(--p-hard-s); transition: transform .15s var(--p-ease), box-shadow .15s var(--p-ease); }
.fp--prince-hallow .p-chip:hover { border-color: var(--p-gold); }
.fp--prince-hallow .p-chip:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 #000; }

/* the shared parts on this page: Latin editor, sizes */
.fp--prince-hallow .fp-play__text { font-feature-settings: var(--fp-feat, normal); }
.fp--prince-hallow .fp-sec__lead [lang="en"] { white-space: nowrap; }
/* sample chips hold Latin or Hebrew: each one takes its own direction, so the ellipsis and the ! stay at the end */
.fp--prince-hallow .fp-play__samples .fp-chip { unicode-bidi: plaintext; }

/* ===== 10-hero.css ===== */
/* ---------- hero ---------- */
.fp--prince-hallow .p-hero { position: relative; width: var(--wrap); margin: clamp(28px, 5vw, 64px) auto 0; padding-bottom: clamp(40px, 7vw, 96px); text-align: center; }
.fp--prince-hallow .p-hero__mist { position: absolute; inset: -10% 0 0; pointer-events: none; z-index: 0;
  background: radial-gradient(40% 35% at 50% 45%, rgba(236, 220, 174, .14), transparent 70%); }
.js-motion .fp--prince-hallow .p-hero__mist { animation: p-hero-breathe 7s ease-in-out infinite alternate; }
@keyframes p-hero-breathe { from { opacity: .6; transform: scale(.96); } to { opacity: 1; transform: scale(1.04); } }
.fp--prince-hallow .p-hero__in { position: relative; z-index: 1; display: grid; justify-items: center; gap: clamp(12px, 2vw, 20px); }
.fp--prince-hallow .p-kicker { margin: 0; font: 700 .9rem/1 var(--f-text); letter-spacing: .12em; color: var(--p-gold); }
.fp--prince-hallow .p-hero__title { margin: 0; font-weight: 400; }
.fp--prince-hallow .p-hero__word { display: block; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(2.8rem, 15.5vw, 11rem); line-height: 1.02;
  color: var(--p-gold); text-shadow: .035em .045em 0 #000; }
.fp--prince-hallow .p-hero__ln { display: inline-block; white-space: nowrap; }
.fp--prince-hallow .p-hero__sub { margin: 0; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(1.25rem, 4.6vw, 2.6rem); line-height: 1.2; color: var(--p-text); opacity: .9; }
.fp--prince-hallow .p-hero__lead { max-width: 46ch; margin: 6px 0 0; font: 400 var(--fs-lead)/1.6 var(--f-text); color: var(--p-muted); }
.fp--prince-hallow .p-hero__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 14px; margin-top: 6px; }
@media (max-width: 480px) { .fp--prince-hallow .p-hero__cta .p-btn { flex: 1 1 100%; } }

/* letters rise one by one (split by js/10-hero.js) */
.fp--prince-hallow .p-l { display: inline-block; }
.js-motion .fp--prince-hallow .p-l { animation: p-hero-rise .9s var(--p-ease) both; animation-delay: calc(.15s + var(--i) * 55ms); }
.js-motion .fp--prince-hallow .p-hero__sub { animation: p-hero-fade 1.2s ease-out .9s both; }
@keyframes p-hero-rise { from { opacity: 0; transform: translateY(.25em); } to { opacity: 1; transform: none; } }
@keyframes p-hero-fade { from { opacity: 0; } to { opacity: .9; } }

/* ===== 20-sections.css ===== */
/* ---------- story ---------- */
.fp--prince-hallow .p-story__body { width: var(--wrap); margin: 0 auto; display: grid; gap: clamp(24px, 4vw, 56px); }
@media (min-width: 900px) { .fp--prince-hallow .p-story__body { grid-template-columns: 1.3fr 1fr; align-items: start; } }
.fp--prince-hallow .p-story__text p { margin: 0 0 1em; font: 400 var(--fs-lead)/1.75 var(--f-text); color: var(--p-text); max-width: 62ch; }
.fp--prince-hallow .p-facts { margin: 0; display: grid; gap: 0; background: var(--p-night-2); border: 2px solid #000; border-radius: 16px; box-shadow: var(--p-hard); overflow: hidden; }
.fp--prince-hallow .p-facts > div { display: grid; grid-template-columns: 7.5em 1fr; gap: 12px; padding: 12px 18px; border-bottom: 1px solid var(--fp-line); }
.fp--prince-hallow .p-facts > div:last-child { border-bottom: 0; }
.fp--prince-hallow .p-facts dt { font: 700 .9rem/1.5 var(--f-text); color: var(--p-gold); }
.fp--prince-hallow .p-facts dd { margin: 0; font: 400 .98rem/1.5 var(--f-text); color: var(--p-text); min-width: 0; }
@media (max-width: 420px) { .fp--prince-hallow .p-facts > div { grid-template-columns: 1fr; gap: 2px; } }

/* ---------- two heights ---------- */
.fp--prince-hallow .p-ht__fig { width: var(--wrap); margin: 0 auto; padding: clamp(20px, 4vw, 48px); background: var(--p-night-0); border: 2px solid #000; border-radius: 18px; box-shadow: var(--p-hard); }
.fp--prince-hallow .p-ht__stage { position: relative; display: flex; justify-content: center; }
.fp--prince-hallow .p-ht__word { position: relative; z-index: 1; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(4.2rem, 22vw, 13rem); line-height: 1.25; color: var(--p-gold); white-space: nowrap; }
.fp--prince-hallow .p-ht__line { position: absolute; inset-inline: 0; height: 0; border-top: 2px dashed; top: var(--y, 0); opacity: 0; transition: opacity .4s; }
.fp--prince-hallow .p-ht__stage.is-measured .p-ht__line { opacity: .85; }
.fp--prince-hallow .p-ht__line--cap { color: #ff9a76; }
.fp--prince-hallow .p-ht__line--small { color: #8fd3ff; }
.fp--prince-hallow .p-ht__line--base { color: rgba(243, 236, 218, .45); border-top-style: solid; }
.fp--prince-hallow .p-ht__legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; margin-top: 16px; font: 600 .95rem/1.4 var(--f-text); color: var(--p-muted); }
.fp--prince-hallow .p-key { display: inline-block; width: 22px; margin-inline-end: 8px; vertical-align: middle; border-top: 2px dashed; }
.fp--prince-hallow .p-key--cap { color: #ff9a76; }
.fp--prince-hallow .p-key--small { color: #8fd3ff; }
.fp--prince-hallow .p-pairs { width: var(--wrap); margin: clamp(20px, 3vw, 32px) auto 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 640px) { .fp--prince-hallow .p-pairs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fp--prince-hallow .p-pair { display: grid; justify-items: center; gap: 6px; padding: 16px 10px; background: var(--p-night-2); border: 2px solid #000; border-radius: 14px; box-shadow: var(--p-hard-s); }
.fp--prince-hallow .p-pair__g { font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(2.6rem, 8vw, 4.4rem); line-height: 1.1; color: var(--p-gold); }
.fp--prince-hallow .p-pair__cap { font: 600 .85rem/1.3 var(--f-text); color: var(--p-muted); }

/* ---------- accents line + glyphs ---------- */
.fp--prince-hallow .p-acc { width: var(--wrap); margin: clamp(24px, 4vw, 40px) auto 0; text-align: center; }
.fp--prince-hallow .p-acc__t { margin: 0; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(2rem, 7vw, 4.4rem); line-height: 1.35; color: var(--p-gold); overflow-wrap: anywhere; }
.fp--prince-hallow .p-acc__cap { margin: 8px auto 0; max-width: 60ch; font: 400 1rem/1.6 var(--f-text); color: var(--p-muted); }
.fp--prince-hallow .p-acc__cap span { font-family: 'FS Prince Hallow', var(--f-brand); color: var(--p-text); font-size: 1.15em; white-space: nowrap; }

/* ---------- glyphs ---------- */
.fp--prince-hallow .p-gl__wrap { width: var(--wrap); margin: 0 auto; display: grid; gap: 24px; }
@media (min-width: 900px) { .fp--prince-hallow .p-gl__wrap { grid-template-columns: 1fr 300px; align-items: start; } .fp--prince-hallow .p-insp { position: sticky; top: 100px; } }
.fp--prince-hallow .p-gl__group + .p-gl__group { margin-top: 22px; }
.fp--prince-hallow .p-gl__h { margin: 0 0 10px; font: 700 1rem/1.3 var(--f-text); color: var(--p-gold); }
.fp--prince-hallow .p-gl__h small { font-weight: 400; color: var(--p-muted); }
.fp--prince-hallow .p-gl__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 6px; }
.fp--prince-hallow .p-tile { aspect-ratio: 1; min-width: 0; padding: 0; border-radius: 8px; border: 1px solid var(--fp-line); background: rgba(255, 255, 255, .03); color: var(--p-gold); cursor: pointer;
  font-family: 'FS Prince Hallow', var(--f-brand); font-size: 1.7rem; line-height: 1; transition: background .15s, border-color .15s; }
.fp--prince-hallow .p-tile:hover { border-color: var(--p-gold); }
.fp--prince-hallow .p-tile[aria-pressed="true"] { background: var(--p-gold); color: var(--p-ink); border-color: #000; }
.fp--prince-hallow .p-insp { display: grid; justify-items: center; gap: 6px; padding: 22px 16px; background: var(--p-night-0); border: 2px solid #000; border-radius: 16px; box-shadow: var(--p-hard); }
.fp--prince-hallow .p-insp__g { font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(6rem, 30vw, 10rem); line-height: 1.2; color: var(--p-gold); text-shadow: .03em .04em 0 #000; }
.fp--prince-hallow .p-insp__n { margin: 0; font: 600 .95rem/1.4 var(--f-text); color: var(--p-text); text-align: center; }
.fp--prince-hallow .p-insp__u { margin: 0; font: 400 .85rem/1 ui-monospace, monospace; color: var(--p-muted); }

/* ---------- inspiration ---------- */
.fp--prince-hallow .p-inspf { width: var(--wrap); margin: 0 auto; }
.fp--prince-hallow .p-inspf__link { display: block; border: 2px solid #000; border-radius: 16px; overflow: hidden; box-shadow: var(--p-hard); background: #000; }
.fp--prince-hallow .p-inspf img { display: block; width: 100%; height: auto; }
.fp--prince-hallow .p-inspf__credit { margin-top: 12px; font: 400 .85rem/1.5 var(--f-text); color: var(--p-muted); }

/* ===== 30-world.css ===== */
/* ---------- the night world (30.10.2026): his renders behind the page, violet glass in front of them.
   His taste: living photo backgrounds under every section, soft violet behind text, open lines instead of boxes. ---------- */
body.fp--prince-hallow { --p-glass: linear-gradient(155deg, rgba(62, 44, 120, .58), rgba(22, 24, 66, .68));
  --p-glow-line: rgba(236, 220, 174, .3); --p-deep: 0 22px 50px rgba(0, 0, 0, .6);
  --p-goldfill: linear-gradient(180deg, #fff6d6 0%, #f0dca0 42%, #cfa24e 62%, #f7e7b4 100%); background: #0b1026; }
.fp--prince-hallow .sky { display: none; }
.fp--prince-hallow .p-night { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; background: #0b1026; contain: strict; }
.fp--prince-hallow .p-bg { position: absolute; inset: -6% 0 auto; width: 100%; height: 112%; max-width: none; object-fit: cover; object-position: 66% 100%;
  opacity: 0; transition: opacity 1.6s ease; will-change: opacity, transform; }
.fp--prince-hallow .p-bg.is-on { opacity: 1; }
.js-motion .fp--prince-hallow .p-bg { animation: p-drift 46s ease-in-out infinite alternate; }
@keyframes p-drift { from { transform: scale(1) translateX(0); } to { transform: scale(1.07) translateX(-1.2%); } }
.fp--prince-hallow .p-mist { position: absolute; left: -30%; width: 160%; height: 60%; opacity: .5; filter: blur(46px); }
.fp--prince-hallow .p-mist--a { bottom: -12%; background: radial-gradient(45% 50% at 30% 60%, rgba(124, 88, 214, .5), transparent 70%), radial-gradient(40% 44% at 76% 50%, rgba(70, 96, 200, .42), transparent 70%); }
.fp--prince-hallow .p-mist--b { top: -14%; background: radial-gradient(44% 46% at 66% 40%, rgba(150, 96, 200, .34), transparent 70%), radial-gradient(34% 40% at 20% 50%, rgba(60, 120, 190, .3), transparent 70%); }
.js-motion .fp--prince-hallow .p-mist--a { animation: p-mist 34s ease-in-out infinite alternate; }
.js-motion .fp--prince-hallow .p-mist--b { animation: p-mist 44s ease-in-out infinite alternate-reverse; }
@keyframes p-mist { from { transform: translateX(-7%); } to { transform: translateX(7%); } }
.fp--prince-hallow .p-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 14, 40, .3), rgba(11, 14, 40, .08) 40%, rgba(11, 14, 40, .42)); opacity: 0; transition: opacity 1.4s ease; }
.fp--prince-hallow .p-night.is-deep .p-veil { opacity: 1; }
.fp--prince-hallow .p-candles { position: absolute; inset: 0; width: 100%; height: 100%; }

/* hero: the castle stands under the name */
.fp--prince-hallow .p-hero { width: 100%; margin: 0; min-height: calc(100svh - 150px); padding: clamp(16px, 3vw, 36px) 16px clamp(120px, 26vh, 300px); display: grid; align-content: start; }
.fp--prince-hallow .p-hero__in { width: var(--wrap); margin-inline: auto; }
.fp--prince-hallow .p-hero__mist { inset: -18% 0 22%; background: radial-gradient(60% 56% at 50% 34%, rgba(10, 22, 44, .5), rgba(14, 26, 60, .24) 58%, transparent 78%); }
.fp--prince-hallow .p-arc { position: absolute; inset: -80px 0 0; width: 100%; height: calc(100% + 80px); pointer-events: none; z-index: 2; }
.fp--prince-hallow .p-hero__word { text-shadow: none; filter: drop-shadow(.03em .04em 0 #000) drop-shadow(0 .02em .18em rgba(0, 0, 0, .75)); }
.fp--prince-hallow .p-hero__ln { padding-inline: .03em; }
.fp--prince-hallow .p-l { background: var(--p-goldfill); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fp--prince-hallow .p-hero__sub { color: #fff4d6; filter: drop-shadow(2px 2px 0 #000); }
.fp--prince-hallow .p-hero__lead { color: #fff; padding: 8px 18px; border-radius: 16px; background: radial-gradient(closest-side, rgba(36, 24, 84, .62), transparent); filter: drop-shadow(1px 1px 0 #000); }
.fp--prince-hallow .p-kicker { color: #ffe9b4; filter: drop-shadow(1px 1px 0 #000); }

/* every section floats on soft violet, so the night stays visible at its edges */
.fp--prince-hallow .fp-sec { isolation: isolate; }
.fp--prince-hallow .fp-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(26, 18, 70, .52) 14%, rgba(22, 18, 66, .56) 86%, transparent); }
.fp--prince-hallow .fp-sec__num { font-family: 'FS Prince Hallow', var(--f-brand); color: var(--p-gold); }
.fp--prince-hallow .fp-sec__title { filter: drop-shadow(2px 2px 0 #000); }
.fp--prince-hallow .fp-sec__lead { color: #e4e4f4; }

/* glass instead of flat boxes */
.fp--prince-hallow .p-ht__fig, .fp--prince-hallow .p-logo__box, .fp--prince-hallow .p-lang__stage, .fp--prince-hallow .p-pair, .fp--prince-hallow .p-insp, .fp--prince-hallow .fp-play__stage {
  background: var(--p-glass); border: 1px solid var(--p-glow-line); box-shadow: var(--p-deep); -webkit-backdrop-filter: blur(14px) saturate(135%); backdrop-filter: blur(14px) saturate(135%); }
.fp--prince-hallow .p-tile { background: rgba(40, 30, 100, .42); }

/* facts: open lines with thin gold dividers, no box */
.fp--prince-hallow .p-facts { background: none; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.fp--prince-hallow .p-facts > div { padding: 12px 0; border-bottom: 1px solid var(--p-glow-line); }

/* the poster sheet hangs like a lit frame */
.fp--prince-hallow .p-inspf__link { border: 1px solid var(--p-glow-line); box-shadow: var(--p-deep), 0 0 70px rgba(255, 190, 110, .14); transition: transform .5s var(--p-ease); }
.fp--prince-hallow .p-inspf__link:hover { transform: scale(1.012); }
.fp--prince-hallow .p-inspf__credit { color: #d4d4ea; }

.fp--prince-hallow .p-btn { background: var(--p-goldfill); }
.fp--prince-hallow .p-btn--ghost { background: rgba(50, 36, 110, .72); color: #fff; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }

@media (max-width: 700px) {
  .fp--prince-hallow .p-ht__fig, .fp--prince-hallow .p-logo__box, .fp--prince-hallow .p-lang__stage, .fp--prince-hallow .p-pair, .fp--prince-hallow .p-insp, .fp--prince-hallow .fp-play__stage { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(155deg, rgba(58, 42, 116, .84), rgba(22, 24, 66, .88)); }
  .fp--prince-hallow .p-mist { filter: blur(30px); }
  .fp--prince-hallow .p-bg--castle { object-position: 90% 100%; }   /* the phone frame holds the towers, not the cliff */
}

/* ===== 40-features.css ===== */
/* ---------- round 3 (30.10.2026): sticky jump nav, hero input, modes, Logo stage, studio, languages, glyph panel, final block ---------- */
.fp--prince-hallow .fp-sec { padding-block: clamp(44px, 6.5vw, 84px); scroll-margin-top: 136px; }
.fp--prince-hallow .p-hero { grid-template-columns: minmax(0, 1fr); padding-bottom: clamp(60px, 14vh, 160px); }
.fp--prince-hallow .p-hero__word { font-size: clamp(3.6rem, 22vw, 7.6rem); line-height: 1; }
.fp--prince-hallow .p-hero__ln { display: block; width: fit-content; margin-inline: auto; white-space: nowrap; }
.fp--prince-hallow .p-l { display: inline; position: relative; }
.js-motion .fp--prince-hallow .p-l { animation: none; }
.js-motion .fp--prince-hallow .p-l.is-rise { animation: p-hero-rise .8s var(--p-ease) both; animation-delay: calc(var(--d, 0s) + var(--i) * 45ms); }
@keyframes p-hero-rise { from { opacity: 0; top: .22em; } to { opacity: 1; top: 0; } }

/* shared form look */
.fp--prince-hallow .p-try, .fp--prince-hallow .p-field { display: grid; gap: 6px; font: 700 .92rem/1.3 var(--f-text); color: #ffe9b4; }
.fp--prince-hallow .p-try { width: min(320px, 100%); justify-items: center; filter: drop-shadow(1px 1px 0 #000); }
.fp--prince-hallow .p-try input, .fp--prince-hallow .p-field input, .fp--prince-hallow .p-field select, .fp--prince-hallow .p-jump__sel select, .fp--prince-hallow .p-logo__field input {
  width: 100%; min-width: 0; min-height: 48px; padding: 8px 14px; border-radius: 12px; border: 1px solid var(--p-glow-line); background: rgba(16, 14, 56, .78); color: #fff; font: 600 1.05rem/1.3 var(--f-text); }
.fp--prince-hallow .p-try input { text-align: center; font-family: 'FS Prince Hallow', var(--f-brand); font-size: 1.3rem; }
.fp--prince-hallow .p-try input::placeholder, .fp--prince-hallow .p-field input::placeholder { color: #c9c9e6; opacity: 1; }
.fp--prince-hallow .p-field select option, .fp--prince-hallow .p-jump__sel option { background: #17143f; color: #fff; }

/* pressed look shared by mode buttons and tabs */
.fp--prince-hallow .p-seg { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.fp--prince-hallow .p-seg__b { min-height: 46px; padding: 6px 20px; border-radius: 12px; border: 1px solid var(--p-glow-line); background: rgba(30, 24, 84, .7); color: #fff; font: 700 1rem/1.2 var(--f-text); cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.fp--prince-hallow .p-seg__b:hover { border-color: var(--p-gold); }
.fp--prince-hallow .p-seg__b[aria-pressed="true"], .fp--prince-hallow .p-seg__b[aria-selected="true"] { background: var(--p-goldfill); color: var(--p-ink); border-color: #000; box-shadow: var(--p-hard-s); }

/* ---------- jump nav ---------- */
.fp--prince-hallow .p-jump { position: sticky; top: 84px; z-index: 30; width: var(--wrap); margin: 0 auto; padding: 6px; border-radius: 16px; background: rgba(20, 16, 62, .82); border: 1px solid var(--p-glow-line);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 8px 20px rgba(0, 0, 0, .5); transition: top .4s var(--p-ease); }
body:has(.topnav.is-hidden) .p-jump { top: 10px; }
.fp--prince-hallow .p-jump__pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.fp--prince-hallow .p-jump__a { display: inline-flex; align-items: center; min-height: 36px; padding: 2px 13px; border-radius: 10px; color: #e8e6f6; text-decoration: none; font: 600 .9rem/1.2 var(--f-text); }
.fp--prince-hallow .p-jump__a:hover { background: rgba(236, 220, 174, .14); color: #fff; }
.fp--prince-hallow .p-jump__a[aria-current="true"] { background: var(--p-goldfill); color: var(--p-ink); }
.fp--prince-hallow .p-jump__sel { display: none; }
@media (max-width: 760px) {
  .fp--prince-hallow .p-jump.has-select { padding: 4px; }
  .fp--prince-hallow .p-jump.has-select .p-jump__pills { display: none; }
  .fp--prince-hallow .p-jump.has-select .p-jump__sel { display: block; }
  .fp--prince-hallow .p-jump__sel select { min-height: 44px; }
}

/* ---------- story figure ---------- */

/* ---------- two heights ---------- */
.fp--prince-hallow .p-ht__fig { display: grid; gap: 14px; }
.fp--prince-hallow .p-ht__stage { align-items: center; overflow: hidden; }
.fp--prince-hallow .p-ht__word { font-size: clamp(3.8rem, 10.5vw, 8.6rem); line-height: 1.5; white-space: nowrap; }

/* ---------- Logo stage ---------- */
.fp--prince-hallow .p-logo__box { width: var(--wrap); margin: 0 auto; display: grid; gap: 14px; padding: clamp(14px, 2.4vw, 28px); border-radius: 18px; }
.fp--prince-hallow .p-lgstage { display: grid; gap: 12px; padding: clamp(14px, 2.4vw, 28px); border-radius: 14px; background: rgba(10, 10, 40, .46); }
.fp--prince-hallow .p-typed { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font: 700 .9rem/1.3 var(--f-text); color: var(--p-muted); }
.fp--prince-hallow .p-typed kbd { display: inline-block; max-width: 100%; padding: 4px 10px; border-radius: 7px; border: 1px solid var(--p-glow-line); border-bottom: 3px solid #000; background: #221e5c; color: #fff; font: 600 .9rem/1.35 ui-monospace, Consolas, monospace; overflow-wrap: anywhere; }
.fp--prince-hallow .p-lgstage__t { margin: 0; min-height: 2.5em; display: block; font-size: clamp(1.9rem, 5.4vw, 4.7rem); line-height: 1.2; color: var(--p-gold); text-align: center; overflow-wrap: anywhere; filter: drop-shadow(.02em .03em 0 #000); }
.fp--prince-hallow .p-lc { font-size: 1em; transition: font-size .45s var(--p-ease); transition-delay: calc(var(--i) * 14ms); }
.fp--prince-hallow .p-lc.is-small { font-size: .8em; }
.fp--prince-hallow .p-lc.no-t { transition: none; }
.fp--prince-hallow .p-toggle { justify-self: center; display: inline-flex; align-items: center; gap: 14px; min-height: 58px; padding: 8px 26px; border-radius: 14px; border: 2px solid #000; background: var(--p-goldfill); color: var(--p-ink); box-shadow: var(--p-hard); font: 800 1.2rem/1.2 var(--f-text); cursor: pointer; transition: transform .15s var(--p-ease), box-shadow .15s var(--p-ease); }
.fp--prince-hallow .p-toggle:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 #000; }
.fp--prince-hallow .p-toggle__track { position: relative; flex: none; width: 54px; height: 30px; border-radius: 16px; background: #2a2466; border: 2px solid #000; }
.fp--prince-hallow .p-toggle__knob { position: absolute; top: 2px; inset-inline-end: 2px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: inset-inline-end .25s var(--p-ease); }
.fp--prince-hallow .p-toggle[aria-checked="false"] { background: rgba(50, 36, 110, .9); color: #fff; }
.fp--prince-hallow .p-toggle[aria-checked="false"] .p-toggle__knob { inset-inline-end: 26px; }
.fp--prince-hallow .p-logo__field { display: grid; gap: 6px; font: 700 .92rem/1.3 var(--f-text); color: var(--p-gold); }
.fp--prince-hallow .p-logo__field input { text-transform: uppercase; }
.fp--prince-hallow .p-logo__presets { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- studio ---------- */
.fp--prince-hallow .fp-play { background: rgba(26, 20, 76, .72); }
.fp--prince-hallow .fp-play__stage { border-radius: 0; box-shadow: none; border-inline: 0; }
.fp--prince-hallow .fp-play__stage.is-inverted { background: var(--p-text); -webkit-backdrop-filter: none; backdrop-filter: none; }
.fp--prince-hallow .fp-play__stage:fullscreen { background: #15123f; display: grid; align-content: center; padding: 4vw; overflow: auto; }
.fp--prince-hallow .fp-play__stage:fullscreen.is-inverted { background: var(--p-text); }
.fp--prince-hallow .fp-play__stage.is-pseudo-full { position: fixed; inset: 0; z-index: 1000; background: #15123f; overflow: auto; }
.fp--prince-hallow .fp-play__stage.is-pseudo-full.is-inverted { background: var(--p-text); }
.fp--prince-hallow .p-exit { position: absolute; top: 12px; inset-inline-end: 12px; z-index: 2; min-height: 44px; padding: 6px 14px; border-radius: 10px; border: 2px solid #000; background: var(--p-gold); color: var(--p-ink); font: 700 .95rem/1.2 var(--f-text); cursor: pointer; }
.fp--prince-hallow .p-exit[hidden] { display: none; }
.fp--prince-hallow .p-tools { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px clamp(14px, 2vw, 24px); border-bottom: 1px solid var(--fp-line); }
.fp--prince-hallow .p-tools .fp-chip { min-height: 44px; }
.fp--prince-hallow .p-settings { display: none; }
.fp--prince-hallow .fp-range input { min-height: 28px; }
@media (max-width: 700px) {
  .fp--prince-hallow .fp-play { display: flex; flex-direction: column; }
  .fp--prince-hallow .fp-play__stage { order: 0; min-height: 190px; scroll-margin-top: 80px; }
    .fp--prince-hallow .p-tools { order: 2; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--fp-line); }
  .fp--prince-hallow .p-tools .fp-chip { justify-content: center; }
  .fp--prince-hallow .fp-play.p-js .p-settings { order: 3; display: block; min-height: 46px; margin: 12px clamp(14px, 2vw, 24px) 0; border-radius: 12px; border: 1px solid var(--p-glow-line); background: rgba(50, 36, 110, .72); color: #fff; font: 700 1rem/1.2 var(--f-text); cursor: pointer; }
  .fp--prince-hallow .fp-play__bar { order: 4; }
  .fp--prince-hallow .fp-play.p-js:not(.is-open) .fp-play__bar { display: none; }
  .fp--prince-hallow .fp-play__samples { order: 5; }
  .fp--prince-hallow .fp-play__tip { order: 6; }
  .fp--prince-hallow .fp-range { width: 100%; }
  .fp--prince-hallow .fp-range input { flex: 1; width: auto; min-width: 0; }
  /* keyboard open: only the preview and the message stay */
  .fp--prince-hallow .fp-play.is-typing .p-tools, .fp--prince-hallow .fp-play.is-typing .p-settings, .fp--prince-hallow .fp-play.is-typing .fp-play__bar,
  .fp--prince-hallow .fp-play.is-typing .fp-play__samples, .fp--prince-hallow .fp-play.is-typing .fp-play__tip { display: none; }
}

/* ---------- languages ---------- */
.fp--prince-hallow .p-lang { width: var(--wrap); margin: 0 auto; display: grid; gap: 14px; }
.fp--prince-hallow .p-lang__stage { display: grid; padding: clamp(24px, 5vw, 60px) clamp(14px, 3vw, 32px); border-radius: 18px; }
.fp--prince-hallow .p-lang__p { grid-area: 1 / 1; display: grid; align-content: center; justify-items: center; gap: 12px; text-align: center; opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s linear .5s; }
.fp--prince-hallow .p-lang__p.is-on { opacity: 1; visibility: visible; transition: opacity .5s ease, visibility 0s; }
html:not(.js-motion) .fp--prince-hallow .p-lang__p { transition: none; }
.fp--prince-hallow .p-lang__t { margin: 0; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(1.9rem, 9.2vw, 6rem); line-height: 1.15; color: var(--p-gold); filter: drop-shadow(.025em .035em 0 #000); }
.fp--prince-hallow .p-lang__cap { margin: 0; font: 400 1rem/1.4 var(--f-text); color: #e4e4f4; }
.fp--prince-hallow .p-lang__cap b { color: #fff; }

/* ---------- glyphs ---------- */
.fp--prince-hallow .p-gl__tools { width: var(--wrap); margin: 0 auto 18px; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: end; gap: 12px 16px; }
.fp--prince-hallow .p-gl__count { margin: 0; min-width: 6em; padding-bottom: 12px; font: 600 .95rem/1.3 var(--f-text); color: #e4e4f4; }
.fp--prince-hallow .p-gl__group { display: block; }
.fp--prince-hallow .p-gl__group[hidden] { display: none; }
.fp--prince-hallow .p-gl__h { min-height: 44px; display: flex; align-items: center; gap: 8px; margin: 0 0 6px; cursor: pointer; }
.fp--prince-hallow .p-gl__grid { grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); }
.fp--prince-hallow .p-tile[hidden] { display: none; }
.fp--prince-hallow .p-insp { grid-template-columns: minmax(0, 1fr); gap: 12px; }
.fp--prince-hallow .p-insp__info { display: grid; justify-items: center; gap: 6px; }
.fp--prince-hallow .p-insp__copy { min-height: 44px; }
.fp--prince-hallow .p-insp__rel { width: 100%; }
.fp--prince-hallow .p-insp__relh { margin: 0 0 6px; font: 700 .85rem/1.3 var(--f-text); color: var(--p-gold); text-align: center; }
.fp--prince-hallow .p-insp__rel[hidden] { display: none; }
.fp--prince-hallow .p-insp__rels { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.fp--prince-hallow .p-insp__rels .p-tile { width: 46px; height: 46px; aspect-ratio: auto; font-size: 1.45rem; }
@media (max-width: 899px) {
  .fp--prince-hallow .p-gl__tools { grid-template-columns: minmax(0, 1fr); }
  .fp--prince-hallow .p-gl__count { padding: 0; }
  .fp--prince-hallow .p-insp { order: -1; position: sticky; top: 140px; z-index: 5; grid-template-columns: auto minmax(0, 1fr); padding: 8px 12px; gap: 4px 12px; }
  body:has(.topnav.is-hidden) .fp--prince-hallow .p-insp { top: 68px; }
  .fp--prince-hallow .p-insp__g { font-size: 3.6rem; min-width: 1.15em; text-align: center; line-height: 1.1; }
  .fp--prince-hallow .p-insp__info { justify-items: start; gap: 3px; }
  .fp--prince-hallow .p-insp__n { font-size: .85rem; line-height: 1.25; }
  .fp--prince-hallow .p-insp__rel { grid-column: 1 / -1; }
  .fp--prince-hallow .p-insp__relh { display: none; }
  .fp--prince-hallow .p-insp__rels { justify-content: flex-start; }
  .fp--prince-hallow .p-insp__rels .p-tile { width: 44px; height: 44px; }
  .fp--prince-hallow .p-gl__grid { grid-template-columns: repeat(auto-fill, minmax(52px, 1fr)); gap: 7px; }
}

@media (min-width: 900px) { .fp--prince-hallow .p-insp { top: 150px; } }

/* ---------- final block ---------- */
.fp--prince-hallow .p-final__box { width: var(--wrap); margin: 0 auto; display: grid; gap: clamp(20px, 4vw, 48px); align-items: center; }
@media (min-width: 900px) { .fp--prince-hallow .p-final__box { grid-template-columns: 1fr 1.2fr; } }
.fp--prince-hallow .p-final__say { display: grid; gap: 16px; justify-items: start; }
.fp--prince-hallow .p-final__say p { margin: 0; font: 600 var(--fs-lead)/1.5 var(--f-text); color: #fff; }
.fp--prince-hallow .p-btn--big { min-height: 60px; padding: 10px 28px; font-size: 1.15rem; line-height: 1.3; text-align: center; }
@media (max-width: 700px) { .fp--prince-hallow .p-lgstage__t { min-height: 3.7em; } }
@media (max-width: 480px) { .fp--prince-hallow .p-btn--big { width: 100%; } .fp--prince-hallow .p-toggle { width: 100%; justify-content: center; } }

/* ---------- Hebrew name, Logo note, Hebrew tiles ---------- */
.fp--prince-hallow .p-hero__he { margin: 0; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(1.7rem, 7vw, 2.8rem); line-height: 1.15; color: #ffe9b4; filter: drop-shadow(2px 2px 0 #000); }
.fp--prince-hallow .p-logo__note { margin: 0; font: 400 .92rem/1.45 var(--f-text); color: #e4e4f4; }

/* ---------- weights ---------- */
.fp--prince-hallow .p-wt__stack { width: var(--wrap); margin: 0 auto; padding: 0; list-style: none; }
.fp--prince-hallow .p-wt__row { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 4px 0; border-bottom: 1px solid var(--p-glow-line); }
.fp--prince-hallow .p-wt__lab { flex: none; font: 600 .9rem/1.2 var(--f-text); color: #e4e4f4; }
.fp--prince-hallow .p-wt__word { font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(2.2rem, 7vw, 4rem); line-height: 1.2; color: var(--p-gold); }
.fp--prince-hallow .p-wt__live { width: var(--wrap); margin: clamp(18px, 3vw, 28px) auto 0; display: grid; gap: 12px; }
.fp--prince-hallow .p-wt__line { margin: 0; text-align: center; font-family: 'FS Prince Hallow', var(--f-brand); font-size: clamp(2rem, 6.4vw, 4.4rem); line-height: 1.25; color: #fff; overflow-wrap: anywhere; filter: drop-shadow(.02em .03em 0 #000); }
.fp--prince-hallow .p-wt__ctl { justify-self: center; width: min(420px, 100%); display: flex; align-items: center; gap: 12px; font: 700 .95rem/1.2 var(--f-text); color: var(--p-gold); }
.fp--prince-hallow .p-wt__ctl input { flex: 1; min-width: 0; min-height: 44px; accent-color: var(--p-gold); }
.fp--prince-hallow .p-wt__ctl output { min-width: 5.5em; color: #fff; }
.fp--prince-hallow .p-wrange output { min-width: 5em; }

/* every Hebrew heading on the page is set in the font itself */
.fp--prince-hallow .fp-sec__title, .fp--prince-hallow .p-gl__h, .fp--prince-hallow .p-logo__field, .fp--prince-hallow .fp-play__label { font-family: 'FS Prince Hallow', var(--f-brand); font-weight: 400; }
.fp--prince-hallow .fp-sec__title { font-size: clamp(2.2rem, 5.4vw, 3.8rem); line-height: 1.12; color: var(--p-gold); }

/* the Hebrew mode of two heights: the rest of the word at 80% */

/* two heights: both words, one switch */
.fp--prince-hallow .p-ht__stages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3vw, 44px); }
@media (max-width: 760px) { .fp--prince-hallow .p-ht__stages { grid-template-columns: minmax(0, 1fr); gap: 4px; } .fp--prince-hallow .p-ht__word { font-size: clamp(3.8rem, 22vw, 7rem); } }
.fp--prince-hallow .p-ht__l { display: inline-block; transition: font-size .55s var(--p-ease), color .4s; transition-delay: calc(var(--i) * 35ms); }
.fp--prince-hallow .p-ht__fig.is-logo .p-ht__l--low { font-size: .8em; color: #8fd3ff; }
.fp--prince-hallow .p-ht__fig.is-logo .p-ht__l--cap { color: #ff9a76; }
.fp--prince-hallow .p-ht__fig.is-measuring .p-ht__l { transition: none; }
.fp--prince-hallow .p-ht__fig:not(.is-logo) .p-ht__line { opacity: 0; }
.fp--prince-hallow .p-ht__fig:not(.is-logo) .p-ht__legend { visibility: hidden; }
.fp--prince-hallow .p-ht__switch { justify-self: center; display: inline-flex; align-items: center; gap: 14px; min-height: 48px; padding: 6px 12px; background: none; border: 0; cursor: pointer; font: 700 1.05rem/1 var(--f-text); color: var(--p-muted); }
.fp--prince-hallow .p-ht__opt { transition: color .3s; }
.fp--prince-hallow .p-ht__switch[aria-checked="false"] .p-ht__opt:first-child, .fp--prince-hallow .p-ht__switch[aria-checked="true"] .p-ht__opt--logo { color: var(--p-gold); }
.fp--prince-hallow .p-ht__track { position: relative; width: 74px; height: 36px; border-radius: 999px; background: rgba(10, 10, 40, .6); border: 1px solid var(--p-glow-line); box-shadow: inset 2px 2px 6px #000; }
.fp--prince-hallow .p-ht__track i { position: absolute; top: 3px; right: 3px; width: 28px; height: 28px; border-radius: 50%; background: var(--p-goldfill); box-shadow: 1px 2px 0 #000; transition: transform .4s var(--p-ease); }
.fp--prince-hallow .p-ht__switch[aria-checked="true"] .p-ht__track i { transform: translateX(-38px); }
@media (prefers-reduced-motion: reduce) { .fp--prince-hallow .p-ht__l, .fp--prince-hallow .p-ht__track i { transition: none; } }
