Add PDF images as section backgrounds and visual breaks
Extracted 25 images from pitch deck PDF. Hero, question, logline, inspiration, themes, story world, tone, and closing sections now have cinematic background images. Added field, family dinner, and mood board as full-bleed image breaks. Comp cards now show movie posters. Story world section includes Accra motorcycle and architecture photos. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
@ -1,4 +1,5 @@
|
||||||
FROM nginx:alpine
|
FROM nginx:alpine
|
||||||
COPY index.html /usr/share/nginx/html/index.html
|
COPY index.html /usr/share/nginx/html/index.html
|
||||||
|
COPY img/ /usr/share/nginx/html/img/
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|
|
||||||
|
After Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 210 KiB |
|
After Width: | Height: | Size: 151 KiB |
|
After Width: | Height: | Size: 149 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 871 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 222 KiB |
|
After Width: | Height: | Size: 232 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 59 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 84 KiB |
137
index.html
|
|
@ -129,10 +129,8 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
inset: 0;
|
inset: 0;
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse at 30% 20%, rgba(206, 17, 38, 0.15) 0%, transparent 60%),
|
linear-gradient(180deg, rgba(10,10,15,0.4) 0%, rgba(10,10,15,0.2) 40%, rgba(10,10,15,0.7) 100%),
|
||||||
radial-gradient(ellipse at 70% 80%, rgba(0, 107, 63, 0.1) 0%, transparent 50%),
|
url('img/hero.jpg') center center / cover no-repeat;
|
||||||
radial-gradient(ellipse at 50% 50%, rgba(252, 209, 22, 0.05) 0%, transparent 70%),
|
|
||||||
var(--midnight);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#hero-canvas {
|
#hero-canvas {
|
||||||
|
|
@ -242,6 +240,35 @@
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ═══════ CINEMATIC IMAGE BREAK ═══════ */
|
||||||
|
.img-break {
|
||||||
|
max-width: 100%;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-break img {
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
display: block;
|
||||||
|
opacity: 0.85;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-break.parallax {
|
||||||
|
height: 60vh;
|
||||||
|
min-height: 400px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-break.parallax img {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 100%;
|
||||||
|
height: 120%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
/* ═══════ QUESTION ═══════ */
|
/* ═══════ QUESTION ═══════ */
|
||||||
.question-section {
|
.question-section {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
@ -249,8 +276,8 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse at center, rgba(0, 107, 63, 0.08) 0%, transparent 70%),
|
linear-gradient(180deg, rgba(10,10,15,0.5) 0%, rgba(10,10,15,0.3) 50%, rgba(10,10,15,0.6) 100%),
|
||||||
var(--midnight);
|
url('img/ivy-wall.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.question-section .question {
|
.question-section .question {
|
||||||
|
|
@ -269,7 +296,9 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding: 6rem 2rem;
|
padding: 6rem 2rem;
|
||||||
background: linear-gradient(180deg, var(--deep-red) 0%, var(--midnight) 100%);
|
background:
|
||||||
|
linear-gradient(180deg, rgba(139,0,0,0.85) 0%, rgba(10,10,15,0.9) 100%),
|
||||||
|
url('img/chaos.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logline-inner {
|
.logline-inner {
|
||||||
|
|
@ -324,8 +353,8 @@
|
||||||
/* ═══════ INSPIRATION ═══════ */
|
/* ═══════ INSPIRATION ═══════ */
|
||||||
.inspiration-section {
|
.inspiration-section {
|
||||||
background:
|
background:
|
||||||
linear-gradient(180deg, var(--midnight) 0%, rgba(13, 13, 20, 0.95) 30%, var(--midnight) 100%),
|
linear-gradient(180deg, rgba(10,10,15,0.92) 0%, rgba(13,13,20,0.88) 50%, rgba(10,10,15,0.95) 100%),
|
||||||
radial-gradient(ellipse at 50% 0%, rgba(206, 17, 38, 0.06) 0%, transparent 60%);
|
url('img/corridor.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inspiration-text {
|
.inspiration-text {
|
||||||
|
|
@ -343,8 +372,8 @@
|
||||||
/* ═══════ THEMES ═══════ */
|
/* ═══════ THEMES ═══════ */
|
||||||
.themes-section {
|
.themes-section {
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse at 20% 50%, rgba(252, 209, 22, 0.05) 0%, transparent 50%),
|
linear-gradient(180deg, rgba(10,10,15,0.88) 0%, rgba(10,10,15,0.82) 50%, rgba(10,10,15,0.92) 100%),
|
||||||
var(--midnight);
|
url('img/golden-silhouette.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.themes-text {
|
.themes-text {
|
||||||
|
|
@ -373,9 +402,28 @@
|
||||||
/* ═══════ STORY WORLD ═══════ */
|
/* ═══════ STORY WORLD ═══════ */
|
||||||
.world-section {
|
.world-section {
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse at 70% 30%, rgba(0, 107, 63, 0.08) 0%, transparent 50%),
|
linear-gradient(180deg, rgba(10,10,15,0.85) 0%, rgba(10,10,15,0.8) 50%, rgba(10,10,15,0.9) 100%),
|
||||||
radial-gradient(ellipse at 30% 70%, rgba(160, 82, 45, 0.08) 0%, transparent 50%),
|
url('img/space.jpg') center center / cover no-repeat;
|
||||||
var(--midnight);
|
}
|
||||||
|
|
||||||
|
.world-images {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 1.5rem;
|
||||||
|
margin-top: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.world-images img {
|
||||||
|
width: 100%;
|
||||||
|
height: 280px;
|
||||||
|
object-fit: cover;
|
||||||
|
opacity: 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.world-images {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.world-text {
|
.world-text {
|
||||||
|
|
@ -407,7 +455,9 @@
|
||||||
|
|
||||||
/* ═══════ TONE ═══════ */
|
/* ═══════ TONE ═══════ */
|
||||||
.tone-section {
|
.tone-section {
|
||||||
background: var(--midnight);
|
background:
|
||||||
|
linear-gradient(180deg, rgba(10,10,15,0.9) 0%, rgba(10,10,15,0.85) 50%, rgba(10,10,15,0.92) 100%),
|
||||||
|
url('img/tunnel.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tone-text {
|
.tone-text {
|
||||||
|
|
@ -431,16 +481,27 @@
|
||||||
|
|
||||||
.comp-card {
|
.comp-card {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 2rem 1.5rem;
|
|
||||||
background: var(--card-bg);
|
background: var(--card-bg);
|
||||||
border: 1px solid rgba(255,255,255,0.06);
|
border: 1px solid rgba(255,255,255,0.06);
|
||||||
transition: border-color 0.3s;
|
transition: border-color 0.3s;
|
||||||
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.comp-card:hover {
|
.comp-card:hover {
|
||||||
border-color: rgba(252, 209, 22, 0.2);
|
border-color: rgba(252, 209, 22, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.comp-card img {
|
||||||
|
width: 100%;
|
||||||
|
height: 320px;
|
||||||
|
object-fit: cover;
|
||||||
|
object-position: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comp-card-text {
|
||||||
|
padding: 1.2rem 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.comp-title {
|
.comp-title {
|
||||||
font-family: 'Bebas Neue', sans-serif;
|
font-family: 'Bebas Neue', sans-serif;
|
||||||
font-size: 1.5rem;
|
font-size: 1.5rem;
|
||||||
|
|
@ -525,8 +586,8 @@
|
||||||
padding: 10rem 2rem;
|
padding: 10rem 2rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background:
|
background:
|
||||||
radial-gradient(ellipse at 50% 50%, rgba(206, 17, 38, 0.1) 0%, transparent 60%),
|
linear-gradient(180deg, rgba(10,10,15,0.6) 0%, rgba(10,10,15,0.4) 50%, rgba(10,10,15,0.7) 100%),
|
||||||
var(--midnight);
|
url('img/purple-mood.jpg') center center / cover no-repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
.closing-question {
|
.closing-question {
|
||||||
|
|
@ -678,6 +739,11 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
<!-- FIELD IMAGE -->
|
||||||
|
<div class="img-break">
|
||||||
|
<img src="img/field.jpg" alt="Girl standing in a field of yellow flowers" loading="lazy">
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- QUESTION -->
|
<!-- QUESTION -->
|
||||||
<div class="question-section" id="question">
|
<div class="question-section" id="question">
|
||||||
<p class="question reveal">What if the fate of humanity rested on a lottery?</p>
|
<p class="question reveal">What if the fate of humanity rested on a lottery?</p>
|
||||||
|
|
@ -691,7 +757,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="divider"></div>
|
<!-- FAMILY DINNER IMAGE -->
|
||||||
|
<div class="img-break">
|
||||||
|
<img src="img/family-dinner.jpg" alt="Family gathered around dinner table" loading="lazy">
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- SYNOPSIS -->
|
<!-- SYNOPSIS -->
|
||||||
<section class="synopsis-section" id="synopsis">
|
<section class="synopsis-section" id="synopsis">
|
||||||
|
|
@ -722,7 +791,10 @@
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<div class="divider"></div>
|
<!-- MOOD BOARD IMAGE -->
|
||||||
|
<div class="img-break">
|
||||||
|
<img src="img/mood-board.jpg" alt="Visual mood board — architecture and community in Ghana" loading="lazy">
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- INSPIRATION -->
|
<!-- INSPIRATION -->
|
||||||
<div class="full-bleed inspiration-section" id="inspiration">
|
<div class="full-bleed inspiration-section" id="inspiration">
|
||||||
|
|
@ -797,6 +869,10 @@
|
||||||
<span class="p-green"></span>
|
<span class="p-green"></span>
|
||||||
<span class="p-gold"></span>
|
<span class="p-gold"></span>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="world-images reveal">
|
||||||
|
<img src="img/accra-motorcycle.jpg" alt="Woman on motorcycle riding through Accra" loading="lazy">
|
||||||
|
<img src="img/architecture-warm.jpg" alt="Warm architectural interior in Ghana" loading="lazy">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -817,16 +893,25 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="comps-grid reveal">
|
<div class="comps-grid reveal">
|
||||||
<div class="comp-card">
|
<div class="comp-card">
|
||||||
<h3 class="comp-title">District 9</h3>
|
<img src="img/comp-district9.jpg" alt="District 9 poster" loading="lazy">
|
||||||
<p class="comp-detail">Social commentary through sci-fi allegory set in Africa</p>
|
<div class="comp-card-text">
|
||||||
|
<h3 class="comp-title">District 9</h3>
|
||||||
|
<p class="comp-detail">Social commentary through sci-fi allegory set in Africa</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="comp-card">
|
<div class="comp-card">
|
||||||
<h3 class="comp-title">Arrival</h3>
|
<img src="img/comp-arrival.jpg" alt="Arrival poster" loading="lazy">
|
||||||
<p class="comp-detail">Cerebral sci-fi driven by emotional truth and communication</p>
|
<div class="comp-card-text">
|
||||||
|
<h3 class="comp-title">Arrival</h3>
|
||||||
|
<p class="comp-detail">Cerebral sci-fi driven by emotional truth and communication</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="comp-card">
|
<div class="comp-card">
|
||||||
<h3 class="comp-title">Children of Men</h3>
|
<img src="img/comp-children-of-men.jpg" alt="Children of Men poster" loading="lazy">
|
||||||
<p class="comp-detail">Gritty immediacy in a collapsing world, hope against despair</p>
|
<div class="comp-card-text">
|
||||||
|
<h3 class="comp-title">Children of Men</h3>
|
||||||
|
<p class="comp-detail">Gritty immediacy in a collapsing world, hope against despair</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||