/* enhanced pulsing background */
.hero{
	min-height:100vh;
	display:flex;
	align-items:center;
	position:relative;
	overflow:hidden;
}
.hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 20% 20%,rgba(0,194,255,.25) 0%, transparent 35%),
	radial-gradient(circle at 80% 70%,rgba(0,119,255,.22) 0%, transparent 35%);
	animation:pulse 6s ease-in-out infinite;
	z-index:0;
}
@keyframes pulse{
	0%,100%{opacity:.5;}
	50%{opacity:.95;}
}
/* subtle pulse after hero */
.pulse-section{
	position:relative;
	overflow:hidden;
}
.pulse-section::before{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 50% 50%,rgba(0,194,255,.08) 0%, transparent 50%);
	animation:pulse-gentle 10s ease-in-out infinite;
	z-index:0;
}
@keyframes pulse-gentle{
	0%,100%{opacity:.3;}
	50%{opacity:.6;}
}
/* fade-up animation */
.fade-up{
	opacity:0;
	transform:translateY(30px);
	transition:opacity .7s ease,transform .7s ease;
}
.fade-up.visible{
	opacity:1;
	transform:translateY(0);
}
/* floating phone */
.float-phone{
	position:fixed;
	bottom:25px;
	right:25px;
	width:60px;
	height:60px;
	border-radius:50%;
	background:var(--accent);
	color:#000;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:24px;
	box-shadow:0 8px 20px rgba(0,194,255,.35);
	transition:transform .3s ease,box-shadow .3s ease;
	z-index:1050;
}
.float-phone:hover{
	transform:scale(1.1);
	box-shadow:0 12px 30px rgba(0,194,255,.5);
}
/* calculator */
.price-calc{
	background:var(--bg-card);
	border-radius:16px;
	padding:30px;
	border:1px solid rgba(255,255,255,.08);
}
/* enhanced processor icon */
.cpu-icon{
	font-size:120px;
	color:var(--accent);
	border:2px solid rgba(255,255,255,.3);
	border-radius:16px;
	padding:30px;
	background:rgba(255,255,255,.05);
	transition:all .3s ease;
}
.cpu-icon:hover{
	background:rgba(255,255,255,.1);
	border-color:rgba(255,255,255,.6);
	transform:scale(1.05);
}
/* waiting overlay */
.waiting-overlay{
	position:fixed;
	inset:0;
	z-index:9999;
	background:rgba(13,13,13,.55);
	backdrop-filter:blur(8px);
	display:flex;
	align-items:center;
	justify-content:center;
}
.waiting-card{
	padding:2.5rem 3rem;
	text-align:center;
	border-radius:16px;
	border:1px solid rgba(255,255,255,.12);
}
.waiting-text{
	font-size:1.1rem;
	font-weight:600;
	color:var(--text);
}
/* calculator small print */
.hosting-text{color:#888!important;}
