/* ------------------------------------------------------------------
   Service pages (template-app.php first). Type, buttons and the lime
   accent follow the home page.
   ------------------------------------------------------------------ */

/* The old header wrappers are fixed 850px blocks; let the new intro size them. */
.page-template-template-app .headerSection,
.page-template-template-servers .headerSection,
.page-template-template-host .headerSection,
.page-template-template-design-service .headerSection,
.page-template-template-design .headerSection,
.page-template-template-domain .headerSection,
.page-template-template-company .headerSection,
.page-template-template-developers .headerSection,
.page-template-template-sahefa .headerSection,
.page-template-template-store .headerSection,
.single-store .headerSection,
.page-template-template-blog .headerSection,
.page-template-template-contact .headerSection,
.page-template-template-syasa .headerSection,
.search .headerSection,
.error404 .headerSection,
.single-post .headerSection,
.category .headerSection,
.tag .headerSection {
	height: auto !important;
	background: var(--ed-ink-2) !important;
	overflow: hidden;
}

/* Intro: text on the right, the phone on the left. */
.ed-svc-hero {
	padding: 112px 0 0;
	color: #fff;
}

.ed-svc-hero,
.ed-svc-hero * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-svc-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: end;
	gap: 48px;
}

/* Bootstrap's .container clearfix pseudo-elements would take grid cells. */
.ed-svc-hero .ed-svc-hero__grid::before,
.ed-svc-hero .ed-svc-hero__grid::after {
	display: none;
}

.ed-svc-hero__text {
	padding-bottom: 96px;
}

.ed-svc-hero__label {
	display: inline-block;
	margin: 0 0 22px;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
}

.ed-svc-hero__title {
	margin: 0 0 22px;
	color: #fff;
	font-size: 54px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-svc-hero__lead {
	max-width: 640px;
	margin: 0 0 34px;
	color: #b9bcb5;
	font-size: 19px;
	line-height: 1.9;
	text-align: right !important;
}

.ed-svc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ed-svc-hero__btn {
	display: inline-flex;
	align-items: center;
	padding: 15px 28px;
	border: 2px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	background: transparent;
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.ed-svc-hero__btn:hover {
	background: #fff;
	color: var(--ed-ink) !important;
}

.ed-svc-hero__btn--main {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink-2) !important;
}

.ed-svc-hero__btn--main:hover {
	border-color: #fff;
	background: #fff;
	color: var(--ed-ink-2) !important;
	transform: translateY(-2px);
}

.ed-svc-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 28px;
	margin: 36px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .14);
	list-style: none;
	color: #b9bcb5;
	font-size: 16px;
}

.ed-svc-hero__facts b {
	color: var(--ed-lime);
	font-weight: 900;
	unicode-bidi: isolate;
}

/* The phone stands on the bottom edge of the section. */
.ed-svc-hero__media {
	display: flex;
	justify-content: center;
}

.ed-phone {
	position: relative;
	width: 320px;
	height: 560px;
	margin-bottom: -70px;
	padding: 14px;
	border-radius: 54px;
	background: var(--ed-ink);
	/* A soft lime glow behind the phone. */
	box-shadow: 0 0 0 2px #333, 0 0 120px -20px rgba(171, 250, 8, .35);
}

.ed-phone__island {
	position: absolute;
	top: 26px;
	left: 50%;
	z-index: 2;
	width: 96px;
	height: 28px;
	border-radius: 20px;
	background: var(--ed-ink);
	transform: translateX(-50%);
}

.ed-phone__screen {
	height: 100%;
	padding: 64px 20px 0;
	border-radius: 42px;
	background: linear-gradient(160deg, #1f2a12, #0e0e0e 60%);
	overflow: hidden;
}

.ed-phone__time {
	position: absolute;
	top: 30px;
	right: 44px;
	margin: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	direction: ltr;
}

.ed-phone__apps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-phone__apps li {
	aspect-ratio: 1;
	border-radius: 14px;
	background: #2a2a2a;
	overflow: hidden;
	animation: ed-app-in .5s cubic-bezier(.2, .7, .2, 1) both;
}

.ed-phone__apps li:nth-child(4n+2) { animation-delay: .05s; }
.ed-phone__apps li:nth-child(4n+3) { animation-delay: .1s; }
.ed-phone__apps li:nth-child(4n+4) { animation-delay: .15s; }

.ed-phone__apps img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes ed-app-in {
	from { opacity: 0; transform: scale(.7); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.ed-phone__apps li {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-svc-hero {
		padding-top: 100px;
	}

	.ed-svc-hero__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ed-svc-hero__text {
		padding-bottom: 48px;
	}

	.ed-svc-hero__title {
		font-size: 40px !important;
	}

	.ed-phone {
		width: 270px;
		height: 470px;
		margin-bottom: -60px;
	}
}

@media (max-width: 600px) {
	.ed-svc-hero {
		padding-top: 96px;
	}

	.ed-svc-hero__title {
		font-size: 31px !important;
	}

	.ed-svc-hero__lead {
		font-size: 17px;
	}

	.ed-svc-hero__btn {
		flex: 1 1 auto;
		justify-content: center;
		padding: 14px 20px;
	}

	.ed-svc-hero__facts {
		gap: 8px 20px;
		font-size: 15px;
	}

	.ed-phone {
		width: 240px;
		height: 420px;
		padding: 11px;
		border-radius: 44px;
	}

	.ed-phone__screen {
		padding: 54px 14px 0;
		border-radius: 34px;
	}

	.ed-phone__apps {
		gap: 14px 10px;
	}
}

/* ------------------------------------------------------------------
   Steps: five cards joined by a line, numbered 01–05.
   ------------------------------------------------------------------ */
.ed-steps {
	padding: 120px 0 104px;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-steps,
.ed-steps * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-steps__head {
	max-width: 720px;
	margin-bottom: 56px;
}

.ed-steps__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-steps__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-steps__title {
	margin: 0;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-steps__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* The line through the icons. */
.ed-steps__list::before {
	content: "";
	position: absolute;
	top: 53px;
	right: 40px;
	left: 40px;
	height: 2px;
	background: repeating-linear-gradient(to left, var(--ed-ink) 0 8px, transparent 8px 14px);
	opacity: .18;
}

.ed-step {
	position: relative;
	padding: 26px 22px 28px;
	border: 1px solid var(--ed-line);
	border-radius: 24px;
	background: var(--ed-surface);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.ed-step:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 24px 48px -30px rgba(17, 17, 17, .4);
	transform: translateY(-4px);
}

.ed-step__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
}

.ed-step__icon {
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	border-radius: 16px;
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-step:last-child .ed-step__icon {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-step__num {
	color: #c9c9c2;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

.ed-step__title {
	margin: 0 0 10px;
	color: var(--ed-text);
	font-size: 21px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-step__text {
	margin: 0;
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.8;
	text-align: right !important;
}

@media (max-width: 1199px) {
	.ed-steps__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ed-steps__list::before {
		display: none;
	}
}

@media (max-width: 767px) {
	.ed-steps {
		padding: 72px 0 72px;
	}

	.ed-steps__title {
		font-size: 30px !important;
	}

	.ed-steps__list {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	/* Phones: icon beside the text. */
	.ed-step {
		display: grid;
		grid-template-columns: 54px 1fr;
		grid-template-areas: "top title" "top text";
		column-gap: 16px;
		padding: 20px;
	}

	.ed-step__top {
		grid-area: top;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		margin: 0;
	}

	.ed-step__num {
		font-size: 18px;
	}

	.ed-step__title {
		grid-area: title;
		margin-bottom: 6px;
		font-size: 19px !important;
	}

	.ed-step__text {
		grid-area: text;
	}
}

/* ------------------------------------------------------------------
   Product promos (app-products.php): one block per SaaS product, in the
   product's own colors. Each brand sets the variables below.
   ------------------------------------------------------------------ */
.ed-product--osolna {
	/* osolna.com: green, cream, gold */
	--p-bg: #055a48;
	--p-glow: rgba(199, 150, 58, .18);
	--p-ink: #f6f2e6;
	--p-text: #cfe0da;
	--p-muted: #a9c7bd;
	--p-accent: #c7963a;
	--p-accent-2: #e3c27f;
	--p-on-accent: #1c1408;
	--p-accent-soft: rgba(199, 150, 58, .18);
	--p-accent-line: rgba(227, 194, 127, .45);
	--p-line: rgba(246, 242, 230, .18);
	--p-line-strong: rgba(246, 242, 230, .35);
	--p-card-line: rgba(246, 242, 230, .1);
}

.ed-product--arabshop {
	/* arabshop.app: ink and lime */
	--p-bg: #141414;
	--p-glow: rgba(171, 250, 8, .14);
	--p-ink: #fff;
	--p-text: #c9ccc5;
	--p-muted: #9a9d96;
	--p-accent: #abfa08;
	--p-accent-2: #abfa08;
	--p-on-accent: #141414;
	--p-accent-soft: rgba(171, 250, 8, .14);
	--p-accent-line: rgba(171, 250, 8, .45);
	--p-line: rgba(255, 255, 255, .14);
	--p-line-strong: rgba(255, 255, 255, .3);
	--p-card-line: rgba(255, 255, 255, .08);
}

.ed-product {
	padding: 104px 0 112px;
	background:
		radial-gradient(60% 80% at 100% 0%, var(--p-glow), transparent 60%),
		var(--p-bg);
	color: var(--p-text);
}

.ed-product,
.ed-product * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-product__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 64px;
}

/* Bootstrap's .container clearfix pseudo-elements would take grid cells. */
.ed-product .ed-product__grid::before,
.ed-product .ed-product__grid::after {
	display: none;
}

.ed-product__label {
	margin: 0 0 22px;
	color: var(--p-accent-2);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-product__brand {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 26px;
}

.ed-product__logo {
	display: grid;
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	place-items: center;
	border-radius: 18px;
	background: var(--p-ink);
}

.ed-product__name {
	display: block;
	color: var(--p-ink);
	font-size: 30px;
	font-weight: 900;
	line-height: 1.1;
}

.ed-product__tagline {
	display: block;
	margin-top: 4px;
	color: var(--p-accent-2);
	font-size: 15px;
	font-weight: 700;
}

.ed-product__title {
	margin: 0 0 18px;
	color: var(--p-ink);
	font-size: 44px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-product__lead {
	margin: 0 0 30px;
	color: var(--p-text);
	font-size: 18px;
	line-height: 1.85;
	text-align: right !important;
}

.ed-product__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 34px;
	padding: 22px 0 0;
	border-top: 1px solid var(--p-line);
	list-style: none;
}

.ed-product__stats li {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ed-product__stats b {
	color: var(--p-ink);
	font-size: 36px;
	font-weight: 900;
	line-height: 1;
	unicode-bidi: isolate;
	text-align: right;
}

.ed-product__stats span {
	color: var(--p-muted);
	font-size: 14px;
	line-height: 1.5;
}

.ed-product__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ed-product__btn {
	display: inline-flex;
	align-items: center;
	padding: 14px 26px;
	border: 2px solid var(--p-line-strong);
	border-radius: 999px;
	color: var(--p-ink) !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.ed-product__btn:hover {
	border-color: var(--p-ink);
	background: var(--p-ink);
	color: var(--p-bg) !important;
}

.ed-product__btn--main {
	border-color: var(--p-accent);
	background: var(--p-accent);
	color: var(--p-on-accent) !important;
}

.ed-product__btn--main:hover {
	border-color: var(--p-accent-2);
	background: var(--p-accent-2);
	color: var(--p-on-accent) !important;
	transform: translateY(-2px);
}

.ed-product__features {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-product__feature {
	padding: 22px 22px 24px;
	border: 1px solid var(--p-card-line);
	border-radius: 22px;
	background: rgba(255, 255, 255, .05);
	transition: background-color .25s ease, border-color .25s ease, transform .25s ease;
}

.ed-product__feature:hover {
	border-color: var(--p-accent-line);
	background: rgba(255, 255, 255, .08);
	transform: translateY(-3px);
}

.ed-product__icon {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 16px;
	place-items: center;
	border-radius: 14px;
	background: var(--p-accent-soft);
	color: var(--p-accent-2);
}

.ed-product__fname {
	margin: 0 0 6px;
	color: var(--p-ink);
	font-size: 19px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-product__ftext {
	margin: 0;
	color: var(--p-muted);
	font-size: 15px;
	line-height: 1.75;
	text-align: right !important;
}

/* Flipped block: features on the right, text on the left (alternates with the next product). */
.ed-product--flip .ed-product__text {
	order: 2;
}

.ed-product--flip {
	background:
		radial-gradient(60% 80% at 0% 0%, var(--p-glow), transparent 60%),
		var(--p-bg);
}

/* Arab Shop's logo tile is the lime brand color. */
.ed-product--arabshop .ed-product__logo {
	background: var(--p-accent);
}

@media (max-width: 991px) {
	.ed-product--flip .ed-product__text {
		order: 0;
	}

	.ed-product {
		padding: 72px 0 80px;
	}

	.ed-product__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.ed-product__title {
		font-size: 34px !important;
	}
}

@media (max-width: 600px) {
	.ed-product {
		padding: 56px 0 64px;
	}

	.ed-product__title {
		font-size: 28px !important;
	}

	.ed-product__stats b {
		font-size: 28px;
	}

	.ed-product__btn {
		flex: 1 1 auto;
		justify-content: center;
	}

	/* Two compact cards per row, so the page stays short on phones. */
	.ed-product__features {
		gap: 10px;
	}

	.ed-product__feature {
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ed-product__icon {
		width: 40px;
		height: 40px;
		margin-bottom: 10px;
		border-radius: 12px;
	}

	.ed-product__fname {
		font-size: 15px !important;
		line-height: 1.35;
	}

	.ed-product__ftext {
		font-size: 12.5px;
		line-height: 1.6;
	}
}

/* ------------------------------------------------------------------
   Servers page: the rack in the intro.
   ------------------------------------------------------------------ */
.ed-rack {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 340px;
	margin-bottom: -40px;
	padding: 18px 16px 56px;
	border-radius: 26px 26px 0 0;
	background: linear-gradient(180deg, #1d1d1d, #141414);
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
}

.ed-rack__unit {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 58px;
	padding: 0 16px;
	border-radius: 12px;
	background: linear-gradient(180deg, #2a2a2a, #222);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
	direction: ltr;
}

.ed-rack__name {
	color: #8f938b;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
}

.ed-rack__slots {
	display: flex;
	flex: 1 1 auto;
	gap: 6px;
}

.ed-rack__slots i {
	flex: 1 1 0;
	height: 18px;
	border-radius: 4px;
	background: #171717;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .6);
}

.ed-rack__leds {
	display: flex;
	gap: 6px;
}

.ed-rack__leds i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4a4a4a;
}

.ed-rack__leds i:first-child {
	background: var(--ed-lime);
	box-shadow: 0 0 8px rgba(171, 250, 8, .8);
	animation: ed-led 2s steps(2, jump-none) infinite;
}

@keyframes ed-led {
	0%, 60% { opacity: 1; }
	70%, 80% { opacity: .25; }
	100% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.ed-rack__leds i:first-child {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-rack {
		width: 280px;
		margin-bottom: -30px;
	}

	.ed-rack__unit {
		height: 48px;
	}
}

@media (max-width: 600px) {
	.ed-rack {
		width: 250px;
		gap: 8px;
		padding: 14px 12px 40px;
	}

	.ed-rack__unit {
		height: 42px;
		gap: 10px;
		padding: 0 12px;
	}
}

/* ------------------------------------------------------------------
   Plan cards (servers page): name, price that follows the billing
   period, spec list, order button. Shared by dedicated and private servers.
   ------------------------------------------------------------------ */
.ed-plans {
	padding: 104px 0 112px;
	background: var(--ed-section);
	color: var(--ed-text-2);
	/* The intro buttons jump here; leave room for the floating nav. */
	scroll-margin-top: 20px;
}

.ed-plans,
.ed-plans * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-plans__head {
	max-width: 640px;
}

.ed-plans__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-plans__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-plans__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-plans__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

/* White version, to alternate with the section above. */
.ed-plans--white {
	background: var(--ed-section-white);
}

.ed-plans--white .ed-prow {
	background: var(--ed-bg);
	border-color: var(--ed-rule-ecece6);
}

.ed-plans--white .ed-prow:hover {
	background: var(--ed-surface);
}

.ed-plans__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 40px;
	margin-bottom: 44px;
}

/* Billing period switch: one choice for every plan. */
.ed-cycle {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 5px;
	border-radius: 999px;
	background: var(--ed-tint-e9e9e3);
}

.ed-cycle__btn {
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ed-muted);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.ed-cycle__btn:hover {
	color: var(--ed-text);
}

.ed-cycle__btn.is-active {
	background: var(--ed-ink);
	color: #fff;
}

.ed-prows {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* One plan per row: name, specs, price, order. */
.ed-prow {
	display: grid;
	grid-template-columns: 230px 1fr 200px 170px;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 22px 26px;
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	background: var(--ed-surface);
	transition: border-color .25s ease, box-shadow .25s ease;
}

.ed-prow:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 20px 40px -30px rgba(17, 17, 17, .4);
}

.ed-prow__name h3 {
	margin: 0;
	color: var(--ed-text);
	font-size: 21px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-prow__name p {
	margin: 4px 0 0;
	color: #8a8a84;
	font-size: 13px;
	text-align: right !important;
}

/* Best seller and similar tags. */
.ed-prow.is-badged {
	border-color: var(--ed-edge);
}

.ed-prow__badge {
	display: inline-block;
	margin-bottom: 8px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 12px;
	font-weight: 700;
	line-height: 18px;
}

/* A plan that does not offer the chosen billing period. */
.ed-prow.is-unavailable {
	opacity: .55;
}

.ed-prow.is-unavailable .ed-prow__btn {
	background: var(--ed-tint-c9c9c2);
	color: #fff;
	cursor: not-allowed;
}

.ed-prow__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-prow__specs li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 14px;
}

.ed-prow__specs span {
	color: #8a8a84;
	font-size: 12px;
}

.ed-prow__specs b {
	color: var(--ed-text);
	font-weight: 700;
	text-align: right;
}

.ed-prow__price {
	margin: 0;
	text-align: right !important;
}

.ed-prow__price b {
	color: var(--ed-text);
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

.ed-prow__price span {
	color: var(--ed-muted-2);
	font-size: 14px;
}

.ed-prow__price em {
	font-style: normal;
}

.ed-prow__btn {
	width: 100%;
	height: 48px;
	border: 0;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.ed-prow__btn:hover,
.ed-prow__btn:focus-visible {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

/* Dark theme: the dark order buttons would vanish on the dark cards, so they turn light; the
   featured card gets a lime edge to stand out from the others. */
:root[data-theme="dark"] :is(.ed-prow__btn, .ed-ssl__card:not(.is-featured) .ed-ssl__btn, .ed-smm__card:not(.is-featured) .ed-smm__btn, .ed-devp__card:not(.is-featured) .ed-devp__btn) {
	background: var(--ed-text);
	color: var(--ed-ink) !important;
}

:root[data-theme="dark"] :is(.ed-prow__btn, .ed-ssl__card:not(.is-featured) .ed-ssl__btn, .ed-smm__card:not(.is-featured) .ed-smm__btn, .ed-devp__card:not(.is-featured) .ed-devp__btn):is(:hover, :focus-visible) {
	background: var(--ed-lime);
}

:root[data-theme="dark"] :is(.ed-ssl__card, .ed-smm__card, .ed-devp__card).is-featured,
:root[data-theme="dark"] .ed-pcards .ed-prow--card.is-badged {
	border-color: rgba(171, 250, 8, .5);
}

@media (max-width: 1199px) {
	.ed-prow {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ed-plans {
		padding: 72px 0 80px;
	}

	.ed-plans__title {
		font-size: 30px !important;
	}

	/* Phones: the switch spans the width, its buttons (three or four) share it equally. */
	.ed-cycle {
		display: grid;
		grid-auto-columns: 1fr;
		grid-auto-flow: column;
		width: 100%;
	}

	.ed-cycle__btn {
		padding: 10px 4px;
		font-size: 13px;
		white-space: nowrap;
	}

	.ed-prow {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 20px;
	}

	.ed-prow__btn {
		height: 50px;
	}
}

/* ------------------------------------------------------------------
   Why us (host-why.php): servers and hosting pages. Dark band, 4×2 cards.
   ------------------------------------------------------------------ */
.ed-why {
	padding: 104px 0 112px;
	background: var(--ed-ink-2);
	color: #b9bcb5;
}

.ed-why,
.ed-why * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-why__head {
	max-width: 720px;
	margin-bottom: 48px;
}

.ed-why__label {
	margin: 0 0 14px;
	color: var(--ed-lime);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-why__title {
	margin: 0 0 14px;
	color: #fff;
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-why__lead {
	margin: 0;
	color: var(--ed-muted-4);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-why__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-why__item {
	padding: 24px 22px 26px;
	border: 1px solid #262626;
	border-radius: 22px;
	background: #1a1a1a;
	transition: border-color .25s ease, transform .25s ease;
}

.ed-why__item:hover {
	border-color: rgba(171, 250, 8, .45);
	transform: translateY(-3px);
}

.ed-why__icon {
	display: grid;
	width: 50px;
	height: 50px;
	margin-bottom: 18px;
	place-items: center;
	border-radius: 15px;
	background: rgba(171, 250, 8, .12);
	color: var(--ed-lime);
}

.ed-why__name {
	margin: 0 0 8px;
	color: #fff;
	font-size: 19px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-why__text {
	margin: 0;
	color: #9a9d96;
	font-size: 15px;
	line-height: 1.75;
	text-align: right !important;
}

@media (max-width: 991px) {
	.ed-why {
		padding: 72px 0 80px;
	}

	.ed-why__title {
		font-size: 34px !important;
	}

	.ed-why__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ed-why__title {
		font-size: 28px !important;
	}

	.ed-why__grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ed-why__item {
		display: grid;
		grid-template-columns: 50px 1fr;
		grid-template-areas: "icon name" "icon text";
		column-gap: 14px;
		padding: 18px;
	}

	.ed-why__icon {
		grid-area: icon;
		margin: 0;
	}

	.ed-why__name {
		grid-area: name;
	}

	.ed-why__text {
		grid-area: text;
	}
}

/* ------------------------------------------------------------------
   Hosting page: the browser window in the intro, and the plans no
   longer tuck under the intro (old -185px margin).
   ------------------------------------------------------------------ */
.page-template-template-host .headerSection {
	max-height: none !important;
}

.ed-browser {
	width: 420px;
	margin-bottom: -40px;
	overflow: hidden;
	border-radius: 22px 22px 0 0;
	background: #1a1a1a;
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
	direction: ltr;
}

.ed-browser__bar {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #232323;
}

.ed-browser__dots {
	display: flex;
	gap: 6px;
}

.ed-browser__dots i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #3a3a3a;
}

.ed-browser__dots i:first-child { background: #ef5727; }
.ed-browser__dots i:nth-child(2) { background: #f7941e; }
.ed-browser__dots i:last-child { background: #7dc242; }

.ed-browser__url {
	flex: 1 1 auto;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #b9bcb5;
	font-size: 13px;
	font-weight: 700;
}

.ed-browser__url b {
	font-size: 11px;
}

.ed-browser__page {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px 22px;
}

.ed-browser__line {
	height: 10px;
	width: 80%;
	border-radius: 6px;
	background: #2a2a2a;
}

.ed-browser__line--title {
	width: 55%;
	height: 18px;
	background: #3a3a3a;
}

.ed-browser__line--short {
	width: 45%;
}

.ed-browser__blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: 12px;
}

.ed-browser__blocks i {
	height: 70px;
	border-radius: 12px;
	background: #242424;
}

.ed-browser__blocks i:first-child {
	background: linear-gradient(135deg, rgba(171, 250, 8, .25), #242424);
}

.ed-browser__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	margin: 0;
	padding: 0 0 56px;
	border-top: 1px solid #2a2a2a;
	list-style: none;
}

.ed-browser__stats li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 16px 18px 0;
	border-left: 1px solid #2a2a2a;
}

.ed-browser__stats li:first-child {
	border-left: 0;
}

.ed-browser__stats b {
	color: #fff;
	font-size: 18px;
	font-weight: 900;
}

.ed-browser__stats small {
	color: #8f938b;
	font-size: 12px;
}

.ed-browser__dot {
	width: 8px;
	height: 8px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: var(--ed-lime);
	box-shadow: 0 0 8px rgba(171, 250, 8, .8);
	animation: ed-led 2s steps(2, jump-none) infinite;
}

@media (prefers-reduced-motion: reduce) {
	.ed-browser__dot {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-browser {
		width: 340px;
	}

	.ed-browser__blocks i {
		height: 54px;
	}
}

@media (max-width: 600px) {
	.ed-browser {
		width: 100%;
		max-width: 320px;
	}
}

/* ------------------------------------------------------------------
   Plan cards (hosting page): same data and switch as the server rows,
   laid out as a 3-column grid; tagged plans (best sellers) are dark.
   ------------------------------------------------------------------ */
.ed-pcards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.ed-pcards .ed-prow--card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	padding: 30px 28px 26px;
	border-radius: 28px;
}

.ed-pcards .ed-prow--card:hover {
	transform: translateY(-4px);
}

.ed-prow--card .ed-prow__name {
	order: 1;
}

.ed-prow--card .ed-prow__name h3 {
	font-size: 24px !important;
}

.ed-prow--card .ed-prow__price {
	order: 2;
	margin: 18px 0 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ed-rule-ecece6);
}

.ed-prow--card .ed-prow__price b {
	font-size: 48px;
}

.ed-prow--card .ed-prow__specs {
	order: 3;
	flex: 1 1 auto;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	margin-bottom: 24px;
}

.ed-prow--card .ed-prow__specs li {
	flex-direction: row;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-top: 1px dashed var(--ed-rule-ecece6);
}

.ed-prow--card .ed-prow__specs li:first-child {
	border-top: 0;
}

.ed-prow--card .ed-prow__specs span {
	font-size: 14px;
}

.ed-prow--card .ed-prow__specs b {
	text-align: left;
}

.ed-prow--card .ed-prow__btn {
	order: 4;
	height: 52px;
}

.ed-prow--card .ed-prow__badge {
	position: absolute;
	top: -13px;
	right: 28px;
	margin: 0;
	padding: 4px 14px;
	font-size: 13px;
}

/* Best sellers: the dark card. */
.ed-pcards .ed-prow--card.is-badged {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #b9bcb5;
}

.ed-prow--card.is-badged .ed-prow__name h3,
.ed-prow--card.is-badged .ed-prow__price b,
.ed-prow--card.is-badged .ed-prow__specs b {
	color: #fff;
}

.ed-prow--card.is-badged .ed-prow__price,
.ed-prow--card.is-badged .ed-prow__specs li {
	border-color: rgba(255, 255, 255, .1);
}

.ed-prow--card.is-badged .ed-prow__price span,
.ed-prow--card.is-badged .ed-prow__specs span {
	color: #8f938b;
}

.ed-prow--card.is-badged .ed-prow__btn {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-prow--card.is-badged .ed-prow__btn:hover {
	background: #fff;
}

@media (max-width: 991px) {
	.ed-pcards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 28px;
	}
}

@media (max-width: 600px) {
	.ed-pcards {
		grid-template-columns: 1fr;
		row-gap: 22px;
	}

	/* Compact plan cards: name and price on one line, the specs as a small grid. */
	.ed-pcards .ed-prow--card {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 0 12px;
		padding: 24px 20px 20px;
		border-radius: 22px;
	}

	.ed-prow--card .ed-prow__name h3 {
		font-size: 19px !important;
	}

	.ed-prow--card .ed-prow__price {
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	.ed-prow--card .ed-prow__price b {
		font-size: 30px;
	}

	.ed-prow--card .ed-prow__price span {
		font-size: 12px;
	}

	.ed-prow--card .ed-prow__specs {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 6px;
		margin: 16px 0;
	}

	.ed-prow--card .ed-prow__specs li,
	.ed-prow--card .ed-prow__specs li:first-child {
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0;
		padding: 8px 10px;
		border: 0;
		border-radius: 10px;
		background: var(--ed-bg);
		line-height: 1.5;
	}

	.ed-prow--card .ed-prow__specs span {
		font-size: 11px;
		line-height: 1.5;
	}

	.ed-prow--card .ed-prow__specs b {
		font-size: 14px;
		line-height: 1.5;
		text-align: right;
		white-space: nowrap;
	}

	.ed-prow--card.is-badged .ed-prow__specs li {
		background: rgba(255, 255, 255, .06);
	}

	.ed-prow--card .ed-prow__btn {
		grid-column: 1 / -1;
		height: 48px;
	}
}

/* ------------------------------------------------------------------
   Website design page: a browser that steps through desktop, tablet and
   phone widths (12s loop) while the layout reflows inside it.
   ------------------------------------------------------------------ */
.page-template-template-design .headerSection {
	max-height: none !important;
}

.ed-resp {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 460px;
	margin-bottom: -40px;
	direction: ltr;
}

.ed-resp__dev {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	color: #8f938b;
	font-size: 12px;
	font-weight: 700;
}

.ed-resp__chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	border: 1px solid #333;
	border-radius: 999px;
	color: #fff;
}

.ed-resp__name::after {
	content: "Desktop";
	animation: ed-resp-name 12s steps(1) infinite;
}

.ed-resp__w::after {
	content: "";
}

.ed-resp__w {
	font-size: 0;
}

.ed-resp__w::before {
	content: "1440px";
	font-size: 12px;
	animation: ed-resp-w 12s steps(1) infinite;
}

@keyframes ed-resp-name {
	0% { content: "Desktop"; }
	33.33% { content: "Tablet"; }
	66.66% { content: "Mobile"; }
}

@keyframes ed-resp-w {
	0% { content: "1440px"; }
	33.33% { content: "768px"; }
	66.66% { content: "390px"; }
}

.ed-resp__ico {
	width: 14px;
	height: 10px;
	border: 1.5px solid var(--ed-lime);
	border-radius: 2px;
	animation: ed-resp-ico 12s steps(1) infinite;
}

@keyframes ed-resp-ico {
	0% { width: 14px; height: 10px; }
	33.33% { width: 11px; height: 13px; }
	66.66% { width: 7px; height: 13px; }
}

.ed-resp__frame {
	width: 460px;
	height: 330px;
	overflow: hidden;
	border-radius: 18px 18px 0 0;
	background: var(--ed-bg);
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
	animation: ed-resp-frame 12s cubic-bezier(.7, 0, .3, 1) infinite;
}

@keyframes ed-resp-frame {
	0%, 28% { width: 460px; border-radius: 18px 18px 0 0; }
	33.33%, 61% { width: 300px; border-radius: 22px 22px 0 0; }
	66.66%, 95% { width: 190px; border-radius: 28px 28px 0 0; }
	100% { width: 460px; border-radius: 18px 18px 0 0; }
}

.ed-resp__bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	background: var(--ed-tint-e9e9e3);
}

.ed-resp__bar span {
	display: flex;
	gap: 5px;
}

.ed-resp__bar span i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ed-tint-c9c9c2);
}

.ed-resp__bar b {
	flex: 1 1 auto;
	padding: 4px 10px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-muted-2);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

.ed-resp__page {
	padding: 14px 16px;
}

.ed-resp__nav {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
}

.ed-resp__nav i {
	width: 26px;
	height: 10px;
	border-radius: 3px;
	background: var(--ed-ink);
}

.ed-resp__nav span {
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
	gap: 8px;
}

.ed-resp__nav span b {
	width: 26px;
	height: 6px;
	border-radius: 3px;
	background: var(--ed-tint-c9c9c2);
}

.ed-resp__nav em {
	display: none;
	width: 16px;
	height: 12px;
	border-top: 2px solid var(--ed-edge);
	border-bottom: 2px solid var(--ed-edge);
}

.ed-resp__hero {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 14px;
	margin-bottom: 16px;
}

.ed-resp__hero div {
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding-top: 6px;
}

.ed-resp__hero b {
	height: 12px;
	border-radius: 4px;
	background: var(--ed-ink);
}

.ed-resp__hero b:nth-child(2) { width: 80%; }
.ed-resp__hero b:nth-child(3) { width: 60%; height: 7px; background: var(--ed-tint-c9c9c2); }

.ed-resp__hero em {
	width: 70px;
	height: 18px;
	margin-top: 6px;
	border-radius: 9px;
	background: var(--ed-lime);
}

.ed-resp__hero > i {
	min-height: 96px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--ed-ink), #3a3a3a);
}

.ed-resp__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.ed-resp__cards i {
	height: 70px;
	border: 1px solid var(--ed-rule-e3e3dc);
	border-radius: 10px;
	background: var(--ed-surface);
}

/* The layout reflows with the width: tablet stacks the hero, phone stacks everything. */
.ed-resp__nav span,
.ed-resp__nav em,
.ed-resp__hero,
.ed-resp__cards {
	animation-duration: 12s;
	animation-iteration-count: infinite;
	animation-timing-function: steps(1);
}

.ed-resp__nav span { animation-name: ed-resp-links; }
.ed-resp__nav em { animation-name: ed-resp-burger; }
.ed-resp__hero { animation-name: ed-resp-hero; }
.ed-resp__cards { animation-name: ed-resp-cards; }

@keyframes ed-resp-links {
	0% { visibility: visible; }
	66.66% { visibility: hidden; }
	100% { visibility: visible; }
}

@keyframes ed-resp-burger {
	0% { display: none; }
	66.66% { display: block; }
	100% { display: none; }
}

@keyframes ed-resp-hero {
	0% { grid-template-columns: 1.1fr 1fr; }
	33.33% { grid-template-columns: 1fr; }
	100% { grid-template-columns: 1.1fr 1fr; }
}

@keyframes ed-resp-cards {
	0% { grid-template-columns: repeat(3, 1fr); }
	33.33% { grid-template-columns: repeat(2, 1fr); }
	66.66% { grid-template-columns: 1fr; }
	100% { grid-template-columns: repeat(3, 1fr); }
}

/* Performance score ring */
.ed-resp__score {
	position: absolute;
	right: -18px;
	bottom: 70px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px 10px 10px;
	border-radius: 16px;
	background: var(--ed-ink);
	box-shadow: 0 0 0 1px #2c2c2c, 0 20px 40px -20px rgba(0, 0, 0, .6);
	direction: rtl;
}

.ed-resp__score span {
	display: grid;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 50%;
	background:
		radial-gradient(closest-side, var(--ed-ink) 76%, transparent 78%),
		conic-gradient(var(--ed-lime) 100%, #333 0);
	color: var(--ed-lime);
	font-size: 15px;
	font-weight: 900;
}

.ed-resp__score small {
	color: var(--ed-muted-4);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

@media (prefers-reduced-motion: reduce) {
	.ed-resp__frame,
	.ed-resp__name::after,
	.ed-resp__w::before,
	.ed-resp__ico,
	.ed-resp__nav span,
	.ed-resp__nav em,
	.ed-resp__hero,
	.ed-resp__cards {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-resp,
	.ed-resp__frame {
		width: 380px;
	}

	@keyframes ed-resp-frame {
		0%, 28% { width: 380px; }
		33.33%, 61% { width: 260px; }
		66.66%, 95% { width: 170px; }
		100% { width: 380px; }
	}
}

@media (max-width: 600px) {
	.ed-resp,
	.ed-resp__frame {
		width: 100%;
		max-width: 330px;
	}

	.ed-resp__frame {
		height: 280px;
	}

	@keyframes ed-resp-frame {
		0%, 28% { width: 330px; }
		33.33%, 61% { width: 240px; }
		66.66%, 95% { width: 160px; }
		100% { width: 330px; }
	}

	.ed-resp__score {
		right: 0;
	}
}

.ed-resp__chip,
.ed-resp__name,
.ed-resp__name::after {
	color: #fff !important;
	font-weight: 700;
}

/* ------------------------------------------------------------------
   Benefit cards (design and website design pages): centred header,
   white cards with line icons (black lines, one lime detail).
   ------------------------------------------------------------------ */
.ed-why2 {
	padding: 112px 0 112px;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-why2,
.ed-why2 * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-why2__head {
	max-width: 680px;
	margin: 0 auto 56px;
	text-align: center;
}

.ed-why2__label {
	display: inline-block;
	margin: 0 0 16px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 14px;
	font-weight: 700;
}

.ed-why2__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 46px !important;
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
}

.ed-why2__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: center !important;
}

.ed-why2__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-why2__item {
	padding: 30px 28px 30px;
	border: 1px solid var(--ed-rule-ecece6);
	border-radius: 26px;
	background: var(--ed-surface);
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}

.ed-why2__item:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 26px 50px -34px rgba(17, 17, 17, .4);
	transform: translateY(-4px);
}

.ed-why2__icon {
	display: grid;
	width: 64px;
	height: 64px;
	margin-bottom: 22px;
	place-items: center;
	border: 1px solid var(--ed-line);
	border-radius: 18px;
	background:
		radial-gradient(circle at 1px 1px, rgba(17, 17, 17, .12) 1px, transparent 0) 0 0 / 8px 8px,
		var(--ed-bg);
	color: var(--ed-text);
	transition: background-color .3s ease, color .3s ease;
}

.ed-why2__icon .ed-ac {
	stroke: var(--ed-text);
	fill: var(--ed-lime);
}

.ed-why2__icon path.ed-ac[d^="M12 7"],
.ed-why2__icon path.ed-ac[d^="M7 12"],
.ed-why2__icon path.ed-ac[d^="M6 9"],
.ed-why2__icon path.ed-ac[d^="M10 13"] {
	fill: none;
	stroke: #7ab800;
	stroke-width: 2.2;
}

.ed-why2__item:hover .ed-why2__icon {
	border-color: var(--ed-edge);
	background-color: var(--ed-surface);
}

.ed-why2__name {
	margin: 0 0 8px;
	color: var(--ed-text);
	font-size: 21px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-why2__text {
	margin: 0;
	color: var(--ed-muted);
	font-size: 16px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-why2__files {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	direction: ltr;
	justify-content: flex-end;
}

.ed-why2__files li {
	padding: 4px 10px;
	border: 1px solid var(--ed-edge);
	border-radius: 8px;
	color: var(--ed-text);
	font-size: 12px;
	font-weight: 900;
}

.ed-why2__files li:first-child {
	background: var(--ed-lime);
}

@media (max-width: 991px) {
	.ed-why2__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-why2__title {
		font-size: 36px !important;
	}
}

@media (max-width: 600px) {
	.ed-why2 {
		padding-bottom: 72px;
	}

	.ed-why2__title {
		font-size: 30px !important;
	}

	.ed-why2__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.ed-why2__item {
		display: grid;
		grid-template-columns: 56px 1fr;
		grid-template-areas: "icon name" "icon text" "icon files";
		column-gap: 16px;
		padding: 22px 20px;
	}

	.ed-why2__icon {
		grid-area: icon;
		width: 56px;
		height: 56px;
		margin: 0;
	}

	.ed-why2__name { grid-area: name; }
	.ed-why2__text { grid-area: text; }
	.ed-why2__files { grid-area: files; }
}

/* ------------------------------------------------------------------
   Website design: technologies. Dark centred header with the layers as
   pills, then two rows of monochrome logo tiles moving in opposite
   directions.
   ------------------------------------------------------------------ */
.ed-tv { padding: 104px 0 112px; }
.ed-tv, .ed-tv * { font-family: "Thmanyah Sans", sans-serif !important; letter-spacing: 0; }
.ed-tv__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: 44px; }
.ed-tv__head { max-width: 680px; }
.ed-tv__label { margin: 0 0 14px; font-size: 15px; font-weight: 700; text-align: right !important; }
.ed-tv__label::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-left: 10px; border-radius: 50%; background: var(--ed-lime); vertical-align: 1px; }
.ed-tv__title { margin: 0 0 14px; font-size: 44px !important; font-weight: 900; line-height: 1.25; text-align: right; }
.ed-tv__lead { margin: 0; font-size: 18px; line-height: 1.8; text-align: right !important; }
.ed-tv__cta { display: inline-flex; padding: 14px 26px; border-radius: 999px; background: var(--ed-lime); color: var(--ed-ink) !important; font-size: 16px; font-weight: 700; text-decoration: none !important; }
.ed-tv__cta:hover { background: #fff; }



/* Moving logo rows */
.ed-tv-d { background: var(--ed-ink-2); color: #b9bcb5; overflow: hidden; }
.ed-tv-d .ed-tv__title, .ed-tv-d .ed-tv__label { color: #fff; }
.ed-tv-d .ed-tv__lead { color: #9a9d96; }
.ed-tv-d__head { margin: 0 auto 26px; text-align: center; }
.ed-tv-d .ed-tv__label, .ed-tv-d .ed-tv__title, .ed-tv-d .ed-tv__lead { text-align: center !important; }
.ed-tv-d__cats { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 48px; padding: 0; list-style: none; }
.ed-tv-d__cats li { padding: 7px 14px; border: 1px solid #2c2c2c; border-radius: 999px; color: #e5e7e2; font-size: 14px; font-weight: 700; }
.ed-tv-d__rows { display: flex; flex-direction: column; gap: 16px; mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ed-tv-d__row { overflow: hidden; }
.ed-tv-d__track { display: flex; gap: 16px; width: max-content; animation: ed-tvmq 50s linear infinite; }
.ed-tv-d__row--1 .ed-tv-d__track { animation-direction: reverse; animation-duration: 60s; }
.ed-tv-d__rows:hover .ed-tv-d__track { animation-play-state: paused; }
@keyframes ed-tvmq { to { transform: translateX(-50%); } }
.ed-tv-d__tile { display: flex; align-items: center; gap: 14px; padding: 18px 26px 18px 20px; border: 1px solid #262626; border-radius: 20px; background: #181818; }
.ed-tv-d__tile img { width: 34px; height: 34px; filter: invert(1); }
.ed-tv-d__tile b { color: #fff; font-size: 18px; font-weight: 900; white-space: nowrap; }
.ed-tv-d__foot { margin-top: 44px; text-align: center; }
@media (prefers-reduced-motion: reduce) { .ed-tv-d__track { animation: none; } }

@media (max-width: 991px) {
	.ed-tv__title { font-size: 34px !important; }
}
@media (max-width: 600px) {
	.ed-tv { padding: 72px 0 80px; }
	.ed-tv__title { font-size: 28px !important; }
}

/* ------------------------------------------------------------------
   Website package offer as a ticket (parts/offer-ticket.php): main part
   with three parts joined by +, perforated stub with price and button.
   ------------------------------------------------------------------ */
.ed-offer2 {
	padding: 40px 0 120px;
	background: var(--ed-section-white);
}

.ed-offer2,
.ed-offer2 * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-ticket {
	--hole: var(--ed-section-white);
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	border-radius: 30px;
	background: var(--ed-ink);
	color: #c9ccc5;
	overflow: hidden;
}

.ed-ticket__main {
	padding: 48px 48px 44px;
	background:
		radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .06) 1px, transparent 0) 0 0 / 18px 18px;
}

.ed-ticket__tag {
	display: inline-block;
	margin-bottom: 18px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 14px;
	font-weight: 700;
}

.ed-ticket__title {
	margin: 0 0 12px;
	color: #fff;
	font-size: 44px !important;
	font-weight: 900;
	line-height: 1.25;
	text-align: right;
}

.ed-ticket__lead {
	max-width: 560px;
	margin: 0 0 30px;
	color: #b9bcb5;
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-ticket__parts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-ticket__parts li:not(.ed-ticket__plus) {
	display: grid;
	grid-template-columns: 40px auto;
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: center;
	padding: 14px 18px 14px 20px;
	border: 1px solid #2c2c2c;
	border-radius: 18px;
	background: #1c1c1c;
}

.ed-ticket__parts svg {
	grid-row: span 2;
	width: 40px;
	height: 40px;
	padding: 8px;
	border: 1px solid #333;
	border-radius: 12px;
	fill: none;
	stroke: #fff;
	stroke-width: 1.5;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ed-ticket__parts b {
	color: #fff;
	font-size: 16px;
	font-weight: 900;
}

.ed-ticket__parts small {
	color: #8f938b;
	font-size: 13px;
}

.ed-ticket__plus {
	color: var(--ed-lime);
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
}

/* The stub: dashed tear line with two punched holes. */
.ed-ticket__stub {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 40px 28px;
	border-right: 2px dashed #3a3a3a;
	background: #1b1b1b;
	text-align: center;
}

.ed-ticket__stub::before,
.ed-ticket__stub::after {
	content: "";
	position: absolute;
	right: -19px;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--hole);
}

.ed-ticket__stub::before { top: -18px; }
.ed-ticket__stub::after { bottom: -18px; }

/* Dark theme: the dark ticket would melt into the dark page, so it gets a lime edge all round
   and a soft lime glow. */
:root[data-theme="dark"] .ed-ticket {
	background:
		radial-gradient(60% 90% at 100% 0%, rgba(171, 250, 8, .1), transparent 60%),
		#131312;
	border: 1.5px solid rgba(171, 250, 8, .55);
	box-shadow: 0 30px 80px -40px rgba(171, 250, 8, .45);
}

:root[data-theme="dark"] .ed-ticket__parts li:not(.ed-ticket__plus) {
	border-color: #2c2c2a;
	background: #1b1b1a;
}

:root[data-theme="dark"] .ed-ticket__stub {
	border-color: rgba(171, 250, 8, .35);
	background: #181817;
}

.ed-ticket__eq {
	margin: 0;
	color: var(--ed-lime);
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

.ed-ticket__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0;
	direction: ltr;
}

.ed-ticket__price b {
	color: #fff;
	font-size: 64px;
	font-weight: 900;
	line-height: 1;
}

.ed-ticket__price span {
	color: var(--ed-muted-4);
	font-size: 18px;
	font-weight: 700;
}

.ed-ticket__note {
	margin: 0 0 18px;
	color: #8f938b;
	font-size: 14px;
}

.ed-ticket__btn {
	display: block;
	width: 100%;
	padding: 15px 20px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
	font-size: 17px;
	font-weight: 900;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, transform .2s ease;
}

.ed-ticket__btn:hover {
	background: #fff;
	transform: translateY(-2px);
}

@media (max-width: 991px) {
	.ed-ticket {
		grid-template-columns: 1fr;
	}

	.ed-ticket__stub {
		border-right: 0;
		border-top: 2px dashed #3a3a3a;
	}

	.ed-ticket__stub::before,
	.ed-ticket__stub::after {
		top: -19px;
		right: auto;
	}

	.ed-ticket__stub::before { left: -18px; }
	.ed-ticket__stub::after { right: -18px; bottom: auto; }
}

/* An empty text widget (no content) still adds the old theme's 60px top margin, a dark gap between sections. */
.sidebarWidget.widget_text:has(> .textwidget:empty) {
	display: none;
}

/* The old theme pulls the footer 200px up on this page on phones, over the offer's order button. */
.page-template-template-design #NewFooter {
	margin-top: 0;
}

@media (max-width: 600px) {
	.ed-offer2 {
		padding: 24px 0 72px;
	}

	.ed-ticket {
		border-radius: 24px;
	}

	.ed-ticket__main {
		padding: 26px 18px 22px;
	}

	.ed-ticket__tag {
		margin-bottom: 12px;
		font-size: 13px;
	}

	.ed-ticket__title {
		margin-bottom: 8px;
		font-size: 25px !important;
	}

	.ed-ticket__lead {
		margin-bottom: 18px;
		font-size: 14px;
		line-height: 1.7;
	}

	/* The three parts side by side as small tiles, joined by "+". */
	.ed-ticket__parts {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
		align-items: stretch;
		gap: 4px;
	}

	.ed-ticket__parts li:not(.ed-ticket__plus) {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 3px;
		padding: 12px 4px 10px;
		border-radius: 14px;
		text-align: center;
	}

	.ed-ticket__parts svg {
		width: 32px;
		height: 32px;
		margin-bottom: 4px;
		padding: 6px;
		border-radius: 9px;
	}

	.ed-ticket__parts b {
		font-size: 13px;
		line-height: 1.35;
	}

	.ed-ticket__parts small {
		font-size: 11px;
		line-height: 1.4;
	}

	.ed-ticket__plus {
		align-self: center;
		font-size: 16px;
	}

	/* The price side: old price and saving on one line, the price, the date, the button. */
	.ed-ticket__stub {
		gap: 4px;
		padding: 22px 18px 20px;
	}

	.ed-ticket__eq {
		display: none;
	}

	.ed-ticket__was {
		margin: 0;
	}

	.ed-ticket__was s {
		font-size: 15px;
	}

	.ed-ticket__price b {
		font-size: 44px;
	}

	.ed-ticket__note {
		margin-bottom: 12px;
		font-size: 12px;
	}

	.ed-ticket__btn {
		padding: 13px 16px;
		font-size: 15px;
	}
}

/* Offer: old price, saving and the WhatsApp button. */
.ed-ticket__was {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 4px 0 2px;
}

.ed-ticket__was s {
	color: #8f938b;
	font-size: 18px;
	font-weight: 700;
	text-decoration-thickness: 2px;
	text-decoration-color: #ee394f;
}

.ed-ticket__was span {
	padding: 2px 10px;
	border-radius: 999px;
	background: rgba(171, 250, 8, .14);
	color: var(--ed-lime);
	font-size: 13px;
	font-weight: 900;
}

.ed-ticket__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.ed-ticket__btn .fa {
	font-family: FontAwesome !important;
	font-size: 20px;
}

/* ------------------------------------------------------------------
   Domains page: search box as the hero, and an address bar that types
   example names and shows them as available.
   ------------------------------------------------------------------ */
.page-template-template-domain .headerSection,
.page-template-template-company .headerSection,
.page-template-template-developers .headerSection,
.page-template-template-sahefa .headerSection,
.page-template-template-store .headerSection,
.single-store .headerSection,
.page-template-template-blog .headerSection,
.page-template-template-contact .headerSection,
.page-template-template-syasa .headerSection,
.single-post .headerSection,
.category .headerSection,
.tag .headerSection {
	max-height: none !important;
}

.page-template-template-domain #forHostTemplate {
	margin-top: 0 !important;
}

.ed-dsearch {
	display: flex;
	align-items: center;
	gap: 8px;
	max-width: 620px;
	margin: 6px 0 16px;
	padding: 8px;
	border: 1px solid #333;
	border-radius: 999px;
	background: #1a1a1a;
	direction: ltr;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.ed-dsearch:focus-within {
	border-color: var(--ed-lime);
	box-shadow: 0 0 0 4px rgba(171, 250, 8, .12);
}

.ed-dsearch__www {
	padding-left: 14px;
	color: #6f736b;
	font-size: 17px;
	font-weight: 700;
}

.ed-dsearch__input {
	flex: 1 1 auto;
	min-width: 0;
	height: 52px;
	padding: 0 4px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 18px;
	font-weight: 700;
	outline: 0;
}

.ed-dsearch__input::placeholder {
	color: #6f736b;
	font-weight: 500;
	direction: rtl;
}

.ed-dsearch__btn {
	flex: 0 0 auto;
	height: 52px;
	padding: 0 30px;
	border: 0;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 17px;
	font-weight: 900;
	cursor: pointer;
	transition: background-color .2s ease;
}

.ed-dsearch__btn:hover {
	background: #fff;
}

.ed-dsearch__tlds {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	direction: ltr;
	justify-content: flex-end;
	max-width: 620px;
}

.ed-dsearch__tlds button {
	padding: 7px 14px;
	border: 1px solid #333;
	border-radius: 999px;
	background: transparent;
	color: #d9dbd6;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: border-color .2s ease, color .2s ease;
}

.ed-dsearch__tlds button:hover {
	border-color: var(--ed-lime);
	color: var(--ed-lime);
}

/* The address bar visual */
.ed-addr {
	width: 440px;
	margin-bottom: -40px;
	padding: 18px 18px 56px;
	border-radius: 22px 22px 0 0;
	background: #1a1a1a;
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
	direction: ltr;
}

.ed-addr__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.ed-addr__dots {
	display: flex;
	gap: 6px;
}

.ed-addr__dots i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #333;
}

.ed-addr__field {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: 8px;
	height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: var(--ed-ink-2);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}

.ed-addr__lock {
	width: 10px;
	height: 12px;
	border: 2px solid #6f736b;
	border-radius: 3px;
}

.ed-addr.is-found .ed-addr__lock {
	border-color: var(--ed-lime);
}

.ed-addr__caret {
	width: 2px;
	height: 20px;
	background: var(--ed-lime);
	animation: ed-caret 1s steps(1) infinite;
}

@keyframes ed-caret {
	50% { opacity: 0; }
}

.ed-addr__result {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-bottom: 14px;
	padding: 18px 20px;
	border: 1px solid #2c2c2c;
	border-radius: 16px;
	background: var(--ed-ink);
	opacity: .35;
	transition: opacity .3s ease, border-color .3s ease;
}

.ed-addr.is-found .ed-addr__result {
	border-color: rgba(171, 250, 8, .5);
	opacity: 1;
}

.ed-addr__ok {
	align-self: flex-start;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 12px;
	font-weight: 900;
}

.ed-addr__name {
	min-height: 32px;
	color: #fff;
	font-size: 26px;
	font-weight: 900;
}

.ed-addr__result small {
	color: #8f938b;
	font-size: 13px;
}

.ed-addr__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-addr__list li {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--ed-ink-2);
}

.ed-addr__list b {
	color: #fff;
	font-size: 15px;
}

.ed-addr__list span {
	color: var(--ed-lime);
	font-size: 12px;
	font-weight: 700;
}

.ed-addr__list li.is-taken span {
	color: #6f736b;
}

@media (max-width: 991px) {
	.ed-addr {
		width: 360px;
	}
}

@media (max-width: 600px) {
	.ed-dsearch {
		flex-wrap: wrap;
		border-radius: 22px;
	}

	.ed-dsearch__www {
		display: none;
	}

	/* Without the "www." the empty field reads its Arabic hint from the right; typing is still left to right. */
	.ed-dsearch__input:placeholder-shown {
		text-align: right;
	}

	.ed-dsearch__input {
		flex-basis: 100%;
		padding: 0 12px;
	}

	.ed-dsearch__btn {
		flex-basis: 100%;
	}

	.ed-addr {
		width: 100%;
		max-width: 330px;
	}
}

/* The address bar visual reads left to right, like a real browser: text starts at the
   left after the lock, and the result card and list align left too. */
.ed-addr,
.ed-addr * {
	direction: ltr;
	text-align: left !important;
}

.ed-addr__field {
	justify-content: flex-start;
}

.ed-addr__text,
.ed-addr__name {
	unicode-bidi: isolate;
}

.ed-addr__result {
	align-items: flex-start;
}

.ed-addr__list li {
	align-items: flex-start;
}

/* Arabic labels inside stay readable */
.ed-addr__ok,
.ed-addr__result small,
.ed-addr__list span {
	unicode-bidi: isolate;
}

/* Result states: "searching" while the name is typed, "available" when it's complete. */
.ed-addr__ok em,
.ed-addr__result small em {
	font-style: normal;
}

.ed-addr__yes { display: none; }
.ed-addr.is-found .ed-addr__yes { display: inline; }
.ed-addr.is-found .ed-addr__wait { display: none; }

.ed-addr__ok {
	background: #2c2c2c;
	color: var(--ed-muted-4);
	transition: background-color .25s ease, color .25s ease;
}

.ed-addr.is-found .ed-addr__ok {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-addr__result {
	opacity: 1;
}

.ed-addr__name {
	color: #8f938b;
	transition: color .25s ease;
}

.ed-addr.is-found .ed-addr__name {
	color: #fff;
}

/* Extension cards fade in once the search completes. */
.ed-addr__list li {
	opacity: .3;
	transition: opacity .3s ease;
}

.ed-addr.is-found .ed-addr__list li {
	opacity: 1;
}

.ed-addr__list b {
	overflow: hidden;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Arabic labels keep right-to-left order (the ellipsis after "جارٍ البحث"). */
.ed-addr .ed-addr__ok,
.ed-addr .ed-addr__ok em,
.ed-addr .ed-addr__result small,
.ed-addr .ed-addr__result small em,
.ed-addr .ed-addr__list span {
	direction: rtl;
}

/* Arabic labels sit on the right; domain names stay left to right on the left. */
.ed-addr .ed-addr__ok {
	align-self: flex-end;
}

.ed-addr .ed-addr__result small {
	align-self: flex-end;
	text-align: right !important;
}

.ed-addr .ed-addr__list li {
	align-items: stretch;
}

.ed-addr .ed-addr__list span {
	text-align: right !important;
}

/* ------------------------------------------------------------------
   Domains page: reasons strip under the search, and the SSL plans.
   ------------------------------------------------------------------ */
.ed-dwhy {
	padding: 48px 0 8px;
	background: var(--ed-section);
}

.ed-dwhy,
.ed-dwhy *,
.ed-ssl,
.ed-ssl * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-dwhy__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-dwhy__list li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--ed-line);
	border-radius: 20px;
	background: var(--ed-surface);
}

.ed-dwhy__icon {
	display: grid;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	place-items: center;
	border-radius: 14px;
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-dwhy__list b {
	display: block;
	margin-bottom: 4px;
	color: var(--ed-text);
	font-size: 16px;
	font-weight: 900;
}

.ed-dwhy__list small {
	color: var(--ed-muted-2);
	font-size: 14px;
	line-height: 1.6;
}

.ed-ssl {
	padding: 88px 0 104px;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-ssl__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 40px;
	margin-bottom: 44px;
}

.ed-ssl__head {
	max-width: 640px;
}

.ed-ssl__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-ssl__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-ssl__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-ssl__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-ssl__note {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.ed-ssl__note svg {
	color: var(--ed-lime);
}

.ed-ssl__note a {
	color: var(--ed-lime) !important;
	text-decoration: underline !important;
}

.ed-ssl__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.ed-ssl__card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 26px 26px 26px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-surface);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.ed-ssl__card:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 26px 50px -34px rgba(17, 17, 17, .4);
	transform: translateY(-4px);
}

.ed-ssl__badge {
	position: absolute;
	top: -13px;
	right: 26px;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 13px;
	font-weight: 700;
}

/* A browser address bar showing what visitors see with this certificate. */
.ed-ssl__lock {
	margin-bottom: 22px;
	padding: 14px;
	border-radius: 16px;
	background: var(--ed-tint-f2f2ee);
	direction: ltr;
}

.ed-ssl__bar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	border-radius: 999px;
	background: var(--ed-surface);
	font-size: 13px;
	overflow: hidden;
	white-space: nowrap;
}

.ed-ssl__bar svg {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: #2f9e44;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* Validation level icon above the type. */
.ed-ssl__ico {
	display: grid;
	width: 48px;
	height: 48px;
	margin-bottom: 14px;
	place-items: center;
	border-radius: 14px;
	background: var(--ed-bg-2);
	color: var(--ed-text);
}

.ed-ssl__ico svg {
	width: 26px;
	height: 26px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ed-ssl__card.is-featured .ed-ssl__ico {
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-ssl__bar b {
	color: var(--ed-muted-2);
	font-weight: 700;
}

.ed-ssl__bar em {
	color: var(--ed-text);
	font-style: normal;
	font-weight: 900;
}


.ed-ssl__type {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 4px;
	text-align: right !important;
}

.ed-ssl__type b {
	color: var(--ed-text);
	font-size: 28px;
	font-weight: 900;
}

.ed-ssl__type span {
	color: #8a8a84;
	font-size: 14px;
	font-weight: 700;
}

.ed-ssl__for {
	margin: 0 0 16px;
	color: var(--ed-muted);
	font-size: 15px;
	text-align: right !important;
}

.ed-ssl__price {
	margin: 0 0 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ed-rule-ecece6);
	text-align: right !important;
}

.ed-ssl__price b {
	color: var(--ed-text);
	font-size: 46px;
	font-weight: 900;
	line-height: 1;
}

.ed-ssl__price span {
	color: var(--ed-muted-2);
	font-size: 14px;
}

.ed-ssl__feat {
	flex: 1 1 auto;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.ed-ssl__feat li {
	position: relative;
	padding: 6px 26px 6px 0;
	color: var(--ed-text-2);
	font-size: 15px;
	text-align: right;
}

.ed-ssl__feat li::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	width: 14px;
	height: 8px;
	border-bottom: 2.5px solid #7ab800;
	border-left: 2.5px solid #7ab800;
	transform: rotate(-45deg);
}

.ed-ssl__btn {
	display: block;
	padding: 14px 20px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-ssl__btn:hover {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

/* Recommended: dark card */
.ed-ssl__card.is-featured {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #b9bcb5;
}

.ed-ssl__card.is-featured .ed-ssl__type b,
.ed-ssl__card.is-featured .ed-ssl__price b,
.ed-ssl__card.is-featured .ed-ssl__feat li {
	color: #fff;
}

.ed-ssl__card.is-featured .ed-ssl__for,
.ed-ssl__card.is-featured .ed-ssl__price span,
.ed-ssl__card.is-featured .ed-ssl__type span {
	color: #9a9d96;
}

.ed-ssl__card.is-featured .ed-ssl__lock {
	background: #222;
}

.ed-ssl__card.is-featured .ed-ssl__price {
	border-color: rgba(255, 255, 255, .1);
}

.ed-ssl__card.is-featured .ed-ssl__feat li::before {
	border-color: var(--ed-lime);
}

.ed-ssl__card.is-featured .ed-ssl__btn {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-ssl__card.is-featured .ed-ssl__btn:hover {
	background: #fff;
}

@media (max-width: 991px) {
	.ed-dwhy__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-ssl__grid {
		grid-template-columns: 1fr 1fr;
		row-gap: 28px;
	}

	.ed-ssl__title {
		font-size: 34px !important;
	}
}

@media (max-width: 600px) {
	/* Two compact cards per row: icon on top, then the title and text. */
	.ed-dwhy__list {
		gap: 10px;
	}

	.ed-dwhy__list li {
		flex-direction: column;
		gap: 10px;
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ed-dwhy__icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.ed-dwhy__list b {
		font-size: 15px;
	}

	.ed-dwhy__list small {
		display: block;
		font-size: 12.5px;
		line-height: 1.6;
	}

	.ed-ssl {
		padding: 64px 0 72px;
	}

	.ed-ssl__title {
		font-size: 28px !important;
	}

	.ed-ssl__grid {
		grid-template-columns: 1fr;
	}

	.ed-ssl__note {
		border-radius: 18px;
	}
}

/* The domain search shows its lime border all the time, not only on focus. */
.ed-dsearch {
	border: 2px solid var(--ed-lime);
	box-shadow: 0 0 0 4px rgba(171, 250, 8, .12);
}

.ed-dsearch:focus-within {
	box-shadow: 0 0 0 6px rgba(171, 250, 8, .2);
}

/* Accredited registrar badge for Saudi domains (domains page hero). */
.ed-sa-badge {
	display: grid;
	grid-template-columns: 48px 1fr;
	grid-template-areas: "icon text" "icon tlds";
	column-gap: 14px;
	row-gap: 10px;
	max-width: 620px;
	margin-top: 22px;
	padding: 16px 18px;
	border: 1px solid #2c2c2c;
	border-radius: 20px;
	background: linear-gradient(135deg, rgba(171, 250, 8, .08), rgba(171, 250, 8, 0) 60%), #161616;
}

.ed-sa-badge__icon {
	grid-area: icon;
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 14px;
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-sa-badge__text {
	grid-area: text;
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: right;
}

.ed-sa-badge__text b {
	color: #fff;
	font-size: 17px;
	font-weight: 900;
}

.ed-sa-badge__text span {
	color: #9a9d96;
	font-size: 14px;
}

.ed-sa-badge__tlds {
	grid-area: tlds;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-sa-badge__tlds li {
	padding: 4px 10px;
	border: 1px solid rgba(171, 250, 8, .35);
	border-radius: 8px;
	color: var(--ed-lime);
	font-size: 13px;
	font-weight: 900;
}

@media (max-width: 600px) {
	.ed-sa-badge {
		grid-template-columns: 40px 1fr;
		padding: 14px;
	}

	.ed-sa-badge__icon {
		width: 40px;
		height: 40px;
	}

	.ed-sa-badge__tlds {
		justify-content: flex-start;
	}
}

/* ------------------------------------------------------------------
   Domains hero layout: heading on the right and the address bar on the
   left in one row; under them the search spans the full width, then the
   extension chips and the Saudi registrar badge share a row.
   ------------------------------------------------------------------ */
.ed-svc-hero--domain .ed-svc-hero__grid {
	grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
	grid-template-areas:
		"text media"
		"search search";
	align-items: center;
	row-gap: 36px;
}

.ed-svc-hero--domain .ed-svc-hero__text {
	grid-area: text;
	padding-bottom: 0;
}

.ed-svc-hero--domain .ed-svc-hero__lead {
	margin-bottom: 0;
}

.ed-svc-hero--domain .ed-svc-hero__media {
	grid-area: media;
	justify-content: flex-start;
}

/* The address bar sits in the row now, not on the bottom edge. */
.ed-svc-hero--domain .ed-addr {
	margin-bottom: 0;
	padding-bottom: 18px;
	border-radius: 22px;
}

.ed-dhero__search {
	grid-area: search;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"form form"
		"tlds badge";
	align-items: center;
	gap: 16px 24px;
	padding-bottom: 72px;
}

.ed-dhero__search .ed-dsearch {
	grid-area: form;
	max-width: none;
	margin: 0;
	padding: 10px;
}

.ed-dhero__search .ed-dsearch__input {
	height: 60px;
	font-size: 20px;
}

.ed-dhero__search .ed-dsearch__btn {
	height: 60px;
	padding: 0 44px;
	font-size: 18px;
}

.ed-dhero__search .ed-dsearch__tlds {
	grid-area: tlds;
	max-width: none;
	justify-content: flex-start;
	direction: rtl;
}

.ed-dhero__search .ed-sa-badge {
	grid-area: badge;
	max-width: none;
	margin: 0;
}

@media (max-width: 991px) {
	.ed-svc-hero--domain .ed-svc-hero__grid {
		grid-template-columns: 1fr;
		grid-template-areas:
			"text"
			"search"
			"media";
		row-gap: 28px;
	}

	.ed-dhero__search {
		grid-template-columns: 1fr;
		grid-template-areas:
			"form"
			"tlds"
			"badge";
		padding-bottom: 0;
	}

	.ed-svc-hero--domain .ed-svc-hero__media {
		justify-content: center;
		padding-bottom: 56px;
	}
}

/* Extension chips read left to right (".com", not "com."). */
.ed-dsearch__tlds button {
	direction: ltr;
	unicode-bidi: isolate;
}

/* Address bar visual: never wider than its column; long names shrink with an ellipsis. */
.ed-addr {
	max-width: 100%;
}

.ed-addr__list {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ed-addr__list li,
.ed-addr__field,
.ed-addr__result {
	min-width: 0;
}

.ed-addr__text,
.ed-addr__name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 100%;
}

@media (max-width: 600px) {
	.ed-svc-hero--domain .ed-svc-hero__media {
		justify-content: stretch;
	}

	.ed-svc-hero--domain .ed-addr {
		width: 100%;
		padding: 14px 14px 14px;
	}

	.ed-addr__name {
		font-size: 20px;
	}

	.ed-addr__list b {
		font-size: 11px;
	}
}

/* ------------------------------------------------------------------
   Business page (خدمات الشركات): one campaign panel across SMS, social
   media and ads. Monochrome with the lime line and counters.
   ------------------------------------------------------------------ */
.ed-camp {
	position: relative;
	width: 460px;
	margin-bottom: -40px;
	border-radius: 20px 20px 0 0;
	background: #1a1a1a;
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
}

.ed-camp__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid #2a2a2a;
}

.ed-camp__bar span {
	display: flex;
	gap: 5px;
	direction: ltr;
}

.ed-camp__bar span i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3a3a3a;
}

.ed-camp__bar b {
	flex: 1 1 auto;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.ed-camp__bar em {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--ed-lime);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
}

.ed-camp__bar em::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ed-lime);
	animation: ed-camp-live 1.6s ease-in-out infinite;
}

@keyframes ed-camp-live {
	50% { opacity: .25; }
}

.ed-camp__body {
	padding: 18px 18px 64px;
}

.ed-camp__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.ed-camp__stats li {
	padding: 12px;
	border: 1px solid #2c2c2c;
	border-radius: 12px;
	background: var(--ed-ink);
}

.ed-camp__stats small,
.ed-camp__stats span {
	display: block;
	color: #8f938b;
	font-size: 11px;
	line-height: 1.5;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ed-camp__stats b {
	display: block;
	margin: 4px 0 2px;
	color: #fff;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
	direction: ltr;
	text-align: right;
}

.ed-camp__stats li:first-child {
	border-color: rgba(171, 250, 8, .45);
}

.ed-camp__stats li:first-child b {
	color: var(--ed-lime);
}

.ed-camp__chart {
	padding: 12px 12px 8px;
	border: 1px solid #2c2c2c;
	border-radius: 12px;
	background: var(--ed-ink);
}

.ed-camp__chart svg {
	display: block;
	width: 100%;
	height: 110px;
	overflow: visible;
}

.ed-camp__grid {
	fill: none;
	stroke: var(--ed-tx-2a2a2a);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.ed-camp__area {
	fill: rgba(171, 250, 8, .08);
	opacity: 0;
	transition: opacity .8s ease 1.2s;
}

.ed-camp__line {
	fill: none;
	stroke: var(--ed-lime);
	stroke-width: 2.5;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.8s cubic-bezier(.4, 0, .2, 1);
}

.ed-camp.is-on .ed-camp__line,
.is-on .ed-camp__line {
	stroke-dashoffset: 0;
}

.is-on .ed-camp__area {
	opacity: 1;
}

.ed-camp__days {
	display: flex;
	justify-content: space-between;
	margin-top: 8px;
	color: #6b6e68;
	font-size: 10px;
}

.ed-camp__days i {
	font-style: normal;
}

.ed-camp__post {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 14px;
	padding: 12px;
	border: 1px solid #2c2c2c;
	border-radius: 12px;
	background: var(--ed-ink);
}

.ed-camp__avatar {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #2e2e2e;
}

.ed-camp__post div {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 7px;
}

.ed-camp__post div b {
	width: 70%;
	height: 7px;
	border-radius: 4px;
	background: #2e2e2e;
}

.ed-camp__post div b + b {
	width: 45%;
}

.ed-camp__likes {
	color: var(--ed-lime);
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
	direction: ltr;
}

.ed-camp__likes em {
	color: #fff;
	font-style: normal;
	font-variant-numeric: tabular-nums;
}

/* The SMS that just went out, floating over the panel's corner. */
.ed-camp__sms {
	position: absolute;
	top: 236px;
	left: -72px;
	width: 230px;
	padding: 14px 16px;
	border-radius: 18px 18px 4px 18px;
	background: var(--ed-bg);
	color: var(--ed-text);
	box-shadow: 0 24px 50px -12px rgba(0, 0, 0, .6);
	animation: ed-camp-sms 6s ease-in-out .8s infinite both;
}

@keyframes ed-camp-sms {
	0% { opacity: 0; transform: translateY(14px) scale(.96); }
	8%, 82% { opacity: 1; transform: none; }
	92%, 100% { opacity: 0; transform: translateY(-8px); }
}

.ed-camp__sms p {
	margin: 0;
	text-align: right !important;
}

.ed-camp__from {
	display: flex;
	justify-content: space-between;
	margin-bottom: 6px !important;
	color: var(--ed-text);
	font-size: 13px;
	font-weight: 900;
}

.ed-camp__from span {
	color: #8a8a84;
	font-size: 11px;
	font-weight: 500;
}

.ed-camp__msg {
	color: var(--ed-text-3);
	font-size: 13px;
	line-height: 1.7;
}

.ed-camp__ok {
	margin-top: 8px !important;
	color: #5a7d00;
	font-size: 11px;
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	.ed-camp__bar em::before,
	.ed-camp__sms {
		animation: none;
	}

	.ed-camp__line,
	.ed-camp__area {
		transition: none;
	}
}

@media (max-width: 1199px) {
	.ed-camp__sms {
		left: -32px;
	}
}

@media (max-width: 991px) {
	.ed-svc-hero--biz .ed-svc-hero__media {
		padding-top: 8px;
	}

	.ed-camp__sms {
		left: -12px;
		top: auto;
		bottom: 110px;
	}
}

@media (max-width: 600px) {
	.ed-camp {
		width: 100%;
	}

	.ed-camp__body {
		padding: 14px 14px 56px;
	}

	.ed-camp__stats {
		gap: 6px;
	}

	.ed-camp__stats li {
		padding: 10px 8px;
	}

	.ed-camp__stats b {
		font-size: 17px;
	}

	.ed-camp__sms {
		left: 8px;
		bottom: 100px;
		width: 210px;
	}
}

/* ------------------------------------------------------------------
   Business page: the three services as cards. Wireframe visuals on a
   dotted paper canvas, black lines and one lime fill (as on the design page).
   ------------------------------------------------------------------ */
.ed-bsvc {
	padding: 112px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-bsvc,
.ed-bsvc * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-bsvc__head {
	max-width: 680px;
	margin: 0 auto 56px;
	text-align: center;
}

.ed-bsvc__label {
	display: inline-block;
	margin: 0 0 16px;
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 14px;
	font-weight: 700;
}

.ed-bsvc__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 46px !important;
	font-weight: 900;
	line-height: 1.25;
	text-align: center;
}

.ed-bsvc__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: center !important;
}

.ed-bsvc__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ed-bsvc .container::before,
.ed-bsvc .container::after {
	display: none;
}

.ed-bcard {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-surface);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease;
}

.ed-bcard:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 30px 60px -36px rgba(17, 17, 17, .45);
	transform: translateY(-6px);
}

.ed-bcard__visual {
	position: relative;
	display: grid;
	height: 260px;
	place-items: center;
	overflow: hidden;
	border-bottom: 1px solid var(--ed-line);
	background:
		radial-gradient(circle at 1px 1px, rgba(17, 17, 17, .12) 1px, transparent 0) 0 0 / 16px 16px,
		var(--ed-tint-f2f2ee);
}

.ed-bcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px 28px 30px;
}

.ed-bcard__num {
	color: #c9c9c2;
	font-size: 14px;
	font-weight: 900;
}

.ed-bcard__name {
	margin: 6px 0 10px;
	color: var(--ed-text);
	font-size: 26px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-bcard__text {
	margin: 0 0 20px;
	color: var(--ed-muted);
	font-size: 16px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-bcard__gets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
}

.ed-bcard__gets li {
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--ed-tint-f2f2ee);
	color: var(--ed-text-2);
	font-size: 13px;
	font-weight: 700;
	transition: background-color .3s ease, color .3s ease;
}

.ed-bcard:hover .ed-bcard__gets li {
	background: var(--ed-ink);
	color: #fff;
}

.ed-bcard:hover .ed-bcard__gets li:first-child {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-bcard__from {
	margin: -6px 0 18px;
	color: var(--ed-muted-2);
	font-size: 15px;
	text-align: right !important;
}

.ed-bcard__from b {
	color: var(--ed-text);
	font-size: 22px;
	font-weight: 900;
}

.ed-bcard__btn {
	display: inline-flex;
	align-items: center;
	margin-top: auto;
	padding: 12px 24px;
	border: 2px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-bcard__btn:hover,
.ed-bcard:hover .ed-bcard__btn {
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-bcard__btn:focus-visible {
	outline: 3px solid var(--ed-lime);
	outline-offset: 3px;
}

/* Marketing: target rings and bars that rise on hover. */
.ed-vad {
	position: relative;
	display: flex;
	align-items: flex-end;
	gap: 26px;
	direction: ltr;
}

.ed-vad__target {
	width: 120px;
	height: 120px;
}

.ed-vad__target circle {
	fill: #fff;
	stroke: var(--ed-text);
	stroke-width: 1.5;
}

.ed-vad__target .ed-vad__dot {
	fill: var(--ed-lime);
	transform-origin: 60px 60px;
	animation: ed-vad-pulse 2.4s ease-in-out infinite;
}

@keyframes ed-vad-pulse {
	50% { transform: scale(1.18); }
}

.ed-vad__bars {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	height: 120px;
	padding: 0 0 0 2px;
	border-bottom: 1.5px solid var(--ed-edge);
}

.ed-vad__bars i {
	width: 16px;
	border: 1.5px solid var(--ed-edge);
	border-bottom: 0;
	border-radius: 5px 5px 0 0;
	background: var(--ed-surface);
	transition: height .5s cubic-bezier(.2, .7, .2, 1);
}

.ed-vad__bars i:nth-child(1) { height: 30px; }
.ed-vad__bars i:nth-child(2) { height: 46px; }
.ed-vad__bars i:nth-child(3) { height: 40px; }
.ed-vad__bars i:nth-child(4) { height: 66px; }
.ed-vad__bars i:nth-child(5) { height: 88px; background: var(--ed-lime); }

.ed-bcard--ads:hover .ed-vad__bars i:nth-child(2) { height: 58px; }
.ed-bcard--ads:hover .ed-vad__bars i:nth-child(3) { height: 54px; }
.ed-bcard--ads:hover .ed-vad__bars i:nth-child(4) { height: 84px; }
.ed-bcard--ads:hover .ed-vad__bars i:nth-child(5) { height: 112px; }


/* SMS: a phone outline where the messages slide in one after another. */
.ed-vsms__phone {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 170px;
	height: 230px;
	margin-top: 60px;
	padding: 18px 14px;
	border-radius: 28px 28px 0 0;
	background: var(--ed-surface);
	box-shadow: 0 0 0 1.5px var(--ed-edge), 0 24px 40px -24px rgba(17, 17, 17, .35);
}

.ed-vsms__from {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 4px;
	color: var(--ed-text);
	font-size: 12px;
	font-weight: 900;
	direction: ltr;
}

.ed-vsms__from i {
	width: 22px;
	height: 22px;
	border: 1.5px solid var(--ed-ink);
	border-radius: 50%;
	background: var(--ed-lime);
}

.ed-vsms__msg {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 82%;
	padding: 10px 12px;
	border: 1.5px solid #bdbdb5;
	border-radius: 14px 14px 14px 4px;
	animation: ed-vsms-in 6s ease-in-out infinite both;
}

.ed-vsms__msg b {
	height: 5px;
	border-radius: 3px;
	background: var(--ed-tint-dcdcd5);
}

.ed-vsms__msg b:last-child {
	width: 60%;
}

.ed-vsms__msg--on {
	border-color: var(--ed-ink);
	background: var(--ed-lime);
	animation-delay: .6s;
}

.ed-vsms__msg--on b {
	background: rgba(17, 17, 17, .35);
}

.ed-vsms__msg:nth-child(4) {
	animation-delay: 1.2s;
}

@keyframes ed-vsms-in {
	0% { opacity: 0; transform: translateY(10px); }
	10%, 85% { opacity: 1; transform: none; }
	95%, 100% { opacity: 0; }
}

/* Social media: a post card with the platforms under it. */
.ed-vsoc {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.ed-vsoc__post {
	width: 180px;
	padding: 12px;
	border-radius: 16px;
	background: var(--ed-surface);
	box-shadow: 0 0 0 1.5px var(--ed-edge), 0 24px 40px -24px rgba(17, 17, 17, .35);
}

.ed-vsoc__top {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

.ed-vsoc__top i {
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--ed-edge);
	border-radius: 50%;
}

.ed-vsoc__top b {
	width: 70px;
	height: 6px;
	border-radius: 3px;
	background: var(--ed-tint-dcdcd5);
}

.ed-vsoc__img {
	height: 96px;
	border: 1px solid var(--ed-rule-c9c9c2);
	border-radius: 10px;
	background:
		linear-gradient(to top right, transparent calc(50% - 1px), var(--ed-tint-c9c9c2) 50%, transparent calc(50% + 1px)),
		linear-gradient(to top left, transparent calc(50% - 1px), var(--ed-tint-c9c9c2) 50%, transparent calc(50% + 1px)),
		var(--ed-tint-fafaf7);
}

.ed-vsoc__acts {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}

.ed-vsoc__acts i {
	width: 18px;
	height: 18px;
	border: 1.5px solid var(--ed-edge);
	border-radius: 6px;
}

.ed-vsoc__acts .ed-vsoc__like {
	border-radius: 50%;
	background: var(--ed-lime);
	animation: ed-vad-pulse 2.4s ease-in-out infinite;
}

.ed-vsoc__tags {
	display: flex;
	gap: 6px;
	direction: ltr;
}

.ed-vsoc__tags em {
	padding: 3px 8px;
	border: 1px solid var(--ed-edge);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text);
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
	.ed-vad__target .ed-vad__dot,
	.ed-vsms__msg,
	.ed-vsoc__acts .ed-vsoc__like {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-bsvc {
		padding: 88px 0;
	}

	.ed-bsvc__title {
		font-size: 36px !important;
	}

	.ed-bsvc__grid {
		grid-template-columns: 1fr;
		max-width: 560px;
		margin: 0 auto;
	}
}

@media (max-width: 600px) {
	.ed-bsvc {
		padding: 72px 0;
	}

	.ed-bsvc__head {
		margin-bottom: 36px;
	}

	.ed-bsvc__title {
		font-size: 30px !important;
	}

	.ed-bsvc__lead {
		font-size: 16px;
	}

	.ed-bcard__visual {
		height: 220px;
	}

	.ed-vsoc__img {
		height: 66px;
	}

	.ed-bcard__body {
		padding: 22px 22px 24px;
	}

	.ed-bcard__name {
		font-size: 23px !important;
	}

	.ed-bcard__btn {
		align-self: stretch;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
   Business page: social media management packages (same card language
   as the SSL plans: white cards, the recommended one dark).
   ------------------------------------------------------------------ */
.ed-smm {
	padding: 104px 0 104px;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-smm,
.ed-smm * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-smm .container::before,
.ed-smm .container::after {
	display: none;
}

.ed-smm__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px 40px;
	margin-bottom: 48px;
}

.ed-smm__head {
	max-width: 640px;
}

.ed-smm__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-smm__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-smm__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-smm__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-smm__plat {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	direction: ltr;
}

.ed-smm__plat li {
	padding: 6px 12px;
	border: 1px solid var(--ed-edge);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text);
	font-size: 13px;
	font-weight: 700;
}

.ed-smm__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}

.ed-smm__card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px 26px 26px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-surface);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.ed-smm__card:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 26px 50px -34px rgba(17, 17, 17, .4);
	transform: translateY(-4px);
}

.ed-smm__badge {
	position: absolute;
	top: -13px;
	right: 26px;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 13px;
	font-weight: 700;
}

.ed-smm__name {
	margin: 0 0 4px;
	color: var(--ed-text);
	font-size: 24px !important;
	font-weight: 900;
	line-height: 1.35;
	text-align: right;
}

.ed-smm__for {
	margin: 0 0 18px;
	color: var(--ed-muted-2);
	font-size: 15px;
	text-align: right !important;
}

.ed-smm__price {
	margin: 0 0 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--ed-rule-ecece6);
	text-align: right !important;
}

.ed-smm__price b {
	color: var(--ed-text);
	font-size: 46px;
	font-weight: 900;
	line-height: 1;
}

.ed-smm__price span {
	color: var(--ed-muted-2);
	font-size: 14px;
}

/* What you get each month, as four numbers. */
.ed-smm__nums {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 6px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.ed-smm__nums li {
	padding: 10px 4px;
	border-radius: 14px;
	background: var(--ed-tint-f2f2ee);
	text-align: center;
}

.ed-smm__nums b {
	display: block;
	color: var(--ed-text);
	font-size: 22px;
	font-weight: 900;
	line-height: 1.2;
}

.ed-smm__nums span {
	color: var(--ed-muted-2);
	font-size: 12px;
	font-weight: 700;
}

.ed-smm__feat {
	flex: 1 1 auto;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}

.ed-smm__feat li {
	position: relative;
	padding: 6px 26px 6px 0;
	color: var(--ed-text-2);
	font-size: 15px;
	text-align: right;
}

.ed-smm__feat li::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 0;
	width: 14px;
	height: 8px;
	border-bottom: 2.5px solid #7ab800;
	border-left: 2.5px solid #7ab800;
	transform: rotate(-45deg);
}

.ed-smm__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 20px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-smm__btn:hover {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-smm__btn .fa {
	font-family: FontAwesome !important;
	font-size: 18px;
}

.ed-smm__btn:focus-visible,
.ed-smm__ads-btn:focus-visible {
	outline: 3px solid var(--ed-lime);
	outline-offset: 3px;
}

/* Recommended: dark card */
.ed-smm__card.is-featured {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #b9bcb5;
}

.ed-smm__card.is-featured .ed-smm__name,
.ed-smm__card.is-featured .ed-smm__price b,
.ed-smm__card.is-featured .ed-smm__nums b,
.ed-smm__card.is-featured .ed-smm__feat li {
	color: #fff;
}

.ed-smm__card.is-featured .ed-smm__for,
.ed-smm__card.is-featured .ed-smm__price span,
.ed-smm__card.is-featured .ed-smm__nums span {
	color: #9a9d96;
}

.ed-smm__card.is-featured .ed-smm__price {
	border-color: rgba(255, 255, 255, .1);
}

.ed-smm__card.is-featured .ed-smm__nums li {
	background: #222;
}

.ed-smm__card.is-featured .ed-smm__nums li:first-child b {
	color: var(--ed-lime);
}

.ed-smm__card.is-featured .ed-smm__feat li::before {
	border-color: var(--ed-lime);
}

.ed-smm__card.is-featured .ed-smm__btn {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-smm__card.is-featured .ed-smm__btn:hover {
	background: #fff;
}

/* Paid ads add-on: one wide strip under the packages. */
.ed-smm__ads {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 20px 32px;
	margin-top: 18px;
	padding: 24px 28px;
	border: 1.5px dashed var(--ed-rule-c9c9c2);
	border-radius: 28px;
	background: var(--ed-surface);
}

.ed-smm__ads-tag {
	display: inline-block;
	margin-bottom: 8px;
	padding: 3px 12px;
	border: 1px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text);
	font-size: 12px;
	font-weight: 700;
}

.ed-smm__ads h3 {
	margin: 0 0 6px;
	color: var(--ed-text);
	font-size: 21px !important;
	font-weight: 900;
	text-align: right;
}

.ed-smm__ads p {
	margin: 0;
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-smm__ads .ed-smm__ads-price {
	white-space: nowrap;
}

.ed-smm__ads-price b {
	color: var(--ed-text);
	font-size: 34px;
	font-weight: 900;
}

.ed-smm__ads-price span {
	color: var(--ed-muted-2);
	font-size: 14px;
}

.ed-smm__ads-btn {
	padding: 13px 24px;
	border: 2px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-smm__ads-btn:hover {
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-smm__note {
	margin: 22px 0 0;
	color: #8a8a84;
	font-size: 14px;
	line-height: 1.8;
	text-align: center !important;
}

@media (max-width: 991px) {
	.ed-smm {
		padding: 88px 0;
	}

	.ed-smm__title {
		font-size: 34px !important;
	}

	.ed-smm__grid {
		grid-template-columns: 1fr;
		max-width: 520px;
		margin: 0 auto;
		row-gap: 28px;
	}

	.ed-smm__ads {
		grid-template-columns: 1fr auto;
		max-width: 520px;
		margin-right: auto;
		margin-left: auto;
	}

	.ed-smm__ads-text {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.ed-smm {
		padding: 72px 0;
	}

	.ed-smm__title {
		font-size: 29px !important;
	}

	.ed-smm__lead {
		font-size: 16px;
	}

	.ed-smm__card {
		padding: 26px 20px 22px;
	}

	.ed-smm__price b {
		font-size: 40px;
	}

	.ed-smm__ads {
		grid-template-columns: 1fr;
		padding: 22px 20px;
	}

	.ed-smm__ads-btn {
		text-align: center;
	}
}

/* ------------------------------------------------------------------
   Developer services: a setup checklist that ticks itself off, from
   D-U-N-S to the store accounts, ending with "ready to publish".
   ------------------------------------------------------------------ */
.ed-devc {
	position: relative;
	width: 440px;
	margin-bottom: -24px;
	padding-bottom: 40px;
	border-radius: 20px 20px 0 0;
	background: #1a1a1a;
	box-shadow: 0 0 0 2px #2c2c2c, 0 0 120px -20px rgba(171, 250, 8, .3);
}

.ed-devc__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid #2a2a2a;
}

.ed-devc__bar span {
	display: flex;
	gap: 5px;
	direction: ltr;
}

.ed-devc__bar span i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3a3a3a;
}

.ed-devc__bar b {
	flex: 1 1 auto;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
}

.ed-devc__bar em {
	padding: 3px 10px;
	border: 1px solid #333;
	border-radius: 999px;
	color: #8f938b;
	font-size: 12px;
	font-style: normal;
	direction: ltr;
}

.ed-devc__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding: 18px 18px 0;
	list-style: none;
}

.ed-devc__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid #2c2c2c;
	border-radius: 12px;
	background: var(--ed-ink);
	opacity: .45;
	transition: opacity .35s ease, border-color .35s ease;
}

.ed-devc__ico {
	display: grid;
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1.5px solid #3a3a3a;
	border-radius: 10px;
	color: #d9dbd6;
	font-size: 15px;
	font-style: normal;
	font-weight: 900;
}

.ed-devc__ico svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ed-devc__list span {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.ed-devc__list b {
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.ed-devc__list small {
	overflow: hidden;
	color: #8f938b;
	font-size: 12px;
	white-space: nowrap;
	text-overflow: ellipsis;
}

/* Status pill: empty while waiting, a spinner on the current step, lime "تم" when done. */
.ed-devc__list em {
	flex: 0 0 auto;
	min-width: 44px;
	padding: 3px 10px;
	border: 1px solid #333;
	border-radius: 999px;
	color: transparent;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	text-align: center;
	transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

.ed-devc__list li.is-now {
	opacity: 1;
	border-color: #444;
}

.ed-devc__list li.is-now em {
	border-color: var(--ed-lime);
	border-right-color: transparent;
	min-width: 22px;
	width: 22px;
	height: 22px;
	padding: 0;
	animation: ed-devc-spin .8s linear infinite;
}

@keyframes ed-devc-spin {
	to { transform: rotate(360deg); }
}

.ed-devc__list li.is-done {
	opacity: 1;
}

.ed-devc__list li.is-done em {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-devc__list li.is-done .ed-devc__ico {
	border-color: #555;
}

.ed-devc__done {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 14px 18px 0;
	padding: 14px 16px;
	border: 1px dashed #3a3a3a;
	border-radius: 14px;
	transition: background-color .4s ease, border-color .4s ease;
}

.ed-devc__done b {
	color: #8f938b;
	font-size: 15px;
	font-weight: 900;
	transition: color .4s ease;
}

.ed-devc__done span {
	color: #6b6e68;
	font-size: 12px;
	font-weight: 700;
	direction: ltr;
	transition: color .4s ease;
}

.ed-devc__done.is-on {
	border-style: solid;
	border-color: var(--ed-lime);
	background: var(--ed-lime);
}

.ed-devc__done.is-on b,
.ed-devc__done.is-on span {
	color: var(--ed-text);
}

.ed-svc-hero--dev .ed-svc-hero__btn .fa {
	font-family: FontAwesome !important;
}

@media (prefers-reduced-motion: reduce) {
	.ed-devc__list li,
	.ed-devc__list em,
	.ed-devc__done {
		transition: none;
	}

	.ed-devc__list li.is-now em {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-svc-hero--dev .ed-svc-hero__media {
		padding-top: 8px;
	}
}

@media (max-width: 600px) {
	.ed-devc {
		width: 100%;
	}

	.ed-devc__list {
		padding: 14px 14px 0;
	}

	.ed-devc__done {
		margin: 12px 14px 0;
	}
}

/* ------------------------------------------------------------------
   Developer services: five product cards (three on top, two wide below),
   white with the featured one dark, as in the other plan cards.
   ------------------------------------------------------------------ */
.ed-devp {
	padding: 104px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-devp,
.ed-devp * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-devp .container::before,
.ed-devp .container::after {
	display: none;
}

.ed-devp__head {
	max-width: 680px;
	margin-bottom: 48px;
}

.ed-devp__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-devp__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-devp__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-devp__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-devp__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.ed-devp__card {
	position: relative;
	display: flex;
	grid-column: span 2;
	flex-direction: column;
	padding: 26px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-surface);
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.ed-devp__card:nth-child(n+4) {
	grid-column: span 3;
}

.ed-devp__card:hover {
	border-color: var(--ed-edge);
	box-shadow: 0 26px 50px -34px rgba(17, 17, 17, .4);
	transform: translateY(-4px);
}

.ed-devp__badge {
	position: absolute;
	top: -13px;
	left: 26px;
	padding: 4px 14px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 13px;
	font-weight: 700;
}

.ed-devp__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}



.ed-devp__logo {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--ed-line);
	border-radius: 16px;
	background: var(--ed-surface);
}

.ed-devp__logo img {
	display: block;
	width: auto;
	max-width: 132px;
	height: 26px;
	object-fit: contain;
}

/* Square marks get a little more height than the wordmarks. */
.ed-devp__logo--apple img,
.ed-devp__logo--maps img {
	height: 30px;
}

.ed-devp__card.is-featured .ed-devp__logo {
	border-color: #fff;
}

.ed-devp__brand {
	overflow: hidden;
	color: #8a8a84;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.ed-devp__name {
	margin: 0 0 8px;
	color: var(--ed-text);
	font-size: 22px !important;
	font-weight: 900;
	line-height: 1.35;
	text-align: right;
}

.ed-devp__text {
	margin: 0 0 16px;
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-devp__feat {
	flex: 1 1 auto;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.ed-devp__card:nth-child(n+4) .ed-devp__feat {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
	align-content: start;
}

.ed-devp__feat li {
	position: relative;
	padding: 5px 24px 5px 0;
	color: var(--ed-text-2);
	font-size: 14px;
	text-align: right;
}

.ed-devp__feat li::before {
	content: "";
	position: absolute;
	top: 11px;
	right: 0;
	width: 13px;
	height: 7px;
	border-bottom: 2.5px solid #7ab800;
	border-left: 2.5px solid #7ab800;
	transform: rotate(-45deg);
}

.ed-devp__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid var(--ed-rule-ecece6);
}

.ed-devp__price {
	margin: 0;
	text-align: right !important;
}

.ed-devp__price b {
	color: var(--ed-text);
	font-size: 32px;
	font-weight: 900;
	line-height: 1;
}

.ed-devp__price span {
	color: var(--ed-muted-2);
	font-size: 13px;
}

.ed-devp__price small {
	display: block;
	margin-top: 6px;
	color: #8a8a84;
	font-size: 12px;
}

.ed-devp__card.is-featured .ed-devp__price small {
	color: #9a9d96;
}

.ed-devp__btn {
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-devp__btn:hover {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-devp__btn:focus-visible {
	outline: 3px solid var(--ed-lime);
	outline-offset: 3px;
}

/* Featured (D-U-N-S): dark card */
.ed-devp__card.is-featured {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
}

.ed-devp__card.is-featured .ed-devp__name,
.ed-devp__card.is-featured .ed-devp__price b,
.ed-devp__card.is-featured .ed-devp__feat li {
	color: #fff;
}

.ed-devp__card.is-featured .ed-devp__text,
.ed-devp__card.is-featured .ed-devp__price span,
.ed-devp__card.is-featured .ed-devp__brand {
	color: #9a9d96;
}


.ed-devp__card.is-featured .ed-devp__feat li::before {
	border-color: var(--ed-lime);
}

.ed-devp__card.is-featured .ed-devp__foot {
	border-color: rgba(255, 255, 255, .1);
}

.ed-devp__card.is-featured .ed-devp__btn {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-devp__card.is-featured .ed-devp__btn:hover {
	background: #fff;
}

@media (max-width: 991px) {
	.ed-devp {
		padding: 88px 0;
	}

	.ed-devp__title {
		font-size: 34px !important;
	}

	.ed-devp__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 28px;
	}

	.ed-devp__card,
	.ed-devp__card:nth-child(n+4) {
		grid-column: span 1;
	}

	.ed-devp__card:first-child {
		grid-column: 1 / -1;
	}

	.ed-devp__card:nth-child(n+4) .ed-devp__feat {
		display: block;
	}
}

@media (max-width: 600px) {
	.ed-devp {
		padding: 72px 0;
	}

	.ed-devp__title {
		font-size: 29px !important;
	}

	.ed-devp__lead {
		font-size: 16px;
	}

	.ed-devp__grid {
		grid-template-columns: 1fr;
	}

	.ed-devp__card {
		padding: 24px 20px;
	}

	.ed-devp__btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* Developer services: four steps, with a lime line through the icons that fills in
   when the section scrolls into view. Blueprint background (fine grid on white). */
.ed-steps--dev {
	position: relative;
	overflow: hidden;
}

@media (min-width: 1200px) {
	.ed-steps--dev .ed-steps__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.ed-steps--dev .ed-steps__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ed-steps--dev > .container {
	position: relative;
	z-index: 1;
}

.ed-steps--dev .ed-steps__list::after {
	content: "";
	position: absolute;
	top: 52px;
	right: 40px;
	width: calc(100% - 80px);
	height: 4px;
	border-radius: 4px;
	background: var(--ed-lime);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 1.6s cubic-bezier(.6, 0, .2, 1) .2s;
}

.ed-steps--dev.is-in .ed-steps__list::after {
	transform: scaleX(1);
}

.ed-steps--dev .ed-step {
	z-index: 1;
}

@media (max-width: 1199px) {
	.ed-steps--dev .ed-steps__list::after {
		display: none;
	}
}

/* Blueprint: a fine square grid on white that fades out at the edges */
.ed-steps--c {
	background: var(--ed-section-white);
}

.ed-steps--c::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(var(--ed-tint-e9e9e3) 1px, transparent 1px) 0 0 / 40px 40px,
		linear-gradient(90deg, var(--ed-tint-e9e9e3) 1px, transparent 1px) 0 0 / 40px 40px;
	-webkit-mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 80%);
	mask-image: radial-gradient(70% 70% at 50% 50%, #000 30%, transparent 80%);
}

.ed-steps--c .ed-step {
	border-color: var(--ed-edge);
	box-shadow: 6px 6px 0 var(--ed-edge);
}

.ed-steps--c .ed-step:hover {
	box-shadow: 10px 10px 0 var(--ed-lime);
	transform: translate(-4px, -4px);
}

@media (prefers-reduced-motion: reduce) {
	.ed-steps--dev .ed-steps__list::after {
		transition: none;
	}
}

/* ------------------------------------------------------------------
   E-newspaper (template-sahefa.php): pieces of the phone and ticker used
   by the front-page hero below.
   ------------------------------------------------------------------ */
.ed-news__roll {
	flex: 1 1 auto;
	overflow: hidden;
}

.ed-news__roll span {
	display: flex;
	gap: 36px;
	width: max-content;
	height: 100%;
	align-items: center;
	padding-right: 16px;
	animation: ed-news-roll 22s linear infinite;
}

.ed-news__roll i {
	color: #fff;
	font-size: 12px;
	font-style: normal;
	white-space: nowrap;
}

.ed-news__roll i::before {
	content: "●";
	margin-left: 8px;
	color: var(--ed-lime);
	font-size: 8px;
}

@keyframes ed-news-roll {
	to { transform: translateX(50%); }
}

.ed-news__cards span,
.ed-news__feed span {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ed-news__cards b,
.ed-news__feed b {
	height: 6px;
	border-radius: 3px;
	background: var(--ed-tint-d4d4ce);
}

.ed-news__cards b + b,
.ed-news__feed b + b {
	width: 70%;
}

.ed-news__phone {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 190px;
	height: 360px;
	padding: 48px 12px 0;
	border-radius: 34px 34px 0 0;
	background: var(--ed-ink);
	box-shadow: 0 0 0 2px #333, 0 30px 60px -20px rgba(0, 0, 0, .7);
}

.ed-news__island {
	position: absolute;
	top: 12px;
	left: 50%;
	width: 64px;
	height: 18px;
	border-radius: 12px;
	background: #000;
	transform: translateX(-50%);
}

.ed-news__time {
	position: absolute;
	top: 12px;
	right: 20px;
	margin: 0;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	direction: ltr;
}

.ed-news__push {
	display: flex;
	gap: 8px;
	margin-bottom: 14px;
	padding: 10px;
	border-radius: 14px;
	background: rgba(247, 247, 244, .96);
	box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .6);
	animation: ed-news-push 6s cubic-bezier(.2, .7, .2, 1) infinite;
}

@keyframes ed-news-push {
	0% { opacity: 0; transform: translateY(-30px) scale(.95); }
	10%, 78% { opacity: 1; transform: none; }
	90%, 100% { opacity: 0; transform: translateY(-20px); }
}

.ed-news__app {
	display: grid;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 8px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 13px;
	font-weight: 900;
}

.ed-news__push div {
	min-width: 0;
}

.ed-news__push p {
	display: flex;
	justify-content: space-between;
	margin: 0;
	color: var(--ed-text);
	font-size: 11px;
	text-align: right !important;
}

.ed-news__push small {
	color: #8a8a84;
	font-size: 10px;
}

.ed-news__push .ed-news__head {
	display: block;
	margin-top: 2px;
	color: var(--ed-text-3);
	font-size: 11px;
	line-height: 1.5;
}

.ed-news__feed {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ed-news__feed span {
	padding: 8px;
	border-radius: 10px;
	background: #1f1f1f;
}

.ed-news__feed i {
	height: 46px;
	border-radius: 6px;
	background: #2a2a2a;
}

.ed-news__feed b {
	background: #333;
}

/* Front page on newsprint */
.page-template-template-sahefa .headerSection:has(.ed-paper) {
	background: #f4f1ea !important;
}

.ed-paper {
	padding: 116px 0 0;
	background:
		radial-gradient(circle at 1px 1px, rgba(21, 21, 21, .05) 1px, transparent 0) 0 0 / 6px 6px,
		#f4f1ea;
	color: var(--ed-text);
}

.ed-paper,
.ed-paper * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-paper .container::before,
.ed-paper .container::after {
	display: none;
}

.ed-paper__top {
	display: flex;
	justify-content: space-between;
	padding-bottom: 8px;
	color: var(--ed-muted);
	font-size: 13px;
}

.ed-paper__mast {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	padding: 10px 0 12px;
	border-top: 5px double var(--ed-edge);
	border-bottom: 1px solid var(--ed-edge);
}

.ed-paper__name {
	color: var(--ed-text);
	font-family: "Thmanyah Serif Display", "Thmanyah Sans", serif !important;
	font-size: 64px;
	font-weight: 900;
	line-height: 1.1;
}

/* Ears: the small boxes either side of the masthead. */
.ed-paper__ear {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-self: start;
	padding: 6px 14px;
	border: 1px solid var(--ed-edge);
	color: var(--ed-muted);
	font-size: 12px;
	line-height: 1.4;
}

.ed-paper__ear:last-child {
	justify-self: end;
}

.ed-paper__ear b {
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 900;
}

.ed-paper__sections {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 26px;
	padding: 10px 0;
	border-bottom: 3px solid var(--ed-edge);
	font-size: 14px;
	font-weight: 700;
}

.ed-paper__sections span {
	color: var(--ed-text-3);
}

.ed-paper__sections .is-on {
	color: var(--ed-text);
	box-shadow: inset 0 -3px 0 var(--ed-lime);
}

.ed-paper__kicker {
	display: inline-block;
	margin: 30px 0 12px;
	padding: 4px 12px;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 14px;
	font-weight: 700;
}

/* Banner headline across the page. */
.ed-paper__title {
	margin: 0 0 26px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--ed-edge);
	color: var(--ed-text);
	font-size: 70px !important;
	font-weight: 900;
	line-height: 1.12;
	text-align: right;
}

.ed-paper__cols {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 4fr) minmax(0, 3fr);
	gap: 0;
	padding-bottom: 48px;
}

.ed-paper__cols > * {
	padding: 0 28px;
}

.ed-paper__cols > *:first-child {
	padding-right: 0;
}

.ed-paper__cols > *:last-child {
	padding-left: 0;
}

.ed-paper__cols > * + * {
	border-right: 1px solid #cfcac0;
}

.ed-paper__lead {
	margin: 0 0 12px;
	color: var(--ed-text-2);
	font-size: 19px;
	line-height: 1.95;
	text-align: right !important;
}

/* Lead story opens with a lime rule (an Arabic drop cap would break the letter joins). */
.ed-paper__story-main .ed-paper__lead {
	padding-right: 18px;
	border-right: 4px solid var(--ed-lime);
	color: var(--ed-text);
	font-size: 20px;
	font-weight: 500;
}

.ed-paper__byline {
	margin: 0 0 24px;
	color: #8a857a;
	font-size: 13px;
	text-align: right !important;
}

.ed-paper .ed-svc-hero__btn {
	border-color: var(--ed-ink);
	color: var(--ed-ink) !important;
}

.ed-paper .ed-svc-hero__btn:hover {
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-paper .ed-svc-hero__btn--main {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-paper .ed-svc-hero__btn--main:hover {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

/* The front-page "photo": the phone with the alert, framed like a press picture. */
.ed-paper__photo {
	margin: 0;
}

.ed-paper__frame {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	height: 280px;
	overflow: hidden;
	background:
		radial-gradient(70% 60% at 50% 100%, rgba(171, 250, 8, .35), transparent 70%),
		repeating-linear-gradient(45deg, #1b1b1b 0 6px, #161616 6px 12px);
}

.ed-paper__phone {
	position: relative;
	bottom: auto;
	left: auto;
	width: 176px;
	height: 250px;
	padding: 44px 10px 0;
	border-radius: 30px 30px 0 0;
}

.ed-paper__phone .ed-news__push {
	opacity: 1;
	animation: ed-paper-ping 4s ease-in-out infinite;
}

/* The alert stays in the "photo", with a lime pulse around it. */
@keyframes ed-paper-ping {
	0%, 100% { box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .6), 0 0 0 0 rgba(171, 250, 8, .6); }
	50% { box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .6), 0 0 0 8px rgba(171, 250, 8, 0); }
}

.ed-paper__phone .ed-news__push p,
.ed-paper__phone .ed-news__head {
	font-size: 10.5px;
}

.ed-paper__photo figcaption {
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px solid #cfcac0;
	color: var(--ed-muted);
	font-size: 13px;
	line-height: 1.6;
	text-align: right;
}

/* "In this issue" list with big lime numbers. */
.ed-paper__most-title {
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 3px solid var(--ed-edge);
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 900;
	text-align: right !important;
}

.ed-paper__most ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ed-most;
}

.ed-paper__most li {
	position: relative;
	padding: 0 44px 16px 0;
	margin-bottom: 16px;
	border-bottom: 1px solid #cfcac0;
	counter-increment: ed-most;
	text-align: right;
}

.ed-paper__most li:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

.ed-paper__most li::before {
	content: counter(ed-most);
	position: absolute;
	top: -4px;
	right: 0;
	color: var(--ed-text);
	font-size: 36px;
	font-weight: 900;
	line-height: 1;
	-webkit-text-stroke: 1px #151515;
	text-shadow: 3px 3px 0 var(--ed-lime);
}

.ed-paper__most b {
	display: block;
	margin-bottom: 4px;
	color: var(--ed-text);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.4;
}

.ed-paper__most span {
	color: var(--ed-muted);
	font-size: 13px;
	line-height: 1.6;
}

.ed-paper__ticker {
	display: flex;
	height: 48px;
	background: var(--ed-ink);
}

.ed-paper__ticker em {
	display: grid;
	flex: 0 0 auto;
	padding: 0 24px;
	place-items: center;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
}

.ed-paper__ticker .ed-news__roll i {
	font-size: 15px;
}

@media (max-width: 1199px) {
	.ed-paper__title {
		font-size: 56px !important;
	}

	.ed-paper__cols {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		row-gap: 28px;
	}

	.ed-paper__most {
		grid-column: 1 / -1;
		padding: 24px 0 0 !important;
		border-right: 0 !important;
		border-top: 1px solid #cfcac0;
	}

	.ed-paper__most ol {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 24px;
	}

	.ed-paper__most li {
		margin: 0;
		border-bottom: 0;
	}
}

@media (max-width: 767px) {
	.ed-paper {
		padding-top: 100px;
	}

	.ed-paper__top {
		font-size: 11px;
	}

	.ed-paper__name {
		font-size: 40px;
	}

	.ed-paper__ear {
		padding: 4px 8px;
		font-size: 10px;
	}

	.ed-paper__ear b {
		font-size: 12px;
	}

	.ed-paper__sections {
		justify-content: flex-start;
		flex-wrap: nowrap;
		overflow: hidden;
		gap: 18px;
		font-size: 13px;
		white-space: nowrap;
	}

	.ed-paper__title {
		font-size: 34px !important;
	}

	.ed-paper__cols {
		grid-template-columns: 1fr;
	}

	.ed-paper__cols > * {
		padding: 0 !important;
		border-right: 0 !important;
	}

	.ed-paper__lead {
		font-size: 17px;
	}

	.ed-paper__most ol {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ed-paper__most li {
		margin-bottom: 16px;
		border-bottom: 1px solid #cfcac0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ed-paper__phone .ed-news__push,
	.ed-news__roll span {
		animation: none;
	}
}

/* ------------------------------------------------------------------
   Newspaper features: dark page with three ruled columns, one per user.
   ------------------------------------------------------------------ */
.ed-nfeat,
.ed-nfeat *,
.ed-nflow,
.ed-nflow * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-nfeat .container::before,
.ed-nfeat .container::after,
.ed-nflow .container::before,
.ed-nflow .container::after {
	display: none;
}

.ed-nfeat {
	padding: 104px 0;
	background: var(--ed-ink);
	color: #b9bcb5;
}

.ed-nfeat__head {
	max-width: 760px;
	margin-bottom: 48px;
	padding-bottom: 28px;
	border-bottom: 3px solid #fff;
}

.ed-nfeat__label,
.ed-nflow__label {
	display: inline-block;
	margin: 0 0 14px;
	padding: 4px 12px;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 14px;
	font-weight: 700;
}

.ed-nfeat__title {
	margin: 0;
	color: #fff;
	font-size: 46px !important;
	font-weight: 900;
	line-height: 1.25;
	text-align: right;
}

.ed-nfeat__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ed-nfeat__col {
	padding: 0 32px;
}

.ed-nfeat__col:first-child {
	padding-right: 0;
}

.ed-nfeat__col:last-child {
	padding-left: 0;
}

.ed-nfeat__col + .ed-nfeat__col {
	border-right: 1px solid #2c2c2c;
}

.ed-nfeat__top {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 10px;
}

.ed-nfeat__ico {
	display: grid;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 14px;
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-nfeat__top h3 {
	margin: 0;
	color: #fff;
	font-size: 24px !important;
	font-weight: 900;
	text-align: right;
}

.ed-nfeat__lead {
	margin: 0 0 18px;
	color: #8f938b;
	font-size: 15px;
	line-height: 1.7;
	text-align: right !important;
}

.ed-nfeat__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-nfeat__col li {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 14px 0;
	border-top: 1px solid #2c2c2c;
	text-align: right;
}

.ed-nfeat__col li b {
	color: #fff;
	font-size: 17px;
	font-weight: 700;
}

.ed-nfeat__col li b::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: 10px;
	background: var(--ed-lime);
	vertical-align: 2px;
}

.ed-nfeat__col li span {
	color: #9a9d96;
	font-size: 14px;
	line-height: 1.7;
}

/* ------------------------------------------------------------------
   From the story to the reader: four steps on newsprint.
   ------------------------------------------------------------------ */
.ed-nflow {
	padding: 104px 0;
	background:
		radial-gradient(circle at 1px 1px, rgba(21, 21, 21, .05) 1px, transparent 0) 0 0 / 6px 6px,
		#f4f1ea;
	color: var(--ed-text);
}

.ed-nflow__head {
	max-width: 760px;
	margin-bottom: 48px;
}

.ed-nflow__label {
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-nflow__title {
	margin: 0;
	color: var(--ed-text);
	font-size: 46px !important;
	font-weight: 900;
	line-height: 1.25;
	text-align: right;
}

.ed-nflow__list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-nflow__list::before {
	content: "";
	position: absolute;
	top: 62px;
	right: 40px;
	left: 40px;
	height: 2px;
	background: repeating-linear-gradient(to left, var(--ed-ink) 0 8px, transparent 8px 14px);
	opacity: .3;
}

.ed-nflow__step {
	position: relative;
	padding: 24px 22px 26px;
	border: 1px solid var(--ed-edge);
	background: var(--ed-tint-fffdf8);
	box-shadow: 6px 6px 0 var(--ed-edge);
	text-align: right;
	transition: transform .25s ease, box-shadow .25s ease;
}

.ed-nflow__step:hover {
	box-shadow: 10px 10px 0 var(--ed-lime);
	transform: translate(-4px, -4px);
}

.ed-nflow__num {
	position: absolute;
	top: 20px;
	left: 20px;
	color: #c9c4b8;
	font-size: 28px;
	font-weight: 900;
	line-height: 1;
}

.ed-nflow__ico {
	position: relative;
	z-index: 1;
	display: grid;
	width: 52px;
	height: 52px;
	margin-bottom: 20px;
	place-items: center;
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-nflow__step:last-child .ed-nflow__ico {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-nflow__step h3 {
	margin: 0 0 8px;
	color: var(--ed-text);
	font-size: 21px !important;
	font-weight: 900;
	text-align: right;
}

.ed-nflow__step p {
	margin: 0;
	color: var(--ed-tx-4b4b47);
	font-size: 15px;
	line-height: 1.75;
	text-align: right !important;
}

.ed-nflow__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	margin-top: 44px;
	padding: 22px 28px;
	border-top: 3px solid var(--ed-edge);
	border-bottom: 1px solid var(--ed-edge);
}

.ed-nflow__cta p {
	margin: 0;
	color: var(--ed-text);
	font-size: 19px;
	font-weight: 700;
	text-align: right !important;
}

.ed-nflow__btn {
	padding: 14px 28px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-nflow__btn:hover {
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-nflow__btn:focus-visible {
	outline: 3px solid var(--ed-lime);
	outline-offset: 3px;
}

@media (max-width: 1199px) {
	.ed-nflow__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: 28px;
	}

	.ed-nflow__list::before {
		display: none;
	}
}

@media (max-width: 991px) {
	.ed-nfeat,
	.ed-nflow {
		padding: 88px 0;
	}

	.ed-nfeat__title,
	.ed-nflow__title {
		font-size: 36px !important;
	}

	.ed-nfeat__cols {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.ed-nfeat__col {
		padding: 0 !important;
		border-right: 0 !important;
	}
}

@media (max-width: 600px) {
	.ed-nfeat,
	.ed-nflow {
		padding: 72px 0;
	}

	.ed-nfeat__title,
	.ed-nflow__title {
		font-size: 29px !important;
	}

	.ed-nflow__list {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.ed-nflow__cta {
		padding: 20px 0;
	}

	.ed-nflow__btn {
		flex: 1 1 100%;
		text-align: center;
	}
}

/* ------------------------------------------------------------------
   Newspaper page on phones: instead of stacking into one long column,
   these lists become a row you swipe sideways (the next card peeks in).
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
	.ed-nfeat__cols,
	.ed-nflow__list,
	.ed-paper__most ol {
		display: grid !important;
		grid-auto-flow: column;
		grid-template-columns: none !important;
		gap: 12px !important;
		margin-right: -15px;
		margin-left: -15px;
		padding: 4px 15px 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding: 0 15px;
		scrollbar-width: none;
	}

	.ed-nfeat__cols::-webkit-scrollbar,
	.ed-nflow__list::-webkit-scrollbar,
	.ed-paper__most ol::-webkit-scrollbar {
		display: none;
	}

	.ed-nfeat__cols { grid-auto-columns: 82%; }
	.ed-nflow__list { grid-auto-columns: 72%; }
	.ed-paper__most ol { grid-auto-columns: 74%; }

	.ed-nfeat__col,
	.ed-nflow__step,
	.ed-paper__most li {
		scroll-snap-align: start;
	}

	/* Feature groups become dark cards. */
	.ed-nfeat__col {
		padding: 22px 20px 8px !important;
		border: 1px solid #2c2c2c !important;
		border-radius: 20px;
		background: #1c1c1c;
	}

	.ed-nfeat__col li {
		padding: 11px 0;
	}

	/* "In this issue" items become small paper cards. */
	.ed-paper__most li {
		margin: 0 !important;
		padding: 16px 52px 16px 14px !important;
		border: 1px solid var(--ed-edge) !important;
		background: var(--ed-tint-fffdf8);
	}

	.ed-paper__most li::before {
		top: 14px;
		right: 12px;
	}

	.ed-nflow__step {
		box-shadow: 4px 4px 0 var(--ed-edge);
	}
}

/* ------------------------------------------------------------------
   Our work (template-store.php): a wall of the apps we published.
   Icons rest in grey; one at a time lights up with its name and stores.
   ------------------------------------------------------------------ */
.ed-svc-hero--works .ed-svc-hero__btn .fa {
	font-family: FontAwesome !important;
}

.ed-wall {
	position: relative;
	width: 100%;
	max-width: 460px;
	margin-bottom: -40px;
}

.ed-wall__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 0;
	padding: 0 0 70px;
	list-style: none;
	transform: perspective(1200px) rotateX(14deg) rotateZ(-6deg);
	/* Fade into the section above and the next section below. */
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 14%, #000 70%, transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 14%, #000 70%, transparent 100%);
}

.ed-wall__grid li {
	position: relative;
	aspect-ratio: 1;
	border-radius: 24%;
	background: #1d1d1d;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .08);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1), box-shadow .5s ease;
}

.ed-wall__grid img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale(1) brightness(.55) contrast(1.05);
	transition: filter .5s ease;
}

.ed-wall__grid li.is-on {
	z-index: 1;
	transform: scale(1.14);
	box-shadow: 0 0 0 3px var(--ed-lime), 0 18px 50px -10px rgba(171, 250, 8, .45);
}

.ed-wall__grid li.is-on img {
	filter: none;
}

/* The name card of the lit app. */
.ed-wall__tag {
	position: absolute;
	right: 50%;
	bottom: 70px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 92%;
	padding: 10px 18px 10px 10px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 18px;
	background: rgba(17, 17, 17, .88);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	transform: translateX(50%);
	white-space: nowrap;
}

.ed-wall__tag img {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 11px;
}

.ed-wall__tag span {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ed-wall__tag b {
	overflow: hidden;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-overflow: ellipsis;
}

.ed-wall__tag small {
	color: var(--ed-lime);
	font-size: 13px;
	line-height: 18px;
	direction: ltr;
	text-align: right;
}

.ed-wall__tag.is-in {
	animation: ed-wall-tag .45s cubic-bezier(.2, .7, .2, 1);
}

@keyframes ed-wall-tag {
	from { opacity: 0; transform: translate(50%, 10px); }
	to { opacity: 1; transform: translateX(50%); }
}

@media (prefers-reduced-motion: reduce) {
	.ed-wall__grid li,
	.ed-wall__grid img {
		transition: none;
	}

	.ed-wall__tag.is-in {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-wall {
		max-width: 420px;
		margin: 0 auto -30px;
	}
}

@media (max-width: 600px) {
	.ed-wall__grid {
		gap: 12px;
	}

	.ed-wall__tag b {
		font-size: 15px;
	}
}

/* Our work: every app we published, filterable by store, 16 at a time. */
.ed-apps {
	padding: 104px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-apps,
.ed-apps * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-apps .container::before,
.ed-apps .container::after {
	display: none;
}

.ed-apps__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}

.ed-apps__head > div {
	max-width: 640px;
}

.ed-apps__label {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-apps__label::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-left: 10px;
	border-radius: 50%;
	background: var(--ed-lime);
	vertical-align: 1px;
}

.ed-apps__title {
	margin: 0 0 14px;
	color: var(--ed-text);
	font-size: 42px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-apps__lead {
	margin: 0;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-apps__filter {
	position: relative;
	display: flex;
	gap: 6px;
	padding: 6px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
}

/* The black pill that slides under the chosen filter. */
.ed-apps__pill {
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 0;
	border-radius: 999px;
	background: var(--ed-ink);
}

.ed-apps__filter.is-ready .ed-apps__pill {
	transition: transform .4s cubic-bezier(.3, 1.3, .5, 1), width .4s cubic-bezier(.3, 1.3, .5, 1);
}

.ed-apps__filter button {
	position: relative;
	z-index: 1;
	padding: 10px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
	cursor: pointer;
	transition: color .3s ease, transform .15s ease;
}

.ed-apps__filter button span {
	margin-right: 4px;
	color: var(--ed-muted-3);
	font-weight: 500;
	transition: color .3s ease;
}

.ed-apps__filter button:active {
	transform: scale(.94);
}

.ed-apps__filter button.is-on {
	color: #fff;
}

.ed-apps__filter button.is-on span {
	color: var(--ed-lime);
}

.ed-apps__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-apps__item[hidden] {
	display: none;
}

.ed-apps__card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 14px;
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	text-decoration: none !important;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease, border-color .3s ease;
}

/* Cards that just appeared (first load, filter, "more") come in one after another. */
.ed-apps__item.is-in .ed-apps__card {
	animation: ed-app-in .45s cubic-bezier(.2, .7, .2, 1) both;
	animation-delay: calc(var(--i, 0) * 28ms);
}

.ed-apps__card:hover,
.ed-apps__card:focus-visible {
	border-color: var(--ed-edge);
	box-shadow: 0 16px 34px -20px rgba(0, 0, 0, .4);
	transform: translateY(-3px);
}

.ed-apps__card:active {
	transform: translateY(-1px) scale(.98);
}

.ed-apps__icon {
	position: relative;
	flex: none;
	width: 64px;
	height: 64px;
	border-radius: 15px;
	background: var(--ed-bg-2);
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
	transition: transform .4s cubic-bezier(.3, 1.4, .5, 1), box-shadow .3s ease;
}

.ed-apps__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* A light sweep crosses the icon on hover. */
.ed-apps__icon::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(115deg, transparent 30%, rgba(var(--ed-surface-rgb), .55) 50%, transparent 70%);
	transform: translateX(-120%);
}

.ed-apps__card:hover .ed-apps__icon {
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 10px 20px -10px rgba(0, 0, 0, .45);
	transform: rotate(-6deg) scale(1.08);
}

.ed-apps__card:hover .ed-apps__icon::after {
	transform: translateX(120%);
	transition: transform .7s ease;
}

/* The arrow slides in at the card's end. */
.ed-apps__arrow {
	display: grid;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	margin-right: auto;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink);
	opacity: 0;
	transform: translateX(8px) scale(.6);
	transition: opacity .25s ease, transform .3s cubic-bezier(.3, 1.4, .5, 1);
}

.ed-apps__arrow svg {
	width: 16px;
	height: 16px;
}

.ed-apps__card:hover .ed-apps__arrow,
.ed-apps__card:focus-visible .ed-apps__arrow {
	opacity: 1;
	transform: none;
}

.ed-apps__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ed-apps__text b {
	display: -webkit-box;
	overflow: hidden;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ed-apps__text small {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 10px;
	margin-top: 2px;
	color: var(--ed-muted-3);
	font-size: 13px;
	text-align: right;
}

.ed-apps__os {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	direction: ltr;
	transition: color .25s ease;
}

.ed-apps__os svg {
	width: 13px;
	height: 13px;
	fill: currentColor;
}

.ed-apps__card:hover .ed-apps__os {
	color: var(--ed-text);
}

.ed-apps__more {
	margin-top: 36px;
	text-align: center;
}

.ed-apps__more[hidden] {
	display: none;
}

.ed-apps__btn {
	padding: 15px 30px;
	border: 2px solid var(--ed-edge);
	border-radius: 999px;
	background: transparent;
	color: var(--ed-text);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.ed-apps__btn:hover {
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-apps__btn:active {
	transform: scale(.97);
}

.ed-apps__left {
	margin-right: 4px;
	opacity: .6;
	font-weight: 500;
}

@media (prefers-reduced-motion: reduce) {
	.ed-apps__card,
	.ed-apps__item.is-in .ed-apps__card,
	.ed-apps__icon,
	.ed-apps__icon::after,
	.ed-apps__arrow,
	.ed-apps__filter.is-ready .ed-apps__pill {
		animation: none;
		transition: none;
	}
}

/* Touch screens have no hover: keep the arrow visible, small. */
@media (hover: none) {
	.ed-apps__arrow {
		opacity: 1;
		transform: none;
		width: 26px;
		height: 26px;
		background: var(--ed-bg-2);
	}
}

@media (max-width: 991px) {
	.ed-apps {
		padding: 80px 0;
	}

	.ed-apps__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-apps__title {
		font-size: 34px !important;
	}
}

@media (max-width: 600px) {
	.ed-apps {
		padding: 64px 0;
	}

	.ed-apps__title {
		font-size: 28px !important;
	}

	.ed-apps__lead {
		font-size: 16px;
	}

	.ed-apps__filter {
		width: 100%;
	}

	.ed-apps__filter button {
		flex: 1;
		padding: 10px 8px;
		font-size: 14px;
	}

	.ed-apps__grid {
		gap: 10px;
	}

	.ed-apps__card {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 12px;
		border-radius: 18px;
	}

	.ed-apps__icon {
		width: 56px;
		height: 56px;
		border-radius: 13px;
	}

	.ed-apps__text b {
		font-size: 15px;
	}
}

/* Our work: websites and brand boards, whole, panning top to bottom inside their frames. */
.ed-webs {
	padding: 104px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-webs,
.ed-webs * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-webs .container::before,
.ed-webs .container::after {
	display: none;
}

.ed-webs__sub {
	margin: 0 0 20px;
	color: var(--ed-text);
	font-size: 20px !important;
	font-weight: 700;
	text-align: right;
}

.ed-webs__sites,
.ed-webs__brands {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 22px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-webs__sites {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ed-webs__brands {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ed-webs__site,
.ed-webs__board {
	display: block;
	width: 100%;
	padding: 0;
	border: 1px solid var(--ed-line);
	border-radius: 18px;
	background: var(--ed-surface);
	overflow: hidden;
	cursor: zoom-in;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease;
}

.ed-webs__site:hover,
.ed-webs__site:focus-visible,
.ed-webs__board:hover,
.ed-webs__board:focus-visible {
	border-color: var(--ed-edge);
	box-shadow: 0 26px 50px -28px rgba(0, 0, 0, .45);
	transform: translateY(-5px);
}

/* A browser bar over each site. */
.ed-webs__chrome {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 14px;
	border-bottom: 1px solid var(--ed-line);
	background: var(--ed-bg);
	direction: ltr;
}

.ed-webs__chrome i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ed-tint-d9d9d3);
	transition: background-color .3s ease;
}

.ed-webs__site:hover .ed-webs__chrome i:nth-child(1) { background: #ff5f57; }
.ed-webs__site:hover .ed-webs__chrome i:nth-child(2) { background: #febc2e; }
.ed-webs__site:hover .ed-webs__chrome i:nth-child(3) { background: #28c840; }

.ed-webs__chrome em {
	flex: 1;
	margin: 0 10px 0 6px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-muted-3);
	font-size: 12px;
	font-style: normal;
	text-align: center;
}

/* The frame shows the top of the page; on hover the whole page scrolls past. */
.ed-webs__frame {
	display: block;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: var(--ed-bg-2);
}

.ed-webs__frame--tall {
	aspect-ratio: 3 / 4;
}

.ed-webs__frame img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .8s cubic-bezier(.4, 0, .2, 1);
}

.ed-webs__site:hover .ed-webs__frame img,
.ed-webs__site:focus-visible .ed-webs__frame img,
.ed-webs__board:hover .ed-webs__frame img,
.ed-webs__board:focus-visible .ed-webs__frame img,
.ed-webs__frame.is-pan img {
	transform: translateY(var(--pan, 0));
	transition-duration: var(--dur, 4s);
	transition-timing-function: linear;
}

.ed-webs__cap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 14px 4px 0;
}

.ed-webs__cap b {
	color: var(--ed-text);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
}

.ed-webs__cap small {
	flex: none;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--ed-bg-2);
	color: var(--ed-muted);
	font-size: 13px;
	font-weight: 700;
	transition: background-color .3s ease, color .3s ease;
}

.ed-webs__sites li:hover small,
.ed-webs__brands li:hover small {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-webs__others {
	margin: 26px 0 64px;
	color: var(--ed-muted);
	font-size: 16px;
	text-align: right !important;
}

.ed-webs__viewer {
	width: min(820px, 94vw);
	max-height: 92vh;
	padding: 0;
	border: 0;
	border-radius: 20px;
	background: var(--ed-ink-2);
	overflow: auto;
}

.ed-webs__viewer::backdrop {
	background: rgba(10, 10, 10, .82);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.ed-webs__viewer img {
	display: block;
	width: 100%;
	height: auto;
}

.ed-webs__close {
	position: sticky;
	top: 12px;
	z-index: 1;
	float: left;
	width: 40px;
	height: 40px;
	margin: 12px 12px -52px 0;
	border: 0;
	border-radius: 50%;
	background: rgba(17, 17, 17, .85);
	color: #fff;
	font-size: 26px;
	line-height: 40px;
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
	.ed-webs__site,
	.ed-webs__board,
	.ed-webs__frame img {
		transition: none;
	}

	.ed-webs__site:hover .ed-webs__frame img,
	.ed-webs__board:hover .ed-webs__frame img {
		transform: none;
	}
}

@media (max-width: 991px) {
	.ed-webs {
		padding: 80px 0;
	}

	.ed-webs__brands {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ed-webs {
		padding: 64px 0;
	}

	.ed-webs__sites {
		grid-template-columns: 1fr;
	}

	.ed-webs__brands {
		gap: 24px 12px;
	}

	.ed-webs__brands .ed-webs__cap {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
}

/* Our work: our own products, each card in its product's colours. */
.ed-prods {
	padding: 104px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-prods,
.ed-prods * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-prods .container::before,
.ed-prods .container::after {
	display: none;
}

.ed-prods__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.ed-prod {
	display: flex;
	flex-direction: column;
	padding: 30px 30px 0;
	border-radius: 28px;
	overflow: hidden;
	text-decoration: none !important;
	transition: transform .3s ease, box-shadow .3s ease;
}

.ed-prod:hover {
	box-shadow: 0 24px 50px -28px rgba(0, 0, 0, .55);
	transform: translateY(-4px);
}

.ed-prod__top {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 18px;
}

.ed-prod__logo {
	display: grid;
	flex: none;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 16px;
	overflow: hidden;
}

.ed-prod__logo img {
	display: block;
	width: 100%;
	height: 100%;
}

.ed-prod__name {
	display: flex;
	flex-direction: column;
}

.ed-prod__name b,
.ed-prod__name small,
.ed-prod__text {
	color: inherit !important;
}

.ed-prod__name b {
	font-size: 24px;
	font-weight: 900;
	line-height: 1.3;
}

.ed-prod__name small {
	font-size: 15px;
	opacity: .75;
}

.ed-prod__text {
	margin-bottom: 22px;
	font-size: 16px;
	line-height: 1.85;
	opacity: .85;
}

.ed-prod__go {
	align-self: flex-start;
	margin-bottom: 30px;
	padding: 11px 22px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	line-height: 20px;
}

.ed-prod__go i {
	display: inline-block;
	margin-right: 4px;
	font-style: normal;
	transition: transform .25s ease;
}

.ed-prod:hover .ed-prod__go i {
	transform: translateX(-4px);
}

/* The screen sits on the card's bottom edge, shown whole. */
.ed-prod__shot {
	display: block;
	margin: auto -12px 0;
}

.ed-prod__shot img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 14px 14px 0 0;
	box-shadow: 0 -10px 40px -16px rgba(0, 0, 0, .5);
}

/* Arab Shop: ink and lime. */
.ed-prod--shop {
	background: var(--ed-ink-2);
	color: #fff !important;
}

.ed-prod--shop .ed-prod__go {
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

/* Osolna: brand green, cream and gold. */
.ed-prod--osolna {
	background: #055a48;
	color: #f6f2e6 !important;
}

.ed-prod--osolna .ed-prod__logo {
	padding: 9px;
	background: #f6f2e6;
}

.ed-prod--osolna .ed-prod__go {
	background: #c7963a;
	color: #07231c;
}

/* E-newspaper: newsprint and ink, with a small front page. */
.ed-prod--paper {
	background: #f3efe6;
	color: var(--ed-text) !important;
}

.ed-prod--paper .ed-prod__logo {
	background: var(--ed-ink);
	color: #f3efe6;
}

.ed-prod--paper .ed-prod__go {
	background: var(--ed-ink);
	color: #fff;
}

.ed-prod__paper {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px 20px 26px;
	border-radius: 14px 14px 0 0;
	background: var(--ed-tint-fbf9f4);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .08), 0 -10px 40px -20px rgba(0, 0, 0, .35);
}

.ed-prod__mast {
	padding-bottom: 10px;
	border-bottom: 3px double var(--ed-edge);
	font-size: 28px;
	font-weight: 900;
	text-align: center;
}

.ed-prod__bar {
	display: flex;
	gap: 8px;
}

.ed-prod__bar i,
.ed-prod__cols i {
	flex: 1;
	height: 6px;
	border-radius: 3px;
	background: #d9d4c7;
}

.ed-prod__head {
	padding: 10px 12px;
	border-right: 4px solid var(--ed-lime);
	background: var(--ed-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.ed-prod__cols {
	display: flex;
	gap: 10px;
}

.ed-prod__cols i {
	height: 54px;
	background: repeating-linear-gradient(#d9d4c7 0 5px, transparent 5px 12px);
}

@media (prefers-reduced-motion: reduce) {
	.ed-prod,
	.ed-prod__go i {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-prods {
		padding: 80px 0;
	}

	.ed-prods__grid {
		grid-template-columns: 1fr;
		max-width: 560px;
		margin: 0 auto;
	}
}

@media (max-width: 600px) {
	.ed-prods {
		padding: 64px 0;
	}

	.ed-prod {
		padding: 24px 22px 0;
		border-radius: 22px;
	}

	.ed-prod__name b {
		font-size: 21px;
	}
}

@media (max-width: 600px) {
	.ed-apps__arrow {
		position: absolute;
		top: 12px;
		left: 12px;
	}
}

/* Our work, apps: search by name next to the store filter. */
.ed-apps__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.ed-apps__search {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 240px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-muted-3);
	transition: border-color .2s ease, box-shadow .2s ease, width .3s cubic-bezier(.2, .7, .2, 1);
}

.ed-apps__search:focus-within {
	width: 280px;
	border-color: var(--ed-edge);
	box-shadow: 0 0 0 3px rgba(171, 250, 8, .6);
	color: var(--ed-text);
}

.ed-apps__search input {
	flex: 1;
	min-width: 0;
	height: 52px;
	border: 0;
	outline: 0;
	background: transparent;
	color: var(--ed-text);
	font-size: 15px;
}

.ed-apps__none {
	margin: 0;
	padding: 40px 0;
	color: var(--ed-muted);
	font-size: 17px;
	text-align: center !important;
}

.ed-apps__none[hidden] {
	display: none;
}

.ed-apps__reset {
	margin-right: 6px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--ed-text);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--ed-lime);
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
	cursor: pointer;
}

@media (max-width: 600px) {
	.ed-apps__tools,
	.ed-apps__search,
	.ed-apps__search:focus-within {
		width: 100%;
	}
}

.ed-nowrap {
	white-space: nowrap;
}

/* ------------------------------------------------------------------
   Single app (single-store.php): icon, name, stores; the app's own
   screens, shown whole, stand on the hero's bottom edge.
   ------------------------------------------------------------------ */
.ed-svc-hero--app1 .ed-svc-hero__btn .fa {
	font-family: FontAwesome !important;
}

.ed-app1__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 26px;
	color: var(--ed-muted-4) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: color .2s ease, gap .2s ease;
}

.ed-app1__back svg {
	width: 16px;
	height: 16px;
}

.ed-app1__back:hover {
	gap: 10px;
	color: var(--ed-lime) !important;
}

.ed-app1__id {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 22px;
}

.ed-app1__id .ed-svc-hero__label {
	margin: 0;
}

.ed-app1__icon {
	width: 88px;
	height: 88px;
	border-radius: 22px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 18px 40px -16px rgba(171, 250, 8, .45);
}

.ed-app1__store svg {
	width: 18px;
	height: 18px;
	margin-left: 8px;
	fill: currentColor;
}

/* Three screens, the first in front; each shown whole. */
.ed-app1__stage {
	position: relative;
	width: 100%;
	max-width: 470px;
	height: 520px;
	/* Whole screens: they stop above the section's edge instead of running off it. */
	margin-bottom: 64px;
}

.ed-app1__shot {
	position: absolute;
	bottom: 0;
	width: auto;
	height: 440px;
	border-radius: 22px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .1), 0 30px 60px -20px rgba(0, 0, 0, .7);
	transition: transform .5s cubic-bezier(.2, .7, .2, 1);
}

.ed-app1__shot--0 {
	z-index: 3;
	left: 50%;
	height: 500px;
	transform: translateX(-50%);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .12), 0 0 90px -20px rgba(171, 250, 8, .35), 0 30px 60px -20px rgba(0, 0, 0, .7);
}

.ed-app1__shot--1 {
	z-index: 2;
	right: 0;
	opacity: .55;
	transform: rotate(5deg);
	transform-origin: bottom left;
}

.ed-app1__shot--2 {
	z-index: 1;
	left: 0;
	opacity: .55;
	transform: rotate(-5deg);
	transform-origin: bottom right;
}

.ed-app1__stage:hover .ed-app1__shot--1 {
	transform: rotate(8deg) translateX(14px);
}

.ed-app1__stage:hover .ed-app1__shot--2 {
	transform: rotate(-8deg) translateX(-14px);
}

@media (prefers-reduced-motion: reduce) {
	.ed-app1__shot {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-app1__stage {
		height: 440px;
		margin: 0 auto 48px;
	}

	.ed-app1__shot {
		height: 360px;
	}

	.ed-app1__shot--0 {
		height: 420px;
	}
}

@media (max-width: 600px) {
	.ed-app1__icon {
		width: 72px;
		height: 72px;
		border-radius: 18px;
	}

	.ed-app1__stage {
		height: 380px;
		margin-bottom: 36px;
	}

	.ed-app1__shot--1,
	.ed-app1__shot--2 {
		transform: none;
	}

	.ed-app1__shot {
		height: 300px;
	}

	.ed-app1__shot--0 {
		height: 360px;
	}
}

/* Single app: every screen, whole, in a grid; a viewer steps through them. */
.ed-app2 {
	padding: 104px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-app2,
.ed-app2 * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-app2 .container::before,
.ed-app2 .container::after {
	display: none;
}

.ed-app2__shot {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 20px;
	background: none;
	cursor: zoom-in;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease;
}

.ed-app2__shot img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 14px 30px -20px rgba(0, 0, 0, .35);
}

.ed-app2__shot:hover,
.ed-app2__shot:focus-visible {
	transform: translateY(-6px);
}

.ed-app2__shot:hover img,
.ed-app2__shot:focus-visible img {
	box-shadow: 0 0 0 3px var(--ed-edge), 0 24px 44px -22px rgba(0, 0, 0, .5);
}

.ed-app2__viewer {
	max-width: 96vw;
	max-height: 96vh;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

.ed-app2__viewer[open] {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.ed-app2__viewer::backdrop {
	background: rgba(10, 10, 10, .9);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* Shown whole at up to its real size. */
.ed-app2__viewer img {
	display: block;
	max-width: min(90vw, 520px);
	max-height: 84vh;
	width: auto;
	height: auto;
	border-radius: 22px;
}

.ed-app2__count {
	margin: 12px 0 0;
	color: var(--ed-muted-4);
	font-size: 14px;
	direction: ltr;
}

.ed-app2__close,
.ed-app2__nav {
	position: fixed;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	background: rgba(17, 17, 17, .8);
	color: #fff;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.ed-app2__close {
	top: 20px;
	left: 20px;
	font-size: 28px;
	line-height: 1;
}

.ed-app2__nav {
	top: 50%;
	transform: translateY(-50%);
}

.ed-app2__nav svg {
	width: 22px;
	height: 22px;
}

.ed-app2__nav--next {
	left: 24px;
}

.ed-app2__nav--prev {
	right: 24px;
}

.ed-app2__close:hover,
.ed-app2__nav:hover {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

@media (prefers-reduced-motion: reduce) {
	.ed-app2__shot {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-app2 {
		padding: 80px 0;
	}

}

@media (max-width: 600px) {
	.ed-app2 {
		padding: 64px 0;
	}


	.ed-app2__nav {
		top: auto;
		bottom: 18px;
		transform: none;
	}
}

/* Single app: the description beside a dark features card. */
.ed-app3 {
	padding: 104px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-app3,
.ed-app3 * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-app3 .container::before,
.ed-app3 .container::after {
	display: none;
}

.ed-app3__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	align-items: start;
	gap: 56px;
}

.ed-app3--solo .ed-app3__grid {
	grid-template-columns: minmax(0, 1fr);
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
}

.ed-app3__text p {
	margin: 0 0 14px;
	color: var(--ed-text-3);
	font-size: 18px;
	line-height: 2;
	text-align: right !important;
}

.ed-app3__feats {
	position: sticky;
	top: 110px;
	padding: 32px;
	border-radius: 28px;
	background: var(--ed-ink-2);
	color: #fff;
}

.ed-app3__feats h3 {
	margin: 0 0 20px;
	color: #fff;
	font-size: 22px !important;
	font-weight: 900;
	text-align: right;
}

.ed-app3__feats ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-app3__feats li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: #d9dbd5;
	font-size: 16px;
	line-height: 1.8;
}

.ed-app3__feats svg {
	flex: none;
	width: 22px;
	height: 22px;
	margin-top: 3px;
	padding: 3px;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

@media (max-width: 991px) {
	.ed-app3 {
		padding: 80px 0;
	}

	.ed-app3__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.ed-app3__feats {
		position: static;
	}
}

@media (max-width: 600px) {
	.ed-app3 {
		padding: 64px 0;
	}

	.ed-app3__text p {
		font-size: 16px;
	}

	.ed-app3__feats {
		padding: 24px;
		border-radius: 22px;
	}
}

/* Single app: share links under the description. */
.ed-app3__share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--ed-line);
}

.ed-app3__share > span {
	margin-left: 6px;
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
}

.ed-app3__sh {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--ed-line);
	border-radius: 50%;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.ed-app3__sh[hidden] {
	display: none;
}

.ed-app3__sh svg {
	width: 19px;
	height: 19px;
	fill: currentColor;
}

.ed-app3__copy svg,
.ed-app3__native svg {
	fill: none;
}

.ed-app3__sh:hover,
.ed-app3__sh:focus-visible {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: var(--ed-lime) !important;
	transform: translateY(-2px);
}

.ed-app3__copy em {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 50%;
	padding: 5px 10px;
	border-radius: 8px;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 12px;
	font-style: normal;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, 4px);
	transition: opacity .2s ease, transform .2s ease;
}

.ed-app3__copy.is-done em {
	opacity: 1;
	transform: translate(-50%, 0);
}

/* Single app screens as a bento beside the heading: large screens two rows tall, the rest at
   half size. One unit = one half-size column; the size keeps the large screens under ~560px. */
.ed-app2__wrap {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	align-items: center;
	gap: 48px;
}

.ed-app2__head .ed-apps__title {
	font-size: 38px !important;
}

.ed-app2__bento {
	--u: min(150px, (100% - (var(--units) - 1) * 14px) / var(--units));
	display: grid;
	grid-auto-flow: column dense;
	grid-template-rows: auto auto;
	grid-auto-columns: var(--u);
	justify-content: center;
	align-items: start;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-app2__bento li {
	grid-row: span 1;
	animation: ed-app-in .5s cubic-bezier(.2, .7, .2, 1) both;
	animation-delay: calc(var(--i) * 60ms);
}

.ed-app2__bento li.is-big {
	grid-row: span 2;
	grid-column: span 2;
	align-self: stretch;
}

.ed-app2__bento li.is-big .ed-app2__shot,
.ed-app2__bento li.is-big .ed-app2__shot img {
	height: 100%;
}

.ed-app2__bento li.is-big .ed-app2__shot img {
	object-fit: contain;
}

.ed-app2__bento .ed-app2__shot img {
	border-radius: 16px;
}

.ed-app2__bento li.is-big .ed-app2__shot img {
	border-radius: 24px;
}

@media (prefers-reduced-motion: reduce) {
	.ed-app2__bento li {
		animation: none;
	}
}

@media (max-width: 991px) {
	.ed-app2__wrap {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.ed-app2__bento {
		--u: min(150px, (100% - (var(--units) - 1) * 12px) / var(--units));
		gap: 12px;
	}
}

/* Phones: a plain two-column grid, each screen whole. */
@media (max-width: 600px) {
	.ed-app2__bento {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-columns: auto;
		gap: 10px;
	}

	.ed-app2__bento li.is-big {
		grid-row: auto;
		grid-column: auto;
	}

	.ed-app2__bento li.is-big .ed-app2__shot,
	.ed-app2__bento li.is-big .ed-app2__shot img {
		height: auto;
	}
}

/* Single app page: tighter spacing between sections. */
.ed-app2,
.ed-app3 {
	padding: 76px 0;
}

.ed-app1__stage {
	margin-bottom: 44px;
}

@media (max-width: 991px) {
	.ed-app2,
	.ed-app3 {
		padding: 60px 0;
	}
}

@media (max-width: 600px) {
	.ed-app2,
	.ed-app3 {
		padding: 48px 0;
	}
}

/* Single app: more apps (the works page cards) and a dark call to action. */
.ed-app4 {
	padding: 76px 0;
}

.ed-app4__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 22px;
	border: 2px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, gap .2s ease;
}

.ed-app4__all svg {
	width: 16px;
	height: 16px;
}

.ed-app4__all:hover {
	gap: 10px;
	background: var(--ed-ink);
	color: var(--ed-lime) !important;
}

.ed-app4__cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 56px;
	padding: 40px 44px;
	border-radius: 28px;
	background: var(--ed-ink-2);
	color: #fff;
	box-shadow: 0 0 120px -50px rgba(171, 250, 8, .5);
}

.ed-app4__cta h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: 30px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-app4__cta p {
	max-width: 560px;
	margin: 0;
	color: var(--ed-muted-4);
	font-size: 17px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-app4__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ed-app4__btns .fa {
	font-family: FontAwesome !important;
}

@media (max-width: 991px) {
	.ed-app4 {
		padding: 60px 0;
	}
}

@media (max-width: 600px) {
	.ed-app4 {
		padding: 48px 0;
	}

	.ed-app4__cta {
		padding: 28px 22px;
		border-radius: 22px;
	}

	.ed-app4__cta h2 {
		font-size: 24px !important;
	}

	.ed-app4__btns,
	.ed-app4__btns .ed-svc-hero__btn {
		width: 100%;
		justify-content: center;
	}
}

/* Many screens (more than five half-size columns): heading on top, the bento across the page. */
@media (min-width: 992px) {
	.ed-app2--wide .ed-app2__wrap {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.ed-app2--wide .ed-app2__head {
		max-width: 640px;
	}
}

/* Products: the three cards share rows, so names, texts (three lines), buttons and screens line up. */
@media (min-width: 992px) {
	.ed-prods__grid {
		grid-template-rows: repeat(4, auto);
	}

	.ed-prod {
		display: grid;
		grid-row: span 4;
		grid-template-rows: subgrid;
		row-gap: 0;
	}

	.ed-prod__text {
		min-height: calc(3 * 1.85em);
	}

	.ed-prod__go {
		align-self: start;
		justify-self: start;
	}

	/* One screen shape for all three (16:10, the Osolna screen's own, so it shows whole); the
	   taller Arab Shop dashboard shows its top. */
	.ed-prod__shot {
		aspect-ratio: 16 / 10;
		margin-top: 0;
		overflow: hidden;
		border-radius: 14px 14px 0 0;
	}

	.ed-prod__shot img {
		height: 100%;
		object-fit: cover;
		object-position: top center;
	}

	.ed-prod__paper {
		height: 100%;
		overflow: hidden;
	}
}

/* Apps: the store filter on its own row (start side), how many are shown on the other side. */
.ed-apps__head {
	align-items: flex-end;
}

.ed-apps__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: -12px 0 22px;
}

.ed-apps__shown {
	margin: 0;
	color: var(--ed-muted-3);
	font-size: 14px;
}

@media (max-width: 600px) {
	.ed-apps__bar {
		margin-top: -16px;
	}

	.ed-apps__bar .ed-apps__filter {
		width: 100%;
	}

	.ed-apps__shown {
		width: 100%;
		text-align: center !important;
	}
}

/* ------------------------------------------------------------------
   Contact (template-contact.php): a chat that starts a project talk.
   ------------------------------------------------------------------ */
.ed-svc-hero--contact .ed-svc-hero__btn .fa {
	font-family: FontAwesome !important;
}

.ed-svc-hero--contact .ed-svc-hero__facts a {
	color: inherit !important;
	text-decoration: none !important;
}

.ed-svc-hero--contact .ed-svc-hero__facts a:hover b {
	text-decoration: underline;
}

.ed-chat {
	width: 100%;
	max-width: 420px;
	margin-bottom: 64px;
	border-radius: 30px;
	background: #1b1b1b;
	overflow: hidden;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 0 120px -30px rgba(171, 250, 8, .35);
}

.ed-chat__bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 20px;
	background: #232323;
	border-bottom: 1px solid rgba(255, 255, 255, .06);
}

.ed-chat__avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
	font-size: 22px;
	font-style: normal;
}

.ed-chat__avatar .fa {
	font-family: FontAwesome !important;
}

.ed-chat__bar span {
	display: flex;
	flex-direction: column;
	text-align: right;
}

.ed-chat__bar b {
	color: #fff;
	font-size: 15px;
}

.ed-chat__bar small {
	color: var(--ed-lime);
	font-size: 12px;
}

.ed-chat__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 330px;
	padding: 22px 18px;
	background: radial-gradient(circle at 20% 0, rgba(171, 250, 8, .06), transparent 60%);
}

.ed-chat__msg {
	align-self: flex-end;
	max-width: 82%;
	margin: 0;
	padding: 11px 15px;
	border-radius: 18px 18px 18px 4px;
	background: #2a2a2a;
	color: #e9e9e4;
	font-size: 15px;
	line-height: 1.7;
	text-align: right !important;
	transition: opacity .35s ease, transform .35s cubic-bezier(.2, .7, .2, 1);
}

/* The visitor writes on the right (start side in Arabic); we reply on the left. */
.ed-chat__msg--me {
	align-self: flex-start;
	border-radius: 18px 18px 4px 18px;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-svc-hero--contact.is-anim .ed-chat__msg {
	opacity: 0;
	transform: translateY(8px);
}

.ed-svc-hero--contact.is-anim .ed-chat__msg.is-in {
	opacity: 1;
	transform: none;
}

.ed-chat__typing {
	display: none;
	align-self: flex-end;
	gap: 4px;
	margin: 0;
	padding: 12px 14px;
	border-radius: 18px 18px 18px 4px;
	background: #2a2a2a;
}

.ed-chat__typing.is-in {
	display: inline-flex;
}

.ed-chat__typing i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #8a8a85;
	animation: ed-typing 1s ease-in-out infinite;
}

.ed-chat__typing i:nth-child(2) { animation-delay: .15s; }
.ed-chat__typing i:nth-child(3) { animation-delay: .3s; }

@keyframes ed-typing {
	0%, 60%, 100% { transform: none; opacity: .5; }
	30% { transform: translateY(-4px); opacity: 1; }
}

@media (max-width: 991px) {
	.ed-chat {
		margin: 0 auto 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ed-chat__msg,
	.ed-chat__typing i {
		transition: none;
		animation: none;
	}
}

/* Contact: one card per way to reach us. */
.ed-cways {
	padding: 76px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-cways,
.ed-cways * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-cways .fa {
	font-family: FontAwesome !important;
}

.ed-cways .container::before,
.ed-cways .container::after {
	display: none;
}

.ed-cways__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-cways__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	padding: 24px;
	border: 1px solid var(--ed-line);
	border-radius: 24px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	text-decoration: none !important;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease, border-color .3s ease;
}

.ed-cways__card:hover,
.ed-cways__card:focus-visible {
	border-color: var(--ed-edge);
	box-shadow: 0 20px 40px -24px rgba(0, 0, 0, .4);
	transform: translateY(-4px);
}

.ed-cways__ico {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	background: var(--ed-bg-2);
	color: var(--ed-text);
	font-size: 26px;
	transition: background-color .3s ease, transform .4s cubic-bezier(.3, 1.4, .5, 1);
}

.ed-cways__ico svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}

.ed-cways__card:hover .ed-cways__ico {
	background: var(--ed-lime);
	transform: rotate(-8deg) scale(1.06);
}

.ed-cways__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ed-cways__text b {
	color: inherit !important;
	font-size: 20px;
	font-weight: 900;
}

.ed-cways__text small {
	color: var(--ed-muted-2);
	font-size: 14px;
}

.ed-cways__text bdi {
	margin-top: 6px;
	color: var(--ed-text);
	font-size: 18px;
	font-weight: 700;
	text-align: right;
}

.ed-cways__go {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	font-size: 15px;
	font-weight: 700;
	transition: gap .2s ease;
}

.ed-cways__go svg {
	width: 16px;
	height: 16px;
}

.ed-cways__card:hover .ed-cways__go {
	gap: 10px;
}

/* WhatsApp, the fastest way, stands out. */
.ed-cways__card.is-main {
	border-color: var(--ed-ink-2);
	background: var(--ed-ink-2);
	color: #fff !important;
	box-shadow: 0 0 80px -40px rgba(171, 250, 8, .6);
}

.ed-cways__card.is-main .ed-cways__ico {
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-cways__card.is-main small {
	color: var(--ed-muted-4);
}

.ed-cways__card.is-main bdi,
.ed-cways__card.is-main .ed-cways__go {
	color: var(--ed-lime);
}

@media (prefers-reduced-motion: reduce) {
	.ed-cways__card,
	.ed-cways__ico {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-cways {
		padding: 60px 0;
	}

	.ed-cways__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.ed-cways {
		padding: 48px 0;
	}

	.ed-cways__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.ed-cways__card {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		padding: 18px;
	}

	.ed-cways__text {
		flex: 1;
	}

	.ed-cways__go {
		width: 100%;
		margin-top: 0;
	}
}

/* Contact: the message form, with what happens next beside it. */
.ed-cform {
	padding: 76px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-cform,
.ed-cform * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-cform .container::before,
.ed-cform .container::after {
	display: none;
}

.ed-cform__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	align-items: start;
	gap: 56px;
}

.ed-cform__steps {
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
}

.ed-cform__steps li {
	position: relative;
	padding: 0 52px 22px 0;
	counter-increment: step;
}

.ed-cform__steps li::before {
	content: counter(step);
	position: absolute;
	top: 0;
	right: 0;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 15px;
	font-weight: 900;
}

.ed-cform__steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 40px;
	right: 17px;
	bottom: 4px;
	width: 2px;
	background: var(--ed-tint-e6e6e0);
}

.ed-cform__steps b {
	display: block;
	color: var(--ed-text);
	font-size: 17px;
	font-weight: 900;
}

.ed-cform__steps span {
	color: var(--ed-muted-2);
	font-size: 15px;
}

.ed-cform__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-bg);
}

.ed-cform__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ed-cform__row[hidden],
.ed-cform__field[hidden],
.ed-cform__foot[hidden],
.ed-cform__done[hidden] {
	display: none;
}

.ed-cform__field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-weight: 400;
}

.ed-cform__field > span {
	color: var(--ed-text);
	font-size: 15px;
	font-weight: 700;
}

.ed-cform__field i {
	color: #6aa400;
	font-style: normal;
}

/* !important: the old theme paints text inputs green with fixed sizes. */
.ed-cform__field input,
.ed-cform__field select,
.ed-cform__field textarea {
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--ed-rule-dcdcd5) !important;
	border-radius: 14px !important;
	background-color: var(--ed-surface) !important;
	color: var(--ed-text) !important;
	font-size: 16px !important;
	line-height: 1.6;
	box-shadow: none;
	outline: 0;
	transition: border-color .2s ease, box-shadow .2s ease;
	-webkit-appearance: none;
	appearance: none;
}

.ed-cform__field input[dir="ltr"] {
	text-align: left;
}

.ed-cform__field select {
	padding-left: 40px !important;
	background: var(--ed-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23151515' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left 14px center / 16px;
}

:root[data-theme="dark"] .ed-cform__field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23f1f1ec' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

.ed-cform__field textarea {
	resize: vertical;
	min-height: 150px;
}

.ed-cform__field input:focus,
.ed-cform__field select:focus,
.ed-cform__field textarea:focus {
	border-color: var(--ed-edge) !important;
	box-shadow: 0 0 0 3px rgba(171, 250, 8, .6);
}

.ed-cform__field.is-bad input,
.ed-cform__field.is-bad textarea {
	border-color: #d93025 !important;
	box-shadow: 0 0 0 3px rgba(217, 48, 37, .15);
}

.ed-cform__hp {
	/* Hidden without pushing it off-page (that would add sideways scroll in RTL). */
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	opacity: 0;
}

.ed-cform__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-top: 4px;
}

.ed-cform__send {
	border: 0;
	cursor: pointer;
}

.ed-cform__send.is-busy {
	opacity: .7;
	cursor: progress;
}

.ed-cform__note {
	margin: 0;
	color: var(--ed-muted);
	font-size: 15px;
}

.ed-cform__note a,
.ed-cform__done a {
	color: var(--ed-text) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-decoration-color: var(--ed-lime) !important;
	text-decoration-thickness: 3px !important;
}

.ed-cform__done {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 40px 10px;
	text-align: center;
	animation: ed-app-in .5s cubic-bezier(.2, .7, .2, 1);
}

.ed-cform__check {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-cform__check svg {
	width: 32px;
	height: 32px;
}

.ed-cform__done b {
	color: var(--ed-text);
	font-size: 22px;
	font-weight: 900;
}

.ed-cform__done p {
	max-width: 420px;
	margin: 0;
	color: var(--ed-muted);
	font-size: 16px;
	line-height: 1.8;
	text-align: center !important;
}

@media (max-width: 991px) {
	.ed-cform {
		padding: 60px 0;
	}

	.ed-cform__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}
}

@media (max-width: 600px) {
	.ed-cform {
		padding: 48px 0;
	}

	.ed-cform__form {
		padding: 20px;
		border-radius: 22px;
	}

	.ed-cform__row {
		grid-template-columns: minmax(0, 1fr);
	}

	.ed-cform__send {
		width: 100%;
		justify-content: center;
	}
}

/* Contact: our two offices and where to follow us. */
.ed-coff {
	padding: 76px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-coff,
.ed-coff * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-coff .container::before,
.ed-coff .container::after {
	display: none;
}

.ed-coff__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.ed-coff__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 30px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-surface);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}

.ed-coff__card:hover {
	box-shadow: 0 22px 44px -26px rgba(0, 0, 0, .35);
	transform: translateY(-4px);
}

.ed-coff__top {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ed-coff__flag {
	display: grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 18px;
	background: var(--ed-bg-2);
	font-family: "Apple Color Emoji", "Segoe UI Emoji", sans-serif !important;
	font-size: 32px;
}

.ed-coff__top h3 {
	margin: 0;
	color: var(--ed-text);
	font-size: 26px !important;
	font-weight: 900;
	text-align: right;
}

.ed-coff__top p {
	margin: 2px 0 0;
	color: var(--ed-muted-2);
	font-size: 15px;
	text-align: right !important;
}

.ed-coff__addr {
	margin: 0;
	color: var(--ed-text-3);
	font-size: 17px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-coff__meta {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ed-rule-ecece6);
	list-style: none;
}

.ed-coff__meta li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid var(--ed-rule-ecece6);
	font-size: 15px;
}

.ed-coff__meta span {
	color: var(--ed-muted-2);
}

.ed-coff__meta a,
.ed-coff__meta b {
	color: var(--ed-text) !important;
	font-weight: 700;
	text-decoration: none !important;
}

.ed-coff__meta a:hover {
	text-decoration: underline !important;
}

.ed-coff__map {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding: 12px 22px;
	border-radius: 999px;
	background: var(--ed-ink);
	color: #fff !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-coff__map svg {
	width: 18px;
	height: 18px;
	fill: var(--ed-lime);
	transition: fill .2s ease;
}

.ed-coff__map:hover {
	background: var(--ed-lime);
	color: var(--ed-ink-2) !important;
}

.ed-coff__map:hover svg {
	fill: var(--ed-text-strong);
}

.ed-coff__social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--ed-line);
}

.ed-coff__social p {
	margin: 0 0 0 8px;
	color: var(--ed-text);
	font-size: 17px;
	font-weight: 900;
}

.ed-coff__social a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.ed-coff__social svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

.ed-coff__social a:hover {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: var(--ed-lime) !important;
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
	.ed-coff__card,
	.ed-coff__social a {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-coff {
		padding: 60px 0;
	}

	.ed-coff__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	.ed-coff {
		padding: 48px 0;
	}

	.ed-coff__card {
		padding: 22px;
		border-radius: 22px;
	}

	.ed-coff__map {
		align-self: stretch;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
   Terms (template-syasa.php): the agreement as a document card whose
   sections light up in turn.
   ------------------------------------------------------------------ */
.ed-svc-hero--terms .ed-svc-hero__btn .fa {
	font-family: FontAwesome !important;
}

.ed-doc {
	position: relative;
	width: 100%;
	max-width: 420px;
	margin-bottom: 64px;
	padding: 28px 28px 24px;
	border-radius: 24px;
	background: var(--ed-tint-fbfaf6);
	color: var(--ed-text);
	box-shadow: 14px 14px 0 -2px #2a2a2a, 0 0 110px -30px rgba(171, 250, 8, .4);
	transform: rotate(-2deg);
}

.ed-doc__head {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 14px;
	align-items: center;
	padding-bottom: 18px;
	border-bottom: 3px double var(--ed-edge);
}

.ed-doc__seal {
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 28px;
	font-weight: 900;
}

.ed-doc__head b {
	font-size: 22px;
	font-weight: 900;
	text-align: right;
}

.ed-doc__head small {
	color: var(--ed-muted-2);
	font-size: 13px;
	text-align: right;
}

.ed-doc__list {
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.ed-doc__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 10px;
	border-radius: 12px;
	color: var(--ed-text-3);
	font-size: 16px;
	font-weight: 700;
	transition: background-color .35s ease, color .35s ease;
}

.ed-doc__list i {
	display: grid;
	flex: none;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--ed-tint-ecece6);
	color: var(--ed-muted-2);
	font-size: 13px;
	font-style: normal;
	transition: background-color .35s ease, color .35s ease;
}

.ed-doc__list li.is-on {
	background: var(--ed-ink);
	color: #fff;
}

.ed-doc__list li.is-on i,
.ed-doc__list li.is-done i {
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-doc__sign {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--ed-rule-cfcfc8);
	color: var(--ed-muted-3);
	font-size: 13px;
}

.ed-doc__sign svg {
	width: 140px;
	height: 36px;
	stroke-dasharray: 320;
	stroke-dashoffset: 320;
	animation: ed-sign 3.6s ease-in-out infinite;
}

.ed-doc__sign svg path {
	stroke: var(--ed-text);
}

@keyframes ed-sign {
	0%, 15% { stroke-dashoffset: 320; }
	60%, 100% { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.ed-doc__list li,
	.ed-doc__list i {
		transition: none;
	}

	.ed-doc__sign svg {
		animation: none;
		stroke-dashoffset: 0;
	}
}

@media (max-width: 991px) {
	.ed-doc {
		margin: 8px auto 56px;
	}
}

@media (max-width: 600px) {
	.ed-doc {
		max-width: calc(100% - 28px);
		padding: 22px 20px 20px;
	}
}

/* Terms: the sections with numbered clauses, and a sticky list of sections. */
.ed-terms {
	padding: 76px 0;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-terms,
.ed-terms * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-terms .fa {
	font-family: FontAwesome !important;
}

.ed-terms .container::before,
.ed-terms .container::after {
	display: none;
}

.ed-terms__grid {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	align-items: start;
	gap: 40px;
}

.ed-terms__nav {
	position: sticky;
	top: 110px;
	padding: 22px;
	border: 1px solid var(--ed-line);
	border-radius: 24px;
	background: var(--ed-surface);
}

.ed-terms__nav > p {
	margin: 0 0 10px;
	color: var(--ed-text);
	font-size: 16px;
	font-weight: 900;
	text-align: right !important;
}

.ed-terms__nav ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-terms__nav ol a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	border-radius: 12px;
	color: var(--ed-muted) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-terms__nav ol i {
	display: grid;
	flex: none;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--ed-bg-2);
	font-size: 12px;
	font-style: normal;
}

.ed-terms__nav ol a:hover {
	background: var(--ed-bg);
	color: var(--ed-text) !important;
}

.ed-terms__nav ol a.is-on {
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-terms__nav ol a.is-on i {
	background: var(--ed-lime);
	color: var(--ed-ink-2);
}

.ed-terms__ask {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
	padding: 12px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink-2) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.ed-terms__body {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ed-terms__sec {
	padding: 32px 34px;
	border: 1px solid var(--ed-line);
	border-radius: 26px;
	background: var(--ed-surface);
	scroll-margin-top: 110px;
}

.ed-terms__sec h2 {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 18px;
	color: var(--ed-text);
	font-size: 26px !important;
	font-weight: 900;
	text-align: right;
}

.ed-terms__sec h2 span {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: var(--ed-ink);
	color: var(--ed-lime);
	font-size: 18px;
}

.ed-terms__sec ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: clause;
}

.ed-terms__sec li {
	position: relative;
	padding: 12px 40px 12px 0;
	border-top: 1px solid var(--ed-rule-f0f0ea);
	color: var(--ed-text-3);
	font-size: 17px;
	line-height: 1.95;
	text-align: right;
	counter-increment: clause;
}

.ed-terms__sec li:first-child {
	border-top: 0;
}

.ed-terms__sec li::before {
	content: counter(clause);
	position: absolute;
	top: 15px;
	right: 0;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	background: var(--ed-bg-2);
	color: var(--ed-text);
	font-size: 13px;
	font-weight: 900;
}

@media (max-width: 991px) {
	.ed-terms {
		padding: 60px 0;
	}

	.ed-terms__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.ed-terms__nav {
		position: static;
	}
}

@media (max-width: 600px) {
	.ed-terms {
		padding: 48px 0;
	}

	.ed-terms__sec {
		padding: 22px 20px;
		border-radius: 20px;
	}

	.ed-terms__sec h2 {
		font-size: 21px !important;
	}

	.ed-terms__sec li {
		font-size: 16px;
	}
}

/* Terms: dates and print, our products in the side column. */
.ed-terms__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 22px;
	border: 1px solid var(--ed-line);
	border-radius: 20px;
	background: var(--ed-surface);
}

.ed-terms__meta ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-terms__meta li {
	font-size: 15px;
}

.ed-terms__meta span {
	margin-left: 6px;
	color: var(--ed-muted-2);
}

.ed-terms__meta time {
	color: var(--ed-text);
	font-weight: 700;
}

.ed-terms__print {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	border: 1px solid var(--ed-edge);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.ed-terms__print svg {
	width: 18px;
	height: 18px;
}

.ed-terms__print:hover {
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-terms__nav .ed-pmini {
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid var(--ed-rule-ecece6);
}

/* Printing: only the agreement, black on white. */
@media print {
	#headerMenuFixed,
	.headerSection,
	.ed-svc-hero__media,
	.ed-svc-hero__actions,
	.ed-terms__nav,
	.ed-terms__print,
	.ed-offer,
	footer,
	.footer,
	.ed-foot {
		display: none !important;
	}

	.ed-terms,
	.ed-terms__sec,
	.ed-terms__meta {
		border: 0 !important;
		background: var(--ed-surface) !important;
		padding: 0 !important;
	}

	.ed-terms__grid {
		display: block;
	}

	.ed-terms__sec {
		margin-bottom: 18px;
		break-inside: avoid-page;
	}

	.ed-terms__sec li {
		font-size: 12pt;
		line-height: 1.7;
	}

	.ed-terms__sec h2 span,
	.ed-terms__sec li::before {
		background: var(--ed-surface) !important;
		color: #000 !important;
		border: 1px solid #000;
	}
}

.ed-terms__ptitle {
	display: none;
}

@media print {
	.ed-terms__ptitle {
		display: block;
		width: 100%;
		margin: 0 0 6px;
		padding-bottom: 10px;
		border-bottom: 2px solid #000;
		font-size: 16pt;
	}
}

/* Search results (search.php). */
.ed-svc-hero--search .ed-svc-hero__text {
	max-width: 820px;
	padding-bottom: 80px;
}

.ed-search__form {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 680px;
	margin: 6px 0 16px;
	padding: 8px 8px 8px 8px;
	padding-right: 20px;
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-muted-3);
}

.ed-search__form svg {
	flex: none;
	width: 22px;
	height: 22px;
}

.ed-search__form input {
	flex: 1;
	min-width: 0;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0;
	background: transparent !important;
	color: var(--ed-text) !important;
	font-size: 17px !important;
}

.ed-search__form button {
	flex: none;
	padding: 13px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.ed-search__hints {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--ed-muted-3);
	font-size: 15px;
}

.ed-search__hints a {
	padding: 5px 14px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;
	color: #fff !important;
	text-decoration: none !important;
	transition: border-color .2s ease, color .2s ease;
}

.ed-search__hints a:hover {
	border-color: var(--ed-lime);
	color: var(--ed-lime) !important;
}

.ed-search {
	padding: 64px 0 76px;
	background: var(--ed-section);
	color: var(--ed-text-2);
}

.ed-search,
.ed-search * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-search .container::before,
.ed-search .container::after {
	display: none;
}

.ed-search__h {
	margin: 40px 0 18px;
	color: var(--ed-text);
	font-size: 26px !important;
	font-weight: 900;
	text-align: right;
}

.ed-search__h:first-child {
	margin-top: 0;
}

.ed-search__pages {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-search__pages a {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 2px 12px;
	padding: 18px 22px;
	border: 1px solid var(--ed-line);
	border-radius: 20px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	text-decoration: none !important;
	transition: border-color .2s ease, transform .2s ease;
}

.ed-search__pages b {
	font-size: 18px;
	font-weight: 900;
}

.ed-search__pages span {
	grid-row: 2;
	overflow: hidden;
	color: var(--ed-muted-3);
	font-size: 13px;
	text-align: right;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ed-search__pages svg {
	grid-row: span 2;
	width: 18px;
	height: 18px;
}

.ed-search__pages a:hover {
	border-color: var(--ed-edge);
	transform: translateY(-2px);
}

.ed-search__none {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 30px 0;
	text-align: center;
}

.ed-search__none b {
	color: var(--ed-text);
	font-size: 22px;
}

.ed-search__none p {
	margin: 0 0 8px;
	color: var(--ed-muted);
	text-align: center !important;
}

@media (max-width: 600px) {
	.ed-search__pages {
		grid-template-columns: minmax(0, 1fr);
	}

	.ed-search__form button {
		padding: 13px 18px;
	}
}

/* ------------------------------------------------------------------
   Phones: card lists two per row (icon on top, then title and text) so pages stay short.
   Hosting why-us, website design and design services why-us, the steps (app and developer
   pages) and the contact ways to reach us.
   ------------------------------------------------------------------ */
@media (max-width: 600px) {
	.ed-why__grid,
	.ed-why2__grid,
	.ed-steps__list,
	.ed-cways__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.ed-why__item,
	.ed-why2__item,
	.ed-step {
		display: flex;
		flex-direction: column;
		gap: 0;
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ed-why__icon,
	.ed-why2__icon {
		width: 40px;
		height: 40px;
		margin: 0 0 10px;
		border-radius: 12px;
	}

	.ed-why__icon svg,
	.ed-why2__icon svg {
		width: 22px;
		height: 22px;
	}

	.ed-why__name,
	.ed-why2__name,
	.ed-step__title {
		margin: 0 0 4px;
		font-size: 15px !important;
		line-height: 1.35;
	}

	.ed-why__text,
	.ed-why2__text,
	.ed-step__text {
		font-size: 12.5px;
		line-height: 1.6;
	}

	.ed-why2__files {
		margin-top: 10px;
	}

	.ed-step__top {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		margin: 0 0 10px;
	}

	.ed-step__icon {
		width: 40px;
		height: 40px;
		border-radius: 12px;
	}

	.ed-step__icon svg {
		width: 22px;
		height: 22px;
	}

	/* An odd last card runs the full width. */
	.ed-steps__list > li:last-child:nth-child(odd),
	.ed-cways__grid > li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.ed-cways__card {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ed-cways__text {
		flex: 1 1 auto;
		min-width: 0;
	}

	.ed-cways__text b {
		font-size: 15px;
	}

	.ed-cways__text small {
		font-size: 12px;
		line-height: 1.5;
	}

	/* Phone numbers and addresses stay on one line, sized to fit the half-width card. */
	.ed-cways__text bdi {
		display: block;
		margin-top: 6px;
		font-size: 13px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.ed-cways__go {
		width: 100%;
		margin-top: auto;
		font-size: 13px;
	}
}

/* Newspaper product block (products page): newsprint paper, ink text, a red news accent.
   Stays light in the dark theme, like the newspaper page. */
.ed-product--paper {
	--p-bg: #f4f1ea;
	--p-glow: rgba(21, 21, 21, .05);
	--p-ink: #151515;
	--p-text: #3d3d3a;
	--p-muted: #6b6b66;
	--p-accent: #151515;
	--p-accent-2: #c8102e;
	--p-on-accent: #fff;
	--p-accent-soft: rgba(200, 16, 46, .1);
	--p-accent-line: rgba(21, 21, 21, .35);
	--p-line: rgba(21, 21, 21, .14);
	--p-line-strong: rgba(21, 21, 21, .3);
	--p-card-line: rgba(21, 21, 21, .1);
}

.ed-product--paper .ed-product__logo {
	background: #151515;
	color: #f4f1ea;
}

.ed-product--paper .ed-product__feature {
	background: rgba(255, 255, 255, .6);
}

.ed-product--paper .ed-product__feature:hover {
	background: #fff;
}

.ed-product--paper .ed-product__btn--main:hover {
	color: #fff !important;
}

.ed-product--paper .ed-product__btn:hover {
	color: #f4f1ea !important;
}

.ed-product--osolna .ed-product__logo img {
	padding: 4px;
}

.ed-pwhy,
.ed-pwhy *,
.ed-pcta,
.ed-pcta *:not(.fa) {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-product[id] {
	scroll-margin-top: 80px;
}

/* Products page: why we build our own products. */
.ed-pwhy {
	padding: 96px 0;
	background: var(--ed-section-white);
}

.ed-pwhy__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-pwhy__grid li {
	padding: 26px 24px;
	border: 1px solid var(--ed-line);
	border-radius: 24px;
	background: var(--ed-surface);
}

.ed-pwhy__ico {
	display: grid;
	width: 50px;
	height: 50px;
	margin-bottom: 18px;
	place-items: center;
	border-radius: 15px;
	background: var(--ed-ink);
	color: var(--ed-lime);
}

.ed-pwhy__ico svg {
	width: 24px;
	height: 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ed-pwhy__grid h3 {
	margin: 0 0 8px;
	color: var(--ed-text);
	font-size: 19px !important;
	font-weight: 900;
	line-height: 1.4;
	text-align: right;
}

.ed-pwhy__grid p {
	margin: 0;
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.75;
	text-align: right !important;
}

/* Products page: closing call to action. */
.ed-pcta {
	padding: 0 0 104px;
	background: var(--ed-section-white);
}

.ed-pcta__box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 48px 52px;
	border-radius: 32px;
	background:
		radial-gradient(60% 120% at 100% 0%, rgba(171, 250, 8, .16), transparent 60%),
		var(--ed-ink);
}

.ed-pcta__label {
	margin: 0 0 12px;
	color: var(--ed-lime);
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-pcta__title {
	margin: 0 0 10px;
	color: #fff;
	font-size: 34px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: right;
}

.ed-pcta__lead {
	max-width: 560px;
	margin: 0;
	color: #b9bcb5;
	font-size: 17px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-pcta__actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: wrap;
	gap: 12px;
}

:root[data-theme="dark"] .ed-pcta__box {
	border: 1px solid rgba(171, 250, 8, .4);
}

@media (max-width: 991px) {
	.ed-pwhy__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-pcta__box {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 600px) {
	.ed-pwhy {
		padding: 56px 0;
	}

	.ed-pwhy__grid {
		gap: 10px;
	}

	.ed-pwhy__grid li {
		padding: 16px 14px;
		border-radius: 16px;
	}

	.ed-pwhy__ico {
		width: 40px;
		height: 40px;
		margin-bottom: 10px;
		border-radius: 12px;
	}

	.ed-pwhy__ico svg {
		width: 20px;
		height: 20px;
	}

	.ed-pwhy__grid h3 {
		margin-bottom: 4px;
		font-size: 15px !important;
	}

	.ed-pwhy__grid p {
		font-size: 12.5px;
		line-height: 1.6;
	}

	.ed-pcta {
		padding-bottom: 64px;
	}

	.ed-pcta__box {
		gap: 22px;
		padding: 30px 22px;
		border-radius: 24px;
	}

	.ed-pcta__title {
		font-size: 25px !important;
	}

	.ed-pcta__lead {
		font-size: 15px;
	}

	.ed-pcta__actions {
		width: 100%;
	}

	.ed-pcta__actions .ed-svc-hero__btn {
		flex: 1 1 auto;
		justify-content: center;
	}
}

/* ------------------------------------------------------------------
   Our products page (template-products.php): light intro. Breadcrumb, the page heading,
   a summary, then the three products as browser windows with their real screens.
   ------------------------------------------------------------------ */
.page-template-template-products .headerSection,
.page-template-template-cookies .headerSection,
.page-template-template-jobs .headerSection {
	height: auto !important;
	background: var(--ed-section) !important;
	overflow: hidden;
}

.ed-phero {
	padding: 150px 0 0;
	background:
		radial-gradient(50% 60% at 50% 0%, rgba(171, 250, 8, .14), transparent 70%),
		var(--ed-section);
	text-align: center;
}

.ed-phero,
.ed-phero *:not(.fa),
.ed-pfaq,
.ed-pfaq * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-phero__crumbs {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-bottom: 22px;
	color: var(--ed-muted-3);
	font-size: 14px;
}

.ed-phero__crumbs a {
	color: var(--ed-muted) !important;
	text-decoration: none !important;
}

.ed-phero__crumbs a:hover {
	color: var(--ed-text) !important;
}

.ed-phero__crumbs b {
	color: var(--ed-text);
	font-weight: 700;
}

.ed-phero__label {
	display: inline-block;
	margin: 0 0 18px;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink-2);
	font-size: 14px;
	font-weight: 700;
}

.ed-phero__title {
	max-width: 960px;
	margin: 0 auto 20px;
	color: var(--ed-text);
	font-size: 50px !important;
	font-weight: 900;
	line-height: 1.35;
	text-align: center;
}

.ed-phero__title .ed-num {
	display: inline-block;
	padding: 0 .14em;
	background: linear-gradient(to top, transparent 8%, var(--ed-lime) 8%, var(--ed-lime) 46%, transparent 46%);
	direction: ltr;
}

:root[data-theme="dark"] .ed-phero__title .ed-num {
	background: linear-gradient(to top, transparent 8%, rgba(171, 250, 8, .55) 8%, rgba(171, 250, 8, .55) 46%, transparent 46%);
}

.ed-phero__lead {
	max-width: 720px;
	margin: 0 auto 34px;
	color: var(--ed-muted);
	font-size: 19px;
	line-height: 1.85;
	text-align: center !important;
}

.ed-phero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 64px;
}

.ed-phero__btn {
	display: inline-flex;
	align-items: center;
	padding: 15px 28px;
	border: 2px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.ed-phero__btn:hover {
	background: var(--ed-text);
	color: var(--ed-section) !important;
}

.ed-phero__btn--main {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-phero__btn--main:hover {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
	transform: translateY(-2px);
}

:root[data-theme="dark"] .ed-phero__btn--main {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

/* The three product windows; the middle one sits a little higher. */
.ed-phero__wins {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: end;
	gap: 20px;
}

.ed-phero__win {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ed-line);
	border-bottom: 0;
	border-radius: 20px 20px 0 0;
	background: var(--ed-surface);
	box-shadow: 0 -20px 50px -30px rgba(17, 17, 17, .3);
	color: var(--ed-text) !important;
	text-decoration: none !important;
	transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.ed-phero__win--osolna {
	margin-bottom: 0;
	transform: translateY(-28px);
}

.ed-phero__win:hover {
	transform: translateY(-8px);
}

.ed-phero__win--osolna:hover {
	transform: translateY(-36px);
}

.ed-phero__bar {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 11px 14px;
	border-bottom: 1px solid var(--ed-line);
	direction: ltr;
}

.ed-phero__bar i {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--ed-rule-dcdcd5);
}

.ed-phero__bar em {
	margin-left: 10px;
	color: var(--ed-muted-2);
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
}

.ed-phero__shot {
	display: block;
	height: 230px;
	overflow: hidden;
	background: #fff;
}

.ed-phero__shot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top right;
}

.ed-phero__shot--paper {
	padding: 18px 18px 0;
	background: #f4f1ea;
	color: #151515;
}

.ed-phero__shot--paper .ed-prod__paper {
	height: 100%;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
	background: #fbf9f4;
}

.ed-phero__cap {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px 22px;
	text-align: right;
}

.ed-phero__cap > img,
.ed-phero__ico {
	display: grid;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	place-items: center;
	overflow: hidden;
	border-radius: 11px;
}

.ed-phero__ico img {
	width: 100%;
	height: 100%;
}

.ed-phero__ico--osolna {
	padding: 4px;
	background: #f6f2e6;
}

.ed-phero__ico--paper {
	background: #151515;
	color: #f4f1ea;
}

.ed-phero__cap b {
	display: block;
	color: var(--ed-text);
	font-size: 17px;
	font-weight: 900;
}

.ed-phero__cap small {
	color: var(--ed-muted-2);
	font-size: 13px;
}

/* Products page: FAQ (heading on the right, questions on the left). */
.ed-pfaq {
	padding: 96px 0;
	background: var(--ed-section);
}

.ed-pfaq__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	align-items: start;
	gap: 48px;
}

.ed-pfaq .ed-pfaq__grid::before,
.ed-pfaq .ed-pfaq__grid::after {
	display: none;
}

.ed-pfaq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ed-pfaq__item {
	border: 1px solid var(--ed-line);
	border-radius: 18px;
	background: var(--ed-surface);
}

.ed-pfaq__item summary {
	position: relative;
	padding: 20px 22px 20px 56px;
	color: var(--ed-text);
	font-size: 17px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}

.ed-pfaq__item summary::-webkit-details-marker {
	display: none;
}

.ed-pfaq__item summary span {
	position: absolute;
	top: 50%;
	left: 20px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ed-bg-2);
	transform: translateY(-50%);
}

.ed-pfaq__item summary span::before,
.ed-pfaq__item summary span::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 6px;
	width: 10px;
	height: 2px;
	border-radius: 2px;
	background: var(--ed-text);
	transition: transform .25s ease;
}

.ed-pfaq__item summary span::after {
	transform: rotate(90deg);
}

.ed-pfaq__item[open] summary span {
	background: var(--ed-lime);
}

.ed-pfaq__item[open] summary span::before,
.ed-pfaq__item[open] summary span::after {
	background: var(--ed-ink);
}

.ed-pfaq__item[open] summary span::after {
	transform: rotate(0);
}

.ed-pfaq__item p {
	margin: 0;
	padding: 0 22px 20px;
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.85;
	text-align: right !important;
}

@media (max-width: 991px) {
	.ed-phero__title {
		font-size: 38px !important;
	}

	.ed-phero__wins {
		grid-template-columns: repeat(3, minmax(220px, 1fr));
		overflow-x: auto;
		padding-top: 30px;
		scrollbar-width: none;
	}

	.ed-pfaq__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 600px) {
	.ed-phero {
		padding-top: 118px;
	}

	.ed-phero__title {
		font-size: 28px !important;
	}

	.ed-phero__lead {
		font-size: 16px;
	}

	.ed-phero__actions {
		margin-bottom: 36px;
	}

	.ed-phero__btn {
		flex: 1 1 100%;
		justify-content: center;
		padding: 14px 20px;
	}

	/* Phones: the windows stack as compact rows (screen beside the name). */
	.ed-phero__wins {
		grid-template-columns: 1fr;
		gap: 10px;
		overflow: visible;
		padding: 0 0 40px;
	}

	.ed-phero__win,
	.ed-phero__win--osolna {
		flex-direction: row-reverse;
		align-items: center;
		border-bottom: 1px solid var(--ed-line);
		border-radius: 16px;
		transform: none;
	}

	.ed-phero__win:hover,
	.ed-phero__win--osolna:hover {
		transform: none;
	}

	.ed-phero__bar {
		display: none;
	}

	.ed-phero__shot {
		flex: 0 0 120px;
		height: 84px;
	}

	.ed-phero__shot--paper {
		padding: 8px 8px 0;
	}

	.ed-phero__shot--paper .ed-prod__paper {
		gap: 4px;
		padding: 6px;
	}

	.ed-phero__shot--paper .ed-prod__mast {
		font-size: 12px;
	}

	.ed-phero__shot--paper .ed-prod__head {
		font-size: 8px;
	}

	.ed-phero__cap {
		flex: 1 1 auto;
		padding: 12px 14px;
	}

	.ed-pfaq {
		padding: 56px 0;
	}

	.ed-pfaq__item summary {
		padding: 16px 16px 16px 48px;
		font-size: 15px;
	}

	.ed-pfaq__item summary span {
		left: 14px;
	}

	.ed-pfaq__item p {
		padding: 0 16px 16px;
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------
   Page not found (404.php): light page, a big 404, search and the main pages.
   ------------------------------------------------------------------ */
.error404 .headerSection {
	background: var(--ed-section) !important;
}

.ed-404 {
	padding: 160px 0 110px;
	background:
		radial-gradient(45% 55% at 50% 10%, rgba(171, 250, 8, .16), transparent 70%),
		var(--ed-section);
	text-align: center;
}

.ed-404,
.ed-404 * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-404__code {
	margin: 0 0 6px;
	color: var(--ed-text);
	font-size: 150px !important;
	font-weight: 900;
	line-height: 1;
	direction: ltr;
}

.ed-404__code span {
	display: inline-block;
	width: .8em;
	height: .8em;
	margin: 0 .04em;
	border-radius: 50%;
	background: var(--ed-lime);
	color: transparent;
	vertical-align: -.02em;
	animation: ed-404-pulse 2.4s ease-in-out infinite;
}

@keyframes ed-404-pulse {
	50% { transform: scale(.9); }
}

.ed-404__title {
	margin: 0 0 12px;
	color: var(--ed-text);
	font-size: 38px !important;
	font-weight: 900;
	line-height: 1.3;
	text-align: center;
}

.ed-404__lead {
	max-width: 560px;
	margin: 0 auto 28px;
	color: var(--ed-muted);
	font-size: 18px;
	line-height: 1.8;
	text-align: center !important;
}

.ed-404 .ed-404__search {
	max-width: 560px;
	margin: 0 auto 30px;
}

.ed-404__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	max-width: 760px;
	margin: 0 auto 26px;
	padding: 0;
	list-style: none;
}

.ed-404__links a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: border-color .2s ease, transform .2s ease;
}

.ed-404__links a:hover {
	border-color: var(--ed-edge);
	transform: translateY(-2px);
}

.ed-404__links svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ed-404__help {
	margin: 0;
	color: var(--ed-muted-2);
	font-size: 15px;
	text-align: center !important;
}

.ed-404__help a {
	color: var(--ed-text) !important;
	font-weight: 700;
	text-decoration: underline !important;
	text-decoration-color: var(--ed-lime) !important;
	text-underline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.ed-404__code span {
		animation: none;
	}
}

@media (max-width: 600px) {
	.ed-404 {
		padding: 120px 0 72px;
	}

	.ed-404__code {
		font-size: 100px !important;
	}

	.ed-404__title {
		font-size: 27px !important;
	}

	.ed-404__lead {
		font-size: 16px;
	}

	.ed-404__links a {
		padding: 9px 14px;
		font-size: 14px;
	}
}

.ed-404 .ed-404__search {
	border: 1px solid var(--ed-line);
	box-shadow: 0 18px 40px -28px rgba(17, 17, 17, .35);
}

/* Cookie policy and jobs: the light intro without product windows. */
.ed-phero--doc {
	padding-bottom: 72px;
}

.page-template-template-jobs .ed-phero--doc {
	padding-bottom: 40px;
}

.ed-phero--doc .ed-phero__actions {
	margin-bottom: 0;
}

@media (max-width: 600px) {
	.ed-phero--doc {
		padding-bottom: 48px;
	}
}

/* ------------------------------------------------------------------
   Jobs page (template-jobs.php): open roles as cards that open to show the
   tasks and skills, then how to apply and a general application.
   ------------------------------------------------------------------ */
.ed-jobs {
	padding: 88px 0 72px;
	background: var(--ed-section-white);
}

.ed-jobs,
.ed-jobs *:not(.fa),
.ed-jsteps,
.ed-jsteps *:not(.fa) {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-jobs__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ed-job {
	border: 1px solid var(--ed-line);
	border-radius: 22px;
	background: var(--ed-surface);
	transition: border-color .25s ease, box-shadow .25s ease;
}

.ed-job:hover,
.ed-job[open] {
	border-color: var(--ed-edge);
}

.ed-job[open] {
	box-shadow: 0 24px 50px -36px rgba(17, 17, 17, .4);
}

.ed-job summary {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 22px 24px;
	list-style: none;
	cursor: pointer;
}

.ed-job summary::-webkit-details-marker {
	display: none;
}

.ed-job__num {
	flex: 0 0 auto;
	color: var(--ed-muted-3);
	font-size: 15px;
	font-weight: 700;
}

.ed-job__head {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	min-width: 0;
}

.ed-job__head b {
	color: var(--ed-text);
	font-size: 21px;
	font-weight: 900;
	line-height: 1.35;
}

.ed-job__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.ed-job__tags i {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--ed-bg-2);
	color: var(--ed-text-2);
	font-size: 13px;
	font-style: normal;
	font-weight: 700;
}

.ed-job__tags svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
}

.ed-job__toggle {
	position: relative;
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--ed-bg-2);
	transition: background-color .25s ease;
}

.ed-job__toggle::before,
.ed-job__toggle::after {
	content: "";
	position: absolute;
	top: 17px;
	left: 11px;
	width: 14px;
	height: 2px;
	border-radius: 2px;
	background: var(--ed-text);
	transition: transform .25s ease;
}

.ed-job__toggle::after {
	transform: rotate(90deg);
}

.ed-job[open] .ed-job__toggle {
	background: var(--ed-lime);
}

.ed-job[open] .ed-job__toggle::before,
.ed-job[open] .ed-job__toggle::after {
	background: var(--ed-ink);
}

.ed-job[open] .ed-job__toggle::after {
	transform: rotate(0);
}

.ed-job__body {
	padding: 0 24px 24px;
}

.ed-job__intro {
	margin: 0 0 20px;
	padding-top: 18px;
	border-top: 1px solid var(--ed-line);
	color: var(--ed-text-2);
	font-size: 16px;
	line-height: 1.85;
	text-align: right !important;
}

.ed-job__cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.ed-job__col {
	padding: 18px 18px 14px;
	border-radius: 16px;
	background: var(--ed-bg-2);
}

.ed-job__col h3 {
	margin: 0 0 10px;
	color: var(--ed-text);
	font-size: 16px !important;
	font-weight: 900;
	text-align: right;
}

.ed-job__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-job__col li {
	position: relative;
	margin-bottom: 8px;
	padding-right: 18px;
	color: var(--ed-text-2);
	font-size: 14px;
	line-height: 1.7;
	text-align: right;
}

.ed-job__col li::before {
	content: "";
	position: absolute;
	top: 9px;
	right: 2px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ed-muted-4);
}

.ed-job__col--must li::before {
	background: var(--ed-lime);
	box-shadow: 0 0 0 1px rgba(17, 17, 17, .25);
}

.ed-job__apply {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
}

.ed-job__apply > span {
	color: var(--ed-muted);
	font-size: 15px;
	font-weight: 700;
}

.ed-job__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 22px;
	border: 1.5px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.ed-job__btn:hover {
	background: var(--ed-text);
	color: var(--ed-section-white) !important;
}

.ed-job__btn svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linejoin: round;
}

.ed-job__btn--wa {
	border-color: var(--ed-lime);
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
}

.ed-job__btn--wa:hover {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #fff !important;
}

.ed-jobs__none {
	padding: 28px;
	border: 1px dashed var(--ed-rule-dcdcd5);
	border-radius: 20px;
	color: var(--ed-text-2);
	font-size: 17px;
	text-align: center !important;
}

/* How to apply. */
.ed-jsteps {
	padding: 0 0 104px;
	background: var(--ed-section-white);
}

.ed-jsteps__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 0 0 40px;
	padding: 0;
	list-style: none;
}

.ed-jsteps__list li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px;
	border-top: 2px solid var(--ed-edge);
}

.ed-jsteps__list i {
	display: grid;
	width: 34px;
	height: 34px;
	margin-bottom: 6px;
	place-items: center;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink);
	font-size: 15px;
	font-style: normal;
	font-weight: 900;
}

.ed-jsteps__list b {
	color: var(--ed-text);
	font-size: 18px;
	font-weight: 900;
}

.ed-jsteps__list span {
	color: var(--ed-muted);
	font-size: 15px;
	line-height: 1.7;
}

@media (max-width: 991px) {
	.ed-job__cols {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.ed-jobs {
		padding: 56px 0 48px;
	}

	.ed-job {
		border-radius: 18px;
	}

	.ed-job summary {
		gap: 12px;
		padding: 16px;
	}

	.ed-job__num {
		display: none;
	}

	.ed-job__head b {
		font-size: 17px;
	}

	.ed-job__toggle {
		width: 32px;
		height: 32px;
	}

	.ed-job__toggle::before,
	.ed-job__toggle::after {
		top: 15px;
		left: 9px;
	}

	.ed-job__body {
		padding: 0 16px 16px;
	}

	.ed-job__intro {
		font-size: 15px;
	}

	.ed-job__col {
		padding: 14px;
	}

	.ed-job__apply > span {
		flex-basis: 100%;
	}

	.ed-job__btn {
		flex: 1 1 auto;
		justify-content: center;
	}

	.ed-jsteps {
		padding-bottom: 64px;
	}

	.ed-jsteps__list {
		grid-template-columns: 1fr;
		gap: 0;
		margin-bottom: 28px;
	}

	.ed-jsteps__list li {
		padding: 16px 0;
	}
}

/* Jobs: office filter, and copy / share for each role. */
.ed-jobs__filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.ed-jobs__filter button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text-2);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.ed-jobs__filter button span {
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--ed-bg-2);
	font-size: 12px;
}

.ed-jobs__filter button.is-on {
	border-color: var(--ed-ink);
	background: var(--ed-ink);
	color: #fff;
}

.ed-jobs__filter button.is-on span {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

.ed-job[hidden] {
	display: none;
}

.ed-job__share {
	position: relative;
	display: flex;
	gap: 6px;
	margin-right: auto;
}

.ed-job__copy,
.ed-job__send {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: transparent;
	color: var(--ed-muted);
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease;
}

.ed-job__copy:hover,
.ed-job__send:hover,
.ed-job__send.is-on {
	border-color: var(--ed-edge);
	color: var(--ed-text);
}

.ed-job__copy.is-done {
	border-color: var(--ed-lime);
	color: var(--ed-text);
}

.ed-job__copy svg,
.ed-job__send svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.ed-job__nets {
	position: absolute;
	bottom: calc(100% + 8px);
	left: 0;
	z-index: 5;
	display: flex;
	flex-direction: column;
	min-width: 170px;
	padding: 6px;
	border: 1px solid var(--ed-line);
	border-radius: 16px;
	background: var(--ed-surface);
	box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .35);
}

.ed-job__nets[hidden] {
	display: none;
}

.ed-job__nets a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: 10px;
	color: var(--ed-text) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
}

.ed-job__nets a:hover {
	background: var(--ed-bg-2);
}

.ed-job__nets .fa,
.ed-job__nets svg {
	width: 18px;
	font-size: 17px;
	text-align: center;
}

.ed-job__nets svg {
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
}

.ed-job__nets a[data-net="x"] svg {
	stroke: none;
}

.ed-job__nets a[data-net="wa"] .fa { color: #25d366; }
.ed-job__nets a[data-net="in"] .fa { color: #0a66c2; }
.ed-job__nets a[data-net="tg"] .fa { color: #229ed9; }

@media (max-width: 600px) {
	.ed-job__share {
		flex-basis: 100%;
		margin: 4px 0 0;
	}

	.ed-job__copy,
	.ed-job__send {
		flex: 1 1 auto;
		justify-content: center;
	}

	.ed-job__nets {
		right: 0;
		left: 0;
	}
}

/* Jobs: company facts strip under the intro. */
.ed-jwhy {
	padding: 0 0 40px;
	background: var(--ed-section);
}

.ed-jwhy,
.ed-jwhy * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-jwhy__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--ed-line);
	list-style: none;
}

.ed-jwhy__grid li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px 22px;
}

.ed-jwhy__grid li + li {
	border-right: 1px solid var(--ed-line);
}

.ed-jwhy__grid b {
	color: var(--ed-text);
	font-size: 22px;
	font-weight: 900;
}

.ed-jwhy__grid span {
	color: var(--ed-muted);
	font-size: 14px;
	line-height: 1.7;
}

.ed-job__tags .ed-job__until {
	background: rgba(171, 250, 8, .25);
}

/* Jobs: apply bar on phones. */
.ed-jbar {
	position: fixed;
	right: 12px;
	bottom: 12px;
	left: 12px;
	z-index: 900;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 10px 10px 16px;
	border-radius: 18px;
	background: var(--ed-ink);
	box-shadow: 0 20px 40px -16px rgba(0, 0, 0, .5);
	animation: ed-acct-in .2s ease-out;
}

.ed-jbar[hidden] {
	display: none;
}

.ed-jbar__title {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	color: #fff;
	font-family: "Thmanyah Sans", sans-serif !important;
	font-size: 15px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ed-jbar__go {
	flex: 0 0 auto;
	padding: 11px 18px;
	border-radius: 12px;
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
	font-family: "Thmanyah Sans", sans-serif !important;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none !important;
}

@media (max-width: 991px) {
	.ed-jwhy__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ed-jwhy__grid li:nth-child(3) {
		border-right: 0;
	}

	.ed-jwhy__grid li:nth-child(n + 3) {
		border-top: 1px solid var(--ed-line);
	}
}

@media (max-width: 600px) {
	.ed-jwhy__grid li {
		padding: 16px 12px;
	}

	.ed-jwhy__grid b {
		font-size: 17px;
	}

	.ed-jwhy__grid span {
		font-size: 12.5px;
	}
}

/* Offer ticket: what else the package includes (backups). */
.ed-ticket__extra {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	color: #d9dbd6;
	font-size: 15px;
	font-weight: 700;
	text-align: right !important;
}

.ed-ticket__extra svg {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	padding: 3px;
	border-radius: 50%;
	background: var(--ed-lime);
	color: var(--ed-ink);
}

/* Jobs: life at the company: a photo wall from our office, no captions; photos are grey and
   take their colour on hover or touch, one lighting up at a time, in two endless rows; then company news. */
.ed-jlife {
	padding: 88px 0;
	overflow: hidden;
	background: var(--ed-section);
}

.ed-jlife,
.ed-jlife * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-jlife > .container > .ed-apps__label {
	margin-bottom: 26px;
}

.ed-lwall__ph {
	display: block;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 18px;
	background: var(--ed-bg-2);
	cursor: zoom-in;
}

.ed-lwall__ph img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2, .7, .2, 1), filter .9s ease;
}

.ed-lwall__ph img {
	filter: grayscale(1) contrast(1.05);
}

.ed-lwall__ph:hover img,
.ed-lwall__ph:focus-visible img,
.ed-lwall__ph.is-touch img,
.ed-lwall__ph.is-lit img {
	filter: none;
}

.ed-lwall__ph:hover img,
.ed-lwall__ph.is-touch img {
	transform: scale(1.06);
}

.ed-lwall__ph {
	position: relative;
}

.ed-lwall__ph::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 0 var(--ed-lime);
	transition: box-shadow .35s ease;
	pointer-events: none;
}

.ed-lwall__ph:hover::after,
.ed-lwall__ph.is-touch::after {
	box-shadow: inset 0 0 0 3px var(--ed-lime);
}

.ed-lwall--rows {
	display: flex;
	flex-direction: column;
	gap: 14px;
	direction: ltr;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}

.ed-lwall__row {
	overflow: hidden;
}

.ed-lwall__track {
	display: flex;
	gap: 14px;
	width: max-content;
	animation: ed-lwall-move 60s linear infinite;
}

.ed-lwall__row.is-rev .ed-lwall__track {
	animation-direction: reverse;
	animation-duration: 70s;
}

.ed-lwall--rows:hover .ed-lwall__track {
	animation-play-state: paused;
}

.ed-lwall--rows .ed-lwall__ph {
	flex: 0 0 auto;
	height: 260px;
}

.ed-lwall--rows .ed-lwall__ph img {
	width: auto;
}

@keyframes ed-lwall-move {
	to { transform: translateX(calc(-50% - 7px)); }
}

.ed-jlife__news {
	margin-top: 64px;
}

.ed-jlife__news-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.ed-jlife__news-head h3 {
	margin: 0;
	color: var(--ed-text);
	font-size: 24px !important;
	font-weight: 900;
}

.ed-jlife .ed-apps__all {
	padding: 10px 20px;
	border: 1.5px solid var(--ed-edge);
	border-radius: 999px;
	color: var(--ed-text) !important;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease;
}

.ed-jlife .ed-apps__all:hover {
	background: var(--ed-ink);
	color: #fff !important;
}

/* Photo viewer. */
.ed-jview {
	max-width: min(92vw, 1100px);
	max-height: 92vh;
	padding: 0;
	overflow: visible;
	border: 0;
	background: transparent;
}

.ed-jview::backdrop {
	background: rgba(10, 10, 10, .88);
}

.ed-jview img {
	display: block;
	max-width: 100%;
	max-height: 86vh;
	margin: 0 auto;
	border-radius: 16px;
}

.ed-jview__x {
	position: absolute;
	top: -46px;
	left: 0;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #111;
	font-size: 24px;
	line-height: 38px;
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
	.ed-lwall__track {
		animation: none;
	}
}

@media (max-width: 991px) {
}

@media (max-width: 600px) {
	.ed-jlife {
		padding: 56px 0;
	}

	.ed-lwall--rows .ed-lwall__ph {
		height: 170px;
		border-radius: 14px;
	}

	.ed-lwall--rows,
	.ed-lwall__track {
		gap: 8px;
	}

	.ed-jlife__news {
		margin-top: 40px;
	}
}

@media (max-width: 600px) {
	.ed-ticket__extra {
		margin-top: 12px;
		font-size: 13px;
	}

	.ed-jlife {
		padding: 56px 0;
	}
}

/* Our work: featured projects (portfolio "high"): whole platforms, each with its parts and three real screens. */
.ed-feat {
	padding: 104px 0;
	background: var(--ed-section);
	color: var(--ed-text);
}

.ed-feat,
.ed-feat * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-feat .container::before,
.ed-feat .container::after {
	display: none;
}

.ed-feat__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ed-feat__item {
	margin: 0;
	padding: 0;
}

.ed-feat__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 22px 22px 0;
	border: 1px solid var(--ed-line);
	border-radius: 26px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	text-decoration: none !important;
	overflow: hidden;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s ease;
}

.ed-feat__card:hover {
	box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .45);
	transform: translateY(-4px);
}

.ed-feat__top {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ed-feat__icon {
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: 15px;
	overflow: hidden;
	background: var(--ed-bg-2);
	box-shadow: 0 0 0 1px var(--ed-line);
}

.ed-feat__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ed-feat__name {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ed-feat__name b {
	color: var(--ed-text) !important;
	font-size: 21px;
	font-weight: 900;
	line-height: 1.35;
}

.ed-feat__name small {
	color: var(--ed-muted);
	font-size: 14.5px;
	line-height: 1.6;
}

.ed-feat__parts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 16px;
}

.ed-feat__parts span {
	padding: 4px 11px;
	border-radius: 999px;
	background: var(--ed-bg-2);
	color: var(--ed-text-2);
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
}

.ed-feat__parts span:first-child {
	background: var(--ed-lime);
	color: var(--ed-ink);
}

/* Three phone screens standing on the card's bottom edge. */
.ed-feat__shots {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 20px 0 0;
	aspect-ratio: 16 / 9.6;
	overflow: hidden;
}

.ed-feat__shots img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1183 / 2560;
	object-fit: cover;
	object-position: top;
	border-radius: 14px;
	box-shadow: 0 0 0 1px var(--ed-line);
	transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}

.ed-feat__shots img:nth-child(2) {
	margin-top: 22px;
}

.ed-feat__shots img:nth-child(3) {
	margin-top: 44px;
}

.ed-feat__card:hover .ed-feat__shots img {
	transform: translateY(-10px);
}

/* No screens yet: the icon, large, on a soft panel. */
.ed-feat__shots.is-empty {
	display: grid;
	grid-template-columns: 1fr;
	place-items: center;
	border-radius: 18px;
	background: var(--ed-bg-2);
}

.ed-feat__shots .ed-feat__big {
	width: 34%;
	height: auto;
	aspect-ratio: 1;
	margin: 0;
	border-radius: 24%;
}

.ed-feat__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 -22px;
	padding: 14px 22px 16px;
	border-top: 1px solid var(--ed-line);
	background: var(--ed-surface);
	position: relative;
}

.ed-feat__os {
	display: flex;
	gap: 12px;
	color: var(--ed-muted);
	font-size: 13px;
	font-weight: 700;
}

.ed-feat__os span {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.ed-feat__os svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.ed-feat__go {
	font-size: 14px;
	font-weight: 700;
}

.ed-feat__go i {
	display: inline-block;
	margin-right: 4px;
	font-style: normal;
	transition: transform .25s ease;
}

.ed-feat__card:hover .ed-feat__go i {
	transform: translateX(-4px);
}

@media (prefers-reduced-motion: reduce) {
	.ed-feat__card,
	.ed-feat__shots img,
	.ed-feat__go i {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-feat {
		padding: 80px 0;
	}

	.ed-feat__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Phones: two compact cards per row; the screens give way to the icon, name and parts. */
@media (max-width: 600px) {
	.ed-feat {
		padding: 64px 0;
	}

	.ed-feat__grid {
		gap: 10px;
	}

	.ed-feat__card {
		padding: 14px 14px 0;
		border-radius: 20px;
	}

	.ed-feat__top {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}

	.ed-feat__icon {
		width: 46px;
		height: 46px;
		border-radius: 13px;
	}

	.ed-feat__name b {
		font-size: 16.5px;
	}

	.ed-feat__name small {
		font-size: 12.5px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}

	.ed-feat__parts {
		margin-top: 10px;
		gap: 4px;
	}

	.ed-feat__parts span {
		padding: 2px 8px;
		font-size: 11.5px;
	}

	.ed-feat__shots {
		margin-top: 12px;
		gap: 5px;
	}

	.ed-feat__shots img {
		border-radius: 8px;
	}

	.ed-feat__shots img:nth-child(2) {
		margin-top: 12px;
	}

	.ed-feat__shots img:nth-child(3) {
		margin-top: 24px;
	}

	.ed-feat__foot {
		margin: 0 -14px;
		padding: 10px 14px 12px;
	}

	.ed-feat__os {
		gap: 8px;
		font-size: 0;
	}

	.ed-feat__go {
		font-size: 12.5px;
	}
}

/* Wide featured cards (fill the last gaps in the 3-column grid): six screens instead of three. */
.ed-feat__item--wide {
	grid-column: span 2;
}

.ed-feat__item--wide .ed-feat__shots {
	grid-template-columns: repeat(6, 1fr);
	aspect-ratio: 32 / 9.3;
}

.ed-feat__item--wide .ed-feat__shots img:nth-child(4) {
	margin-top: 0;
}

.ed-feat__item--wide .ed-feat__shots img:nth-child(5) {
	margin-top: 22px;
}

.ed-feat__item--wide .ed-feat__shots img:nth-child(6) {
	margin-top: 44px;
}

@media (max-width: 991px) {
	.ed-feat__item--wide {
		grid-column: auto;
	}

	.ed-feat__item--wide .ed-feat__shots {
		grid-template-columns: repeat(3, 1fr);
		aspect-ratio: 16 / 9.6;
	}

	.ed-feat__item--wide .ed-feat__shots img:nth-child(n+4) {
		display: none;
	}
}

/* Phones: shorter cards: no tagline, the parts as one quiet line, a low strip of screens. */
@media (max-width: 600px) {
	.ed-feat__name small {
		display: none;
	}

	.ed-feat__parts {
		display: block;
		color: var(--ed-muted);
		font-size: 11.5px;
		line-height: 1.6;
	}

	.ed-feat__parts span,
	.ed-feat__parts span:first-child {
		display: inline;
		padding: 0;
		background: none;
		color: inherit;
		font-size: inherit;
		font-weight: 600;
	}

	.ed-feat__parts span + span::before {
		content: " · ";
	}

	.ed-feat__shots,
	.ed-feat__item--wide .ed-feat__shots {
		aspect-ratio: 16 / 8;
	}
}

/* Single app: the other parts of the platform (driver/provider apps, website), each with its own screens. */
.ed-parts {
	padding: 104px 0;
	background: var(--ed-section-white);
	color: var(--ed-text-2);
}

.ed-parts + .ed-app3 {
	border-top: 1px solid var(--ed-line);
}

.ed-parts,
.ed-parts * {
	font-family: "Thmanyah Sans", sans-serif !important;
	letter-spacing: 0;
}

.ed-parts .container::before,
.ed-parts .container::after {
	display: none;
}

.ed-parts__list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.ed-parts__item {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	align-items: center;
	gap: 36px;
	padding: 28px;
	border: 1px solid var(--ed-line);
	border-radius: 28px;
	background: var(--ed-section);
}

.ed-parts__kind {
	display: inline-block;
	margin: 0 0 12px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--ed-lime);
	color: var(--ed-ink) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 20px;
}

.ed-parts__name {
	margin: 0 0 8px;
	color: var(--ed-text) !important;
	font-size: 26px !important;
	font-weight: 900;
	line-height: 1.35;
	text-align: right;
}

.ed-parts__tag {
	margin: 0;
	color: var(--ed-muted);
	font-size: 16px;
	line-height: 1.8;
	text-align: right !important;
}

.ed-parts__stores {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}

.ed-parts__stores a {
	padding: 9px 16px;
	border: 1px solid var(--ed-line);
	border-radius: 999px;
	background: var(--ed-surface);
	color: var(--ed-text) !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 18px;
	text-decoration: none !important;
}

.ed-parts__stores a:hover {
	border-color: var(--ed-text);
}

/* Phone screens in a row that scrolls sideways when there are more than fit. */
.ed-parts__phones {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 5 * 10px) / 5.4);
	gap: 10px;
	margin: 0;
	padding: 0 0 6px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.ed-parts__phones li {
	scroll-snap-align: start;
}

.ed-parts__phones button,
.ed-parts__browser {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.ed-parts__phones img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1183 / 2560;
	object-fit: cover;
	object-position: top;
	border-radius: 14px;
	box-shadow: 0 0 0 1px var(--ed-line);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}

.ed-parts__phones button:hover img {
	transform: translateY(-4px);
}

/* Website: its page in a browser frame; it scrolls down on hover, and opens whole on click. */
.ed-parts__browser {
	border-radius: 16px;
	overflow: hidden;
	background: var(--ed-surface);
	box-shadow: 0 0 0 1px var(--ed-line), 0 24px 50px -34px rgba(0, 0, 0, .45);
	text-align: right;
}

.ed-parts__bar {
	display: flex;
	gap: 6px;
	padding: 11px 14px;
	border-bottom: 1px solid var(--ed-line);
	direction: ltr;
}

.ed-parts__bar i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ed-tint-d9d9d3);
}

.ed-parts__page {
	display: block;
	height: 380px;
	overflow: hidden;
}

.ed-parts__page img {
	display: block;
	width: 100%;
	height: auto;
	transform: translateY(0);
	transition: transform 6s ease-in-out;
}

.ed-parts__browser:hover .ed-parts__page img {
	transform: translateY(calc(-100% + 380px));
}

.ed-parts__viewer {
	width: min(92vw, 520px);
	max-height: 92vh;
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: var(--ed-surface);
	overflow: hidden;
}

.ed-parts__viewer.is-page {
	width: min(94vw, 1200px);
}

.ed-parts__viewer::backdrop {
	background: rgba(0, 0, 0, .78);
}

.ed-parts__scroll {
	max-height: 92vh;
	overflow-y: auto;
}

.ed-parts__scroll img {
	display: block;
	width: 100%;
	height: auto;
}

.ed-parts__close {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 24px;
	line-height: 40px;
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {
	.ed-parts__phones img,
	.ed-parts__page img {
		transition: none;
	}
}

@media (max-width: 991px) {
	.ed-parts {
		padding: 80px 0;
	}

	.ed-parts__item {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.ed-parts__phones {
		grid-auto-columns: calc((100% - 3 * 10px) / 3.4);
	}
}

@media (max-width: 600px) {
	.ed-parts {
		padding: 64px 0;
	}

	.ed-parts__item {
		padding: 18px;
		border-radius: 22px;
	}

	.ed-parts__name {
		font-size: 21px !important;
	}

	.ed-parts__tag {
		font-size: 14.5px;
	}

	.ed-parts__phones {
		grid-auto-columns: calc((100% - 2 * 8px) / 2.5);
		gap: 8px;
	}

	.ed-parts__page {
		height: 240px;
	}

	.ed-parts__browser:hover .ed-parts__page img {
		transform: translateY(calc(-100% + 240px));
	}
}

/* Website part: the chosen page large in a browser frame, the site's other pages as thumbnails under it.
   Light and dark screens when given: each shows with the matching site theme. */
.ed-parts__site {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.ed-parts .is-d {
	display: none !important;
}

:root[data-theme="dark"] .ed-parts .is-d {
	display: block !important;
}

:root[data-theme="dark"] .ed-parts .is-l:has(+ .is-d) {
	display: none !important;
}

.ed-parts__site .ed-parts__page {
	height: auto;
}

.ed-parts__site .ed-parts__page img,
.ed-parts__browser:hover .ed-parts__site .ed-parts__page img,
.ed-parts__site .ed-parts__browser:hover .ed-parts__page img {
	transform: none;
	transition: none;
}

.ed-parts__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
	gap: 8px;
}

.ed-parts__thumbs button {
	display: block;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	background: var(--ed-surface);
	box-shadow: 0 0 0 1px var(--ed-line);
	cursor: pointer;
	opacity: .7;
	transition: opacity .2s ease, border-color .2s ease;
}

.ed-parts__thumbs button:hover,
.ed-parts__thumbs button.is-on {
	opacity: 1;
}

.ed-parts__thumbs button.is-on {
	border-color: var(--ed-lime);
}

.ed-parts__thumbs img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1755 / 1620;
	object-fit: cover;
	object-position: top;
}

/* Featured card of a web platform: its website's first screen, top-aligned, filling the screens area. */
.ed-feat__shots.is-empty:has(.ed-feat__web) {
	display: block;
	background: none;
}

.ed-feat__shots .ed-feat__web {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
	margin: 0;
	object-fit: cover;
	object-position: top;
	border-radius: 14px 14px 0 0;
}

/* Our web platforms on the works page: the site's dark screen follows the site theme when we have one. */
.ed-webs__sites--ours .ed-webs__d {
	display: none;
}

:root[data-theme="dark"] .ed-webs__sites--ours .ed-webs__l:has(+ .ed-webs__d) {
	display: none;
}

:root[data-theme="dark"] .ed-webs__sites--ours .ed-webs__d {
	display: block;
}

.ed-webs__sites--ours a.ed-webs__site {
	text-decoration: none !important;
}

/* Works page, websites: frames stay still (no scrolling on hover); our web platforms cross-fade through their screens. */
.ed-webs__site:hover .ed-webs__frame img,
.ed-webs__site:focus-visible .ed-webs__frame img,
.ed-webs__board:hover .ed-webs__frame img,
.ed-webs__board:focus-visible .ed-webs__frame img,
.ed-webs__frame.is-pan img {
	transform: none;
}

.ed-webs__frame--slides {
	position: relative;
}

.ed-webs__frame--slides img {
	position: absolute;
	inset: 0;
	height: 100%;
	object-fit: cover;
	object-position: top;
	opacity: 0;
	transition: opacity .9s ease;
}

.ed-webs__frame--slides img.is-on {
	opacity: 1;
}
