/*
Theme Name: Hot Air Balloons
Theme URI: https://github.com/hekaplays/hot-air-balloons
Author: Hot Air Balloons
Description: A premium, white-label Gutenberg WordPress theme for hot-air-balloon operators.
Version: 0.17.2
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: hot-air-balloons
*/

:root {
	--hab-color-accent: var(--wp--preset--color--sunrise-gold, #e5a640);
	--hab-color-accent-secondary: var(--wp--preset--color--warm-terracotta, #c96f4a);
	--hab-color-dark: var(--wp--preset--color--deep-charcoal, #172126);
	--hab-color-light: var(--wp--preset--color--warm-ivory, #fff9f2);
	--hab-color-sand: var(--wp--preset--color--luxor-sand, #eadcc4);
	--hab-color-gold: var(--hab-color-accent);
	--hab-color-terracotta: var(--hab-color-accent-secondary);
	--hab-color-muted: var(--wp--preset--color--secondary-text, #5e6b70);
	--hab-font-serif: var(--wp--preset--font-family--premium-serif, Georgia, serif);
	--hab-font-sans: var(--wp--preset--font-family--modern-sans, system-ui, sans-serif);
	--hab-content-size: 45rem;
	--hab-wide-size: 80rem;
	--hab-visual-size: 90rem;
	--hab-gutter: clamp(1rem, 4vw, 2.5rem);
	--hab-section-space: clamp(4rem, 8vw, 7.5rem);
	--hab-card-gap: clamp(1.25rem, 2.5vw, 2rem);
	--hab-radius-small: 0.25rem;
	--hab-radius-card: 0.5rem;
	--hab-header-height: 5.75rem;
	--hab-admin-offset: 0px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	overflow-wrap: break-word;
	scroll-behavior: smooth;
}

body {
	min-inline-size: 0;
	margin: 0;
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
	font-family: var(--hab-font-sans);
	font-size: 1rem;
	line-height: 1.65;
}

body.admin-bar {
	--hab-admin-offset: 32px;
}

img,
svg,
video {
	max-inline-size: 100%;
	height: auto;
}

figure {
	margin-inline: 0;
}

a {
	color: var(--hab-color-dark);
	text-underline-offset: 0.18em;
}

a:hover {
	text-decoration-thickness: 0.12em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--hab-font-serif);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.05;
}

h1 {
	font-size: var(--wp--preset--font-size--h-1);
}

h2 {
	font-size: var(--wp--preset--font-size--h-2);
}

h3 {
	font-size: var(--wp--preset--font-size--h-3);
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 0.1875rem solid var(--hab-color-gold);
	outline-offset: 0.1875rem;
}

button,
input,
select,
textarea {
	max-inline-size: 100%;
	font: inherit;
}

[hidden] {
	display: none !important;
}

.screen-reader-text {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	inset-block-start: calc(var(--hab-admin-offset) + 0.5rem);
	inset-inline-start: 0.5rem;
	inline-size: auto;
	block-size: auto;
	padding: 0.75rem 1rem;
	margin: 0;
	clip-path: none;
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
}

.hab-container {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	margin-inline: auto;
}

.hab-container--narrow {
	max-inline-size: var(--hab-content-size);
}

.hab-container--visual {
	max-inline-size: var(--hab-visual-size);
}

.hab-section {
	padding-block: var(--hab-section-space);
}

.hab-eyebrow {
	margin-block: 0 0.75rem;
	color: var(--hab-color-dark);
	font-family: var(--hab-font-sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.hab-section-heading {
	max-inline-size: 52rem;
	margin-block-end: clamp(2rem, 5vw, 3.5rem);
}

.hab-section-heading h2 {
	margin: 0;
}

.hab-button:not(.wp-block-button),
.hab-button.wp-block-button .wp-block-button__link {
	min-block-size: 3rem;
	border: 1px solid transparent;
	border-radius: var(--hab-radius-small);
	font-family: var(--hab-font-sans);
	font-size: var(--wp--preset--font-size--button);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

a.hab-button,
.hab-button.wp-block-button .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.875rem 1.25rem;
}

.hab-button--primary:not(.wp-block-button),
.hab-button--primary.wp-block-button .wp-block-button__link {
	background: var(--hab-color-gold);
	color: var(--hab-color-dark);
}

.hab-button--primary:not(.wp-block-button):hover,
.hab-button--primary.wp-block-button .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--hab-color-gold) 85%, var(--hab-color-light));
	color: var(--hab-color-dark);
	transform: translateY(-1px);
}

.hab-button--secondary:not(.wp-block-button),
.hab-button--secondary.wp-block-button .wp-block-button__link {
	border-color: currentColor;
	background: transparent;
	color: inherit;
}

.hab-button--secondary:not(.wp-block-button):hover,
.hab-button--secondary.wp-block-button .wp-block-button__link:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
	color: inherit;
}

.hab-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: var(--wp--preset--font-size--button);
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration-thickness: 0.0625rem;
}

.site-header-sentinel {
	position: absolute;
	z-index: -1;
	inset-block-start: 0;
	inline-size: 1px;
	block-size: 1px;
	pointer-events: none;
}

.site-header {
	position: sticky;
	z-index: 9990;
	inset-block-start: var(--hab-admin-offset);
	inline-size: 100%;
	background: var(--hab-color-light);
	background: color-mix(in srgb, var(--hab-color-light) 96%, transparent);
	color: var(--hab-color-dark);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--hab-color-dark) 10%, transparent);
	transition: background-color 220ms ease, box-shadow 220ms ease, color 220ms ease;
}

.site-header--overlay {
	position: fixed;
	inset-inline: 0;
	background: transparent;
	color: var(--hab-color-light);
	box-shadow: none;
}

.site-header--overlay.is-scrolled,
.has-open-navigation .site-header {
	background: var(--hab-color-light);
	background: color-mix(in srgb, var(--hab-color-light) 97%, transparent);
	color: var(--hab-color-dark);
	box-shadow: 0 1px 0 color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-block-size: var(--hab-header-height);
	gap: clamp(1rem, 3vw, 2.5rem);
	transition: min-height 220ms ease;
}

.site-header.is-scrolled .site-header__inner {
	min-block-size: 4.5rem;
}

.site-branding {
	position: relative;
	z-index: 2;
	min-inline-size: 0;
}

.custom-logo-link,
.custom-logo {
	display: block;
}

.custom-logo {
	inline-size: auto;
	max-inline-size: min(12rem, 36vw);
	max-block-size: 3.75rem;
}

.site-title {
	margin: 0;
	font-family: var(--hab-font-serif);
	font-size: clamp(1.35rem, 2.5vw, 1.75rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1;
}

.site-title a {
	color: inherit;
	text-decoration: none;
}

.primary-navigation__header,
.menu-toggle {
	display: none;
}

.primary-navigation__menu,
.primary-navigation__menu ul,
.footer-navigation__menu {
	padding: 0;
	margin: 0;
	list-style: none;
}

.primary-navigation__menu {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

.primary-navigation__menu li {
	position: relative;
}

.primary-navigation__menu a {
	display: inline-block;
	padding-block: 0.75rem;
	color: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.primary-navigation__menu a:hover,
.primary-navigation__menu .current-menu-item > a {
	text-decoration: underline;
	text-decoration-color: var(--hab-color-gold);
	text-decoration-thickness: 0.125rem;
	text-underline-offset: 0.35rem;
}

.primary-navigation__menu .sub-menu {
	position: absolute;
	inset-block-start: 100%;
	inset-inline-start: -1rem;
	min-inline-size: 13rem;
	padding: 0.75rem 1rem;
	visibility: hidden;
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--hab-color-dark) 14%, transparent);
	opacity: 0;
	transform: translateY(-0.35rem);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms;
}

.primary-navigation__menu li:hover > .sub-menu,
.primary-navigation__menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.site-header__cta {
	white-space: nowrap;
}

.hab-demo-disclosure {
	position: relative;
	z-index: 20;
	inline-size: min(calc(100% - (2 * var(--hab-gutter))), var(--hab-wide-size));
	padding: 0.875rem 1.125rem;
	margin-block: 1.25rem;
	margin-inline: auto;
	border: 1px solid rgba(20, 64, 84, 0.12);
	border-radius: 0.5rem;
	background: #eaf3f7;
	color: var(--hab-color-dark);
}

.hab-demo-disclosure__inner {
	display: flex;
	align-items: baseline;
	inline-size: 100%;
	gap: 0.75rem 1.25rem;
}

.hab-demo-disclosure__title {
	flex: 0 0 auto;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.hab-demo-disclosure p {
	max-inline-size: 70rem;
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.55;
}

.site-main {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	min-block-size: 40vh;
	padding-block: var(--hab-section-space);
	margin-inline: auto;
}

.site-main--front,
.front-page-content,
.front-page-content__blocks {
	inline-size: 100%;
	max-inline-size: none;
	padding: 0;
	margin: 0;
}

.front-page-content__blocks > .alignfull {
	inline-size: 100%;
	margin-inline: 0;
}

.hab-hero {
	position: relative;
	isolation: isolate;
	min-block-size: 42rem;
	min-block-size: clamp(42rem, 100svh, 58rem);
	padding-block: calc(var(--hab-header-height) + clamp(3rem, 8vh, 6rem)) clamp(4rem, 10vh, 7rem);
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-hero::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(to bottom, color-mix(in srgb, var(--hab-color-dark) 38%, transparent), color-mix(in srgb, var(--hab-color-dark) 65%, transparent));
	content: "";
	pointer-events: none;
}

.hab-hero .wp-block-cover__background {
	z-index: 1;
}

.hab-hero .wp-block-cover__image-background {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-hero--configured {
	overflow: hidden;
}

.hab-hero--configured .hab-hero__poster,
.hab-hero--configured .hab-hero__video {
	position: absolute;
	z-index: 0;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
}

.hab-hero--configured .hab-hero__poster {
	object-fit: cover;
	object-position: var(--hab-hero-position, center center);
	opacity: 1;
	transition: opacity 350ms ease;
}

.hab-hero__poster--fallback {
	background:
		radial-gradient(circle at 70% 25%, rgba(229, 166, 64, 0.28), transparent 36%),
		var(--hab-color-dark);
}

.hab-hero--configured .hab-hero__video {
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 350ms ease;
}

.hab-hero__video iframe {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	max-inline-size: none;
	border: 0;
	outline: 0;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

[dir="rtl"] .hab-hero__video iframe {
	transform: translate(50%, -50%);
}

.hab-hero--configured .hab-hero__overlay {
	background: color-mix(in srgb, var(--hab-color-dark) var(--hab-hero-overlay, 40%), transparent);
}

.hab-hero--state-playing .hab-hero__poster {
	opacity: 0;
}

.hab-hero--state-playing .hab-hero__video {
	opacity: 1;
}

.hab-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	inline-size: 100%;
}

.hab-hero__content {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	margin-inline: auto;
}

.front-page-content .hab-hero__content > * {
	max-inline-size: 48rem;
	margin-inline: 0;
}

.hab-hero .hab-eyebrow {
	color: var(--hab-color-gold);
}

.hab-hero__title {
	margin-block: 0;
	color: var(--hab-color-light);
	font-size: var(--wp--preset--font-size--display);
	text-wrap: balance;
}

.hab-hero__copy {
	max-inline-size: 38rem;
	margin-block: 1.5rem 0;
	color: color-mix(in srgb, var(--hab-color-light) 88%, transparent);
	font-size: var(--wp--preset--font-size--body-large);
	line-height: 1.6;
}

.hab-hero__actions {
	gap: 0.75rem;
	margin-block-start: 2rem;
}

.hab-trust-strip {
	padding-block: clamp(1.5rem, 4vw, 2.25rem);
	background: var(--hab-color-sand);
	color: var(--hab-color-dark);
}

.hab-trust-strip__items {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	gap: 0;
	margin-block: 0;
	margin-inline: auto;
}

.hab-trust-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: center;
}

.hab-trust-item::before {
	inline-size: 0.45rem;
	block-size: 0.45rem;
	border-radius: 50%;
	background: var(--hab-color-terracotta);
	content: "";
	flex: 0 0 auto;
}

.hab-featured-flights {
	background: var(--hab-color-light);
}

.hab-flight-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--hab-card-gap);
}

.hab-flight-grid--count-1 {
	grid-template-columns: minmax(0, 28rem);
	justify-content: center;
}

.hab-flight-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-inline-size: 56rem;
	margin-inline: auto;
}

.hab-flight-card {
	display: flex;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-light);
	box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--hab-color-dark) 7%, transparent);
	flex-direction: column;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.hab-flight-card:hover,
.hab-flight-card:focus-within {
	border-color: color-mix(in srgb, var(--hab-color-gold) 65%, var(--hab-color-dark));
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--hab-color-dark) 11%, transparent);
	transform: translateY(-0.2rem);
}

.hab-flight-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--hab-color-sand);
}

.hab-flight-card__image {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}

.hab-flight-card:hover .hab-flight-card__image {
	transform: scale(1.025);
}

.hab-flight-card__body {
	display: flex;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	flex: 1;
	flex-direction: column;
}

.hab-badge {
	align-self: flex-start;
	padding: 0.3rem 0.55rem;
	margin: 0 0 1rem;
	border: 1px solid color-mix(in srgb, var(--hab-color-terracotta) 40%, transparent);
	border-radius: var(--hab-radius-small);
	color: var(--hab-color-dark);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.hab-flight-card__title {
	margin-block: 0 0.75rem;
	font-size: clamp(1.65rem, 3vw, 2.15rem);
}

.hab-flight-card__title a {
	color: inherit;
	text-decoration: none;
}

.hab-flight-card__excerpt {
	margin-block: 0 1.25rem;
	color: var(--hab-color-muted);
}

.hab-metadata-row {
	display: grid;
	gap: 0.5rem;
	padding: 0;
	margin: 0 0 1.5rem;
	color: var(--hab-color-muted);
	font-size: var(--wp--preset--font-size--small);
	list-style: none;
}

.hab-metadata-row li {
	display: flex;
	align-items: baseline;
	gap: 0.55rem;
}

.hab-metadata-row li::before {
	inline-size: 0.35rem;
	block-size: 0.35rem;
	border-radius: 50%;
	background: var(--hab-color-gold);
	content: "";
	flex: 0 0 auto;
}

.hab-flight-card__footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	padding-block-start: 1.25rem;
	margin-block-start: auto;
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 10%, transparent);
}

.hab-price {
	margin: 0;
	line-height: 1.25;
}

.hab-price > span {
	display: block;
	color: var(--hab-color-muted);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hab-price strong {
	font-family: var(--hab-font-serif);
	font-size: 1.45rem;
	font-weight: 600;
}

.hab-price small {
	color: var(--hab-color-muted);
	font-size: 0.75rem;
}

.hab-editor-placeholder {
	padding: 2rem;
	border: 1px dashed currentColor;
	text-align: center;
}

.hab-luxor-perspective {
	background: var(--hab-color-light);
}

.hab-editorial-split,
.hab-journey-section__inner,
.hab-private-flight__inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	margin-inline: auto;
}

.hab-editorial-split {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(20rem, 0.8fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
}

.hab-editorial-split__content {
	grid-column: 2;
	grid-row: 1;
}

.hab-editorial-split__content > *,
.hab-private-flight__content > * {
	margin-inline: 0;
}

.hab-editorial-split__title,
.hab-private-flight__title {
	margin-block: 0;
	text-wrap: balance;
}

.hab-section-copy {
	margin-block: 1.5rem 0;
	color: var(--hab-color-muted);
	font-size: var(--wp--preset--font-size--body-large);
}

.hab-editorial-split__media {
	grid-column: 1;
	grid-row: 1;
	min-inline-size: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-sand);
}

.hab-editorial-split__media > .wp-block-image,
.hab-private-flight__media > .wp-block-image {
	inline-size: 100%;
	block-size: 100%;
	margin: 0;
}

.hab-editorial-image img,
.hab-private-flight__image img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-context-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1rem;
	padding: 0;
	margin-block: 2rem 0;
	list-style: none;
}

.hab-context-list li {
	position: relative;
	padding-inline-start: 1rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.hab-context-list li::before {
	position: absolute;
	inset-block-start: 0.68em;
	inset-inline-start: 0;
	inline-size: 0.4rem;
	block-size: 0.4rem;
	border-radius: 50%;
	background: var(--hab-color-terracotta);
	content: "";
}

.hab-journey-section {
	background: var(--hab-color-sand);
}

.hab-section-heading--centered {
	margin-inline: auto;
	text-align: center;
}

.hab-section-heading--centered .hab-eyebrow {
	text-align: center;
}

.hab-journey {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(1rem, 3vw, 2rem);
	padding: 0;
	margin: 0;
	counter-reset: hab-journey;
	list-style: none;
}

.hab-journey::before {
	position: absolute;
	inset-block-start: 1.5rem;
	inset-inline: 5% 5%;
	block-size: 1px;
	background: color-mix(in srgb, var(--hab-color-dark) 22%, transparent);
	content: "";
}

.hab-journey li {
	position: relative;
	z-index: 1;
	padding-block-start: 4.25rem;
	color: var(--hab-color-muted);
	counter-increment: hab-journey;
	font-size: var(--wp--preset--font-size--small);
}

.hab-journey li::before {
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 3rem;
	block-size: 3rem;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
	border-radius: 50%;
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
	content: counter(hab-journey, decimal-leading-zero);
	font-family: var(--hab-font-serif);
	font-size: 1.1rem;
	font-weight: 600;
}

.hab-journey strong {
	display: inline-block;
	margin-block-end: 0.6rem;
	color: var(--hab-color-dark);
	font-family: var(--hab-font-serif);
	font-size: 1.3rem;
	font-weight: 600;
	line-height: 1.15;
}

.hab-private-flight {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-private-flight__inner {
	display: grid;
	grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 1.2fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 7rem);
}

.hab-private-flight .hab-eyebrow {
	color: var(--hab-color-gold);
}

.hab-private-flight__title {
	color: var(--hab-color-light);
}

.hab-private-flight .hab-section-copy {
	color: color-mix(in srgb, var(--hab-color-light) 82%, transparent);
}

.hab-private-flight .wp-block-buttons {
	margin-block-start: 2rem;
}

.hab-private-flight__media {
	min-inline-size: 0;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	border-radius: var(--hab-radius-card);
	background: color-mix(in srgb, var(--hab-color-sand) 24%, var(--hab-color-dark));
}

.hab-safety {
	background: var(--hab-color-light);
}

.hab-safety__inner,
.hab-pickup__inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	margin-inline: auto;
}

.hab-safety__inner {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	align-items: start;
	gap: clamp(2.5rem, 7vw, 7rem);
}

.hab-safety__introduction > * {
	margin-inline: 0;
}

.hab-safety__introduction h2 {
	margin-block: 0;
	text-wrap: balance;
}

.hab-safety-principles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
}

.hab-safety-principle {
	min-inline-size: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-block-end: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
}

.hab-safety-principle:nth-child(odd) {
	border-inline-end: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
}

.hab-safety-principle > * {
	margin-inline: 0;
}

.hab-safety-principle h3 {
	margin-block: 0 0.65rem;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
}

.hab-safety-principle p {
	margin-block: 0;
	color: var(--hab-color-muted);
}

.hab-featured-reviews {
	background: var(--hab-color-sand);
}

.hab-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--hab-card-gap);
}

.hab-review-grid--count-1 {
	grid-template-columns: minmax(0, 28rem);
	justify-content: center;
}

.hab-review-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-inline-size: 56rem;
	margin-inline: auto;
}

.hab-review-card {
	display: flex;
	min-inline-size: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-light);
	box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--hab-color-dark) 6%, transparent);
	flex-direction: column;
}

.hab-review-card__rating {
	margin-block: 0 1.25rem;
	color: var(--hab-color-terracotta);
	font-size: 1.05rem;
	letter-spacing: 0.12em;
	line-height: 1;
}

.hab-review-card__content {
	color: var(--hab-color-dark);
	font-family: var(--hab-font-serif);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	line-height: 1.45;
}

.hab-review-card__content > :first-child {
	margin-block-start: 0;
}

.hab-review-card__content > :last-child {
	margin-block-end: 0;
}

.hab-review-card__footer {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding-block-start: 1.25rem;
	margin-block-start: auto;
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 10%, transparent);
}

.hab-review-card__guest {
	display: grid;
	margin: 0;
	line-height: 1.4;
}

.hab-review-card__guest strong {
	font-size: var(--wp--preset--font-size--small);
}

.hab-review-card__guest span,
.hab-review-card__flight {
	color: var(--hab-color-muted);
	font-size: 0.78rem;
}

.hab-review-card__flight {
	max-inline-size: 9rem;
	text-align: end;
}

.hab-pickup {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-pickup .hab-eyebrow {
	color: var(--hab-color-gold);
}

.hab-pickup .hab-section-copy {
	color: color-mix(in srgb, var(--hab-color-light) 82%, transparent);
}

.hab-pickup-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--hab-card-gap);
	margin-block: 0;
}

.hab-information-step {
	min-inline-size: 0;
	padding: clamp(1.5rem, 3vw, 2rem);
	border: 1px solid color-mix(in srgb, var(--hab-color-light) 20%, transparent);
	border-radius: var(--hab-radius-card);
	background: color-mix(in srgb, var(--hab-color-light) 5%, transparent);
}

.hab-information-step__number {
	margin-block: 0 2rem;
	color: var(--hab-color-gold);
	font-family: var(--hab-font-serif);
	font-size: 1.5rem;
	line-height: 1;
}

.hab-information-step h3 {
	margin-block: 0 0.75rem;
	color: var(--hab-color-light);
	font-size: clamp(1.4rem, 2.2vw, 1.8rem);
}

.hab-information-step > p:last-child {
	margin-block: 0;
	color: color-mix(in srgb, var(--hab-color-light) 78%, transparent);
}

.hab-featured-faqs {
	background: var(--hab-color-light);
}

.hab-faq-list {
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
}

.hab-faq-item {
	border-block-end: 1px solid color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
}

.hab-faq-item__heading {
	margin: 0;
	font-family: var(--hab-font-sans);
}

.hab-faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	inline-size: 100%;
	padding-block: 1.25rem;
	padding-inline: 0;
	border: 0;
	background: transparent;
	color: var(--hab-color-dark);
	font-family: var(--hab-font-sans);
	font-size: clamp(1rem, 2vw, 1.15rem);
	font-weight: 700;
	line-height: 1.4;
	text-align: start;
	cursor: pointer;
}

.hab-faq-item__question > span:first-child {
	padding-inline-end: 1.25rem;
}

.hab-faq-item__indicator {
	position: relative;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	flex: 0 0 auto;
}

.hab-faq-item__indicator::before,
.hab-faq-item__indicator::after {
	position: absolute;
	inset-block-start: calc(50% - 1px);
	inset-inline-start: 0;
	inline-size: 100%;
	block-size: 2px;
	background: currentColor;
	content: "";
}

.hab-faq-item__indicator::after {
	transform: rotate(90deg);
}

.hab-faq-item__question[aria-expanded="true"] .hab-faq-item__indicator::after {
	transform: rotate(0);
}

.hab-faq-item__answer {
	padding-block: 0 1.5rem;
	color: var(--hab-color-muted);
}

.hab-faq-item__answer > :first-child {
	margin-block-start: 0;
}

.hab-faq-item__answer > :last-child {
	margin-block-end: 0;
}

.hab-luxor-guide {
	background: var(--hab-color-sand);
}

.hab-luxor-guide__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	align-items: center;
	inline-size: min(100% - (2 * var(--hab-gutter)), var(--hab-wide-size));
	gap: clamp(2.5rem, 7vw, 7rem);
	margin-inline: auto;
}

.hab-luxor-guide__media {
	min-inline-size: 0;
	aspect-ratio: 5 / 4;
	overflow: hidden;
	border-radius: var(--hab-radius-card);
	background: color-mix(in srgb, var(--hab-color-light) 45%, var(--hab-color-sand));
}

.hab-luxor-guide__media > .wp-block-image {
	inline-size: 100%;
	block-size: 100%;
	margin: 0;
}

.hab-luxor-guide__image img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-luxor-guide__content > * {
	margin-inline: 0;
}

.hab-luxor-guide__content h2 {
	margin-block: 0;
	text-wrap: balance;
}

.hab-luxor-guide__content .wp-block-buttons {
	margin-block-start: 2rem;
}

.hab-latest-guides {
	background: var(--hab-color-light);
}

.hab-guide-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--hab-card-gap);
}

.hab-guide-grid--count-1 {
	grid-template-columns: minmax(0, 28rem);
	justify-content: center;
}

.hab-guide-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-inline-size: 56rem;
	margin-inline: auto;
}

.hab-guide-card {
	display: flex;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-light);
	box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--hab-color-dark) 6%, transparent);
	flex-direction: column;
}

.hab-guide-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: var(--hab-color-sand);
}

.hab-guide-card__image {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-guide-card__body {
	display: flex;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	flex: 1;
	flex-direction: column;
}

.hab-guide-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.85rem;
	margin-block-end: 1rem;
	color: var(--hab-color-muted);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.hab-guide-card__title {
	margin-block: 0 0.85rem;
	font-size: clamp(1.55rem, 2.5vw, 1.95rem);
}

.hab-guide-card__title a {
	color: inherit;
	text-decoration: none;
}

.hab-guide-card__excerpt {
	margin-block: 0 1.5rem;
	color: var(--hab-color-muted);
}

.hab-guide-card__link {
	margin-block: auto 0;
}

.hab-latest-guides__more {
	display: flex;
	justify-content: flex-end;
	margin-block: 2rem 0;
}

/* Configurable Guide archive Hero; the article listing remains a separate surface. */
.site-main--guide-archive {
	padding-block: clamp(1.5rem, 3vw, 2.5rem) 0;
}

.hab-guide-archive-page {
	max-inline-size: none;
}

.hab-guide-archive-hero {
	display: flex;
	align-items: center;
	min-block-size: clamp(26.25rem, 36vw, 30rem);
	overflow: hidden;
	border: 1px solid rgba(30, 45, 55, 0.08);
	border-radius: 0.75rem;
	background:
		radial-gradient(circle at 82% 20%, rgba(229, 166, 64, 0.18), transparent 34%),
		linear-gradient(145deg, #f2e3c8, var(--hab-color-light));
	color: var(--hab-color-dark);
}

.hab-guide-archive-hero__inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), 64rem);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin-inline: auto;
}

.hab-guide-archive-hero__title {
	max-inline-size: 54rem;
	margin-block: 0;
	font-size: clamp(3.5rem, 7vw, 6rem);
	letter-spacing: -0.035em;
	line-height: 0.98;
	text-wrap: balance;
}

.hab-guide-archive-hero__introduction {
	max-inline-size: 46rem;
	margin-block-start: 1.5rem;
}

.hab-guide-archive-hero__introduction > * {
	margin: 0;
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
	line-height: 1.7;
}

.hab-guide-archive-hero--image {
	text-shadow: 0 0.125rem 1rem rgba(12, 29, 36, 0.3);
}

.hab-guide-archive-hero--image .hab-guide-archive-hero__introduction,
.hab-guide-archive-hero--image .hab-guide-archive-hero__introduction > * {
	color: color-mix(in srgb, var(--hab-color-light) 92%, transparent);
}

.hab-guide-archive-page__content {
	inline-size: 100%;
}

/* Wide editorial treatment for the WordPress-native Luxor Guide listing. */
.hab-guide-archive {
	padding-block: clamp(2.5rem, 5vw, 4.5rem);
}

.hab-guide-archive .hab-container {
	inline-size: min(100%, 76rem);
}

.hab-guide-archive .hab-section-heading {
	max-inline-size: 48rem;
	margin-block-end: clamp(2rem, 4vw, 3rem);
}

.hab-guide-archive .hab-guide-grid {
	gap: clamp(1.5rem, 2.25vw, 1.875rem);
}

.hab-guide-archive .hab-guide-card {
	border: 1px solid rgba(30, 45, 55, 0.1);
	border-radius: 0.75rem;
	background: #fffdf9;
	box-shadow: 0 0.5rem 1.5rem rgba(30, 45, 55, 0.06);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.hab-guide-archive .hab-guide-card:hover,
.hab-guide-archive .hab-guide-card:focus-within {
	border-color: rgba(30, 45, 55, 0.2);
	box-shadow: 0 0.85rem 2rem rgba(30, 45, 55, 0.1);
	transform: translateY(-0.125rem);
}

.hab-guide-archive .hab-guide-card__media {
	aspect-ratio: 16 / 9;
}

.hab-guide-archive .hab-guide-card__body {
	padding: clamp(1.5rem, 2.5vw, 1.75rem);
}

.hab-guide-archive .hab-guide-card__meta {
	display: grid;
	gap: 0.2rem;
	margin-block-end: 1rem;
	font-size: 0.76rem;
	line-height: 1.5;
}

.hab-guide-archive .hab-guide-card__category {
	color: var(--hab-color-terracotta);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.hab-guide-archive .hab-guide-card__title {
	font-size: clamp(1.65rem, 2vw, 2rem);
	line-height: 1.08;
}

.hab-guide-archive .hab-guide-card__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.hab-final-cta {
	background: var(--hab-color-gold);
	color: var(--hab-color-dark);
}

.hab-final-cta__inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), 64rem);
	padding-block: clamp(1rem, 3vw, 2rem);
	margin-inline: auto;
	text-align: center;
}

.hab-final-cta__inner > * {
	margin-inline: auto;
}

.hab-final-cta__inner h2 {
	max-inline-size: 52rem;
	margin-block: 0;
	font-size: clamp(2.75rem, 6vw, 5rem);
	text-wrap: balance;
}

.hab-final-cta .hab-section-copy {
	max-inline-size: 38rem;
	color: color-mix(in srgb, var(--hab-color-dark) 78%, transparent);
}

.hab-final-cta__actions {
	justify-content: center;
	margin-block-start: 2rem;
}

.hab-final-cta .hab-button--primary.wp-block-button .wp-block-button__link {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-site-footer {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-site-footer__main {
	display: grid;
	grid-template-columns: minmax(14rem, 1.3fr) repeat(3, minmax(9rem, 1fr));
	align-items: start;
	gap: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.hab-site-footer__brand,
.hab-site-footer__group {
	min-inline-size: 0;
}

.hab-site-footer .custom-logo {
	max-inline-size: min(12rem, 100%);
}

.hab-site-footer__site-title {
	margin: 0;
	font-family: var(--hab-font-serif);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	font-weight: 600;
	line-height: 1.1;
}

.hab-site-footer__site-title a,
.hab-site-footer a {
	color: inherit;
}

.hab-site-footer__tagline {
	max-inline-size: 20rem;
	margin-block: 1rem 0;
	color: color-mix(in srgb, var(--hab-color-light) 72%, transparent);
}

.hab-site-footer__group h2 {
	margin-block: 0 1rem;
	color: var(--hab-color-gold);
	font-family: var(--hab-font-sans);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.3;
	text-transform: uppercase;
}

.footer-navigation__menu,
.hab-site-footer__contact-list,
.hab-site-footer__social ul {
	display: grid;
	gap: 0.35rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-navigation__menu a,
.hab-site-footer__contact-list a,
.hab-site-footer__social a {
	display: inline-block;
	max-inline-size: 100%;
	padding-block: 0.35rem;
	overflow-wrap: anywhere;
	text-decoration-color: color-mix(in srgb, var(--hab-color-light) 40%, transparent);
}

.hab-site-footer__contact-list a > span {
	display: block;
}

.hab-site-footer__contact-list a > span + span {
	color: color-mix(in srgb, var(--hab-color-light) 72%, transparent);
	font-size: 0.82rem;
}

.hab-site-footer__social {
	margin-block-start: 1.25rem;
}

.hab-site-footer__social ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.hab-site-footer__social a {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.hab-site-footer__bottom {
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-light) 16%, transparent);
}

.hab-site-footer__bottom p {
	padding-block: 1.25rem;
	margin: 0;
	color: color-mix(in srgb, var(--hab-color-light) 65%, transparent);
	font-size: 0.78rem;
}

.hab-flights-archive,
.hab-single-flight {
	inline-size: 100%;
	max-inline-size: none;
	padding: 0;
	margin: 0;
}

.hab-flights-archive__hero {
	padding-block: clamp(5rem, 10vw, 8rem);
	background: linear-gradient(135deg, var(--hab-color-dark), color-mix(in srgb, var(--hab-color-dark) 82%, var(--hab-color-accent)));
	color: var(--hab-color-light);
	text-align: center;
}

.hab-flights-archive__hero .hab-eyebrow {
	color: var(--hab-color-accent);
}

.hab-flights-archive__hero h1 {
	margin-block: 0 1.25rem;
}

.hab-flights-archive__hero .hab-section-copy {
	max-inline-size: 42rem;
	margin-inline: auto;
	color: color-mix(in srgb, var(--hab-color-light) 82%, transparent);
}

.hab-flights-archive__results {
	background: color-mix(in srgb, var(--hab-color-light) 88%, var(--hab-color-sand));
}

.hab-flights-empty {
	padding: clamp(2rem, 5vw, 4rem);
	margin-inline: auto;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-light);
	text-align: center;
}

.hab-flights-empty h2,
.hab-flights-empty p {
	margin-block-start: 0;
}

.hab-flights-archive .navigation.pagination {
	margin-block-start: clamp(2.5rem, 5vw, 4rem);
}

.hab-flights-archive .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.hab-flights-archive .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	padding-inline: 0.75rem;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 16%, transparent);
	border-radius: var(--hab-radius-small);
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
	text-decoration: none;
}

.hab-flights-archive .page-numbers.current,
.hab-flights-archive .page-numbers:hover {
	border-color: var(--hab-color-accent);
	background: var(--hab-color-accent);
}

.hab-flight-hero {
	padding-block: clamp(2rem, 5vw, 4rem) clamp(4rem, 8vw, 7rem);
	background: color-mix(in srgb, var(--hab-color-light) 72%, var(--hab-color-sand));
}

.hab-breadcrumb {
	margin-block-end: clamp(2rem, 4vw, 3.5rem);
	font-size: var(--wp--preset--font-size--small);
}

.hab-breadcrumb ol {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hab-breadcrumb li:not(:last-child)::after {
	margin-inline-start: 0.45rem;
	content: "→";
}

[dir="rtl"] .hab-breadcrumb li:not(:last-child)::after {
	display: inline-block;
	transform: scaleX(-1);
}

.hab-breadcrumb [aria-current="page"] {
	color: var(--hab-color-muted);
}

.hab-flight-hero__grid {
	display: grid;
	align-items: center;
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
	gap: clamp(2rem, 6vw, 5rem);
}

.hab-flight-hero__content,
.hab-flight-hero__media {
	min-inline-size: 0;
}

.hab-flight-hero .hab-badge {
	display: inline-block;
	inline-size: fit-content;
}

.hab-flight-hero__content h1 {
	margin-block: 0 1.25rem;
}

.hab-flight-hero__summary {
	max-inline-size: 42rem;
	margin-block: 0 2rem;
	color: var(--hab-color-muted);
	font-size: var(--wp--preset--font-size--body-large);
}

.hab-flight-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin-block: 0 2rem;
	border-block: 1px solid color-mix(in srgb, var(--hab-color-dark) 14%, transparent);
	list-style: none;
}

.hab-flight-facts li {
	display: grid;
	gap: 0.15rem;
	padding-block: 1rem;
	padding-inline-end: 1rem;
}

.hab-flight-facts span {
	color: var(--hab-color-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hab-flight-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
}

.hab-flight-hero__media {
	overflow: hidden;
	margin: 0;
	border-radius: var(--hab-radius-card);
	box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
	aspect-ratio: 4 / 5;
}

.hab-flight-hero__image {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-flight-section h2,
.hab-flight-packages h2,
.hab-flight-gallery-section h2,
.hab-flight-reviews h2,
.hab-flight-faqs h2 {
	margin-block-start: 0;
}

.hab-flight-prose > :first-child {
	margin-block-start: 0;
}

.hab-flight-prose > :last-child {
	margin-block-end: 0;
}

.hab-flight-section--sand,
.hab-flight-gallery-section,
.hab-flight-faqs {
	background: var(--hab-color-sand);
}

.hab-flight-section--dark {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-flight-highlight-grid,
.hab-flight-check-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hab-flight-highlight-grid li,
.hab-flight-check-list li {
	position: relative;
	padding-block: 1rem;
	padding-inline: 2.5rem 1rem;
	border-radius: var(--hab-radius-small);
	background: var(--hab-color-light);
}

.hab-flight-highlight-grid li::before,
.hab-flight-check-list li::before {
	position: absolute;
	inset-block-start: 1.05rem;
	inset-inline-start: 1rem;
	color: var(--hab-color-accent-secondary);
	content: "✓";
	font-weight: 700;
}

.hab-flight-check-list--excluded li::before {
	content: "–";
}

.hab-flight-list-columns,
.hab-flight-information-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 6vw, 5rem);
}

.hab-flight-information-grid h2,
.hab-flight-information-grid h3 {
	margin-block-start: 0;
}

.hab-flight-information-grid p {
	white-space: normal;
}

.hab-flight-packages {
	background: color-mix(in srgb, var(--hab-color-light) 88%, var(--hab-color-sand));
}

.hab-package-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--hab-card-gap);
}

.hab-package-grid--count-1 {
	grid-template-columns: minmax(0, 28rem);
	justify-content: center;
}

.hab-package-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-inline-size: 58rem;
	margin-inline: auto;
}

.hab-package-card {
	display: flex;
	min-inline-size: 0;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 14%, transparent);
	border-radius: var(--hab-radius-card);
	background: var(--hab-color-light);
	box-shadow: 0 0.5rem 1.5rem color-mix(in srgb, var(--hab-color-dark) 6%, transparent);
	flex-direction: column;
}

.hab-package-card--featured {
	border-color: var(--hab-color-accent-secondary);
	box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--hab-color-accent-secondary) 18%, transparent);
}

.hab-package-card h3 {
	margin-block: 0 0.75rem;
	font-size: var(--wp--preset--font-size--h-3);
}

.hab-package-card__description {
	margin-block: 0 1.5rem;
	color: var(--hab-color-muted);
}

.hab-package-card__price {
	display: grid;
	margin-block: auto 1.5rem;
}

.hab-package-card__price del {
	color: var(--hab-color-muted);
	font-size: var(--wp--preset--font-size--small);
}

.hab-package-card__price strong {
	font-family: var(--hab-font-serif);
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.1;
}

.hab-package-card__price span {
	color: var(--hab-color-muted);
	font-size: var(--wp--preset--font-size--small);
}

.hab-package-card .hab-button {
	inline-size: 100%;
}

.hab-flight-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--hab-card-gap);
}

.hab-flight-gallery--count-1 {
	grid-template-columns: minmax(0, 48rem);
	justify-content: center;
}

.hab-flight-gallery__item {
	overflow: hidden;
	margin: 0;
	border-radius: var(--hab-radius-card);
	aspect-ratio: 4 / 3;
}

.hab-flight-gallery__item--lead {
	grid-row: span 2;
	aspect-ratio: auto;
}

.hab-flight-gallery__image {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-flight-reviews {
	background: var(--hab-color-light);
}

@media (max-width: 56rem) {
	.hab-flight-hero__grid,
	.hab-flight-list-columns,
	.hab-flight-information-grid {
		grid-template-columns: 1fr;
	}

	.hab-flight-hero__media {
		max-block-size: 36rem;
		aspect-ratio: 16 / 10;
	}

	.hab-package-grid,
	.hab-package-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hab-package-grid--count-1 {
		grid-template-columns: minmax(0, 28rem);
	}
}

@media (max-width: 40rem) {
	.hab-flight-facts,
	.hab-flight-highlight-grid,
	.hab-flight-check-list,
	.hab-package-grid,
	.hab-package-grid--count-1,
	.hab-package-grid--count-2,
	.hab-flight-gallery {
		grid-template-columns: 1fr;
	}

	.hab-flight-hero__media,
	.hab-flight-gallery__item--lead {
		grid-row: auto;
		aspect-ratio: 4 / 3;
	}

	.hab-flight-hero__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		inline-size: 100%;
	}

	.hab-flight-hero__actions .hab-button {
		inline-size: 100%;
	}
}

.page-header,
.no-results,
.error-404,
.navigation {
	inline-size: min(100%, var(--hab-content-size));
	margin-inline: auto;
}

.entry {
	inline-size: 100%;
	max-inline-size: var(--hab-wide-size);
	margin-inline: auto;
}

.entry + .entry {
	margin-block-start: var(--hab-section-space);
}

.entry__header,
.entry__summary,
.entry > .entry__media,
.entry__content > :where(:not(.alignwide):not(.alignfull)) {
	inline-size: min(100%, var(--hab-content-size));
	margin-inline: auto;
}

.entry__title {
	line-height: 1.05;
}

.entry__title a {
	color: inherit;
}

.entry__media {
	display: block;
	margin-block: 1.5rem;
}

.entry__content > :where(*) {
	max-inline-size: 100%;
}

.entry__content > .alignwide {
	inline-size: 100%;
	margin-inline: auto;
}

.entry__content > .alignfull {
	inline-size: calc(100% + (2 * var(--hab-gutter)));
	max-inline-size: none;
	margin-inline: calc(-1 * var(--hab-gutter));
}

[dir="rtl"] .hab-text-link span[aria-hidden="true"] {
	display: inline-block;
	transform: scaleX(-1);
}

/* Premium, WordPress-native standard Post presentation. */
.site-main--single-guide {
	inline-size: 100%;
	max-inline-size: none;
	padding: 0;
}

.hab-guide-article {
	inline-size: 100%;
	max-inline-size: none;
}

.hab-guide-article__hero {
	background:
		radial-gradient(circle at 82% 18%, rgba(229, 166, 64, 0.2), transparent 32%),
		linear-gradient(145deg, #f2e3c8, var(--hab-color-light));
	color: var(--hab-color-dark);
}

.hab-guide-article__hero-inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), 76rem);
	padding-block: clamp(3.5rem, 8vw, 7rem) clamp(5rem, 10vw, 8rem);
	margin-inline: auto;
}

.hab-guide-breadcrumb {
	margin-block-end: clamp(2.5rem, 5vw, 4.5rem);
	font-size: 0.82rem;
}

.hab-guide-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.65rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hab-guide-breadcrumb li {
	display: inline-flex;
	align-items: baseline;
	gap: 0.65rem;
	min-inline-size: 0;
}

.hab-guide-breadcrumb li:not(:last-child)::after {
	color: var(--hab-color-muted);
	content: "/";
}

.hab-guide-breadcrumb li[aria-current="page"] {
	color: var(--hab-color-muted);
}

.hab-guide-article__category {
	color: var(--hab-color-terracotta);
}

.hab-guide-article__title {
	max-inline-size: 68rem;
	margin-block: 0;
	font-size: clamp(3rem, 6.5vw, 5.75rem);
	letter-spacing: -0.035em;
	line-height: 0.98;
	text-wrap: balance;
}

.hab-guide-article__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	margin-block-start: 2rem;
	color: var(--hab-color-muted);
	font-size: 0.875rem;
	font-weight: 600;
}

.hab-guide-article__featured {
	position: relative;
	inline-size: min(100% - (2 * var(--hab-gutter)), 76rem);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	margin: clamp(-4rem, -5vw, -2.5rem) auto 0;
	border: 1px solid rgba(30, 45, 55, 0.1);
	border-radius: 0.75rem;
	background: var(--hab-color-sand);
	box-shadow: 0 1.25rem 3rem rgba(30, 45, 55, 0.12);
}

.hab-guide-article__featured-image {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.hab-guide-article__content {
	inline-size: min(100% - (2 * var(--hab-gutter)), 76rem);
	padding: clamp(2.5rem, 3.5vw, 3rem) clamp(3rem, 5vw, 4rem);
	margin: clamp(2rem, 4vw, 3.5rem) auto;
	border: 1px solid #eadfce;
	border-radius: 0.75rem;
	background: #fffdf9;
	box-shadow: 0 1rem 2.5rem rgba(30, 45, 55, 0.035);
	color: var(--hab-color-dark);
	font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
	line-height: 1.8;
}

.hab-guide-article__content > :where(:not(.alignwide):not(.alignfull)) {
	inline-size: 100%;
	max-inline-size: 52rem;
	margin-inline: auto;
}

.hab-guide-article__content > :first-child {
	margin-block-start: 0;
}

.hab-guide-article__content > :last-child {
	margin-block-end: 0;
}

.hab-guide-article__content p,
.hab-guide-article__content ul,
.hab-guide-article__content ol,
.hab-guide-article__content blockquote {
	margin-block: 0 1.4em;
}

.hab-guide-article__content h2 {
	margin-block: 1.75em 0.6em;
	font-size: clamp(2.1rem, 4vw, 3.25rem);
	line-height: 1.05;
	text-wrap: balance;
}

.hab-guide-article__content h3 {
	margin-block: 1.5em 0.55em;
	font-size: clamp(1.55rem, 2.75vw, 2.15rem);
	line-height: 1.12;
}

.hab-guide-article__content li + li {
	margin-block-start: 0.45em;
}

.hab-guide-article__content blockquote {
	padding: clamp(1.25rem, 3vw, 2rem);
	border-inline-start: 0.25rem solid var(--hab-color-terracotta);
	background: #fff8e9;
	font-family: var(--hab-font-serif);
	font-size: 1.15em;
}

.hab-guide-article__content :where(figure, .wp-block-image) {
	margin-block: 1.875rem;
}

.hab-guide-article__content :where(img, video) {
	display: block;
	max-inline-size: 100%;
	block-size: auto;
	border-radius: 0.625rem;
}

.hab-guide-article__content figcaption {
	margin-block-start: 0.65rem;
	color: var(--hab-color-muted);
	font-size: 0.82rem;
	line-height: 1.5;
	text-align: center;
}

.hab-guide-article__content > .alignwide,
.hab-guide-article__content > .alignfull {
	position: relative;
	inset-inline-start: 50%;
	inline-size: min(76rem, calc(100vw - (2 * var(--hab-gutter))));
	max-inline-size: none;
	margin-inline: 0;
	transform: translateX(-50%);
}

[dir="rtl"] .hab-guide-article__content > .alignwide,
[dir="rtl"] .hab-guide-article__content > .alignfull {
	transform: translateX(50%);
}

.hab-related-guides {
	border-block: 1px solid rgba(30, 45, 55, 0.08);
	background: #f3e7d1;
}

.hab-guide-article__cta {
	background: var(--hab-color-dark);
	color: var(--hab-color-light);
}

.hab-guide-article__cta-inner {
	inline-size: min(100% - (2 * var(--hab-gutter)), 52rem);
	padding-block: clamp(4rem, 8vw, 6rem);
	margin-inline: auto;
	text-align: center;
}

.hab-guide-article__cta h2 {
	margin-block: 0 1rem;
	font-size: clamp(2.25rem, 5vw, 4rem);
	text-wrap: balance;
}

.hab-guide-article__cta p:not(.hab-eyebrow) {
	max-inline-size: 43rem;
	margin: 0 auto;
	color: color-mix(in srgb, var(--hab-color-light) 82%, transparent);
}

.hab-guide-article__cta .hab-eyebrow {
	color: var(--hab-color-gold);
}

.hab-guide-article__cta-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-block-start: 2rem;
}

.hab-guide-article__cta .hab-button--secondary {
	border-color: color-mix(in srgb, var(--hab-color-light) 55%, transparent);
	color: var(--hab-color-light);
}

@media (max-width: 40rem) {
	.hab-guide-article__hero-inner {
		padding-block: 2.5rem 4.5rem;
	}

	.hab-guide-breadcrumb {
		margin-block-end: 2rem;
	}

	.hab-guide-article__title {
		font-size: clamp(2.5rem, 12vw, 3.5rem);
	}

	.hab-guide-article__featured {
		margin-block-start: -2rem;
		border-radius: 0.5rem;
	}

	.hab-guide-article__content {
		padding: 1.25rem 1.375rem;
		margin-block: 1.5rem;
		border-radius: 0.625rem;
	}

	.hab-guide-article__content > .alignwide,
	.hab-guide-article__content > .alignfull {
		inline-size: calc(100vw - (2 * var(--hab-gutter)));
	}

	.hab-guide-article__cta-actions,
	.hab-guide-article__cta-actions .hab-button {
		inline-size: 100%;
	}
}

@media (min-width: 56.01rem) {
	[dir="rtl"] .hab-editorial-split__content {
		grid-column: 1;
	}

	[dir="rtl"] .hab-editorial-split__media {
		grid-column: 2;
	}

	[dir="rtl"] .hab-luxor-guide__media {
		grid-column: 1;
	}

	[dir="rtl"] .hab-luxor-guide__content {
		grid-column: 2;
		grid-row: 1;
	}
}

@media (min-width: 40.01rem) and (max-width: 69.99rem) {
	.hab-guide-article__content {
		padding: 1.875rem 2.25rem;
		margin-block: 2.25rem;
	}

	.hab-guide-archive .hab-guide-grid--count-3 > :last-child:nth-child(odd) {
		inline-size: calc((100% - clamp(1.5rem, 2.25vw, 1.875rem)) / 2);
	}
}

@media (max-width: 69.99rem) {
	.hab-demo-disclosure {
		padding: 0.875rem 1rem;
	}

	.hab-demo-disclosure__inner {
		display: block;
	}

	.hab-demo-disclosure__title {
		display: block;
		margin-block-end: 0.2rem;
	}

	.hab-demo-disclosure p {
		font-size: 0.8rem;
	}

	:root {
		--hab-header-height: 4.75rem;
	}

	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.75rem;
	}

	.site-header.is-scrolled .site-header__inner {
		min-block-size: 4.25rem;
	}

	.site-header__actions {
		position: relative;
		z-index: 2;
	}

	.site-header__cta {
		min-block-size: 2.5rem;
		padding: 0.7rem 0.85rem;
		font-size: 0.75rem;
	}

	.menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		inline-size: 2.75rem;
		block-size: 2.75rem;
		padding: 0;
		border: 1px solid currentColor;
		border-radius: var(--hab-radius-small);
		background: transparent;
		color: inherit;
		cursor: pointer;
	}

	.menu-toggle__lines,
	.menu-toggle__lines::before,
	.menu-toggle__lines::after {
		display: block;
		inline-size: 1.15rem;
		block-size: 0.125rem;
		background: currentColor;
		content: "";
	}

	.menu-toggle__lines {
		position: relative;
	}

	.menu-toggle__lines::before {
		position: absolute;
		inset-block-start: -0.375rem;
	}

	.menu-toggle__lines::after {
		position: absolute;
		inset-block-start: 0.375rem;
	}

	.has-js .primary-navigation {
		display: none;
	}

	.has-js .has-open-navigation .primary-navigation {
		display: block;
	}

	.primary-navigation {
		position: fixed;
		z-index: 3;
		inset-block: var(--hab-admin-offset) 0;
		inset-inline-end: 0;
		inline-size: min(88vw, 25rem);
		overflow-y: auto;
		padding: 1.25rem clamp(1.25rem, 5vw, 2rem) 2rem;
		background: var(--hab-color-light);
		color: var(--hab-color-dark);
		box-shadow: -1rem 0 3rem color-mix(in srgb, var(--hab-color-dark) 18%, transparent);
	}

	.primary-navigation__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding-block-end: 1rem;
		border-block-end: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
		font-family: var(--hab-font-serif);
		font-size: 1.5rem;
		font-weight: 600;
	}

	.primary-navigation__close {
		inline-size: 2.75rem;
		block-size: 2.75rem;
		padding: 0;
		border: 0;
		background: transparent;
		color: inherit;
		font-size: 2rem;
		line-height: 1;
		cursor: pointer;
	}

	.primary-navigation__menu {
		display: grid;
		align-items: stretch;
		gap: 0;
		padding-block-start: 1rem;
	}

	.primary-navigation__menu a {
		display: block;
		padding-block: 0.85rem;
		border-block-end: 1px solid color-mix(in srgb, var(--hab-color-dark) 9%, transparent);
		font-family: var(--hab-font-serif);
		font-size: 1.45rem;
		font-weight: 600;
	}

	.primary-navigation__menu .sub-menu {
		position: static;
		min-inline-size: 0;
		padding: 0 0 0.5rem 1rem;
		visibility: visible;
		background: transparent;
		box-shadow: none;
		opacity: 1;
		transform: none;
	}

	[dir="rtl"] .primary-navigation__menu .sub-menu {
		padding-inline: 1rem 0;
	}

	.has-open-navigation {
		overflow: hidden;
	}

	.has-open-navigation::before {
		position: fixed;
		z-index: 9989;
		inset: 0;
		background: color-mix(in srgb, var(--hab-color-dark) 55%, transparent);
		content: "";
	}

	html:not(.has-js) .site-header__inner {
		grid-template-columns: 1fr;
	}

	html:not(.has-js) .menu-toggle {
		display: none;
	}

	html:not(.has-js) .primary-navigation {
		position: static;
		inline-size: 100%;
		padding: 0;
		background: transparent;
		color: inherit;
		box-shadow: none;
	}

	html:not(.has-js) .primary-navigation__header {
		display: none;
	}

	.hab-flight-grid,
	.hab-flight-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hab-flight-grid--count-1 {
		grid-template-columns: minmax(0, 28rem);
	}

	.hab-review-grid,
	.hab-review-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hab-review-grid--count-1 {
		grid-template-columns: minmax(0, 28rem);
	}

	.hab-flight-grid--count-3-plus > :last-child:nth-child(odd),
	.hab-review-grid--count-3 > :last-child:nth-child(odd),
	.hab-guide-grid--count-3 > :last-child:nth-child(odd) {
		grid-column: 1 / -1;
		inline-size: min(100%, 28rem);
		justify-self: center;
	}

	.hab-guide-grid,
	.hab-guide-grid--count-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hab-guide-grid--count-1 {
		grid-template-columns: minmax(0, 28rem);
	}

	.hab-site-footer__main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hab-trust-strip__items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (max-width: 782px) {
	body.admin-bar {
		--hab-admin-offset: 46px;
	}
}

@media (max-width: 56rem) {
	.hab-editorial-split,
	.hab-private-flight__inner,
	.hab-safety__inner,
	.hab-luxor-guide__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.5rem;
	}

	.hab-luxor-guide__media,
	[dir="rtl"] .hab-luxor-guide__media,
	[dir="rtl"] .hab-luxor-guide__content {
		grid-column: 1;
	}

	.hab-luxor-guide__media {
		grid-row: 1;
		aspect-ratio: 16 / 10;
	}

	.hab-luxor-guide__content,
	[dir="rtl"] .hab-luxor-guide__content {
		grid-row: 2;
	}

	.hab-editorial-split__content,
	.hab-editorial-split__media {
		grid-column: 1;
	}

	.hab-editorial-split__content {
		grid-row: 1;
	}

	.hab-editorial-split__media {
		grid-row: 2;
		aspect-ratio: 16 / 11;
	}

	.hab-journey {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.hab-journey::before {
		inset-block: 1.5rem 2rem;
		inset-inline-start: 1.5rem;
		inset-inline-end: auto;
		inline-size: 1px;
		block-size: auto;
	}

	.hab-journey li {
		min-block-size: 5.5rem;
		padding-block: 0 2rem;
		padding-inline-start: 4.25rem;
	}
}

@media (max-width: 48rem) {
	.hab-hero {
		min-block-size: 36rem;
		min-block-size: clamp(36rem, 82svh, 42rem);
		padding-block-start: calc(var(--hab-header-height) + 2.75rem);
		align-items: flex-end;
	}

	.hab-hero__title {
		font-size: clamp(3rem, 15vw, 4.5rem);
	}

	.hab-hero__copy {
		font-size: 1.0625rem;
	}

	.hab-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hab-hero__actions .wp-block-button,
	.hab-hero__actions .wp-block-button__link {
		inline-size: 100%;
	}

	.hab-flight-grid,
	.hab-flight-grid--count-1,
	.hab-flight-grid--count-2 {
		grid-template-columns: minmax(0, 1fr);
		max-inline-size: 28rem;
		margin-inline: auto;
	}

	.hab-pickup-steps,
	.hab-safety-principles {
		grid-template-columns: minmax(0, 1fr);
	}

	.hab-safety-principle:nth-child(odd) {
		border-inline-end: 0;
	}

	.hab-review-card__footer {
		flex-direction: column;
	}

	.hab-review-card__flight {
		max-inline-size: none;
		text-align: start;
	}

	.hab-trust-strip__items {
		gap: 0.75rem 0;
	}

	.hab-trust-item {
		padding-inline: 0.5rem;
	}

	.hab-flight-card__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.hab-final-cta__actions,
	.hab-final-cta__actions .wp-block-button,
	.hab-final-cta__actions .wp-block-button__link {
		inline-size: 100%;
	}
}

@media (min-width: 40.01rem) and (max-width: 48rem) {
	.hab-flights-archive .hab-flight-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-inline-size: none;
	}

	.hab-flights-archive .hab-flight-grid--count-1 {
		grid-template-columns: minmax(0, 28rem);
		max-inline-size: 28rem;
	}
}

@media (max-width: 40rem) {
	.site-main--guide-archive {
		padding-block-start: 1rem;
	}

	.hab-guide-archive-hero {
		min-block-size: 21rem;
		border-radius: 0.5rem;
	}

	.hab-guide-archive-hero__inner {
		padding-block: 2.5rem;
	}

	.hab-guide-archive-hero__title {
		font-size: clamp(2.75rem, 14vw, 4rem);
	}

	.hab-review-grid,
	.hab-review-grid--count-1,
	.hab-review-grid--count-2 {
		grid-template-columns: minmax(0, 1fr);
		max-inline-size: 28rem;
		margin-inline: auto;
	}

	.hab-review-grid--count-3 > :last-child:nth-child(odd),
	.hab-guide-grid--count-3 > :last-child:nth-child(odd) {
		grid-column: auto;
		inline-size: auto;
	}

	.hab-guide-grid,
	.hab-guide-grid--count-1,
	.hab-guide-grid--count-2 {
		grid-template-columns: minmax(0, 1fr);
		max-inline-size: 28rem;
		margin-inline: auto;
	}

	.hab-site-footer__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}
}

@media (max-width: 30rem) {
	:root {
		--hab-gutter: 1rem;
	}

	.custom-logo {
		max-inline-size: 8rem;
	}

	.site-title {
		font-size: 1.15rem;
	}

	.site-header__cta {
		padding-inline: 0.7rem;
		font-size: 0.7rem;
	}

}

.hab-booking-request {
	background: color-mix(in srgb, var(--hab-color-light) 92%, white);
}

.hab-booking-request .hab-container {
	max-inline-size: 58rem;
}

.hab-demo-notice,
.hab-form-errors,
.hab-booking-result {
	border: 1px solid color-mix(in srgb, var(--hab-color-accent) 55%, transparent);
	border-radius: 0.75rem;
	padding: 1rem 1.25rem;
	background: #fff8df;
}

.hab-form-errors {
	margin-block: 1.5rem;
	border-color: #b42318;
	background: #fff4f2;
}

.hab-form-errors h3 {
	margin-block-start: 0;
}

.hab-booking-result--success {
	padding: clamp(1.5rem, 4vw, 3rem);
	background: white;
	box-shadow: 0 1.25rem 3rem rgb(23 33 38 / 10%);
}

.hab-booking-reference {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem 1rem;
}

.hab-booking-reference span,
.hab-booking-selection span {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.hab-booking-reference strong {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: clamp(1.4rem, 4vw, 2.1rem);
}

.hab-booking-next {
	padding-block-start: 1.25rem;
	margin-block-start: 1.5rem;
	border-block-start: 1px solid rgb(23 33 38 / 12%);
}

.hab-booking-next h3 {
	margin-block: 0 0.75rem;
}

.hab-booking-next ol {
	display: grid;
	gap: 0.5rem;
	padding-inline-start: 1.25rem;
	margin-block: 0 1.25rem;
}

.hab-booking-form {
	display: grid;
	gap: 1.5rem;
	margin-block-start: 2rem;
}

.hab-booking-selection,
.hab-booking-step,
.hab-request-review {
	border: 1px solid rgb(23 33 38 / 14%);
	border-radius: 0.75rem;
	padding: clamp(1rem, 3vw, 1.5rem);
	background: white;
}

.hab-booking-step legend,
.hab-booking-step__label {
	padding-inline: 0.35rem;
	font-weight: 700;
}

.hab-booking-step legend > span,
.hab-booking-step__label > span {
	display: inline-grid;
	place-items: center;
	inline-size: 1.75rem;
	block-size: 1.75rem;
	margin-inline-end: 0.55rem;
	border-radius: 50%;
	background: var(--hab-color-accent);
	color: var(--hab-color-dark);
}

.hab-booking-selection div {
	display: grid;
	gap: 0.3rem;
}

.hab-package-selector legend {
	padding-inline: 0.35rem;
	font-weight: 700;
}

.hab-package-selector__options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.hab-package-choice {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	border: 1px solid rgb(23 33 38 / 18%);
	border-radius: 0.6rem;
	padding: 0.9rem;
	cursor: pointer;
}

.hab-package-choice:has(input:disabled) {
	opacity: 0.58;
	cursor: not-allowed;
}

.hab-package-choice:has(input:checked) {
	border-color: var(--hab-color-accent);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--hab-color-accent) 25%, transparent);
}

.hab-package-choice input {
	margin-block-start: 0.2rem;
}

.hab-package-choice__content,
.hab-package-choice__prices {
	display: grid;
	gap: 0.3rem;
}

.hab-package-choice__heading {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem;
}

.hab-package-choice__heading em {
	border-radius: 999px;
	padding: 0.15rem 0.5rem;
	background: var(--hab-color-accent);
	color: var(--hab-color-dark);
	font-size: 0.7rem;
	font-style: normal;
	text-transform: uppercase;
}

.hab-package-choice--featured {
	border-color: color-mix(in srgb, var(--hab-color-accent) 65%, var(--hab-color-dark));
}

.hab-guest-controls {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.hab-guest-control {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	border: 1px solid rgb(23 33 38 / 14%);
	border-radius: 0.6rem;
	padding: 0.9rem;
}

.hab-counter {
	display: grid;
	grid-template-columns: 2.75rem 3.25rem 2.75rem;
	align-items: center;
}

.hab-counter button {
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	border: 1px solid rgb(23 33 38 / 25%);
	background: var(--hab-color-light);
	color: var(--hab-color-dark);
	font: inherit;
	font-size: 1.25rem;
	font-weight: 700;
	cursor: pointer;
}

.hab-booking-form #hab-adult-count,
.hab-booking-form #hab-child-count {
	inline-size: 3.25rem;
	margin: 0;
	border-radius: 0;
	padding-inline: 0.25rem;
	text-align: center;
}

.hab-counter button:focus-visible {
	position: relative;
	z-index: 1;
	outline: 3px solid color-mix(in srgb, var(--hab-color-accent) 55%, transparent);
	outline-offset: 2px;
}

.hab-child-unavailable {
	margin-block-end: 0;
	color: #8a1c13;
	font-weight: 700;
}

.hab-request-review {
	background: color-mix(in srgb, var(--hab-color-accent) 9%, white);
}

.hab-request-review h3 {
	margin-block: 0.5rem 1rem;
}

.hab-request-review dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem 1.5rem;
	margin: 0;
}

.hab-request-review dl > div {
	border-block-end: 1px solid rgb(23 33 38 / 12%);
	padding-block-end: 0.6rem;
}

.hab-request-review dt {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.hab-request-review dd {
	margin: 0.2rem 0 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.hab-request-review__price,
.hab-request-review__total {
	grid-column: 1 / -1;
}

.hab-request-review__total dd {
	font-family: var(--wp--preset--font-family--display, Georgia, serif);
	font-size: 1.5rem;
}

.hab-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}

.hab-form-grid p,
.hab-booking-form > p {
	margin: 0;
}

.hab-booking-form label:not(.hab-package-choice) {
	display: block;
	font-weight: 700;
}

.hab-booking-form input:not([type="checkbox"]):not([type="radio"]),
.hab-booking-form textarea {
	box-sizing: border-box;
	inline-size: 100%;
	margin-block-start: 0.4rem;
	border: 1px solid rgb(23 33 38 / 30%);
	border-radius: 0.4rem;
	padding: 0.75rem;
	background: white;
	color: var(--hab-color-dark);
	font: inherit;
}

.hab-booking-form input:focus-visible,
.hab-booking-form textarea:focus-visible,
.hab-package-choice:focus-within {
	outline: 3px solid color-mix(in srgb, var(--hab-color-accent) 55%, transparent);
	outline-offset: 2px;
}

.hab-booking-form small {
	display: block;
	margin-block-start: 0.35rem;
}

.hab-checkbox label {
	font-weight: 400 !important;
}

.hab-date-availability > select {
	box-sizing: border-box;
	inline-size: 100%;
	margin-block: 0.4rem 1rem;
	border: 1px solid rgb(23 33 38 / 30%);
	border-radius: 0.4rem;
	padding: 0.75rem;
	background: white;
	font: inherit;
}

.hab-demo-schedule {
	margin-block-end: 1rem;
	border-inline-start: 4px solid var(--hab-color-accent);
	padding: 0.8rem 1rem;
	background: #fff8df;
}

.hab-calendar {
	margin-block: 0.75rem;
	border: 1px solid rgb(23 33 38 / 14%);
	border-radius: 0.65rem;
	padding: clamp(0.55rem, 2vw, 1rem);
}

.hab-calendar__nav {
	display: grid;
	grid-template-columns: 2.75rem 1fr 2.75rem;
	align-items: center;
	gap: 0.5rem;
}

.hab-calendar__nav h3 {
	margin: 0;
	text-align: center;
	font-size: 1.1rem;
}

.hab-calendar__nav button,
.hab-calendar__alternative {
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	border: 1px solid rgb(23 33 38 / 28%);
	border-radius: 0.35rem;
	background: white;
	color: var(--hab-color-dark);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.hab-calendar__nav button:disabled,
.hab-booking-submit button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.hab-calendar__weekdays,
.hab-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.25rem;
	margin-block-start: 0.65rem;
}

.hab-calendar__weekdays span {
	text-align: center;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
}

.hab-calendar__grid button {
	min-inline-size: 0;
	min-block-size: 2.75rem;
	border: 1px solid rgb(23 33 38 / 20%);
	border-radius: 0.35rem;
	background: #f2f1ec;
	color: var(--hab-color-dark);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.hab-calendar__grid button[data-state="available"] { background: #e2f3e7; border-color: #39794c; }
.hab-calendar__grid button[data-state="limited"] { background: #fff0bf; border-color: #8a6500; }
.hab-calendar__grid button[data-state="sold_out"],
.hab-calendar__grid button[data-state="unavailable"] { background: #ececec; color: #5d6164; text-decoration: line-through; }
.hab-calendar__grid button[aria-selected="true"] { outline: 3px solid var(--hab-color-dark); outline-offset: 1px; }
.hab-calendar button:focus-visible,
.hab-date-availability select:focus-visible { outline: 3px solid color-mix(in srgb, var(--hab-color-accent) 60%, var(--hab-color-dark)); outline-offset: 2px; }

.hab-calendar__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.8rem;
	margin-block-start: 0.8rem;
	font-size: 0.75rem;
	font-weight: 700;
}

.hab-calendar__legend span::before {
	content: "";
	display: inline-block;
	inline-size: 0.75rem;
	block-size: 0.75rem;
	margin-inline-end: 0.3rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	vertical-align: -0.05rem;
}

[data-hab-date-status],
[data-hab-nearest] { margin-block: 0.75rem 0; font-weight: 700; }
.hab-calendar__alternative { margin: 0.25rem; padding-inline: 0.65rem; }

.hab-consent {
	border-inline-start: 4px solid var(--hab-color-accent);
	padding-inline-start: 1rem;
}

.hab-trust-policy {
	background: var(--hab-color-surface, #fff9f2);
}

.hab-trust-operator dl,
.hab-trust-claims dl,
.hab-policy-grid ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin: 1rem 0 2rem;
	padding: 0;
}

.hab-trust-operator dl > div,
.hab-trust-claims dl > div,
.hab-policy-grid li,
.hab-policy-consent {
	background: var(--hab-color-background, #fff);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 0.5rem;
	list-style: none;
	padding: 1rem;
}

.hab-trust-operator dt,
.hab-trust-claims dt {
	font-weight: 700;
}

.hab-trust-operator dd,
.hab-trust-claims dd {
	margin-inline: 0;
}

.hab-trust-claims small {
	display: block;
}

.hab-policy-consent ul {
	margin-block-end: 0;
}

.hab-honeypot {
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
}

@media (max-width: 40rem) {
	.hab-form-grid,
	.hab-package-selector__options,
	.hab-guest-controls,
	.hab-request-review dl,
	.hab-trust-operator dl,
	.hab-trust-claims dl,
	.hab-policy-grid ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.hab-booking-form .hab-button {
		inline-size: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Unified availability-first Demo Booking */
.hab-unified {
	padding-block-end: var(--hab-section-space);
	background: linear-gradient(180deg, color-mix(in srgb, var(--hab-color-sand) 18%, var(--hab-color-light)) 0, var(--hab-color-light) 30rem);
}

.hab-unified__hero {
	padding-block: clamp(3rem, 7vw, 6rem) clamp(2rem, 4vw, 3.5rem);
	text-align: center;
}

.hab-unified__hero h1 {
	max-inline-size: 14ch;
	margin: 0.25rem auto 1.25rem;
}

.hab-unified__hero .hab-demo-notice {
	max-inline-size: 48rem;
	margin-inline: auto;
	text-align: start;
}

.hab-unified__configure,
.hab-unified__details,
.hab-unified__result {
	margin-block-end: clamp(2rem, 5vw, 4rem);
	padding: clamp(1.25rem, 4vw, 2.75rem);
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 14%, transparent);
	border-radius: var(--hab-radius-card);
	background: #fff;
	box-shadow: 0 1.25rem 3.5rem color-mix(in srgb, var(--hab-color-dark) 9%, transparent);
}

.hab-unified__step-heading {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-block-end: 1.5rem;
}

.hab-unified__step-heading > span,
.hab-unified__options legend > span {
	display: inline-grid;
	place-items: center;
	flex: 0 0 2.5rem;
	inline-size: 2.5rem;
	block-size: 2.5rem;
	border-radius: 50%;
	background: var(--hab-color-dark);
	color: #fff;
	font-weight: 700;
}

.hab-unified__step-heading h2,
.hab-unified__step-heading p {
	margin: 0;
}

.hab-unified__inputs {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(7rem, 0.65fr) minmax(7rem, 0.65fr) auto;
	align-items: end;
	gap: 1rem;
}

.hab-unified__inputs p {
	margin: 0;
}

.hab-unified__inputs label {
	display: block;
	margin-block-end: 0.4rem;
	font-weight: 700;
}

.hab-unified__inputs input {
	inline-size: 100%;
	min-block-size: 3rem;
	padding: 0.65rem 0.75rem;
	border: 1px solid color-mix(in srgb, var(--hab-color-dark) 34%, transparent);
	border-radius: var(--hab-radius-small);
	font: inherit;
}

.hab-unified__compare .hab-button {
	min-block-size: 3rem;
	white-space: nowrap;
}

.hab-unified__status {
	min-block-size: 1.65rem;
	margin-block: 1rem;
	color: var(--hab-color-muted);
}

.hab-unified__status:focus,
.hab-unified__options legend:focus {
	outline: 3px solid var(--hab-color-accent-secondary);
	outline-offset: 4px;
}

.hab-unified__options fieldset,
.hab-unified__details fieldset {
	min-inline-size: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.hab-unified__options legend,
.hab-unified__details legend {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	inline-size: 100%;
	margin-block-end: 1rem;
	font-family: var(--hab-font-serif);
	font-size: clamp(1.35rem, 3vw, 1.8rem);
	font-weight: 600;
}

.hab-unified__option-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-block-end: 1.25rem;
}

.hab-unified-option {
	position: relative;
	display: block;
	min-inline-size: 0;
	cursor: pointer;
}

.hab-unified-option > input {
	position: absolute;
	inset-block-start: 1.15rem;
	inset-inline-start: 1.15rem;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	margin: 0;
	accent-color: var(--hab-color-accent-secondary);
}

.hab-unified-option__body {
	display: flex;
	min-block-size: 100%;
	flex-direction: column;
	gap: 0.85rem;
	padding: 1.15rem;
	padding-inline-start: 3.15rem;
	border: 2px solid color-mix(in srgb, var(--hab-color-dark) 16%, transparent);
	border-inline-start-width: 0.35rem;
	border-radius: var(--hab-radius-card);
	background: color-mix(in srgb, var(--hab-color-light) 46%, #fff);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.hab-unified-option:hover .hab-unified-option__body {
	border-color: color-mix(in srgb, var(--hab-color-accent-secondary) 58%, var(--hab-color-dark));
}

.hab-unified-option > input:focus-visible + .hab-unified-option__body {
	outline: 3px solid var(--hab-color-accent-secondary);
	outline-offset: 3px;
}

.hab-unified-option > input:checked + .hab-unified-option__body {
	border-color: var(--hab-color-accent-secondary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--hab-color-accent-secondary) 20%, transparent);
	transform: translateY(-2px);
}

.hab-unified-option__top,
.hab-unified-option__price,
.hab-unified-option__meta {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
}

.hab-unified-option__top small,
.hab-unified-option__top strong,
.hab-unified-option__price strong,
.hab-unified-option__price small {
	display: block;
}

.hab-unified-option__top strong {
	font-family: var(--hab-font-serif);
	font-size: 1.3rem;
}

.hab-unified-option__top em {
	align-self: flex-start;
	padding: 0.25rem 0.55rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	font-size: 0.78rem;
	font-style: normal;
	font-weight: 700;
	white-space: nowrap;
}

.hab-unified-option__top em[data-state="limited"] {
	color: #8a3f0b;
}

.hab-unified-option__description,
.hab-unified-option__breakdown {
	color: var(--hab-color-muted);
	font-size: 0.92rem;
}

.hab-unified-option__meta {
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 0.85rem;
}

.hab-unified-option__meta span:not(:last-child)::after {
	content: "·";
	margin-inline-start: 0.75rem;
}

.hab-unified-option__price {
	align-items: end;
	margin-block-start: auto;
	padding-block-start: 0.8rem;
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 12%, transparent);
}

.hab-unified-option__price strong {
	font-size: 1.35rem;
}

.hab-unified__empty {
	padding: 1.25rem;
	border-inline-start: 0.35rem solid var(--hab-color-accent);
	background: color-mix(in srgb, var(--hab-color-sand) 20%, #fff);
}

.hab-unified__empty h3,
.hab-unified__empty p {
	margin-block: 0 0.35rem;
}

.hab-unified__details .hab-request-review {
	margin-block: 1.5rem;
}

.hab-unified__consent {
	padding-block-start: 1.5rem !important;
	border-block-start: 1px solid color-mix(in srgb, var(--hab-color-dark) 14%, transparent) !important;
}

@media (max-width: 58rem) {
	.hab-unified__inputs {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.hab-unified__compare {
		grid-column: 1 / -1;
	}
	.hab-unified__compare .hab-button {
		inline-size: 100%;
	}
}

@media (max-width: 44rem) {
	.hab-unified__inputs,
	.hab-unified__option-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.hab-unified__configure,
	.hab-unified__details,
	.hab-unified__result {
		padding: 1.1rem;
	}
	.hab-unified-option__top,
	.hab-unified-option__price {
		align-items: flex-start;
		flex-direction: column;
	}
	.hab-unified__options .hab-button,
	.hab-unified__details .hab-button {
		inline-size: 100%;
		min-block-size: 3rem;
	}
}


/* Secure Guest Journey Hub — isolated, first-party presentation. */
.hab-guest-body{margin:0;background:linear-gradient(145deg,var(--hab-color-light),#f3e7d1);color:var(--hab-color-dark);font-family:var(--hab-font-sans);min-height:100vh}.hab-guest{inline-size:min(72rem,calc(100% - 2rem));margin-inline:auto;padding-block:clamp(2rem,6vw,5rem)}.hab-guest__header{max-inline-size:48rem;margin-block-end:2rem}.hab-guest__brand{display:inline-block;color:inherit;font-family:var(--hab-font-serif);font-size:1.25rem;font-weight:700;margin-block-end:2rem;text-decoration:none}.hab-guest h1,.hab-guest h2,.hab-guest h3{font-family:var(--hab-font-serif);line-height:1.12}.hab-guest h1{font-size:clamp(2.5rem,8vw,5.5rem);margin:.25rem 0}.hab-guest h2{font-size:clamp(1.5rem,4vw,2.25rem);margin:.25rem 0 1rem}.hab-guest .hab-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:800;color:var(--hab-color-terracotta)}.hab-guest__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.25rem;margin-block:1.5rem}.hab-guest__card,.hab-guest__status{background:#fff;border:1px solid rgba(37,35,31,.14);border-radius:var(--hab-radius-card);box-shadow:0 1rem 3rem rgba(37,35,31,.08);padding:clamp(1.25rem,4vw,2.25rem);margin-block:1.25rem}.hab-guest__status{background:var(--hab-color-dark);color:#fff}.hab-guest__demo,.hab-guest__notice{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;border-inline-start:4px solid var(--hab-color-terracotta);background:#fff8e9;padding:1rem 1.25rem;margin-block:1rem}.hab-guest__notice--error{border-color:#9d231f;background:#fff2f0}.hab-guest__facts{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,1.5fr);gap:.65rem 1rem}.hab-guest__facts dt{font-weight:700;color:var(--hab-color-muted)}.hab-guest__facts dd{margin:0;overflow-wrap:anywhere}.hab-guest__form{display:grid;gap:.5rem;min-inline-size:0}.hab-guest__form label{font-weight:750;margin-block-start:.75rem}.hab-guest__form input,.hab-guest__form textarea{inline-size:100%;min-height:44px;padding:.75rem;border:1px solid #766f64;border-radius:.25rem;background:#fff;color:#171512;font:inherit}.hab-guest__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:2rem}.hab-guest__button,.hab-guest__logout button{min-height:44px;margin-block-start:1rem;padding:.8rem 1.2rem;border:2px solid var(--hab-color-dark);border-radius:.25rem;background:var(--hab-color-dark);color:#fff;font:inherit;font-weight:800;cursor:pointer}.hab-guest__button--secondary,.hab-guest__logout button{background:transparent;color:var(--hab-color-dark)}.hab-guest :focus,.hab-guest :focus-visible{outline:3px solid var(--hab-color-terracotta);outline-offset:3px}.hab-guest__fineprint,.hab-guest__footer{font-size:.875rem;color:var(--hab-color-muted)}.hab-guest__logout{text-align:end;margin-block:2rem}.hab-guest__footer{border-block-start:1px solid rgba(37,35,31,.2);padding-block-start:1.5rem}.hab-guest__footer a{color:inherit}@media(max-width:32rem){.hab-guest{inline-size:min(100% - 1rem,72rem)}.hab-guest__facts{grid-template-columns:1fr}.hab-guest__facts dd{margin-block-end:.5rem}.hab-guest__card{padding:1.1rem}}@media(prefers-reduced-motion:reduce){.hab-guest *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
