:root {
  --night: #080d0f;
  --bone: #f2eee5;
  --muted: #bebdb8;
  --dim: #949b9c;
  --gold: #d9af60;
  --gold-light: #f0c97c;
  --rule: #76664b;
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', Arial, sans-serif;
  --ease: cubic-bezier(.2, .7, .25, 1);
  --gutter: clamp(27px, 4.15vw, 86px);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 38px; }
body { background: var(--night); color: var(--bone); font-family: var(--serif); font-size: 24px; line-height: 1.38; margin: 0; -webkit-font-smoothing: antialiased; }
body.menu-open, body.player-open { overflow: hidden; }
::selection { color: #101616; background: #d9af60; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; cursor: pointer; }
button, input { border-radius: 0; }
button, a, input { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 7px; }
input:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
img, video { max-width: 100%; display: block; }
[hidden] { display: none !important; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-weight: 500; }
h2 { font-size: clamp(52px, 6.4vw, 104px); line-height: .9; letter-spacing: -.045em; }
p { margin-bottom: 22px; }
.shell { width: calc(100% - var(--gutter) * 2); max-width: 1680px; margin-left: auto; margin-right: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 12px; padding: 12px 20px; z-index: 100; font-family: var(--sans); font-size: 16px; background: var(--gold); color: var(--night); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.site-header { position: absolute; top: 0; left: 0; right: 0; z-index: 20; min-height: 93px; padding: 18px var(--gutter); display: flex; align-items: center; gap: 55px; }
.wordmark { flex-shrink: 0; display: inline-flex; flex-direction: column; width: fit-content; }
.wordmark > span { display: block; text-transform: uppercase; font-family: var(--serif); font-weight: 500; font-size: 24px; letter-spacing: .115em; line-height: 1.18; border-bottom: 1px solid rgb(227 222 207 / .55); padding-bottom: 3px; }
.wordmark small { text-transform: uppercase; font-family: var(--sans); font-size: 12px; letter-spacing: .18em; line-height: 1.6; padding-top: 4px; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 45px; }
.main-nav > a { position: relative; font-family: var(--sans); font-size: 15px; font-weight: 400; white-space: nowrap; }
.main-nav > a::after { position: absolute; content: ''; height: 1px; background: var(--gold); bottom: -7px; left: 0; right: 0; transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); }
.outline-button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; color: var(--bone); background: rgb(8 13 15 / .15); border: 1px solid var(--gold); border-radius: 4px; font-family: var(--sans); font-size: 16px; font-weight: 400; line-height: 1.2; min-height: 55px; padding: 14px 29px; transition: color .3s, background .3s, border-color .3s; }
.outline-button > span { font-size: 29px; line-height: .7; font-weight: 400; transition: transform .35s var(--ease); }
.header-cta { white-space: nowrap; min-height: 51px; font-size: 15px; padding-left: 28px; padding-right: 28px; }
.menu-toggle { display: none; }
.mobile-menu { display: none; }
.hero { height: min(52.15vw, 1000px); min-height: 700px; position: relative; isolation: isolate; background: #192124; overflow: hidden; }
.hero-film, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.hero-film { object-fit: cover; object-position: center 51%; }
.hero-shade { background: linear-gradient(90deg, rgb(0 6 9 / .52) 0%, rgb(0 5 9 / .25) 35%, transparent 66%), linear-gradient(180deg, rgb(4 12 16 / .48), transparent 29%, transparent 60%, rgb(4 9 10 / .44)); }
.hero-copy { padding-top: clamp(150px, 11.6vw, 218px); }
.hero h1 { font-size: clamp(122px, 12.25vw, 208px); line-height: .83; letter-spacing: -.064em; margin: 0 0 22px -7px; font-weight: 600; }
.hero-intro { font-size: clamp(32px, 3.03vw, 49px); line-height: .99; letter-spacing: -.016em; margin: 0 0 37px; }
.hero-play { display: inline-flex; align-items: center; gap: 25px; background: transparent; padding: 0; border: 0; text-align: left; }
.play-circle { width: 81px; height: 81px; border: 2px solid #f7f0df; border-radius: 50%; display: inline-grid; place-items: center; flex-shrink: 0; background: rgb(8 13 15 / .53); backdrop-filter: blur(3px); transition: transform .45s var(--ease), background .35s, border-color .35s; }
.play-circle > span { display: block; width: 0; height: 0; border-top: 15px solid transparent; border-bottom: 15px solid transparent; border-left: 23px solid #f3eddd; margin-left: 6px; }
.hero-play .play-circle { width: 99px; height: 99px; border-width: 3px; border-color: var(--gold-light); background: rgb(6 12 14 / .33); }
.hero-play .play-circle > span { border-top-width: 19px; border-bottom-width: 19px; border-left-width: 30px; border-left-color: var(--gold-light); margin-left: 9px; }
.hero-play-label { font-family: var(--sans); font-size: 19px; font-weight: 500; line-height: 1.5; }
.hero-play-label small { display: block; color: #c3c5c3; font-family: var(--serif); font-size: 21px; font-weight: 400; }
.background-toggle { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; position: absolute; bottom: 18px; right: 23px; border: 1px solid rgb(238 232 219 / .42); border-radius: 50%; background: rgb(8 13 15 / .35); color: #f3eddd; font: 14px var(--sans); backdrop-filter: blur(6px); transition: background .25s, border-color .25s; }
.project { padding-top: 33px; padding-bottom: 47px; }
.project-intro { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; }
.project h2 { font-size: clamp(66px, 7.05vw, 118px); margin: 0; line-height: .84; letter-spacing: -.047em; padding: 0 45px 0 0; }
.project-intro > p { font-size: clamp(24px, 2.15vw, 34px); line-height: 1.25; border-left: 1px solid #746a5b; margin: 17px 0 10px; padding: 27px 0 27px 42px; color: #deddd7; }
.scripture-timeline { position: relative; list-style: none; display: flex; align-items: flex-start; justify-content: space-between; padding: 0; margin: 36px 0 28px; }
.scripture-timeline::before { content: ''; height: 1px; position: absolute; top: 12px; left: 40px; right: 42px; background: linear-gradient(90deg, var(--gold) 0%, #b2935e 37%, #807b6f 100%); }
.scripture-timeline li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 23px; line-height: 1.25; }
.timeline-dot { width: 12px; height: 12px; background: #e4c68e; border-radius: 50%; display: block; margin: 6px 0; position: relative; }
.scripture-timeline li:nth-child(2) .timeline-dot { background: #f1c576; }
.timeline-beginning .timeline-dot, .timeline-ending .timeline-dot { width: 24px; height: 24px; margin: 0; border: 2px solid var(--gold-light); background: var(--night); }
.timeline-ending .timeline-dot { border-color: #887e6b; }
.project-status { display: flex; align-items: center; gap: 30px; font-size: 19px; line-height: 1.4; color: #b4b5b1; }
.project-status > a { display: flex; align-items: center; gap: 11px; white-space: nowrap; }
.project-status > a i { width: 10px; height: 10px; border-radius: 50%; background: #eabd68; flex-shrink: 0; }
.project-status > span:last-child { white-space: nowrap; color: #929b9b; }
.status-line { height: 1px; background: #574e3c; flex: 1; }
.experiments { padding-top: 4px; }
.section-heading { display: flex; align-items: center; gap: 24px; margin-bottom: 25px; }
.section-heading h2 { font-size: clamp(51px, 5.65vw, 94px); line-height: 1; letter-spacing: -.043em; margin: 0; white-space: nowrap; }
.eyebrow { font-family: var(--sans); font-size: 12px; line-height: 1.5; font-weight: 450; letter-spacing: .22em; text-transform: uppercase; margin: 0; }
.section-heading .eyebrow { white-space: nowrap; }
.heading-rule { flex: 1; min-width: 42px; height: 1px; background: #746346; }
.film-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 34px; }
.film-card { min-width: 0; }
.film-image { position: relative; display: block; width: 100%; border: 0; padding: 0; background: #182023; aspect-ratio: 1.865; overflow: hidden; text-align: left; }
.film-image > img, .preview-film { position: absolute; width: 100%; height: 100%; object-fit: cover; inset: 0; transition: transform .95s var(--ease), opacity .65s ease; }
.preview-film { opacity: 0; pointer-events: none; }
.film-image.is-previewing .preview-film, .film-card.is-previewing .preview-film { opacity: 1; }
.film-image-shade { position: absolute; inset: 0; background: linear-gradient(25deg, rgb(1 7 8 / .22), transparent 45%); pointer-events: none; }
.film-image .play-circle { position: absolute; left: 24px; bottom: 21px; width: 78px; height: 78px; }
.film-card h3, .study-stage h3 { margin: 9px 0 0; font-size: 37px; font-weight: 500; letter-spacing: -.026em; line-height: 1.06; }
.film-card h3 button { font: inherit; padding: 0; background: transparent; border: 0; text-align: left; transition: color .3s; }
.film-card > p, .study-panel > p { font-size: 23px; line-height: 1.25; margin: 4px 0 0; color: #c6c6c0; letter-spacing: .005em; }
.film-card-wide { grid-column: 1 / -1; }
.film-card-wide .film-image { aspect-ratio: 3.64; }
.film-card-wide .film-image img, .film-card-wide .preview-film { object-position: center 50%; }
.study { display: grid; grid-template-columns: 1.26fr 1fr; gap: 32px; margin-top: 30px; border-top: 1px solid #756449; padding-top: 38px; padding-bottom: 31px; }
.study-stage { min-width: 0; }
.study-image { position: relative; aspect-ratio: 1.565; background: #151c1f; overflow: hidden; }
#study-film { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.study-play-overlay { padding: 0; position: absolute; left: 25px; bottom: 24px; z-index: 2; }
.study-image.is-playing .study-play-overlay { opacity: 0; pointer-events: none; }
.study-copy { padding-top: 0; min-width: 0; }
.study-eyebrow { display: flex; align-items: center; gap: 19px; margin-bottom: 30px; }
.study-eyebrow .eyebrow { font-size: 13px; letter-spacing: .06em; white-space: nowrap; }
.study-eyebrow > span { height: 1px; background: #776448; flex: 1; }
.study h2 { font-size: clamp(54px, 6.3vw, 99px); line-height: .88; letter-spacing: -.045em; margin: 0 0 19px; }
.study-intro { font-size: 26px; line-height: 1.23; margin-bottom: 25px; }
.study-tabs { display: flex; gap: 12px; align-items: center; }
.study-tab { flex: 1 0 auto; min-height: 49px; padding: 12px 23px; border: 1px solid #8a8d86; border-radius: 40px; background: transparent; color: #e2e2dc; font-family: var(--sans); font-size: 14px; font-weight: 400; line-height: 1.2; white-space: nowrap; transition: background .3s, color .3s, border-color .3s; }
.study-tab.active, .study-tab[aria-selected='true'] { background: var(--gold); color: #101719; border-color: var(--gold); }
.question-form { border-top: 1px solid #958061; margin-top: 35px; padding-top: 24px; }
.question-form > label { display: block; font-size: 22px; line-height: 1.3; margin-bottom: 12px; }
.question-entry { display: grid; grid-template-columns: 1fr 65px; }
.question-entry input { width: 100%; min-width: 0; background: #24292b; color: #ece9e0; border: 1px solid #8a8e8c; border-right: 0; border-radius: 3px 0 0 3px; font-family: var(--sans); font-size: 15px; padding: 17px 20px; min-height: 59px; transition: background .3s, border-color .3s; }
.question-entry input::placeholder { color: #a5abaa; opacity: 1; }
.question-entry input:focus { background: #2a3032; border-color: var(--gold); }
.question-entry > button { display: grid; place-items: center; color: #131b1b; border: 1px solid var(--gold); border-radius: 0 3px 3px 0; background: var(--gold); padding: 0; font-family: var(--sans); font-size: 34px; line-height: 1; transition: background .3s; }
.question-entry > button span { transition: transform .3s var(--ease); }
.study-answer:not([hidden]) { display: block; margin-top: 25px; padding: 22px 24px; color: #d5d7d0; background: #111a1e; border-left: 1px solid var(--gold); font-size: 22px; line-height: 1.5; }
.study-answer p:last-child { margin-bottom: 0; }
.study-answer strong { color: var(--bone); font-weight: 600; }
.study-answer a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 4px; }
.scripture-panel, .deeper-panel { border: 1px solid #414744; background: #11191c; padding: 31px 35px; min-height: 500px; max-height: 680px; overflow-y: auto; scrollbar-color: #706243 #182125; scrollbar-width: thin; }
.scripture-panel h3, .deeper-panel h3 { margin: 0 0 20px; font-size: 39px; }
.scripture-panel p, .deeper-panel p, .deeper-panel li { font-size: 24px; line-height: 1.5; color: #d7d6cd; }
.scripture-panel a, .deeper-panel a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 5px; }
.scripture-panel sup { color: var(--gold); font-family: var(--sans); font-size: 12px; margin-right: 3px; }
.panel-kicker { font: 12px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: var(--gold); margin: 0 0 12px; }
.panel-heading { font-family: var(--serif); font-size: 38px; font-weight: 500; letter-spacing: -.03em; margin: 0 0 18px; }
.verse-list { margin: 0; padding: 0; list-style: none; }
.verse-row { display: grid; grid-template-columns: 31px 1fr; gap: 15px; padding: 13px 0; border-bottom: 1px solid #293332; }
.verse-row:last-child { border-bottom: 0; }
button.verse-row { width: 100%; text-align: left; background: transparent; border-top: 0; border-left: 0; border-right: 0; transition: background .25s, padding .25s; }
button.verse-row:hover { background: #1a2528; }
.deeper-panel .question-refs { font: 13px/1.6 var(--sans); color: var(--gold); }
.verse-number { padding-top: 5px; font: 12px/1.5 var(--sans); color: var(--gold); }
button.verse-number { align-self: start; padding: 5px 0; border: 0; background: transparent; text-align: left; }
.verse-text { font-size: 23px; line-height: 1.5; color: #d9d8d0; }
.study-source-link { display: inline-flex; margin-top: 20px; color: var(--gold-light); font: 14px/1.5 var(--sans); text-decoration: underline; text-underline-offset: 5px; }
.question-card, .related-question { margin: 20px 0 0; padding: 19px 0; border-top: 1px solid #4a493c; }
.question-card h3, .related-question h3 { font-size: 29px; line-height: 1.15; font-weight: 500; margin: 0 0 12px; }
.question-card p, .related-question p { margin: 0 0 12px; font-size: 22px; line-height: 1.45; }
.question-card button, .related-question button { font-family: var(--serif); font-size: 23px; color: var(--bone); padding: 0; background: transparent; border: 0; text-align: left; line-height: 1.4; }
.question-refs { display: flex; flex-wrap: wrap; gap: 8px 17px; color: var(--gold); font: 13px/1.6 var(--sans); }
.question-refs a, .question-refs button { font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.study-empty { font-size: 22px; line-height: 1.45; margin: 0; color: #c5c9c5; }
.film-meta { font: 14px/1.5 var(--sans); color: #b8beb9; }
.player-status { font: 16px/1.5 var(--sans); color: #d0d1c8; padding: 15px 24px; margin: 0; }
.research { position: relative; isolation: isolate; min-height: 620px; overflow: hidden; background: #182122; }
.research-background, .research-shade { position: absolute; inset: 0; z-index: -1; }
.research-background { background: url('/media/research.webp') center 49% / cover no-repeat; }
.research-shade { background: linear-gradient(180deg, rgb(1 9 10 / .04), rgb(3 10 11 / .35) 33%, rgb(2 9 10 / .76) 100%), linear-gradient(90deg, rgb(3 10 11 / .25), transparent 75%); }
.research-content { position: relative; padding-top: 111px; padding-bottom: 62px; }
.research h2 { font-size: clamp(63px, 7.1vw, 119px); line-height: .85; letter-spacing: -.048em; margin-bottom: 26px; }
.research-intro { font-size: 28px; line-height: 1.2; margin-bottom: 25px; }
.short-rule { display: block; width: 114px; height: 1px; background: var(--gold); margin-bottom: 23px; }
.research-description { font-size: 25px; line-height: 1.25; margin-bottom: 23px; }
.research .outline-button { min-height: 55px; }
.research-motto { position: absolute; bottom: 193px; right: 20px; font-family: var(--sans); font-size: 12px; line-height: 2.6; letter-spacing: .25em; text-transform: uppercase; margin: 0; }
.research-detail { max-width: 740px; margin-top: 30px; background: rgb(8 13 15 / .84); border-left: 1px solid var(--gold); padding: 23px 28px; font-size: 22px; line-height: 1.5; }
.research-detail p:last-child { margin-bottom: 0; }
.site-footer { border-top: 1px solid #7e6b4c; display: grid; grid-template-columns: 1fr 1px 1.4fr 1px 1fr; align-items: center; min-height: 97px; gap: 42px; }
.site-footer > a { font-family: var(--serif); font-size: 19px; text-transform: uppercase; letter-spacing: .12em; line-height: 1.4; transition: color .3s; }
.site-footer > a:nth-of-type(2) { text-align: center; font-size: 17px; letter-spacing: .24em; }
.site-footer > a:last-child { text-align: right; font-family: var(--sans); font-size: 12px; letter-spacing: .24em; }
.footer-divider { display: block; width: 1px; height: 34px; background: #8a8c84; }
.film-dialog { width: min(1220px, calc(100% - 48px)); max-height: calc(100dvh - 48px); padding: 0; color: var(--bone); background: #080d0f; border: 1px solid #7b6b4e; box-shadow: 0 20px 100px #000; }
.film-dialog::backdrop { background: rgb(0 4 6 / .87); backdrop-filter: blur(10px); }
.film-dialog[open] { animation: player-enter .25s var(--ease); }
@keyframes player-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.film-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 24px; }
.film-dialog-header h2 { font-size: 32px; line-height: 1; letter-spacing: -.025em; margin: 0; }
.film-dialog-header button { width: 42px; height: 42px; border: 1px solid #6f705f; background: transparent; color: var(--bone); font-size: 32px; padding: 0; line-height: 1; }
#film-player { width: 100%; max-height: calc(100dvh - 138px); background: black; }
[data-reveal] { opacity: 1; transform: none; transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].reveal-pending { opacity: 0; transform: translateY(22px); }
@media (hover: hover) {
  .main-nav a:hover::after { transform: scaleX(1); }
  .outline-button:hover { background: var(--gold); border-color: var(--gold); color: #11191a; }
  .outline-button:hover > span { transform: translateX(5px); }
  .hero-play:hover .play-circle, .film-image:hover .play-circle, .study-play-overlay:hover { border-color: var(--gold-light); background: rgb(8 13 15 / .6); transform: scale(1.05); }
  .film-image:hover img { transform: scale(1.025); }
  .film-image:hover .preview-film { opacity: 1; }
  .film-card h3 button:hover, .project-status > a:hover, .site-footer a:hover { color: var(--gold-light); }
  .study-tab:hover { border-color: var(--gold-light); color: var(--bone); background: rgb(217 175 96 / .12); }
  .study-tab.active:hover, .study-tab[aria-selected='true']:hover { color: #101719; background: var(--gold-light); }
  .question-entry > button:hover { background: var(--gold-light); }
  .question-entry > button:hover span { transform: translateX(3px); }
  .background-toggle:hover { border-color: var(--gold); background: rgb(8 13 15 / .75); }
}
@media (min-width: 1750px) {
  .hero-copy { padding-top: 193px; }
  .project { padding-top: 47px; padding-bottom: 61px; }
  .scripture-timeline { margin-top: 49px; }
  .project-status { gap: 38px; }
  .section-heading { margin-bottom: 34px; }
  .study { gap: 43px; padding-top: 43px; padding-bottom: 38px; }
  .study-copy { padding-top: 3px; }
  .study-intro { font-size: 29px; }
  .study-tabs { gap: 15px; }
  .study-tab { font-size: 16px; padding: 14px 25px; }
  .research { min-height: 720px; }
  .research-content { padding-top: 130px; }
}
@media (max-width: 1250px) {
  .site-header { gap: 29px; }
  .wordmark > span { font-size: 22px; }
  .wordmark small { font-size: 12px; }
  .main-nav { gap: 28px; }
  .main-nav a { font-size: 14px; }
  .header-cta { font-size: 14px; min-height: 49px; padding: 12px 22px; gap: 19px; }
  .hero { min-height: 660px; }
  .hero-copy { padding-top: 145px; }
  .hero h1 { font-size: 151px; }
  .hero-intro { font-size: 37px; }
  .hero-play .play-circle { width: 88px; height: 88px; }
  .hero-play-label { font-size: 17px; }
  .hero-play-label small { font-size: 20px; }
  .project h2 { font-size: 84px; }
  .project-intro > p { font-size: 26px; padding-left: 34px; }
  .project-status { gap: 22px; font-size: 18px; }
  .project-status > a { gap: 8px; }
  .project-status > a i { width: 8px; height: 8px; }
  .section-heading { gap: 19px; }
  .section-heading h2 { font-size: 67px; }
  .section-heading .eyebrow { font-size: 12px; letter-spacing: .16em; }
  .heading-rule { min-width: 25px; }
  .film-grid { gap: 25px 29px; }
  .film-image .play-circle { width: 67px; height: 67px; left: 21px; bottom: 19px; }
  .play-circle > span { border-top-width: 13px; border-bottom-width: 13px; border-left-width: 21px; }
  .film-card h3, .study-stage h3 { font-size: 33px; }
  .film-card > p, .study-panel > p { font-size: 21px; }
  .study { gap: 29px; grid-template-columns: 1.15fr 1fr; }
  .study h2 { font-size: 78px; }
  .study-eyebrow { margin-bottom: 24px; }
  .study-intro { font-size: 23px; }
  .study-tabs { gap: 9px; }
  .study-tab { font-size: 12px; padding: 12px 17px; min-height: 45px; }
  .question-form { margin-top: 29px; padding-top: 22px; }
  .question-entry { grid-template-columns: 1fr 57px; }
  .question-entry input { min-height: 55px; padding: 15px; font-size: 14px; }
  .question-form > label { font-size: 21px; }
  .study-play-overlay { width: 67px; height: 67px; }
  .research { min-height: 590px; }
  .research-content { padding-top: 100px; }
  .research h2 { font-size: 89px; }
  .research-intro { font-size: 26px; }
  .research-description { font-size: 23px; }
  .research-motto { font-size: 12px; letter-spacing: .18em; bottom: 198px; right: 0; }
  .site-footer { gap: 32px; min-height: 95px; }
  .site-footer > a { font-size: 17px; }
  .site-footer > a:nth-of-type(2) { font-size: 16px; }
  .site-footer > a:last-child { font-size: 12px; letter-spacing: .2em; }
}
@media (max-width: 1000px) {
  .site-header { min-height: 92px; gap: 22px; }
  .main-nav { display: none; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 7px; padding: 0; border: 0; background: none; width: 42px; height: 42px; flex-shrink: 0; }
  .menu-toggle span { width: 26px; height: 1px; background: var(--bone); transition: transform .25s; }
  .menu-toggle[aria-expanded='true'] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded='true'] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .mobile-menu:not([hidden]) { position: absolute; z-index: 19; top: 92px; left: 0; right: 0; padding: 22px var(--gutter) 35px; display: flex; flex-direction: column; background: #0d1519; border-top: 1px solid #594f3b; box-shadow: 0 20px 30px #0006; max-height: calc(100dvh - 92px); overflow-y: auto; }
  .mobile-menu > a:not(.outline-button) { font-family: var(--sans); font-size: 17px; padding: 15px 0; border-bottom: 1px solid #263238; }
  .mobile-menu .outline-button { align-self: flex-start; margin-top: 25px; }
  .hero { min-height: 650px; }
  .hero h1 { font-size: 142px; }
  .hero-intro { font-size: 34px; }
  .hero-copy { padding-top: 151px; }
  .hero-film { object-position: 55% center; }
  .project { padding-top: 38px; padding-bottom: 36px; }
  .project h2 { font-size: 72px; padding-right: 30px; }
  .project-intro > p { font-size: 24px; padding-left: 30px; }
  .wide-break { display: none; }
  .scripture-timeline { margin-top: 34px; }
  .scripture-timeline li { font-size: 20px; }
  .project-status { flex-wrap: wrap; column-gap: 23px; row-gap: 13px; font-size: 18px; }
  .project-status > span:first-child { width: 100%; }
  .project-status > span:last-child { font-size: 17px; }
  .section-heading { flex-wrap: wrap; gap: 12px 20px; margin-bottom: 23px; }
  .section-heading h2 { width: 100%; font-size: 65px; white-space: normal; }
  .heading-rule { min-width: 65px; flex: 0 0 65px; }
  .section-heading .eyebrow { font-size: 12px; }
  .film-grid { gap: 23px; }
  .film-image .play-circle { width: 61px; height: 61px; left: 19px; bottom: 18px; }
  .play-circle > span { border-top-width: 12px; border-bottom-width: 12px; border-left-width: 19px; }
  .film-card h3, .study-stage h3 { font-size: 30px; }
  .film-card > p, .study-panel > p { font-size: 20px; }
  .study { grid-template-columns: 1fr 1fr; gap: 26px; padding-top: 29px; padding-bottom: 34px; }
  .study-image { aspect-ratio: 1.05; }
  .study h2 { font-size: 68px; }
  .study-intro { font-size: 23px; }
  .study-eyebrow .eyebrow { font-size: 12px; }
  .study-tabs { flex-wrap: wrap; gap: 9px; }
  .study-tab { flex: 0 1 auto; font-size: 12px; padding: 11px 16px; }
  .question-form { margin-top: 24px; padding-top: 21px; }
  .question-form > label { font-size: 20px; }
  .question-entry input { padding: 14px 13px; font-size: 14px; }
  .study-play-overlay { left: 19px; bottom: 20px; width: 61px; height: 61px; }
  .scripture-panel, .deeper-panel { padding: 24px; min-height: 430px; }
  .scripture-panel p, .deeper-panel p, .deeper-panel li { font-size: 22px; }
  .research { min-height: 590px; }
  .research-content { padding-top: 95px; }
  .research h2 { font-size: 81px; }
  .research-intro { max-width: 610px; }
  .research-description { max-width: 610px; }
  .research-motto { position: static; margin-top: 30px; line-height: 1.5; font-size: 12px; }
  .research-motto br { display: none; }
  .research-motto br::after { content: ' '; }
  .site-footer { gap: 25px; }
  .site-footer > a { font-size: 15px; letter-spacing: .08em; }
  .site-footer > a:nth-of-type(2) { font-size: 14px; letter-spacing: .14em; }
  .site-footer > a:last-child { font-size: 12px; letter-spacing: .15em; }
}
@media (max-width: 700px) {
  :root { --gutter: 25px; }
  body { font-size: 21px; }
  .site-header { padding-top: 16px; padding-bottom: 16px; min-height: 85px; gap: 14px; }
  .wordmark > span { font-size: 20px; letter-spacing: .09em; }
  .wordmark small { font-size: 12px; letter-spacing: .12em; }
  .header-cta { display: none; }
  .menu-toggle { margin-left: auto; }
  .mobile-menu:not([hidden]) { top: 85px; max-height: calc(100dvh - 85px); }
  .hero { height: 770px; min-height: 0; }
  .hero-copy { padding-top: 171px; }
  .hero-film { object-position: 63% center; }
  .hero-shade { background: linear-gradient(90deg, rgb(0 6 9 / .55), rgb(0 5 9 / .2) 80%), linear-gradient(180deg, rgb(4 12 16 / .38), transparent 37%, transparent 60%, rgb(4 9 10 / .64)); }
  .hero h1 { font-size: clamp(85px, 17.6vw, 122px); line-height: .89; letter-spacing: -.057em; margin-left: -3px; margin-bottom: 25px; }
  .hero-intro { font-size: clamp(29px, 5.3vw, 35px); line-height: 1.08; margin-bottom: 35px; }
  .hero-intro br { display: none; }
  .hero-play { gap: 17px; }
  .hero-play .play-circle { width: 76px; height: 76px; border-width: 2px; }
  .hero-play .play-circle > span { border-top-width: 14px; border-bottom-width: 14px; border-left-width: 22px; margin-left: 6px; }
  .hero-play-label { font-size: 15px; }
  .hero-play-label small { font-size: 20px; }
  .background-toggle { width: 34px; height: 34px; bottom: 17px; right: 19px; }
  .project { padding-top: 40px; padding-bottom: 42px; }
  .project-intro { grid-template-columns: 1fr; }
  .project h2 { font-size: clamp(63px, 11.2vw, 79px); line-height: .9; padding-right: 0; }
  .project-intro > p { margin: 26px 0 0; padding: 0 0 0 20px; border-left: 1px solid var(--rule); font-size: 23px; line-height: 1.35; }
  .scripture-timeline { margin-top: 33px; margin-bottom: 25px; }
  .scripture-timeline::before { top: 9px; left: 29px; right: 32px; }
  .scripture-timeline li { font-size: 17px; gap: 9px; }
  .timeline-dot { width: 8px; height: 8px; margin: 5px 0; }
  .timeline-beginning .timeline-dot, .timeline-ending .timeline-dot { width: 18px; height: 18px; border-width: 1px; }
  .project-status { gap: 12px 22px; font-size: 17px; }
  .project-status > a { gap: 7px; }
  .project-status > a i { width: 7px; height: 7px; }
  .status-line { min-width: 60px; }
  .project-status > span:last-child { font-size: 17px; }
  .experiments { padding-top: 0; }
  .section-heading { margin-bottom: 22px; gap: 14px 16px; }
  .section-heading h2 { font-size: clamp(45px, 9vw, 62px); line-height: .98; letter-spacing: -.035em; }
  .section-heading .eyebrow { font-size: 12px; letter-spacing: .13em; }
  .heading-rule { flex-basis: 43px; min-width: 43px; }
  .film-grid { grid-template-columns: 1fr; gap: 26px; }
  .film-card-wide { grid-column: 1; }
  .film-image { aspect-ratio: 1.7; }
  .film-card-wide .film-image { aspect-ratio: 1.8; }
  .film-image .play-circle { width: 59px; height: 59px; left: 18px; bottom: 17px; }
  .film-card h3, .study-stage h3 { margin-top: 11px; font-size: 31px; }
  .film-card > p, .study-panel > p { margin-top: 4px; font-size: 21px; line-height: 1.25; }
  .study { grid-template-columns: 1fr; gap: 31px; margin-top: 32px; padding-top: 30px; padding-bottom: 37px; }
  .study-image { aspect-ratio: 1.565; }
  .study-copy { padding: 0; }
  .study-eyebrow { margin-bottom: 24px; }
  .study-eyebrow .eyebrow { font-size: 12px; letter-spacing: .08em; }
  .study h2 { font-size: clamp(64px, 11.4vw, 78px); line-height: .9; margin-bottom: 21px; }
  .study-intro { font-size: 24px; line-height: 1.25; margin-bottom: 23px; }
  .study-tabs { gap: 8px; flex-wrap: wrap; }
  .study-tab { font-size: 12px; min-height: 44px; padding: 12px 17px; }
  .question-form { margin-top: 27px; padding-top: 23px; }
  .question-form > label { font-size: 22px; margin-bottom: 13px; }
  .question-entry { grid-template-columns: 1fr 57px; }
  .question-entry input { font-size: 16px; min-height: 57px; }
  .question-entry > button { font-size: 31px; }
  .study-answer:not([hidden]) { font-size: 21px; padding: 20px; }
  .scripture-panel, .deeper-panel { min-height: 380px; max-height: 590px; padding: 25px; }
  .scripture-panel p, .deeper-panel p, .deeper-panel li { font-size: 22px; }
  .scripture-panel h3, .deeper-panel h3 { font-size: 36px; }
  .research { min-height: 680px; }
  .research-content { padding-top: 87px; padding-bottom: 42px; }
  .research h2 { font-size: clamp(57px, 10vw, 71px); line-height: .93; letter-spacing: -.04em; margin-bottom: 27px; }
  .research h2 br { display: none; }
  .research-intro { font-size: 24px; line-height: 1.28; margin-bottom: 26px; }
  .short-rule { width: 80px; margin-bottom: 24px; }
  .research-description { font-size: 23px; line-height: 1.3; margin-bottom: 24px; }
  .outline-button { font-size: 15px; min-height: 53px; padding: 14px 22px; gap: 23px; }
  .research-motto { line-height: 2; margin-top: 36px; font-size: 12px; letter-spacing: .14em; max-width: 370px; }
  .research-motto br { display: initial; }
  .research-detail { font-size: 21px; padding: 20px; }
  .site-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; padding-top: 26px; padding-bottom: 27px; min-height: 0; }
  .site-footer > a { font-size: 15px; letter-spacing: .08em; }
  .site-footer > a:nth-of-type(2) { font-size: 14px; letter-spacing: .11em; text-align: right; }
  .site-footer > a:last-child { width: 100%; font-size: 12px; letter-spacing: .17em; text-align: left; }
  .footer-divider { display: none; }
  .film-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .film-dialog-header { padding: 12px 16px; }
  .film-dialog-header h2 { font-size: 27px; }
  .film-dialog-header button { width: 38px; height: 38px; font-size: 30px; }
  #film-player { max-height: calc(100dvh - 97px); }
}
@media (max-width: 400px) {
  :root { --gutter: 21px; }
  .wordmark > span { font-size: 18px; }
  .wordmark small { font-size: 12px; }
  .hero { height: 715px; }
  .hero-copy { padding-top: 160px; }
  .hero h1 { font-size: 82px; }
  .hero-intro { font-size: 29px; }
  .hero-play { gap: 14px; }
  .hero-play .play-circle { width: 69px; height: 69px; }
  .hero-play-label { font-size: 14px; }
  .project h2 { font-size: 59px; }
  .project-intro > p { font-size: 22px; }
  .project-status { column-gap: 16px; font-size: 16px; }
  .project-status > span:last-child { font-size: 16px; }
  .section-heading h2 { font-size: 44px; }
  .study-tab { padding: 11px 14px; font-size: 12px; }
  .research h2 { font-size: 54px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  [data-reveal].reveal-pending { opacity: 1; transform: none; }
  .preview-film { display: none; }
}

