/* =========================================================
VITALI ZEIKO — ONLINE CV
========================================================= */
.vz-cv,
.vz-cv * {
box-sizing: border-box;
}
.vz-cv {
–vz-dark: #101820;
–vz-dark-2: #17232f;
–vz-text: #17202a;
–vz-muted: #687381;
–vz-light: #f5f6f8;
–vz-white: #ffffff;
–vz-accent: #f4b942;
–vz-border: #e5e8ec;
–vz-green: #2dcc8b;
–vz-shadow: 0 24px 70px rgba(15, 25, 35, .12);
width: 100%;
background:
radial-gradient(circle at 85% 4%, rgba(244,185,66,.14), transparent 24%),
#eef1f4;
color: var(–vz-text);
font-family:
Inter,
-apple-system,
BlinkMacSystemFont,
“Segoe UI”,
Roboto,
Helvetica,
Arial,
sans-serif;
font-size: 16px;
line-height: 1.65;
padding: 40px 18px 70px;
}
.vz-cv a {
color: inherit;
text-decoration: none;
}
.vz-cv img {
max-width: 100%;
}
.vz-wrap {
width: 100%;
max-width: 1220px;
margin: 0 auto;
display: grid;
grid-template-columns: 330px minmax(0, 1fr);
background: var(–vz-white);
border-radius: 26px;
overflow: hidden;
box-shadow: var(–vz-shadow);
}
/* =========================================================
SIDEBAR
========================================================= */
.vz-sidebar {
position: relative;
background:
radial-gradient(circle at 30% 5%, rgba(244,185,66,.18), transparent 23%),
linear-gradient(160deg, #111b25 0%, #172735 100%);
color: white;
padding: 42px 31px;
}
.vz-sidebar-inner {
position: sticky;
top: 25px;
}
/* PHOTO */
.vz-photo-wrap {
position: relative;
width: 220px;
height: 270px;
margin: 0 auto 0;
}
.vz-photo-wrap:before {
content: “”;
position: absolute;
width: 100%;
height: 100%;
left: 12px;
top: 12px;
border: 3px solid var(–vz-accent);
border-radius: 28px;
}
.vz-photo {
position: relative;
z-index: 2;
display: block;
width: 100% !important;
height: 100% !important;
border-radius: 28px;
object-fit: cover !important;
object-position: center center;
background: #e8e8e8;
}
/* WORK STATUS */
.vz-available {
display: flex;
align-items: flex-start;
gap: 11px;
margin: 38px 0 30px;
padding: 14px 15px;
border: 1px solid rgba(255,255,255,.13);
background: rgba(255,255,255,.06);
border-radius: 14px;
font-size: 13px;
line-height: 1.45;
}
.vz-status-dot {
width: 9px;
height: 9px;
min-width: 9px;
background: var(–vz-green);
border-radius: 50%;
margin-top: 5px;
box-shadow:
0 0 0 4px rgba(45,204,139,.13);
}
.vz-available strong {
display: block;
color: #fff;
font-weight: 750;
}
/* SIDEBAR TITLES */
.vz-sidebar-title {
font-size: 12px;
font-weight: 800;
letter-spacing: .12em;
text-transform: uppercase;
color: var(–vz-accent);
margin: 30px 0 15px;
}
/* CONTACT */
.vz-contact {
display: grid;
gap: 17px;
}
.vz-contact-item {
padding-bottom: 15px;
border-bottom:
1px solid rgba(255,255,255,.09);
}
.vz-contact-label {
display: block;
color: rgba(255,255,255,.52);
font-size: 11px;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
margin-bottom: 2px;
}
.vz-contact-value {
display: block;
color: #fff;
font-size: 14px;
line-height: 1.45;
word-break: break-word;
}
.vz-contact a {
transition: color .2s ease;
}
.vz-contact a:hover {
color: var(–vz-accent);
}
/* LANGUAGES */
.vz-language {
display: grid;
gap: 10px;
}
.vz-language-row {
display: grid;
grid-template-columns: 1fr auto;
gap: 10px;
align-items: center;
font-size: 14px;
}
.vz-language-level {
padding: 3px 9px;
border-radius: 20px;
background: rgba(255,255,255,.09);
color: var(–vz-accent);
font-size: 12px;
font-weight: 700;
}
/* INTERESTS */
.vz-interests {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.vz-interest {
padding: 7px 10px;
border:
1px solid rgba(255,255,255,.1);
background:
rgba(255,255,255,.05);
border-radius: 8px;
font-size: 12px;
color:
rgba(255,255,255,.82);
}
/* =========================================================
MAIN CONTENT
========================================================= */
.vz-main {
min-width: 0;
padding: 58px 62px 65px;
}
/* =========================================================
HERO
========================================================= */
.vz-hero {
padding-bottom: 50px;
border-bottom:
1px solid var(–vz-border);
}
.vz-eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
color: #9b7119;
background: #fff7e7;
border:
1px solid #f3dfb4;
padding: 7px 12px;
border-radius: 30px;
font-size: 12px;
font-weight: 800;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 17px;
}
.vz-hero h1 {
margin: 0;
color: var(–vz-dark);
font-size:
clamp(43px, 6vw, 72px);
line-height: .98;
letter-spacing: -.055em;
font-weight: 800;
}
.vz-jobtitle {
margin: 15px 0 25px;
font-size:
clamp(20px, 2.5vw, 27px);
font-weight: 650;
color: #44505c;
}
.vz-intro {
max-width: 800px;
font-size: 17px;
color: #4a5561;
}
.vz-intro p {
margin: 0 0 14px;
}
.vz-intro strong {
color: var(–vz-dark);
}
/* BUTTONS */
.vz-actions {
display: flex;
flex-wrap: wrap;
gap: 11px;
margin-top: 29px;
}
.vz-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 9px;
min-height: 46px;
padding: 0 20px;
border-radius: 11px;
font-size: 14px;
font-weight: 750;
transition:
transform .2s ease,
box-shadow .2s ease,
background .2s ease;
}
.vz-btn:hover {
transform: translateY(-2px);
}
.vz-btn-primary {
background: var(–vz-dark);
color: #fff !important;
box-shadow:
0 10px 25px rgba(16,24,32,.16);
}
.vz-btn-primary:hover {
background: #243544;
}
.vz-btn-secondary {
border:
1px solid #d9dee4;
color: var(–vz-dark) !important;
background: #fff;
}
.vz-btn-secondary:hover {
background: #f7f8fa;
}
.vz-whatsapp-icon {
width: 17px;
height: 17px;
fill: currentColor;
}
/* =========================================================
NUMBERS / ACHIEVEMENTS
========================================================= */
.vz-numbers {
display: grid;
grid-template-columns:
repeat(3, minmax(0, 1fr));
gap: 14px;
/*
Блок спеціально трохи нижче,
щоб hero не був переповнений.
*/
margin: 70px 0 0;
}
.vz-number {
position: relative;
padding: 21px 18px;
background: var(–vz-light);
border:
1px solid #eaedf0;
border-radius: 15px;
overflow: hidden;
opacity: 0;
transform:
translateY(25px);
transition:
transform .25s ease,
box-shadow .25s ease,
border-color .25s ease;
}
.vz-number:after {
content: “”;
position: absolute;
top: 0;
right: 0;
width: 45px;
height: 4px;
background: var(–vz-accent);
border-radius:
0 15px 0 15px;
}
.vz-number.vz-visible {
animation:
vzNumberAppear
.65s
cubic-bezier(.2,.8,.2,1)
forwards;
}
.vz-number:nth-child(2).vz-visible {
animation-delay: .08s;
}
.vz-number:nth-child(3).vz-visible {
animation-delay: .16s;
}
.vz-number:nth-child(4).vz-visible {
animation-delay: .24s;
}
.vz-number:nth-child(5).vz-visible {
animation-delay: .32s;
}
.vz-number:nth-child(6).vz-visible {
animation-delay: .40s;
}
.vz-number:hover {
transform:
translateY(-5px);
box-shadow:
0 14px 32px rgba(20,35,50,.09);
border-color: #ddd3ba;
}
.vz-number strong {
display: block;
color: var(–vz-dark);
font-size: 27px;
line-height: 1.1;
letter-spacing: -.025em;
margin-bottom: 7px;
}
.vz-number span {
color: var(–vz-muted);
font-size: 12px;
line-height: 1.45;
}
@keyframes vzNumberAppear {
from {
opacity: 0;
transform:
translateY(25px);
}
to {
opacity: 1;
transform:
translateY(0);
}
}
/* =========================================================
GENERAL SECTIONS
========================================================= */
.vz-section {
padding-top: 52px;
scroll-margin-top: 25px;
}
.vz-section-head {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: 27px;
}
.vz-section-head:before {
content: “”;
width: 30px;
height: 5px;
border-radius: 20px;
background: var(–vz-accent);
}
.vz-section-head h2 {
font-size: 25px;
line-height: 1.15;
letter-spacing: -.025em;
margin: 0;
color: var(–vz-dark);
}
/* =========================================================
SKILLS
========================================================= */
.vz-skills-grid {
display: grid;
grid-template-columns:
repeat(2, minmax(0, 1fr));
gap: 15px;
}
.vz-skill {
position: relative;
min-height: 145px;
padding:
22px 21px 21px 24px;
border:
1px solid var(–vz-border);
border-radius: 15px;
background: #fff;
overflow: hidden;
transition:
transform .22s ease,
box-shadow .22s ease,
border-color .22s ease;
}
.vz-skill:before {
content: “”;
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background:
var(–vz-accent);
}
.vz-skill:hover {
transform:
translateY(-4px);
box-shadow:
0 14px 35px rgba(20,35,50,.08);
border-color:
#ddd5c4;
}
.vz-skill strong {
display: block;
color: var(–vz-dark);
font-size: 15px;
line-height: 1.35;
margin-bottom: 8px;
}
.vz-skill span {
display: block;
color: var(–vz-muted);
font-size: 13px;
line-height: 1.6;
}
/* =========================================================
EXPERIENCE TIMELINE
========================================================= */
.vz-timeline {
position: relative;
}
.vz-timeline:before {
content: “”;
position: absolute;
left: 10px;
top: 8px;
bottom: 15px;
width: 1px;
background: #dce1e6;
}
.vz-role {
position: relative;
padding-left: 43px;
padding-bottom: 37px;
}
.vz-role:last-child {
padding-bottom: 0;
}
.vz-role:before {
content: “”;
position: absolute;
left: 4px;
top: 7px;
width: 13px;
height: 13px;
border-radius: 50%;
background: var(–vz-accent);
box-shadow:
0 0 0 5px #fff,
0 0 0 6px #e3e6ea;
}
.vz-role-top {
display: flex;
align-items: flex-start;
justify-content:
space-between;
gap: 20px;
margin-bottom: 3px;
}
.vz-role h3 {
margin: 0;
color: var(–vz-dark);
font-size: 19px;
line-height: 1.3;
}
.vz-date {
flex-shrink: 0;
padding: 5px 9px;
background:
var(–vz-light);
border-radius: 7px;
font-size: 12px;
font-weight: 750;
color: #55616e;
white-space: nowrap;
}
.vz-company {
color: #596572;
font-size: 14px;
margin-bottom: 11px;
}
.vz-role ul {
margin: 0;
padding-left: 19px;
color: #47525e;
}
.vz-role li {
margin: 6px 0;
}
/* =========================================================
EDUCATION
========================================================= */
.vz-education-grid {
display: grid;
grid-template-columns:
repeat(3, 1fr);
gap: 13px;
}
.vz-education-card {
padding: 21px 18px;
background:
var(–vz-light);
border-radius: 15px;
}
.vz-degree {
color: #a37418;
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .07em;
}
.vz-education-card h3 {
margin: 7px 0 7px;
font-size: 16px;
color: var(–vz-dark);
line-height: 1.35;
}
.vz-education-card p {
margin: 0;
color: var(–vz-muted);
font-size: 13px;
}
.vz-education-card .vz-edu-date {
margin-top: 12px;
color: #3e4955;
font-weight: 700;
}
/* =========================================================
COURSES
========================================================= */
.vz-course-list {
border-top:
1px solid var(–vz-border);
}
.vz-course {
display: grid;
grid-template-columns:
minmax(0, 1fr) 150px;
gap: 25px;
padding: 19px 0;
border-bottom:
1px solid var(–vz-border);
}
.vz-course strong {
display: block;
color: var(–vz-dark);
margin-bottom: 3px;
}
.vz-course span {
display: block;
color: var(–vz-muted);
font-size: 13px;
}
.vz-course-date {
text-align: right;
color: #47525e !important;
font-weight: 700;
}
/* =========================================================
FINAL CTA
========================================================= */
.vz-footer-cta {
position: relative;
overflow: hidden;
margin-top: 55px;
padding: 32px;
border-radius: 20px;
background:
radial-gradient(
circle at 90% 10%,
rgba(244,185,66,.24),
transparent 32%
),
var(–vz-dark);
color: white;
}
.vz-footer-cta:after {
content: “”;
position: absolute;
right: -50px;
bottom: -80px;
width: 200px;
height: 200px;
border:
1px solid rgba(255,255,255,.08);
border-radius: 50%;
}
.vz-footer-cta h2 {
position: relative;
z-index: 1;
margin: 0 0 8px;
color: #fff;
font-size: 27px;
}
.vz-footer-cta p {
position: relative;
z-index: 1;
max-width: 630px;
color:
rgba(255,255,255,.69);
margin: 0 0 21px;
}
.vz-footer-cta .vz-btn {
position: relative;
z-index: 1;
}
.vz-footer-cta .vz-btn-primary {
background:
var(–vz-accent);
color: #171717 !important;
}
/* =========================================================
TABLET
========================================================= */
@media (max-width: 980px) {
.vz-cv {
padding:
20px 12px 45px;
}
.vz-wrap {
grid-template-columns:
270px minmax(0, 1fr);
}
.vz-sidebar {
padding:
35px 24px;
}
.vz-main {
padding:
45px 35px 50px;
}
.vz-photo-wrap {
width: 180px;
height: 225px;
}
.vz-numbers {
grid-template-columns:
repeat(2, 1fr);
}
.vz-education-grid {
grid-template-columns: 1fr;
}
}
/* =========================================================
MOBILE
========================================================= */
@media (max-width: 720px) {
.vz-cv {
padding: 0;
background: #fff;
}
.vz-wrap {
display: flex;
flex-direction: column;
border-radius: 0;
box-shadow: none;
}
.vz-sidebar {
padding:
38px 23px;
}
.vz-sidebar-inner {
position: static;
}
.vz-photo-wrap {
width: 180px;
height: 220px;
}
.vz-main {
padding:
40px 21px 50px;
}
.vz-hero h1 {
font-size: 45px;
}
.vz-jobtitle {
font-size: 20px;
}
.vz-intro {
font-size: 16px;
}
.vz-numbers {
grid-template-columns:
repeat(2, 1fr);
margin-top: 50px;
}
.vz-skills-grid {
grid-template-columns: 1fr;
}
.vz-skill {
min-height: auto;
}
.vz-role-top {
display: block;
}
.vz-date {
display: inline-block;
margin-top: 7px;
}
.vz-course {
grid-template-columns: 1fr;
gap: 5px;
}
.vz-course-date {
text-align: left;
}
}
/* =========================================================
SMALL MOBILE
========================================================= */
@media (max-width: 430px) {
.vz-hero h1 {
font-size: 39px;
}
.vz-numbers {
grid-template-columns: 1fr;
}
.vz-actions {
display: grid;
}
.vz-btn {
width: 100%;
}
}
/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
.vz-number {
opacity: 1;
transform: none;
}
.vz-number.vz-visible {
animation: none;
}
.vz-btn,
.vz-skill {
transition: none;
}
}
/* =========================================================
PRINT
========================================================= */
@media print {
.vz-cv {
background: white;
padding: 0;
}
.vz-wrap {
max-width: none;
box-shadow: none;
border-radius: 0;
}
.vz-sidebar-inner {
position: static;
}
.vz-btn {
display: none;
}
.vz-number {
opacity: 1 !important;
transform: none !important;
}
}
Digital Marketing · SEO · GEO
Vitali Zeiko
Digital Marketer & SEO Specialist
Digital marketer and SEO specialist
with experience in technical optimisation,
website structure, content implementation,
analytics, reporting and lead generation
for online businesses.
My background combines
over 10 years of entrepreneurship in Ukraine
with three years in digital marketing
in the Netherlands, along with a
PhD and strong analytical skills.
10+
years of entrepreneurship
100+
websites and digital projects managed
1 → 10
team growth within one year
at Sharks Agency
1,500
clients annually at MixTour
20+
scientific publications on tourism
PhD
Doctor of Philosophy awarded in 2020
Skills & expertise
Technical SEO
Technical website optimisation,
site structure, crawling, indexing,
internal linking and identifying
technical issues that influence
organic search performance.
Content SEO
Keyword research, content planning,
optimisation of existing pages and
implementation of new SEO content
directly on websites.
Local SEO
Local search optimisation,
Google Business Profile management
and improving visibility for companies
targeting specific cities and regions.
AI Search Optimisation & GEO
Optimising online visibility for
AI-driven search, monitoring
generative search developments and
adapting content strategies to
changing search behaviour.
SEO Research & Monitoring
Professional use of SE Ranking,
Ahrefs, Google Search Console
and Screaming Frog for audits,
research, monitoring and analysis.
Analytics & Tracking
Google Analytics 4 and
Google Tag Manager, including
conversion tracking, measurement
setup, analytics and reporting.
WordPress & Website Optimisation
Hands-on website implementation
in WordPress, including Rank Math,
page builders, content implementation,
technical configuration and optimisation.
Online Advertising
Experience with Google Ads,
Meta Ads and social media marketing
as part of broader online marketing
and lead generation strategies.
Reporting & Growth Strategy
Translating SEO and marketing data
into clear recommendations, reports,
priorities and practical opportunities
for online business growth.
Research & Analytical Thinking
Academic research background combined
with entrepreneurship, practical
business experience, data analysis
and a strong focus on understanding
why results change.
Work & research experience
SEO Specialist
2024 — 2026
Sightkick · Creative Marketing Agency
-
Technical SEO, content creation,
analytics, link building,
reporting, AI search optimisation
(GEO), and growth strategies
for WordPress websites and webshops.
-
Worked successfully with additional
tools and channels including
Google Tag Manager,
Google Ads and Meta Ads.
Co-owner & Marketing Lead
2023 — 2024
Sharks Agency ·
Webdesign & Webdevelopment ·
Dronten, Netherlands
-
Led the development of a new brand
and online advertising and expanded
the team from 1 to 10 employees
within one year.
-
Managed the development of
100+ websites and multiple
digital projects.
Online Marketing Specialist
2023
Uitvaartatelier ·
Online store of funeral products ·
Dronten, Netherlands
-
After three months of employment,
co-founded a company in partnership
with the director.
CEO
2010 — 2022
MixTour ·
Travel Agency ·
Lutsk, Ukraine
-
Founding manager of MixTour
travel agency with 5 staff members
and approximately 1,500 clients
annually.
-
Strategic planning,
personnel recruitment,
business development
and company management.
-
Designed, implemented
and optimised advertising,
websites and other sales channels.
PhD Student
2014 — 2020
Lesya Ukrainka Volyn National University ·
Lutsk, Ukraine
-
Postgraduate research
in Constructive Geography.
-
Author of more than
20 scientific publications
on tourism.
-
Awarded Doctor of Philosophy
in 2020.
Qualifications
Bachelor
Tourism & Hospitality Industry
Volyn National University
Ukraine
2006 — 2010
Master
Economics
Eastern European
National University
Ukraine
2012 — 2014
Bachelor
Physical Geography
Volyn National University
Ukraine
2013 — 2016
Professional courses
Online Marketing for Managers
Artefact Marketing Agency
Sep 2019 — Dec 2019
Organization of Business,
Sales & SMM
Business Club “ConsNaBis”
Dec 2020 — 2021
The Magic of Google 2.7
Google Advertising School ·
Igor Ivitskiy
Oct 2021 — Dec 2021
Management of Business Processes
Big Money University
Sep 2023 — Nov 2023
document.addEventListener(“DOMContentLoaded”, function () {
const numbers =
document.querySelectorAll(“.vz-number”);
if (!(“IntersectionObserver” in window)) {
numbers.forEach(function(item) {
item.classList.add(“vz-visible”);
});
return;
}
const observer =
new IntersectionObserver(
function(entries) {
entries.forEach(function(entry) {
if (entry.isIntersecting) {
entry.target
.classList
.add(“vz-visible”);
observer
.unobserve(entry.target);
}
});
},
{
threshold: 0.18
}
);
numbers.forEach(function(item) {
observer.observe(item);
});
});
{
“@context”: “https://schema.org”,
“@type”: “Person”,
“name”: “Vitali Zeiko”,
“jobTitle”: “Digital Marketer and SEO Specialist”,
“image”: “https://vitaly-zeiko.nl/wp-content/uploads/2026/08/WhatsApp-Image-2026-06-10-at-06.37.41.jpeg”,
“url”: “https://vitaly-zeiko.nl/”,
“email”: “mailto:ppzeiko@gmail.com”,
“telephone”: “+31687364285”,
“nationality”: {
“@type”: “Country”,
“name”: “Ukraine”
},
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “53 Boslaan”,
“postalCode”: “8253 AH”,
“addressLocality”: “Dronten”,
“addressCountry”: “NL”
},
“sameAs”: [
“https://linkedin.com/in/vitalii-zeiko/”,
“https://only-sharks.com”
],
“knowsAbout”: [
“SEO”,
“Technical SEO”,
“Content SEO”,
“Local SEO”,
“AI Search Optimisation”,
“Generative Engine Optimisation”,
“Online Marketing”,
“Google Analytics 4”,
“Google Tag Manager”,
“Google Ads”,
“Meta Ads”,
“WordPress”,
“SE Ranking”,
“Ahrefs”,
“Google Search Console”,
“Screaming Frog”
]
}