/* =========================================================
   برگه‌های لندینگ (سفارش اختصاصی و همکاران)

   رنگ‌ها و شعاع گوشه‌ها از متغیرهای همان پوسته خوانده می‌شوند تا این دو برگه
   با بقیه سایت یکدست بمانند. همه انیمیشن‌ها با CSS خالص انجام می‌شوند و هیچ
   فایل یا فونتی از CDN بارگذاری نمی‌شود.
   ---Coded By PuzzlesWeb
   ========================================================= */

.pw-landing {
	overflow-x: hidden;
}

/* ---------------------------------------------------------
   انیمیشن ورود بخش‌ها
   --------------------------------------------------------- */
[data-pw-reveal] {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s cubic-bezier(.22, .61, .36, 1), transform .7s cubic-bezier(.22, .61, .36, 1);
	will-change: opacity, transform;
}

[data-pw-reveal].is-visible {
	opacity: 1;
	transform: none;
}

/* کاربری که «کاهش حرکت» را روشن کرده، هیچ حرکتی نمی‌بیند. */
@media (prefers-reduced-motion: reduce) {

	[data-pw-reveal],
	[data-pw-reveal].is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* ---------------------------------------------------------
   صحنه بالای صفحه (Hero)

   یک صحنه چندلایه با CSS خالص: لکه‌های رنگی متحرک، شبکه نقطه‌ای، هسته
   شیشه‌ای، مدار چرخان آیکون‌ها، چیپ‌های شناور و ذرات درخشان.
   هیچ تصویر یا فایلی از بیرون بارگذاری نمی‌شود.
   --------------------------------------------------------- */

/* پالت شاد صحنه؛ فقط در همین بخش استفاده می‌شود تا با رنگ اصلی پوسته
   (که روی دکمه‌ها و بقیه سایت است) تداخل نکند. */
.pw-hero {
	--pw-tone-1: #6C5CE7;
	--pw-tone-2: #00CEC9;
	--pw-tone-3: #FD79A8;
	--pw-tone-4: #FDCB6E;
	--pw-tone-5: #00B894;

	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 74px 0 108px;
	background: linear-gradient(165deg, #F4F5FF 0%, #FBF7FF 42%, #F3FDFC 100%);
}

/* --- لایه پس‌زمینه ------------------------------------------------- */
.pw-hero-bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
}

.pw-hero-aurora {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	opacity: .55;
	will-change: transform;
}

.pw-hero-aurora-1 {
	top: -140px;
	inset-inline-start: -80px;
	width: 460px;
	height: 460px;
	background: radial-gradient(circle, var(--pw-tone-1) 0%, rgba(108, 92, 231, 0) 70%);
	animation: pw-aurora-1 18s ease-in-out infinite alternate;
}

.pw-hero-aurora-2 {
	top: 40px;
	inset-inline-end: -120px;
	width: 420px;
	height: 420px;
	background: radial-gradient(circle, var(--pw-tone-2) 0%, rgba(0, 206, 201, 0) 70%);
	animation: pw-aurora-2 22s ease-in-out infinite alternate;
}

.pw-hero-aurora-3 {
	bottom: -160px;
	inset-inline-start: 38%;
	width: 380px;
	height: 380px;
	background: radial-gradient(circle, var(--pw-tone-3) 0%, rgba(253, 121, 168, 0) 70%);
	animation: pw-aurora-3 20s ease-in-out infinite alternate;
}

@keyframes pw-aurora-1 {
	from { transform: translate3d(0, 0, 0) scale(1); }
	to   { transform: translate3d(90px, 60px, 0) scale(1.18); }
}

@keyframes pw-aurora-2 {
	from { transform: translate3d(0, 0, 0) scale(1.1); }
	to   { transform: translate3d(-70px, 80px, 0) scale(.92); }
}

@keyframes pw-aurora-3 {
	from { transform: translate3d(0, 0, 0) scale(.95); }
	to   { transform: translate3d(60px, -60px, 0) scale(1.2); }
}

/* شبکه نقطه‌ای که آرام حرکت می‌کند و به صحنه عمق می‌دهد. */
.pw-hero-grid {
	position: absolute;
	inset: -40px;
	background-image: radial-gradient(rgba(108, 92, 231, .16) 1px, transparent 1px);
	background-size: 26px 26px;
	mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 40%, #000 30%, transparent 75%);
	animation: pw-grid-slide 24s linear infinite;
}

@keyframes pw-grid-slide {
	from { background-position: 0 0; }
	to   { background-position: 26px 26px; }
}

/* --- ذرات درخشان --------------------------------------------------- */
.pw-hero-particles {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
}

.pw-hero-particle {
	position: absolute;
	bottom: -20px;
	inset-inline-start: var(--pw-x);
	width: var(--pw-size);
	height: var(--pw-size);
	border-radius: 50%;
	opacity: 0;
	animation: pw-particle-rise var(--pw-time) linear infinite;
	animation-delay: var(--pw-delay);
}

.pw-hero-particle.pw-tone-1 { background: var(--pw-tone-1); }
.pw-hero-particle.pw-tone-2 { background: var(--pw-tone-2); }
.pw-hero-particle.pw-tone-3 { background: var(--pw-tone-3); }
.pw-hero-particle.pw-tone-4 { background: var(--pw-tone-4); }
.pw-hero-particle.pw-tone-5 { background: var(--pw-tone-5); }

@keyframes pw-particle-rise {
	0%   { transform: translate3d(0, 0, 0) scale(.6); opacity: 0; }
	12%  { opacity: .8; }
	80%  { opacity: .55; }
	100% { transform: translate3d(28px, -420px, 0) scale(1.1); opacity: 0; }
}

/* --- چیدمان ------------------------------------------------------- */
.pw-hero-inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: center;
	gap: 40px;
}

.pw-hero-tag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	padding: 8px 16px;
	border: 1px solid rgba(108, 92, 231, .22);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
	backdrop-filter: blur(6px);
	box-shadow: 0 6px 18px rgba(108, 92, 231, .12);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 2;
	color: var(--pw-tone-1);
}

.pw-hero-tag i {
	animation: pw-tag-twinkle 2.6s ease-in-out infinite;
}

@keyframes pw-tag-twinkle {
	0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
	50%      { transform: scale(1.22) rotate(14deg); opacity: .75; }
}

.pw-hero-title {
	margin: 0 0 16px;
	font-size: 40px;
	font-weight: 800;
	line-height: 1.65;
	color: var(--pw-text, #20253A);
}

/* خط دوم عنوان: گرادیان رنگی متحرک + یک درخشش که هر چند ثانیه رد می‌شود. */
.pw-hero-accent {
	position: relative;
	display: block;
	width: fit-content;
	background: linear-gradient(100deg, var(--pw-tone-1), var(--pw-tone-3), var(--pw-tone-2), var(--pw-tone-1));
	background-size: 300% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: pw-accent-flow 9s ease infinite;
}

@keyframes pw-accent-flow {
	0%, 100% { background-position: 0% 50%; }
	50%      { background-position: 100% 50%; }
}

.pw-hero-accent::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .85) 50%, transparent 60%);
	background-size: 250% 100%;
	mix-blend-mode: overlay;
	animation: pw-accent-shine 6s ease-in-out infinite;
	pointer-events: none;
}

@keyframes pw-accent-shine {
	0%, 70%, 100% { background-position: 180% 0; }
	85%           { background-position: -60% 0; }
}

.pw-hero-lead {
	margin: 0 0 26px;
	max-width: 560px;
	font-size: 15.5px;
	line-height: 2.2;
	color: var(--pw-text-light, #5D647C);
}

.pw-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.pw-hero-btn {
	position: relative;
	overflow: hidden;
}

.pw-btn.pw-hero-btn-ghost {
	background: rgba(255, 255, 255, .9);
	border: 1px solid rgba(108, 92, 231, .25);
	color: var(--pw-text, #20253A);
	backdrop-filter: blur(6px);
}

.pw-btn.pw-hero-btn-ghost:hover {
	border-color: var(--pw-tone-1);
	color: var(--pw-tone-1);
	transform: translateY(-2px);
}

/* درخششی که با نگه‌داشتن ماوس روی دکمه اصلی رد می‌شود. */
.pw-hero-btn.pw-btn-primary::after {
	content: '';
	position: absolute;
	top: 0;
	inset-inline-start: -60%;
	width: 40%;
	height: 100%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
	transform: skewX(-18deg);
	transition: inset-inline-start .7s ease;
}

.pw-hero-btn.pw-btn-primary:hover::after {
	inset-inline-start: 130%;
}

/* --- صحنه تصویری --------------------------------------------------- */
.pw-hero-stage {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 400px;
}

/* هسته مرکزی */
.pw-hero-core {
	position: relative;
	display: grid;
	place-items: center;
	width: 168px;
	height: 168px;
}

.pw-hero-core-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 100%;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 38px;
	background: linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .72));
	backdrop-filter: blur(10px);
	box-shadow: 0 22px 48px rgba(108, 92, 231, .22);
	animation: pw-core-bob 6s ease-in-out infinite;
}

.pw-hero-core-card i {
	background: linear-gradient(135deg, var(--pw-tone-1), var(--pw-tone-3));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-size: 46px;
	line-height: 1;
}

.pw-hero-core-card span {
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.8;
	color: var(--pw-text, #20253A);
}

@keyframes pw-core-bob {
	0%, 100% { transform: translateY(0) rotate(0deg); }
	50%      { transform: translateY(-12px) rotate(-2deg); }
}

/* دو حلقه نبض‌دار دور هسته */
.pw-hero-ring {
	position: absolute;
	border-radius: 50%;
	border: 1.5px solid rgba(108, 92, 231, .3);
	opacity: 0;
	animation: pw-ring-pulse 3.6s ease-out infinite;
}

.pw-hero-ring-1 {
	width: 190px;
	height: 190px;
}

.pw-hero-ring-2 {
	width: 190px;
	height: 190px;
	border-color: rgba(0, 206, 201, .3);
	animation-delay: 1.8s;
}

@keyframes pw-ring-pulse {
	0%   { transform: scale(.85); opacity: .75; }
	100% { transform: scale(1.75); opacity: 0; }
}

/* مدار چرخان آیکون‌ها */
.pw-hero-orbit {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	animation: pw-orbit-spin 30s linear infinite;
}

.pw-hero-orbit-slot {
	position: absolute;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	/* هر آیکون با زاویه خودش روی دایره می‌نشیند. */
	transform: rotate(var(--pw-angle)) translateY(-158px);
}

/*
 * آیکون‌ها با همان سرعت مدار در جهت عکس می‌چرخند تا همیشه صاف بمانند؛
 * بدون این حرکت، آیکون‌ها همراه مدار سر و ته می‌شدند.
 */
.pw-hero-orbit-item {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 18px;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 24px rgba(32, 37, 58, .1);
	font-size: 20px;
	animation: pw-orbit-spin-reverse 30s linear infinite;
}

.pw-hero-orbit-item.pw-tone-1 { color: var(--pw-tone-1); }
.pw-hero-orbit-item.pw-tone-2 { color: var(--pw-tone-2); }
.pw-hero-orbit-item.pw-tone-3 { color: var(--pw-tone-3); }
.pw-hero-orbit-item.pw-tone-4 { color: #E8A317; }
.pw-hero-orbit-item.pw-tone-5 { color: var(--pw-tone-5); }

@keyframes pw-orbit-spin {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}

@keyframes pw-orbit-spin-reverse {
	from { transform: rotate(0deg); }
	to   { transform: rotate(-360deg); }
}

/* چیپ‌های شناور */
.pw-hero-chip {
	position: absolute;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 999px;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(6px);
	box-shadow: 0 12px 28px rgba(32, 37, 58, .1);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.9;
	color: var(--pw-text, #20253A);
	white-space: nowrap;
	animation: pw-chip-float 5.5s ease-in-out infinite;
}

.pw-hero-chip i {
	font-size: 15px;
}

.pw-hero-chip-1 { top: 4%;    inset-inline-start: -2%; color: var(--pw-tone-1); animation-delay: 0s; }
.pw-hero-chip-2 { bottom: 16%; inset-inline-end: -4%;  color: var(--pw-tone-2); animation-delay: 1.1s; }
.pw-hero-chip-3 { bottom: 2%;  inset-inline-start: 6%; color: var(--pw-tone-3); animation-delay: 2.2s; }

@keyframes pw-chip-float {
	0%, 100% { transform: translate3d(0, 0, 0); }
	50%      { transform: translate3d(0, -14px, 0); }
}

/* --- موج پایین صحنه ------------------------------------------------ */
.pw-hero-wave {
	position: absolute;
	inset-inline: 0;
	bottom: -1px;
	line-height: 0;
	pointer-events: none;
}

.pw-hero-wave svg {
	display: block;
	width: 100%;
	height: 72px;
}

.pw-hero-wave path {
	fill: #fff;
}

/* --- احترام به «کاهش حرکت» ---------------------------------------- */
@media (prefers-reduced-motion: reduce) {

	.pw-hero-aurora,
	.pw-hero-grid,
	.pw-hero-particle,
	.pw-hero-tag i,
	.pw-hero-accent,
	.pw-hero-accent::after,
	.pw-hero-core-card,
	.pw-hero-ring,
	.pw-hero-orbit,
	.pw-hero-orbit-item,
	.pw-hero-chip {
		animation: none;
	}

	/* بدون انیمیشن، ذرات و حلقه‌ها بی‌معنی می‌شوند؛ صحنه ساکن ولی کامل
	   نمایش داده می‌شود. */
	.pw-hero-particles,
	.pw-hero-ring {
		display: none;
	}

	.pw-hero-accent {
		background: linear-gradient(100deg, var(--pw-tone-1), var(--pw-tone-3));
		background-clip: text;
		-webkit-background-clip: text;
	}
}

/* برچسب کوچک بالای عنوان بخش‌ها (در باکس مشاوره استفاده می‌شود). */
.pw-landing-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 14px;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--pw-primary-light, #EEF0FF);
	color: var(--pw-primary, #5B5EF7);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 2;
}

.pw-landing-tag.is-light {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}

/* ---------------------------------------------------------
   بخش‌های محتوایی
   --------------------------------------------------------- */
.pw-landing-section {
	padding: 56px 0;
}

.pw-landing-head {
	max-width: 640px;
	margin: 0 auto 34px;
	text-align: center;
}

.pw-landing-head h2 {
	margin: 0 0 10px;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.8;
	color: var(--pw-text, #20253A);
}

.pw-landing-head p {
	margin: 0;
	font-size: 14.5px;
	line-height: 2.1;
	color: var(--pw-text-light, #5D647C);
}

.pw-landing-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.pw-landing-card {
	padding: 24px 22px;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius, 16px);
	background: #fff;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.pw-landing-card:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 18px 36px rgba(32, 37, 58, .1);
}

.pw-landing-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: 14px;
	border-radius: 14px;
	background: var(--pw-primary-light, #EEF0FF);
	color: var(--pw-primary, #5B5EF7);
	font-size: 20px;
}

.pw-landing-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.9;
	color: var(--pw-text, #20253A);
}

.pw-landing-card p {
	margin: 0;
	font-size: 13.5px;
	line-height: 2.1;
	color: var(--pw-text-light, #5D647C);
}

/* ---------------------------------------------------------
   مراحل کار
   --------------------------------------------------------- */
.pw-landing-steps-section {
	background: var(--pw-bg-soft, #F7F8FC);
}

.pw-landing-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: pw-step;
}

.pw-landing-partners .pw-landing-steps {
	grid-template-columns: repeat(3, 1fr);
}

.pw-landing-step {
	position: relative;
	padding: 24px 20px;
	border-radius: var(--pw-radius, 16px);
	background: #fff;
	border: 1px solid var(--pw-border, #E7EAF3);
}

.pw-landing-step-no {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin-bottom: 12px;
	border-radius: 50%;
	background: var(--pw-gradient-primary, linear-gradient(135deg, #5B5EF7 0%, #7C4DFF 100%));
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

.pw-landing-step-body h3 {
	margin: 0 0 6px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.9;
	color: var(--pw-text, #20253A);
}

.pw-landing-step-body p {
	margin: 0;
	font-size: 13px;
	line-height: 2.1;
	color: var(--pw-text-light, #5D647C);
}

/* ---------------------------------------------------------
   فرم‌ها
   --------------------------------------------------------- */
.pw-landing-form-wrap {
	max-width: 900px;
	margin: 0 auto;
	padding: 32px;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius-lg, 24px);
	background: #fff;
	box-shadow: 0 20px 46px rgba(32, 37, 58, .07);
}

.pw-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.pw-form-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-width: 0;
}

.pw-form-field-full {
	grid-column: 1 / -1;
}

.pw-form-field label {
	margin: 0;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.9;
	color: var(--pw-text, #20253A);
}

.pw-required {
	color: var(--pw-danger, #FF6B6B);
}

.pw-form-field input,
.pw-form-field select,
.pw-form-field textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius-sm, 10px);
	background: #fff;
	font-family: inherit;
	font-size: 14px;
	line-height: 2;
	color: var(--pw-text, #20253A);
	transition: border-color .25s ease, box-shadow .25s ease;
}

.pw-form-field textarea {
	resize: vertical;
	min-height: 110px;
}

.pw-form-field input:focus,
.pw-form-field select:focus,
.pw-form-field textarea:focus {
	outline: none;
	border-color: var(--pw-primary, #5B5EF7);
	box-shadow: 0 0 0 3px rgba(91, 94, 247, .14);
}

.pw-form-field.has-error input,
.pw-form-field.has-error select,
.pw-form-field.has-error textarea {
	border-color: var(--pw-danger, #FF6B6B);
	box-shadow: 0 0 0 3px rgba(255, 107, 107, .12);
}

.pw-field-error {
	display: block;
	min-height: 0;
	font-size: 12px;
	line-height: 1.9;
	color: var(--pw-danger, #FF6B6B);
}

.pw-field-error:empty {
	display: none;
}

/* فیلد تله ضد ربات: از دید کاربر و صفحه‌خوان پنهان است ولی برای ربات‌ها
   یک فیلد عادی به نظر می‌رسد. از display:none استفاده نشده چون بعضی ربات‌ها
   همان را تشخیص می‌دهند. */
.pw-honeypot {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.pw-form-submit {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 22px;
}

.pw-form-note {
	margin: 0;
	font-size: 12.5px;
	line-height: 2;
	color: var(--pw-text-muted, #9AA2B2);
}

/* پیام نتیجه ارسال */
.pw-form-message {
	display: none;
	align-items: flex-start;
	gap: 12px;
	margin-top: 20px;
	padding: 16px 18px;
	border-radius: var(--pw-radius, 16px);
	font-size: 14px;
	line-height: 2.1;
	animation: pw-form-message-in .45s cubic-bezier(.22, .61, .36, 1);
}

.pw-form-message.is-visible {
	display: flex;
}

@keyframes pw-form-message-in {
	from { opacity: 0; transform: translateY(10px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

.pw-form-message.is-success {
	background: var(--pw-success-light, #EAFBF4);
	color: #16785A;
}

.pw-form-message.is-error {
	background: var(--pw-danger-light, #FFF0F0);
	color: #B33A3A;
}

.pw-form-message-icon {
	flex: 0 0 auto;
	font-size: 22px;
	line-height: 1.6;
}

.pw-form-message-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.pw-form-message-body strong {
	font-size: 15px;
	font-weight: 800;
}

/* ---------------------------------------------------------
   باکس مشاوره رایگان
   --------------------------------------------------------- */
.pw-consult-section {
	padding-bottom: 72px;
}

.pw-consult-box {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: center;
	gap: 34px;
	padding: 38px;
	border-radius: var(--pw-radius-lg, 24px);
	background: var(--pw-gradient-primary, linear-gradient(135deg, #5B5EF7 0%, #7C4DFF 100%));
	color: #fff;
	box-shadow: 0 22px 48px rgba(91, 94, 247, .28);
}

.pw-consult-content {
	position: relative;
}

.pw-consult-form {
	position: relative;
}

.pw-consult-content h2 {
	margin: 0 0 10px;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.8;
	color: #fff;
}

.pw-consult-content p {
	margin: 0;
	font-size: 14.5px;
	line-height: 2.2;
	color: rgba(255, 255, 255, .88);
}

.pw-consult-form {
	padding: 24px;
	border-radius: var(--pw-radius, 16px);
	background: rgba(255, 255, 255, .12);
	backdrop-filter: blur(4px);
}

.pw-consult-fields {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-bottom: 16px;
}

.pw-consult-form .pw-form-field label {
	color: #fff;
}

.pw-consult-form .pw-form-field input {
	border-color: rgba(255, 255, 255, .3);
	background: rgba(255, 255, 255, .95);
}

.pw-consult-form .pw-field-error {
	color: #FFE0E0;
}

.pw-consult-form .pw-btn-primary {
	width: 100%;
	background: #fff;
	color: var(--pw-primary, #5B5EF7);
}

.pw-consult-form .pw-btn-primary:hover {
	background: #fff;
	color: var(--pw-primary, #5B5EF7);
	filter: brightness(.97);
}

.pw-consult-form .pw-form-message {
	background: rgba(255, 255, 255, .96);
}

/* ---------------------------------------------------------
   برگه تماس با ما
   --------------------------------------------------------- */
.pw-landing-contact {
	--pw-tone-1: #6C5CE7;
	--pw-tone-2: #00CEC9;
	--pw-tone-3: #FD79A8;
	--pw-tone-4: #E8A317;
	--pw-tone-5: #00B894;
}

/* بخش راه‌های ارتباطی بلافاصله زیر صحنه بالای صفحه می‌نشیند، پس فاصله
   بالایش کمتر است. */
.pw-contact-ways {
	padding-top: 40px;
}

.pw-contact-map-section {
	padding-top: 0;
}

/* کارت بزرگ شماره تماس */
.pw-contact-phone-card {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	overflow: hidden;
	margin-bottom: 20px;
	padding: 26px 28px;
	border-radius: var(--pw-radius-lg, 24px);
	background: linear-gradient(135deg, #6C5CE7 0%, #8E7BF0 55%, #00CEC9 130%);
	color: #fff;
	box-shadow: 0 22px 48px rgba(108, 92, 231, .3);
}

/* حلقه نبض‌داری که پشت کارت آرام باز و بسته می‌شود. */
.pw-contact-phone-pulse {
	position: absolute;
	top: 50%;
	inset-inline-start: 46px;
	width: 90px;
	height: 90px;
	margin-top: -45px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .22);
	animation: pw-contact-pulse 3s ease-out infinite;
	pointer-events: none;
}

@keyframes pw-contact-pulse {
	0%   { transform: scale(.7); opacity: .6; }
	100% { transform: scale(2.4); opacity: 0; }
}

.pw-contact-phone-icon {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 62px;
	height: 62px;
	border-radius: 22px;
	background: rgba(255, 255, 255, .2);
	font-size: 26px;
	animation: pw-contact-ring 2.4s ease-in-out infinite;
}

@keyframes pw-contact-ring {
	0%, 60%, 100% { transform: rotate(0deg); }
	65%           { transform: rotate(-14deg); }
	70%           { transform: rotate(12deg); }
	75%           { transform: rotate(-10deg); }
	80%           { transform: rotate(8deg); }
	85%           { transform: rotate(0deg); }
}

.pw-contact-phone-body {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex: 1 1 200px;
	min-width: 0;
}

.pw-contact-phone-label {
	font-size: 13px;
	font-weight: 700;
	line-height: 2;
	color: rgba(255, 255, 255, .85);
}

.pw-contact-phone-number {
	font-size: 30px;
	font-weight: 800;
	line-height: 1.6;
	letter-spacing: 1px;
	color: #fff;
	text-decoration: none;
	font-variant-numeric: tabular-nums;
	transition: opacity .25s ease;
}

a.pw-contact-phone-number:hover {
	color: #fff;
	opacity: .85;
}

.pw-btn.pw-contact-phone-btn {
	position: relative;
	flex: 0 0 auto;
	background: #fff;
	color: var(--pw-tone-1);
}

.pw-btn.pw-contact-phone-btn:hover {
	background: #fff;
	color: var(--pw-tone-1);
	filter: brightness(.97);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
}

/* کارت‌های راه ارتباطی */
.pw-contact-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.pw-contact-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 20px;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius, 16px);
	background: #fff;
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.pw-contact-card:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 18px 36px rgba(32, 37, 58, .1);
}

.pw-contact-card-icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 8px;
	border-radius: 14px;
	font-size: 19px;
	transition: transform .35s ease;
}

.pw-contact-card:hover .pw-contact-card-icon {
	transform: scale(1.08) rotate(-6deg);
}

.pw-contact-card.pw-tone-2 .pw-contact-card-icon { background: rgba(0, 206, 201, .12);  color: var(--pw-tone-2); }
.pw-contact-card.pw-tone-3 .pw-contact-card-icon { background: rgba(253, 121, 168, .12); color: var(--pw-tone-3); }
.pw-contact-card.pw-tone-4 .pw-contact-card-icon { background: rgba(232, 163, 23, .12);  color: var(--pw-tone-4); }
.pw-contact-card.pw-tone-5 .pw-contact-card-icon { background: rgba(0, 184, 148, .12);   color: var(--pw-tone-5); }

.pw-contact-card-label {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.9;
	color: var(--pw-text-muted, #9AA2B2);
}

.pw-contact-card-value {
	font-size: 14px;
	font-weight: 700;
	line-height: 2.1;
	color: var(--pw-text, #20253A);
	text-decoration: none;
	word-break: break-word;
	transition: color .25s ease;
}

a.pw-contact-card-value:hover {
	color: var(--pw-tone-1);
}

/* شبکه‌های اجتماعی */
.pw-contact-socials {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 22px;
}

.pw-contact-social {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 11px 18px;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: 999px;
	background: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.9;
	color: var(--pw-text, #20253A);
	text-decoration: none;
	transition: transform .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease;
}

.pw-contact-social i {
	font-size: 17px;
	transition: transform .3s ease;
}

.pw-contact-social:hover {
	transform: translateY(-3px);
	border-color: var(--pw-tone-1);
	color: var(--pw-tone-1);
	box-shadow: 0 10px 22px rgba(108, 92, 231, .16);
}

.pw-contact-social:hover i {
	transform: scale(1.15);
}

/* پرسش‌های پرتکرار */
.pw-contact-faq {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 820px;
	margin: 0 auto;
}

.pw-contact-faq-item {
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius, 16px);
	background: #fff;
	overflow: hidden;
	transition: border-color .3s ease, box-shadow .3s ease;
}

.pw-contact-faq-item[open] {
	border-color: var(--pw-tone-1);
	box-shadow: 0 12px 28px rgba(108, 92, 231, .12);
}

.pw-contact-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	cursor: pointer;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 2;
	color: var(--pw-text, #20253A);
	list-style: none;
}

/* فلش پیش‌فرض مرورگر حذف می‌شود تا آیکون خودمان جایش بنشیند. */
.pw-contact-faq-item summary::-webkit-details-marker {
	display: none;
}

.pw-contact-faq-item summary i {
	flex: 0 0 auto;
	color: var(--pw-tone-1);
	transition: transform .3s ease;
}

.pw-contact-faq-item[open] summary i {
	transform: rotate(180deg);
}

.pw-contact-faq-answer {
	padding: 0 20px 18px;
	font-size: 13.5px;
	line-height: 2.2;
	color: var(--pw-text-light, #5D647C);
	animation: pw-faq-open .3s ease;
}

@keyframes pw-faq-open {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: none; }
}

/* نقشه */
.pw-contact-map {
	overflow: hidden;
	border: 1px solid var(--pw-border, #E7EAF3);
	border-radius: var(--pw-radius-lg, 24px);
	line-height: 0;
	box-shadow: 0 18px 40px rgba(32, 37, 58, .08);
}

.pw-contact-map iframe {
	display: block;
	width: 100%;
	min-height: 340px;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {

	.pw-contact-phone-pulse,
	.pw-contact-phone-icon,
	.pw-contact-faq-answer {
		animation: none;
	}

	.pw-contact-phone-pulse {
		display: none;
	}
}

/* ---------------------------------------------------------
   واکنش‌گرایی
   --------------------------------------------------------- */
@media (max-width: 991.98px) {

	.pw-hero-inner {
		grid-template-columns: 1fr;
		gap: 26px;
	}

	/* صحنه تصویری در تبلت کوچک‌تر و زیر متن می‌نشیند. */
	.pw-hero-stage {
		min-height: 320px;
		transform: scale(.88);
	}

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

	.pw-landing-steps,
	.pw-landing-partners .pw-landing-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.pw-consult-box {
		grid-template-columns: 1fr;
	}

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

@media (max-width: 767.98px) {

	.pw-hero {
		padding: 46px 0 78px;
	}

	.pw-hero-title {
		font-size: 28px;
	}

	.pw-hero-lead {
		font-size: 14.5px;
	}

	.pw-hero-wave svg {
		height: 46px;
	}

	.pw-landing-section {
		padding: 40px 0;
	}

	.pw-landing-head h2 {
		font-size: 21px;
	}

	.pw-landing-form-wrap {
		padding: 22px 18px;
	}

	.pw-consult-box {
		padding: 24px 18px;
	}
}

@media (max-width: 575.98px) {

	.pw-landing-grid,
	.pw-landing-steps,
	.pw-landing-partners .pw-landing-steps,
	.pw-form-grid,
	.pw-consult-fields {
		grid-template-columns: 1fr;
	}

	.pw-hero-actions .pw-btn {
		width: 100%;
	}

	/*
	 * در موبایل صحنه تصویری حذف نمی‌شود (نصف جذابیت صفحه همان است)، فقط
	 * کوچک‌تر می‌شود و چیپ‌ها که جا نمی‌شوند برداشته می‌شوند.
	 */
	.pw-hero-stage {
		min-height: 260px;
		transform: scale(.72);
	}

	.pw-hero-chip {
		display: none;
	}

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

	.pw-contact-phone-card {
		padding: 20px 18px;
		text-align: center;
		justify-content: center;
	}

	.pw-contact-phone-body {
		flex: 1 1 100%;
		align-items: center;
	}

	.pw-contact-phone-number {
		font-size: 25px;
	}

	.pw-btn.pw-contact-phone-btn {
		width: 100%;
	}

	.pw-contact-social {
		flex: 1 1 100%;
		justify-content: center;
	}

	.pw-form-submit {
		flex-direction: column;
		align-items: stretch;
	}

	.pw-form-submit .pw-btn {
		width: 100%;
	}

	.pw-form-note {
		text-align: center;
	}
}
