/**
 * Grafixyy — Price in Work Hours
 * Experience #4
 */


/* =========================================================
   EXPERIENCE WORLD
   ========================================================= */

.grafixyy-price-work-hours {
	--gpwh-bg: #090b09;
	--gpwh-surface: #111510;
	--gpwh-surface-2: #171c15;
	--gpwh-line: rgba(255, 255, 255, 0.10);

	--gpwh-money: #78f28b;
	--gpwh-money-soft: rgba(120, 242, 139, 0.14);

	--gpwh-time: #ffb84d;
	--gpwh-time-soft: rgba(255, 184, 77, 0.14);

	--gpwh-text: #f7f7f2;
	--gpwh-muted: #a9b0a6;

	position: relative;
	isolation: isolate;
	overflow: hidden;

	min-height: 100vh;

	color: var(--gpwh-text);
	background:
		radial-gradient(
			circle at 85% 8%,
			rgba(120, 242, 139, 0.10),
			transparent 28rem
		),
		radial-gradient(
			circle at 12% 38%,
			rgba(255, 184, 77, 0.08),
			transparent 26rem
		),
		var(--gpwh-bg);
}


/* Subtle world grid */

.grafixyy-price-work-hours::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px
		);

	background-size: 42px 42px;

	mask-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.8),
			transparent 80%
		);
}


/* =========================================================
   INTRO
   ========================================================= */

.gpwh-intro {
	padding:
		clamp(5rem, 10vw, 8rem)
		1.25rem
		clamp(3rem, 7vw, 5rem);
}

.gpwh-intro__inner {
	width: min(900px, 100%);
	margin-inline: auto;
	text-align: center;
}

.gpwh-kicker {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	margin: 0 0 1.25rem;
	padding: 0.55rem 0.9rem;

	border: 1px solid rgba(120, 242, 139, 0.25);
	border-radius: 999px;

	color: var(--gpwh-money);
	background: rgba(120, 242, 139, 0.06);

	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;

	direction: ltr;
}

.gpwh-intro h1 {
	margin: 0;

	color: var(--gpwh-text);

	font-size: clamp(3rem, 9vw, 6.8rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.055em;
}

.gpwh-intro__question {
	margin:
		clamp(1.4rem, 3vw, 2rem)
		auto
		0;

	max-width: 700px;

	color: var(--gpwh-text);

	font-size: clamp(1.25rem, 3vw, 1.85rem);
	font-weight: 700;
	line-height: 1.7;
}

.gpwh-intro__hint {
	margin: 0.75rem 0 0;

	color: var(--gpwh-muted);

	font-size: clamp(0.95rem, 2vw, 1.08rem);
	line-height: 1.8;
}


/* =========================================================
   STEP 01
   ========================================================= */

.gpwh-step {
	padding:
		1rem
		1.25rem
		clamp(5rem, 10vw, 8rem);
}

.gpwh-step__inner {
	width: min(960px, 100%);
	margin-inline: auto;
}

.gpwh-step--item .gpwh-step__inner {
	padding:
		clamp(1.5rem, 4vw, 2.5rem);

	border: 1px solid var(--gpwh-line);
	border-radius: 28px;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.055),
			rgba(255, 255, 255, 0.015)
		);

	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.28);
}

.gpwh-step__number {
	width: fit-content;

	margin: 0 0 1rem;
	padding: 0.4rem 0.7rem;

	border-radius: 8px;

	color: var(--gpwh-time);
	background: var(--gpwh-time-soft);

	font-size: 0.8rem;
	font-weight: 900;

	direction: ltr;
}

.gpwh-step h2 {
	margin: 0;

	color: var(--gpwh-text);

	font-size: clamp(2rem, 5vw, 3.4rem);
	font-weight: 900;
	line-height: 1.25;
	letter-spacing: -0.035em;
}

.gpwh-step__lead {
	margin: 0.7rem 0 0;

	color: var(--gpwh-muted);

	font-size: 1rem;
	line-height: 1.8;
}


/* =========================================================
   ITEM CHOICES
   ========================================================= */

.gpwh-item-choices {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.75rem;

	margin-top: 2rem;
}

.gpwh-item-choice {
	appearance: none;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	min-height: 116px;
	padding: 1rem 0.7rem;

	border: 1px solid var(--gpwh-line);
	border-radius: 18px;

	color: var(--gpwh-text);
	background: var(--gpwh-surface);

	font: inherit;
	font-weight: 800;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		background-color 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-item-choice span:first-child {
	font-size: 1.7rem;
	line-height: 1;
}

.gpwh-item-choice:hover {
	transform: translateY(-3px);

	border-color: rgba(120, 242, 139, 0.45);

	background: var(--gpwh-surface-2);

	box-shadow:
		0 12px 30px rgba(0, 0, 0, 0.25),
		0 0 0 1px rgba(120, 242, 139, 0.05);
}

.gpwh-item-choice:focus-visible,
.gpwh-item-name:focus-visible {
	outline: 3px solid var(--gpwh-money);
	outline-offset: 3px;
}


/* =========================================================
   CUSTOM ITEM
   ========================================================= */

.gpwh-custom-item {
	margin-top: 1.5rem;
}

.gpwh-custom-item label {
	display: block;

	margin-bottom: 0.65rem;

	color: var(--gpwh-muted);

	font-size: 0.9rem;
	font-weight: 700;
}

.gpwh-item-name {
	width: 100%;
	min-height: 58px;

	box-sizing: border-box;

	padding: 0.85rem 1rem;

	border: 1px solid var(--gpwh-line);
	border-radius: 14px;

	color: var(--gpwh-text);
	background: rgba(0, 0, 0, 0.25);

	font: inherit;
	font-size: 1rem;

	caret-color: var(--gpwh-money);
}

.gpwh-item-name::placeholder {
	color: #737a71;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-intro {
		padding:
			4.5rem
			1rem
			3rem;
	}

	.gpwh-intro h1 {
		font-size: clamp(2.7rem, 14vw, 4.2rem);
	}

	.gpwh-step {
		padding:
			0
			0.85rem
			4.5rem;
	}

	.gpwh-step--item .gpwh-step__inner {
		padding: 1.2rem;

		border-radius: 22px;
	}

	.gpwh-item-choices {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

	.gpwh-item-choice {
		min-height: 100px;
	}

	.gpwh-item-choice:last-child {
		grid-column: 1 / -1;
		min-height: 82px;
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.gpwh-item-choice {
		transition: none;
	}

	.gpwh-item-choice:hover {
		transform: none;
	}

}

/* =========================================================
   VISUAL BOOST — V1
   Stronger color + rounded world + living pulse
   ========================================================= */

.grafixyy-price-work-hours {
	--gpwh-money: #55ff7d;
	--gpwh-money-soft: rgba(85, 255, 125, 0.17);

	--gpwh-time: #ff9f1c;
	--gpwh-time-soft: rgba(255, 159, 28, 0.18);

	width: min(1500px, calc(100% - 28px));
	margin: 14px auto 28px;

	border: 1px solid rgba(85, 255, 125, 0.16);
	border-radius: 38px;

	box-shadow:
		0 30px 100px rgba(0, 0, 0, 0.42),
		0 0 70px rgba(85, 255, 125, 0.055),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

	background:
		radial-gradient(
			circle at 82% 8%,
			rgba(85, 255, 125, 0.20),
			transparent 25rem
		),
		radial-gradient(
			circle at 10% 42%,
			rgba(255, 159, 28, 0.15),
			transparent 28rem
		),
		linear-gradient(
			145deg,
			#080b08 0%,
			#0b100b 48%,
			#0c0906 100%
		);
}


/* Living light inside the Experience */

.grafixyy-price-work-hours::after {
	content: "";
	position: absolute;

	width: 360px;
	height: 360px;

	top: 22%;
	right: -150px;

	z-index: -1;
	pointer-events: none;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			rgba(85, 255, 125, 0.24) 0%,
			rgba(85, 255, 125, 0.08) 35%,
			transparent 70%
		);

	animation:
		gpwh-world-pulse 4.5s ease-in-out infinite;
}


/* Stronger PRICE → TIME signal */

.gpwh-kicker {
	border-color: rgba(85, 255, 125, 0.50);

	color: #78ff95;

	background:
		linear-gradient(
			90deg,
			rgba(85, 255, 125, 0.14),
			rgba(255, 159, 28, 0.10)
		);

	box-shadow:
		0 0 30px rgba(85, 255, 125, 0.10);
}


/* Give the main title some energy */

.gpwh-intro h1 {
	text-shadow:
		0 0 40px rgba(85, 255, 125, 0.10);
}


/* Stronger first-step container */

.gpwh-step--item .gpwh-step__inner {
	border-color: rgba(255, 255, 255, 0.13);

	background:
		radial-gradient(
			circle at 100% 0%,
			rgba(85, 255, 125, 0.10),
			transparent 20rem
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.065),
			rgba(255, 255, 255, 0.018)
		);

	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.34),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
}


/* More expressive choices */

.gpwh-item-choice {
	border-color: rgba(255, 255, 255, 0.12);

	background:
		linear-gradient(
			145deg,
			#151b14,
			#0e120e
		);
}

.gpwh-item-choice:hover {
	border-color: rgba(85, 255, 125, 0.70);

	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.32),
		0 0 26px rgba(85, 255, 125, 0.10);
}


/* The living pulse */

@keyframes gpwh-world-pulse {

	0%,
	100% {
		transform: scale(0.88);
		opacity: 0.45;
	}

	50% {
		transform: scale(1.12);
		opacity: 1;
	}

}


/* Mobile world shape */

@media (max-width: 760px) {

	.grafixyy-price-work-hours {
		width: calc(100% - 16px);

		margin:
			8px auto
			18px;

		border-radius: 26px;
	}

	.grafixyy-price-work-hours::after {
		width: 250px;
		height: 250px;

		top: 17%;
		right: -125px;
	}

}


/* Respect Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.grafixyy-price-work-hours::after {
		animation: none;
		opacity: 0.55;
	}

}
/* =========================================================
   DESKTOP COMPOSITION REFINEMENT
   ========================================================= */


/* 1) تجربة أضيق على شاشات الكمبيوتر */

@media (min-width: 761px) {

	.grafixyy-price-work-hours {
		width: min(1180px, calc(100% - 48px));
	}


	/* 2) تقليل الفراغ الرأسي حتى يظهر المشهد بشكل أفضل */

	.gpwh-intro {
		padding:
			clamp(3rem, 6vh, 4.5rem)
			1.25rem
			clamp(2rem, 4vh, 3rem);
	}

	.gpwh-step {
		padding:
			0.5rem
			1.25rem
			clamp(3rem, 6vh, 4.5rem);
	}


	/* تقليل حجم بطاقة السؤال قليلًا */

	.gpwh-step--item .gpwh-step__inner {
		padding:
			clamp(1.25rem, 2.5vw, 2rem);
	}


	/* الاختيارات لا تحتاج هذا الارتفاع الكبير */

	.gpwh-item-choice {
		min-height: 96px;
	}

}


/* =========================================================
   HERO TITLE
   ========================================================= */

.gpwh-intro h1 {
	/*
	 * مسافة واضحة بين السطرين إذا التف العنوان
	 */
	line-height: 1.28;

	padding-block: 0.08em 0.14em;

	/*
	 * المال يتحول إلى وقت:
	 * أخضر → كهرماني
	 */
	color: #7cff94;

	background:
		linear-gradient(
			100deg,
			#52ff78 5%,
			#9dff72 43%,
			#ffd05b 72%,
			#ff9f1c 100%
		);

	-webkit-background-clip: text;
	background-clip: text;

	-webkit-text-fill-color: transparent;

	text-shadow: none;

	filter:
		drop-shadow(
			0 0 18px rgba(85, 255, 125, 0.24)
		)
		drop-shadow(
			0 0 34px rgba(255, 159, 28, 0.10)
		);
}


/* Desktop title was larger than this Experience needs */

@media (min-width: 761px) {

	.gpwh-intro h1 {
		font-size: clamp(3rem, 6vw, 5.1rem);
	}

}


/* Keep Arabic gradient glyphs safe on Mobile */

@media (max-width: 760px) {

	.gpwh-intro h1 {
		line-height: 1.3;

		padding:
			0.08em
			0.06em
			0.16em;
	}

}

/* =========================================================
   SELECTED ITEM
   ========================================================= */

.gpwh-item-choice.is-selected {
	transform: translateY(-3px);

	border-color: var(--gpwh-money);

	color: #ffffff;

	background:
		linear-gradient(
			145deg,
			rgba(85, 255, 125, 0.20),
			rgba(85, 255, 125, 0.06)
		);

	box-shadow:
		0 0 0 1px rgba(85, 255, 125, 0.16),
		0 14px 34px rgba(0, 0, 0, 0.32),
		0 0 32px rgba(85, 255, 125, 0.16);
}

.gpwh-item-choice.is-selected span:first-child {
	filter:
		drop-shadow(
			0 0 8px rgba(85, 255, 125, 0.5)
		);
}

/* =========================================================
   CUSTOM INPUT — STRONGER FOCUS
   ========================================================= */

.gpwh-item-name {
	border: 2px solid rgba(120, 255, 149, 0.28);

	background:
		linear-gradient(
			90deg,
			rgba(85, 255, 125, 0.07),
			rgba(255, 159, 28, 0.035)
		);

	box-shadow:
		inset 0 0 0 1px rgba(255, 255, 255, 0.025);

	caret-color: #55ff7d;
}

.gpwh-item-name:hover {
	border-color: rgba(85, 255, 125, 0.55);
}

.gpwh-item-name:focus {
	border-color: #55ff7d;

	background:
		linear-gradient(
			90deg,
			rgba(85, 255, 125, 0.13),
			rgba(255, 159, 28, 0.055)
		);

	box-shadow:
		0 0 0 4px rgba(85, 255, 125, 0.10),
		0 0 28px rgba(85, 255, 125, 0.16),
		inset 0 0 18px rgba(85, 255, 125, 0.035);

	outline: none;
}

.gpwh-item-name::placeholder {
	color: #9aa397;
	opacity: 1;
}

.gpwh-custom-item:focus-within label {
	color: #78ff95;
}
/* =========================================================
   CUSTOM ITEM — ATTENTION PULSE
   ========================================================= */

.gpwh-custom-item:focus-within label {
	color: #8cff9f;

	font-weight: 900;

	text-shadow:
		0 0 10px rgba(85, 255, 125, 0.75),
		0 0 22px rgba(85, 255, 125, 0.45);

	animation:
		gpwh-write-label-pulse 1s ease-in-out infinite;
}

@keyframes gpwh-write-label-pulse {

	0%,
	100% {
		transform: scale(1);
		opacity: 0.72;

		text-shadow:
			0 0 7px rgba(85, 255, 125, 0.40);
	}

	50% {
		transform: scale(1.06);
		opacity: 1;

		text-shadow:
			0 0 12px rgba(85, 255, 125, 1),
			0 0 28px rgba(85, 255, 125, 0.65);
	}

}

@media (prefers-reduced-motion: reduce) {

	.gpwh-custom-item:focus-within label {
		animation: none;

		opacity: 1;

		text-shadow:
			0 0 12px rgba(85, 255, 125, 0.70);
	}

}
/* Stop pulsing after the user starts typing */

.gpwh-item-name.has-value + * {
	animation: none;
}

/*
 * The label state is controlled by a class
 * that we will add safely from JavaScript.
 */

.gpwh-custom-item.is-written label {
	color: #ffb84d;

	animation: none;

	transform: none;
	opacity: 1;

	text-shadow:
		0 0 10px rgba(255, 184, 77, 0.55),
		0 0 22px rgba(255, 159, 28, 0.22);
}

/* =========================================================
   CUSTOM ITEM CONFIRM
   ========================================================= */

.gpwh-custom-confirm {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;

	margin-top: 0.85rem;
	min-height: 48px;
	padding: 0.7rem 1.15rem;

	border: 1px solid rgba(255, 184, 77, 0.55);
	border-radius: 14px;

	color: #0b0d09;

	background:
		linear-gradient(
			135deg,
			#ffd05b,
			#ff9f1c
		);

	box-shadow:
		0 8px 24px rgba(255, 159, 28, 0.14);

	font: inherit;
	font-size: 0.92rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		opacity 180ms ease;
}

.gpwh-custom-confirm:not(:disabled):hover {
	transform: translateY(-2px);

	box-shadow:
		0 10px 28px rgba(255, 159, 28, 0.28),
		0 0 22px rgba(255, 184, 77, 0.13);
}

.gpwh-custom-confirm:focus-visible {
	outline: 3px solid #55ff7d;
	outline-offset: 3px;
}

.gpwh-custom-confirm:disabled {
	opacity: 0.28;
	cursor: not-allowed;
	filter: saturate(0.35);
	box-shadow: none;
}

.gpwh-custom-confirm span {
	font-size: 1.1em;
}


/* Once typing begins, bring the confirmation into focus */

.gpwh-custom-item.is-written .gpwh-custom-confirm:not(:disabled) {
	animation:
		gpwh-confirm-arrive 320ms ease-out both;
}

@keyframes gpwh-confirm-arrive {

	from {
		transform: translateY(5px);
		opacity: 0;
	}

	to {
		transform: translateY(0);
		opacity: 1;
	}

}


@media (max-width: 760px) {

	.gpwh-custom-confirm {
		width: 100%;
	}

}


@media (prefers-reduced-motion: reduce) {

	.gpwh-custom-item.is-written .gpwh-custom-confirm:not(:disabled) {
		animation: none;
	}

}
/* =========================================================
   STEP 02 — PRICE
   ========================================================= */

.gpwh-step--price {
	padding-top: clamp(1.5rem, 4vw, 3rem);
}

.gpwh-step--price[hidden] {
	display: none;
}

.gpwh-step--price .gpwh-step__inner {
	position: relative;
	overflow: hidden;

	padding:
		clamp(1.6rem, 4vw, 2.8rem);

	border: 1px solid rgba(255, 184, 77, 0.22);
	border-radius: 28px;

	background:
		radial-gradient(
			circle at 8% 20%,
			rgba(255, 159, 28, 0.14),
			transparent 20rem
		),
		radial-gradient(
			circle at 95% 85%,
			rgba(85, 255, 125, 0.07),
			transparent 18rem
		),
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.06),
			rgba(255, 255, 255, 0.015)
		);

	box-shadow:
		0 30px 80px rgba(0, 0, 0, 0.30);

	opacity: 0;
	transform: translateY(22px);

	transition:
		opacity 450ms ease,
		transform 450ms ease;
}

.gpwh-step--price.is-visible .gpwh-step__inner {
	opacity: 1;
	transform: translateY(0);
}


/* The selected object stays alive */

.gpwh-price-item {
	display: inline-flex;
	align-items: center;

	margin: 0 0 0.75rem;
	padding: 0.45rem 0.8rem;

	max-width: 100%;

	border: 1px solid rgba(85, 255, 125, 0.30);
	border-radius: 999px;

	color: #7cff94;
	background: rgba(85, 255, 125, 0.08);

	font-size: 0.9rem;
	font-weight: 900;

	overflow-wrap: anywhere;

	box-shadow:
		0 0 22px rgba(85, 255, 125, 0.08);
}


/* Price input becomes the visual object */

.gpwh-price-field {
	position: relative;

	display: flex;
	align-items: stretch;

	width: min(620px, 100%);

	margin-top: 1.6rem;

	border: 2px solid rgba(255, 184, 77, 0.42);
	border-radius: 20px;

	background:
		linear-gradient(
			100deg,
			rgba(255, 159, 28, 0.12),
			rgba(255, 255, 255, 0.035)
		);

	box-shadow:
		0 0 0 1px rgba(255, 255, 255, 0.025),
		0 18px 45px rgba(0, 0, 0, 0.24);

	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.gpwh-price-field:focus-within {
	border-color: #ffb84d;

	transform: translateY(-2px);

	box-shadow:
		0 0 0 4px rgba(255, 184, 77, 0.09),
		0 0 34px rgba(255, 159, 28, 0.16),
		0 20px 50px rgba(0, 0, 0, 0.28);
}

.gpwh-price-input {
	min-width: 0;
	flex: 1;

	padding:
		1rem
		1.2rem;

	border: 0;
	outline: 0;

	color: #ffd05b;
	background: transparent;

	font: inherit;
	font-size: clamp(1.8rem, 5vw, 3.3rem);
	font-weight: 900;
	line-height: 1.1;

	direction: ltr;
	text-align: right;

	caret-color: #55ff7d;

	font-variant-numeric:
		tabular-nums;
}

.gpwh-price-input::placeholder {
	color: rgba(255, 208, 91, 0.25);
	opacity: 1;
}

.gpwh-price-currency {
	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 auto;

	padding:
		0.8rem
		1.1rem;

	border-right:
		1px solid rgba(255, 184, 77, 0.20);

	color: #ffb84d;

	font-size: 0.9rem;
	font-weight: 900;
}


/* Remove browser number arrows where supported */

.gpwh-price-input::-webkit-outer-spin-button,
.gpwh-price-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}


/* Mobile */

@media (max-width: 760px) {

	.gpwh-step--price .gpwh-step__inner {
		padding: 1.25rem;
		border-radius: 22px;
	}

	.gpwh-price-field {
		width: 100%;
		border-radius: 17px;
	}

	.gpwh-price-input {
		padding:
			0.9rem
			0.85rem;

		font-size: clamp(1.7rem, 10vw, 2.6rem);
	}

	.gpwh-price-currency {
		padding:
			0.7rem
			0.8rem;
	}

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-step--price .gpwh-step__inner {
		transition: none;
	}

	.gpwh-step--price.is-visible .gpwh-step__inner {
		opacity: 1;
		transform: none;
	}

	.gpwh-price-field {
		transition: none;
	}

}

/* =========================================================
   STEP 02 — PRICE STAGE V2
   ========================================================= */

.gpwh-step--price .gpwh-step__inner {
	width: min(820px, 100%);
	padding: clamp(1.4rem, 3vw, 2.2rem);

	border: 1px solid rgba(255, 174, 54, 0.28);
	border-radius: 30px;

	background:
		radial-gradient(
			circle at 12% 15%,
			rgba(255, 168, 38, 0.16),
			transparent 16rem
		),
		radial-gradient(
			circle at 88% 80%,
			rgba(85, 255, 125, 0.09),
			transparent 18rem
		),
		linear-gradient(
			145deg,
			#16130d,
			#0b100c 68%,
			#08100a
		);

	box-shadow:
		0 26px 70px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);
}


/* Header: money object + selected item */

.gpwh-price-head {
	display: flex;
	align-items: center;
	gap: 1rem;

	margin-top: 0.15rem;
}

.gpwh-cash-symbol {
	position: relative;

	display: grid;
	place-items: center;

	width: 74px;
	height: 74px;
	flex: 0 0 74px;

	border: 1px solid rgba(85, 255, 125, 0.40);
	border-radius: 22px;

	background:
		radial-gradient(
			circle at 35% 25%,
			rgba(85, 255, 125, 0.22),
			transparent 55%
		),
		#0b160d;

	box-shadow:
		0 0 30px rgba(85, 255, 125, 0.10);

	animation:
		gpwh-cash-float 2.8s ease-in-out infinite;
}

.gpwh-cash-symbol__note {
	font-size: 2rem;
	line-height: 1;

	filter:
		drop-shadow(
			0 5px 8px rgba(0, 0, 0, 0.3)
		);
}

.gpwh-cash-symbol__spark {
	position: absolute;
	top: -8px;
	left: -6px;

	color: #ffd05b;

	font-size: 1.05rem;

	text-shadow:
		0 0 12px rgba(255, 208, 91, 0.85);

	animation:
		gpwh-cash-spark 1.4s ease-in-out infinite;
}

.gpwh-price-head__copy {
	min-width: 0;
}

.gpwh-price-label {
	margin: 0 0 0.35rem;

	color: #9aa49a;

	font-size: 0.9rem;
	font-weight: 700;
}

.gpwh-price-label strong {
	display: inline;

	color: #70ff8e;

	font-weight: 900;

	overflow-wrap: anywhere;
}

.gpwh-step--price h2 {
	margin: 0;

	color: #ffd05b;

	font-size: clamp(2rem, 5vw, 3.35rem);
	line-height: 1.25;

	text-shadow:
		0 0 26px rgba(255, 174, 54, 0.14);
}


/* Main price machine */

.gpwh-price-stage {
	position: relative;

	margin-top: 1.5rem;
	padding: clamp(1.1rem, 3vw, 1.6rem);

	border: 1px solid rgba(255, 184, 77, 0.20);
	border-radius: 22px;

	background:
		linear-gradient(
			135deg,
			rgba(255, 184, 77, 0.07),
			rgba(0, 0, 0, 0.20)
		);

	box-shadow:
		inset 0 0 30px rgba(0, 0, 0, 0.14);
}

.gpwh-price-stage__label {
	display: block;

	margin-bottom: 0.7rem;

	color: #ffb84d;

	font-size: 0.8rem;
	font-weight: 900;
}


/* Kill the old white-input feeling */

.gpwh-price-field {
	position: relative;

	display: flex;
	align-items: center;

	width: 100%;
	margin: 0;

	overflow: hidden;

	border: 2px solid rgba(255, 184, 77, 0.42);
	border-radius: 18px;

	background:
		linear-gradient(
			90deg,
			#090b08,
			#111109
		);

	box-shadow:
		inset 0 0 24px rgba(0, 0, 0, 0.38),
		0 10px 34px rgba(0, 0, 0, 0.24);

	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.gpwh-price-field:focus-within {
	border-color: #ffb84d;

	transform: translateY(-2px);

	box-shadow:
		0 0 0 4px rgba(255, 184, 77, 0.09),
		0 0 34px rgba(255, 159, 28, 0.16),
		inset 0 0 24px rgba(0, 0, 0, 0.38);
}

.gpwh-price-input {
	appearance: textfield;
	-webkit-appearance: none;

	display: block;
	flex: 1;
	min-width: 0;

	height: 78px;
	padding: 0 1.25rem;

	border: 0 !important;
	border-radius: 0;
	outline: 0 !important;

	color: #ffca55 !important;
	background: transparent !important;

	box-shadow: none !important;

	font: inherit;
	font-size: clamp(2rem, 5vw, 3.25rem);
	font-weight: 900;
	line-height: 1;

	direction: ltr;
	text-align: right;

	caret-color: #55ff7d;

	font-variant-numeric: tabular-nums;
}

.gpwh-price-input::placeholder {
	color: rgba(255, 202, 85, 0.23);
	opacity: 1;
}


/* Money indicator attached to the number */

.gpwh-price-money-mark {
	display: grid;
	place-items: center;

	width: 72px;
	height: 78px;
	flex: 0 0 72px;

	border-right:
		1px solid rgba(255, 184, 77, 0.16);

	background:
		linear-gradient(
			180deg,
			rgba(85, 255, 125, 0.10),
			rgba(85, 255, 125, 0.025)
		);

	font-size: 1.8rem;

	animation:
		gpwh-money-mark-beat 2s ease-in-out infinite;
}

.gpwh-price-field:focus-within .gpwh-price-money-mark {
	background:
		linear-gradient(
			180deg,
			rgba(85, 255, 125, 0.18),
			rgba(255, 184, 77, 0.06)
		);
}

.gpwh-price-stage__hint {
	margin: 0.7rem 0 0;

	color: #7f897f;

	font-size: 0.78rem;
	font-weight: 600;
}


/* Motion */

@keyframes gpwh-cash-float {

	0%,
	100% {
		transform: translateY(0) rotate(-2deg);
	}

	50% {
		transform: translateY(-5px) rotate(2deg);
	}

}

@keyframes gpwh-cash-spark {

	0%,
	100% {
		transform: scale(0.8) rotate(0deg);
		opacity: 0.45;
	}

	50% {
		transform: scale(1.25) rotate(18deg);
		opacity: 1;
	}

}

@keyframes gpwh-money-mark-beat {

	0%,
	100% {
		transform: scale(0.94);
		filter: saturate(0.9);
	}

	50% {
		transform: scale(1.06);
		filter: saturate(1.25);
	}

}


/* Mobile */

@media (max-width: 760px) {

	.gpwh-step--price .gpwh-step__inner {
		padding: 1.15rem;
		border-radius: 23px;
	}

	.gpwh-cash-symbol {
		width: 60px;
		height: 60px;
		flex-basis: 60px;

		border-radius: 17px;
	}

	.gpwh-cash-symbol__note {
		font-size: 1.65rem;
	}

	.gpwh-step--price h2 {
		font-size: clamp(1.8rem, 9vw, 2.6rem);
	}

	.gpwh-price-stage {
		padding: 0.9rem;
		border-radius: 18px;
	}

	.gpwh-price-field {
		border-radius: 15px;
	}

	.gpwh-price-input {
		height: 66px;

		padding:
			0
			0.8rem;

		font-size: clamp(1.75rem, 10vw, 2.5rem);
	}

	.gpwh-price-money-mark {
		width: 58px;
		height: 66px;
		flex-basis: 58px;

		font-size: 1.5rem;
	}

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-cash-symbol,
	.gpwh-cash-symbol__spark,
	.gpwh-price-money-mark {
		animation: none;
	}

}
/* =========================================================
   PRICE CONFIRM
   ========================================================= */

.gpwh-price-confirm {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;

	margin-top: 1rem;
	min-height: 52px;
	padding: 0.8rem 1.3rem;

	border: 1px solid rgba(85, 255, 125, 0.55);
	border-radius: 15px;

	color: #071008;

	background:
		linear-gradient(
			135deg,
			#7cff94,
			#55ff7d 48%,
			#baff65
		);

	box-shadow:
		0 10px 30px rgba(85, 255, 125, 0.15);

	font: inherit;
	font-size: 0.95rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		opacity 180ms ease,
		filter 180ms ease;
}

.gpwh-price-confirm:not(:disabled):hover {
	transform: translateY(-2px);

	box-shadow:
		0 12px 34px rgba(85, 255, 125, 0.28),
		0 0 28px rgba(85, 255, 125, 0.16);
}

.gpwh-price-confirm:focus-visible {
	outline: 3px solid #ffb84d;
	outline-offset: 3px;
}

.gpwh-price-confirm:disabled {
	opacity: 0.25;
	filter: grayscale(0.55);
	cursor: not-allowed;
	box-shadow: none;
}

.gpwh-price-confirm span {
	font-size: 1.15em;
	transition: transform 180ms ease;
}

.gpwh-price-confirm:not(:disabled):hover span {
	transform: translateX(-4px);
}

.gpwh-price-input.has-value {
	text-shadow:
		0 0 18px rgba(255, 184, 77, 0.22);
}


/* Mobile */

@media (max-width: 760px) {

	.gpwh-price-confirm {
		width: 100%;
	}

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-price-confirm,
	.gpwh-price-confirm span {
		transition: none;
	}

	.gpwh-price-confirm:not(:disabled):hover {
		transform: none;
	}

	.gpwh-price-confirm:not(:disabled):hover span {
		transform: none;
	}

}
/* =========================================================
   STEP 03 — WORK SIGNAL / SALARY
   ========================================================= */

.gpwh-step--salary[hidden] {
	display: none;
}

.gpwh-step--salary {
	padding-top: clamp(1rem, 3vw, 2.2rem);
}

.gpwh-step--salary .gpwh-step__inner {
	position: relative;
	overflow: hidden;

	width: min(820px, 100%);

	padding:
		clamp(1.4rem, 3vw, 2.2rem);

	border:
		1px solid rgba(85, 255, 125, 0.28);

	border-radius: 30px;

	background:
		radial-gradient(
			circle at 88% 12%,
			rgba(85, 255, 125, 0.17),
			transparent 16rem
		),
		radial-gradient(
			circle at 8% 90%,
			rgba(255, 159, 28, 0.12),
			transparent 17rem
		),
		linear-gradient(
			145deg,
			#09120c 0%,
			#0d140e 48%,
			#151008 100%
		);

	box-shadow:
		0 28px 75px rgba(0, 0, 0, 0.38),
		0 0 45px rgba(85, 255, 125, 0.045),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);

	opacity: 0;
	transform: translateY(24px) scale(0.985);

	transition:
		opacity 480ms ease,
		transform 480ms ease;
}

.gpwh-step--salary.is-visible .gpwh-step__inner {
	opacity: 1;
	transform: translateY(0) scale(1);
}


/* Moving work signal */

.gpwh-step--salary .gpwh-step__inner::before {
	content: "";
	position: absolute;

	top: 0;
	right: -35%;

	width: 35%;
	height: 2px;

	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			transparent,
			#55ff7d,
			#ffd05b,
			transparent
		);

	box-shadow:
		0 0 18px rgba(85, 255, 125, 0.7);

	animation:
		gpwh-work-scan 3.6s ease-in-out infinite;
}


/* =========================================================
   SALARY HEADER
   ========================================================= */

.gpwh-salary-head {
	display: flex;
	align-items: center;
	gap: 1rem;

	margin-top: 0.25rem;
}

.gpwh-work-symbol {
	position: relative;

	display: grid;
	place-items: center;

	width: 76px;
	height: 76px;
	flex: 0 0 76px;

	border:
		1px solid rgba(85, 255, 125, 0.45);

	border-radius: 23px;

	color: #0a120b;

	background:
		linear-gradient(
			145deg,
			#98ff78,
			#55ff7d 52%,
			#d2ff68
		);

	box-shadow:
		0 0 0 5px rgba(85, 255, 125, 0.055),
		0 0 34px rgba(85, 255, 125, 0.18);

	animation:
		gpwh-work-energy 2.4s ease-in-out infinite;
}

.gpwh-work-symbol span {
	font-size: 2rem;
	line-height: 1;

	filter:
		drop-shadow(
			0 2px 2px rgba(255, 255, 255, 0.25)
		);
}

.gpwh-work-symbol::after {
	content: "";

	position: absolute;
	inset: -7px;

	border:
		1px solid rgba(85, 255, 125, 0.16);

	border-radius: 28px;

	animation:
		gpwh-work-ring 2.4s ease-out infinite;
}

.gpwh-salary-kicker {
	margin: 0 0 0.3rem;

	color: #72ff8e;

	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.gpwh-step--salary h2 {
	margin: 0;

	color: #f8fff8;

	font-size:
		clamp(2rem, 5vw, 3.35rem);

	font-weight: 900;
	line-height: 1.28;

	text-shadow:
		0 0 28px rgba(85, 255, 125, 0.11);
}

.gpwh-step--salary > .gpwh-step__inner > .gpwh-step__lead {
	margin-top: 1rem;

	color: #aab5aa;
}


/* =========================================================
   SALARY MACHINE
   ========================================================= */

.gpwh-salary-stage {
	position: relative;

	margin-top: 1.6rem;
	padding:
		clamp(1rem, 3vw, 1.5rem);

	border:
		1px solid rgba(85, 255, 125, 0.18);

	border-radius: 22px;

	background:
		linear-gradient(
			135deg,
			rgba(85, 255, 125, 0.065),
			rgba(255, 159, 28, 0.025)
		);

	box-shadow:
		inset 0 0 35px rgba(0, 0, 0, 0.18);
}

.gpwh-salary-label {
	display: flex;
	align-items: center;
	gap: 0.45rem;

	margin-bottom: 0.7rem;

	color: #80ff98;

	font-size: 0.8rem;
	font-weight: 900;
}

.gpwh-salary-label::before {
	content: "";

	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: #55ff7d;

	box-shadow:
		0 0 12px rgba(85, 255, 125, 0.8);

	animation:
		gpwh-status-dot 1.4s ease-in-out infinite;
}


/* Salary input */

.gpwh-salary-field {
	display: flex;
	align-items: center;

	width: 100%;

	overflow: hidden;

	border:
		2px solid rgba(85, 255, 125, 0.35);

	border-radius: 18px;

	background:
		linear-gradient(
			90deg,
			#071009,
			#111108
		);

	box-shadow:
		inset 0 0 26px rgba(0, 0, 0, 0.42),
		0 12px 35px rgba(0, 0, 0, 0.22);

	transition:
		border-color 180ms ease,
		transform 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-salary-field:focus-within {
	border-color: #55ff7d;

	transform: translateY(-2px);

	box-shadow:
		0 0 0 4px rgba(85, 255, 125, 0.09),
		0 0 34px rgba(85, 255, 125, 0.16),
		inset 0 0 25px rgba(0, 0, 0, 0.42);
}

.gpwh-salary-input {
	appearance: textfield;
	-webkit-appearance: none;

	display: block;
	flex: 1;
	min-width: 0;

	height: 76px;
	padding:
		0
		1.2rem;

	border: 0 !important;
	outline: 0 !important;
	border-radius: 0;

	color: #7cff94 !important;
	background: transparent !important;

	box-shadow: none !important;

	font: inherit;
	font-size:
		clamp(2rem, 5vw, 3.1rem);

	font-weight: 900;
	line-height: 1;

	direction: ltr;
	text-align: right;

	caret-color: #ffb84d;

	font-variant-numeric:
		tabular-nums;
}

.gpwh-salary-input::placeholder {
	color:
		rgba(124, 255, 148, 0.22);

	opacity: 1;

	font-size: 0.48em;
}

.gpwh-salary-input::-webkit-outer-spin-button,
.gpwh-salary-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.gpwh-salary-money {
	display: grid;
	place-items: center;

	width: 72px;
	height: 76px;
	flex: 0 0 72px;

	border-right:
		1px solid rgba(85, 255, 125, 0.16);

	background:
		linear-gradient(
			180deg,
			rgba(85, 255, 125, 0.12),
			rgba(255, 159, 28, 0.04)
		);

	font-size: 1.75rem;

	animation:
		gpwh-salary-money 2.3s ease-in-out infinite;
}


/* =========================================================
   SALARY BUTTON
   ========================================================= */

.gpwh-salary-confirm {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	margin-top: 1rem;

	min-height: 52px;
	padding:
		0.8rem
		1.3rem;

	border:
		1px solid rgba(255, 184, 77, 0.55);

	border-radius: 15px;

	color: #130d04;

	background:
		linear-gradient(
			135deg,
			#ffd05b,
			#ff9f1c
		);

	box-shadow:
		0 10px 30px rgba(255, 159, 28, 0.14);

	font: inherit;
	font-size: 0.95rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		box-shadow 180ms ease,
		opacity 180ms ease;
}

.gpwh-salary-confirm:not(:disabled):hover {
	transform: translateY(-2px);

	box-shadow:
		0 12px 34px rgba(255, 159, 28, 0.28),
		0 0 26px rgba(255, 184, 77, 0.14);
}

.gpwh-salary-confirm:focus-visible {
	outline:
		3px solid #55ff7d;

	outline-offset: 3px;
}

.gpwh-salary-confirm:disabled {
	opacity: 0.25;

	filter:
		grayscale(0.55);

	cursor: not-allowed;

	box-shadow: none;
}


/* =========================================================
   SALARY MOTION
   ========================================================= */

@keyframes gpwh-work-scan {

	0% {
		right: -35%;
		opacity: 0;
	}

	15% {
		opacity: 1;
	}

	85% {
		opacity: 1;
	}

	100% {
		right: 105%;
		opacity: 0;
	}

}

@keyframes gpwh-work-energy {

	0%,
	100% {
		transform: translateY(0) rotate(-2deg);
		box-shadow:
			0 0 0 5px rgba(85, 255, 125, 0.055),
			0 0 26px rgba(85, 255, 125, 0.14);
	}

	50% {
		transform: translateY(-4px) rotate(2deg);
		box-shadow:
			0 0 0 7px rgba(85, 255, 125, 0.07),
			0 0 42px rgba(85, 255, 125, 0.26);
	}

}

@keyframes gpwh-work-ring {

	0% {
		transform: scale(0.92);
		opacity: 0.8;
	}

	100% {
		transform: scale(1.2);
		opacity: 0;
	}

}

@keyframes gpwh-status-dot {

	0%,
	100% {
		opacity: 0.45;
	}

	50% {
		opacity: 1;
	}

}

@keyframes gpwh-salary-money {

	0%,
	100% {
		transform: scale(0.94);
	}

	50% {
		transform: scale(1.06);
	}

}


/* =========================================================
   SALARY MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-step--salary .gpwh-step__inner {
		padding: 1.15rem;
		border-radius: 23px;
	}

	.gpwh-salary-head {
		align-items: flex-start;
	}

	.gpwh-work-symbol {
		width: 60px;
		height: 60px;
		flex-basis: 60px;

		border-radius: 18px;
	}

	.gpwh-work-symbol span {
		font-size: 1.6rem;
	}

	.gpwh-step--salary h2 {
		font-size:
			clamp(1.75rem, 8vw, 2.45rem);
	}

	.gpwh-salary-stage {
		padding: 0.9rem;
		border-radius: 18px;
	}

	.gpwh-salary-field {
		border-radius: 15px;
	}

	.gpwh-salary-input {
		height: 66px;
		padding:
			0
			0.8rem;

		font-size:
			clamp(1.7rem, 10vw, 2.4rem);
	}

	.gpwh-salary-money {
		width: 58px;
		height: 66px;
		flex-basis: 58px;

		font-size: 1.45rem;
	}

	.gpwh-salary-confirm {
		width: 100%;
	}

}


/* =========================================================
   SALARY REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.gpwh-step--salary .gpwh-step__inner {
		transition: none;
	}

	.gpwh-step--salary.is-visible .gpwh-step__inner {
		transform: none;
	}

	.gpwh-step--salary .gpwh-step__inner::before,
	.gpwh-work-symbol,
	.gpwh-work-symbol::after,
	.gpwh-salary-label::before,
	.gpwh-salary-money {
		animation: none;
	}

}
/* =========================================================
   STEP 04 — WORK WEEK
   ========================================================= */

.gpwh-step--days[hidden] {
	display: none;
}

.gpwh-step--days .gpwh-step__inner {
	position: relative;
	overflow: hidden;

	width: min(820px, 100%);
	padding: clamp(1.4rem, 3vw, 2.2rem);

	border: 1px solid rgba(255, 184, 77, 0.26);
	border-radius: 30px;

	background:
		radial-gradient(
			circle at 90% 10%,
			rgba(255, 159, 28, 0.15),
			transparent 16rem
		),
		radial-gradient(
			circle at 8% 88%,
			rgba(85, 255, 125, 0.10),
			transparent 17rem
		),
		linear-gradient(
			145deg,
			#151008,
			#0c110c 55%,
			#08100a
		);

	box-shadow:
		0 28px 75px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

	opacity: 0;
	transform: translateY(24px);

	transition:
		opacity 450ms ease,
		transform 450ms ease;
}

.gpwh-step--days.is-visible .gpwh-step__inner {
	opacity: 1;
	transform: translateY(0);
}


/* Header */

.gpwh-days-head {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.gpwh-days-symbol {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	width: 76px;
	height: 76px;
	flex: 0 0 76px;

	border: 1px solid rgba(255, 184, 77, 0.48);
	border-radius: 22px;

	color: #140d03;

	background:
		linear-gradient(
			145deg,
			#ffd05b,
			#ff9f1c
		);

	box-shadow:
		0 0 30px rgba(255, 159, 28, 0.17);

	animation:
		gpwh-week-float 3s ease-in-out infinite;
}

.gpwh-days-symbol span {
	font-size: 1.8rem;
	font-weight: 900;
	line-height: 1;
}

.gpwh-days-symbol small {
	margin-top: 0.25rem;

	font-size: 0.5rem;
	font-weight: 900;
	letter-spacing: 0.1em;

	direction: ltr;
}

.gpwh-days-kicker {
	margin: 0 0 0.3rem;

	color: #ffb84d;

	font-size: 0.78rem;
	font-weight: 900;
}

.gpwh-step--days h2 {
	margin: 0;

	color: #fff5df;

	font-size: clamp(1.9rem, 5vw, 3.2rem);
	font-weight: 900;
	line-height: 1.3;
}


/* 7-day visual strip */

.gpwh-days-choices {
	display: grid;
	grid-template-columns:
		repeat(7, minmax(0, 1fr));

	gap: 0.55rem;

	margin-top: 1.6rem;
}

.gpwh-day-choice {
	appearance: none;

	position: relative;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;

	min-width: 0;
	min-height: 92px;

	padding: 0.65rem 0.35rem;

	border:
		1px solid rgba(255, 255, 255, 0.11);

	border-radius: 16px;

	color: #f7f7f2;

	background:
		linear-gradient(
			180deg,
			#141814,
			#0c100c
		);

	font: inherit;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		background 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-day-choice strong {
	font-size: 1.55rem;
	font-weight: 900;
	line-height: 1;

	direction: ltr;
}

.gpwh-day-choice span {
	color: #9da59c;

	font-size: 0.7rem;
	font-weight: 700;
}

.gpwh-day-choice small {
	position: absolute;

	top: -8px;
	right: 50%;

	transform:
		translateX(50%);

	padding:
		0.2rem
		0.4rem;

	border-radius: 999px;

	color: #081009;
	background: #72ff8e;

	font-size: 0.55rem;
	font-weight: 900;

	box-shadow:
		0 0 12px rgba(85, 255, 125, 0.2);
}

.gpwh-day-choice:hover {
	transform: translateY(-3px);

	border-color:
		rgba(255, 184, 77, 0.55);

	background:
		linear-gradient(
			180deg,
			#211b10,
			#10130e
		);

	box-shadow:
		0 12px 28px rgba(0, 0, 0, 0.24);
}


/* Selected state ready for JS */

.gpwh-day-choice.is-selected {
	transform: translateY(-4px);

	border-color: #ffb84d;

	color: #0c0b07;

	background:
		linear-gradient(
			145deg,
			#ffe079,
			#ff9f1c
		);

	box-shadow:
		0 12px 30px rgba(255, 159, 28, 0.19),
		0 0 25px rgba(255, 184, 77, 0.12);
}

.gpwh-day-choice.is-selected span {
	color: #3d2907;
}

.gpwh-day-choice:focus-visible {
	outline: 3px solid #55ff7d;
	outline-offset: 3px;
}

.gpwh-days-hint {
	margin: 1rem 0 0;

	color: #899289;

	font-size: 0.76rem;
	font-weight: 600;
}


/* Motion */

@keyframes gpwh-week-float {

	0%,
	100% {
		transform: translateY(0) rotate(-2deg);
	}

	50% {
		transform: translateY(-4px) rotate(2deg);
	}

}


/* Mobile */

@media (max-width: 760px) {

	.gpwh-step--days .gpwh-step__inner {
		padding: 1.15rem;
		border-radius: 23px;
	}

	.gpwh-days-head {
		align-items: flex-start;
	}

	.gpwh-days-symbol {
		width: 60px;
		height: 60px;
		flex-basis: 60px;

		border-radius: 17px;
	}

	.gpwh-days-symbol span {
		font-size: 1.45rem;
	}

	.gpwh-step--days h2 {
		font-size:
			clamp(1.65rem, 8vw, 2.35rem);
	}

	.gpwh-days-choices {
		grid-template-columns:
			repeat(4, minmax(0, 1fr));

		gap: 0.65rem;

		margin-top: 1.5rem;
	}

	.gpwh-day-choice {
		min-height: 78px;
	}

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-step--days .gpwh-step__inner {
		transition: none;
	}

	.gpwh-step--days.is-visible .gpwh-step__inner {
		transform: none;
	}

	.gpwh-days-symbol {
		animation: none;
	}

}
/* =========================================================
   STEP 05 — WORK HOURS
   ========================================================= */

.gpwh-step--hours[hidden] {
	display: none;
}

.gpwh-step--hours .gpwh-step__inner {
	position: relative;
	overflow: hidden;

	width: min(820px, 100%);
	padding: clamp(1.4rem, 3vw, 2.2rem);

	border: 1px solid rgba(255, 184, 77, 0.30);
	border-radius: 30px;

	background:
		radial-gradient(
			circle at 88% 10%,
			rgba(255, 159, 28, 0.17),
			transparent 16rem
		),
		radial-gradient(
			circle at 8% 90%,
			rgba(85, 255, 125, 0.09),
			transparent 17rem
		),
		linear-gradient(
			145deg,
			#171008,
			#0c100c 58%,
			#07100a
		);

	box-shadow:
		0 28px 75px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);

	opacity: 0;
	transform: translateY(24px) scale(0.985);

	transition:
		opacity 450ms ease,
		transform 450ms ease;
}

.gpwh-step--hours.is-visible .gpwh-step__inner {
	opacity: 1;
	transform: translateY(0) scale(1);
}


/* Header */

.gpwh-hours-head {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.gpwh-hours-kicker {
	margin: 0 0 0.3rem;

	color: #ffb84d;

	font-size: 0.78rem;
	font-weight: 900;
}

.gpwh-step--hours h2 {
	margin: 0;

	color: #fff5df;

	font-size:
		clamp(1.9rem, 5vw, 3.2rem);

	font-weight: 900;
	line-height: 1.3;
}


/* Living clock */

.gpwh-hours-clock {
	position: relative;

	width: 76px;
	height: 76px;
	flex: 0 0 76px;

	border:
		2px solid #ffb84d;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			#151208 0%,
			#090b08 72%
		);

	box-shadow:
		0 0 0 6px rgba(255, 184, 77, 0.055),
		0 0 32px rgba(255, 159, 28, 0.20),
		inset 0 0 20px rgba(255, 184, 77, 0.07);
}

.gpwh-hours-clock::before,
.gpwh-hours-clock::after {
	content: "";
	position: absolute;

	background: #55ff7d;
	border-radius: 999px;

	box-shadow:
		0 0 7px rgba(85, 255, 125, 0.75);
}

.gpwh-hours-clock::before {
	top: 6px;
	left: 50%;

	width: 3px;
	height: 7px;

	transform: translateX(-50%);
}

.gpwh-hours-clock::after {
	right: 6px;
	top: 50%;

	width: 7px;
	height: 3px;

	transform: translateY(-50%);
}

.gpwh-hours-clock__hand {
	position: absolute;

	left: 50%;
	top: 50%;

	width: 3px;
	height: 25px;

	border-radius: 999px;

	background:
		linear-gradient(
			to top,
			#ff9f1c,
			#ffd05b
		);

	box-shadow:
		0 0 8px rgba(255, 184, 77, 0.65);

	transform-origin:
		50% 100%;

	transform:
		translate(-50%, -100%)
		rotate(25deg);

	animation:
		gpwh-clock-hand 5s linear infinite;
}

.gpwh-hours-clock__dot {
	position: absolute;

	left: 50%;
	top: 50%;

	width: 9px;
	height: 9px;

	border-radius: 50%;

	background: #55ff7d;

	box-shadow:
		0 0 12px rgba(85, 255, 125, 0.75);

	transform:
		translate(-50%, -50%);
}


/* =========================================================
   HOURS CHOICES
   ========================================================= */

.gpwh-hours-choices {
	display: grid;
	grid-template-columns:
		repeat(5, minmax(0, 1fr));

	gap: 0.65rem;

	margin-top: 1.6rem;
}

.gpwh-hour-choice {
	appearance: none;

	position: relative;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.3rem;

	min-width: 0;
	min-height: 94px;

	padding: 0.7rem 0.4rem;

	border:
		1px solid rgba(255, 255, 255, 0.11);

	border-radius: 17px;

	color: #f7f7f2;

	background:
		linear-gradient(
			180deg,
			#161713,
			#0b100c
		);

	font: inherit;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		background 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-hour-choice strong {
	color: #ffd05b;

	font-size: 1.65rem;
	font-weight: 900;
	line-height: 1;

	direction: ltr;
}

.gpwh-hour-choice span {
	color: #969e95;

	font-size: 0.7rem;
	font-weight: 700;
}

.gpwh-hour-choice small {
	position: absolute;

	top: -8px;
	right: 50%;

	transform:
		translateX(50%);

	padding:
		0.2rem
		0.45rem;

	border-radius: 999px;

	color: #081009;
	background: #72ff8e;

	font-size: 0.55rem;
	font-weight: 900;

	box-shadow:
		0 0 13px rgba(85, 255, 125, 0.22);
}

.gpwh-hour-choice:hover {
	transform: translateY(-3px);

	border-color:
		rgba(255, 184, 77, 0.60);

	box-shadow:
		0 12px 28px rgba(0, 0, 0, 0.25),
		0 0 20px rgba(255, 159, 28, 0.07);
}


/* Ready for JavaScript */

.gpwh-hour-choice.is-selected {
	transform: translateY(-4px);

	border-color: #55ff7d;

	background:
		linear-gradient(
			145deg,
			rgba(85, 255, 125, 0.22),
			rgba(255, 159, 28, 0.10)
		);

	box-shadow:
		0 12px 30px rgba(0, 0, 0, 0.28),
		0 0 28px rgba(85, 255, 125, 0.14);
}

.gpwh-hour-choice.is-selected strong {
	color: #78ff95;

	text-shadow:
		0 0 12px rgba(85, 255, 125, 0.34);
}

.gpwh-hour-choice.is-selected span {
	color: #d8e4d9;
}

.gpwh-hour-choice:focus-visible,
.gpwh-hours-custom-input:focus-visible {
	outline: 3px solid #55ff7d;
	outline-offset: 3px;
}


/* =========================================================
   CUSTOM HOURS
   ========================================================= */

.gpwh-hours-custom {
	margin-top: 1rem;
}

.gpwh-hours-custom label {
	display: block;

	margin-bottom: 0.55rem;

	color: #a0a89f;

	font-size: 0.78rem;
	font-weight: 800;
}

.gpwh-hours-custom-input {
	width: min(280px, 100%);
	min-height: 52px;

	box-sizing: border-box;

	padding:
		0.7rem
		0.9rem;

	border:
		2px solid rgba(255, 184, 77, 0.25);

	border-radius: 14px;

	color: #ffd05b;

	background:
		rgba(0, 0, 0, 0.26);

	box-shadow:
		inset 0 0 18px rgba(0, 0, 0, 0.20);

	font: inherit;
	font-size: 1.1rem;
	font-weight: 900;

	direction: ltr;
	text-align: right;

	caret-color: #55ff7d;
}

.gpwh-hours-custom-input::placeholder {
	color:
		rgba(255, 208, 91, 0.28);
}

.gpwh-hours-custom-input:focus {
	border-color: #ffb84d;

	box-shadow:
		0 0 0 4px rgba(255, 184, 77, 0.08),
		0 0 24px rgba(255, 159, 28, 0.11);

	outline: none;
}


/* Clock */

@keyframes gpwh-clock-hand {

	from {
		transform:
			translate(-50%, -100%)
			rotate(25deg);
	}

	to {
		transform:
			translate(-50%, -100%)
			rotate(385deg);
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-step--hours .gpwh-step__inner {
		padding: 1.15rem;
		border-radius: 23px;
	}

	.gpwh-hours-head {
		align-items: flex-start;
	}

	.gpwh-hours-clock {
		width: 60px;
		height: 60px;
		flex-basis: 60px;
	}

	.gpwh-hours-clock__hand {
		height: 19px;
	}

	.gpwh-step--hours h2 {
		font-size:
			clamp(1.6rem, 8vw, 2.3rem);
	}

	.gpwh-hours-choices {
		grid-template-columns:
			repeat(3, minmax(0, 1fr));

		gap: 0.65rem;
	}

	.gpwh-hour-choice {
		min-height: 80px;
	}

	.gpwh-hours-custom-input {
		width: 100%;
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.gpwh-step--hours .gpwh-step__inner {
		transition: none;
	}

	.gpwh-step--hours.is-visible .gpwh-step__inner {
		transform: none;
	}

	.gpwh-hours-clock__hand {
		animation: none;
	}

}
/* =========================================================
   CUSTOM HOURS — TIME INPUT V2
   ========================================================= */

.gpwh-hours-custom {
	position: relative;

	width: min(440px, 100%);

	margin-top: 1.25rem;
	padding: 1rem;

	border:
		1px solid rgba(255, 184, 77, 0.17);

	border-radius: 18px;

	background:
		linear-gradient(
			135deg,
			rgba(255, 184, 77, 0.055),
			rgba(85, 255, 125, 0.025)
		);
}

.gpwh-hours-custom label {
	display: flex;
	align-items: center;
	gap: 0.45rem;

	margin: 0 0 0.65rem;

	color: #b5bcb3;

	font-size: 0.8rem;
	font-weight: 900;
}

.gpwh-hours-custom label::before {
	content: "?";

	display: grid;
	place-items: center;

	width: 20px;
	height: 20px;

	border:
		1px solid rgba(255, 184, 77, 0.40);

	border-radius: 50%;

	color: #ffb84d;

	background:
		rgba(255, 184, 77, 0.07);

	font-size: 0.7rem;
	font-weight: 900;
}


/* Input becomes a proper time module */

.gpwh-hours-custom {
	--gpwh-custom-clock-size: 54px;
}

.gpwh-hours-custom-input {
	display: block;

	width: 100%;
	height: 64px;

	box-sizing: border-box;

	padding:
		0
		calc(var(--gpwh-custom-clock-size) + 1.1rem)
		0
		1rem;

	border:
		2px solid rgba(255, 184, 77, 0.30);

	border-radius: 16px;

	color: #ffd05b !important;

	background:
		linear-gradient(
			90deg,
			#090c09,
			#121008
		) !important;

	box-shadow:
		inset 0 0 22px rgba(0, 0, 0, 0.34);

	font: inherit;
	font-size: 1.55rem;
	font-weight: 900;

	direction: ltr;
	text-align: right;

	caret-color: #55ff7d;

	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.gpwh-hours-custom-input::placeholder {
	color:
		rgba(255, 208, 91, 0.28);

	opacity: 1;
}

.gpwh-hours-custom-input:focus {
	border-color: #ffb84d;

	transform: translateY(-2px);

	outline: none;

	box-shadow:
		0 0 0 4px rgba(255, 184, 77, 0.08),
		0 0 28px rgba(255, 159, 28, 0.14),
		inset 0 0 22px rgba(0, 0, 0, 0.34);
}


/*
 * Interactive clock attached to the field.
 * It is decorative, so no extra HTML is needed.
 */

.gpwh-hours-custom::before {
	content: "◷";

	position: absolute;

	right: 1.3rem;
	bottom: 1.32rem;

	z-index: 2;

	display: grid;
	place-items: center;

	width: var(--gpwh-custom-clock-size);
	height: var(--gpwh-custom-clock-size);

	pointer-events: none;

	border:
		1px solid rgba(85, 255, 125, 0.38);

	border-radius: 50%;

	color: #78ff95;

	background:
		radial-gradient(
			circle,
			rgba(85, 255, 125, 0.14),
			rgba(8, 16, 10, 0.95) 65%
		);

	box-shadow:
		0 0 22px rgba(85, 255, 125, 0.11);

	font-size: 1.65rem;

	animation:
		gpwh-custom-clock-pulse
		2.2s
		ease-in-out
		infinite;
}


/* When the user is typing, the clock wakes up */

.gpwh-hours-custom:focus-within::before {
	color: #ffd05b;

	border-color:
		rgba(255, 184, 77, 0.72);

	box-shadow:
		0 0 30px rgba(255, 159, 28, 0.22);

	animation-duration: 1s;
}


@keyframes gpwh-custom-clock-pulse {

	0%,
	100% {
		transform: scale(0.94);
		opacity: 0.70;
	}

	50% {
		transform: scale(1.05);
		opacity: 1;
	}

}


@media (max-width: 760px) {

	.gpwh-hours-custom {
		width: 100%;
		padding: 0.85rem;

		--gpwh-custom-clock-size: 48px;
	}

	.gpwh-hours-custom-input {
		height: 60px;

		padding-right:
			calc(
				var(--gpwh-custom-clock-size)
				+ 0.9rem
			);

		font-size: 1.35rem;
	}

	.gpwh-hours-custom::before {
		right: 1.1rem;
		bottom: 1.2rem;
	}

}


@media (prefers-reduced-motion: reduce) {

	.gpwh-hours-custom::before {
		animation: none;
	}

}

/* =========================================================
   CUSTOM HOURS CLOCK — LEFT SIDE FIX
   ========================================================= */

.gpwh-hours-custom-input {
	padding:
		0
		1rem
		0
		calc(var(--gpwh-custom-clock-size) + 1.1rem);
}

.gpwh-hours-custom::before {
	right: auto;
	left: 1.3rem;
}

@media (max-width: 760px) {

	.gpwh-hours-custom-input {
		padding-right: 0.9rem;

		padding-left:
			calc(
				var(--gpwh-custom-clock-size)
				+ 0.9rem
			);
	}

	.gpwh-hours-custom::before {
		right: auto;
		left: 1.1rem;
	}

}
/* =========================================================
   CUSTOM HOURS CONFIRM
   ========================================================= */

.gpwh-hours-custom-confirm {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	width: 100%;

	margin-top: 0.85rem;
	min-height: 50px;
	padding: 0.75rem 1rem;

	border:
		1px solid rgba(255, 184, 77, 0.55);

	border-radius: 14px;

	color: #130d04;

	background:
		linear-gradient(
			135deg,
			#ffd05b,
			#ff9f1c
		);

	box-shadow:
		0 10px 28px rgba(255, 159, 28, 0.16);

	font: inherit;
	font-size: 0.9rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		opacity 180ms ease,
		filter 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-hours-custom-confirm:not(:disabled):hover {
	transform: translateY(-2px);

	box-shadow:
		0 12px 32px rgba(255, 159, 28, 0.28),
		0 0 24px rgba(255, 184, 77, 0.14);
}

.gpwh-hours-custom-confirm:focus-visible {
	outline: 3px solid #55ff7d;
	outline-offset: 3px;
}


/* Empty / invalid state */

.gpwh-hours-custom-confirm:disabled {
	opacity: 0.22;

	color: #8b8376;

	border-color:
		rgba(255, 255, 255, 0.10);

	background:
		linear-gradient(
			135deg,
			#24231f,
			#181915
		);

	box-shadow: none;

	filter:
		saturate(0.25);

	cursor: not-allowed;
}


/* Valid state gets a little life */

.gpwh-hours-custom-input.has-value
	+ .gpwh-hours-custom-confirm:not(:disabled) {

	animation:
		gpwh-hours-confirm-ready
		1.8s
		ease-in-out
		infinite;
}


@keyframes gpwh-hours-confirm-ready {

	0%,
	100% {
		box-shadow:
			0 8px 24px rgba(255, 159, 28, 0.14);
	}

	50% {
		box-shadow:
			0 10px 30px rgba(255, 159, 28, 0.27),
			0 0 20px rgba(255, 184, 77, 0.12);
	}

}


@media (prefers-reduced-motion: reduce) {

	.gpwh-hours-custom-input.has-value
		+ .gpwh-hours-custom-confirm:not(:disabled) {

		animation: none;
	}

}
/* =========================================================
   REVEAL 01 — VALUE OF ONE WORK HOUR
   ========================================================= */

.gpwh-reveal--hour-value[hidden] {
	display: none;
}

.gpwh-reveal--hour-value {
	padding:
		clamp(2rem, 6vw, 5rem)
		1.25rem
		clamp(4rem, 9vw, 7rem);
}

.gpwh-reveal__inner {
	position: relative;
	overflow: hidden;

	width: min(860px, 100%);
	margin-inline: auto;
	padding:
		clamp(1.6rem, 4vw, 3rem);

	border:
		1px solid rgba(85, 255, 125, 0.32);

	border-radius: 32px;

	text-align: center;

	background:
		radial-gradient(
			circle at 50% 0%,
			rgba(85, 255, 125, 0.17),
			transparent 20rem
		),
		radial-gradient(
			circle at 10% 90%,
			rgba(255, 159, 28, 0.14),
			transparent 18rem
		),
		linear-gradient(
			150deg,
			#071009,
			#10130b 55%,
			#171007
		);

	box-shadow:
		0 35px 90px rgba(0, 0, 0, 0.44),
		0 0 55px rgba(85, 255, 125, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);

	opacity: 0;

	transform:
		translateY(28px)
		scale(0.975);

	transition:
		opacity 600ms ease,
		transform 600ms ease;
}

.gpwh-reveal--hour-value.is-visible
	.gpwh-reveal__inner {

	opacity: 1;

	transform:
		translateY(0)
		scale(1);
}


/* Scanning energy */

.gpwh-reveal__inner::before {
	content: "";

	position: absolute;

	top: 0;
	left: -45%;

	width: 45%;
	height: 3px;

	pointer-events: none;

	background:
		linear-gradient(
			90deg,
			transparent,
			#55ff7d,
			#ffd05b,
			transparent
		);

	box-shadow:
		0 0 24px rgba(85, 255, 125, 0.75);

	animation:
		gpwh-hour-reveal-scan
		3.4s
		ease-in-out
		infinite;
}


/* PRICE → TIME */

.gpwh-reveal__signal {
	display: inline-flex;

	margin: 0 0 1rem;
	padding:
		0.45rem
		0.75rem;

	border:
		1px solid rgba(85, 255, 125, 0.35);

	border-radius: 999px;

	color: #78ff95;

	background:
		rgba(85, 255, 125, 0.07);

	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.12em;

	direction: ltr;

	box-shadow:
		0 0 22px rgba(85, 255, 125, 0.08);
}

.gpwh-reveal__eyebrow {
	margin:
		0
		0
		0.4rem;

	color: #96a096;

	font-size: 0.82rem;
	font-weight: 800;
}

.gpwh-reveal--hour-value h2 {
	margin: 0;

	color: #f9fff9;

	font-size:
		clamp(2.2rem, 6vw, 4.2rem);

	font-weight: 900;
	line-height: 1.25;

	text-shadow:
		0 0 35px rgba(85, 255, 125, 0.12);
}


/* =========================================================
   CLOCK = MONEY
   ========================================================= */

.gpwh-hour-value-machine {
	display: grid;

	grid-template-columns:
		minmax(110px, 1fr)
		auto
		minmax(180px, 1.4fr);

	align-items: center;

	gap:
		clamp(0.8rem, 3vw, 1.5rem);

	margin:
		clamp(1.6rem, 4vw, 2.5rem)
		auto;

	padding:
		clamp(1.1rem, 3vw, 1.6rem);

	border:
		1px solid rgba(255, 255, 255, 0.09);

	border-radius: 24px;

	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.045),
			rgba(0, 0, 0, 0.20)
		);

	box-shadow:
		inset 0 0 35px rgba(0, 0, 0, 0.20);
}


/* Clock */

.gpwh-hour-value-clock {
	position: relative;

	width:
		clamp(92px, 14vw, 125px);

	aspect-ratio: 1;

	margin-inline: auto;

	border:
		3px solid #ffb84d;

	border-radius: 50%;

	background:
		radial-gradient(
			circle,
			#181207,
			#080b08 70%
		);

	box-shadow:
		0 0 0 7px rgba(255, 184, 77, 0.05),
		0 0 38px rgba(255, 159, 28, 0.22),
		inset 0 0 24px rgba(255, 184, 77, 0.06);

	animation:
		gpwh-hour-clock-breathe
		2.8s
		ease-in-out
		infinite;
}

.gpwh-hour-value-clock::before {
	content: "1h";

	position: absolute;

	left: 50%;
	bottom: 17%;

	transform:
		translateX(-50%);

	color: #78ff95;

	font-size: 0.72rem;
	font-weight: 900;

	direction: ltr;
}

.gpwh-hour-value-clock__hand {
	position: absolute;

	top: 50%;
	left: 50%;

	width: 4px;
	height: 35%;

	border-radius: 999px;

	background:
		linear-gradient(
			to top,
			#ff9f1c,
			#ffd05b
		);

	box-shadow:
		0 0 10px rgba(255, 184, 77, 0.7);

	transform-origin:
		50% 100%;

	transform:
		translate(-50%, -100%)
		rotate(35deg);

	animation:
		gpwh-hour-value-hand
		4s
		linear
		infinite;
}

.gpwh-hour-value-clock__dot {
	position: absolute;

	top: 50%;
	left: 50%;

	width: 11px;
	height: 11px;

	border-radius: 50%;

	background: #55ff7d;

	box-shadow:
		0 0 14px rgba(85, 255, 125, 0.85);

	transform:
		translate(-50%, -50%);
}


/* Equals */

.gpwh-hour-value-equals {
	color: #6e786e;

	font-size:
		clamp(1.6rem, 4vw, 2.5rem);

	font-weight: 900;

	direction: ltr;
}


/* Money value */

.gpwh-hour-value-money {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-width: 0;
}

.gpwh-hour-value-money strong {
	display: block;

	max-width: 100%;

	color: #7cff94;

	font-size:
		clamp(2.5rem, 7vw, 5rem);

	font-weight: 900;
	line-height: 1;

	letter-spacing: -0.04em;

	font-variant-numeric:
		tabular-nums;

	text-shadow:
		0 0 16px rgba(85, 255, 125, 0.32),
		0 0 38px rgba(85, 255, 125, 0.13);
}

.gpwh-hour-value-money span {
	margin-top: 0.55rem;

	color: #929c92;

	font-size: 0.74rem;
	font-weight: 700;
}


/* Supporting copy */

.gpwh-hour-value-note {
	max-width: 600px;

	margin:
		0
		auto;

	color: #b4bcb3;

	font-size:
		clamp(0.9rem, 2vw, 1.05rem);

	font-weight: 700;
	line-height: 1.9;
}


/* Continue */

.gpwh-hour-value-continue {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;

	margin-top: 1.4rem;
	min-height: 54px;

	padding:
		0.8rem
		1.4rem;

	border:
		1px solid rgba(255, 184, 77, 0.65);

	border-radius: 16px;

	color: #130d04;

	background:
		linear-gradient(
			135deg,
			#ffd05b,
			#ff9f1c
		);

	box-shadow:
		0 12px 34px rgba(255, 159, 28, 0.20),
		0 0 25px rgba(255, 184, 77, 0.08);

	font: inherit;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-hour-value-continue:hover {
	transform:
		translateY(-3px);

	box-shadow:
		0 15px 38px rgba(255, 159, 28, 0.30),
		0 0 30px rgba(255, 184, 77, 0.13);
}

.gpwh-hour-value-continue:focus-visible {
	outline:
		3px solid #55ff7d;

	outline-offset: 3px;
}


/* =========================================================
   MOTION
   ========================================================= */

@keyframes gpwh-hour-reveal-scan {

	0% {
		left: -45%;
		opacity: 0;
	}

	15% {
		opacity: 1;
	}

	85% {
		opacity: 1;
	}

	100% {
		left: 105%;
		opacity: 0;
	}

}

@keyframes gpwh-hour-clock-breathe {

	0%,
	100% {
		transform: scale(0.97);
	}

	50% {
		transform: scale(1.03);
	}

}

@keyframes gpwh-hour-value-hand {

	from {
		transform:
			translate(-50%, -100%)
			rotate(35deg);
	}

	to {
		transform:
			translate(-50%, -100%)
			rotate(395deg);
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-reveal--hour-value {
		padding:
			1.5rem
			0.85rem
			4.5rem;
	}

	.gpwh-reveal__inner {
		padding:
			1.25rem;

		border-radius: 24px;
	}

	.gpwh-hour-value-machine {
		grid-template-columns:
			1fr;

		gap: 0.75rem;

		border-radius: 19px;
	}

	.gpwh-hour-value-equals {
		line-height: 1;
	}

	.gpwh-hour-value-clock {
		width: 96px;
	}

	.gpwh-hour-value-money strong {
		font-size:
			clamp(2.6rem, 15vw, 4.2rem);
	}

	.gpwh-hour-value-continue {
		width: 100%;
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.gpwh-reveal__inner {
		transition: none;
	}

	.gpwh-reveal--hour-value.is-visible
		.gpwh-reveal__inner {

		transform: none;
	}

	.gpwh-reveal__inner::before,
	.gpwh-hour-value-clock,
	.gpwh-hour-value-clock__hand {
		animation: none;
	}

	.gpwh-hour-value-continue {
		transition: none;
	}

	.gpwh-hour-value-continue:hover {
		transform: none;
	}

}
/* =========================================================
   WOW REVEAL — PRICE → WORK HOURS
   ========================================================= */

.gpwh-reveal--work-hours[hidden] {
	display: none;
}

.gpwh-reveal--work-hours {
	padding:
		clamp(2rem, 5vw, 4rem)
		1rem
		clamp(4rem, 8vw, 6rem);
}

.gpwh-work-hours__inner {
	position: relative;
	overflow: hidden;

	width: min(920px, 100%);
	margin-inline: auto;

	padding:
		clamp(1.5rem, 4vw, 2.6rem);

	border:
		1px solid rgba(255, 184, 77, 0.30);

	border-radius: 32px;

	background:
		radial-gradient(
			circle at 10% 15%,
			rgba(85, 255, 125, 0.13),
			transparent 19rem
		),
		radial-gradient(
			circle at 90% 85%,
			rgba(255, 159, 28, 0.17),
			transparent 20rem
		),
		linear-gradient(
			135deg,
			#07100a 0%,
			#10120b 48%,
			#181006 100%
		);

	box-shadow:
		0 35px 90px rgba(0, 0, 0, 0.45),
		inset 0 1px 0 rgba(255, 255, 255, 0.055);

	opacity: 0;

	transform:
		translateY(28px)
		scale(0.98);

	transition:
		opacity 550ms ease,
		transform 550ms ease;
}

.gpwh-reveal--work-hours.is-visible
	.gpwh-work-hours__inner {

	opacity: 1;

	transform:
		translateY(0)
		scale(1);
}


/* =========================================================
   TITLE
   ========================================================= */

.gpwh-work-hours__signal {
	width: fit-content;

	margin:
		0
		auto
		0.85rem;

	padding:
		0.42rem
		0.72rem;

	border:
		1px solid rgba(255, 184, 77, 0.35);

	border-radius: 999px;

	color: #ffd05b;

	background:
		rgba(255, 159, 28, 0.07);

	font-size: 0.68rem;
	font-weight: 900;
	letter-spacing: 0.09em;

	direction: ltr;
}

.gpwh-reveal--work-hours h2 {
	margin: 0;

	text-align: center;

	color: #f9fff9;

	font-size:
		clamp(2rem, 5vw, 3.7rem);

	font-weight: 900;
	line-height: 1.3;

	text-shadow:
		0 0 30px rgba(255, 184, 77, 0.10);
}


/* =========================================================
   CONVERSION STAGE
   ========================================================= */

.gpwh-conversion-stage {
	position: relative;

	display: grid;

	grid-template-columns:
		minmax(180px, 1fr)
		minmax(120px, 0.65fr)
		minmax(180px, 1fr);

	align-items: center;

	gap: 1rem;

	margin-top: 1.7rem;
	padding:
		clamp(1rem, 3vw, 1.5rem);

	border:
		1px solid rgba(255, 255, 255, 0.09);

	border-radius: 25px;

	background:
		linear-gradient(
			90deg,
			rgba(85, 255, 125, 0.045),
			rgba(255, 255, 255, 0.018),
			rgba(255, 159, 28, 0.05)
		);

	box-shadow:
		inset 0 0 35px rgba(0, 0, 0, 0.20);
}


/* Price side */

.gpwh-conversion-price {
	display: flex;
	flex-direction: column;
	align-items: center;

	min-width: 0;

	text-align: center;
}

.gpwh-conversion-price > span {
	color: #9ca69c;

	font-size: 0.76rem;
	font-weight: 700;
}

.gpwh-conversion-price > span strong {
	color: #78ff95;

	font-weight: 900;
}

.gpwh-conversion-price > b {
	display: block;

	margin-top: 0.4rem;

	max-width: 100%;

	color: #72ff8e;

	font-size:
		clamp(1.9rem, 5vw, 3.5rem);

	font-weight: 900;
	line-height: 1;

	font-style: normal;

	overflow-wrap: anywhere;

	text-shadow:
		0 0 22px rgba(85, 255, 125, 0.20);

	font-variant-numeric:
		tabular-nums;
}

.gpwh-conversion-price > i {
	display: block;

	margin-top: 0.6rem;

	font-size: 1.55rem;
	font-style: normal;

	animation:
		gpwh-conversion-money
		1.8s
		ease-in-out
		infinite;
}


/* =========================================================
   ENERGY STREAM
   ========================================================= */

.gpwh-conversion-stream {
	position: relative;

	height: 66px;

	overflow: hidden;

	border-inline:
		1px solid rgba(255, 255, 255, 0.06);
}

.gpwh-conversion-stream::before {
	content: "";

	position: absolute;

	top: 50%;
	left: 8%;
	right: 8%;

	height: 2px;

	transform:
		translateY(-50%);

	background:
		linear-gradient(
			90deg,
			#55ff7d,
			#c4e35d,
			#ffb84d
		);

	box-shadow:
		0 0 15px rgba(255, 184, 77, 0.28);
}

.gpwh-conversion-stream span {
	position: absolute;

	top: 50%;
	left: 5%;

	width: 8px;
	height: 8px;

	border-radius: 50%;

	background: #55ff7d;

	box-shadow:
		0 0 12px currentColor;

	transform:
		translateY(-50%);

	animation:
		gpwh-conversion-particle
		2.2s
		linear
		infinite;
}

.gpwh-conversion-stream span:nth-child(2) {
	animation-delay: -0.44s;
}

.gpwh-conversion-stream span:nth-child(3) {
	animation-delay: -0.88s;
}

.gpwh-conversion-stream span:nth-child(4) {
	animation-delay: -1.32s;
}

.gpwh-conversion-stream span:nth-child(5) {
	animation-delay: -1.76s;
}


/* =========================================================
   TIME SIDE
   ========================================================= */

.gpwh-conversion-time {
	display: flex;
	flex-direction: column;
	align-items: center;

	min-width: 0;

	text-align: center;
}

.gpwh-conversion-clock {
	position: relative;

	width: 58px;
	height: 58px;

	border:
		2px solid #ffb84d;

	border-radius: 50%;

	background: #0b0d08;

	box-shadow:
		0 0 24px rgba(255, 159, 28, 0.18);
}

.gpwh-conversion-clock::after {
	content: "";

	position: absolute;

	top: 50%;
	left: 50%;

	width: 8px;
	height: 8px;

	border-radius: 50%;

	background: #55ff7d;

	box-shadow:
		0 0 10px rgba(85, 255, 125, 0.75);

	transform:
		translate(-50%, -50%);
}

.gpwh-conversion-clock span {
	position: absolute;

	left: 50%;
	top: 50%;

	width: 3px;
	height: 18px;

	border-radius: 999px;

	background: #ffd05b;

	transform-origin:
		50% 100%;

	transform:
		translate(-50%, -100%);

	animation:
		gpwh-conversion-clock
		1.8s
		linear
		infinite;
}

.gpwh-conversion-time > strong {
	display: block;

	margin-top: 0.65rem;

	color: #ffd05b;

	font-size:
		clamp(2.6rem, 7vw, 5.4rem);

	font-weight: 900;
	line-height: 0.95;

	letter-spacing: -0.04em;

	text-shadow:
		0 0 18px rgba(255, 184, 77, 0.32),
		0 0 42px rgba(255, 159, 28, 0.13);

	font-variant-numeric:
		tabular-nums;
}

.gpwh-conversion-time > span {
	margin-top: 0.45rem;

	color: #ffbd5c;

	font-size: 0.8rem;
	font-weight: 900;
}


/* =========================================================
   PAYOFF
   ========================================================= */

.gpwh-work-hours-payoff {
	margin-top: 1.3rem;

	padding:
		1rem
		1.2rem;

	border:
		1px solid rgba(255, 184, 77, 0.16);

	border-radius: 18px;

	text-align: center;

	background:
		rgba(255, 159, 28, 0.045);
}

.gpwh-work-hours-payoff p {
	margin: 0;

	color: #aeb6ad;

	font-size: 0.9rem;
	font-weight: 700;
}

.gpwh-work-hours-payoff p strong {
	color: #ffd05b;

	font-size: 1.15em;
	font-weight: 900;

	direction: ltr;
}

.gpwh-work-hours-payoff h3 {
	margin:
		0.3rem
		0
		0;

	color: #ffffff;

	font-size:
		clamp(1.2rem, 3vw, 1.65rem);

	font-weight: 900;
}

.gpwh-work-hours-payoff h3 span {
	color: #78ff95;
}


/* =========================================================
   MOTION
   ========================================================= */

@keyframes gpwh-conversion-money {

	0%,
	100% {
		transform:
			translateY(0)
			rotate(-3deg);
	}

	50% {
		transform:
			translateY(-5px)
			rotate(3deg);
	}

}

@keyframes gpwh-conversion-particle {

	0% {
		left: 5%;

		background: #55ff7d;

		opacity: 0;
	}

	12% {
		opacity: 1;
	}

	75% {
		background: #ffd05b;
	}

	88% {
		opacity: 1;
	}

	100% {
		left: 90%;

		background: #ff9f1c;

		opacity: 0;
	}

}

@keyframes gpwh-conversion-clock {

	from {
		transform:
			translate(-50%, -100%)
			rotate(0deg);
	}

	to {
		transform:
			translate(-50%, -100%)
			rotate(360deg);
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-reveal--work-hours {
		padding:
			1.25rem
			0.85rem
			4.5rem;
	}

	.gpwh-work-hours__inner {
		padding: 1.15rem;

		border-radius: 24px;
	}

	.gpwh-reveal--work-hours h2 {
		font-size:
			clamp(1.75rem, 9vw, 2.5rem);
	}

	.gpwh-conversion-stage {
		grid-template-columns: 1fr;

		gap: 0.7rem;

		border-radius: 20px;
	}

	.gpwh-conversion-stream {
		width: min(240px, 100%);
		height: 42px;

		margin-inline: auto;

		border-inline: 0;
	}

	.gpwh-conversion-price > b {
		font-size:
			clamp(2rem, 12vw, 3rem);
	}

	.gpwh-conversion-time > strong {
		font-size:
			clamp(3.3rem, 18vw, 5rem);
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.gpwh-work-hours__inner {
		transition: none;
	}

	.gpwh-reveal--work-hours.is-visible
		.gpwh-work-hours__inner {

		transform: none;
	}

	.gpwh-conversion-price > i,
	.gpwh-conversion-stream span,
	.gpwh-conversion-clock span {
		animation: none;
	}

}
/* =========================================================
   WOW PERFORMANCE PASS
   Keep the meaning, reduce permanent GPU work
   ========================================================= */


/*
 * One moving conversion signal is enough.
 * The other four particles add cost without adding meaning.
 */

.gpwh-conversion-stream span:nth-child(n+2) {
	display: none;
}


/*
 * Slower, calmer conversion particle.
 */

.gpwh-conversion-stream span:first-child {
	animation-duration: 2.8s;

	box-shadow:
		0 0 8px currentColor;
}


/*
 * The clock does not need to spin continuously.
 * A slower hand still communicates time.
 */

.gpwh-conversion-clock span {
	animation-duration: 4.5s;

	box-shadow: none;
}


/*
 * Reduce expensive glow painting
 * in the new WOW section.
 */

.gpwh-work-hours__inner {
	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.38),
		inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.gpwh-conversion-stage {
	box-shadow:
		inset 0 0 22px rgba(0, 0, 0, 0.16);
}

.gpwh-conversion-time > strong {
	text-shadow:
		0 0 16px rgba(255, 184, 77, 0.22);
}


/*
 * Once the main conversion section is visible,
 * old sections don't need expensive ambient animation
 * to keep running visually above it.
 */


/* =========================================================
   WORK HOURS — NEXT REVEAL ACTION
   ========================================================= */

.gpwh-work-hours-actions {
	margin-top: 1.2rem;
	padding-top: 1.1rem;

	border-top:
		1px solid rgba(255, 255, 255, 0.07);
}

.gpwh-work-hours-actions > p {
	margin:
		0
		0
		0.75rem;

	color: #919b91;

	text-align: center;

	font-size: 0.78rem;
	font-weight: 700;
}

.gpwh-work-hours-action {
	appearance: none;

	display: grid;

	grid-template-columns:
		52px
		1fr;

	grid-template-areas:
		"icon title"
		"icon note";

	align-items: center;

	column-gap: 0.85rem;

	width: min(480px, 100%);

	margin-inline: auto;
	padding: 0.8rem 0.9rem;

	border:
		1px solid rgba(255, 184, 77, 0.34);

	border-radius: 17px;

	color: #fff;

	text-align: right;

	background:
		linear-gradient(
			110deg,
			rgba(255, 159, 28, 0.11),
			rgba(85, 255, 125, 0.045)
		);

	box-shadow:
		0 10px 30px rgba(0, 0, 0, 0.20);

	font: inherit;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-work-hours-action > span {
	grid-area: icon;

	display: grid;
	place-items: center;

	width: 52px;
	height: 52px;

	border-radius: 50%;

	color: #ffd05b;

	background:
		radial-gradient(
			circle,
			rgba(255, 184, 77, 0.15),
			rgba(0, 0, 0, 0.18)
		);

	border:
		1px solid rgba(255, 184, 77, 0.36);

	font-size: 1.45rem;

	box-shadow:
		0 0 20px rgba(255, 159, 28, 0.09);

	animation:
		gpwh-next-clock-pulse
		2.2s
		ease-in-out
		infinite;
}

.gpwh-work-hours-action strong {
	grid-area: title;

	color: #ffd05b;

	font-size: 0.95rem;
	font-weight: 900;
}

.gpwh-work-hours-action small {
	grid-area: note;

	margin-top: 0.15rem;

	color: #9ca59b;

	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.6;
}

.gpwh-work-hours-action:hover {
	transform: translateY(-2px);

	border-color:
		rgba(255, 184, 77, 0.65);

	box-shadow:
		0 13px 34px rgba(0, 0, 0, 0.25),
		0 0 24px rgba(255, 159, 28, 0.08);
}

.gpwh-work-hours-action:focus-visible {
	outline:
		3px solid #55ff7d;

	outline-offset: 3px;
}


@keyframes gpwh-next-clock-pulse {

	0%,
	100% {
		transform: scale(0.95);
		opacity: 0.75;
	}

	50% {
		transform: scale(1.04);
		opacity: 1;
	}

}


@media (prefers-reduced-motion: reduce) {

	.gpwh-work-hours-action,
	.gpwh-work-hours-action > span {
		animation: none;
		transition: none;
	}

	.gpwh-work-hours-action:hover {
		transform: none;
	}

}
/* =========================================================
   DESKTOP WOW COMPOSITION FIX
   ========================================================= */

@media (min-width: 761px) {

	/* Smaller reveal so it can breathe inside a normal screen */

	.gpwh-reveal--work-hours {
		padding:
			1.5rem
			1rem
			3.5rem;
	}

	.gpwh-work-hours__inner {
		width: min(860px, 100%);

		padding:
			1.4rem
			1.6rem
			1.7rem;
	}


	/* Main title was dominating the entire viewport */

	.gpwh-reveal--work-hours h2 {
		max-width: 700px;

		margin-inline: auto;

		font-size:
			clamp(2rem, 3.8vw, 3.25rem);

		line-height: 1.22;
	}


	/* More horizontal room for both factual numbers */

	.gpwh-conversion-stage {
		grid-template-columns:
			minmax(220px, 1fr)
			90px
			minmax(220px, 1fr);

		gap: 0.8rem;

		margin-top: 1.25rem;

		padding: 1rem;
	}


	/* Price must remain one readable number */

	.gpwh-conversion-price > b {
		white-space: nowrap;

		font-size:
			clamp(1.8rem, 3.4vw, 2.9rem);

		letter-spacing: -0.035em;
	}


	/* Work hours remain the visual hero */

	.gpwh-conversion-time > strong {
		white-space: nowrap;

		font-size:
			clamp(3rem, 5vw, 4.6rem);
	}


	/* Payoff does not need another giant block */

	.gpwh-work-hours-payoff {
		margin-top: 1rem;
		padding: 0.8rem 1rem;
	}

	.gpwh-work-hours-payoff h3 {
		font-size:
			clamp(1.2rem, 2vw, 1.5rem);
	}


	/* Keep the secondary reveal visually attached below its button */

	.gpwh-work-hours-actions {
		display: flex;
		flex-direction: column;
		align-items: center;

		width: 100%;
	}

	.gpwh-work-hours-actions > p {
		order: 1;
	}

	.gpwh-work-hours-action {
		order: 2;
	}

	.gpwh-continuous-result {
		order: 3;

		width: min(620px, 100%);

		margin:
			1rem
			auto
			0;
	}

}


/* =========================================================
   CONTINUOUS RESULT
   ========================================================= */

.gpwh-continuous-result[hidden] {
	display: none;
}

.gpwh-continuous-result {
	padding:
		1rem
		1.1rem;

	border:
		1px solid rgba(255, 184, 77, 0.22);

	border-radius: 18px;

	text-align: center;

	background:
		linear-gradient(
			135deg,
			rgba(255, 159, 28, 0.09),
			rgba(85, 255, 125, 0.035)
		);

	box-shadow:
		inset 0 0 24px rgba(0, 0, 0, 0.16);

	opacity: 0;

	transform:
		translateY(8px);

	transition:
		opacity 260ms ease,
		transform 260ms ease;
}

.gpwh-continuous-result.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.gpwh-continuous-result > p {
	margin: 0;

	color: #aeb6ad;

	font-size: 0.82rem;
	font-weight: 700;
}

.gpwh-continuous-result > p strong {
	color: #ffd05b;
}

.gpwh-continuous-result__time {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;

	gap: 0.4rem;

	margin:
		0.7rem
		0
		0.55rem;
}

.gpwh-continuous-result__time strong {
	color: #ffd05b;

	font-size:
		clamp(2rem, 4vw, 3rem);

	font-weight: 900;
	line-height: 1;

	text-shadow:
		0 0 15px rgba(255, 184, 77, 0.18);
}

.gpwh-continuous-result__time span {
	color: #ffffff;

	font-size: 0.95rem;
	font-weight: 900;
}

.gpwh-continuous-result__time i {
	margin-inline: 0.3rem;

	color: #667066;

	font-style: normal;
	font-weight: 900;
}

.gpwh-continuous-result > small {
	display: block;

	color: #889188;

	font-size: 0.7rem;
	font-weight: 600;
}


/* Keep large Arabic headings under control on both screen sizes */

.gpwh-step--hours h2,
.gpwh-step--days h2,
.gpwh-step--salary h2 {
	overflow-wrap: normal;
	word-break: normal;
}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-continuous-result {
		transition: none;
	}

}

/* Continuous result must stay hidden until the button is clicked */

.gpwh-continuous-result[hidden] {
	display: none !important;
}

.gpwh-continuous-result:not([hidden]) {
	display: block;
}

/* =========================================================
   CONTINUOUS BUTTON — BRAND COLOR FIX
   ========================================================= */

.gpwh-work-hours-action {
	border:
		1px solid rgba(255, 184, 77, 0.42) !important;

	color: #f8fff8 !important;

	background:
		linear-gradient(
			120deg,
			rgba(255, 159, 28, 0.14),
			rgba(85, 255, 125, 0.08)
		) !important;

	box-shadow:
		0 10px 28px rgba(0, 0, 0, 0.24),
		inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.gpwh-work-hours-action:hover {
	border-color:
		rgba(85, 255, 125, 0.72) !important;

	color: #ffffff !important;

	background:
		linear-gradient(
			120deg,
			rgba(85, 255, 125, 0.18),
			rgba(255, 159, 28, 0.13)
		) !important;

	box-shadow:
		0 13px 34px rgba(0, 0, 0, 0.28),
		0 0 26px rgba(85, 255, 125, 0.11) !important;
}

.gpwh-work-hours-action:hover strong {
	color: #78ff95;
}

.gpwh-work-hours-action:hover > span {
	border-color:
		rgba(85, 255, 125, 0.55);

	color: #78ff95;

	background:
		radial-gradient(
			circle,
			rgba(85, 255, 125, 0.16),
			rgba(0, 0, 0, 0.20)
		);
}
/* =========================================================
   CONTINUOUS REVEAL — STRICT ORDER FIX
   ========================================================= */

.gpwh-work-hours-actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: center;
}

.gpwh-work-hours-actions > p {
	order: 1 !important;
}

.gpwh-work-hours-actions > .gpwh-work-hours-action {
	order: 2 !important;
}

.gpwh-work-hours-actions > .gpwh-continuous-result {
	order: 3 !important;

	width: min(620px, 100%);

	margin:
		1rem
		auto
		0;
}

.gpwh-work-hours-actions > .gpwh-continuous-result[hidden] {
	display: none !important;
}

/* =========================================================
   SHARE ARTIFACT — CAMPAIGN CARD
   ========================================================= */

.gpwh-share {
	padding:
		clamp(2rem, 5vw, 4rem)
		1rem
		clamp(4rem, 8vw, 6rem);
}

.gpwh-share__inner {
	width: min(760px, 100%);
	margin-inline: auto;
}

.gpwh-share-heading {
	margin-bottom: 1.3rem;
	text-align: center;
}

.gpwh-share-heading__signal {
	width: fit-content;
	margin: 0 auto 0.7rem;
	padding: 0.4rem 0.7rem;

	border: 1px solid rgba(85, 255, 125, 0.32);
	border-radius: 999px;

	color: #78ff95;
	background: rgba(85, 255, 125, 0.07);

	font-size: 0.66rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	direction: ltr;
}

.gpwh-share-heading h2 {
	margin: 0;

	color: #fff;

	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 900;
	line-height: 1.3;
}

.gpwh-share-heading > p:last-child {
	margin: 0.55rem 0 0;

	color: #929b91;
	font-size: 0.85rem;
	font-weight: 700;
}


/* Card */

.gpwh-share-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	width: min(520px, 100%);
	aspect-ratio: 4 / 5;

	box-sizing: border-box;

	margin-inline: auto;
	padding: clamp(1.25rem, 4vw, 2rem);

	display: flex;
	flex-direction: column;

	border: 1px solid rgba(255, 184, 77, 0.30);
	border-radius: 30px;

	color: #fff;

	background:
		radial-gradient(
			circle at 15% 15%,
			rgba(85, 255, 125, 0.22),
			transparent 40%
		),
		radial-gradient(
			circle at 90% 82%,
			rgba(255, 159, 28, 0.24),
			transparent 42%
		),
		linear-gradient(
			145deg,
			#07100a 0%,
			#10120b 52%,
			#1a0e05 100%
		);

	box-shadow:
		0 35px 90px rgba(0, 0, 0, 0.48),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.gpwh-share-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;

	pointer-events: none;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.026) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.026) 1px,
			transparent 1px
		);

	background-size: 34px 34px;

	mask-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.75),
			transparent 75%
		);
}

.gpwh-share-card__brand {
	color: #72ff8e;

	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.16em;

	direction: ltr;
	text-align: left;
}

.gpwh-share-card__hook {
	margin:
		clamp(1rem, 4vw, 1.7rem)
		0
		0;

	color: #d7ddd6;

	font-size: clamp(1rem, 3vw, 1.35rem);
	font-weight: 800;
	line-height: 1.7;
}

.gpwh-share-card__hook strong {
	color: #ffd05b;

	font-size: 1.18em;
}


/* Item */

.gpwh-share-card__item {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;

	margin-top: auto;

	color: #9ba49a;

	font-size: 0.82rem;
	font-weight: 700;
}

.gpwh-share-card__item strong {
	color: #78ff95;

	font-size: 1.18em;
	font-weight: 900;

	overflow-wrap: anywhere;
}


/* Main result */

.gpwh-share-card__hero {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.55rem;

	margin:
		0.8rem
		0
		1rem;

	text-align: center;
}

.gpwh-share-card__hero > strong {
	color: #ffd05b;

	font-size: clamp(3.6rem, 13vw, 6.5rem);
	font-weight: 900;
	line-height: 0.9;

	letter-spacing: -0.055em;

	font-variant-numeric: tabular-nums;

	text-shadow:
		0 0 22px rgba(255, 184, 77, 0.30);
}

.gpwh-share-card__hero > span {
	color: #fff;

	font-size: clamp(1rem, 3vw, 1.35rem);
	font-weight: 900;
}


/* Small deterministic CSS clock */

.gpwh-share-card__clock {
	position: relative;

	width: 46px;
	height: 46px;
	flex: 0 0 46px;

	border: 2px solid #ffb84d;
	border-radius: 50%;

	background: #09100a;

	box-shadow:
		0 0 20px rgba(255, 159, 28, 0.15);
}

.gpwh-share-card__clock::after {
	content: "";

	position: absolute;
	top: 50%;
	left: 50%;

	width: 7px;
	height: 7px;

	border-radius: 50%;

	background: #55ff7d;

	transform: translate(-50%, -50%);

	box-shadow:
		0 0 9px rgba(85, 255, 125, 0.75);
}

.gpwh-share-card__clock span {
	position: absolute;

	left: 50%;
	top: 50%;

	width: 3px;
	height: 14px;

	border-radius: 999px;

	background: #ffd05b;

	transform-origin: 50% 100%;

	transform:
		translate(-50%, -100%)
		rotate(38deg);
}


/* Acquisition hook */

.gpwh-share-card__question {
	padding: 0.9rem 1rem;

	border: 1px solid rgba(85, 255, 125, 0.18);
	border-radius: 17px;

	text-align: center;

	background:
		rgba(85, 255, 125, 0.055);
}

.gpwh-share-card__question p {
	margin: 0;

	color: #a8b0a7;

	font-size: 0.75rem;
	font-weight: 700;
}

.gpwh-share-card__question strong {
	display: block;

	margin-top: 0.2rem;

	color: #fff;

	font-size: clamp(0.95rem, 3vw, 1.2rem);
	font-weight: 900;
}

.gpwh-share-card__footer {
	margin-top: 1rem;

	color: #7cff94;

	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.06em;

	direction: ltr;
	text-align: center;
}


/* Share buttons */

.gpwh-share-actions {
	display: flex;
	justify-content: center;
	gap: 0.7rem;

	margin-top: 1rem;
}

.gpwh-share-action {
	appearance: none;

	min-height: 48px;
	padding: 0.7rem 1rem;

	border: 1px solid rgba(255, 184, 77, 0.30);
	border-radius: 14px;

	color: #ffd05b;
	background: rgba(255, 159, 28, 0.07);

	font: inherit;
	font-size: 0.82rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		background 180ms ease;
}

.gpwh-share-action--primary {
	border-color: rgba(85, 255, 125, 0.45);

	color: #071008;

	background:
		linear-gradient(
			135deg,
			#7cff94,
			#55ff7d
		);
}

.gpwh-share-action:hover {
	transform: translateY(-2px);
	border-color: rgba(255, 184, 77, 0.70);
}

.gpwh-share-action--primary:hover {
	border-color: #78ff95;

	background:
		linear-gradient(
			135deg,
			#9affaa,
			#6dff89
		);
}


/* Mobile */

@media (max-width: 760px) {

	.gpwh-share {
		padding:
			1.5rem
			0.85rem
			4rem;
	}

	.gpwh-share-card {
		border-radius: 23px;
	}

	.gpwh-share-actions {
		flex-direction: column;
	}

	.gpwh-share-action {
		width: 100%;
	}

}


/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {

	.gpwh-share-action {
		transition: none;
	}

	.gpwh-share-action:hover {
		transform: none;
	}

}


/* =========================================================
   SHARE CARD — BRAND + FIT FIX
   ========================================================= */

.gpwh-share-card {
	padding:
		clamp(1rem, 3vw, 1.55rem);

	gap: 0;
}

.gpwh-share-card__brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;

	color: #f8fff8;

	direction: ltr;
	text-align: left;
}

.gpwh-share-card__brand strong {
	color: #f8fff8;

	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: -0.02em;
}


/* Temporary Grafixyy mark in this Experience identity */

.gpwh-share-card__mark {
	display: grid;
	place-items: center;

	width: 38px;
	height: 38px;
	flex: 0 0 38px;

	border:
		1px solid rgba(255, 255, 255, 0.15);

	border-radius: 11px;

	color: #071009;

	background:
		linear-gradient(
			135deg,
			#55ff7d 0%,
			#b9ef62 48%,
			#ffb12b 100%
		);

	box-shadow:
		0 7px 20px rgba(85, 255, 125, 0.15),
		0 0 20px rgba(255, 159, 28, 0.08);

	font-size: 1.05rem;
	font-weight: 900;
}


/* Tighter hierarchy so everything stays inside 4:5 */

.gpwh-share-card__hook {
	margin:
		0.8rem
		0
		0;

	font-size:
		clamp(0.92rem, 2.5vw, 1.15rem);

	line-height: 1.55;
}

.gpwh-share-card__item {
	margin-top: auto;
}

.gpwh-share-card__hero {
	margin:
		0.55rem
		0
		0.7rem;
}

.gpwh-share-card__hero > strong {
	font-size:
		clamp(3.3rem, 11vw, 5.5rem);
}

.gpwh-share-card__question {
	padding:
		0.7rem
		0.8rem;

	border-radius: 14px;
}

.gpwh-share-card__question p {
	font-size: 0.68rem;
}

.gpwh-share-card__question strong {
	margin-top: 0.12rem;

	font-size:
		clamp(0.86rem, 2.5vw, 1.05rem);

	line-height: 1.45;
}

.gpwh-share-card__footer {
	margin-top: 0.65rem;
}


/* Keep every visible card child inside the card */

.gpwh-share-card > * {
	flex-shrink: 0;
}


/* Mobile card fit */

@media (max-width: 760px) {

	.gpwh-share-card {
		padding: 1rem;
	}

	.gpwh-share-card__mark {
		width: 34px;
		height: 34px;
		flex-basis: 34px;

		border-radius: 10px;
	}

	.gpwh-share-card__hook {
		font-size: 0.9rem;
	}

	.gpwh-share-card__hero > strong {
		font-size:
			clamp(3rem, 16vw, 4.8rem);
	}

}

/* =========================================================
   SHARE CARD — FINAL SPACING PASS
   ========================================================= */

/* Center the temporary G optically */

.gpwh-share-card__mark {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	padding: 0 !important;

	line-height: 1 !important;
	text-align: center !important;

	font-family:
		Arial,
		sans-serif;

	font-size: 1.05rem;
	font-weight: 900;
}


/* Do not let flex auto-spacing create a giant empty hole */

.gpwh-share-card__item {
	margin-top:
		clamp(1.2rem, 5vw, 2.2rem);
}


/* Explicit vertical rhythm */

.gpwh-share-card__hook {
	margin-top: 0.85rem;
}

.gpwh-share-card__item {
	margin-bottom: 0;
}

.gpwh-share-card__hero {
	margin:
		0.65rem
		0
		0.85rem;
}

.gpwh-share-card__question {
	margin-top: 0;
}

.gpwh-share-card__footer {
	margin-top: auto;
	padding-top: 0.65rem;
}


/* =========================================================
   MOBILE CARD COMPOSITION
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-share-card {
		/*
		 * Keep 4:5, but distribute its contents deliberately.
		 */
		justify-content: flex-start;

		padding:
			1rem
			1rem
			0.9rem;
	}

	.gpwh-share-card__brand {
		min-height: 36px;
	}

	.gpwh-share-card__mark {
		width: 36px;
		height: 36px;
		flex-basis: 36px;

		font-size: 1rem;
	}

	.gpwh-share-card__brand strong {
		font-size: 0.76rem;
	}


	.gpwh-share-card__hook {
		margin-top: 0.75rem;

		font-size: 0.86rem;
		line-height: 1.5;
	}


	.gpwh-share-card__item {
		margin-top: 1.35rem;

		font-size: 0.72rem;
	}


	.gpwh-share-card__hero {
		margin:
			0.55rem
			0
			0.75rem;
	}

	.gpwh-share-card__hero > strong {
		font-size:
			clamp(3.2rem, 16vw, 4.5rem);
	}

	.gpwh-share-card__hero > span {
		font-size: 0.95rem;
	}


	.gpwh-share-card__clock {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}


	.gpwh-share-card__question {
		padding:
			0.65rem
			0.7rem;
	}

	.gpwh-share-card__question strong {
		font-size: 0.88rem;
	}


	.gpwh-share-card__footer {
		margin-top: auto;

		padding-top: 0.55rem;

		font-size: 0.68rem;
	}

}

/* =========================================================
   SHARE PREVIEW — COMPACT FIT
   ========================================================= */

.gpwh-share-card {
	aspect-ratio: auto !important;
	min-height: 0 !important;

	justify-content: flex-start !important;

	padding:
		1.25rem
		1.25rem
		1rem !important;
}

.gpwh-share-card__item {
	margin-top: 1.25rem !important;
}

.gpwh-share-card__hero {
	margin:
		0.55rem
		0
		0.75rem !important;
}

.gpwh-share-card__question {
	margin-top: 0 !important;
}

.gpwh-share-card__footer {
	margin-top: 0.8rem !important;
	padding-top: 0 !important;
}


/* Mobile preview should also stay compact */

@media (max-width: 760px) {

	.gpwh-share-card {
		aspect-ratio: auto !important;

		padding:
			1rem
			1rem
			0.9rem !important;
	}

	.gpwh-share-card__item {
		margin-top: 1rem !important;
	}

	.gpwh-share-card__footer {
		margin-top: 0.7rem !important;
	}

}
/* =========================================================
   SHARE CARD — MOBILE TRUE 4:5 PREVIEW
   Final export target: 1080 × 1350
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-share-card {
		width: 100%;

		aspect-ratio: 4 / 5 !important;
		min-height: 0 !important;

		padding:
			1rem
			1rem
			0.9rem !important;

		display: flex;
		flex-direction: column;
		justify-content: flex-start !important;
	}


	/* Brand */

	.gpwh-share-card__brand {
		flex: 0 0 auto;
	}


	/* Campaign hook */

	.gpwh-share-card__hook {
		flex: 0 0 auto;

		margin-top: 0.8rem !important;
	}


	/* Put breathing room BEFORE the personal result */

	.gpwh-share-card__item {
		flex: 0 0 auto;

		margin-top:
			clamp(1.3rem, 6vw, 2rem) !important;
	}


	/* Hero result */

	.gpwh-share-card__hero {
		flex: 0 0 auto;

		margin:
			0.55rem
			0
			0.8rem !important;
	}


	/* Acquisition question */

	.gpwh-share-card__question {
		flex: 0 0 auto;
	}


	/*
	 * The remaining space belongs between the
	 * acquisition hook and the brand footer.
	 * This keeps grafixyy.com anchored cleanly
	 * without stretching the content above.
	 */

	.gpwh-share-card__footer {
		margin-top: auto !important;

		padding-top: 0.8rem !important;

		flex: 0 0 auto;
	}

}

/* =========================================================
   MOBILE SHARE HERO — USE THE 4:5 SPACE
   Desktop untouched
   ========================================================= */

@media (max-width: 760px) {

	/*
	 * Give the result more visual territory.
	 */
	.gpwh-share-card__hero {
		display: grid;

		grid-template-columns:
			auto auto;

		grid-template-areas:
			"clock number"
			"label label";

		align-items: center;
		justify-content: center;

		column-gap: 0.85rem;
		row-gap: 0.25rem;

		margin:
			clamp(1rem, 5vw, 1.6rem)
			0
			clamp(1rem, 5vw, 1.5rem) !important;

		text-align: center;
	}


	/* Clock becomes part of the hero */

	.gpwh-share-card__clock {
		grid-area: clock;

		width: 62px;
		height: 62px;
		flex-basis: auto;

		border-width: 2px;

		box-shadow:
			0 0 0 5px rgba(255, 184, 77, 0.045),
			0 0 26px rgba(255, 159, 28, 0.20);
	}

	.gpwh-share-card__clock span {
		height: 20px;
	}


	/* The work-hours number is the campaign hero */

	.gpwh-share-card__hero > strong {
		grid-area: number;

		font-size:
			clamp(4.8rem, 24vw, 7rem);

		line-height: 0.88;

		letter-spacing: -0.06em;

		text-shadow:
			0 0 20px rgba(255, 184, 77, 0.36),
			0 0 44px rgba(255, 159, 28, 0.13);
	}


	/* "ساعة شغل" moves below the number */

	.gpwh-share-card__hero > span {
		grid-area: label;

		margin-top: 0.3rem;

		color: #fff;

		font-size:
			clamp(1rem, 5vw, 1.25rem);

		font-weight: 900;
	}


	/*
	 * Give the question a little more presence
	 * so the lower half does not feel empty.
	 */

	.gpwh-share-card__question {
		padding:
			0.85rem
			0.8rem !important;
	}

	.gpwh-share-card__question p {
		font-size: 0.72rem;
	}

	.gpwh-share-card__question strong {
		font-size:
			clamp(0.95rem, 4.5vw, 1.1rem);

		line-height: 1.5;
	}


	/*
	 * Don't push grafixyy.com all the way down anymore.
	 * The larger result now fills the card naturally.
	 */

	.gpwh-share-card__footer {
		margin-top:
			clamp(1rem, 5vw, 1.5rem) !important;

		padding-top: 0 !important;
	}

}

/* Share artifact stays hidden until the result is ready */

.gpwh-share[hidden] {
	display: none !important;
}

/* =========================================================
   DESKTOP — LARGE NUMBER SAFETY
   Mobile untouched
   ========================================================= */

@media (min-width: 761px) {

	/* Price → Time main stage */

	.gpwh-conversion-price,
	.gpwh-conversion-time {
		min-width: 0;
		width: 100%;
		overflow: hidden;
	}

	.gpwh-conversion-price > b {
		display: block;

		width: 100%;
		max-width: 100%;

		font-size:
			clamp(1.6rem, 2.6vw, 2.55rem);

		line-height: 1;

		white-space: nowrap;

		overflow: hidden;

		text-overflow: ellipsis;
	}

	.gpwh-conversion-time > strong {
		display: block;

		width: 100%;
		max-width: 100%;

		font-size:
			clamp(2.6rem, 4vw, 4rem);

		line-height: 0.95;

		white-space: nowrap;

		overflow: hidden;

		text-overflow: ellipsis;
	}


	/* Give both sides slightly more balanced room */

	.gpwh-conversion-stage {
		grid-template-columns:
			minmax(0, 1fr)
			76px
			minmax(0, 1fr);
	}


	/* Result sentence */

	.gpwh-work-hours-payoff p strong {
		overflow-wrap: anywhere;
	}


	/* Share card: protect huge work-hour results */

	.gpwh-share-card__hero {
		min-width: 0;
		width: 100%;
	}

	.gpwh-share-card__hero > strong {
		max-width: 100%;

		font-size:
			clamp(3rem, 5vw, 4.8rem);

		white-space: nowrap;

		overflow: hidden;

		text-overflow: ellipsis;
	}


	/* Long/custom item names must not break the card */

	.gpwh-share-card__item strong {
		max-width: 65%;

		overflow: hidden;

		text-overflow: ellipsis;

		white-space: nowrap;
	}

}
/* =========================================================
   BIG NUMBER MODE
   Never hide the factual WOW
   ========================================================= */

/*
 * Main conversion numbers must always remain visible.
 * Override the earlier ellipsis safety.
 */

.gpwh-conversion-price > b,
.gpwh-conversion-time > strong,
.gpwh-share-card__hero > strong {
	overflow: visible !important;
	text-overflow: clip !important;

	max-width: 100%;

	white-space: nowrap;
}


/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 761px) {

	.gpwh-conversion-price > b {
		font-size:
			clamp(1.35rem, 2.35vw, 2.35rem);
	}

	.gpwh-conversion-time > strong {
		font-size:
			clamp(2rem, 3.35vw, 3.4rem);

		letter-spacing: -0.055em;
	}

	.gpwh-share-card__hero > strong {
		font-size:
			clamp(2.7rem, 4.3vw, 4.4rem);
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 760px) {

	/*
	 * The conversion stage owns the width.
	 * Nothing is allowed to make it wider.
	 */

	.gpwh-conversion-stage,
	.gpwh-conversion-price,
	.gpwh-conversion-time {
		min-width: 0;
		width: 100%;

		box-sizing: border-box;
	}


	.gpwh-conversion-price > b {
		width: 100%;

		font-size:
			clamp(1.4rem, 8vw, 2.35rem);

		letter-spacing: -0.04em;

		text-align: center;
	}


	.gpwh-conversion-time > strong {
		width: 100%;

		font-size:
			clamp(2.2rem, 12vw, 3.6rem);

		letter-spacing: -0.06em;

		text-align: center;
	}


	/*
	 * Share card result stays prominent,
	 * but not wider than its card.
	 */

	.gpwh-share-card__hero {
		width: 100%;
		min-width: 0;
	}

	.gpwh-share-card__hero > strong {
		font-size:
			clamp(3rem, 17vw, 5rem);

		letter-spacing: -0.065em;
	}

}

/* =========================================================
   MOBILE SHARE CARD — SMALLER RESULT NUMBER
   ========================================================= */

@media (max-width: 760px) {

	.gpwh-share-card__hero > strong {
		font-size:
			clamp(2.6rem, 13vw, 4rem) !important;

		letter-spacing: -0.045em;

		line-height: 0.95;
	}

}
/* =========================================================
   EXPERIENCE FINALE
   ========================================================= */

.gpwh-finale[hidden] {
	display: none !important;
}

.gpwh-finale {
	padding:
		0
		1rem
		clamp(4rem, 8vw, 6rem);
}

.gpwh-finale__inner {
	width: min(760px, 100%);

	margin-inline: auto;
	padding:
		clamp(1.3rem, 3vw, 2rem);

	border:
		1px solid rgba(85, 255, 125, 0.22);

	border-radius: 26px;

	text-align: center;

	background:
		radial-gradient(
			circle at 50% 0%,
			rgba(85, 255, 125, 0.12),
			transparent 18rem
		),
		linear-gradient(
			145deg,
			#09100a,
			#151007
		);

	box-shadow:
		0 25px 60px rgba(0, 0, 0, 0.30);
}

.gpwh-finale__signal {
	width: fit-content;

	margin:
		0
		auto
		0.75rem;

	padding:
		0.4rem
		0.7rem;

	border:
		1px solid rgba(85, 255, 125, 0.30);

	border-radius: 999px;

	color: #78ff95;

	background:
		rgba(85, 255, 125, 0.06);

	font-size: 0.65rem;
	font-weight: 900;
	letter-spacing: 0.08em;

	direction: ltr;
}

.gpwh-finale h2 {
	margin: 0;

	color: #fff;

	font-size:
		clamp(1.8rem, 4vw, 2.7rem);

	font-weight: 900;
}

.gpwh-finale__inner > p:not(.gpwh-finale__signal) {
	margin:
		0.55rem
		0
		0;

	color: #9ca59b;

	font-size: 0.88rem;
	font-weight: 700;
}

.gpwh-finale__actions {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 0.75rem;

	margin-top: 1.2rem;
}

.gpwh-finale__button {
	appearance: none;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 52px;
	padding:
		0.75rem
		1.2rem;

	border:
		1px solid rgba(255, 184, 77, 0.36);

	border-radius: 15px;

	color: #ffd05b;

	background:
		rgba(255, 159, 28, 0.07);

	text-decoration: none;

	font: inherit;
	font-size: 0.9rem;
	font-weight: 900;

	cursor: pointer;

	transition:
		transform 180ms ease,
		border-color 180ms ease,
		box-shadow 180ms ease;
}

.gpwh-finale__button--primary {
	border-color:
		rgba(85, 255, 125, 0.50);

	color: #071009;

	background:
		linear-gradient(
			135deg,
			#7cff94,
			#55ff7d
		);

	box-shadow:
		0 10px 28px rgba(85, 255, 125, 0.13);
}

.gpwh-finale__button:hover {
	transform:
		translateY(-2px);

	border-color:
		#ffb84d;
}

.gpwh-finale__button--primary:hover {
	border-color:
		#78ff95;

	box-shadow:
		0 13px 32px rgba(85, 255, 125, 0.22);
}

.gpwh-finale__button:focus-visible {
	outline:
		3px solid #55ff7d;

	outline-offset: 3px;
}

@media (max-width: 760px) {

	.gpwh-finale {
		padding:
			0
			0.85rem
			4rem;
	}

	.gpwh-finale__actions {
		flex-direction: column;
	}

	.gpwh-finale__button {
		width: 100%;
	}

}

@media (prefers-reduced-motion: reduce) {

	.gpwh-finale__button {
		transition: none;
	}

	.gpwh-finale__button:hover {
		transform: none;
	}

}

/* =========================================================
   METHODOLOGY
   ========================================================= */

.gpwh-method[hidden] {
	display: none !important;
}

.gpwh-method {
	padding:
		0
		1rem
		clamp(2rem, 5vw, 4rem);
}

.gpwh-method__inner {
	width: min(760px, 100%);
	margin-inline: auto;

	padding:
		clamp(1.2rem, 3vw, 1.7rem);

	border:
		1px solid rgba(255, 255, 255, 0.10);

	border-radius: 24px;

	background:
		linear-gradient(
			145deg,
			rgba(255, 255, 255, 0.045),
			rgba(85, 255, 125, 0.025)
		);
}

.gpwh-method__signal {
	width: fit-content;

	margin: 0 0 0.55rem;
	padding: 0.35rem 0.6rem;

	border-radius: 999px;

	color: #78ff95;
	background:
		rgba(85, 255, 125, 0.07);

	font-size: 0.62rem;
	font-weight: 900;
	letter-spacing: 0.08em;

	direction: ltr;
}

.gpwh-method h2 {
	margin: 0;

	color: #fff;

	font-size:
		clamp(1.6rem, 4vw, 2.3rem);

	font-weight: 900;
}

.gpwh-method__intro {
	margin:
		0.55rem
		0
		1rem;

	color: #9da69c;

	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.8;
}

.gpwh-method__details {
	border:
		1px solid rgba(255, 184, 77, 0.18);

	border-radius: 16px;

	background:
		rgba(0, 0, 0, 0.16);

	overflow: hidden;
}

.gpwh-method__details summary {
	padding:
		0.9rem
		1rem;

	color: #ffd05b;

	font-size: 0.86rem;
	font-weight: 900;

	cursor: pointer;
}

.gpwh-method__body {
	display: grid;
	gap: 0.75rem;

	padding:
		0
		1rem
		1rem;
}

.gpwh-method__step {
	display: grid;
	grid-template-columns:
		34px 1fr;

	gap: 0.7rem;
	align-items: start;
}

.gpwh-method__step > strong {
	display: grid;
	place-items: center;

	width: 30px;
	height: 30px;

	border-radius: 9px;

	color: #071009;
	background: #78ff95;

	font-size: 0.75rem;
	font-weight: 900;
}

.gpwh-method__step p,
.gpwh-method__note p,
.gpwh-method__privacy p {
	margin: 0;

	color: #bbc2ba;

	font-size: 0.8rem;
	line-height: 1.8;
}

.gpwh-method__formula {
	padding: 0.8rem;

	border-radius: 12px;

	color: #ffd05b;
	background:
		rgba(255, 159, 28, 0.07);

	text-align: center;

	font-size: 0.75rem;
	font-weight: 800;
}

.gpwh-method__note,
.gpwh-method__privacy {
	padding: 0.85rem;

	border-radius: 13px;

	background:
		rgba(255, 255, 255, 0.035);
}

.gpwh-method__note > strong {
	color: #ffb84d;
}

.gpwh-method__privacy > strong {
	color: #78ff95;
}

@media (max-width: 760px) {

	.gpwh-method {
		padding:
			0
			0.85rem
			2.5rem;
	}

	.gpwh-method__inner {
		padding: 1rem;
		border-radius: 20px;
	}

}
/* =========================================================
   HOUR VALUE TITLE — DESKTOP
   ========================================================= */

@media (min-width: 761px) {

	#gpwh-hour-value-title {
		font-size:
			clamp(1.8rem, 3vw, 2.7rem);
		line-height: 1.35;
	}

}



