.
<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”UTF-8″>
<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
<title>My Story | Soul Unwritten</title>
<link href=”https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600&family=Inter:wght@300;400;500&display=swap” rel=”stylesheet”>
<style>
/* ================= GLOBAL ================= */
:root {
–gold:#D4AF37;
–black:#0B0B0B;
–dark:#111;
–text:#EAEAEA;
–muted:#BFBFBF;
}
body {
margin:0;
background:var(–black);
color:var(–text);
font-family:’Inter’,sans-serif;
overflow-x:hidden;
transition:opacity 0.4s ease;
}
/* ================= GLOW ================= */
.glow {
color:var(–gold);
text-shadow:0 0 5px var(–gold),
0 0 10px var(–gold),
0 0 20px rgba(212,175,55,0.6);
}
/* ================= LAYOUT ================= */
.section {
max-width:900px;
margin:auto;
padding:100px 20px;
}
h1,h2,h3 {
font-family:’Playfair Display’,serif;
}
p {
color:var(–muted);
font-size:17px;
}
/* ================= HERO ================= */
.hero {
text-align:center;
padding:140px 20px 80px;
}
/* ================= PARALLAX ================= */
.parallax {
background-image:url(‘https://images.unsplash.com/photo-1500530855697-b586d89ba3ee’);
background-attachment:fixed;
background-size:cover;
background-position:center;
height:400px;
}
/* ================= FADE ================= */
.fade {
opacity:0;
transform:translateY(40px);
transition:all 1s ease;
}
.fade.show {
opacity:1;
transform:translateY(0);
}
/* ================= STORY BLOCK ================= */
.story-block {
margin-bottom:60px;
}
/* ================= QUOTE ================= */
.quote {
border-left:3px solid var(–gold);
padding-left:20px;
font-style:italic;
margin:40px 0;
}
/* ================= BUTTON ================= */
.btn {
display:inline-block;
padding:14px 30px;
border:1px solid var(–gold);
border-radius:30px;
color:var(–gold);
text-decoration:none;
transition:0.4s;
}
.btn:hover {
background:var(–gold);
color:black;
box-shadow:0 0 20px var(–gold);
}
/* ================= EMAIL ================= */
.email-box {
background:#1A1A1A;
padding:40px;
border-radius:16px;
text-align:center;
}
/* ================= LINK EFFECT ================= */
.link-transition {
position:relative;
}
.link-transition::after {
content:”;
position:absolute;
left:0;
bottom:-5px;
width:0%;
height:2px;
background:var(–gold);
transition:0.4s;
}
.link-transition:hover::after {
width:100%;
}
</style>
</head>
<body>
<!– HERO –>
<section class=”hero fade”>
<h1 class=”glow”>My Story</h1>
<p>This isn’t just where it began… it’s where I started to understand it.</p>
</section>
<!– PARALLAX –>
<div class=”parallax”></div>
<!– STORY –>
<section class=”section”>
<div class=”story-block fade”>
<h2 class=”glow”>The Beginning</h2>
<p>
There was a time when I didn’t have the words to explain what I felt.
Only silence… confusion… and moments that stayed longer than they should have.
</p>
</div>
<div class=”story-block fade”>
<h2 class=”glow”>The Breaking Point</h2>
<p>
Life has a way of forcing you to face what you’ve been avoiding.
And when it happened, it didn’t come gently.
</p>
<div class=”quote”>
“Sometimes the moment that breaks you… is the moment that reveals you.”
</div>
<p>
That moment changed everything.
</p>
</div>
<div class=”story-block fade”>
<h2 class=”glow”>The Shift</h2>
<p>
Slowly, things started to make sense.
Not all at once… but enough to keep going.
</p>
<p>
I began writing. Not for anyone else… but to understand myself.
</p>
</div>
<div class=”story-block fade”>
<h2 class=”glow”>Why I Share This</h2>
<p>
Because someone out there feels what I felt.
And maybe they don’t have the words yet either.
</p>
<p>
If this reaches you… just know:
you’re not alone in your process.
</p>
</div>
</section>
<!– EMAIL –>
<section class=”section fade”>
<div class=”email-box”>
<h2 class=”glow”>Walk This Journey With Me</h2>
<p>Get deeper stories and reflections sent to you.</p>
<form action=”https://YOUR-USERNAME.usX.list-manage.com/subscribe/post?u=XXXX&id=XXXX” method=”POST”>
<input type=”email” name=”EMAIL” placeholder=”Enter your email” required style=”padding:12px;width:60%;border-radius:20px;border:none;”>
<button type=”submit” style=”padding:12px 20px;border:none;border-radius:20px;background:var(–gold);”>Join</button>
</form>
</div>
</section>
<!– CTA –>
<section class=”section fade” style=”text-align:center;”>
<h2 class=”glow”>This is only part of the story</h2>
<p>There’s more to uncover, more to feel, more to become.</p>
<a href=”/” class=”btn link-transition”>Return Home</a>
</section>
<script>
/* FADE ANIMATION */
const faders = document.querySelectorAll(‘.fade’);
const observer = new IntersectionObserver(entries => {
entries.forEach(entry => {
if(entry.isIntersecting){
entry.target.classList.add(‘show’);
}
});
});
faders.forEach(el => observer.observe(el));
/* PAGE TRANSITION */
document.querySelectorAll(‘a[href]’).forEach(link => {
link.addEventListener(‘click’, function(e){
if(this.getAttribute(‘href’).startsWith(‘#’)) return;
e.preventDefault();
document.body.style.opacity = 0;
setTimeout(() => {
window.location = this.href;
}, 400);
});
});
document.body.style.opacity = 1;
</script>
</body>
</html>
