field-notes-rothrock/films/rothrock-forest-bathing/index.html

93 lines
7.5 KiB
HTML
Raw Permalink Normal View History

2026-08-22 03:22:48 +02:00
<!doctype html>
<html><head>
<meta name="description" content="Hemlock needles decay into scent. Moss holds water like memory."><meta charset="UTF-8"/>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
<style>
body{margin:0;background:#0b0f14;color:#fff;font-family:Inter,system-ui,sans-serif}
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
.clip{position:absolute;inset:0;display:grid;place-items:center}
.bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.7)}
.title{font-size:3.5rem;font-weight:300;letter-spacing:0.04em;text-align:center;max-width:1400px;padding:0 60px;opacity:0;transform:translateY(30px)}
.subtitle{font-size:1.5rem;font-weight:300;letter-spacing:0.08em;text-transform:uppercase;color:#8B9E7E;text-align:center;max-width:1000px;padding:0 60px;opacity:0;transform:translateY(20px)}
.caption{font-size:1.1rem;font-weight:300;color:#E8E2D6;text-align:center;max-width:1200px;padding:0 80px;opacity:0;line-height:1.6;transform:translateY(15px)}
.data-line{font-family:'IBM Plex Mono',monospace;font-size:1.3rem;color:#6B8E5A;text-align:center;max-width:1000px;padding:0 60px;opacity:0;letter-spacing:0.02em}
.footer-text{font-family:'IBM Plex Mono',monospace;font-size:0.9rem;color:#6B5B4A;text-align:center;max-width:800px;padding:0 60px;opacity:0;letter-spacing:0.05em}
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400&display=swap');
</style> <script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<div id="root" data-composition-id="main" data-start="0" data-width="1920" data-height="1080" data-duration="78">
<section id="s1" class="clip" data-start="0" data-duration="10" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/gf2940c6b4195533273f46050fcb45a288f9dab04e8f78689c9aab6d70377d5acedc8f008e3c365e27f0261c914b7893dab1604f04d035b50226c4a36353c0621_1280.jpg')"></div>
<h1 class="title" id="s1-title">Rothrock State Forest, Pennsylvania</h1>
<p class="subtitle" id="s1-sub">Where the trees remember how to breathe</p>
</section>
<section id="s2" class="clip" data-start="10" data-duration="12" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/g9d2762db164a3283464463fcd31b5239772285326a28adea5ddb81791033a1ddf17d11fa88a512643080189d651cbb0c32517ac2d03b5a83ffc5961dd65230b1_1280.jpg')"></div>
<p class="caption" id="s2-caption">Hemlock needles decay into scent. Moss holds water like memory.</p>
</section>
<section id="s3" class="clip" data-start="22" data-duration="15" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/gf2fa6d7afa87e0127d2f0143c6a9e349e3a3efe28e32d48264f176b5bff1a5aef7f646f1f0414b6e4befb44ffd98a88581e7527a69a42e573c77536b9b930c09_1280.jpg')"></div>
<h1 class="title" id="s3-title">Attention Restoration Theory</h1>
<p class="caption" id="s3-caption">Fascination. Being Away. Extent. Incompatibility. The four mechanisms the Kaplans named.</p>
</section>
<section id="s4" class="clip" data-start="37" data-duration="12" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/g3010b9633561dc3e41be76175445d5d71c8f6fdc15d5dba825b4a336ba546a31e9354bf529ce297b8675e2ab2e3f95b787f82c4dcb6f92a224ac81765c6ca936_1280.jpg')"></div>
<p class="caption" id="s4-caption">Phytoncides — tree breath — raise natural killer cells. Lower cortisol. The forest literally changes your blood.</p>
</section>
<section id="s5" class="clip" data-start="49" data-duration="12" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/g5c55c06a0b4f2944daccbc69ea37cd7e37c3dcbe7851bb62fd69a6f5c2c8f566e6682b7b88285e738cd2f85330d04451e7a061993fd1dad95900329e4d868a5c_1280.jpg')"></div>
<div class="data-line" id="s5-data">Minimum effective dose: 40 minutes</div>
<div class="data-line" id="s5-data2" style="margin-top:60px;">Optimal window: 7590 minutes</div>
<div class="data-line" id="s5-data3" style="margin-top:120px;">23 hikes, JanuaryJuly 2026</div>
</section>
<section id="s6" class="clip" data-start="61" data-duration="10" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/g5c55c06a0b4f2944daccbc69ea37cd7e37c3dcbe7851bb62fd69a6f5c2c8f566e6682b7b88285e738cd2f85330d04451e7a061993fd1dad95900329e4d868a5c_1280.jpg')"></div>
<p class="caption" id="s6-caption">One chord progression at the overlook. The guitar compounds the fascination.</p>
</section>
<section id="s7" class="clip" data-start="71" data-duration="7" data-track-index="1">
<div class="bg" style="background-image:url('https://pixabay.com/get/gf2940c6b4195533273f46050fcb45a288f9dab04e8f78689c9aab6d70377d5acedc8f008e3c365e27f0261c914b7893dab1604f04d035b50226c4a36353c0621_1280.jpg')"></div>
<p class="footer-text" id="s7-footer">alfred-rosenberg.4ort.net — The forest doesn't care about your Trello board. That indifference is the medicine.</p>
</section>
<!-- Audio elements as direct children of root -->
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="10"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="22"></audio>
<audio id="voice-s4" src="audio/s4.wav" data-start="37"></audio>
<audio id="voice-s5" src="audio/s5.wav" data-start="49"></audio>
<audio id="voice-s6" src="audio/s6.wav" data-start="61"></audio>
<audio id="voice-s7" src="audio/s7.wav" data-start="71"></audio>
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.15"></audio>
</div>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
// Scene 1: 0-10s
tl.to("#s1-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 0.5);
tl.to("#s1-sub", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 1.2);
tl.to("#s1-title", { opacity: 0, duration: 0.5 }, 9.5);
tl.to("#s1-sub", { opacity: 0, duration: 0.5 }, 9.5);
// Scene 2: 10-22s
tl.to("#s2-caption", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 10.5);
tl.to("#s2-caption", { opacity: 0, duration: 0.5 }, 21.5);
// Scene 3: 22-37s
tl.to("#s3-title", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 22.5);
tl.to("#s3-caption", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 23.5);
tl.to("#s3-title", { opacity: 0, duration: 0.5 }, 36.5);
tl.to("#s3-caption", { opacity: 0, duration: 0.5 }, 36.5);
// Scene 4: 37-49s
tl.to("#s4-caption", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 37.5);
tl.to("#s4-caption", { opacity: 0, duration: 0.5 }, 48.5);
// Scene 5: 49-61s
tl.to("#s5-data", { opacity: 1, y: 0, duration: 0.8, ease: "power3.out" }, 49.5);
tl.to("#s5-data2", { opacity: 1, y: 0, duration: 0.8, ease: "power3.out" }, 50.5);
tl.to("#s5-data3", { opacity: 1, y: 0, duration: 0.8, ease: "power3.out" }, 51.5);
tl.to(["#s5-data","#s5-data2","#s5-data3"], { opacity: 0, duration: 0.5 }, 60.5);
// Scene 6: 61-71s
tl.to("#s6-caption", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 61.5);
tl.to("#s6-caption", { opacity: 0, duration: 0.5 }, 70.5);
// Scene 7: 71-78s
tl.to("#s7-footer", { opacity: 1, y: 0, duration: 1, ease: "power3.out" }, 71.5);
window.__timelines["main"] = tl;
</script>
</body></html>