:root {
  color-scheme: dark;
  --ink: #07080d;
  --ink-soft: #0d111d;
  --paper: #f1ede4;
  --muted: #b1abb1;
  --brand: #e5421f;
  --brand-deep: #c72e25;
  --cyan: #058eaa;
  --magenta: #791445;
  --line: rgba(241, 237, 228, .2);
  --pad: clamp(1rem, 4vw, 4.5rem);
}

*, *::before, *::after { box-sizing: border-box; }
html {
  width: 100%; max-width: 100%; overflow-x: clip; scroll-behavior: smooth;
  background: var(--ink);
}
body {
  width: 100%; max-width: 100%; min-width: 0; margin: 0; overflow-x: clip;
  background: var(--ink); color: var(--paper);
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 1rem; line-height: 1.55;
}
main, section, footer, header { max-width: 100%; min-width: 0; }
body.modal-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.skip-link {
  position: fixed; left: 1rem; top: -5rem; z-index: 100;
  padding: .75rem 1rem; background: var(--paper); color: var(--ink);
}
.skip-link:focus { top: 1rem; }

.noise {
  pointer-events: none; position: fixed; inset: 0; z-index: 50; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}

.site-header {
  position: absolute; inset: 0 0 auto; z-index: 20; display: grid; align-items: center;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); min-height: 6rem; padding: .65rem var(--pad);
  border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(7,8,13,.72), transparent);
}
.brand {
  grid-column: 2; width: 5.15rem; height: 5.15rem; display: block; margin: 0 clamp(1.25rem, 3.5vw, 3.8rem);
}
.brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.header-nav { display: flex; align-items: center; gap: clamp(.8rem, 2.7vw, 2.5rem); font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.nav-left { grid-column: 1; justify-content: flex-end; }
.nav-right { grid-column: 3; justify-content: flex-start; }
.header-nav a { transition: color .2s ease; }
.header-nav a:hover, .header-nav a:focus-visible { color: var(--brand); }
.mobile-nav { display: none; }
.nav-cta { border: 1px solid var(--line); padding: .58rem .8rem; }

.hero {
  min-height: 100svh; position: relative; display: grid; align-items: end;
  padding: 7rem var(--pad) 3.4rem; isolation: isolate; overflow: hidden;
}
.hero-image {
  position: absolute; inset: 0; z-index: -3;
  background: url("assets/atlazure-background.jpg") 54% center / cover no-repeat;
  transform: scale(1.015);
}
.hero::before {
  content: ""; position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(90deg, rgba(4,7,15,.98) 0%, rgba(5,8,17,.79) 43%, rgba(7,8,13,.19) 72%),
    linear-gradient(0deg, rgba(7,8,13,.96) 0%, transparent 53%, rgba(7,8,13,.4) 100%);
}
.hero::after {
  content: "الحدود  ·  المنفى  ·  الذاكرة"; position: absolute; z-index: -1;
  right: 2.8vw; top: 18%; color: rgba(255,255,255,.36); writing-mode: vertical-rl;
  font-family: "Noto Kufi Arabic", sans-serif; font-size: .78rem; letter-spacing: .12em;
}
.hero-copy { position: relative; z-index: 2; width: min(100%, 62rem); }
.eyebrow { margin: 0 0 1.15rem; display: flex; align-items: center; gap: .7rem; color: var(--muted); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 1.7rem; height: 2px; background: var(--brand); flex: 0 0 auto; }
h1, h2 { font-family: "Archivo Black", sans-serif; text-transform: uppercase; letter-spacing: -.075em; line-height: .82; margin: 0; overflow-wrap: anywhere; }
h1 { font-size: clamp(4.65rem, 21vw, 15rem); }
h1 span { display: block; text-shadow: 0 .05em .45em rgba(0,0,0,.25); }
h1 b {
  display: block; width: max-content; max-width: 100%; margin: -.06em 0 0 .36em;
  color: var(--brand); font-family: "Noto Kufi Arabic", sans-serif;
  font-size: .44em; letter-spacing: 0; line-height: 1.15;
}
.hero-arabic { margin: .7rem 0 0; width: min(100%, 46rem); color: white; font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(1rem, 2.2vw, 1.4rem); line-height: 1.75; }
.hero-intro { max-width: 40rem; margin: 1rem 0 0; color: #ded8dc; font-size: clamp(1rem, 2vw, 1.15rem); }
.hero-intro strong { color: white; font-weight: 500; }
.hero-actions { margin-top: 1.65rem; display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.play-primary {
  display: inline-flex; align-items: center;
  border: 1px solid rgba(255,255,255,.18); border-radius: 0; background: var(--brand); color: white;
  padding: 1rem 1.25rem; min-height: 3.4rem; cursor: pointer; text-transform: uppercase;
  font-size: .79rem; letter-spacing: .08em; box-shadow: 0 1.1rem 3rem rgba(196,40,29,.25);
  transition: transform .2s ease, background .2s ease;
}
.play-primary:hover, .play-primary:focus-visible { transform: translateY(-3px); background: #f1522d; }
.play-icon { margin-right: .65rem; }
.text-link { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; border-bottom: 1px solid var(--line); padding: .85rem 0; }
.text-link:hover, .text-link:focus-visible { color: var(--brand); }

.location-trigger {
  position: absolute; z-index: 5; right: var(--pad); bottom: 5.6rem; width: min(18.5rem, calc(100% - 2rem));
  display: grid; gap: .15rem; padding: 1rem; text-align: left; color: white; cursor: pointer;
  border: 1px solid rgba(255,255,255,.28); background: rgba(7,8,13,.58); backdrop-filter: blur(12px);
  transition: border-color .2s ease, transform .2s ease, background .2s ease;
}
.location-trigger:hover, .location-trigger:focus-visible { border-color: var(--brand); transform: translateY(-3px); background: rgba(7,8,13,.76); }
.location-label { font-family: "Noto Kufi Arabic", "Archivo Black", sans-serif; font-size: 1rem; }
.location-coords { color: #d7d0d4; font-size: .66rem; letter-spacing: .08em; }
.location-action { margin-top: .55rem; color: var(--brand); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-socials { position: absolute; left: var(--pad); bottom: 1.4rem; display: flex; gap: 1rem; color: #c9c4c8; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.hero-socials a:hover, .hero-socials a:focus-visible { color: var(--brand); }

.section { padding: clamp(5rem, 12vw, 9rem) var(--pad); overflow: hidden; }
.section-head { display: grid; gap: 1.5rem; margin-bottom: 3rem; }
.section-head h2, .manifesto h2, .listen h2 { font-size: clamp(3.25rem, 10.5vw, 8rem); }
h2 em { color: var(--brand); font-style: normal; }
.section-head > p { max-width: 30rem; color: var(--muted); margin: 0; }

.clips { border-top: 1px solid var(--line); background: linear-gradient(180deg, #07080d, #0b0b12); }
.clip-grid {
  display: grid; width: 100%; max-width: 100%; min-width: 0;
  grid-auto-flow: column; grid-auto-columns: minmax(0, 84%); gap: .8rem;
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain;
  padding-bottom: 1rem; scrollbar-width: thin; scrollbar-color: var(--brand) transparent;
}
.clip-card { display: block; min-width: 0; position: relative; aspect-ratio: 3 / 4; overflow: hidden; border: 0; padding: 0; background: #101318; color: white; cursor: pointer; scroll-snap-align: start; text-align: left; }
.clip-card img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.72) contrast(1.1) saturate(.8); transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.clip-card:hover img, .clip-card:focus-visible img { transform: scale(1.045); filter: grayscale(0) contrast(1.08) saturate(1.08); }
.clip-card:focus-visible { outline: 2px solid var(--brand); outline-offset: -3px; }
.clip-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,6,8,.05), rgba(5,6,8,.88)); }
.clip-number { position: absolute; top: 1rem; left: 1rem; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.clip-play { position: absolute; top: 1rem; right: 1rem; width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: rgba(7,8,13,.24); }
.clip-title { position: absolute; left: 1rem; right: 1rem; bottom: 1.15rem; margin: 0; font-family: "Archivo Black", sans-serif; font-size: clamp(1.35rem, 5vw, 2rem); line-height: .95; text-transform: uppercase; letter-spacing: -.04em; overflow-wrap: anywhere; }

.manifesto { border-top: 1px solid var(--line); display: grid; gap: 3rem; position: relative; background: radial-gradient(circle at 14% 40%, rgba(121,20,69,.22), transparent 34%); }
.artist-portrait { position: relative; margin: 0; max-width: 42rem; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid var(--line); background: var(--ink-soft); }
.artist-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 60%, rgba(7,8,13,.82)); pointer-events: none; }
.artist-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.92) contrast(1.04); }
.artist-portrait figcaption { position: absolute; z-index: 2; left: 1rem; right: 1rem; bottom: 1rem; color: white; font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(1.25rem, 5vw, 2.25rem); }
.manifesto-copy { min-width: 0; }
.manifesto-copy > p:not(.eyebrow):not(.arabic-lead) { max-width: 42rem; margin: 2rem 0; color: #c7c1c5; font-size: clamp(1rem, 2.5vw, 1.25rem); }
.arabic-lead { max-width: 46rem; margin: 2rem 0 1rem; color: var(--brand); font-family: "Noto Kufi Arabic", sans-serif; font-size: clamp(1.25rem, 3.2vw, 2rem); line-height: 1.8; }
.identity-list { list-style: none; margin: 3rem 0 0; padding: 0; border-top: 1px solid var(--line); }
.identity-list li { display: flex; align-items: baseline; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1rem 0; font-size: clamp(1rem, 2vw, 1.35rem); }
.identity-list span { color: var(--brand); font-size: .65rem; }

.journal-preview { border-top: 1px solid var(--line); background: #090b12; }
.journal-grid { display: grid; gap: 1rem; }
.journal-card { display: grid; border: 1px solid var(--line); background: rgba(13,17,29,.72); }
.journal-card-image { display: block; min-height: 17rem; overflow: hidden; background: var(--ink-soft); }
.journal-card-image img { display: block; width: 100%; height: 100%; min-height: 17rem; object-fit: cover; filter: saturate(.82) contrast(1.07); transition: transform .55s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.journal-card:hover .journal-card-image img { transform: scale(1.035); filter: saturate(1) contrast(1.04); }
.journal-card-copy { align-self: center; padding: clamp(1.4rem, 4vw, 3.5rem); }
.journal-meta { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin: 0 0 1.2rem; color: var(--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.journal-meta span + span, .journal-meta time + span { position: relative; padding-left: 1rem; }
.journal-meta span + span::before, .journal-meta time + span::before { content: "·"; position: absolute; left: 0; color: var(--brand); }
.journal-card h3 { max-width: 45rem; margin: 0; font-family: "Archivo Black", sans-serif; font-size: clamp(1.8rem, 5vw, 4rem); line-height: .95; letter-spacing: -.055em; text-transform: uppercase; }
.journal-card h3 a:hover, .journal-card h3 a:focus-visible { color: var(--brand); }
.journal-card-copy > p:not(.journal-meta) { max-width: 42rem; margin: 1.2rem 0; color: #c7c1c5; }
.journal-read, .journal-all { display: inline-block; color: var(--brand); font-size: .73rem; letter-spacing: .1em; text-transform: uppercase; border-bottom: 1px solid rgba(229,66,31,.55); padding-bottom: .35rem; }
.journal-all { margin-top: 2rem; }

.journal-page { min-height: 100vh; padding: 9rem var(--pad) 6rem; background: radial-gradient(circle at 82% 12%, rgba(121,20,69,.2), transparent 30%), var(--ink); }
.journal-page .page-kicker { margin-bottom: 1.5rem; }
.journal-page h1 { max-width: 72rem; font-size: clamp(3.4rem, 10vw, 8.5rem); }
.journal-page-intro { max-width: 46rem; margin: 2rem 0 3.5rem; color: #c7c1c5; font-size: clamp(1.05rem, 2vw, 1.3rem); }
.journal-list { display: grid; gap: 1rem; }
.journal-list .journal-card { grid-template-columns: 1fr; }
.journal-list .journal-card-image { min-height: 15rem; }

.article-page { background: #080a10; }
.article-hero { position: relative; min-height: min(88svh, 58rem); display: grid; align-items: end; padding: 9rem var(--pad) 4rem; isolation: isolate; overflow: hidden; }
.article-hero-media { position: absolute; inset: 0; z-index: -2; }
.article-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.12); }
.article-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(4,6,12,.98), rgba(5,7,13,.72) 62%, rgba(5,7,13,.2)), linear-gradient(0deg, #080a10, transparent 55%); }
.article-hero-copy { width: min(100%, 68rem); }
.article-hero h1 { font-size: clamp(3.15rem, 10vw, 8.3rem); }
.article-deck { max-width: 48rem; margin: 1.8rem 0 0; color: #eee8e3; font-size: clamp(1.05rem, 2vw, 1.35rem); }
.article-body { width: min(calc(100% - (var(--pad) * 2)), 49rem); margin: 0 auto; padding: clamp(3.5rem, 9vw, 7rem) 0; color: #d3cdd0; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-size: clamp(1.05rem, 1.5vw, 1.18rem); line-height: 1.85; }
.article-body h2, .article-body h3 { margin: 2.7em 0 .8em; color: var(--paper); font-family: "Archivo Black", sans-serif; line-height: 1.05; letter-spacing: -.04em; text-transform: uppercase; }
.article-body h2 { font-size: clamp(2rem, 5vw, 3.3rem); }
.article-body h3 { font-size: clamp(1.45rem, 3vw, 2rem); }
.article-body p, .article-body ul, .article-body ol, .article-body blockquote { margin: 1.25rem 0; }
.article-body a { color: #ff6844; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.article-body blockquote { padding: .4rem 0 .4rem 1.5rem; border-left: 3px solid var(--brand); color: white; font-family: "IBM Plex Mono", monospace; }
.article-body li + li { margin-top: .45rem; }
.article-body hr { border: 0; border-top: 1px solid var(--line); margin: 3rem 0; }
.article-cta { margin-top: 3rem; padding: 1.5rem; border: 1px solid var(--line); background: var(--ink-soft); }
.article-cta a { display: inline-block; margin-top: .6rem; color: white; background: var(--brand); padding: .85rem 1rem; text-decoration: none; font-family: "IBM Plex Mono", monospace; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb { color: var(--muted); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.breadcrumb a:hover, .breadcrumb a:focus-visible { color: var(--brand); }

.listen { background: var(--paper); color: var(--ink); }
.listen .eyebrow { color: #67636a; }
.listen-row { display: grid; gap: 2.5rem; }
.listen-title-block p { max-width: 38rem; margin: 1.5rem 0 0; color: #555158; }
.platforms { display: grid; border-top: 1px solid rgba(5,6,8,.2); }
.platforms > a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(5,6,8,.2); font-weight: 500; transition: color .2s ease, padding .2s ease; }
.platforms > a:hover, .platforms > a:focus-visible { color: var(--brand-deep); padding-left: .45rem; }
.platforms small { color: #67636a; font-size: .64rem; text-transform: uppercase; letter-spacing: .12em; }

footer { padding: 4rem var(--pad) 1.5rem; overflow: hidden; }
.footer-top { padding-bottom: 4rem; min-width: 0; }
.contact-link { display: inline; font-family: "Archivo Black", sans-serif; font-size: clamp(1.28rem, 5.3vw, 5rem); letter-spacing: -.06em; text-transform: uppercase; border-bottom: 2px solid var(--brand); padding-bottom: .2rem; overflow-wrap: anywhere; }
.contact-link span { color: var(--brand); }
.footer-bottom { border-top: 1px solid var(--line); padding-top: 1.3rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .69rem; text-transform: uppercase; }
.socials { display: flex; flex-wrap: wrap; gap: 1.3rem; }
.socials a:hover, .socials a:focus-visible { color: var(--brand); }

.video-modal, .map-modal {
  position: fixed; inset: 0; width: calc(100% - 1.5rem); max-width: 70rem; max-height: calc(100dvh - 2rem);
  margin: auto; border: 1px solid var(--line); padding: 0; background: #07080d; color: white;
  overflow: auto; overscroll-behavior: contain;
}
.video-modal::backdrop, .map-modal::backdrop { background: rgba(0,0,0,.92); backdrop-filter: blur(8px); }
.video-frame { width: 100%; aspect-ratio: 16/9; background: #000; overflow: hidden; }
.video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.video-modal > p { margin: .85rem 1rem 1rem; font-size: .75rem; text-transform: uppercase; color: var(--muted); }
.modal-close, .map-close { z-index: 4; width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 0; background: var(--brand); color: white; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.modal-close { position: absolute; right: 0; top: 0; }
.map-close { position: absolute; right: .85rem; top: .85rem; }
.map-modal { max-width: 64rem; }
.map-head { padding: 1.4rem 4rem 1.4rem 1.2rem; background: linear-gradient(135deg, rgba(121,20,69,.45), rgba(5,142,170,.13)); }
.map-head .eyebrow { margin-bottom: .8rem; }
.map-head h2 { font-size: clamp(2.8rem, 9vw, 6rem); }
.map-head h2 b { color: var(--brand); font-family: "Noto Kufi Arabic", sans-serif; font-size: .55em; }
.map-head > p:last-child { max-width: 35rem; margin: 1rem 0 0; color: #c8c1c6; }
.map-frame { width: 100%; min-height: 24rem; background: #111723; }
.map-frame iframe { display: block; width: 100%; height: min(50vh, 31rem); border: 0; filter: grayscale(.2) contrast(1.05); }

.reveal { opacity: 0; transform: translateY(26px); transition: opacity .75s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 700px) {
  .site-header { min-height: 7rem; }
  .brand { width: 6rem; height: 6rem; }
  .hero { align-items: center; padding-top: 9rem; }
  .hero-copy { margin-top: 11vh; }
  .section-head { grid-template-columns: 1.2fr .8fr; align-items: end; }
  .clip-grid { grid-auto-flow: initial; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; }
  .clip-card { aspect-ratio: 4 / 5; }
  .manifesto { grid-template-columns: .82fr 1.18fr; align-items: center; }
  .journal-card { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .journal-list .journal-card { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); }
  .listen-row { grid-template-columns: 1fr .75fr; align-items: end; }
}

@media (min-width: 1100px) {
  .clip-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
  .clip-card:nth-child(even) { transform: translateY(2.7rem); }
  .clip-card:nth-child(even).reveal.is-visible { transform: translateY(2.7rem); }
}

@media (max-width: 699px) {
  .hero { min-height: 100svh; padding-bottom: 11.5rem; }
  .hero-image { background-position: center center; opacity: .92; }
  .hero::before { background: linear-gradient(180deg, rgba(7,8,13,.25), rgba(7,8,13,.38) 34%, rgba(7,8,13,.96) 73%, #07080d 100%); }
  .hero::after { display: none; }
  .hero-copy { width: 100%; }
  .location-trigger { left: var(--pad); right: auto; bottom: 4rem; width: calc(100% - (var(--pad) * 2)); }
  .hero-socials { bottom: 1.2rem; right: var(--pad); justify-content: space-between; }
  .map-frame { min-height: 19rem; }
  .map-frame iframe { height: 45vh; min-height: 19rem; }
}

@media (max-width: 800px) {
  .site-header {
    grid-template-columns: 1fr auto 1fr; grid-template-rows: 5.45rem 2.55rem;
    min-height: 8.65rem; padding: .25rem var(--pad) .4rem;
    background: linear-gradient(180deg, rgba(7,8,13,.88), rgba(7,8,13,.48) 72%, transparent);
  }
  .brand { grid-column: 2; grid-row: 1; width: 5.1rem; height: 5.1rem; margin: 0; }
  .header-nav { display: none; }
  .mobile-nav {
    grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center; width: 100%; border-top: 1px solid rgba(241,237,228,.13);
    font-size: clamp(.58rem, 2.65vw, .7rem); letter-spacing: .06em; text-transform: uppercase;
  }
  .mobile-nav a { display: grid; place-items: center; min-height: 2.5rem; padding: .2rem; transition: color .2s ease, background .2s ease; }
  .mobile-nav a + a { border-left: 1px solid rgba(241,237,228,.13); }
  .mobile-nav a:hover, .mobile-nav a:focus-visible { color: white; background: var(--brand); }
}

@media (max-width: 480px) {
  .hero { padding-top: 9.5rem; }
  .article-hero { padding-top: 10rem; }
  .journal-page { padding-top: 10rem; }
  h1 { font-size: clamp(4.25rem, 24vw, 6.5rem); }
  .hero-intro { max-width: 22rem; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .video-modal, .map-modal { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
  .video-frame { aspect-ratio: 16/10; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
