| Server IP : 216.92.14.13 / Your IP : 216.73.217.126 Web Server : Apache System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 User : rmlac2fmr ( 1040637) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/home/rmlac2fmr/public_html/jn.com/ |
Upload File : |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Jennifer Naranjo</title>
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png">
<link rel="apple-touch-icon" sizes="180x180" href="apple-touch-icon.png">
<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=Instrument+Serif:ital@0;1&family=Manrope:wght@300;400;500;600;700&family=Caveat:wght@400;600&display=swap" rel="stylesheet">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--cream: #F4ECE0;
--cream-deep: #EDE2D2;
--ink: #1F1A1A;
--ink-soft: #4A3F3D;
--plum: #4A2347;
--plum-bright: #6E3268;
--gold: #B8895E;
--rose: #C97064;
}
html {
scroll-behavior: smooth;
}
body {
font-family: 'Manrope', sans-serif;
background: var(--cream);
color: var(--ink);
line-height: 1.6;
min-height: 100vh;
overflow-x: hidden;
position: relative;
}
/* Subtle paper grain texture */
body::before {
content: '';
position: fixed;
inset: 0;
background-image:
radial-gradient(circle at 20% 30%, rgba(74, 35, 71, 0.04) 0%, transparent 50%),
radial-gradient(circle at 80% 70%, rgba(184, 137, 94, 0.05) 0%, transparent 50%),
url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.12 0 0 0 0 0.10 0 0 0 0 0.10 0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
background-size: cover, cover, 200px 200px;
pointer-events: none;
z-index: 0;
}
.page {
position: relative;
z-index: 1;
max-width: 1280px;
margin: 0 auto;
padding: 36px 48px 60px;
}
/* Top bar: wordmark + tiny meta */
.topbar {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding-bottom: 28px;
border-bottom: 1px solid rgba(31, 26, 26, 0.15);
margin-bottom: 60px;
}
.wordmark {
font-family: 'Instrument Serif', serif;
font-size: 24px;
letter-spacing: 0.02em;
color: var(--ink);
}
.wordmark .dot {
color: var(--rose);
}
.meta {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--ink-soft);
text-align: right;
line-height: 1.7;
font-weight: 500;
}
.meta .est {
display: block;
font-family: 'Instrument Serif', serif;
font-style: italic;
font-size: 17px;
text-transform: none;
letter-spacing: 0.01em;
color: var(--ink);
margin-top: 0;
}
.footer-contact {
display: flex;
align-items: baseline;
gap: 14px;
}
.footer-contact-label {
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--ink-soft);
font-weight: 500;
}
.footer-contact-link {
font-family: 'Instrument Serif', serif;
font-size: 15px;
color: var(--ink);
text-decoration: none;
position: relative;
transition: color 0.3s ease;
text-transform: none;
letter-spacing: 0.01em;
}
.footer-contact-link::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: -2px;
height: 1px;
background: var(--plum);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
.footer-contact-link:hover {
color: var(--plum);
}
.footer-contact-link:hover::after {
transform: scaleX(1);
}
/* Main editorial grid */
.spread {
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: 80px;
align-items: center;
padding: 20px 0 0;
}
/* ===== Avatar frame (left) ===== */
.portrait {
position: relative;
justify-self: center;
width: 100%;
max-width: 420px;
}
.portrait-frame {
position: relative;
aspect-ratio: 3 / 4;
border-radius: 220px 220px 18px 18px;
overflow: hidden;
background: #000;
box-shadow:
0 30px 60px -20px rgba(74, 35, 71, 0.45),
0 10px 25px -10px rgba(31, 26, 26, 0.3),
inset 0 0 0 1px rgba(184, 137, 94, 0.4);
}
.portrait-frame img {
width: 100%;
height: 100%;
object-fit: cover;
/* Crop to focus on upper body / face. Push image down to hide some suitcase */
object-position: center 22%;
transform: scale(1.18);
transform-origin: center 30%;
}
/* Decorative gold band at the base of the frame */
.portrait-frame::after {
content: '';
position: absolute;
left: 14px;
right: 14px;
bottom: 14px;
height: 1px;
background: linear-gradient(90deg, transparent, var(--gold), transparent);
opacity: 0.7;
}
/* Tag below portrait */
.portrait-tag {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 18px;
padding: 0 6px;
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.22em;
color: var(--ink-soft);
font-weight: 600;
}
.portrait-tag .num {
font-family: 'Instrument Serif', serif;
font-style: italic;
text-transform: none;
letter-spacing: 0;
font-size: 14px;
color: var(--plum);
}
/* Floating decorative elements around portrait */
.deco {
position: absolute;
font-family: 'Caveat', cursive;
color: var(--plum);
opacity: 0.55;
pointer-events: none;
user-select: none;
}
/* ===== Sparkles ===== */
.sparkle {
position: absolute;
pointer-events: none;
user-select: none;
color: var(--gold);
filter: drop-shadow(0 0 4px rgba(184, 137, 94, 0.5));
}
.sparkle svg {
display: block;
width: 100%;
height: 100%;
}
@keyframes twinkle {
0%, 100% { opacity: 0.25; transform: scale(0.7) rotate(0deg); }
50% { opacity: 1; transform: scale(1.05) rotate(45deg); }
}
.sparkle { animation: twinkle 3.4s ease-in-out infinite; }
.sparkle.s1 { top: -38px; left: -18px; width: 22px; height: 22px; color: var(--rose); animation-delay: 0s; animation-duration: 3.2s; }
.sparkle.s2 { top: 8px; right: -28px; width: 14px; height: 14px; color: var(--gold); animation-delay: 1.1s; animation-duration: 4s; }
.sparkle.s4 { top: -10px; left: -22px; width: 14px; height: 14px; color: var(--rose); animation-delay: 1.8s; animation-duration: 3.8s; }
.sparkle.s5 { top: -22px; right: 12%; width: 13px; height: 13px; color: var(--gold); animation-delay: 0.3s; animation-duration: 3s; }
/* Sparkles around the portrait */
.portrait .sparkle.p1 { top: -14px; right: -22px; width: 24px; height: 24px; color: var(--rose); animation-delay: 0.4s; }
.portrait .sparkle.p2 { bottom: 30%; right: -36px; width: 18px; height: 18px; color: var(--gold); animation-delay: 1.5s; }
.portrait .sparkle.p3 { top: 40%; left: -32px; width: 14px; height: 14px; color: var(--plum); animation-delay: 2.2s; opacity: 0.7; }
.name .accent {
font-style: italic;
color: var(--plum);
}
.deco-1 {
top: -10px;
right: -42px;
font-size: 22px;
transform: rotate(8deg);
}
.deco-2 {
bottom: 60px;
left: -54px;
font-size: 20px;
transform: rotate(-6deg);
color: var(--rose);
}
/* Tiny plane mark */
.plane-mark {
position: absolute;
top: -28px;
left: -20px;
width: 60px;
height: 60px;
opacity: 0.5;
}
/* ===== Text column (right) ===== */
.copy {
position: relative;
}
.greeting {
font-family: 'Caveat', cursive;
font-size: 28px;
color: var(--rose);
margin-bottom: 8px;
display: inline-block;
transform: rotate(-2deg);
}
.name {
font-family: 'Instrument Serif', serif;
font-size: clamp(56px, 8vw, 104px);
line-height: 1.1;
letter-spacing: -0.02em;
margin-bottom: 18px;
color: var(--ink);
display: block;
padding-bottom: 0.05em;
}
.name-text {
display: inline-block;
position: relative;
}
.name-text .sparkle.s2 {
top: 0.05em;
right: -0.6em;
width: 0.32em;
height: 0.32em;
}
.bio {
max-width: 540px;
}
.bio p {
font-size: 16px;
line-height: 1.7;
color: var(--ink-soft);
margin-bottom: 14px;
font-weight: 400;
}
.bio p:last-child {
margin-bottom: 0;
}
.bio p strong {
font-weight: 600;
color: var(--ink);
}
/* Contact block */
.contact {
display: flex;
align-items: baseline;
gap: 16px;
padding-top: 24px;
border-top: 1px solid rgba(31, 26, 26, 0.15);
max-width: 520px;
flex-wrap: wrap;
position: relative;
}
.contact-label {
font-size: 10px;
text-transform: uppercase;
letter-spacing: 0.22em;
color: var(--ink-soft);
font-weight: 600;
}
.contact-link {
font-family: 'Instrument Serif', serif;
font-size: 22px;
color: var(--ink);
text-decoration: none;
position: relative;
transition: color 0.3s ease;
}
.contact-divider {
font-family: 'Instrument Serif', serif;
font-size: 22px;
color: var(--gold);
opacity: 0.7;
line-height: 1;
}
.contact-link::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: -2px;
height: 1px;
background: var(--plum);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
.contact-link:hover {
color: var(--plum);
}
.contact-link:hover::after {
transform: scaleX(1);
}
/* Footer */
.footer {
margin-top: 60px;
padding-top: 28px;
border-top: 1px solid rgba(31, 26, 26, 0.15);
display: flex;
justify-content: space-between;
align-items: center;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.18em;
color: var(--ink-soft);
font-weight: 500;
}
/* ===== Closing kicker ===== */
.kicker {
position: relative;
margin-top: 28px;
padding: 36px 24px 52px;
text-align: center;
}
.kicker-leadin {
font-family: 'Manrope', sans-serif;
font-size: 14px;
font-weight: 500;
color: var(--plum);
letter-spacing: 0.03em;
opacity: 0.9;
margin-bottom: 26px;
}
.kicker-line {
font-family: 'Instrument Serif', serif;
font-style: italic;
font-size: clamp(22px, 3vw, 34px);
line-height: 1.25;
color: var(--ink);
letter-spacing: 0.005em;
margin-bottom: 6px;
}
.kicker-tail {
font-family: 'Instrument Serif', serif;
font-style: italic;
font-size: clamp(22px, 3vw, 34px);
line-height: 1.25;
color: var(--plum);
letter-spacing: 0.005em;
}
.kicker-dots {
color: var(--gold);
letter-spacing: 0.05em;
margin-left: 2px;
}
.kicker .sparkle.k1 {
top: 22px;
left: calc(50% - 180px);
width: 16px;
height: 16px;
color: var(--rose);
animation-delay: 0.5s;
}
.kicker .sparkle.k2 {
bottom: 28px;
right: calc(50% - 180px);
width: 18px;
height: 18px;
color: var(--gold);
animation-delay: 1.7s;
}
/* ===== Entrance animations ===== */
@keyframes fadeUp {
from { opacity: 0; transform: translateY(16px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes drawIn {
from { opacity: 0; transform: translateY(0) scale(0.96); }
to { opacity: 1; transform: translateY(0) scale(1); }
}
.topbar { animation: fadeUp 0.7s ease 0.1s both; }
.portrait { animation: drawIn 1s cubic-bezier(0.2, 0.8, 0.2, 1) 0.3s both; }
.greeting { animation: fadeUp 0.7s ease 0.6s both; }
.name { animation: fadeUp 0.8s ease 0.7s both; }
.bio { animation: fadeUp 0.8s ease 0.85s both; }
.kicker { animation: fadeUp 0.9s ease 1.1s both; }
.footer { animation: fadeIn 1s ease 1.35s both; }
.deco { animation: fadeIn 1.2s ease 1.5s both; }
/* ===== Responsive ===== */
@media (max-width: 960px) {
.page {
padding: 24px 28px 40px;
}
.topbar {
margin-bottom: 36px;
padding-bottom: 20px;
}
.spread {
grid-template-columns: 1fr;
gap: 40px;
padding: 0;
}
.portrait {
max-width: 320px;
order: 1;
}
.copy {
order: 2;
text-align: left;
}
.name {
font-size: clamp(48px, 14vw, 72px);
}
.bio p {
font-size: 15px;
line-height: 1.65;
}
.contact-link {
font-size: 18px;
word-break: break-word;
}
.deco-1 { right: -10px; font-size: 18px; }
.deco-2 { left: -10px; font-size: 17px; }
.footer {
margin-top: 40px;
font-size: 10px;
}
.kicker {
margin-top: 48px;
padding: 36px 16px 40px;
}
.kicker .sparkle.k1 { left: 12px; top: 14px; }
.kicker .sparkle.k2 { right: 12px; bottom: 18px; }
}
@media (max-width: 480px) {
.page {
padding: 20px 20px 32px;
}
.topbar {
flex-direction: column;
gap: 14px;
align-items: flex-start;
}
.meta {
text-align: left;
}
.footer-contact {
justify-content: flex-start;
}
.portrait {
max-width: 280px;
}
.greeting {
font-size: 24px;
}
.contact {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}
.contact-divider {
display: none;
}
.footer {
flex-direction: column;
gap: 10px;
text-align: center;
align-items: center;
}
}
</style>
</head>
<body>
<div class="page">
<!-- Top bar -->
<header class="topbar">
<div class="wordmark">Jennifer Naranjo<span class="dot">.</span></div>
<div class="meta">
<span class="est">Have passport, will travel.</span>
</div>
</header>
<!-- Editorial spread -->
<main class="spread">
<!-- Portrait column -->
<div class="portrait">
<svg class="plane-mark" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
<path d="M8 42 Q20 30 32 26 L48 14 L46 12 L30 24 Q18 28 6 40 Z" fill="#4A2347" opacity="0.55"/>
<path d="M30 24 L36 18" stroke="#B8895E" stroke-width="1" stroke-linecap="round"/>
</svg>
<span class="deco deco-1">somewhere<br>in the world →</span>
<span class="sparkle p1" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<span class="sparkle p2" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<span class="sparkle p3" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<div class="portrait-frame">
<img src="mainavatar.png" alt="Illustrated portrait of Jennifer Naranjo with her laptop and travel suitcase">
</div>
<span class="deco deco-2">← est. wanderer</span>
<div class="portrait-tag">
<span>Plate №01</span>
<span class="num">A self portrait, of sorts.</span>
</div>
</div>
<!-- Copy column -->
<div class="copy">
<span class="sparkle s1" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<span class="sparkle s5" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<span class="greeting">Hi there!</span>
<h1 class="name"><span class="name-text">I'm <span class="accent">Jenn</span>.<span class="sparkle s2" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span></span></h1>
<div class="bio">
<p>I live behind the scenes, where things move fast, nothing ever goes exactly as planned, and chaos somehow becomes something that works. Usually on the fly, usually with a boarding pass involved.</p>
<p>I'm an idea person at heart, always building, fixing, or finding a better way. Part logistics brain, part idea lab, with a belief that things have a way of coming together when they're meant to, and inevitably, they do.</p>
<p>I move between structure and creativity, logic and intuition, pulling things together and making what often feels impossible, possible. A mix of experience, perspective, and some magic thrown in.</p>
<p>I believe in a little bit of controlled chaos, in following what feels right, and in always trusting the timing. I genuinely love what I do, every wild and unpredictable moment. That's what makes it all so much fun.</p>
<p>When I'm not working, I'm often somewhere new, exploring, and letting the world inspire whatever comes next.</p>
</div>
</div>
</main>
<!-- Closing kicker -->
<section class="kicker" aria-label="closing">
<span class="sparkle k1" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<span class="sparkle k2" aria-hidden="true"><svg viewBox="0 0 32 32" fill="currentColor"><path d="M16 0 L18 14 L32 16 L18 18 L16 32 L14 18 L0 16 L14 14 Z"/></svg></span>
<p class="kicker-leadin">Most of what I do lives just out of view, but trust me...</p>
<p class="kicker-line">There's always something in motion<span class="kicker-dots">…</span></p>
<p class="kicker-tail">and it's about to get interesting.</p>
</section>
<!-- Footer -->
<footer class="footer">
<span>© Jennifer Naranjo · MMXXVI</span>
<div class="footer-contact">
<span class="footer-contact-label">Get in touch</span>
<a class="footer-contact-link" id="contact-email" href="#" data-u="jn" data-d="jennifernaranjo.com" rel="nofollow">
<noscript>jn [at] jennifernaranjo [dot] com</noscript>
</a>
</div>
</footer>
</div>
<script>
// Assemble email at runtime so scrapers don't grab it from source
(function() {
var el = document.getElementById('contact-email');
if (!el) return;
var u = el.getAttribute('data-u');
var d = el.getAttribute('data-d');
var addr = u + '\u0040' + d;
el.setAttribute('href', 'mailto:' + addr);
el.textContent = addr;
})();
</script>
</body>
</html>