:root {
	--bg: #0f1724;
	--card: #0b1220;
	--accent: #ff6b6b;
	--muted: #9aa4b2;
	--glass: rgba(255,255,255,0.04);
}

* {
	box-sizing: border-box;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

html, body {
	min-height: 100%;
	margin: 0;
	background: linear-gradient(180deg,#071022 0%, #0b1220 60%);
	color: #e6eef6;
}

.container {
    max-width: 95%;
	margin: 32px auto;
	padding: 24px;
	display: flex;
	flex-direction: column;
}

header {
	display: flex;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
}

.avatar {
	width: 120px;
	height: 120px;
	border-radius: 12px;
	overflow: hidden;
	flex: 0 0 120px;
	border: 4px solid rgba(255,255,255,0.06);
}

.avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

h1 {
	margin: 0 0 6px;
	font-size: 28px;
}

p.tag {
	margin: 0;
	color: var(--muted);
}

.hero-cta {
	margin-left: auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.btn {
	background: var(--accent);
	border: none;
	padding: 10px 14px;
	border-radius: 10px;
	color: white;
	cursor: pointer;
	font-weight: 600;
}

.btn.ghost {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.06);
}

main {
	display: flex;
	flex-direction: row;
	gap: 20px;
	margin-top: 24px;
	flex-wrap: wrap;
}

section {
	flex: 2 1 400px;
	min-width: 300px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

aside {
	flex: 1 1 300px;
	min-width: 260px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.card {
	background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));
	padding: 18px;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(2,6,23,0.6);
	border: 1px solid rgba(255,255,255,0.025);
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.badges {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.badge {
	padding: 6px 10px;
	border-radius: 999px;
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.02);
	font-weight: 600;
}

.stats {
	display: flex;
	gap: 12px;
	margin-top: 12px;
}

.stat {
	flex: 1;
	padding: 12px;
	border-radius: 10px;
	background: linear-gradient(180deg, rgba(255,255,255,0.015), rgba(255,255,255,0.01));
	text-align: center;
}

.stat h3 {
	margin: 0;
	font-size: 18px;
}

.stat p {
	margin: 6px 0 0;
	color: var(--muted);
}

.gallery {
	display: flex;
	gap: 8px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.gallery img {
	width: 100%;
	max-width: 180px;
	height: 110px;
	object-fit: cover;
	border-radius: 8px;
}

aside .card {
	position: sticky;
	top: 24px;
}

form .row {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

input, select, textarea {
	width: 100%;
	padding: 10px;
	border-radius: 8px;
	border: 1px solid rgba(255,255,255,0.03);
	background: transparent;
	color: inherit;
}

label {
	font-size: 13px;
	color: var(--muted);
	display: block;
	margin-bottom: 6px;
}

.testimonials {
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.t {
	padding: 10px;
	border-radius: 8px;
	background: rgba(255,255,255,0.02);
}

footer {
	margin-top: 28px;
	text-align: center;
	color: var(--muted);
}

@media (max-width: 1200px) {
	.container {
		max-width: 100%;
		padding: 12px;
	}
	main {
		gap: 12px;
	}
}

@media (max-width: 880px) {
	main {
		flex-direction: column;
	}
	.hero-cta {
		margin-left: 0;
		margin-top: 12px;
	}
	section, aside {
		min-width: 0;
		flex: 1 1 100%;
	}
}

.heart {
	position: fixed;
	pointer-events: none;
	z-index: 9999;
	transform: translate(-50%,-50%);
	font-size: 20px;
	animation: float 2s ease-out forwards;
}

@keyframes float {
	0% {
		opacity: 1;
		transform: translate(-50%,0) scale(1);
	}
	100% {
		opacity: 0;
		transform: translate(-50%,-120px) scale(1.6);
	}
}

.resume-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
}

.resume-table td {
	padding: 8px;
	border-bottom: 1px dashed rgba(255,255,255,0.02);
}

.clickable {
	cursor: pointer;
}