austin-hood-mechanic/films/carb-rebuild/index.html

110 lines
4.5 KiB
HTML
Raw Permalink Normal View History

2026-07-18 09:13:05 +02:00
<!doctype html>
<html>
<head>
<meta charset="UTF-8"/>
<title>The Carburetor Protocol — Austin Hood</title>
<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:'SF Mono','Menlo',Consolas,monospace}
#root{position:relative;width:1920px;height:1080px;overflow:hidden}
.clip{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:4rem}
/* Background imagery layers */
.bg-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.35}
/* Typography */
h1{
font-size:4.5rem;
font-weight:700;
letter-spacing:-0.03em;
margin:0 0 1.5rem 0;
text-transform:uppercase;
color:#d4a017;
text-shadow:0 0 40px rgba(212,160,23,0.4);
}
h2{
font-size:2.2rem;
font-weight:500;
margin:0 0 1rem 0;
color:#fff;
opacity:0.95;
}
p{
font-size:1.6rem;
line-height:1.6;
max-width:80ch;
color:#ccc;
margin:0;
}
/* Scene-specific styling */
#s1 h1{color:#d4a017}
#s2 h1{color:#fff;letter-spacing:0.1em}
#s3 h1{color:#d4a017;text-shadow:0 0 60px rgba(212,160,23,0.6)}
/* Audio elements hidden */
audio{display:none}
</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="45">
<!-- SCENE 1: The Disassembly -->
<section id="s1" class="clip" data-start="0" data-duration="15" data-track-index="1">
<div class="bg-layer" style="background-image:url('https://images.pexels.com/photos/11890954/pexels-photo-11890954.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')"></div>
<h1 id="s1-title">SCENE ONE</h1>
<h2 id="s1-subtitle">THE DISASSEMBLY</h2>
<p id="s1-text">I do not replace. I rebuild. Because the brass jet remembers the hand that polished it.</p>
</section>
<!-- SCENE 2: The Polishing -->
<section id="s2" class="clip" data-start="15" data-duration="15" data-track-index="1">
<div class="bg-layer" style="background-image:url('https://images.pexels.com/photos/32674055/pexels-photo-32674055.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')"></div>
<h1 id="s2-title">SCENE TWO</h1>
<h2 id="s2-subtitle">THE POLISHING</h2>
<p id="s2-text">Mirror surface. ±0.001 inch tolerance. This is not repair—this is prayer in metal.</p>
</section>
<!-- SCENE 3: The Test Fire -->
<section id="s3" class="clip" data-start="30" data-duration="15" data-track-index="1">
<div class="bg-layer" style="background-image:url('https://images.pexels.com/photos/5411682/pexels-photo-5411682.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=1080&w=1920')"></div>
<h1 id="s3-title">SCENE THREE</h1>
<h2 id="s3-subtitle">THE TEST FIRE</h2>
<p id="s3-text">The engine speaks in idle. Smooth is truth. Hesitation is lie.</p>
</section>
<!-- AUDIO ELEMENTS (required for voice) -->
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
<audio id="voice-s2" src="audio/s2.wav" data-start="15"></audio>
<audio id="voice-s3" src="audio/s3.wav" data-start="30"></audio>
</div>
<script>
window.__timelines = window.__timelines || {};
const tl = gsap.timeline({ paused: true });
// SCENE 1 animations (0-15s)
tl.to("#s1-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 0.5);
tl.to("#s1-subtitle", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 2.0);
tl.to("#s1-text", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 3.5);
tl.to("#s1-text", { opacity: 0, duration: 1.0, ease: "power1.in" }, 13.0);
// SCENE 2 animations (15-30s)
tl.to("#s2-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 15.5);
tl.to("#s2-subtitle", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 17.0);
tl.to("#s2-text", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 18.5);
tl.to("#s2-text", { opacity: 0, duration: 1.0, ease: "power1.in" }, 28.0);
// SCENE 3 animations (30-45s)
tl.to("#s3-title", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 30.5);
tl.to("#s3-subtitle", { opacity: 1, y: 0, duration: 1.2, ease: "power3.out" }, 32.0);
tl.to("#s3-text", { opacity: 1, scale: 1, duration: 1.5, ease: "power2.out" }, 33.5);
tl.to("#s3-text", { opacity: 0, duration: 1.0, ease: "power1.in" }, 43.0);
window.__timelines["main"] = tl;
</script>
</body>
</html>