/* Alexandria is bundled locally so Arabic headlines keep a deliberate, stable shape. */
@font-face {
  font-family: "NXT Alexandria";
  src: url("assets/fonts/alexandria-arabic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF;
}
@font-face {
  font-family: "NXT Alexandria";
  src: url("assets/fonts/alexandria-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0100-024F;
}
/* Arabic layout keeps the artwork and interface reading from right to left. */
.world-reel-mirror { position: absolute; inset: 0; }
html[lang="ar"] body,
html[lang="ar"] :is(h1,h2,h3,h4,button,input,select,textarea,summary) {
  font-family: "NXT Alexandria", Arial, sans-serif;
}
html[lang="ar"] :is(h1,h2,h3,h4) { font-weight: 760; }
html[lang="ar"] :is(h1,h2,h3,h4) {
  font-stretch: normal;
  letter-spacing: 0;
  line-height: 1.35;
  overflow-wrap: normal;
  word-break: normal;
}
html[lang="ar"] :is(.world-nav .access-link,.world-nav .language-toggle,.world-nav .track-toggle,.world-nav .sound-toggle,.store-header .store-links a,.store-header .store-tools span,.collection-toolbar p,.collection-toolbar label,.product-card-badge,.product-card-footer,.filter-pill,.character-code,.story-scene-copy p,.story-scene-copy a,.protocol-product-copy p,.protocol-product-card > b,.commerce-categories a) {
  font-size: 10px;
  letter-spacing: 0;
  line-height: 1.5;
}
html[lang="ar"] .filter-pill { min-height: 38px; padding-inline: 12px; }
html[lang="ar"] .character-card { min-height: 56px; }
html[lang="ar"] .character-code { white-space: normal; }
html[lang="ar"] :is(.lobby-heading h2 em, .protocol-drop-head h3 em, .commerce-head h2 em, .pdp-story h2 em) {
  color: currentColor;
  -webkit-text-stroke: 0;
  font-family: inherit;
  font-style: normal;
}
html[dir="rtl"] .world-reel-mirror { transform: scaleX(-1); }
html[dir="rtl"] .world-reel { transform: none; }
html[dir="rtl"] .lobby-vignette { transform: scaleX(-1); }
html[dir="rtl"] .lobby-heading {
  padding: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
}
html[dir="rtl"] .world-nav .world-logo { justify-self: start; }
html[dir="rtl"] .world-nav .nav-actions { justify-self: end; justify-content: flex-end; }
html[dir="rtl"] .lobby-heading {
  right: var(--pad);
  left: auto;
  width: min(550px, 39vw);
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .lobby-heading h2 {
  font-size: clamp(36px, 4.5vw, 72px);
  line-height: 1.32;
  text-shadow: 0 4px 24px rgba(0,0,0,.55);
}
html[dir="rtl"] .lobby-heading h2 em { padding-bottom: 0; }
html[dir="rtl"] .selection-copy,
html[dir="rtl"] .drag-instruction { text-align: right; }
html[dir="rtl"] .character-code { text-align: right; }
html[dir="rtl"] .manifesto-copy { width: min(100%, 1500px); text-align: right; }
html[lang="ar"] .manifesto-marquee-group { align-items: center; }
html[lang="ar"] .manifesto-marquee span {
  color: rgba(243,239,231,.8);
  -webkit-text-stroke: 0;
  font-size: clamp(25px, 2.7vw, 40px);
  font-weight: 650;
  line-height: 1.45;
  white-space: nowrap;
}
html[data-theme="light"][lang="ar"] .manifesto-marquee span { color: rgba(23,19,15,.78); }
html[dir="rtl"] .manifesto-copy h2 {
  font-size: clamp(32px, 3.45vw, 58px);
  line-height: 1.65;
  text-transform: none;
}
html[dir="rtl"] .manifesto-copy h2 :is(span,em) {
  display: block;
  position: relative;
  padding-block: .12em;
  line-height: 1.6;
  white-space: normal;
  transform: none !important;
  filter: none !important;
}
html[dir="rtl"] .manifesto-lead { width: min(650px, 100%); line-height: 1.9; }
html[dir="rtl"] .protocol-drop-head { direction: rtl; text-align: right; }
html[dir="rtl"] .protocol-drop-head h3 {
  font-size: clamp(42px, 5vw, 78px);
  line-height: 1.4;
}
html[dir="rtl"] .protocol-drop-head h3 em { color: inherit; }
html[dir="rtl"] .protocol-product-copy { direction: rtl; text-align: right; }
html[dir="rtl"] .protocol-product-copy h4 { line-height: 1.3; }
html[dir="rtl"] .protocol-product-brand { right: 22px; left: auto; }
html[dir="rtl"] .protocol-product-card > b { right: auto; left: 22px; }
html[dir="rtl"] .manifesto-campaign-head {
  right: var(--pad);
  left: auto;
  width: min(560px, 34vw);
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .manifesto-campaign-head h3 {
  font-size: clamp(32px, 3vw, 56px);
  line-height: 1.42;
}
html[dir="rtl"] .story-scene figure {
  inset: 0 34% 0 0;
  mask-image: linear-gradient(270deg, transparent, #000 11%, #000 100%);
}
html[dir="rtl"] .story-scene figure > img { transform: scaleX(-1) !important; }
html[dir="rtl"] .story-scene figure::after {
  background: linear-gradient(270deg, #070707, rgba(7,7,7,.78) 9%, transparent 31%),
    linear-gradient(180deg, rgba(7,7,7,.22), transparent 28%, transparent 70%, rgba(7,7,7,.82));
}
html[dir="rtl"] .story-scene-copy {
  right: var(--pad);
  left: auto;
  width: min(560px, 32vw);
  direction: rtl;
  text-align: right;
  align-items: flex-start;
}
html[dir="rtl"] .story-scene-copy h4 {
  max-width: 100%;
  font-size: clamp(34px, 3.7vw, 66px);
  line-height: 1.42;
}
html[dir="rtl"] .story-evidence-rail { right: auto; left: clamp(22px, 2.4vw, 46px); }
html[lang="ar"] .story-ghost { display: none; }
html[dir="rtl"] .story-signal-cut { right: 34%; left: auto; }
html[dir="rtl"] .story-collection-link { right: auto; left: calc(var(--pad) + 122px); }
html[dir="rtl"] .story-progress { right: auto; left: calc(var(--pad) + 122px); }
.story-media-mark { bottom: max(154px, calc(env(safe-area-inset-bottom) + 140px)); }
html[dir="rtl"] .earned-reveal-copy > p { right: var(--pad); left: auto; }
html[dir="rtl"] .earned-reveal-copy > small { right: auto; left: var(--pad); text-align: left; }
html[lang="ar"] .earned-reveal-copy h2,
html[lang="ar"] .earned-reveal[data-word-size="long"] .earned-reveal-copy h2 {
  font-size: clamp(48px, 7.6vw, 112px);
  line-height: 1.4;
  white-space: normal;
  padding-inline: var(--pad);
}
html[dir="rtl"] .earned-reveal-word { max-width: 100%; }
html[dir="rtl"] .commerce-head { direction: rtl; text-align: right; }
html[lang="ar"] .commerce-head h2 { font-size: clamp(42px, 5.6vw, 86px); line-height: 1.4; }
html[dir="rtl"] .commerce-head-copy { text-align: right; }
html[dir="rtl"] .commerce-categories a { text-align: right; }
html[dir="rtl"] .protocol-drop-foot { direction: rtl; }
html[dir="rtl"] :is(.store-header,.shop-content-panel,.pdp-panel,.cart-drawer,.product-drawer) { direction: rtl; }
html[dir="rtl"] .pdp-gallery-prev { right: 16px; left: auto; }
html[dir="rtl"] .pdp-gallery-next { left: 16px; right: auto; }
html[dir="rtl"] .pdp-gallery-arrow { direction: ltr; }
html[dir="rtl"] .pdp-gallery-arrow { transform: translateY(-50%) scaleX(-1); }
html[dir="rtl"] .pdp-image figcaption { direction: ltr; unicode-bidi: isolate; }
html[lang="ar"] .pdp-breadcrumb { font-size: 10px; }
html[dir="rtl"] :is(.protocol-drop-foot a b,.story-collection-link b,.story-scene-copy a b,.commerce-view-all b,.access-link b,.footer-about b,.pdp-add i,.checkout-back span:first-child) { transform: scaleX(-1); }
html[data-theme="light"] .world-nav .world-logo img { filter: none; }
html[dir="rtl"] .world-logo { direction: ltr; }
@media (max-width: 840px) {
  .story-media-mark { top: 18px; bottom: auto; }
  html[dir="rtl"] .manifesto-campaign-head { position: relative; right: auto; left: auto; width: auto; }
  html[dir="rtl"] .story-scene figure { inset: 0; mask-image: none; }
  html[dir="rtl"] .story-scene figure::after {
    background: linear-gradient(180deg, rgba(8,8,8,.04) 20%, rgba(8,8,8,.9) 78%, #080808);
  }
  html[dir="rtl"] .story-scene-copy { right: 22px; left: 22px; width: auto; }
  html[dir="rtl"] .story-collection-link { left: auto; }
  html[dir="rtl"] .protocol-drop-head { align-items: stretch; }
}
@media (max-width: 480px) {
  .pdp-story > h2 { font-size: clamp(36px, 10vw, 52px); line-height: 1.05; letter-spacing: -.05em; overflow-wrap: anywhere; }
  html[dir="rtl"] .world-reel:not(.world-reel-main) { object-position: 75% center; }
  html[dir="rtl"] .world-reel-main { object-position: 65% center; }
  .products-page .collection-filters { flex-wrap: wrap; overflow: visible; gap: 6px; }
  .products-page .product-grid { grid-template-columns: 1fr; gap: 28px; }
  .products-page .product-card { width: 100%; }
  .world-nav { grid-template-columns: auto 1fr; gap: 8px; padding-inline: 12px; }
  .world-nav .nav-actions { flex-wrap: nowrap; }
  .world-nav .access-link { display: flex; width: 34px; min-width: 34px; height: 34px; padding: 4px; gap: 0; overflow: hidden; font-size: 0 !important; line-height: 0 !important; }
  html[lang="ar"] .world-nav .access-link { font-size: 0 !important; }
  .world-nav .access-link b { flex: 0 0 24px; font-size: 15px; line-height: 24px; }
  .world-nav .audio-dock .track-toggle { width: 40px; padding-inline: 8px; }
  .world-nav .audio-dock .sound-toggle { width: 36px; padding-inline: 10px; }
  .world-nav .audio-dock :is(.track-toggle span,.sound-toggle span) { display: none; }
  .world-nav .language-toggle { min-width: 60px; padding-inline: 8px; }
  .world-nav .language-toggle i { width: auto; }
  .character-stage .character-card { display: none; }
  .character-stage .character-card.is-active {
    display: grid;
    top: 74% !important;
    left: 50% !important;
    width: min(180px, 50vw);
    height: 56px;
    transform: translateX(-50%) !important;
  }
  html[dir="rtl"] .lobby-heading {
    top: 14vh;
    right: 16px;
    width: min(66vw, 280px);
    padding: 0;
  }
  html[dir="rtl"] .lobby-heading h2 { font-size: clamp(26px, 7vw, 38px); line-height: 1.35; }
  html[dir="rtl"] .lobby-heading .world-lead { font-size: 11px !important; line-height: 1.6; }
  html[dir="rtl"] .manifesto-copy h2 { font-size: clamp(30px, 8.4vw, 42px); line-height: 1.45; }
  html[dir="rtl"] .protocol-drop-head h3 { font-size: clamp(38px, 10vw, 52px); }
  html[dir="rtl"] .story-scene-copy h4 { font-size: clamp(28px, 8vw, 38px); line-height: 1.4; }
  html[dir="rtl"] .manifesto-campaign-head h3 { font-size: clamp(30px, 8vw, 44px); }
  html[dir="rtl"] .commerce-head h2 { font-size: clamp(40px, 10.5vw, 56px); }
  html[lang="ar"] .earned-reveal-copy h2,
  html[lang="ar"] .earned-reveal[data-word-size="long"] .earned-reveal-copy h2 { font-size: clamp(44px, 12vw, 62px); }
}
