<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Chrisleen Rose | Skincare, Travel & Motherhood</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Inter:wght@300;400;500&display=swap" rel="stylesheet">
<style>
:root {
--dusty-rose: #D4A3A3;
--deep-rose: #B57B7B;
--pale-rose: #F9EDED;
--cream: #FCF9F6;
--charcoal: #333333;
--soft-tan: #EAE3DD;
}
body {
background-color: var(--cream);
color: var(--charcoal);
font-family: 'Inter', sans-serif;
-webkit-font-smoothing: antialiased;
/* Subtle floral background pattern */
background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 10c5 0 5 10 10 10s5-10 10-10' stroke='%23D4A3A3' stroke-width='0.5' fill='none' opacity='0.05'/%3E%3C/svg%3E");
}
.serif {
font-family: 'Playfair Display', serif;
}
.glow-effect {
box-shadow: 0 0 60px rgba(212, 163, 163, 0.4);
}
.btn-pill {
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.btn-pill:hover {
transform: translateY(-2px);
background-color: var(--dusty-rose);
color: white;
box-shadow: 0 10px 20px rgba(212, 163, 163, 0.2);
border-color: var(--dusty-rose);
}
.masonry-item {
aspect-ratio: 1 / 1;
background-color: var(--soft-tan);
overflow: hidden;
position: relative;
border: 1px solid rgba(212, 163, 163, 0.1);
}
.masonry-item::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to bottom right, rgba(212, 163, 163, 0.2), transparent);
opacity: 0.5;
transition: opacity 0.3s ease;
}
.masonry-item:hover::after {
opacity: 0.8;
}
@keyframes float {
0%, 100% { transform: translateY(0) rotate(0deg); }
50% { transform: translateY(-8px) rotate(3deg); }
}
.animate-floral {
animation: float 8s ease-in-out infinite;
}
.text-gradient {
background: linear-gradient(45deg, var(--charcoal), var(--deep-rose));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Custom Scrollbar */
::-webkit-scrollbar {
width: 6px;
}
::-webkit-scrollbar-track {
background: var(--cream);
}
::-webkit-scrollbar-thumb {
background: var(--dusty-rose);
border-radius: 10px;
}
</style>
</head>
<body class="selection:bg-[#D4A3A3] selection:text-white">
<!-- Decorative Background Elements -->
<div class="fixed top-0 right-0 -z-10 opacity-20 transform translate-x-1/4 -translate-y-1/4">
<svg width="400" height="400" viewBox="0 0 100 100" fill="none">
<circle cx="50" cy="50" r="40" fill="url(#grad1)" />
<defs>
<radialGradient id="grad1" cx="50%" cy="50%" r="50%" fx="50%" fy="50%">
<stop offset="0%" style="stop-color:var(--dusty-rose);stop-opacity:1" />
<stop offset="100%" style="stop-color:var(--cream);stop-opacity:0" />
</radialGradient>
</defs>
</svg>
</div>
<!-- Main Container -->
<main class="max-w-2xl mx-auto px-6 py-16 md:py-24">
<!-- Hero Section -->
<section class="flex flex-col items-center text-center mb-16">
<div class="relative mb-12">
<!-- Profile Image / Aesthetic Placeholder -->
<div class="w-40 h-40 md:w-48 md:h-48 rounded-full bg-white border-2 border-white glow-effect flex items-center justify-center overflow-hidden relative group">
<!-- Dynamic Background Gradient -->
<div class="absolute inset-0 bg-gradient-to-tr from-[#F9EDED] via-white to-[#F3E7E7] opacity-100"></div>
<!-- Enhanced Floral SVG Illustration -->
<div class="relative z-10 w-28 h-28 md:w-32 md:h-32 animate-floral">
<svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- Main Flower Petals -->
<path d="M50 20C55 10 80 10 85 30C90 50 50 80 50 80C50 80 10 50 15 30C20 10 45 10 50 20Z" fill="url(#flowerGrad)" fill-opacity="0.9"/>
<path d="M50 30C58 20 75 25 78 38C81 51 50 70 50 70" stroke="white" stroke-width="0.8" opacity="0.5"/>
<!-- Internal Petal Details -->
<path d="M50 35C52 32 58 30 62 34C66 38 64 46 58 52C52 58 50 75 50 75" stroke="#B57B7B" stroke-width="1.5" stroke-linecap="round"/>
<path d="M50 45C48 42 42 40 38 44C34 48 36 56 42 62C48 68 50 75 50 75" stroke="#B57B7B" stroke-width="1.5" stroke-linecap="round"/>
<!-- Center Accent -->
<circle cx="50" cy="38" r="4" fill="#D4A3A3" opacity="0.8"/>
<circle cx="50" cy="38" r="2" fill="white" opacity="0.6"/>
<defs>
<linearGradient id="flowerGrad" x1="50" y1="20" x2="50" y2="80" gradientUnits="userSpaceOnUse">
<stop offset="0%" stop-color="#D4A3A3" />
<stop offset="100%" stop-color="#F9EDED" />
</linearGradient>
</defs>
</svg>
</div>
</div>
</div>
<span class="text-[11px] uppercase tracking-[0.5em] text-[#B57B7B] font-semibold mb-4">Chrisleen Rose</span>
<h1 class="serif text-3xl md:text-4xl font-medium mb-6 tracking-tight leading-snug text-gradient">
✨ Skincare | Travel | Motherhood ✨
</h1>
<p class="text-sm md:text-base text-gray-500 font-light max-w-sm mx-auto leading-relaxed italic">
💕 Curating a life of beautiful skin & beautiful adventures with beautiful little ones 👦👦💕
</p>
</section>
<!-- Link Stack -->
<section class="space-y-5 mb-20">
<a href="#" class="btn-pill block w-full py-5 px-8 bg-white border border-[#F0EBE6] rounded-full text-center text-sm tracking-widest uppercase font-medium shadow-sm">
Work With Me
</a>
<a href="https://instagram.com/chrisleen_rose" target="_blank" rel="noopener noreferrer" class="btn-pill block w-full py-5 px-8 bg-white border border-[#F0EBE6] rounded-full text-center text-sm tracking-widest uppercase font-medium shadow-sm">
Follow on Instagram
</a>
<a href="https://beacons.ai/chrisleen_rose" target="_blank" rel="noopener noreferrer" class="btn-pill block w-full py-5 px-8 bg-white border border-[#F0EBE6] rounded-full text-center text-sm tracking-widest uppercase font-medium shadow-sm">
Visit my Beacons
</a>
</section>
<!-- Gallery Grid -->
<section class="mb-20">
<div class="flex items-center justify-between mb-8">
<h2 class="serif text-2xl italic text-[#B57B7B]">The Visual Diary</h2>
<span class="text-[10px] uppercase tracking-widest text-gray-400">@chrisleenrose</span>
</div>
<div class="grid grid-cols-2 gap-5">
<div class="masonry-item rounded-3xl group cursor-pointer shadow-sm transition-all duration-500 hover:scale-[1.03]">
<div class="absolute inset-0 flex items-center justify-center text-[#D4A3A3] opacity-40 group-hover:opacity-70 transition-opacity">
<svg class="w-14 h-14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</div>
</div>
<div class="masonry-item rounded-3xl group cursor-pointer shadow-sm transition-all duration-500 hover:scale-[1.03] mt-6">
<div class="absolute inset-0 flex items-center justify-center text-[#D4A3A3] opacity-40 group-hover:opacity-70 transition-opacity">
<svg class="w-14 h-14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</div>
</div>
<div class="masonry-item rounded-3xl group cursor-pointer shadow-sm transition-all duration-500 hover:scale-[1.03] -mt-6">
<div class="absolute inset-0 flex items-center justify-center text-[#D4A3A3] opacity-40 group-hover:opacity-70 transition-opacity">
<svg class="w-14 h-14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</div>
</div>
<div class="masonry-item rounded-3xl group cursor-pointer shadow-sm transition-all duration-500 hover:scale-[1.03]">
<div class="absolute inset-0 flex items-center justify-center text-[#D4A3A3] opacity-40 group-hover:opacity-70 transition-opacity">
<svg class="w-14 h-14" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"></path></svg>
</div>
</div>
</div>
</section>
<!-- Newsletter Section -->
<section class="bg-[#F9EDED] rounded-[2.5rem] p-10 md:p-16 text-center border border-white shadow-xl relative overflow-hidden">
<!-- Decorative circle inside newsletter -->
<div class="absolute top-0 right-0 w-32 h-32 bg-white rounded-full -translate-y-1/2 translate-x-1/2 opacity-30"></div>
<h3 class="serif text-3xl md:text-4xl mb-4 text-[#B57B7B]">Join the Sunday Letter</h3>
<p class="text-gray-500 text-sm mb-10 font-light italic leading-relaxed">Reflections, recommendations, and gentle reminders <br class="hidden md:block"> delivered to your inbox.</p>
<form id="newsletterForm" class="flex flex-col space-y-4 max-w-sm mx-auto relative z-10">
<input
type="email"
placeholder="Email Address"
required
class="w-full bg-white border border-[#F0EBE6] rounded-full py-5 px-8 text-sm focus:outline-none focus:ring-2 focus:ring-[#D4A3A3] transition-all shadow-inner"
>
<button
type="submit"
class="w-full bg-[#333333] text-white rounded-full py-5 px-8 text-xs uppercase tracking-[0.2em] font-bold hover:bg-[#B57B7B] transition-colors duration-300 shadow-md"
>
Subscribe
</button>
</form>
<p id="successMessage" class="hidden mt-6 text-sm text-[#B57B7B] italic font-medium">Thank you for joining the inner circle.</p>
</section>
<!-- Footer -->
<footer class="mt-24 text-center text-[11px] uppercase tracking-[0.4em] text-[#B57B7B] opacity-60">
© 2024 Chrisleen Rose. All rights reserved.
</footer>
</main>
<script>
// Simple Form Interactivity
document.getElementById('newsletterForm').addEventListener('submit', function(e) {
e.preventDefault();
const email = this.querySelector('input').value;
if (email) {
this.classList.add('opacity-0', 'pointer-events-none');
setTimeout(() => {
this.classList.add('hidden');
document.getElementById('successMessage').classList.remove('hidden');
}, 300);
}
});
// Entrance Animation Logic
window.addEventListener('DOMContentLoaded', () => {
const elements = document.querySelectorAll('section, footer');
elements.forEach((el, index) => {
el.style.opacity = '0';
el.style.transform = 'translateY(30px)';
el.style.transition = `all 1s cubic-bezier(0.16, 1, 0.3, 1) ${index * 0.15}s`;
setTimeout(() => {
el.style.opacity = '1';
el.style.transform = 'translateY(0)';
}, 100);
});
});
</script>
</body>
</html>