/* =========================================================================
   NAZA Documentary — naza-documentary.com
   Sizes are in rem so the accessibility "text size" setting scales everything.
   Measured from the 2560px mockups (1 rem = 16px).
   ========================================================================= */

/* ---------- tokens ---------- */
:root {
  --bg: #0d0603;
  --surface: #160f0c;
  --line: #322b28;
  --line-2: #37302b;
  --text: #f2eee6;
  --text-2: #e7e2da;
  --text-3: #d2cdc5;
  --text-4: #c8c3bc;
  --muted: #9b968f;
  --muted-2: #938e88;
  --footer-text: #cbc3b8;
  --label: #c0b7ad;
  --gold: #d4ba8a;
  --gold-line: rgba(212, 186, 138, .6);
  --on-gold: #160f0c;
  --link-line: rgba(242, 238, 230, .4);
  --check: #3b3b3b;
  --focus: #d4ba8a;
  --shadow: 0 2.5rem 6rem rgba(0, 0, 0, .55);

  --font: "Noto Sans", "Noto Sans Hebrew", "Noto Sans Arabic", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans", "Microsoft YaHei", "Malgun Gothic", sans-serif;
  --container: 77.5rem;           /* 1240px */
  --gutter: 1.5rem;
  --header-h: 4.1875rem;          /* 67px */
  --section-gap: 7rem;            /* 112px between home sections */

  color-scheme: dark;
}

html[data-theme="light"] {
  --bg: #f7f3ec;
  --surface: #eee8de;
  --line: #d9d0c3;
  --line-2: #cfc5b7;
  --text: #17100b;
  --text-2: #241a13;
  --text-3: #2e241c;
  --text-4: #3a3029;
  --muted: #5e564e;
  --muted-2: #625a52;
  --footer-text: #4a4038;
  --label: #5e564e;
  --gold: #7a5a1f;
  --gold-line: rgba(122, 90, 31, .55);
  --on-gold: #17100b;
  --link-line: rgba(23, 16, 11, .4);
  --check: #d9d0c3;
  --focus: #7a5a1f;
  --shadow: 0 2rem 4rem rgba(60, 40, 20, .18);
  color-scheme: light;
}

html[data-theme="contrast"] {
  --bg: #000;
  --surface: #000;
  --line: #fff;
  --line-2: #fff;
  --text: #fff;
  --text-2: #fff;
  --text-3: #fff;
  --text-4: #fff;
  --muted: #fff;
  --muted-2: #fff;
  --footer-text: #fff;
  --label: #fff;
  --gold: #ffd36b;
  --gold-line: #ffd36b;
  --on-gold: #000;
  --link-line: #fff;
  --check: #000;
  --focus: #ffd36b;
  --shadow: none;
}

/* text size */
html { font-size: 100%; }
html[data-text="125"] { font-size: 125%; }
html[data-text="150"] { font-size: 150%; }
html[data-text="200"] { font-size: 200%; }

/* ---------- base ---------- */
html, body { background: var(--bg); }
body {
  margin: 0;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
button { font: inherit; color: inherit; }
::selection { background: var(--gold); color: var(--on-gold); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
main:focus { outline: none; }

.nz-skip {
  position: absolute; left: 1rem; top: -4rem; z-index: 2000;
  background: var(--gold); color: var(--on-gold); padding: .75rem 1rem; font-weight: 700;
}
.nz-skip:focus { top: 1rem; color: var(--on-gold); }

.nz-container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.nz-arrow {
  display: inline-block;
  width: 1.0625em;
  height: auto;
  vertical-align: -.02em;
  transition: transform .2s ease;
  flex: none;
}
[dir="rtl"] .nz-arrow { transform: scaleX(-1); }

/* ---------- header ---------- */
.nz-header {
  position: sticky; top: 0; z-index: 1030;
  height: var(--header-h);
  display: flex; align-items: center; justify-content: space-between;
  padding-inline: 1.5rem;
  background: var(--bg);
}
.nz-logo {
  font-weight: 700;
  font-size: 1.0625rem;
  letter-spacing: .35em;
  margin-inline-end: -.35em;
  line-height: 1;
  color: var(--text);
  text-transform: uppercase;
}
.nz-logo:hover { color: var(--gold); }
.nz-header__right { display: flex; align-items: center; gap: 1.0625rem; }
.nz-nav ul { display: flex; gap: 1.5rem; margin-inline-end: .0625rem; }
.nz-nav a {
  font-size: .8125rem;
  font-weight: 500;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text);
  line-height: 1;
  padding-block: .5rem;
  display: block;
  transition: color .15s ease;
}
.nz-nav a:hover, .nz-nav a.is-active { color: var(--gold); }

.nz-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  height: 2.125rem;
  padding: 0 .875rem 0 .8125rem;
  border: 1px solid var(--gold-line);
  border-radius: 999px;
  background: transparent;
  color: var(--gold);
  font-size: .84375rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease;
}
.nz-pill:hover, .nz-pill[aria-expanded="true"] { border-color: var(--gold); background: rgba(212, 186, 138, .06); }
.nz-pill__icon { margin-inline-end: .0625rem; }
.nz-pill__caret { margin-inline-start: .125rem; transition: transform .2s ease; }
.nz-pill[aria-expanded="true"] .nz-pill__caret { transform: rotate(180deg); }

.nz-iconbtn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.125rem; height: 2.125rem;
  border: 1px solid var(--line-2);
  border-radius: 0;
  background: transparent;
  color: var(--text);
  padding: 0;
  transition: border-color .15s ease, color .15s ease;
}
.nz-iconbtn:hover, .nz-iconbtn[aria-expanded="true"] { border-color: var(--text); }
.nz-burger { display: none; }

.nz-mobile-nav { background: var(--bg); border-bottom: 1px solid var(--line); position: sticky; top: var(--header-h); z-index: 1029; }
.nz-mobile-nav ul { padding: .5rem 1.5rem 1.25rem; }
.nz-mobile-nav a {
  display: block; padding: .75rem 0;
  font-size: .9375rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  border-bottom: 1px solid var(--line);
}
.nz-mobile-nav li:last-child a { border-bottom: 0; }
.nz-mobile-nav a.is-active { color: var(--gold); }

/* ---------- dropdown panels (language + accessibility) ---------- */
.nz-menu.dropdown-menu {
  --bs-dropdown-bg: var(--bg);
  --bs-dropdown-border-color: var(--line-2);
  --bs-dropdown-border-radius: 0;
  --bs-dropdown-color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line-2);
  border-radius: 0;
  color: var(--text);
  box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, .45);
}
.nz-langmenu.dropdown-menu {
  width: 25.875rem;
  max-width: calc(100vw - 2rem);
  padding: 1.1875rem 1.125rem .875rem;
  max-height: calc(100vh - var(--header-h) - 1rem);
  overflow-y: auto;
}
.nz-menu__label {
  font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--footer-text);
  margin: 0 0 .9375rem;
  line-height: 1;
}
.nz-langmenu__grid { display: grid; grid-template-columns: 12.4375rem 1fr; }
.nz-langmenu__item {
  display: flex; flex-direction: column; gap: .3125rem;
  padding: .3125rem 0 .5625rem;
  min-height: 3.5rem;
}
.nz-langmenu__native { font-size: .9375rem; font-weight: 700; line-height: 1.3; color: var(--text); }
.nz-langmenu__en { font-size: .75rem; line-height: 1.2; color: var(--footer-text); }
.nz-langmenu__item:hover .nz-langmenu__native,
.nz-langmenu__item.is-active .nz-langmenu__native { color: var(--gold); }
.nz-langmenu__item [dir="rtl"] { text-align: start; }

.nz-a11y .dropdown-menu { margin-inline-end: -.6875rem !important; }
.nz-a11ypanel.dropdown-menu {
  width: 23rem;
  max-width: calc(100vw - 1rem);
  padding: 1.125rem 1.25rem 1.25rem;
  max-height: calc(100vh - var(--header-h) - .5rem);
  overflow-y: auto;
}
.nz-a11ypanel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.0625rem; }
.nz-a11ypanel__title { font-size: 1.125rem; font-weight: 700; line-height: 1.2; }
.nz-a11ypanel__group { border: 0; padding: 0; margin: 0 0 1rem; min-width: 0; }
.nz-a11ypanel__group legend {
  float: none; width: auto; padding: 0; margin: 0 0 .5rem;
  font-size: .9375rem; font-weight: 700; line-height: 1.3;
}
.nz-seg { display: flex; flex-wrap: wrap; gap: .375rem; }
.nz-seg__btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.75rem;
  padding: 0 .75rem;
  border: 1px solid var(--line-2);
  background: transparent;
  color: var(--text);
  font-size: .9375rem; font-weight: 600; line-height: 1.2;
  border-radius: 0;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.nz-seg__btn:hover { border-color: var(--text); color: var(--text); }
.nz-seg__btn[aria-pressed="true"] { background: var(--text); border-color: var(--text); color: var(--bg); }

.nz-a11ypanel__checks { margin: 1.375rem 0 1.75rem; display: grid; gap: 1.8125rem; }
.nz-check { display: flex; align-items: flex-start; gap: .6875rem; cursor: pointer; font-size: .9375rem; line-height: 1.35; }
.nz-check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nz-check__box {
  flex: none; width: 1.25rem; height: 1.25rem; margin-top: .0625rem;
  background: var(--check); border: 1px solid #555;
  border-radius: 3px; position: relative;
}
.nz-check input:checked + .nz-check__box { background: var(--gold); border-color: var(--gold); }
.nz-check input:checked + .nz-check__box::after {
  content: ""; position: absolute; left: .375rem; top: .125rem; width: .375rem; height: .6875rem;
  border: solid var(--on-gold); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.nz-check input:focus-visible + .nz-check__box { outline: 2px solid var(--focus); outline-offset: 2px; }

.nz-btn-outline {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 2.6875rem; padding: 0 .9375rem;
  background: transparent; color: var(--text);
  border: 1.5px solid var(--text); border-radius: 0;
  font-size: .9375rem; font-weight: 700;
}
.nz-btn-outline:hover { background: var(--text); color: var(--bg); }
.nz-a11ypanel__note { margin-top: .75rem; font-size: .8125rem; line-height: 1.4; color: var(--muted); }

/* ---------- buttons ---------- */
.nz-btn-gold {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 3.3125rem;
  padding: 0 1.8125rem;
  background: var(--gold);
  color: var(--on-gold);
  border: 0; border-radius: 2px;
  font-size: .9375rem; font-weight: 700; line-height: 1.2;
  text-align: center;
  transition: filter .15s ease, transform .15s ease;
}
.nz-btn-gold:hover { color: var(--on-gold); filter: brightness(1.08); }
.nz-btn-gold:active { transform: translateY(1px); }
.nz-btn-gold--block { display: flex; width: 100%; min-height: 3.375rem; }

.nz-arrowlink {
  display: inline-flex; align-items: center; gap: .3125rem;
  padding-bottom: .4375rem;
  border-bottom: 1px solid var(--link-line);
  font-size: 1rem; font-weight: 500; line-height: 1.4;
  color: var(--text);
  transition: border-color .15s ease, color .15s ease;
}
.nz-arrowlink:hover { color: var(--gold); border-color: var(--gold); }
.nz-arrowlink:hover .nz-arrow { transform: translateX(.1875rem); }
[dir="rtl"] .nz-arrowlink:hover .nz-arrow { transform: scaleX(-1) translateX(.1875rem); }
.nz-arrowlink--lg { font-size: 1.125rem; }

/* ---------- play button / player ---------- */
.nz-play {
  position: absolute; left: 50%; top: 50%;
  width: clamp(4rem, 8vw, 6.375rem); height: clamp(4rem, 8vw, 6.375rem);
  transform: translate(-50%, -50%);
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(13, 6, 3, .55);
  border: 1.5px solid rgba(242, 238, 230, .85);
  color: #fff;
  padding: 0 0 0 .3rem;
  z-index: 2;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: transform .25s ease, background-color .25s ease;
}
.nz-play svg { width: 26%; height: auto; }
.nz-play:hover { background: rgba(13, 6, 3, .75); color: #fff; transform: translate(-50%, -50%) scale(1.06); }

.nz-player { position: relative; margin-top: 2.1875rem; }
.nz-player__frame {
  position: relative;
  aspect-ratio: 1240 / 698;
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(212, 186, 138, .22);
  border-radius: 4px;
  box-shadow: var(--shadow);
}
.nz-player__poster, .nz-player__frame iframe, .nz-player__frame video {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0;
}
.nz-player__meta {
  position: absolute; left: 1.5625rem; bottom: 1.6875rem;
  font-size: .8125rem; font-weight: 700; letter-spacing: .12em; line-height: 1;
  color: #fff; z-index: 2;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
}
[dir="rtl"] .nz-player__meta { left: auto; right: 1.5625rem; }
.nz-player__notice {
  position: absolute; left: 50%; bottom: 1.5rem; transform: translateX(-50%);
  max-width: calc(100% - 2rem);
  background: rgba(13, 6, 3, .85); border: 1px solid var(--line-2);
  color: #f2eee6; font-size: .875rem; padding: .625rem 1rem; z-index: 3; text-align: center;
}
.nz-player.is-playing .nz-play, .nz-player.is-playing .nz-player__meta, .nz-player.is-playing .nz-player__poster { display: none; }

/* ---------- viewers counter ---------- */
.nz-viewers { text-align: center; margin-top: 3.5625rem; }
.nz-viewers__num {
  font-size: 5.5rem; font-weight: 700; line-height: 1; letter-spacing: -.01em;
  color: var(--gold);
  font-variant-numeric: tabular-nums;
}
.nz-viewers__label {
  margin-top: .5rem;
  font-size: .9375rem; letter-spacing: .2em; text-transform: uppercase; line-height: 1.2;
  color: var(--label);
}
.nz-viewers--hero { text-align: end; margin: 0; flex: none; }
.nz-viewers--hero .nz-viewers__num { font-size: 4.1875rem; color: #d4ba8a; }
.nz-viewers--hero .nz-viewers__label { font-size: .8125rem; margin-top: .5625rem; color: #c0b7ad; }

/* ---------- home: hero ---------- */
.nz-hero {
  position: relative;
  height: clamp(34rem, 47vw, 75.25rem);   /* 1203px at 2560px */
  background: #0d0603;
  overflow: hidden;
  color: #f2eee6;
  isolation: isolate;
}
.nz-hero__media { position: absolute; inset: 0; z-index: -1; }
.nz-hero__media img {
  position: absolute; left: 0; top: 0;
  width: 100%; height: auto; min-height: 78%;
  object-fit: cover; object-position: 50% 30%;
}
.nz-hero__media::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(13, 6, 3, 0) 0%, rgba(13, 6, 3, 0) 58%, rgba(13, 6, 3, .3) 70%, rgba(13, 6, 3, .75) 82%, #0d0603 97%);
}
.nz-hero__play { top: 49.9%; }
.nz-hero__content {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding-bottom: 4.75rem;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem;
}
.nz-hero__title {
  font-size: 5.0625rem; font-weight: 700; line-height: 1.05; letter-spacing: -.02em;
  color: #f2eee6;
}
.nz-hero__sub {
  margin-top: 1.1875rem;
  max-width: 40rem;
  font-size: 1.2rem; line-height: 1.55;
  color: #dcd7cf;
}

/* ---------- home: intro ---------- */
.nz-intro {
  margin-top: var(--section-gap);
  display: grid; grid-template-columns: minmax(0, 45rem) minmax(0, 32.5rem);
  justify-content: space-between; align-items: start;
}
.nz-intro__title {
  font-size: 3.3rem; font-weight: 400; line-height: 1.13; letter-spacing: -.02em;
  max-width: 31.25rem;
  color: var(--text);
  padding-top: .1875rem;
}
.nz-intro__text { font-size: 1.1rem; line-height: 1.72; color: var(--text-4); }
.nz-intro__lead { color: var(--text-2); }
.nz-intro__text .nz-arrowlink { margin-top: .125rem; }

/* ---------- home: gallery ---------- */
.nz-gallery {
  margin-top: var(--section-gap);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.125rem;
}
.nz-gallery__item { aspect-ratio: 402 / 568; overflow: hidden; background: var(--surface); }
.nz-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.nz-gallery__item:hover img { transform: scale(1.03); }

/* ---------- home: questions ---------- */
.nz-questions {
  margin-top: var(--section-gap);
  display: grid; grid-template-columns: minmax(0, 29.1875rem) minmax(0, 48.3125rem);
  justify-content: space-between; align-items: start;
}
.nz-questions__title {
  font-size: 2.5rem; font-weight: 400; line-height: 1.25; letter-spacing: -.02em;
  max-width: 18.75rem;
  margin-top: .3125rem;
}
.nz-questions__aside .nz-arrowlink { margin-top: 2.375rem; }

.nz-qlist { border-top: 1px solid var(--line); }
.nz-qlist > li, .nz-faq { border-bottom: 1px solid var(--line); }
.nz-qlist__item {
  display: flex; align-items: center; justify-content: space-between; gap: 1.5rem;
  width: 100%;
  padding: 1.5rem 0 1.5625rem;
  background: none; border: 0; text-align: start; color: var(--text);
}
.nz-qlist__text { display: flex; flex-direction: column; gap: .1875rem; min-width: 0; }
.nz-qlist__q { font-size: 1.6625rem; font-weight: 400; line-height: 1.2; letter-spacing: -.01em; transition: color .15s ease; }
.nz-qlist__a { font-size: .95rem; line-height: 1.5; color: var(--muted-2); }
.nz-qlist__arrow { width: 1.25rem; color: var(--text); }
.nz-qlist__item:hover { color: var(--text); }
.nz-qlist__item:hover .nz-qlist__q { color: var(--gold); }
.nz-qlist__item:hover .nz-qlist__arrow { transform: translateX(.25rem); }
[dir="rtl"] .nz-qlist__item:hover .nz-qlist__arrow { transform: scaleX(-1) translateX(.25rem); }

/* ---------- home: CTA ---------- */
.nz-cta-wrap { margin-top: var(--section-gap); scroll-margin-top: calc(var(--header-h) + 2rem); }
.nz-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 2rem;
  min-height: 12.8125rem;
  padding: 2.5rem 3.3125rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 3px;
}
.nz-cta__title { font-size: 2.6875rem; font-weight: 400; line-height: 1.14; letter-spacing: -.02em; max-width: 26rem; }
.nz-cta .nz-btn-gold { min-width: 16rem; flex: none; }

/* ---------- inner pages ---------- */
.nz-page { padding-top: 3.3125rem; }
.nz-crumbs ol { display: flex; flex-wrap: wrap; font-size: .8125rem; line-height: 1.5; color: var(--muted-2); }
.nz-crumbs li + li::before { content: "/"; padding-inline: .25rem; }
.nz-crumbs a:hover { color: var(--text); }
.nz-eyebrow {
  margin-top: 1.5rem;
  font-size: .9375rem; font-weight: 700; line-height: 1.4;
  color: var(--gold);
}
.nz-h1 { font-weight: 400; letter-spacing: -.02em; color: var(--text); }
.nz-h1--film { font-size: 4.0625rem; line-height: 1.15; margin-top: 1.125rem; }
.nz-h1--post { font-size: 4.0625rem; line-height: 1.11; margin-top: .9375rem; max-width: 45rem; }
.nz-crumbs + .nz-h1 { margin-top: 1rem; }
.nz-lede {
  margin-top: .6875rem;
  font-size: 1.34375rem; line-height: 1.62;
  color: var(--muted);
  max-width: 33rem;
}
.nz-lede--post { margin-top: .875rem; font-size: 1.375rem; }
.nz-page--post .nz-player { margin-top: 2.875rem; }

.nz-prose--film {
  margin-top: 4.6875rem;
  max-width: 44rem;
  font-size: 1.1625rem; line-height: 1.72;
  color: var(--text);
}

.nz-linkrow { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 3.4375rem; }

/* ---------- blog post ---------- */
.nz-post {
  display: grid; grid-template-columns: minmax(0, 44rem) minmax(0, 22rem);
  justify-content: space-between; align-items: start;
  margin-top: 4.1875rem;
}
.nz-post__section { padding: 1.25rem 0 3rem; border-top: 1px solid var(--line); }
.nz-post__section:first-child { padding-top: 0; border-top: 0; }
.nz-post__section:last-child { padding-bottom: 0; }
.nz-post__section h2 { font-size: 2rem; font-weight: 400; line-height: 1.2; letter-spacing: -.01em; color: var(--text); }
.nz-post__section p { font-size: 1.0625rem; line-height: 1.79; color: var(--text-3); }
.nz-post__body--legal { margin-top: 4rem; max-width: 44rem; }

.nz-post__aside { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.nz-sidecard {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 3px;
  padding: 1.375rem 1.5rem 1.5rem;
}
.nz-sidecard__title { font-size: 1.375rem; font-weight: 400; line-height: 1.3; }
.nz-sidecard p { margin-top: .5rem; font-size: .9375rem; line-height: 1.6; color: var(--muted); }
.nz-sidecard .nz-btn-gold { margin-top: 1.5rem; }
.nz-sources { margin-top: 2rem; }
.nz-sources__title { font-size: .9375rem; font-weight: 700; line-height: 1.4; color: var(--gold); }
.nz-sources ul { margin-top: .625rem; display: grid; gap: .375rem; }
.nz-sources a {
  font-size: .9375rem; color: var(--muted);
  text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: .2em; text-decoration-thickness: 1px;
}
.nz-sources a:hover { color: var(--text); }

.nz-more { margin-top: 3.75rem; }
.nz-more__title { font-size: 2.6875rem; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; }
.nz-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.75rem; margin-top: 1.75rem; }
.nz-cards--index { margin-top: 3.5rem; row-gap: 3.5rem; }
.nz-card__link { display: block; color: var(--text); }
.nz-card__media { display: block; aspect-ratio: 289 / 180; overflow: hidden; background: var(--surface); }
.nz-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nz-card__link:hover img { transform: scale(1.04); }
.nz-card__date { display: block; margin-top: 1.0625rem; font-size: .8125rem; line-height: 1.4; color: var(--muted-2); }
.nz-card__title { margin-top: .875rem; font-size: 1.1875rem; font-weight: 400; line-height: 1.32; color: var(--text); transition: color .15s ease; }
.nz-card__link:hover .nz-card__title { color: var(--gold); }

/* ---------- FAQ ---------- */
.nz-faqgroup { margin-top: 4.5rem; }
.nz-faqgroup__title { font-size: 2.6875rem; font-weight: 400; line-height: 1.2; letter-spacing: -.02em; margin-bottom: 1.75rem; }
.nz-qlist--faq { max-width: 56rem; }
.nz-faq { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.nz-faq__h { margin: 0; font-size: inherit; }
.nz-faq__btn { cursor: pointer; }
.nz-faq__btn .nz-qlist__arrow { transform: rotate(90deg); }
.nz-faq__btn.collapsed .nz-qlist__arrow { transform: none; }
[dir="rtl"] .nz-faq__btn.collapsed .nz-qlist__arrow { transform: scaleX(-1); }
.nz-faq__btn:not(.collapsed) .nz-qlist__q { color: var(--gold); }
.nz-faq__inner { padding: 0 3rem 1.75rem 0; font-size: 1.0625rem; line-height: 1.79; color: var(--text-3); max-width: 46rem; }
.nz-faq__inner .nz-arrowlink { margin-top: 1rem; }
.nz-faq.is-target { animation: nz-flash 1.6s ease; }
@keyframes nz-flash { 0% { background: rgba(212, 186, 138, .12); } 100% { background: transparent; } }

/* ---------- footer ---------- */
.nz-footer { margin-top: var(--section-gap); border-top: 1px solid var(--line-2); }
.nz-footer__inner { padding-inline: 1.875rem; }
.nz-footer__top {
  display: flex; justify-content: space-between; gap: 3rem;
  padding: 4.3125rem 0 3.6875rem;
}
.nz-logo--footer { display: inline-block; font-size: 1.0625rem; margin-bottom: .875rem; }
.nz-footer__brand p { font-size: .9375rem; line-height: 2; color: var(--footer-text); }
.nz-footer__nav { display: flex; gap: 5rem; }
.nz-footer__nav ul { display: grid; gap: .875rem; align-content: start; }
.nz-footer__nav a { font-size: 1.03rem; line-height: 1.5; color: #bbb6af; transition: color .15s ease; }
html[data-theme="light"] .nz-footer__nav a { color: var(--text-4); }
html[data-theme="contrast"] .nz-footer__nav a { color: #fff; }
.nz-footer__nav a:hover { color: var(--gold); }
.nz-footer__bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  border-top: 1px solid var(--line-2);
  padding: 1.25rem 0 2rem;
}
.nz-footer__bottom p { font-size: .8125rem; color: var(--footer-text); }

/* ---------- share modal ---------- */
.nz-modal .modal-content {
  background: var(--bg); color: var(--text);
  border: 1px solid var(--line-2); border-radius: 0;
  padding: 1.5rem;
}
.modal-backdrop { --bs-backdrop-bg: #000; --bs-backdrop-opacity: .7; }
.nz-modal__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nz-modal__title { font-size: 1.5rem; font-weight: 400; }
.nz-modal__text { margin-top: .5rem; color: var(--muted); font-size: .9375rem; }
.nz-copy { display: flex; gap: .5rem; margin-top: 1.25rem; }
.nz-copy__input {
  flex: 1; min-width: 0; background: var(--surface); color: var(--text);
  border: 1px solid var(--line-2); padding: 0 .875rem; font-size: .9375rem; min-height: 3.3125rem;
}
.nz-copy__btn { flex: none; }
.nz-share { display: flex; flex-wrap: wrap; gap: .4375rem; margin-top: 1rem; }

/* ---------- accessibility modes ---------- */
html.a11y-spacing body { letter-spacing: .06em; word-spacing: .16em; }
html.a11y-spacing p, html.a11y-spacing li, html.a11y-spacing .nz-qlist__a { line-height: 2 !important; }
html.a11y-spacing p { margin-bottom: .5em; }
html.a11y-readable { --font: "Atkinson Hyperlegible", Verdana, Tahoma, "Noto Sans", sans-serif; }
html.a11y-readable body, html.a11y-readable button, html.a11y-readable input { font-family: var(--font); }
html.a11y-links main a:not(.nz-btn-gold):not(.nz-card__link):not(.nz-qlist__item),
html.a11y-links footer a {
  text-decoration: underline !important; text-underline-offset: .2em; text-decoration-thickness: 2px;
}
html.a11y-links main a:hover, html.a11y-links footer a:hover, html.a11y-links main a:focus { background: var(--gold); color: var(--on-gold) !important; }
html.a11y-links .nz-card__title, html.a11y-links .nz-qlist__q { text-decoration: underline; text-underline-offset: .2em; }
html.a11y-focus :focus-visible, html.a11y-focus :focus {
  outline: 4px solid var(--focus) !important; outline-offset: 3px !important;
  box-shadow: 0 0 0 8px rgba(0, 0, 0, .9) !important;
}
html.a11y-focus .nz-nav a, html.a11y-focus .nz-footer__nav a, html.a11y-focus .nz-crumbs a,
html.a11y-focus .nz-sources a { display: inline-block; min-height: 2.75rem; padding-block: .625rem; }
html.a11y-focus .nz-iconbtn, html.a11y-focus .nz-pill { min-width: 2.75rem; height: 2.75rem; }
html.a11y-focus .nz-langmenu__item { min-height: 3.75rem; }
html.a11y-focus .nz-footer__nav ul { gap: .25rem; }

/* motion */
html[data-motion="reduce"] *, html[data-motion="reduce"] *::before, html[data-motion="reduce"] *::after {
  animation-duration: .001ms !important; animation-iteration-count: 1 !important;
  transition-duration: .001ms !important; scroll-behavior: auto !important;
}
@media (prefers-reduced-motion: reduce) {
  html[data-motion="auto"] *, html[data-motion="auto"] *::before, html[data-motion="auto"] *::after {
    animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important; scroll-behavior: auto !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html[data-motion="auto"] { scroll-behavior: smooth; }
}
html[data-motion="allow"] { scroll-behavior: smooth; }

/* reveal on scroll (only when JS ran and motion is allowed) */
.js-reveal .nz-reveal { opacity: 0; transform: translateY(1.25rem); transition: opacity .8s ease, transform .8s ease; }
.js-reveal .nz-reveal.is-in { opacity: 1; transform: none; }

/* ---------- responsive ---------- */
@media (max-width: 1399.98px) {
  .nz-hero__title { font-size: 4.25rem; }
  .nz-viewers--hero .nz-viewers__num { font-size: 3.75rem; }
}
@media (max-width: 1199.98px) {
  :root { --section-gap: 5.5rem; }
  .nz-intro, .nz-questions { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 3rem; }
  .nz-post { grid-template-columns: minmax(0, 1fr) minmax(0, 19rem); gap: 3rem; }
  .nz-h1--film { font-size: 4rem; }
  .nz-h1--post { font-size: 3.5rem; }
  .nz-viewers__num { font-size: 4.75rem; }
}
@media (max-width: 991.98px) {
  :root { --section-gap: 4.5rem; --header-h: 3.75rem; }
  .nz-header { padding-inline: 1rem; }
  .nz-nav { display: none; }
  .nz-burger { display: inline-flex; }
  .nz-header__right { gap: .5rem; }
  .nz-hero { height: auto; min-height: 36rem; display: flex; flex-direction: column; justify-content: flex-end; }
  .nz-hero__media img { height: 100%; min-height: 0; object-position: 50% 40%; }
  .nz-hero__media::after { background: linear-gradient(180deg, rgba(13,6,3,0) 0%, rgba(13,6,3,.15) 30%, rgba(13,6,3,.75) 62%, #0d0603 92%); }
  .nz-hero__play { top: 36%; }
  .nz-hero__content { position: relative; padding-top: 20rem; padding-bottom: 3rem; flex-direction: column; align-items: flex-start; }
  .nz-hero__title { font-size: 3.25rem; }
  .nz-viewers--hero { text-align: start; }
  .nz-intro, .nz-questions, .nz-post { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .nz-intro__title { font-size: 3rem; max-width: 34rem; }
  .nz-questions__aside { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; }
  .nz-questions__aside .nz-arrowlink { margin-top: 0; }
  .nz-questions__title { max-width: none; font-size: 2.5rem; }
  .nz-post__aside { position: static; }
  .nz-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.5rem; }
  .nz-footer__top { flex-direction: column; gap: 2.5rem; }
  .nz-footer__inner { padding-inline: 0; }
  .nz-footer__nav { gap: 3rem; flex-wrap: wrap; }
}
@media (max-width: 767.98px) {
  :root { --gutter: 1rem; --section-gap: 4rem; }
  .nz-pill { padding-inline: .625rem; }
  .nz-pill span { display: none; }
  .nz-pill::after { content: attr(data-short); order: 1; }
  .nz-pill__caret { order: 2; }
  .nz-hero__play { top: 8.5rem; }
  .nz-hero { min-height: 34rem; }
  .nz-hero__content { padding-top: 16rem; }
  .nz-hero__title { font-size: 2.625rem; }
  .nz-hero__sub { font-size: 1rem; }
  .nz-viewers--hero .nz-viewers__num { font-size: 2.75rem; }
  .nz-intro__title { font-size: 2.375rem; }
  .nz-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .nz-questions__title { font-size: 2rem; }
  .nz-qlist__q { font-size: 1.3125rem; }
  .nz-qlist__item { padding: 1.125rem 0; gap: 1rem; }
  .nz-cta { flex-direction: column; align-items: flex-start; padding: 2rem 1.5rem; min-height: 0; }
  .nz-cta__title { font-size: 2rem; }
  .nz-cta .nz-btn-gold { width: 100%; min-width: 0; }
  .nz-page { padding-top: 2rem; }
  .nz-h1--film { font-size: 2.75rem; }
  .nz-h1--post { font-size: 2.375rem; }
  .nz-lede { font-size: 1.125rem; }
  .nz-player { margin-top: 1.5rem; }
  .nz-player__frame { border-radius: 2px; }
  .nz-player__meta { left: .875rem; bottom: .875rem; font-size: .6875rem; }
  .nz-viewers { margin-top: 2.5rem; }
  .nz-viewers__num { font-size: 3.25rem; }
  .nz-prose--film { margin-top: 2.75rem; font-size: 1.0625rem; }
  .nz-post { margin-top: 2.75rem; }
  .nz-post__section h2 { font-size: 1.625rem; }
  .nz-more__title, .nz-faqgroup__title { font-size: 2.125rem; }
  .nz-cards { grid-template-columns: minmax(0, 1fr); }
  .nz-footer__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .nz-footer__bottom { flex-direction: column; align-items: flex-start; }
  .nz-faq__inner { padding-inline-end: 0; }
  .nz-copy { flex-direction: column; }
}
@media (min-width: 2200px) {
  /* the mockups were drawn at 2560px wide: keep the hero proportions there */
  .nz-hero__media img { min-height: 0; }
}

/* ---------- print ---------- */
@media print {
  .nz-header, .nz-footer, .nz-play, .nz-cta-wrap, .nz-mobile-nav, .modal { display: none !important; }
  body { background: #fff; color: #000; }
}

/* ---------- content additions ---------- */
.nz-viewers__source { margin-top: .375rem; font-size: .75rem; line-height: 1.4; color: var(--muted-2); }
.nz-viewers--hero .nz-viewers__source { color: #938e88; }
.nz-reviews .nz-qlist__q { font-style: normal; }
.nz-dates { margin-top: 3.4375rem; padding-inline-start: 1.25rem; list-style: disc; }
.nz-dates li + li { margin-top: .5rem; }
.nz-dates li::marker { color: var(--gold); }
.nz-dates + .nz-linkrow { margin-top: 2.5rem; }
.nz-prose--film p + p { margin-top: 1.25rem; }
.nz-sidecard__link { display: inline-flex; align-items: center; gap: .375rem; margin-top: 1rem; font-size: .9375rem; color: var(--text); }
.nz-sidecard__link:hover { color: var(--gold); }

/* Arabic script is cursive: letter-spacing breaks the joins */
html[lang="ar"] .nz-nav a, html[lang="ar"] .nz-viewers__label, html[lang="ar"] .nz-menu__label,
html[lang="ar"] .nz-mobile-nav a, html[lang="ar"] .nz-player__meta { letter-spacing: 0; }

/* ---------- blog index ---------- */
.nz-blog__cta { margin-top: 1.5rem; min-height: 2.875rem; padding-inline: 1.5rem; }
.nz-feature {
  display: grid; grid-template-columns: minmax(0, 43.125rem) minmax(0, 1fr); gap: 3.25rem;
  align-items: center; margin-top: 2.25rem;
}
.nz-feature__media { display: block; aspect-ratio: 690 / 427; overflow: hidden; background: var(--surface); }
.nz-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.nz-feature:hover .nz-feature__media img { transform: scale(1.03); }
.nz-feature__meta { font-size: .8125rem; color: var(--muted-2); }
.nz-feature__title { margin-top: .875rem; font-size: 2.375rem; font-weight: 400; line-height: 1.15; letter-spacing: -.02em; }
.nz-feature__title a:hover { color: var(--gold); }
.nz-feature__lede { margin-top: 1rem; font-size: 1rem; line-height: 1.6; color: var(--muted); max-width: 26rem; }
.nz-feature .nz-arrowlink { margin-top: 1.25rem; }
.nz-blogsection { margin-top: 6.5rem; }
.nz-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 3rem; }
.nz-card__excerpt {
  margin-top: .75rem; font-size: .875rem; line-height: 1.6; color: var(--muted);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.nz-blog__footnote { margin-top: 6rem; font-size: .875rem; line-height: 1.6; color: var(--muted); max-width: 26rem; }
.nz-blog__footnote a { color: var(--text); border-bottom: 1px solid var(--link-line); padding-bottom: .125rem; }
.nz-blog__footnote a:hover { color: var(--gold); border-color: var(--gold); }

/* article photo */
.nz-postimg { margin-top: 2.875rem; }
.nz-postimg img { width: 100%; max-height: 43.75rem; object-fit: cover; background: var(--surface); }
.nz-postimg figcaption { margin-top: .625rem; font-size: .75rem; color: var(--muted-2); }
.nz-postimg figcaption a { text-decoration: underline; text-underline-offset: .15em; }

@media (max-width: 991.98px) {
  .nz-feature { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .nz-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nz-blogsection { margin-top: 4.5rem; }
}
@media (max-width: 767.98px) {
  .nz-feature__title { font-size: 1.875rem; }
  .nz-cards--3 { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- info pages ---------- */
.nz-page--info .nz-player { margin-top: 2.875rem; }
.nz-qlist--quotes { margin-top: 1rem; }
.nz-qlist--quotes .nz-qlist__q { font-size: 1.375rem; }
.nz-dates--info { margin-top: .75rem; font-size: 1.0625rem; line-height: 1.79; color: var(--text-3); }
.nz-linkrow--info { margin-top: 1.25rem; gap: 1rem 2rem; display: flex; flex-wrap: wrap; }
.nz-footer__nav ul { gap: .75rem; }
