File: /home/wbwebdes/domains/keoschalkwijk.com/public_html/index.html
<!DOCTYPE html>
<html lang="nl">
<head>
<script src="https://tracking.wb-cloud.nl/api/script.js" data-site-id="ab8772a120e0" defer></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Keo Schalkwijk - Model</title>
<meta name="description"
content="Keo Schalkwijk - Starting model. take a look at my portofolio and contact me.">
<meta name="keywords" content="Keo Schalkwijk, model, content creator, Starting model, fashion model, fitness model">
<meta property="og:title" content="Keo Schalkwijk - Model">
<meta property="og:description" content="Starting model">
<meta property="og:type" content="website">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: #0a0a0a;
color: #fff;
line-height: 1.6;
overflow-x: hidden;
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><text y="32" font-size="32">📷</text></svg>') 20 20, auto;
}
* {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><text y="32" font-size="32">📷</text></svg>') 20 20, auto;
}
a,
button,
.btn,
.gallery-item,
.social-link,
.stat-card {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><text y="32" font-size="32">📸</text></svg>') 20 20, pointer !important;
}
@keyframes float {
0%,
100% {
transform: translateY(0px);
}
50% {
transform: translateY(-20px);
}
}
@keyframes gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes scaleIn {
from {
opacity: 0;
transform: scale(0.9);
}
to {
opacity: 1;
transform: scale(1);
}
}
@keyframes scan {
0% {
transform: translateY(-100%);
}
100% {
transform: translateY(100%);
}
}
.hero {
height: 100vh;
height: 100dvh;
position: relative;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
padding: 20px;
}
.hero-bg {
position: absolute;
inset: 0;
background:
radial-gradient(circle at 20% 30%, rgba(255, 8, 68, 0.3) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, rgba(255, 107, 107, 0.25) 0%, transparent 50%),
radial-gradient(circle at 50% 50%, rgba(255, 177, 153, 0.2) 0%, transparent 70%),
linear-gradient(135deg, #0a0a0a 0%, #1a0a0f 50%, #0a0a0a 100%);
background-size: 100% 100%, 100% 100%, 100% 100%, 200% 200%;
animation: gradient 15s ease infinite;
}
.hero-bg::before {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg,
transparent,
transparent 2px,
rgba(255, 8, 68, 0.03) 2px,
rgba(255, 8, 68, 0.03) 4px);
animation: scan 8s linear infinite;
}
.floating-shapes {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
}
.shape {
position: absolute;
font-size: 80px;
opacity: 0.15;
animation: float 6s ease-in-out infinite;
filter: drop-shadow(0 0 20px rgba(255, 8, 68, 0.3));
}
.shape:nth-child(1) {
top: 10%;
left: 5%;
animation-delay: 0s;
}
.shape:nth-child(2) {
bottom: 15%;
right: 5%;
animation-delay: 2s;
font-size: 100px;
}
.shape:nth-child(3) {
top: 50%;
right: 10%;
animation-delay: 4s;
font-size: 60px;
}
.shape:nth-child(4) {
top: 30%;
left: 15%;
animation-delay: 1s;
font-size: 70px;
}
.hero-content {
text-align: center;
z-index: 2;
padding: 20px;
max-width: 900px;
width: 100%;
animation: fadeInUp 1s ease-out;
}
h1 {
font-size: clamp(2.5rem, 10vw, 7rem);
font-weight: 900;
letter-spacing: -0.03em;
margin-bottom: 20px;
background: linear-gradient(135deg, #fff 0%, #ff0844 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
line-height: 1.1;
}
.subtitle {
font-size: clamp(1rem, 4vw, 1.8rem);
color: #aaa;
font-weight: 300;
margin-bottom: 40px;
}
.cta-buttons {
display: flex;
gap: 15px;
justify-content: center;
flex-wrap: wrap;
align-items: center;
}
.btn {
padding: 16px 35px;
font-size: 1rem;
font-weight: 600;
border: none;
border-radius: 50px;
text-decoration: none;
display: inline-flex;
align-items: center;
justify-content: center;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden;
}
.btn::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50%;
background: rgba(255, 255, 255, 0.3);
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}
.btn:active::before {
width: 300px;
height: 300px;
}
.btn-primary {
background: linear-gradient(135deg, #ff0844, #ff6b6b);
color: #fff;
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 20px 40px rgba(255, 8, 68, 0.4);
}
.btn-secondary {
background: transparent;
border: 2px solid #fff;
color: #fff;
}
.btn-secondary:hover {
background: #fff;
color: #0a0a0a;
}
.section {
padding: 80px 20px;
max-width: 1400px;
margin: 0 auto;
}
.section-title {
font-size: clamp(2rem, 6vw, 4rem);
font-weight: 800;
margin-bottom: 50px;
text-align: center;
animation: fadeInUp 0.8s ease-out;
}
.gallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
margin-bottom: 60px;
}
.gallery-item {
aspect-ratio: 9/16;
background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
border-radius: 15px;
overflow: hidden;
position: relative;
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
animation: scaleIn 0.6s ease-out backwards;
}
.gallery-item-inner {
position: relative;
width: 100%;
height: 100%;
display: flex;
align-items: flex-end;
padding: 25px;
}
.gallery-item img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 15px;
transition: transform 0.4s ease;
}
.gallery-item:hover img {
transform: scale(1.1);
}
.gallery-item:nth-child(1) {
animation-delay: 0.1s;
}
.gallery-item:nth-child(2) {
animation-delay: 0.2s;
}
.gallery-item:nth-child(3) {
animation-delay: 0.3s;
}
.gallery-item:nth-child(4) {
animation-delay: 0.4s;
}
.gallery-item:nth-child(5) {
animation-delay: 0.5s;
}
.gallery-item:nth-child(6) {
animation-delay: 0.6s;
}
.gallery-item:nth-child(7) {
animation-delay: 0.7s;
}
.gallery-item:nth-child(8) {
animation-delay: 0.8s;
}
.gallery-item:nth-child(9) {
animation-delay: 0.9s;
}
.gallery-item:nth-child(10) {
animation-delay: 1s;
}
.gallery-item:nth-child(11) {
animation-delay: 1.1s;
}
.gallery-item:nth-child(12) {
animation-delay: 1.2s;
}
.gallery-item:hover {
transform: scale(1.05) rotate(2deg);
box-shadow: 0 20px 40px rgba(255, 8, 68, 0.3);
z-index: 10;
}
.gallery-item::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.8) 100%);
transition: opacity 0.3s ease;
}
.gallery-item:hover::after {
opacity: 0.7;
}
.gallery-label {
position: relative;
z-index: 2;
font-size: 1.3rem;
font-weight: 700;
opacity: 1;
transition: all 0.3s ease;
}
.gallery-wide {
grid-column: span 1;
aspect-ratio: 9/16;
}
.about {
background: #111;
border-radius: 20px;
padding: 60px 40px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 50px;
align-items: center;
animation: fadeInUp 0.8s ease-out;
}
.about-text h2 {
font-size: clamp(1.8rem, 4vw, 2.5rem);
margin-bottom: 25px;
}
.about-text p {
font-size: clamp(1rem, 2vw, 1.15rem);
color: #bbb;
margin-bottom: 20px;
line-height: 1.8;
}
.stats-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.stat-card {
background: #1a1a1a;
padding: 25px;
border-radius: 15px;
text-align: center;
transition: all 0.3s ease;
}
.stat-card:hover {
background: #252525;
transform: translateY(-5px);
}
.stat-number {
font-size: clamp(2rem, 5vw, 3rem);
font-weight: 800;
background: linear-gradient(135deg, #ff0844, #ffb199);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 10px;
}
.stat-label {
color: #888;
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 2px;
}
.exclusive-section {
background: linear-gradient(135deg, #ff0844, #ff6b6b);
border-radius: 20px;
padding: 60px 40px;
text-align: center;
animation: fadeInUp 0.8s ease-out;
}
.exclusive-section h2 {
font-size: clamp(2rem, 5vw, 3rem);
margin-bottom: 20px;
}
.exclusive-section p {
font-size: clamp(1rem, 3vw, 1.3rem);
margin-bottom: 30px;
opacity: 0.9;
}
footer {
padding: 50px 20px 30px;
text-align: center;
border-top: 1px solid #222;
}
.social-links {
display: flex;
gap: 20px;
justify-content: center;
margin-bottom: 30px;
flex-wrap: wrap;
}
.social-link {
width: 55px;
height: 55px;
border-radius: 50%;
background: #1a1a1a;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
text-decoration: none;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
}
.social-link::after {
content: '';
position: absolute;
inset: -3px;
border-radius: 50%;
background: linear-gradient(135deg, #ff0844, #ff6b6b);
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}
.social-link:hover {
background: linear-gradient(135deg, #ff0844, #ff6b6b);
transform: translateY(-5px) scale(1.1);
}
.social-link:hover::after {
opacity: 0.3;
}
@media (max-width: 968px) {
body {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36"><text y="30" font-size="30">📷</text></svg>') 18 18, auto;
}
* {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36"><text y="30" font-size="30">📷</text></svg>') 18 18, auto;
}
a,
button,
.btn,
.gallery-item,
.social-link,
.stat-card {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 36 36"><text y="30" font-size="30">📸</text></svg>') 18 18, pointer !important;
}
.gallery {
grid-template-columns: repeat(2, 1fr);
gap: 15px;
}
.gallery-wide {
grid-column: span 1;
aspect-ratio: 9/16;
}
.gallery-item-inner {
padding: 20px;
}
.about {
grid-template-columns: 1fr;
padding: 40px 25px;
gap: 40px;
}
.stats-grid {
grid-template-columns: repeat(2, 1fr);
}
.exclusive-section {
padding: 40px 25px;
}
.section {
padding: 60px 15px;
}
.btn {
padding: 14px 30px;
font-size: 0.95rem;
}
}
@media (max-width: 600px) {
body {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="28" font-size="28">📷</text></svg>') 16 16, auto;
}
* {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="28" font-size="28">📷</text></svg>') 16 16, auto;
}
a,
button,
.btn,
.gallery-item,
.social-link,
.stat-card {
cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><text y="28" font-size="28">📸</text></svg>') 16 16, pointer !important;
}
.gallery {
grid-template-columns: 1fr;
gap: 15px;
}
.gallery-item-inner {
padding: 20px;
}
.gallery-label {
font-size: 1.1rem;
}
.hero {
height: 100vh;
height: 100dvh;
}
.cta-buttons {
flex-direction: column;
gap: 12px;
width: 100%;
align-items: stretch;
}
.btn {
width: 100%;
max-width: 100%;
padding: 16px 25px;
}
.stats-grid {
grid-template-columns: 1fr;
gap: 15px;
}
.social-link {
width: 50px;
height: 50px;
font-size: 1.2rem;
}
.shape:nth-child(1) {
font-size: 60px;
}
.shape:nth-child(2) {
font-size: 80px;
}
.shape:nth-child(3) {
font-size: 50px;
}
.shape:nth-child(4) {
font-size: 55px;
}
}
</style>
</head>
<body>
<section class="hero">
<div class="hero-bg"></div>
<div class="floating-shapes">
<div class="shape">📸</div>
<div class="shape">🔥</div>
<div class="shape">📸</div>
<div class="shape">🔥</div>
</div>
<div class="hero-content">
<h1>Keo Schalkwijk</h1>
<p class="subtitle">Model</p>
<div class="cta-buttons">
<a href="#portfolio" class="btn btn-primary">Portfolio</a>
<a href="#contact" class="btn btn-secondary">Contact</a>
</div>
</div>
</section>
<section class="section" id="portfolio">
<h2 class="section-title">Portfolio</h2>
<div class="gallery">
<div class="gallery-item gallery-wide">
<div class="gallery-item-inner">
<img src="/media/6.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/4.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/3.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/7.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/10.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/6.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/2.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item gallery-wide">
<div class="gallery-item-inner">
<img src="/media/3.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/9.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/5.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/6.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
<div class="gallery-item">
<div class="gallery-item-inner">
<img src="/media/4.jpg" alt="©Marssiek" loading="lazy">
<div class="gallery-label">©Marssiek</div>
</div>
</div>
</div>
<div class="about">
<div class="about-text">
<h2>About me</h2>
<p>I am a motivated and passionate beginner model with a strong interest in fitness and a healthy lifestyle. Training in
the gym is a big part of my daily routine and helps me stay disciplined, confident, and focused — qualities I also bring
into my modeling work.
As a starting model, I am eager to learn, grow, and gain experience in the industry. I enjoy challenging myself, working
with creative teams, and exploring different styles and concepts in front of the camera.</p>
<p>I am driven, reliable, and open to new opportunities that allow me to develop both personally and professionally. This
journey has just begun, and I am excited to see where it leads.</p>
</div>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-number">181cm</div>
<div class="stat-label">Length</div>
</div>
<div class="stat-card">
<div class="stat-number">NL</div>
<div class="stat-label">From</div>
</div>
<div class="stat-card">
<div class="stat-number">22</div>
<div class="stat-label">Years old</div>
</div>
<div class="stat-card">
<div class="stat-number">2K+</div>
<div class="stat-label">Photos taken</div>
</div>
</div>
</div>
</section>
<section class="section" id="contact">
<div class="exclusive-section">
<h2>Collaborate?</h2>
<p>Interested in a shoot or collaboration? Get in touch with me!</p>
<a href="#" id="emailLink" class="btn btn-secondary">Contact me</a>
<script>
(function() {
const user = ["c","o","n","t","a","c","t"];
const domain = ["k","e","o","s","c","h","a","l","k","w","i","j","k",".","c","o","m"];
const email = user.join('') + "@" + domain.join('');
const link = document.getElementById("emailLink");
link.href = "mailto:" + email;
})();
</script>
</div>
</section>
<footer>
<div class="social-links">
<a href="https://instagram.com/keoschalkwijk" class="social-link" aria-label="Instagram">📷</a>
<a href="https://instagram.com/keoschalkwijk" class="social-link" aria-label="TikTok">🎵</a>
<a href="https://instagram.com/keoschalkwijk" class="social-link" aria-label="Twitter">🐦</a>
</div>
<p style="color: #666; font-size: 0.9rem;">© 2026 Keo Schalkwijk. All rights reserved. It is strictly forbidden to use content from this website without written permission.</p>
</footer>
<script>
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
anchor.addEventListener('click', function (e) {
e.preventDefault();
const target = document.querySelector(this.getAttribute('href'));
if (target) {
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
});
});
const observerOptions = {
threshold: 0.1,
rootMargin: '0px 0px -100px 0px'
};
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.style.opacity = '1';
entry.target.style.transform = 'translateY(0)';
}
});
}, observerOptions);
document.querySelectorAll('.gallery-item').forEach(item => {
observer.observe(item);
});
</script>
</body>
</html>