/* =====================================================
   MODERN DESIGN ENHANCEMENTS & ANIMATIONS
   ===================================================== */

:root {
	--gold: #D4AF37;
	--gold-dark: #B8960F;
	--gold-light: #E5C158;
	--dark-bg: #0a0e27;
	--dark-card: #1a1f3a;
	--text-light: #e0e0e0;
	--text-muted: #a0a0a0;
	--accent-blue: #00d4ff;
	--accent-purple: #9d4edd;
	--white: #ffffff;
	--shadow-sm: 0 2px 8px rgba(212, 175, 55, 0.1);
	--shadow-md: 0 8px 24px rgba(212, 175, 55, 0.15);
	--shadow-lg: 0 16px 48px rgba(212, 175, 55, 0.2);
	--transition-smooth: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* =====================================================
   PRELOADER ENHANCEMENT
   ===================================================== */

#preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10000;
	backdrop-filter: blur(10px);
}

.preloader-content {
	text-align: center;
	position: relative;
	z-index: 10001;
}

.floating-orb {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, var(--gold-light), var(--gold));
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 40px rgba(212, 175, 55, 0.6);
	animation: orbPulse 2s ease-in-out infinite;
}

.floating-orb-2 {
	width: 40px;
	height: 40px;
	animation-delay: 0.3s;
	opacity: 0.7;
}

.floating-orb-3 {
	width: 20px;
	height: 20px;
	animation-delay: 0.6s;
	opacity: 0.5;
}

@keyframes orbPulse {
	0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
	50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.8; }
}

.preloader-text {
	color: var(--gold);
	font-size: 18px;
	margin-top: 120px;
	font-weight: 600;
	letter-spacing: 2px;
	animation: fadeInUp 1s ease-out 0.5s both;
	font-family: 'Space Grotesk', sans-serif;
}

/* =====================================================
   ANIMATED BACKGROUND ELEMENTS
   ===================================================== */

.animated-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: -1;
	overflow: hidden;
}

.floating-shape {
	position: absolute;
	opacity: 0.05;
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
	filter: blur(40px);
}

.shape-1 {
	width: 400px;
	height: 400px;
	background: linear-gradient(45deg, var(--gold), var(--accent-purple));
	top: -100px;
	right: -50px;
	animation: float 20s ease-in-out infinite;
}

.shape-2 {
	width: 300px;
	height: 300px;
	background: linear-gradient(45deg, var(--accent-blue), var(--gold));
	bottom: 50px;
	left: -100px;
	animation: float 25s ease-in-out infinite reverse;
}

.shape-3 {
	width: 350px;
	height: 350px;
	background: linear-gradient(45deg, var(--accent-purple), var(--accent-blue));
	top: 50%;
	right: 10%;
	animation: float 30s ease-in-out infinite;
}

.shape-4 {
	width: 200px;
	height: 200px;
	background: linear-gradient(45deg, var(--gold), var(--accent-blue));
	top: 20%;
	left: 10%;
	animation: float 22s ease-in-out infinite reverse;
}

.shape-5 {
	width: 250px;
	height: 250px;
	background: linear-gradient(45deg, var(--accent-purple), var(--gold));
	bottom: 20%;
	right: 15%;
	animation: float 28s ease-in-out infinite;
}

@keyframes float {
	0%, 100% { transform: translate(0, 0) rotate(0deg); }
	33% { transform: translate(30px, -50px) rotate(120deg); }
	66% { transform: translate(-20px, 30px) rotate(240deg); }
}

/* Particle Canvas */
#particleCanvas {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
}

/* =====================================================
   HERO SECTION ENHANCEMENTS
   ===================================================== */

.hero-gradient-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05) 0%, transparent 50%, rgba(157, 78, 221, 0.05) 100%);
	z-index: 0;
}

.photo-frame {
	position: relative;
	width: 300px;
	height: 350px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	perspective: 1000px;
}

.photo-glow {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background: radial-gradient(circle at 30% 30%, var(--gold-light), var(--gold), transparent);
	opacity: 0.3;
	filter: blur(40px);
	animation: glowPulse 3s ease-in-out infinite;
	z-index: -1;
}

.profile-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
	border: 3px solid var(--gold);
	box-shadow: 0 20px 60px rgba(212, 175, 55, 0.3), inset 0 0 30px rgba(212, 175, 55, 0.1);
	transform: rotateX(5deg) rotateY(-5deg);
	transition: var(--transition-smooth);
	filter: brightness(1.1) contrast(1.05);
}

.photo-frame:hover .profile-img {
	transform: rotateX(0deg) rotateY(0deg) scale(1.02);
	box-shadow: 0 30px 80px rgba(212, 175, 55, 0.4), inset 0 0 40px rgba(212, 175, 55, 0.15);
}

.photo-border {
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	border: 2px solid transparent;
	background: linear-gradient(135deg, var(--gold), var(--accent-blue), var(--accent-purple)) border-box;
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	animation: borderRotate 3s linear infinite;
}

@keyframes glowPulse {
	0%, 100% { opacity: 0.3; transform: scale(1); }
	50% { opacity: 0.5; transform: scale(1.05); }
}

@keyframes borderRotate {
	0% { filter: hue-rotate(0deg); }
	100% { filter: hue-rotate(360deg); }
}

/* Floating Icons Around Profile */
.floating-icons-container {
	position: absolute;
	width: 450px;
	height: 450px;
	border-radius: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.floating-icon {
	position: absolute;
	width: 60px;
	height: 60px;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	color: white;
	box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3);
	border: 2px solid var(--gold-light);
	animation: iconFloat 6s ease-in-out infinite;
	font-weight: bold;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.floating-icon::after {
	content: attr(data-icon);
	position: absolute;
}

.icon-1 { top: 0%; left: 50%; transform: translateX(-50%); animation-delay: 0s; }
.icon-2 { top: 21%; right: -10%; animation-delay: 0.3s; }
.icon-3 { bottom: 21%; right: -10%; animation-delay: 0.6s; }
.icon-4 { bottom: 0%; left: 50%; transform: translateX(-50%); animation-delay: 0.9s; }
.icon-5 { bottom: 21%; left: -10%; animation-delay: 1.2s; }
.icon-6 { top: 21%; left: -10%; animation-delay: 1.5s; }

@keyframes iconFloat {
	0%, 100% { transform: translateY(0px); }
	50% { transform: translateY(-20px); }
}

/* Hero Content Animations */
.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 24px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(0, 212, 255, 0.1));
	border: 1px solid var(--gold);
	border-radius: 50px;
	margin-bottom: 20px;
	animation: slideInLeft 0.8s ease-out;
}

.badge-pulse {
	width: 10px;
	height: 10px;
	background: var(--gold);
	border-radius: 50%;
	animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.2); opacity: 0.5; }
}

.badge-text {
	color: var(--gold);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1px;
}

.hero-subtitle {
	font-size: 18px;
	margin-bottom: 10px;
	animation: slideInLeft 0.8s ease-out 0.1s both;
}

.hero-title {
	font-size: 52px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 20px;
	animation: slideInLeft 0.8s ease-out 0.2s both;
	font-family: 'Space Grotesk', sans-serif;
}

.gradient-text {
	background: linear-gradient(135deg, var(--gold), var(--accent-blue));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.hero-description {
	font-size: 18px;
	color: var(--text-light);
	line-height: 1.8;
	margin-bottom: 30px;
	animation: slideInLeft 0.8s ease-out 0.3s both;
	max-width: 500px;
}

/* Hero Stats */
.hero-stats {
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
	animation: slideInLeft 0.8s ease-out 0.4s both;
}

.stat-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.stat-number {
	font-size: 32px;
	font-weight: 700;
	color: var(--gold);
	font-family: 'Space Grotesk', sans-serif;
}

.stat-label {
	font-size: 14px;
	color: var(--text-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Button Enhancements */
.btn-primary,
.btn-secondary {
	padding: 14px 32px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	letter-spacing: 1px;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	transition: var(--transition-smooth);
	position: relative;
	overflow: hidden;
	font-family: 'Poppins', sans-serif;
}

.btn-primary {
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	color: #000;
	box-shadow: var(--shadow-lg);
	border: 1px solid var(--gold-light);
}

.btn-primary::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	transform: translate(-50%, -50%);
	transition: width 0.6s, height 0.6s;
}

.btn-primary:hover::before {
	width: 300px;
	height: 300px;
}

.btn-primary:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 60px rgba(212, 175, 55, 0.4);
	letter-spacing: 2px;
}

.btn-secondary {
	background: transparent;
	color: var(--gold);
	border: 2px solid var(--gold);
}

.btn-secondary:hover {
	background: var(--gold);
	color: #000;
	transform: translateY(-3px);
	box-shadow: var(--shadow-lg);
}

/* Social Bubbles */
.social-bubble {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-size: 20px;
	margin: 0 8px;
	transition: var(--transition-smooth);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
	position: relative;
	overflow: hidden;
}

.social-bubble::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	transition: left 0.3s;
}

.social-bubble:hover::before {
	left: 100%;
}

.social-bubble:hover {
	transform: translateY(-8px) scale(1.1);
}

.social-bubble.bg-blue {
	background: linear-gradient(135deg, #3b5998, #4267B2);
}

.social-bubble.bg-gray {
	background: linear-gradient(135deg, #657786, #1DA1F2);
}

.social-bubble.bg-orange {
	background: linear-gradient(135deg, #25D366, #128C7E);
}

.social-bubble.bg-green {
	background: linear-gradient(135deg, #EA4335, #D33527);
}

/* Mobile Footer Section - Legacy */
.mobile-footer-section {
	text-align: center;
	padding: 40px 20px 30px;
}

/* Mobile Hero Actions - Beautiful Modern Design */
.mobile-hero-actions {
	margin-top: 30px;
	text-align: left;
}

.mobile-cta-btn {
	display: inline-block;
	background: linear-gradient(135deg, #D4AF37 0%, #E5C158 100%);
	color: #000;
	padding: 16px 36px;
	border-radius: 50px;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	font-family: 'Poppins', sans-serif;
	transition: all 0.3s ease;
	box-shadow: 0 8px 25px rgba(212, 175, 55, 0.35);
	letter-spacing: 0.5px;
	text-align: center;
}

.mobile-cta-btn span {
	position: relative;
	z-index: 2;
}

.mobile-cta-btn:hover,
.mobile-cta-btn:active {
	transform: translateY(-2px);
	box-shadow: 0 12px 35px rgba(212, 175, 55, 0.45);
	color: #000;
	text-decoration: none;
}

/* Mobile Social Row - Matching Reference Design */
.mobile-social-row {
	display: flex;
	gap: 12px;
	margin-top: 20px;
	flex-wrap: nowrap;
}

.mobile-social-btn {
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 20px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	position: relative;
	overflow: hidden;
	cursor: pointer;
	pointer-events: auto;
}

.mobile-social-btn i {
	pointer-events: none;
}

/* Facebook - Blue */
.mobile-social-btn.facebook {
	background: linear-gradient(135deg, #3b5998 0%, #4a6fb8 100%);
	box-shadow: 0 6px 20px rgba(59, 89, 152, 0.35);
}

.mobile-social-btn.facebook i {
	color: #fff;
}

/* Twitter - Light Blue */
.mobile-social-btn.twitter {
	background: linear-gradient(135deg, #1da1f2 0%, #4cb8f5 100%);
	box-shadow: 0 6px 20px rgba(29, 161, 242, 0.35);
}

.mobile-social-btn.twitter i {
	color: #fff;
}

/* WhatsApp - Green */
.mobile-social-btn.whatsapp {
	background: linear-gradient(135deg, #25D366 0%, #4ade80 100%);
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
}

.mobile-social-btn.whatsapp i {
	color: #fff;
}

/* Email - Gold */
.mobile-social-btn.email {
	background: linear-gradient(135deg, #D4AF37 0%, #E5C158 100%);
	box-shadow: 0 6px 20px rgba(212, 175, 55, 0.35);
}

.mobile-social-btn.email i {
	color: #000;
}

.mobile-social-btn:hover,
.mobile-social-btn:active {
	transform: translateY(-4px) scale(1.05);
}

.mobile-social-btn.facebook:hover {
	box-shadow: 0 10px 30px rgba(59, 89, 152, 0.45);
}

.mobile-social-btn.twitter:hover {
	box-shadow: 0 10px 30px rgba(29, 161, 242, 0.45);
}

.mobile-social-btn.whatsapp:hover {
	box-shadow: 0 10px 30px rgba(37, 211, 102, 0.45);
}

.mobile-social-btn.email:hover {
	box-shadow: 0 10px 30px rgba(212, 175, 55, 0.45);
}

.mobile-social-btn i {
	position: relative;
	z-index: 2;
	font-size: 22px;
}

/* Legacy mobile-social-icons support */
.mobile-social-icons {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.mobile-social-icon {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	font-size: 22px;
	color: white;
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #D4AF37 0%, #E5C158 100%);
	box-shadow: 0 8px 20px rgba(212, 175, 55, 0.25);
}

.mobile-social-icon::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	transition: left 0.3s ease;
	z-index: 1;
}

.mobile-social-icon:hover {
	transform: translateY(-5px) scale(1.1);
	box-shadow: 0 12px 30px rgba(212, 175, 55, 0.35);
}

.mobile-social-icon:hover::before {
	left: 100%;
}

.mobile-social-icon i {
	color: #000;
	position: relative;
	z-index: 2;
}

/* Scroll Indicator */
.scroll-indicator {
	position: absolute;
	bottom: 40px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	animation: fadeInUp 1s ease-out 1s both;
}

.mouse {
	width: 26px;
	height: 40px;
	border: 2px solid var(--gold);
	border-radius: 13px;
	position: relative;
	display: flex;
	justify-content: center;
	padding-top: 6px;
}

.wheel {
	width: 4px;
	height: 6px;
	border-radius: 2px;
	background: var(--gold);
	animation: scroll 1.5s ease-in-out infinite;
}

@keyframes scroll {
	0% { opacity: 1; transform: translateY(0); }
	100% { opacity: 0; transform: translateY(10px); }
}

.scroll-indicator .text {
	color: var(--gold);
	font-size: 12px;
	letter-spacing: 2px;
	text-transform: uppercase;
	animation: blink 2s ease-in-out infinite;
}

@keyframes blink {
	0%, 100% { opacity: 0.5; }
	50% { opacity: 1; }
}

/* =====================================================
   SECTION HEADERS
   ===================================================== */

.section-header {
	text-align: center;
	margin-bottom: 60px;
	animation: fadeInDown 0.8s ease-out;
}

.section-title {
	font-size: 48px;
	font-weight: 800;
	color: #000;
	margin-bottom: 20px;
	font-family: 'Space Grotesk', sans-serif;
	position: relative;
}

.title-underline {
	width: 80px;
	height: 4px;
	background: linear-gradient(135deg, var(--gold), var(--accent-blue));
	margin: 20px auto;
	border-radius: 2px;
	animation: expandWidth 0.6s ease-out;
}

@keyframes expandWidth {
	from { width: 0; }
	to { width: 80px; }
}

.section-subtitle {
	font-size: 18px;
	color: var(--text-muted);
	letter-spacing: 2px;
	text-transform: uppercase;
	font-weight: 600;
}

/* =====================================================
   ABOUT SECTION
   ===================================================== */

.about-image-wrapper {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.about-img {
	width: 100%;;
	height: auto;
	display: block;
	border-radius: 20px;
	transition: var(--transition-smooth);
}

.about-image-wrapper:hover .about-img {
	transform: scale(1.05);
	filter: brightness(1.1);
}

.about-image-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, transparent, var(--gold));
	padding: 30px;
	border-radius: 0 0 20px 20px;
	opacity: 0;
	transition: var(--transition-smooth);
}

.about-image-wrapper:hover .about-image-overlay {
	opacity: 0.9;
}

.overlay-text {
	color: #000;
	font-weight: 700;
	font-size: 18px;
	text-align: center;
}

.about-heading {
	font-size: 42px;
	font-weight: 800;
	color: #000;
	margin-bottom: 20px;
	font-family: 'Space Grotesk', sans-serif;
}

.about-paragraph {
	font-size: 16px;
	line-height: 1.8;
	color: var(--text-muted);
	margin-bottom: 20px;
	text-align: justify;
}

/* About Info Items */
.info-item {
	display: flex !important;
	align-items: center;
	padding: 12px 0;
	border-bottom: 1px solid rgba(212, 175, 55, 0.1);
	transition: var(--transition-smooth);
}

.info-item:last-child {
	border-bottom: none;
}

.info-item:hover {
	padding-left: 10px;
	background: rgba(212, 175, 55, 0.05);
}

.info-label {
	font-weight: 600;
	color: var(--gold);
	min-width: 140px;
	display: block;
}

.info-value {
	color: #000;
	font-weight: 500;
}

.info-value a {
	color: var(--gold);
	text-decoration: none;
	transition: var(--transition-smooth);
}

.info-value a:hover {
	text-decoration: underline;
}

/* =====================================================
   RESUME SECTION
   ===================================================== */

.resume-section {
	margin-bottom: 60px;
}

.resume-section-header {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 40px;
}

.resume-section-header i {
	font-size: 32px;
	color: var(--gold);
}

.resume-section-header .heading {
	font-size: 32px;
	color: #000;
	font-weight: 700;
	margin: 0;
	font-family: 'Space Grotesk', sans-serif;
}

.resume-item {
	padding: 25px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05), rgba(0, 212, 255, 0.02));
	border-left: 4px solid var(--gold);
	border-radius: 8px;
	margin-bottom: 25px;
	transition: var(--transition-smooth);
	position: relative;
	overflow: hidden;
}

.resume-item::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(212, 175, 55, 0.1), transparent);
	transition: left 0.6s;
}

.resume-item:hover::before {
	left: 100%;
}

.resume-item:hover {
	transform: translateX(10px);
	box-shadow: 0 10px 30px rgba(212, 175, 55, 0.15);
}

.resume-icon {
	width: 50px;
	height: 50px;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #000;
	font-size: 24px;
	margin-bottom: 15px;
	box-shadow: 0 8px 20px rgba(212, 175, 55, 0.2);
}

.resume-content h3 {
	font-size: 20px;
	color: #000;
	margin-bottom: 8px;
	font-weight: 700;
}

.institution {
	color: var(--gold);
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 10px;
	display: block;
}

.date-badge {
	display: inline-block;
	background: var(--gold);
	color: #000;
	padding: 6px 14px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 10px;
	letter-spacing: 1px;
}

.description {
	color: var(--text-muted);
	font-size: 15px;
	line-height: 1.6;
	margin-top: 8px;
}

/* Awards Grid */
.awards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 25px;
}

.award-card {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.1), rgba(0, 212, 255, 0.05));
	border: 2px solid var(--gold);
	border-radius: 15px;
	padding: 30px;
	text-align: center;
	transition: var(--transition-smooth);
	position: relative;
}

.award-card:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 40px rgba(212, 175, 55, 0.2);
	border-color: var(--accent-blue);
}

.award-icon-wrapper {
	width: 70px;
	height: 70px;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	color: #000;
	margin: 0 auto 15px;
	box-shadow: 0 10px 25px rgba(212, 175, 55, 0.25);
	transition: var(--transition-smooth);
}

.award-card:hover .award-icon-wrapper {
	transform: scale(1.1) rotateY(360deg);
}

.award-stat h3 {
	font-size: 32px;
	font-weight: 800;
	color: var(--gold);
	margin-bottom: 8px;
	font-family: 'Space Grotesk', sans-serif;
}

.award-stat p {
	color: #000;
	font-size: 14px;
	font-weight: 600;
}

/* Skills Container */
.skills-container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.skill-item {
	animation: slideInRight 0.8s ease-out;
	animation-fill-mode: both;
}

.skill-item:nth-child(1) { animation-delay: 0s; }
.skill-item:nth-child(2) { animation-delay: 0.1s; }
.skill-item:nth-child(3) { animation-delay: 0.2s; }
.skill-item:nth-child(4) { animation-delay: 0.3s; }
.skill-item:nth-child(5) { animation-delay: 0.4s; }
.skill-item:nth-child(6) { animation-delay: 0.5s; }
.skill-item:nth-child(7) { animation-delay: 0.6s; }
.skill-item:nth-child(8) { animation-delay: 0.7s; }

.skill-info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.skill-title {
	font-weight: 600;
	color: #000;
	font-size: 15px;
}

.skill-percentage {
	color: var(--gold);
	font-weight: 700;
	font-size: 14px;
}

.skill-bar {
	height: 8px;
	background: rgba(212, 175, 55, 0.1);
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.skill-progress {
	height: 100%;
	background: linear-gradient(90deg, var(--gold), var(--accent-blue));
	border-radius: 10px;
	animation: skillFill 1.5s ease-out;
	box-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
}

@keyframes skillFill {
	from { width: 0; }
}

/* =====================================================
   SERVICE CARDS
   ===================================================== */

.services-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 30px;
	margin-bottom: 60px;
}

.service-card {
	position: relative;
	height: 100%;
	perspective: 1000px;
}

.service-card-inner {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 40px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(245, 245, 245, 0.95));
	border: 2px solid rgba(212, 175, 55, 0.2);
	border-radius: 15px;
	transition: var(--transition-smooth);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	overflow: hidden;
}

.service-card-inner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--gold), var(--accent-blue), var(--accent-purple));
	opacity: 0;
	transition: opacity 0.3s;
	z-index: -1;
}

.service-card:hover .service-card-inner::before {
	opacity: 0.05;
}

.service-card:hover .service-card-inner {
	transform: translateY(-20px) rotateX(5deg);
	border-color: var(--gold);
	box-shadow: 0 30px 60px rgba(212, 175, 55, 0.25);
}

.service-icon-wrapper {
	position: relative;
	width: 80px;
	height: 80px;
	margin-bottom: 25px;
}

.icon-bg {
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	border-radius: 15px;
	opacity: 0.8;
	transition: var(--transition-smooth);
}

.service-card:hover .icon-bg {
	transform: rotate(-10deg) scale(1.1);
	opacity: 1;
}

.service-icon-wrapper i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 40px;
	color: #000;
	z-index: 2;
	transition: var(--transition-smooth);
}

.service-card:hover .service-icon-wrapper i {
	transform: translate(-50%, -50%) scale(1.2);
}

.service-card-inner h3 {
	font-size: 22px;
	font-weight: 700;
	color: #000;
	margin-bottom: 15px;
	font-family: 'Space Grotesk', sans-serif;
}

.service-card-inner p {
	color: var(--text-muted);
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 20px;
	flex-grow: 1;
}

.service-features {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}

.feature-tag {
	display: inline-block;
	padding: 6px 12px;
	background: rgba(212, 175, 55, 0.1);
	color: var(--gold);
	font-size: 12px;
	border-radius: 20px;
	font-weight: 600;
	letter-spacing: 0.5px;
}

.service-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gold);
	text-decoration: none;
	font-weight: 600;
	transition: var(--transition-smooth);
}

.service-link:hover {
	gap: 12px;
}

.service-link i {
	font-size: 18px;
}

/* Process Steps */
.process-section {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05), rgba(0, 212, 255, 0.05));
	padding: 60px;
	border-radius: 20px;
	border: 2px solid rgba(212, 175, 55, 0.1);
}

.process-title {
	font-size: 36px;
	font-weight: 800;
	color: #000;
	text-align: center;
	margin-bottom: 50px;
	font-family: 'Space Grotesk', sans-serif;
}

.process-steps {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px;
}

.step {
	flex: 1;
	min-width: 200px;
	text-align: center;
	transition: var(--transition-smooth);
}

.step-number {
	font-size: 48px;
	font-weight: 800;
	color: var(--gold);
	margin-bottom: 15px;
	font-family: 'Space Grotesk', sans-serif;
}

.step-content h4 {
	font-size: 18px;
	color: #000;
	margin-bottom: 10px;
	font-weight: 700;
}

.step-content p {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 1.6;
}

.step:hover {
	transform: scale(1.05);
}

.step-arrow {
	font-size: 32px;
	color: var(--gold);
	display: flex;
	align-items: center;
	animation: arrowBounce 2s ease-in-out infinite;
}

@keyframes arrowBounce {
	0%, 100% { transform: translateX(0); }
	50% { transform: translateX(10px); }
}

/* =====================================================
   PORTFOLIO SECTION
   ===================================================== */

.portfolio-filters {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-bottom: 50px;
	flex-wrap: wrap;
}

.filter-btn {
	padding: 12px 28px;
	border: 2px solid var(--gold);
	background: transparent;
	color: var(--gold);
	border-radius: 8px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-smooth);
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 1px;
}

.filter-btn:hover,
.filter-btn.active {
	background: var(--gold);
	color: #000;
	box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3);
	transform: translateY(-3px);
}

.portfolio-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	margin-bottom: 60px;
}

.portfolio-item {
	overflow: hidden;
}

.portfolio-card {
	position: relative;
	height: 100%;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	transition: var(--transition-smooth);
}

.portfolio-image {
	position: relative;
	width: 100%;
	padding-bottom: 100%;
	overflow: hidden;
	background: #f0f0f0;
}

.portfolio-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--transition-smooth);
}

.portfolio-overlay {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	background: linear-gradient(145deg, rgba(10, 14, 39, 0.9), rgba(26, 31, 58, 0.82) 60%, rgba(212, 175, 55, 0.18));
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 18px;
	box-shadow: 0 18px 40px rgba(7, 10, 22, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.14);
	backdrop-filter: blur(10px) saturate(140%);
	-webkit-backdrop-filter: blur(10px) saturate(140%);
	opacity: 0;
	transform: translateY(20px) scale(0.98);
	transition: opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1), transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 12px;
	padding: 18px 18px 16px;
	text-align: left;
	z-index: 2;
}

.portfolio-overlay::before {
	content: '';
	position: absolute;
	top: 0;
	left: 18px;
	width: 52px;
	height: 3px;
	background: linear-gradient(90deg, var(--gold), rgba(255, 255, 255, 0.8));
	border-radius: 20px;
}

.portfolio-card:hover .portfolio-image img {
	transform: scale(1.08);
	filter: brightness(0.72) saturate(1.08);
}

.portfolio-card:hover .portfolio-overlay {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.portfolio-card:focus-within .portfolio-overlay {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.portfolio-card:focus-within .portfolio-image img {
	transform: scale(1.08);
	filter: brightness(0.72) saturate(1.08);
}

.overlay-content h3 {
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
}

.overlay-content p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	margin: 0;
	letter-spacing: 0.2px;
	line-height: 1.5;
}

.portfolio-btn {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	text-decoration: none;
	transition: var(--transition-smooth);
	border: 1px solid rgba(255, 255, 255, 0.32);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.portfolio-btn:hover {
	transform: translateY(-2px) scale(1.05);
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	color: #111;
	border-color: transparent;
}

@media (hover: none) {
	.portfolio-overlay {
		opacity: 1;
		transform: none;
	}

	.portfolio-image img {
		filter: brightness(0.78);
	}
}

.portfolio-meta {
	padding: 25px;
	background: white;
	border-top: 2px solid rgba(212, 175, 55, 0.1);
}

.portfolio-meta h4 {
	font-size: 18px;
	color: #000;
	margin: 0 0 15px 0;
	font-weight: 700;
}

.portfolio-description {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	margin: 0 0 15px 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.portfolio-tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.tag {
	display: inline-block;
	padding: 6px 12px;
	background: rgba(212, 175, 55, 0.1);
	color: var(--gold);
	font-size: 12px;
	border-radius: 20px;
	font-weight: 600;
}

.view-more-section {
	text-align: center;
	padding: 40px;
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05), rgba(0, 212, 255, 0.05));
	border-radius: 15px;
	border: 2px solid rgba(212, 175, 55, 0.1);
}

.view-more-section p {
	font-size: 18px;
	color: var(--text-muted);
	margin-bottom: 20px;
}

/* =====================================================
   BLOG SECTION
   ===================================================== */

.blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
	gap: 30px;
	margin-bottom: 60px;
}

.blog-post {
	background: white;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
	transition: var(--transition-smooth);
	display: flex;
	flex-direction: column;
}

.blog-post:hover {
	transform: translateY(-15px);
	box-shadow: 0 20px 50px rgba(212, 175, 55, 0.2);
}

.blog-image {
	position: relative;
	width: 100%;
	padding-bottom: 60%;
	overflow: hidden;
	background: linear-gradient(135deg, #111827 0%, #1f2937 100%);
}

.blog-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: var(--transition-smooth);
}

.blog-post:hover .blog-image img {
	transform: none;
	filter: brightness(1.06);
}

.blog-category {
	position: absolute;
	top: 15px;
	right: 15px;
	background: var(--gold);
	color: #000;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.blog-content {
	padding: 30px;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.blog-meta {
	display: flex;
	gap: 20px;
	margin-bottom: 15px;
	font-size: 13px;
}

.blog-meta span {
	color: var(--text-muted);
}

.blog-meta a {
	color: var(--gold);
	text-decoration: none;
	transition: var(--transition-smooth);
}

.blog-meta a:hover {
	text-decoration: underline;
}

.blog-title {
	font-size: 20px;
	font-weight: 700;
	color: #000;
	margin: 15px 0;
	line-height: 1.4;
	font-family: 'Space Grotesk', sans-serif;
}

.blog-title a {
	color: #000;
	text-decoration: none;
	transition: var(--transition-smooth);
}

.blog-title a:hover {
	color: var(--gold);
}

.blog-excerpt {
	color: var(--text-muted);
	font-size: 15px;
	line-height: 1.6;
	flex-grow: 1;
	margin-bottom: 15px;
}

.blog-tags {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 15px;
}

.blog-tags .tag {
	padding: 6px 12px;
	background: rgba(212, 175, 55, 0.1);
	color: var(--gold);
	font-size: 12px;
	border-radius: 20px;
	font-weight: 600;
	cursor: pointer;
	transition: var(--transition-smooth);
}

.blog-tags .tag:hover {
	background: var(--gold);
	color: #000;
}

.read-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--gold);
	text-decoration: none;
	font-weight: 700;
	transition: var(--transition-smooth);
}

.read-more:hover {
	gap: 12px;
}

.read-more i {
	font-size: 16px;
}

/* Newsletter Section */
.newsletter-section {
	background: linear-gradient(135deg, var(--gold), var(--gold-dark));
	padding: 60px;
	border-radius: 20px;
	text-align: center;
	color: #000;
	margin-top: 60px;
}

.newsletter-section h3 {
	font-size: 32px;
	font-weight: 800;
	margin-bottom: 15px;
	font-family: 'Space Grotesk', sans-serif;
}

.newsletter-section p {
	font-size: 16px;
	margin-bottom: 30px;
	opacity: 0.9;
}

.newsletter-form {
	display: flex;
	gap: 10px;
	max-width: 500px;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: center;
}

.newsletter-form input {
	flex: 1;
	min-width: 250px;
	padding: 14px 20px;
	border: none;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.1);
	color: #000;
	font-size: 14px;
}

.newsletter-form input::placeholder {
	color: rgba(0, 0, 0, 0.6);
}

.newsletter-form button {
	padding: 14px 32px;
	background: #000;
	color: var(--gold);
	border: none;
	border-radius: 8px;
	font-weight: 700;
	cursor: pointer;
	transition: var(--transition-smooth);
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 1px;
}

.newsletter-form button:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* =====================================================
   CONTACT SECTION
   ===================================================== */

.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	margin-bottom: 60px;
}

.contact-card {
	padding: 40px 30px;
	background: #f9f8f5;
	border: 1px solid #f0ede5;
	border-radius: 16px;
	text-decoration: none;
	color: inherit;
	transition: var(--transition-smooth);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.contact-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--gold), transparent);
}

.contact-card:hover {
	border-color: var(--gold);
	transform: translateY(-8px);
	box-shadow: 0 15px 40px rgba(212, 175, 55, 0.15);
	background: #fefdfb;
}

.contact-card-icon {
	width: 90px;
	height: 90px;
	background: linear-gradient(135deg, var(--gold), #e5c158);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	color: #000;
	flex-shrink: 0;
	box-shadow: 0 12px 35px rgba(212, 175, 55, 0.3);
	transition: var(--transition-smooth);
}

.contact-card:hover .contact-card-icon {
	transform: scale(1.08);
	box-shadow: 0 16px 45px rgba(212, 175, 55, 0.4);
}

.contact-card-content h4 {
	font-size: 20px;
	color: #1a1a1a;
	margin: 0 0 12px 0;
	font-weight: 800;
	letter-spacing: -0.3px;
}

.contact-card-content p {
	color: #666;
	font-size: 15px;
	margin: 0;
	font-weight: 600;
	word-break: break-word;
	overflow-wrap: break-word;
	line-height: 1.5;
}

.contact-card-content a {
	color: var(--gold);
	text-decoration: none;
	transition: var(--transition-smooth);
	word-break: break-word;
	overflow-wrap: break-word;
	font-weight: 600;
}

.contact-card-content a:hover {
	color: #e5c158;
}

.card-footer {
	display: block;
	font-size: 13px;
	color: #999;
	margin-top: 10px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.contact-card-content a:hover {
	text-decoration: underline;
}

.card-footer {
	font-size: 12px;
	color: var(--text-muted);
	display: block;
	margin-top: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

/* Contact Form Section */
.contact-form-section {
	background: linear-gradient(135deg, rgba(212, 175, 55, 0.05), rgba(0, 212, 255, 0.05));
	border: 2px solid rgba(212, 175, 55, 0.1);
	border-radius: 20px;
	padding: 60px;
	margin-bottom: 60px;
}

.contact-image {
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
	margin-bottom: 30px;
}

.contact-image img {
	width: 100%;
	height: auto;
	display: block;
	transition: var(--transition-smooth);
}

.contact-image-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--gold), transparent);
	opacity: 0;
	transition: var(--transition-smooth);
}

.contact-image:hover .contact-image-overlay {
	opacity: 0.2;
}

.contact-form-wrapper h3 {
	font-size: 32px;
	font-weight: 800;
	color: #000;
	margin-bottom: 30px;
	font-family: 'Space Grotesk', sans-serif;
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.form-group {
	position: relative;
}

.form-group input,
.form-group textarea {
	width: 100%;
	padding: 15px 20px;
	border: 2px solid rgba(212, 175, 55, 0.2);
	border-radius: 8px;
	background: rgba(212, 175, 55, 0.02);
	color: #000;
	font-family: 'Poppins', sans-serif;
	font-size: 15px;
	transition: var(--transition-smooth);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
	color: var(--text-muted);
}

.form-group input:focus,
.form-group textarea:focus {
	outline: none;
	border-color: var(--gold);
	background: rgba(212, 175, 55, 0.05);
	box-shadow: 0 0 20px rgba(212, 175, 55, 0.2);
}

.btn-submit {
	width: 100%;
	padding: 16px;
	margin-top: 10px;
	font-size: 16px;
}

/* =====================================================
   FOOTER SECTION
   ===================================================== */

.footer-section {
	background: linear-gradient(135deg, #0a0e27, #1a1f3a);
	color: var(--text-light);
	padding: 60px 0 20px;
	position: relative;
	overflow: hidden;
}

.footer-blob {
	position: absolute;
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
	filter: blur(40px);
	opacity: 0.05;
}

.footer-blob-1 {
	width: 300px;
	height: 300px;
	background: linear-gradient(45deg, var(--gold), var(--accent-purple));
	top: -50px;
	right: -100px;
	animation: float 20s ease-in-out infinite;
}

.footer-blob-2 {
	width: 250px;
	height: 250px;
	background: linear-gradient(45deg, var(--accent-blue), var(--gold));
	bottom: -50px;
	left: -100px;
	animation: float 25s ease-in-out infinite reverse;
}

.footer-content {
	position: relative;
	z-index: 2;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.footer-logo {
	text-align: center;
	margin-bottom: 30px;
}

.footer-logo img {
	max-width: 150px;
	height: auto;
	transition: var(--transition-smooth);
}

.footer-logo:hover img {
	transform: scale(1.1);
}

.footer-social {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-bottom: 30px;
}

.social-link {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	text-decoration: none;
	transition: var(--transition-smooth);
	font-size: 20px;
	border: 2px solid transparent;
	cursor: pointer;
	pointer-events: auto;
}

.social-link i {
	pointer-events: none;
}

.social-link.facebook {
	background: linear-gradient(135deg, #3b5998, #4267B2);
}

.social-link.twitter {
	background: linear-gradient(135deg, #657786, #1DA1F2);
}

.social-link.whatsapp {
	background: linear-gradient(135deg, #25D366, #128C7E);
}

.social-link.email {
	background: linear-gradient(135deg, #EA4335, #D33527);
}

.social-link:hover {
	transform: translateY(-8px) scale(1.1);
	border-color: var(--gold);
	box-shadow: 0 15px 40px rgba(212, 175, 55, 0.3);
}

.footer-links {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.footer-links a {
	color: var(--text-light);
	text-decoration: none;
	transition: var(--transition-smooth);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.footer-links a:hover {
	color: var(--gold);
	transform: translateY(-3px);
}

.footer-copyright {
	text-align: center;
	padding-top: 30px;
	border-top: 1px solid rgba(212, 175, 55, 0.1);
	color: var(--text-muted);
	font-size: 14px;
	line-height: 1.8;
}

.footer-copyright a {
	color: var(--gold);
	text-decoration: none;
	transition: var(--transition-smooth);
}

.footer-copyright a:hover {
	text-decoration: underline;
}

.heart {
	color: var(--gold);
	font-size: 16px;
	animation: heartBeat 1.5s ease-in-out infinite;
}

@keyframes heartBeat {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.2); }
}

/* =====================================================
   ANIMATIONS & UTILITIES
   ===================================================== */

@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-50px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInRight {
	from {
		opacity: 0;
		transform: translateX(50px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes slideInUp {
	from {
		opacity: 0;
		transform: translateY(50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInDown {
	from {
		opacity: 0;
		transform: translateY(-30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.animate-text {
	animation: slideInLeft 0.8s ease-out;
}

/* =====================================================
   RESPONSIVE DESIGN
   ===================================================== */

@media (max-width: 768px) {
	/* Fix overflow issue for mobile footer visibility */
	.banner-area {
		overflow: visible;
	}

	.floating-icons-container {
		width: 300px;
		height: 300px;
	}

	.floating-icon {
		width: 50px;
		height: 50px;
		font-size: 24px;
	}

	.hero-title {
		font-size: 36px;
	}

	.hero-description {
		font-size: 16px;
	}

	.hero-stats {
		flex-direction: column;
		gap: 20px;
	}

	.section-title {
		font-size: 36px;
	}

	.services-grid,
	.portfolio-grid,
	.blog-grid {
		grid-template-columns: 1fr;
	}

	/* Portfolio description mobile styling */
	.portfolio-meta {
		padding: 20px;
		text-align: center;
	}

	.portfolio-description {
		font-size: 13px;
		-webkit-line-clamp: 2;
	}

	.portfolio-tags {
		justify-content: center;
	}

	.process-steps {
		flex-direction: column;
	}

	.step-arrow {
		transform: rotate(90deg);
		margin: 20px 0;
	}

	.contact-form-section {
		padding: 40px;
	}

	.newsletter-form {
		flex-direction: column;
	}

	.newsletter-form input {
		min-width: 100%;
	}

	.footer-links {
		gap: 15px;
	}

	.contact-cards-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.hero-title {
		font-size: 28px;
	}

	.hero-description {
		font-size: 14px;
	}

	.section-title {
		font-size: 28px;
	}

	.about-heading {
		font-size: 28px;
	}

	.contact-cards-grid {
		grid-template-columns: 1fr;
	}

	.btn-primary,
	.btn-secondary {
		width: 100%;
		padding: 12px 24px;
		text-align: center;
	}
}

/* =====================================================
   MOBILE HERO PERFECTION STYLES
   ===================================================== */

@media (max-width: 767px) {
	/* Hero Section Mobile Optimization */
	.banner-area.hero-block {
		overflow: visible;
		min-height: auto;
	}
	
	.banner-wrapper.vh {
		min-height: auto;
		height: auto;
		padding: 80px 0 40px;
	}
	
	/* Hero Content Mobile Styling - Centered */
	.hero-content {
		text-align: center;
		padding: 0 15px;
	}
	
	/* Hero Badge Mobile - Centered */
	.hero-badge {
		margin-bottom: 20px;
		display: inline-flex;
		justify-content: center;
	}
	
	/* Hero Title Mobile - Beautiful Typography Centered */
	.hero-title {
		font-size: 36px;
		line-height: 1.3;
		margin-bottom: 25px;
		font-weight: 700;
		text-align: center;
		letter-spacing: -0.5px;
	}
	
	.hero-title .gradient-text {
		display: block;
		margin-top: 5px;
	}
	
	/* Hero Subtitle/Typewriter Mobile - Centered */
	.hero-subtitle {
		font-size: 14px;
		margin-bottom: 15px;
		text-align: center;
		display: block;
	}
	
	/* Hero Description Mobile - Centered */
	.hero-description {
		font-size: 15px;
		line-height: 1.7;
		margin-bottom: 30px;
		color: #555;
		max-width: 100%;
		text-align: center;
		padding: 0 10px;
	}
	
	/* Mobile Hero Actions Container - Centered */
	.mobile-hero-actions {
		margin-top: 30px;
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 20px;
	}
	
	/* Mobile CTA Button Refinement - Centered */
	.mobile-cta-btn {
		display: inline-block;
		padding: 16px 40px;
		font-size: 15px;
		font-weight: 600;
		border-radius: 50px;
		text-align: center;
	}
	
	/* Mobile Social Row Refinement - Centered */
	.mobile-social-row {
		margin-top: 5px;
		gap: 18px;
		display: flex;
		justify-content: center;
	}
	
	.mobile-social-btn {
		width: 54px;
		height: 54px;
	}
	
	.mobile-social-btn i {
		font-size: 24px;
	}
	
	/* Banner Inner Centered */
	.banner_inner {
		text-align: center !important;
	}
	
	.banner_inner.text-left {
		text-align: center !important;
	}
	
	/* Hide desktop elements on mobile */
	.home-all-button.d-none.d-md-flex {
		display: none !important;
	}
	
	/* Hide scroll indicator on mobile */
	.scroll-indicator {
		display: none;
	}
	
	/* Column full width on mobile */
	.banner-area .row {
		flex-direction: column;
		text-align: center;
	}
	
	.banner-area .col-lg-6.col-md-6 {
		text-align: center;
		width: 100%;
	}
	
	/* Profile Image for Mobile - Hide to prevent blocking content */
	.myphoto {
		display: none !important;
	}
	
	/* Hide floating icons on mobile for cleaner look */
	.floating-icons-container {
		display: none;
	}
	
	/* Animation circles adjustment */
	.animation-circle-inverse {
		display: none;
	}
}

/* Extra small devices (phones in portrait) */
@media (max-width: 375px) {
	.hero-title {
		font-size: 30px;
	}
	
	.hero-description {
		font-size: 14px;
		padding: 0 5px;
	}
	
	.mobile-cta-btn {
		padding: 14px 35px;
		font-size: 14px;
	}
	
	.mobile-social-btn {
		width: 48px;
		height: 48px;
	}
	
	.mobile-social-btn i {
		font-size: 20px;
	}
	
	.mobile-social-row {
		gap: 10px;
	}
}
