/**
 * Homepage course carousel. The Ocean widget centers the title and
 * capitalizes every word; these rules match the course catalog cards.
 */

.elementor-element-e18c67f .oew-carousel .swiper {
	width: 100%;
}

.elementor-element-e18c67f .oew-carousel .oew-carousel-slide {
	padding: 0;
	text-align: left;
}

.elementor-element-e18c67f .oew-carousel .oew-carousel-entry-details {
	background: #fff;
	padding: 18px 20px 20px;
	text-align: left;
}

.elementor-element-e18c67f .oew-carousel .entry-title {
	margin: 0 0 8px;
	text-align: left;
	text-transform: none;
}

.elementor-element-e18c67f .oew-carousel .entry-title a {
	color: #213d2d;
	font-family: Figtree, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	text-transform: none;
	text-decoration: none;
}

.elementor-element-e18c67f .oew-carousel .entry-title a:hover {
	color: #185735;
}

.elementor-element-e18c67f .oew-carousel .oew-carousel-entry-excerpt,
.elementor-element-e18c67f .oew-carousel .oew-carousel-entry-excerpt p {
	margin: 0;
	color: #4d5748;
	font-family: Figtree, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.elementor-element-e18c67f .oew-carousel .readmore-btn {
	margin-top: 14px;
	font-family: Figtree, sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-align: left;
	text-transform: none;
}

.elementor-element-e18c67f .oew-carousel .readmore-btn a {
	display: inline;
	padding: 0;
	border-bottom: 0;
	color: #217244;
	text-decoration: none;
}

.elementor-element-e18c67f .oew-carousel .readmore-btn a:hover {
	color: #185735;
}

/* The course wave meets Featured Products. Match that section color. */

.elementor-8 .elementor-element-2c424483 > .elementor-shape-bottom svg,
.elementor-8 .elementor-element-2c424483 > .elementor-shape-bottom svg path {
	fill: #f2f5ea;
}

/* Featured products: same Figtree as the rest of the homepage. */

.elementor-element-7e6358a0 .elementor-heading-title {
	font-family: Figtree, sans-serif !important;
}

.elementor-element-2e203b5d .elementor-heading-title {
	font-weight: 800 !important;
}

.elementor-element-5e81925b .elementor-heading-title {
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
}

.elementor-element-163ca55d,
.elementor-element-3e46ec06 {
	background-color: #f7f8f4;
}

body.home #wrap,
body.home #wrap :where(h1, h2, h3, h4, h5, h6, p, a, button, li, del, ins) {
	font-family: Figtree, sans-serif !important;
}

body.home {
	overflow-x: clip;
}

.elementor-element-7e3cc1cd > .elementor-element-populated {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.elementor-element-2eebce9f {
	order: 1;
	width: auto !important;
	max-width: 100% !important;
}

.elementor-element-205aaa7c {
	order: 2;
	max-width: 620px;
	margin-top: 18px;
}

.elementor-element-205aaa7c .elementor-heading-title {
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.55 !important;
	text-transform: none !important;
}

.elementor-element-c9976e7 {
	order: 3;
	margin-top: 24px;
}

.elementor-element-2eebce9f .elementor-heading-title {
	max-width: 13ch;
	font-size: clamp(56px, 5.6vw, 80px) !important;
	font-weight: 700 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.045em !important;
	text-wrap: balance;
}

.elementor-element-c9976e7 .oew-buttons li {
	margin-left: 0 !important;
}

.elementor-element-c9976e7 .oew-buttons li a {
	min-height: 52px;
	padding: 12px 26px !important;
	font-size: 16px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.elementor-element-c9976e7 .oew-buttons li a:active,
.acti-courses__link:active {
	transform: translateY(1px) scale(0.98);
}

.acti-stand {
	display: grid;
	gap: 28px;
	width: 100%;
	margin-top: 28px;
	color: #161616;
	font-family: Figtree, sans-serif;
	text-align: left;
}

.acti-stand__top,
.acti-stand__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 48px;
	align-items: center;
}

.acti-stand__card {
	position: relative;
	min-height: 190px;
	padding: 32px 128px 32px 32px;
	border-radius: 2px;
	background: #efc857;
}

.acti-stand__card--mission {
	padding: 32px 32px 32px 128px;
	background: #e2b63a;
}

.acti-stand__label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	color: #161616;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.acti-stand__tick {
	display: none;
}

.acti-stand__card p {
	margin: 0;
	max-width: 36em;
	color: #241c08;
	font-size: 19px;
	line-height: 1.55;
}

.acti-stand__badge {
	position: absolute;
	top: 50%;
	right: -28px;
	display: grid;
	place-items: center;
	width: 118px;
	height: 118px;
	margin-top: -59px;
	border-radius: 50%;
	background: #fff;
}

.acti-stand__card--mission .acti-stand__badge {
	right: auto;
	left: -28px;
}

.acti-stand__intro {
	text-align: right;
}

.acti-stand__intro h2 {
	margin: 0;
	color: #161616;
	font-family: Figtree, sans-serif;
	font-size: 52px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.04em;
	text-wrap: balance;
}

.acti-stand__photo {
	margin: 0;
	min-height: 250px;
	border-radius: 2px;
	overflow: hidden;
}

.acti-stand__photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 250px;
	object-fit: cover;
}

.acti-glyph {
	width: 72px;
	height: 72px;
	overflow: visible;
}

.acti-glyph__rays {
	transform-origin: 44px 44px;
}

.acti-glyph__pupil {
	transform-origin: 44px 44px;
}

@media (max-width: 900px) {
	.acti-stand {
		box-sizing: border-box;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}

	.acti-stand__top,
	.acti-stand__bottom {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.acti-stand__card,
	.acti-stand__card--mission {
		padding: 24px 24px 24px 24px;
	}

	.acti-stand__badge,
	.acti-stand__card--mission .acti-stand__badge {
		position: static;
		width: 88px;
		height: 88px;
		margin: 18px 0 0;
	}

	.acti-glyph {
		width: 56px;
		height: 56px;
	}

	.acti-stand__intro {
		text-align: left;
	}

	.acti-stand__intro h2 {
		font-size: 32px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.acti-glyph__rays {
		animation: acti-spin 14s linear infinite;
	}

	.acti-glyph__pupil {
		animation: acti-pulse 3.2s ease-in-out infinite;
	}

	.acti-stand__badge .acti-glyph--eye {
		animation: acti-float 3.4s ease-in-out infinite;
	}

	.acti-stand__badge .acti-glyph--stool {
		animation: acti-float 2.8s ease-in-out infinite;
	}
}

@keyframes acti-float {
	0%,
	100% { transform: translateY(0); }
	50% { transform: translateY(-7px); }
}

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

/* Explore Our Courses introduction. The sliding course cards are unchanged. */

.acti-courses {
	color: #161616;
	font-family: Figtree, sans-serif;
	text-align: left;
}

.acti-courses__kicker {
	display: none;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	color: #161616;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.12em;
	line-height: 1;
	text-transform: uppercase;
}

.acti-courses__kicker span {
	display: inline-block;
	width: 28px;
	height: 3px;
	border-radius: 3px;
	background: #e2b63a;
}

.acti-courses h2 {
	margin: 0 0 16px;
	color: #161616;
	font-family: Figtree, sans-serif;
	font-size: 52px;
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-wrap: balance;
}

.acti-courses__copy {
	margin: 0 0 28px;
	max-width: 28em;
	color: #2c2c2c;
	font-size: 18px;
	line-height: 1.6;
}

.acti-courses__link {
	display: inline-flex;
	align-items: center;
	padding: 14px 26px;
	border-radius: 2px;
	background: #161616;
	color: #efc857;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease;
}

.elementor-element-2e203b5d {
	padding: 0 !important;
	text-align: left !important;
}

.elementor-element-2e203b5d .elementor-heading-title {
	font-size: clamp(40px, 4.2vw, 60px) !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
	text-wrap: balance;
}

.sidr-class-menu-item {
	border: 0 !important;
}

body.home #ocn-cookie-wrap.floating {
	position: relative;
	left: auto;
	bottom: auto;
	width: 100%;
	padding: 10px 56px 10px 20px;
	box-shadow: none;
	text-align: center;
}

body.home #ocn-cookie-wrap .ocn-icon {
	top: 50%;
	right: 10px;
	width: 44px;
	height: 44px;
	line-height: 44px;
	transform: translateY(-50%);
}

body.home #ocn-cookie-wrap .ocn-cookie-content {
	font-size: 14px;
	line-height: 1.45;
}

@media (max-width: 900px) {
	.elementor-element-2eebce9f .elementor-heading-title {
		font-size: clamp(48px, 8vw, 64px) !important;
	}

	#oceanwp-cart-sidebar-wrap .oceanwp-cart-sidebar {
		right: 0;
		transform: translateX(100%);
	}

	.show-cart #oceanwp-cart-sidebar-wrap .oceanwp-cart-sidebar,
	.show-cart-sidebar #oceanwp-cart-sidebar-wrap .oceanwp-cart-sidebar {
		transform: translateX(0);
	}

	.elementor-element-2c424483 > .elementor-container {
		display: flex;
		flex-direction: column;
	}

	.elementor-element-a12762c {
		order: 1;
	}

	.elementor-element-651c397c {
		order: 2;
	}
}

@media (max-width: 767px) {
	.elementor-element-2eebce9f .elementor-heading-title {
		max-width: 10ch;
		font-size: 44px !important;
	}

	.elementor-element-205aaa7c .elementor-heading-title {
		font-size: 16px !important;
	}

	.acti-stand__intro h2,
	.acti-courses h2 {
		font-size: 38px;
	}

	.elementor-element-2e203b5d .elementor-heading-title {
		font-size: 38px !important;
	}

	body.home #ocn-cookie-wrap.floating {
		width: 100%;
		padding: 12px 52px 12px 16px;
		border-radius: 2px;
		text-align: left;
	}

	body.home #ocn-cookie-wrap.floating #ocn-cookie-inner {
		display: block;
	}

	body.home #ocn-cookie-wrap.floating p {
		margin: 0;
		font-size: 13px;
		line-height: 1.45;
	}

	body.home #ocn-cookie-wrap .ocn-icon {
		right: 6px;
	}
}

.acti-courses__link:hover {
	background: #efc857;
	color: #161616;
}

@media (max-width: 900px) {
	.acti-courses h2 {
		font-size: 34px;
	}
}

@keyframes acti-pulse {
	0%,
	100% { transform: scale(1); }
	50% { transform: scale(0.72); }
}

/* About page core values. */

.acti-values {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	margin-top: 36px;
	color: #161616;
	font-family: Figtree, sans-serif;
	text-align: left;
}

.acti-values__card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 28px 24px 30px;
	border-radius: 24px;
	background: #f7f4ef;
	box-shadow: 0 14px 32px rgba(22, 22, 22, 0.06);
}

.acti-values__mark {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	margin-bottom: 22px;
	border-radius: 50%;
	background: #185735;
	color: #efc857;
}

.acti-values__mark svg {
	width: 32px;
	height: 32px;
}

.acti-values__card h3 {
	margin: 0 0 10px;
	color: #161616;
	font-family: Figtree, sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
}

.acti-values__card p {
	margin: 0;
	color: #3e4639;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
}

@media (max-width: 1020px) {
	.acti-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.acti-values {
		grid-template-columns: 1fr;
	}
}

/* About page leadership. */

.elementor-element-9b1717c {
	background: #10281c !important;
	border-top: 4px solid #efc857;
}

.acti-lead {
	color: #f7f4ef;
	font-family: Figtree, sans-serif;
	text-align: left;
}

.acti-lead__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 40px;
}

.acti-lead__eyebrow {
	margin: 0 0 10px;
	color: #efc857;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.acti-lead h2 {
	margin: 0;
	max-width: 12ch;
	color: #f7f4ef;
	font-family: Figtree, sans-serif;
	font-size: 48px;
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
}

.acti-lead__all {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 14px 22px;
	border: 1.5px solid #efc857;
	border-radius: 999px;
	color: #efc857;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
}

.acti-lead__all:hover {
	background: #efc857;
	color: #10281c;
}

.acti-lead__stage {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1fr;
	gap: 22px;
	align-items: start;
}

.acti-lead__person img,
.acti-lead__fallback {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 26px;
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.32);
}

.acti-lead__person img.actighana-progressive-image {
	transition: filter 0.3s ease, transform 0.35s ease;
}

.acti-lead__person img.actighana-progressive-image.is-preview {
	filter: blur(10px);
	transform: scale(1.025);
}

.acti-lead__fallback {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	padding: 20px;
	background: rgba(255, 255, 255, 0.08);
	color: #efc857;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
}

.acti-lead__person--director img,
.acti-lead__person--director .acti-lead__fallback {
	border-radius: 32px;
}

.acti-lead__person h3 {
	margin: 16px 0 4px;
	color: #f7f4ef;
	font-family: Figtree, sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.acti-lead__person--director h3 {
	font-size: 26px;
}

.acti-lead__role {
	margin: 0;
	color: #efc857;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.acti-lead__social {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.acti-lead__social a {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(239, 200, 87, 0.75);
	border-radius: 50%;
	color: #efc857;
}

.acti-lead__social a:hover {
	background: #efc857;
	color: #10281c;
}

.acti-lead__social svg {
	width: 15px;
	height: 15px;
}

@media (max-width: 980px) {
	.acti-lead h2 {
		font-size: 36px;
	}

	.acti-lead__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.acti-lead__stage {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 28px 16px;
		margin-right: 0;
		overflow: visible;
	}

	.acti-lead__person--director h3 {
		font-size: 18px;
	}

	.acti-lead__person img,
	.acti-lead__person--director img {
		height: auto;
		object-fit: contain;
		object-position: center;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.acti-lead__person img {
		transition: transform 0.35s ease;
	}

	.acti-lead__person:hover img {
		transform: translateY(-6px);
	}
}

/*
 * About intro photo uses an Elementor circle mask. The mask file URL is
 * the stored site host, so on another host the mask is cross-origin and
 * the browser drops the photo, leaving an empty band under the hero.
 */
.elementor-723 .elementor-element-330ab15b img {
	-webkit-mask-image: url("/hayatech/wp-content/plugins/elementor/assets/mask-shapes/circle.svg") !important;
	mask-image: url("/hayatech/wp-content/plugins/elementor/assets/mask-shapes/circle.svg") !important;
}

@media (max-width: 767px) {
	.elementor-723 .elementor-element-3388b916 {
		padding-top: 28px !important;
		padding-bottom: 36px !important;
	}

	.elementor-723 .elementor-element-4cfa73ae > .elementor-element-populated {
		padding-top: 8px !important;
	}
}

/*
 * Homepage title is set wider than its column, so on a phone the page
 * is wider than the screen and iOS lets you drag it sideways.
 */
@media (max-width: 767px) {
	.elementor-element-2eebce9f {
		width: auto !important;
		max-width: 100% !important;
	}
}
