/*
 * DreamFast Studio — transparent pricing system.
 * Reuses the site's dark/lime editorial language: near-black bounded
 * surfaces, subtle lime grid, oversized headings, generous spacing.
 * Fully RTL; LTR overrides live under html[dir="ltr"].
 */

/* ---------- Accessible visually-hidden helper ---------- */
.price-sr {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* ---------- Pricing intro ---------- */
.pricing-intro {
	padding-block: 96px 40px;
}
.pricing-intro h1 {
	letter-spacing: -0.045em;
	margin: 0;
	font-size: clamp(46px, 6.2vw, 96px);
	font-weight: 700;
	line-height: 0.98;
}
.pricing-intro h1 em {
	color: var(--lime);
	font-style: normal;
}
.pricing-launch-note {
	color: rgb(206, 211, 202);
	max-width: 640px;
	margin: 30px 0 0;
	font-size: clamp(18px, 2vw, 21px);
	line-height: 1.7;
}
.pricing-launch-note strong {
	color: #fff;
	font-weight: 700;
}

/* ---------- Pricing grid ---------- */
.pricing-grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	padding-block: 20px 40px;
	display: grid;
}
.price-card {
	background: rgb(20, 23, 18);
	border: 1px solid rgb(52, 55, 48);
	border-radius: 28px;
	flex-direction: column;
	padding: 30px 30px 32px;
	display: flex;
	position: relative;
}
.price-card.is-featured {
	border-color: rgba(201, 255, 69, 0.5);
}

/* Card head: badge + title */
.price-card-top {
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	display: flex;
}
.price-badge {
	color: rgb(16, 18, 14);
	background: var(--lime);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	direction: ltr;
	border-radius: 999px;
	padding: 5px 11px;
	font-family: var(--font-accent);
	font-size: 10px;
	font-weight: 800;
}
.price-badge.is-muted {
	color: rgb(200, 205, 195);
	background: none;
	border: 1px solid rgb(60, 64, 56);
}
.price-card h3 {
	color: #fff;
	letter-spacing: -0.02em;
	margin: 0;
	font-size: 23px;
	font-weight: 700;
}

/* Prices: regular crossed-out (secondary) + prominent launch */
.price-figures {
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid rgb(45, 48, 43);
	display: flex;
}
.price-regular {
	color: rgb(138, 143, 133);
	font-size: 17px;
	font-weight: 500;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}
.price-prefix {
	color: rgb(170, 175, 165);
	margin-inline-end: 4px;
	font-size: 14px;
	font-weight: 500;
}
.price-launch {
	color: var(--lime);
	letter-spacing: -0.02em;
	font-size: 34px;
	font-weight: 800;
	line-height: 1;
}
.price-launch .price-prefix {
	color: rgb(190, 214, 140);
	font-size: 16px;
	font-weight: 600;
}
.price-unit {
	color: rgb(170, 175, 165);
	margin-inline-start: 4px;
	font-size: 14px;
	font-weight: 500;
}

/* Inclusions */
.price-includes {
	flex: 1;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.price-includes li {
	color: rgb(200, 205, 195);
	align-items: flex-start;
	gap: 10px;
	padding: 7px 0;
	font-size: 15px;
	line-height: 1.5;
	display: flex;
}
.price-includes li::before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	background:
		linear-gradient(var(--lime), var(--lime)) center/8px 1.5px no-repeat,
		linear-gradient(var(--lime), var(--lime)) center/1.5px 8px no-repeat;
	border: 1px solid rgba(201, 255, 69, 0.35);
	border-radius: 5px;
}

/* CTA */
.price-cta {
	color: rgb(16, 18, 14);
	background: var(--lime);
	border-radius: 12px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 22px;
	font-size: 15px;
	font-weight: 700;
	transition: transform 0.2s;
	display: flex;
}
.price-cta:hover {
	transform: translateY(-2px);
}
.price-cta.is-secondary {
	color: #fff;
	background: none;
	border: 1px solid rgb(58, 60, 55);
}
.price-cta i {
	font-style: normal;
	transition: transform 0.25s;
}
.price-cta:hover i {
	transform: translateX(-4px);
}
html[dir="ltr"] .price-cta:hover i {
	transform: translateX(4px);
}

/* ---------- Hourly work strip ---------- */
.pricing-hourly {
	background: rgb(20, 23, 18);
	border: 1px solid rgb(52, 55, 48);
	border-radius: 24px;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	margin-top: 8px;
	padding: 28px 32px;
	display: flex;
}
.pricing-hourly h3 {
	color: #fff;
	margin: 0 0 4px;
	font-size: 20px;
}
.pricing-hourly p {
	color: rgb(190, 195, 185);
	margin: 0;
	font-size: 14px;
}
.pricing-hourly .price-launch {
	white-space: nowrap;
}

/* ---------- Exclusions ---------- */
.pricing-excludes {
	background: rgb(20, 23, 18);
	border: 1px solid rgb(52, 55, 48);
	border-radius: 28px;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 40px;
	margin-top: 40px;
	padding: 44px 48px;
	display: grid;
}
.pricing-excludes h2 {
	color: #fff;
	letter-spacing: -0.03em;
	margin: 0;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.05;
}
.pricing-excludes h2 + p {
	color: rgb(190, 195, 185);
	margin: 16px 0 0;
	font-size: 15px;
	line-height: 1.7;
}
.pricing-excludes ul {
	grid-template-columns: 1fr 1fr;
	gap: 6px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
}
.pricing-excludes li {
	color: rgb(190, 195, 185);
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	align-items: flex-start;
	gap: 10px;
	padding: 11px 0;
	font-size: 14px;
	line-height: 1.45;
	display: flex;
}
.pricing-excludes li::before {
	content: "\2013"; /* en-dash */
	color: rgb(120, 125, 116);
	flex: 0 0 auto;
}

/* ---------- Disclaimer ---------- */
.pricing-disclaimer {
	color: rgb(150, 155, 146);
	max-width: 760px;
	margin: 34px auto 0;
	font-size: 13px;
	line-height: 1.75;
	text-align: center;
}
.pricing-disclaimer .price-draft {
	color: rgb(190, 214, 140);
}

/* Draft marker for content awaiting business/legal confirmation */
.price-draft {
	color: rgb(190, 214, 140);
	font-style: normal;
}

/* ---------- Homepage pricing teaser ---------- */
.pricing-teaser {
	border-top: 1px solid rgb(42, 45, 40);
	margin-top: 72px;
	padding-block: 76px 90px;
}
.pricing-teaser-head {
	max-width: 780px;
	margin-bottom: 46px;
}
.pricing-teaser-head h2 {
	letter-spacing: -0.045em;
	margin: 0;
	font-size: clamp(36px, 4.6vw, 60px);
	font-weight: 700;
	line-height: 1.02;
}
.pricing-teaser-head h2 em {
	color: var(--lime);
	font-style: normal;
}
.pricing-teaser-head p {
	color: rgb(206, 211, 202);
	max-width: 560px;
	margin: 22px 0 0;
	font-size: 18px;
	line-height: 1.7;
}
.pricing-teaser-cards {
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	display: grid;
}
.pricing-teaser .price-card {
	min-height: 250px;
}
.pricing-teaser .price-figures {
	border-bottom: 0;
	margin-bottom: 18px;
	padding-bottom: 0;
}
.pricing-teaser .price-cta {
	margin-top: auto;
}

/* Trust row */
.pricing-trust {
	border-top: 1px solid rgb(45, 48, 43);
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
	margin-top: 40px;
	padding-top: 34px;
	display: grid;
}
.pricing-trust div {
	color: rgb(206, 211, 202);
	align-items: center;
	gap: 12px;
	font-size: 15px;
	font-weight: 600;
	display: flex;
}
.pricing-trust div::before {
	content: "";
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background:
		linear-gradient(45deg, transparent 46%, var(--lime) 46% 54%, transparent 54%) no-repeat,
		linear-gradient(-45deg, transparent 46%, var(--lime) 46% 54%, transparent 54%) 3px 2px no-repeat;
	border: 1px solid rgba(201, 255, 69, 0.4);
	border-radius: 50%;
}
.pricing-teaser-more {
	margin-top: 40px;
}
.pricing-teaser-more .price-cta {
	display: inline-flex;
}

/* ---------- Responsive ---------- */
@media (width <= 1040px) {
	.pricing-grid,
	.pricing-teaser-cards { grid-template-columns: repeat(2, 1fr); }
	.pricing-excludes { grid-template-columns: 1fr; gap: 26px; padding: 34px; }
	.pricing-trust { grid-template-columns: 1fr; gap: 14px; }
}
@media (width <= 680px) {
	.pricing-grid,
	.pricing-teaser-cards { grid-template-columns: 1fr; }
	.pricing-excludes ul { grid-template-columns: 1fr; }
	.pricing-intro { padding-block: 64px 24px; }
	.pricing-teaser { padding-block: 60px 70px; }
	.pricing-hourly { flex-direction: column; align-items: flex-start; padding: 24px; }
}
