﻿:lang(en) {
	font-family: var(--wp--preset--font-family--archivo);
}

:lang(ar) {
	font-family: var(--wp--preset--font-family--alexandria);
	letter-spacing: normal;
}

:root {
	--hm-sk: 1;
}

:root:lang(ar) {
	--hm-sk: -1;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--navy);
	line-height: normal;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

:where(img) {
	max-inline-size: 100%;
	block-size: auto;
}

:where(button, input, select, textarea) {
	font: inherit;
}

:where(a) {
	text-decoration: none;
}

:where(button, a, input, select, textarea):focus-visible {
	outline: 3px solid var(--wp--preset--color--blue);
	outline-offset: 4px;
}

:where(h1, h2, h3, h4, h5, h6):lang(en) {
	font-stretch: 120%;
}

:where(h1, h2, h3, h4, h5, h6):lang(ar) {
	font-style: normal;
	letter-spacing: normal;
}

.hm-container {
	max-inline-size: 1560px;
	margin-inline: auto;
}

.hm-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background:
		linear-gradient(var(--wp--preset--color--navy), var(--wp--preset--color--navy))
		50% 100% / 100% 0% no-repeat,
		var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
	border: 0;
	cursor: pointer;
	transform: skewX(calc(var(--hm-sk, 1) * -12deg));
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition:
		background-size 0.55s cubic-bezier(0.7, 0, 0.2, 1),
		color 0.35s;
	line-height: normal;
	text-decoration: none;
}

.hm-button > span {
	display: inline-flex;
	gap: 10px;
	transform: skewX(calc(var(--hm-sk, 1) * 12deg));
}

.hm-button:hover {
	background-size: 100% 100%;
	color: var(--wp--preset--color--white);
}

header.wp-block-template-part {
	position: sticky;
	inset-block-start: 0;
	z-index: 50;
	margin: 0;
}

.hm-header {
	background:
 color-mix(in srgb, var(--wp--preset--color--background) 94%, transparent);
	backdrop-filter: blur(10px);
	border-block-end: 1px solid var(--wp--preset--color--border);
	transition: transform 0.5s cubic-bezier(0.7, 0, 0.2, 1);
}

.hm-header.is-hidden {
	transform: translateY(-100%);
}

.hm-header__bar {
	max-inline-size: 1560px;
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--gutter);
	block-size: 76px;
	display: flex;
	align-items: center;
	gap: 32px;
}

.hm-header__bar > *,
.hm-header__actions > * {
	margin: 0;
}

.hm-header__bar--mobile {
	display: none;
}

.hm-header__logo {
	flex: none;
}

.hm-header__logo a {
	display: flex;
	align-items: center;
}

.hm-header__logo img {
	block-size: 24px;
	inline-size: auto;
	max-inline-size: none;
}

.hm-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: none;
}

.hm-header__nav {
	margin-inline-start: auto;
	color: var(--wp--preset--color--navy);
}

.hm-header__nav .wp-block-navigation__container {
	gap: 4px;
	flex-wrap: nowrap;
}

.hm-header__nav .wp-block-navigation-item__content {
	display: block;
	padding: 10px 14px;
	font-size: 15px;
	font-weight: 600;
	background:
		linear-gradient(var(--wp--preset--color--orange), var(--wp--preset--color--orange))
		50% calc(100% - 4px) / 0% 2px no-repeat;
	transition:
		background-size 0.45s,
		color 0.3s;
}

.hm-header__nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--orange);
	background-size: calc(100% - 28px) 2px;
}

.hm-header .current-menu-item {
	color: var(--wp--preset--color--orange);
}

.hm-footer {
	background: var(--wp--preset--color--black);
	color: var(--wp--preset--color--white);
	padding:
		var(--wp--preset--spacing--reference-30)
		var(--wp--preset--spacing--gutter) 32px;
}

.hm-footer__inner {
	max-inline-size: 1560px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--reference-25);
}

.hm-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 40px;
}

.hm-footer__brand {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.hm-footer__logo img {
	block-size: 28px;
	inline-size: auto;
	max-inline-size: none;
}

.hm-footer__logo a {
	display: flex;
}

.hm-footer__about {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--wp--preset--color--muted-light);
	max-inline-size: 320px;
}

.hm-footer__col {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.hm-footer__col > *,
.hm-footer__brand > * {
	margin: 0;
}

.hm-footer__title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange);
	line-height: normal;
}

.hm-footer__nav {
	color: var(--wp--preset--color--white);
}

.hm-footer__nav .wp-block-navigation__container {
	gap: 14px;
	align-items: flex-start;
}

.hm-footer__nav a,
.hm-footer__list a {
	font-size: 15px;
	color: var(--wp--preset--color--white);
	font-weight: 400;
	text-decoration: none;
}

.hm-footer__nav a:hover,
.hm-footer__list a:hover {
	color: var(--wp--preset--color--orange);
}

.hm-footer__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.hm-footer__list > li,
.hm-footer__list .wp-block-post-title {
	margin: 0;
	padding: 0;
	line-height: normal;
	text-transform: none;
	font-style: normal;
	font-stretch: normal;
	font-size: 15px;
	letter-spacing: normal;
	font-weight: 400;
}

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

	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
}

.hm-no-anim [data-hm-reveal] {
	opacity: 1;
	transform: none;
	transition: none;
}

@media (max-width: 1079px) {

	.hm-header__bar--desktop {
		display: none;
	}

	.hm-header__bar--mobile {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 12px;
	}

	.hm-header__bar--mobile .hm-header__actions {
		justify-content: flex-end;
	}

	.hm-header__logo img {
		block-size: 22px;
	}
}

@media (max-width: 639px) {

	.hm-header__bar--mobile .hm-book-button {
		display: none;
	}
}

/* Scroll reveal start state (reveal.js and the inline head script, as in the reference). */
.hm-js-reveal [data-hm-reveal]:not([data-hm-reveal="stack"]):not(.is-revealed),
.hm-js-reveal [data-hm-reveal="stack"] > :not([data-hm-reveal]):not(.is-revealed) {
	opacity: 0;
	filter: blur(10px);
	translate: 0 24px;
}

.hm-js-reveal [data-hm-reveal="scale"]:not(.is-revealed) {
	translate: none;
	scale: 0.96;
}

.hm-preloader {
	display: none;
}

.hm-preload .hm-preloader {
	position: fixed;
	inset: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
	background: var(--wp--preset--color--navy);
	transition: transform 0.9s cubic-bezier(0.7, 0, 0.2, 1);
}

.hm-preload-out .hm-preloader {
	transform: translateY(-100%);
}

.hm-preloader img {
	block-size: 30px;
	inline-size: auto;
}

.hm-preloader__bar {
	inline-size: 180px;
	block-size: 3px;
	background: rgba(255, 255, 255, 0.15);
	overflow: hidden;
}

.hm-preloader__bar > span {
	display: block;
	block-size: 100%;
	background: var(--wp--preset--color--orange);
	transform-origin: left;
	animation: hm-load 0.95s cubic-bezier(0.7, 0, 0.2, 1) forwards;
}

.hm-preloader__bar > span:dir(rtl) {
	transform-origin: right;
}

@keyframes hm-load {

	from {
		transform: scaleX(0);
	}

	to {
		transform: scaleX(1);
	}
}

.hm-footer__brand .hm-social-links {
 min-block-size: 90px;
 align-content: flex-start;
}

.hm-footer .hm-footer__title {
 font-stretch: 100%;
 font-style: normal;
}

/* Hover states of the reference (style-hover), per element; "body" outranks block defaults. */
body .hm-page-header .hm-container > nav > a:hover,
body .hm-page-header .hm-container > nav > a:focus-visible {
	color: var(--wp--preset--color--yellow);
}

.hm-post-featured .hm-read {
	transition: background-size 0.55s cubic-bezier(0.7, 0, 0.2, 1), color 0.35s;
}

body .hm-post-featured .hm-post-copy .hm-read:hover,
body .hm-post-featured:focus-visible .hm-post-copy .hm-read {
	background-size: 100% 100%;
	color: var(--wp--preset--color--navy);
}

.hm-post-card {
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s;
}

body .hm-post-card:not(.hm-post-featured):hover,
body .hm-post-card:not(.hm-post-featured):focus-visible {
	transform: translateY(-6px);
	box-shadow: rgba(14, 15, 49, 0.12) 0px 18px 40px;
}

.hm-form__button {
	transition: background-size 0.55s cubic-bezier(0.7, 0, 0.2, 1), color 0.35s;
}

body .hm-form__button:hover,
body .hm-form__button:focus-visible {
	background-size: 100% 100%;
}

.hm-contact-info__card {
	transition: background 0.3s;
}

body .hm-contact-info__card:hover,
body .hm-contact-info__card:focus-visible {
	background: var(--wp--preset--color--tint-orange);
}

body .hm-hero-8:hover,
body .hm-hero-8:focus-visible {
	background-size: 100% 100%;
}

body .hm-hero-10:hover,
body .hm-hero-10:focus-visible {
	background-size: 100% 100%;
	color: var(--wp--preset--color--white);
}

body .hm-services-carousel-9:hover,
body .hm-services-carousel-9:focus-visible {
	transform: translateY(-6px);
	box-shadow: rgba(14, 15, 49, 0.35) 0px 18px 40px -18px;
}

body .hm-services-carousel-11:hover {
	transform: scale(1.08);
}

body .hm-help-categories-9:hover {
	transform: scale(1.06);
}

body .hm-help-categories-15:hover,
body .hm-help-categories-15:focus-visible {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}

body .hm-testimonials-slider-9:hover,
body .hm-testimonials-slider-9:focus-visible {
	background-size: 100% 100%;
	color: var(--wp--preset--color--white);
}

body .hm-testimonials-slider-11:hover {
	background-size: 100% 100%;
}

body .hm-testimonials-slider-13:hover,
body .hm-testimonials-slider-13:focus-visible {
	color: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
}

body .hm-quick-booking-8:hover,
body .hm-quick-booking-8:focus-visible {
	color: var(--wp--preset--color--orange);
}

body .hm-quick-booking-25:hover,
body .hm-quick-booking-25:focus-visible {
	background-size: 100% 100%;
}

body .hm-share-back:hover,
body .hm-share-back:focus-visible {
	color: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
}

.hm-share-actions > a {
	transition: background 0.3s, color 0.3s, border-color 0.3s;
}

body .hm-share-actions > a:hover,
body .hm-share-actions > a:focus-visible {
	background: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
}

.hm-share-actions > button {
	transition: background 0.3s, color 0.3s, border-color 0.3s;
}

body .hm-share-actions > button:hover,
body .hm-share-actions > button:focus-visible {
	background: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--white);
}

body .hm-article-toc > a:hover,
body .hm-article-toc > a:focus-visible {
	color: var(--wp--preset--color--orange);
}

body .hm-related-heading > a:hover,
body .hm-related-heading > a:focus-visible {
	color: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
}

.hm-content-button {
	transition: background-size 0.55s cubic-bezier(0.7, 0, 0.2, 1), color 0.35s;
}

body .hm-content-button:hover,
body .hm-content-button:focus-visible {
	background-size: 100% 100%;
}

.hm-other-grid > a {
	transition: transform 0.25s, box-shadow 0.25s;
}

body .hm-other-grid > a:hover,
body .hm-other-grid > a:focus-visible {
	transform: translateY(-4px);
	box-shadow: rgba(14, 15, 49, 0.35) 0px 14px 30px -16px;
}

.hm-service-image {
	transition: clip-path 0.9s cubic-bezier(0.7, 0, 0.2, 1);
}

body .hm-service-image:hover {
	clip-path: polygon(0px 0px, 100% 0px, 100% 100%, 0px 100%);
}

body .hm-service-more:hover,
body .hm-service-more:focus-visible {
	color: var(--wp--preset--color--orange);
	border-color: var(--wp--preset--color--orange);
}

.hm-table-scroll > table > tbody > tr > td > a {
	transition: background-size 0.4s cubic-bezier(0.7, 0, 0.2, 1), color 0.3s;
}

body .hm-table-scroll > table > tbody > tr > td > a:hover,
body .hm-table-scroll > table > tbody > tr > td > a:focus-visible {
	color: var(--wp--preset--color--orange);
	background-size: 100% 2px;
}

.hm-compare-table tbody tr {
	transition: background 0.3s;
}

body .hm-compare-table tbody tr:hover {
	background: var(--wp--preset--color--tint-peach);
}

/* Fill sweeps of the content buttons (the colour rises from the bottom on hover). */
body .hm-content-button {
	background:
		linear-gradient(var(--wp--preset--color--orange), var(--wp--preset--color--orange))
		50% 100% / 100% 0% no-repeat,
		var(--wp--preset--color--navy);
}

body .hm-service-action .hm-content-button {
	background:
		linear-gradient(var(--wp--preset--color--navy), var(--wp--preset--color--navy))
		50% 100% / 100% 0% no-repeat,
		var(--wp--preset--color--orange);
}

body .hm-article-cta .hm-content-button,
body .hm-post-featured .hm-post-copy .hm-read {
	background:
		linear-gradient(var(--wp--preset--color--white), var(--wp--preset--color--white))
		50% 100% / 100% 0% no-repeat,
		var(--wp--preset--color--orange);
}

body .hm-content-button:hover,
body .hm-content-button:focus-visible {
	background-size: 100% 100%;
	color: var(--wp--preset--color--white);
}

body .hm-article-cta .hm-content-button:hover,
body .hm-article-cta .hm-content-button:focus-visible {
	color: var(--wp--preset--color--navy);
}

/* Filled buttons keep their text colour (links elsewhere turn orange on hover). */
body .hm-hero-8:hover,
body .hm-hero-8:focus-visible,
body .hm-quick-booking-25:hover,
body .hm-form__button:hover {
	color: var(--wp--preset--color--white);
}
