* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, ‘Segoe UI’, Roboto, sans-serif; line-height: 1.6; color: #333; }
.section { padding: 60px 20px; }
.container { max-width: 1200px; margin: 0 auto; }
.grid { display: grid; gap: 30px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.card { background: white; border-radius: 15px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.1); transition: transform 0.3s; }
.card:hover { transform: translateY(-5px); }
.btn { display: inline-block; padding: 12px 25px; border-radius: 25px; text-decoration: none; font-weight: 500; transition: all 0.3s; }
.btn-primary { background: #007cba; color: white; }
.btn-secondary { background: transparent; color: white; border: 2px solid white; }
h1, h2, h3 { font-weight: 300; margin-bottom: 20px; }
h1 { font-size: 3em; }
h2 { font-size: 2.2em; color: #2c3e50; }
h3 { font-size: 1.4em; color: #34495e; }
p { color: #7f8c8d; line-height: 1.6; margin-bottom: 15px; }
@media (max-width: 768px) {
h1 { font-size: 2.2em; }
h2 { font-size: 1.8em; }
.section { padding: 40px 20px; }
}

Hello, I’m Raman

I solve puzzles, climb mountains, and believe the best conversations happen over shared experiences.

My Journey

Places That Shaped Me

🇮🇳

India

Where it all began – cycling, competing, and discovering my love for solving complex problems.

🇧🇪

Belgium

Research adventures, mountain discoveries, and learning to see the world through different lenses.

🌍

Exploring

Always looking for the next adventure, the next mountain, the next conversation.

What Gives Me Energy

🧩

Solving Puzzles

Whether it’s a Sunday crossword or optimizing aerodynamics, I love finding elegant solutions to complex problems.

🏔️

Mountain Perspectives

There’s something about mountain air and endless views that puts everything in perspective.

👨‍🍳

Creating in the Kitchen

From perfecting biryani to experimenting with new flavors, cooking is my creative outlet.

🚴

Moving Forward

Every ride teaches me something new about physics, perseverance, or just the joy of movement.

Let’s Do Something Together

I believe the best connections happen through shared experiences

Crossword & Coffee

Let’s solve puzzles and share stories over good coffee

Book Time

💪

Try Something Active

Always down to try a new sport or activity with new people

Let’s Move

👨‍🍳

Cook & Chat

Let’s create something delicious together

Cook Together

💭

Just Talk

Sometimes the best conversations are unplanned

Chat

Adventures & Moments

Cycling Adventures

On Two Wheels

From morning training rides to epic adventures, cycling continues to teach me about perseverance and joy.

Mountain Adventures

Mountain Moments

Every mountain offers a new perspective, literally and figuratively. These views never get old.

Cooking Experiments

Kitchen Experiments

From biryani perfection attempts to trying new cuisines, the kitchen is my laboratory.

Latest moments captured and shared

Things I’ve Made

Escape Velocity

Words on Wheels

Co-wrote a cycling guide to help fellow riders find their path. It’s been rewarding to hear from people who found it useful.

Read more →

🎓

Research Adventures

Spent a few years figuring out how to make aerodynamic testing accessible to everyday cyclists. Learned more than I expected.

Learn more →

🍚

The Biryani Project

An ongoing experiment in perfecting the art of biryani. Each attempt teaches me something new about patience and precision.

See progress →

// Smooth scrolling for navigation links
document.querySelectorAll(‘a[href^=”#”]’).forEach(anchor => {
anchor.addEventListener(‘click’, function (e) {
e.preventDefault();
document.querySelector(this.getAttribute(‘href’)).scrollIntoView({
behavior: ‘smooth’
});
});
});

// Navbar background on scroll
window.addEventListener(‘scroll’, function() {
const nav = document.querySelector(‘nav’);
if (window.scrollY > 100) {
nav.style.background = ‘rgba(255,255,255,0.98)’;
} else {
nav.style.background = ‘rgba(255,255,255,0.95)’;
}
});