/*!
Theme Name: rajeem
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: rajeem
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

rajeem is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;800&family=Space+Grotesk:wght@300;700&display=swap');

:root {
	--bg: #080808;
	--accent: #6366f1;
	--text: #ffffff;
	--muted: rgba(255, 255, 255, 0.4);
}

/* Essential Reset */
html,
body,
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	cursor: none !important;
}

body {
	background-color: var(--bg);
	color: var(--text);
	font-family: 'Inter', sans-serif;
	height: 100vh;
	width: 100vw;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* --- Background Elements --- */
.noise {
	position: fixed;
	inset: 0;
	background: url('https://grainy-gradients.vercel.app/noise.svg');
	opacity: 0.05;
	pointer-events: none;
	z-index: 20;
}

.mesh-gradient {
	position: fixed;
	inset: 0;
	filter: blur(100px);
	opacity: 0.3;
	z-index: 0;
}

.blob {
	position: absolute;
	width: 50vw;
	height: 50vw;
	background: var(--accent);
	border-radius: 50%;
	top: -10%;
	right: -10%;
	animation: drift 20s infinite alternate ease-in-out;
}

@keyframes drift {
	from {
		transform: translate(0, 0) scale(1);
	}

	to {
		transform: translate(-10%, 10%) scale(1.2);
	}
}

/* --- Custom Cursor --- */
#cursor {
	width: 20px;
	height: 20px;
	background: #fff;
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 99999;
	mix-blend-mode: difference;
	transition: width 0.3s cubic-bezier(0.19, 1, 0.22, 1), height 0.3s cubic-bezier(0.19, 1, 0.22, 1);
	transform: translate(-50%, -50%);
	will-change: transform;
}

/* --- Layout --- */
.main-wrapper {
	display: flex;
	align-items: center;
	width: 85%;
	max-width: 1200px;
	z-index: 10;
	gap: 60px;
}

.content {
	flex: 1.2;
	pointer-events: none;
}

.content * {
	pointer-events: auto;
}

.label {
	font-size: 0.75rem;
	letter-spacing: 0.5rem;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 20px;
	display: block;
	font-weight: 800;
}

h1 {
	font-family: 'Space Grotesk', sans-serif;
	font-size: clamp(3rem, 6vw, 5.5rem);
	font-weight: 700;
	line-height: 0.95;
	text-transform: uppercase;
	margin-bottom: 1.5rem;
	transition: transform 0.1s ease-out;
}

.typing-container {
	font-size: clamp(1rem, 1.5vw, 1.3rem);
	color: var(--muted);
	margin-bottom: 45px;
	min-height: 1.6em;
}

#typewriter {
	color: #fff;
	font-weight: 500;
	border-right: 2px solid var(--accent);
	padding-right: 5px;
	animation: blink 0.8s infinite;
}

@keyframes blink {
	50% {
		border-color: transparent;
	}
}

/* --- Image Section --- */
.image-container {
	flex: 0.8;
	perspective: 1000px;
}

.portrait-wrap {
	width: 100%;
	aspect-ratio: 4/5;
	transform-style: preserve-3d;
	transition: transform 0.1s ease-out;
}

.portrait-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	background-image: url('https://images.unsplash.com/photo-1507003211169-0a1dd7228f2d?q=80&w=1000&auto=format&fit=crop');
	background-size: cover;
	background-position: center;
	border-radius: 24px;
	filter: grayscale(1) contrast(1.1);
	transition: all 0.8s ease;
	mask-image: radial-gradient(circle at center, black 50%, transparent 100%);
	-webkit-mask-image: radial-gradient(circle at center, black 50%, transparent 100%);
}

/* --- UI Elements --- */
.input-group {
	display: inline-flex;
	background: rgba(255, 255, 255, 0.04);
	backdrop-filter: blur(15px);
	padding: 8px;
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, 0.1);
}

input {
	background: transparent;
	border: none;
	color: white;
	padding: 0 25px;
	outline: none;
	width: 220px;
	font-family: 'Inter', sans-serif;
}

button {
	background: #fff;
	color: #000;
	border: none;
	padding: 14px 28px;
	border-radius: 100px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: 0.3s ease;
}

/* --- SOCIAL LINKS --- */
.social-links {
	position: fixed;
	bottom: 40px;
	left: 7.5%;
	display: flex;
	gap: 24px;
	z-index: 100;
	pointer-events: auto !important;
	/* Overrides content blockage */
}

.social-item {
	color: var(--muted);
	text-decoration: none;
	transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
	display: flex;
	align-items: center;
}

.social-item:hover {
	color: var(--text);
	transform: translateY(-8px);
}

.lucide {
	width: 20px;
	height: 20px;
	stroke-width: 1.5px;
}

/* --- Mobile --- */
@media (max-width: 900px) {
	body {
		overflow-y: auto;
		height: auto;
		padding: 60px 0;
	}

	.main-wrapper {
		flex-direction: column-reverse;
		text-align: center;
	}

	.image-container {
		width: 70%;
	}

	.social-links {
		position: relative;
		left: 0;
		bottom: 0;
		justify-content: center;
		margin-top: 50px;
	}

	#cursor {
		display: none;
	}

	* {
		cursor: auto !important;
	}
}