/* Theme Name: Tripgo Child Theme
Theme URI: https://themeforest.net/user/ovatheme/portfolio
Description: This is child theme of tripgo
Author: Ovatheme
Author URI: https://themeforest.net/user/ovatheme
Template: tripgo
Version: 1.0.0
Tags: two-columns, three-columns, left-sidebar, right-sidebar, custom-menu, editor-style, featured-images, flexible-header, full-width-template, post-formats, rtl-language-support, sticky-post, translation-ready
Text Domain:  tripgo-child
*/

:root {
	--serene-ink: #061d73;
	--serene-navy: #061d73;
	--serene-muted: #55617f;
	--serene-forest: #06175d;
	--serene-gold: #4fd7ea;
	--serene-cyan: #4fd7ea;
	--serene-accent: #0b2e8c;
	--serene-sand: #e8f9fd;
	--serene-cream: #f8fbff;
	--serene-ivory: #f8fbff;
	--serene-line: rgba(6, 29, 115, 0.14);
	--serene-radius: 10px;
	--serene-shadow: 0 22px 60px rgba(59, 42, 26, 0.1);
	--serene-sans: "Nunito Sans", "Segoe UI", Arial, sans-serif;
	--serene-display: "Nunito Sans", "Segoe UI", Arial, sans-serif;
	--primary-font: "Nunito Sans", "Segoe UI", Arial, sans-serif;
}

html {
	box-sizing: border-box;
}

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

body {
	color: var(--serene-ink);
	font-family: var(--serene-sans);
	background: var(--serene-cream);
}

.serene-site-header,
.serene-site-footer,
.serene-home-gateway,
.serene-widget-content,
.serene-widget-cards,
.serene-itinerary-page,
.serene-destination-single {
	font-family: var(--serene-sans);
}

.serene-home-gateway h1,
.serene-section-heading h2,
.serene-lux-section h2,
.serene-lux-section h3,
.serene-copy-panel h2,
.serene-day-copy h3,
.serene-detail-panel h2,
.serene-itinerary-hero h1,
.serene-destination-hero h1,
.serene-dh-title,
.serene-card-body h3,
.serene-journey-cta h2,
.serene-widget-cta h2 {
	font-family: var(--serene-display);
	letter-spacing: 0;
}

.serene-site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(255, 250, 241, 0.96);
	backdrop-filter: blur(16px);
	box-shadow: 0 8px 28px rgba(23, 37, 29, 0.08);
}

.serene-topbar {
	display: flex;
	justify-content: center;
	gap: 28px;
	padding: 8px 24px;
	background: var(--serene-forest);
	color: #fff;
	font-size: 13px;
}

.serene-topbar a {
	color: #fff;
}

.serene-nav-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	max-width: 1320px;
	margin: 0 auto;
	padding: 18px 28px;
}

.serene-logo {
	color: var(--serene-ink);
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1;
	min-width: 150px;
	text-decoration: none;
}

.serene-logo-img {
	display: block;
	width: auto;
	max-width: 220px;
	max-height: 74px;
	object-fit: contain;
}

.serene-logo--footer .serene-logo-img {
	max-width: 260px;
	max-height: 92px;
	background: #fff;
	padding: 10px;
}

.serene-logo span {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0;
}

.serene-logo small {
	color: var(--serene-gold);
	font-size: 12px;
	font-weight: 700;
	margin-top: 4px;
}

.serene-primary-nav {
	flex: 1;
}

.serene-menu,
.serene-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.serene-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	flex-wrap: nowrap;
}

.serene-menu li {
	position: relative;
}

.serene-menu a {
	color: var(--serene-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.serene-menu .sub-menu {
	background: #fff;
	border: 1px solid var(--serene-line);
	box-shadow: 0 20px 54px rgba(6, 29, 115, 0.14);
	display: none;
	left: 0;
	list-style: none;
	margin: 0;
	min-width: 210px;
	padding: 12px 0;
	position: absolute;
	top: 100%;
	z-index: 1000;
}

.serene-menu li:hover > .sub-menu,
.serene-menu li:focus-within > .sub-menu {
	display: block;
}

.serene-menu .sub-menu a {
	display: block;
	padding: 10px 18px;
	white-space: normal;
}

.serene-header-cta,
.serene-btn,
.serene-footer-cta,
.serene-card-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--serene-gold);
	color: var(--serene-forest) !important;
	font-weight: 800;
	padding: 12px 22px;
	text-decoration: none;
	border: 1px solid var(--serene-gold);
	transition: all 0.2s ease;
}

.serene-header-cta:hover,
.serene-btn:hover,
.serene-footer-cta:hover,
.serene-card-link:hover {
	background: var(--serene-accent);
	border-color: var(--serene-accent);
	color: #fff !important;
	transform: translateY(-1px);
}

.serene-btn-light {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.65);
}

.serene-page,
.serene-single-tour {
	background: #fff;
}

.serene-hero,
.serene-single-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
	align-items: center;
	gap: 44px;
	min-height: 590px;
	padding: 72px max(28px, calc((100vw - 1240px) / 2));
	background: linear-gradient(120deg, rgba(23, 37, 29, 0.93), rgba(35, 73, 52, 0.74));
	color: #fff;
}

.serene-hero h1,
.serene-single-hero h1 {
	color: #fff;
	font-size: clamp(42px, 6vw, 78px);
	line-height: 1.02;
	margin: 12px 0 22px;
	letter-spacing: 0;
}

.serene-hero p,
.serene-single-hero p {
	color: rgba(255, 255, 255, 0.88);
	font-size: 19px;
	line-height: 1.7;
	max-width: 760px;
}

.serene-kicker {
	color: var(--serene-gold);
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
}

.serene-hero-image img,
.serene-single-image img,
.serene-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.serene-hero-image,
.serene-single-image {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 6px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
}

.serene-section,
.serene-content-section,
.serene-cta-band {
	max-width: 1240px;
	margin: 0 auto;
	padding: 76px 28px;
}

.serene-section-narrow {
	max-width: 920px;
}

.serene-section h2,
.serene-content-section h2,
.serene-cta-band h2 {
	font-size: clamp(30px, 4vw, 48px);
	line-height: 1.1;
	letter-spacing: 0;
	margin-bottom: 22px;
}

.serene-section p,
.serene-content-section p,
.serene-section li,
.serene-content-section li {
	color: var(--serene-muted);
	font-size: 17px;
	line-height: 1.78;
}

.serene-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.serene-card {
	border: 1px solid var(--serene-line);
	border-radius: var(--serene-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--serene-shadow);
}

.serene-card-image {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--serene-sand);
	overflow: hidden;
}

.serene-card-image span {
	position: absolute;
	left: 14px;
	bottom: 14px;
	background: rgba(23, 37, 29, 0.86);
	color: #fff;
	border-radius: 4px;
	padding: 7px 10px;
	font-size: 12px;
	font-weight: 800;
}

.serene-card-body {
	padding: 24px;
}

.serene-card-body small {
	color: var(--serene-gold);
	font-weight: 900;
}

.serene-card-body h3 {
	font-size: 22px;
	line-height: 1.2;
	margin: 8px 0 12px;
}

.serene-card-body h3 a {
	color: var(--serene-ink);
	text-decoration: none;
}

.serene-card-link {
	padding: 10px 14px;
	font-size: 14px;
}

.serene-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.serene-feature {
	padding: 24px;
	border: 1px solid var(--serene-line);
	border-radius: 6px;
	background: var(--serene-cream);
}

.serene-box-section {
	background: var(--serene-cream);
	border: 1px solid var(--serene-line);
	border-radius: 6px;
	margin-top: 28px;
	margin-bottom: 28px;
}

.serene-check-list {
	columns: 2;
	padding-left: 20px;
}

.serene-tour-meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	max-width: 1120px;
	margin: -54px auto 0;
	position: relative;
	z-index: 2;
	background: var(--serene-line);
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(23, 37, 29, 0.12);
}

.serene-tour-meta span {
	background: #fff;
	padding: 22px;
	color: var(--serene-muted);
}

.serene-tour-meta strong {
	display: block;
	color: var(--serene-ink);
	font-size: 13px;
	text-transform: uppercase;
	margin-bottom: 6px;
}

.serene-cta-band {
	background: var(--serene-forest);
	color: #fff;
	border-radius: 6px;
	margin-top: 48px;
	margin-bottom: 72px;
}

.serene-cta-band h2,
.serene-cta-band p {
	color: #fff;
}

.serene-site-footer {
	background: var(--serene-ink);
	color: rgba(255, 255, 255, 0.82);
	padding: 64px 28px 24px;
}

.serene-archive-page .serene-doc-hero {
	min-height: 430px;
}

.serene-archive-section {
	padding-top: 48px;
	padding-bottom: 96px;
}

.serene-empty-state {
	grid-column: 1 / -1;
	background: #fff;
	border: 1px solid var(--serene-line);
	border-radius: var(--serene-radius);
	padding: 44px;
	text-align: center;
	box-shadow: var(--serene-shadow);
}

.serene-empty-state h3 {
	color: var(--serene-forest);
	margin-bottom: 10px;
}

.serene-empty-state p {
	max-width: 660px;
	margin: 0 auto 18px;
}

.serene-home-inline-cta {
	margin-top: 30px;
	padding: 30px;
	background: #fff;
	border-radius: var(--serene-radius);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border: 1px solid var(--serene-line);
	box-shadow: var(--serene-shadow);
}

.serene-home-inline-cta h3 {
	margin: 0;
	font-size: 24px;
	color: var(--serene-forest);
}

.serene-inline-enquiry {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(35, 73, 52, 0.2);
}

.serene-inline-enquiry h3 {
	margin: 0 0 8px;
	font-size: 16px;
}

.serene-inline-enquiry p {
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 12px;
}

.serene-inline-enquiry .wpcf7-form p {
	margin: 0 0 10px;
}

.serene-inline-enquiry input[type="text"],
.serene-inline-enquiry input[type="email"],
.serene-inline-enquiry input[type="tel"],
.serene-inline-enquiry textarea {
	width: 100%;
	border: 1px solid rgba(18, 34, 28, 0.24);
	background: #fff;
	padding: 10px 12px;
	border-radius: 8px;
}

.serene-inline-enquiry input[type="submit"] {
	width: 100%;
	border: 0;
	border-radius: 999px;
	background: var(--serene-accent);
	color: #fff;
	font-weight: 800;
	padding: 12px 16px;
}

.serene-premium-feed {
	padding-top: 0;
	padding-bottom: 96px;
}

.serene-premium-feed .serene-inline-enquiry {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	max-width: 720px;
	background: #fff;
	padding: 28px;
	border-radius: var(--serene-radius);
	box-shadow: var(--serene-shadow);
}

.serene-footer-grid,
.serene-footer-bottom {
	width: min(80vw, 1600px);
	max-width: 1600px;
	margin: 0 auto;
}

.serene-footer-brand {
	width: min(80vw, 1600px);
	max-width: 1600px;
	margin: 0 auto 34px;
}

.serene-footer-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(28px, 3vw, 56px);
}

.serene-site-footer h3,
.serene-site-footer h4 {
	color: #fff;
	margin-bottom: 16px;
}

.serene-site-footer a {
	color: #fff;
	text-decoration: none;
}

.serene-footer-menu li {
	margin-bottom: 10px;
}

.serene-footer-menu a {
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.45;
}

.serene-footer-menu a:hover {
	color: #fff;
}

.serene-footer-contact {
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	margin-top: 22px;
	padding-top: 18px;
	color: rgba(255, 255, 255, 0.82);
	font-size: 14px;
	line-height: 1.7;
}

.serene-footer-contact p {
	margin: 0 0 12px;
}

.serene-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.16);
	margin-top: 46px;
	padding-top: 22px;
	font-size: 13px;
}

.price,
.amount,
.woocommerce-Price-amount,
.ovabrw-price,
.product_meta,
.single_add_to_cart_button,
form.cart {
	display: none !important;
}

.serene-price-enquiry {
	display: inline-flex;
	color: var(--serene-gold);
	font-weight: 900;
}

.wrap_footer > .footer {
	display: none;
}

.wrap_header,
.wrap_breadcrumbs,
.header_sticky,
.ovamegamenu_container_default {
	display: none !important;
}

.serene-itinerary-page,
.serene-destination-single {
	background: #fbf8f1;
	overflow-x: hidden;
}

.serene-itinerary-hero,
.serene-destination-hero {
	min-height: 520px;
	background-color: var(--serene-forest);
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	text-align: center;
	color: #fff;
	padding: 86px 28px 62px;
	position: relative;
}

.serene-itinerary-hero::after,
.serene-destination-hero::after {
	content: "";
	position: absolute;
	left: -2vw;
	right: -2vw;
	bottom: -1px;
	height: 22px;
	background:
		linear-gradient(135deg, transparent 18px, #fbf8f1 0) 0 0 / 38px 22px repeat-x;
}

.serene-itinerary-hero-inner,
.serene-destination-hero > div {
	position: relative;
	z-index: 1;
	max-width: 980px;
}

.serene-itinerary-hero h1,
.serene-destination-hero h1 {
	color: #fff;
	font-size: clamp(42px, 6vw, 82px);
	line-height: 0.98;
	text-transform: uppercase;
	margin: 10px 0 14px;
	letter-spacing: 0;
}

.serene-itinerary-hero p,
.serene-destination-hero p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.5;
	max-width: 900px;
	margin: 0 auto;
	text-transform: uppercase;
}

.serene-destination-hero p {
	font-weight: 600;
	text-transform: none;
}

.serene-tour-tabs {
	position: sticky;
	top: 109px;
	z-index: 20;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 34px;
	padding: 22px 28px;
	background: #f1eadf;
	border-bottom: 2px solid rgba(23, 37, 29, 0.7);
	box-shadow: 0 12px 28px rgba(23, 37, 29, 0.06);
}

.serene-tour-tabs a {
	color: #2f352f;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 20px;
	border-radius: 999px;
	white-space: nowrap;
}

.serene-tour-tabs a.is-active {
	background: #cf4d27;
	color: #fff;
}

.serene-tour-tabs .serene-tab-quote {
	border: 2px solid #2f352f;
	background: transparent;
}

.serene-breadcrumb-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 28px 0;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	color: #77746d;
	font-size: 14px;
}

.serene-breadcrumb-wrap a {
	color: var(--serene-forest);
	text-decoration: none;
}

.serene-breadcrumb-wrap span::before {
	content: "/";
	margin-right: 12px;
	color: rgba(35, 73, 52, 0.45);
}

.serene-home-pro {
	background: #fbf8f1;
	overflow-x: hidden;
}

.serene-home-hero {
	min-height: 720px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	gap: 48px;
	align-items: end;
	background-color: var(--serene-forest);
	background-position: center;
	background-size: cover;
	color: #fff;
	padding: 118px max(28px, calc((100vw - 1240px) / 2)) 86px;
}

.serene-home-hero h1 {
	color: #fff;
	font-size: clamp(54px, 7vw, 104px);
	line-height: 0.92;
	margin: 14px 0 24px;
	max-width: 900px;
	text-transform: uppercase;
}

.serene-home-hero p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 21px;
	line-height: 1.65;
	max-width: 760px;
}

.serene-home-proof {
	background: rgba(255, 250, 241, 0.94);
	color: var(--serene-forest);
	padding: 28px;
	display: grid;
	gap: 8px;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.serene-home-proof span {
	color: #cf4d27;
	font-size: 46px;
	font-weight: 900;
	line-height: 1;
}

.serene-home-proof small {
	color: #2a241f;
	font-size: 13px;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 18px;
}

.serene-home-band {
	max-width: 1240px;
	margin: -48px auto 0;
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	background: rgba(35, 73, 52, 0.18);
	padding: 0 28px;
}

.serene-home-band div {
	background: #fffdf8;
	padding: 28px;
	border-top: 4px solid #cf4d27;
	box-shadow: 0 18px 50px rgba(23, 37, 29, 0.08);
}

.serene-home-band span {
	color: #cf4d27;
	display: block;
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.serene-home-band strong {
	color: var(--serene-forest);
	font-size: 17px;
	line-height: 1.5;
}

.serene-editorial-intro {
	--serene-editorial-bg: #fff;
	--serene-editorial-accent: #50cfe0;
	background:
		radial-gradient(circle at 0 58%, color-mix(in srgb, var(--serene-editorial-accent) 14%, transparent) 0 18%, transparent 19%),
		var(--serene-editorial-bg);
	display: grid;
	gap: clamp(8px, 1.4vw, 22px);
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.62fr);
	overflow: hidden;
	padding: clamp(70px, 8vw, 120px) 0 clamp(68px, 8vw, 112px) max(28px, 10vw);
	position: relative;
}

.serene-editorial-intro::before {
	background: #f4f0e6;
	border-radius: 0 0 70% 0;
	content: "";
	height: 78px;
	left: 0;
	position: absolute;
	top: 0;
	width: 52%;
}

.serene-editorial-intro--image-left {
	grid-template-columns: minmax(360px, 0.62fr) minmax(0, 0.92fr);
	padding-left: 0;
	padding-right: max(28px, 10vw);
}

.serene-editorial-intro--image-left .serene-editorial-intro__copy {
	order: 2;
}

.serene-editorial-intro--image-left .serene-editorial-intro__media {
	order: 1;
}

.serene-editorial-intro__copy {
	max-width: 760px;
	position: relative;
	z-index: 1;
}

.serene-editorial-intro__kicker {
	color: var(--serene-editorial-accent);
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.15em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.serene-editorial-intro__copy h2 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(34px, 3.2vw, 52px);
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1.08;
	margin: 0 0 30px;
	text-transform: uppercase;
}

.serene-editorial-intro__copy h3 {
	color: #2b201c;
	font-family: var(--serene-display);
	font-size: clamp(26px, 2.5vw, 40px);
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.12;
	margin: clamp(36px, 5vw, 62px) 0 22px;
	text-transform: uppercase;
}

.serene-editorial-intro__body {
	color: #2b201c;
	font-size: clamp(17px, 1.25vw, 21px);
	font-weight: 650;
	letter-spacing: 0.03em;
	line-height: 1.72;
}

.serene-editorial-intro__body p {
	margin: 0 0 25px;
}

.serene-editorial-intro__body a,
.serene-editorial-intro__body strong {
	color: var(--serene-navy);
	font-weight: 900;
}

.serene-editorial-intro__media {
	align-self: stretch;
	margin: 0;
	min-height: 620px;
	position: relative;
}

.serene-editorial-intro__media::before {
	background: var(--serene-editorial-bg);
	border-radius: 53% 0 0 47%;
	content: "";
	inset: -32px auto -32px -12px;
	position: absolute;
	width: 28px;
	z-index: 1;
}

.serene-editorial-intro--image-left .serene-editorial-intro__media::before {
	border-radius: 0 53% 47% 0;
	inset: -32px -12px -32px auto;
}

.serene-editorial-intro__media img {
	border-radius: 46% 0 0 46%;
	display: block;
	height: 100%;
	min-height: 620px;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.serene-editorial-intro--image-left .serene-editorial-intro__media img {
	border-radius: 0 46% 46% 0;
}

.serene-text-intro {
	--serene-text-intro-bg: #fff;
	--serene-text-intro-accent: #50cfe0;
	background:
		radial-gradient(circle at 0 58%, color-mix(in srgb, var(--serene-text-intro-accent) 14%, transparent) 0 18%, transparent 19%),
		var(--serene-text-intro-bg);
	overflow: hidden;
	padding: clamp(70px, 8vw, 120px) max(28px, calc((100vw - 1240px) / 2)) clamp(68px, 8vw, 112px);
	position: relative;
}

.serene-text-intro::before {
	background: #f4f0e6;
	border-radius: 0 0 70% 0;
	content: "";
	height: 78px;
	left: 0;
	position: absolute;
	top: 0;
	width: 52%;
}

.serene-text-intro__copy {
	margin: 0 auto;
	max-width: 1240px;
	position: relative;
	z-index: 1;
}

.serene-text-intro__kicker {
	color: var(--serene-text-intro-accent);
	display: block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.15em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.serene-text-intro__copy h2 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(34px, 3.2vw, 52px);
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1.08;
	margin: 0 0 30px;
	text-transform: uppercase;
}

.serene-text-intro__copy h3 {
	color: #2b201c;
	font-family: var(--serene-display);
	font-size: clamp(26px, 2.5vw, 40px);
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.12;
	margin: clamp(36px, 5vw, 62px) 0 22px;
	text-transform: uppercase;
}

.serene-text-intro__body {
	color: #2b201c;
	font-size: clamp(17px, 1.25vw, 21px);
	font-weight: 650;
	letter-spacing: 0.03em;
	line-height: 1.72;
}

.serene-text-intro__body p {
	margin: 0 0 25px;
}

.serene-text-intro__body h3,
.serene-text-intro__body h4 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(24px, 2vw, 34px);
	font-weight: 900;
	letter-spacing: 0.02em;
	line-height: 1.16;
	margin: clamp(34px, 4vw, 54px) 0 18px;
	text-transform: none;
}

.serene-text-intro__body h3:first-child,
.serene-text-intro__body h4:first-child {
	margin-top: 0;
}

.serene-text-intro__body ul,
.serene-text-intro__body ol {
	margin: 4px 0 30px 1.2em;
	padding: 0;
}

.serene-text-intro__body li {
	margin: 8px 0;
	padding-left: 4px;
}

.serene-text-intro__body .serene-text-intro__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 34px;
}

.serene-text-intro__body a,
.serene-text-intro__body strong {
	color: var(--serene-navy);
	font-weight: 900;
}

.serene-home-editorial {
	padding-top: 104px;
}

.serene-home-source {
	max-width: 1240px;
	margin: 0 auto;
	padding: 10px 28px 76px;
}

.serene-home-source .serene-content-flow {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-home-source .serene-lux-section:first-child {
	grid-column: 1 / -1;
}

.serene-home-split {
	max-width: 1240px;
	margin: 0 auto;
	padding: 54px 28px 86px;
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 54px;
	align-items: start;
}

.serene-home-split-copy {
	background: var(--serene-forest);
	color: #fff;
	padding: 46px 42px;
	position: sticky;
	top: 140px;
}

.serene-home-split-copy h2 {
	color: #fff;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.02;
	margin: 12px 0 18px;
	text-transform: uppercase;
}

.serene-home-split-copy p {
	color: rgba(255, 255, 255, 0.85);
	font-size: 18px;
	line-height: 1.75;
}

.serene-process-list {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
	display: grid;
	gap: 18px;
}

.serene-process-list li {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 16px;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.55;
}

.serene-process-list span {
	color: #ffb536;
	font-size: 20px;
	font-weight: 900;
}

.serene-process-list strong {
	color: #fff;
	display: block;
	text-transform: uppercase;
}

.serene-home-destinations .serene-card-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-home-styles {
	background: #e7d9c3;
	padding: 76px max(28px, calc((100vw - 1240px) / 2));
}

.serene-style-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.serene-style-strip a {
	background: #fffdf8;
	color: var(--serene-forest);
	border: 1px solid rgba(35, 73, 52, 0.18);
	border-radius: 999px;
	padding: 15px 20px;
	font-weight: 900;
	text-decoration: none;
}

.serene-home-quote {
	max-width: 1240px;
	margin: 86px auto;
	padding: 52px;
	background: #17251d;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
}

.serene-home-quote h2,
.serene-home-quote p,
.serene-home-quote a {
	color: #fff;
}

.serene-home-quote h2 {
	font-size: clamp(34px, 4vw, 58px);
	line-height: 1;
	text-transform: uppercase;
	margin: 8px 0 14px;
}

.serene-premium-page {
	background: #fbf8f1;
}

.serene-doc-hero {
	min-height: 560px;
	background-color: var(--serene-forest);
	background-position: center;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	color: #fff;
	padding: 116px max(28px, calc((100vw - 1240px) / 2)) 82px;
}

.serene-doc-hero > div {
	max-width: 900px;
}

.serene-doc-hero h1 {
	color: #fff;
	font-size: clamp(46px, 6vw, 86px);
	line-height: 0.98;
	text-transform: uppercase;
	margin: 12px 0 20px;
}

.serene-doc-hero p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 20px;
	line-height: 1.65;
	max-width: 780px;
}

.serene-premium-layout {
	max-width: 1240px;
	margin: 0 auto;
	padding: 76px 28px 88px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 46px;
	align-items: start;
}

.serene-content-flow {
	display: grid;
	gap: 24px;
}

.serene-lux-section {
	background: #fffdf8;
	border: 1px solid rgba(35, 73, 52, 0.1);
	border-left: 5px solid #cf4d27;
	padding: 38px 40px;
	box-shadow: 0 20px 56px rgba(23, 37, 29, 0.07);
}

.serene-lux-section h2 {
	color: var(--serene-forest);
	font-size: clamp(30px, 3.5vw, 48px);
	line-height: 1.08;
	text-transform: uppercase;
	margin: 0 0 20px;
}

.serene-lux-section h3 {
	color: var(--serene-forest);
	font-size: 24px;
	line-height: 1.25;
	text-transform: uppercase;
	margin: 0 0 14px;
}

.serene-lux-subsection {
	border-left-color: var(--serene-forest);
}

.serene-lux-section p {
	color: #2a241f;
	font-size: 17px;
	line-height: 1.75;
	margin: 0 0 14px;
}

.serene-lux-section p:last-child {
	margin-bottom: 0;
}

.serene-compact-list {
	list-style: none;
	margin: 18px 0 8px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 14px;
}

.serene-compact-list li {
	background: #f1eadf;
	border: 1px solid rgba(35, 73, 52, 0.1);
	color: var(--serene-forest);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
	padding: 12px 14px 12px 38px;
	position: relative;
}

.serene-compact-list li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 17px;
	width: 10px;
	height: 6px;
	border-left: 2px solid #cf4d27;
	border-bottom: 2px solid #cf4d27;
	transform: rotate(-45deg);
}

.serene-premium-aside {
	position: sticky;
	top: 144px;
}

.serene-policy-note {
	background: var(--serene-forest);
	color: #fff;
	padding: 20px 24px;
	font-size: 16px;
	line-height: 1.65;
	box-shadow: 0 18px 46px rgba(23, 37, 29, 0.12);
}

.serene-policy-note strong {
	color: #ffb536;
}

.serene-premium-legal .serene-lux-section h2 {
	font-size: clamp(26px, 3vw, 38px);
}

.serene-itinerary-layout,
.serene-destination-layout {
	max-width: 1240px;
	margin: 0 auto;
	padding: 52px 28px 34px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 420px;
	gap: 56px;
	align-items: start;
}

.serene-copy-panel,
.serene-day-card,
.serene-quote-card,
.serene-dream-strip,
.serene-info-grid,
.serene-destination-content .serene-copy-panel {
	background: #fffdf8;
	border: 1px solid rgba(35, 73, 52, 0.08);
	box-shadow: 0 18px 56px rgba(23, 37, 29, 0.07);
}

.serene-copy-panel {
	padding: 44px 38px;
	position: relative;
	border-left: 5px solid #cf4d27;
}

.serene-copy-panel::before,
.serene-day-card::before,
.serene-quote-card::before {
	content: "";
	position: absolute;
	inset: -1px;
	pointer-events: none;
	border: 1px solid transparent;
}

.serene-copy-panel h2,
.serene-section-heading h2,
.serene-destination-content h2 {
	color: var(--serene-forest);
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.08;
	text-transform: uppercase;
	margin: 0 0 22px;
}

.serene-copy-panel p,
.serene-day-copy p,
.serene-info-grid p,
.serene-destination-content p,
.serene-destination-content li {
	color: #2a241f;
	font-size: 18px;
	line-height: 1.82;
}

.serene-itinerary-sidebar,
.serene-destination-side {
	position: sticky;
	top: 214px;
}

.serene-quote-card {
	position: relative;
	padding: 34px 32px;
	background: #e7d9c3;
	box-shadow: 0 28px 74px rgba(23, 37, 29, 0.16);
	clip-path: polygon(0 10px, 2% 0, 5% 9px, 8% 0, 11% 8px, 14% 0, 17% 8px, 20% 0, 23% 8px, 26% 0, 29% 8px, 32% 0, 35% 8px, 38% 0, 41% 8px, 44% 0, 47% 8px, 50% 0, 53% 8px, 56% 0, 59% 8px, 62% 0, 65% 8px, 68% 0, 71% 8px, 74% 0, 77% 8px, 80% 0, 83% 8px, 86% 0, 89% 8px, 92% 0, 95% 8px, 98% 0, 100% 10px, 100% calc(100% - 10px), 98% 100%, 95% calc(100% - 8px), 92% 100%, 89% calc(100% - 8px), 86% 100%, 83% calc(100% - 8px), 80% 100%, 77% calc(100% - 8px), 74% 100%, 71% calc(100% - 8px), 68% 100%, 65% calc(100% - 8px), 62% 100%, 59% calc(100% - 8px), 56% 100%, 53% calc(100% - 8px), 50% 100%, 47% calc(100% - 8px), 44% 100%, 41% calc(100% - 8px), 38% 100%, 35% calc(100% - 8px), 32% 100%, 29% calc(100% - 8px), 26% 100%, 23% calc(100% - 8px), 20% 100%, 17% calc(100% - 8px), 14% 100%, 11% calc(100% - 8px), 8% 100%, 5% calc(100% - 8px), 2% 100%, 0 calc(100% - 10px));
}

.serene-quote-card h2 {
	color: var(--serene-forest);
	font-size: 20px;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.serene-side-duration,
.serene-price-note {
	color: #3e362f;
	font-size: 15px;
	line-height: 1.6;
	text-align: center;
}

.serene-btn-block,
.serene-outline-btn {
	width: 100%;
	margin-top: 16px;
}

.serene-outline-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--serene-forest);
	border-radius: 4px;
	color: var(--serene-forest) !important;
	font-weight: 900;
	padding: 13px 18px;
	text-decoration: none;
	text-align: center;
}

.serene-quote-card h3 {
	color: var(--serene-forest);
	font-size: 18px;
	text-transform: uppercase;
	margin: 28px 0 16px;
}

.serene-included-list,
.serene-excluded-list,
.serene-accommodation-list,
.serene-notes-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px 14px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.serene-included-list li,
.serene-excluded-list li,
.serene-accommodation-list li,
.serene-notes-list li {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 12px;
	align-items: center;
	color: #253022;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.serene-included-list span,
.serene-excluded-list span,
.serene-accommodation-list span,
.serene-notes-list span {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffb536;
}

.serene-included-list span::before {
	content: "";
	width: 16px;
	height: 9px;
	border-left: 3px solid var(--serene-forest);
	border-bottom: 3px solid var(--serene-forest);
	transform: rotate(-45deg);
	margin-top: -4px;
}

.serene-excluded-list span {
	background: transparent;
	border: 2px solid var(--serene-forest);
}

.serene-excluded-list span::before {
	content: "";
	width: 14px;
	height: 2px;
	background: var(--serene-forest);
}

.serene-package-details-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 34px 0;
}

.serene-detail-panel {
	position: relative;
	background: #fff;
	border: 1px solid rgba(44, 64, 41, 0.12);
	box-shadow: var(--serene-shadow);
	padding: 34px;
	border-radius: 8px;
	overflow: hidden;
}

.serene-detail-panel::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 5px;
	background: var(--serene-gold);
}

.serene-detail-panel--excluded::before {
	background: var(--serene-accent);
}

.serene-detail-panel--accommodation {
	background: var(--serene-cream);
	margin: 34px 0;
}

.serene-detail-panel--notes {
	background: var(--serene-forest);
	color: #fff;
	margin: 34px 0;
}

.serene-detail-panel--notes .serene-section-heading span,
.serene-detail-panel--notes .serene-section-heading h2,
.serene-detail-panel--notes .serene-section-heading p,
.serene-detail-panel--notes li {
	color: #fff;
}

.serene-accommodation-list span {
	background: var(--serene-forest);
}

.serene-accommodation-list span::before {
	content: "";
	width: 15px;
	height: 11px;
	border-radius: 2px;
	border: 2px solid #fff;
	border-top-width: 5px;
}

.serene-notes-list span {
	background: #fff;
	border: 2px solid var(--serene-gold);
}

.serene-notes-list span::before {
	content: "!";
	color: var(--serene-forest);
	font-weight: 900;
	font-size: 16px;
	line-height: 1;
}

.serene-dream-strip {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 26px;
	margin: 32px 0 54px;
	padding: 34px 38px;
	background: var(--serene-forest);
	color: #fff;
}

.serene-dream-strip h2,
.serene-dream-strip p {
	color: #fff;
	margin: 0;
}

.serene-dream-strip h2 {
	font-size: 30px;
}

.serene-dream-strip p {
	max-width: 680px;
	margin-top: 8px;
}

.serene-section-heading {
	margin-bottom: 24px;
}

.serene-section-heading span {
	color: #cf4d27;
	font-weight: 900;
	text-transform: uppercase;
}

.serene-itinerary-list {
	position: relative;
}

.serene-itinerary-list::before {
	content: "";
	position: absolute;
	top: 70px;
	bottom: 20px;
	left: 50%;
	width: 3px;
	background: repeating-linear-gradient(to bottom, rgba(35, 73, 52, 0.35), rgba(35, 73, 52, 0.35) 10px, transparent 10px, transparent 20px);
	transform: translateX(-50%);
}

.serene-day-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
	gap: 42px;
	align-items: start;
	margin: 0 0 56px;
	padding: 42px 38px;
	box-shadow: 0 22px 58px rgba(23, 37, 29, 0.1);
	clip-path: polygon(0 8px, 2% 0, 5% 7px, 8% 0, 11% 7px, 14% 0, 17% 7px, 20% 0, 23% 7px, 26% 0, 29% 7px, 32% 0, 35% 7px, 38% 0, 41% 7px, 44% 0, 47% 7px, 50% 0, 53% 7px, 56% 0, 59% 7px, 62% 0, 65% 7px, 68% 0, 71% 7px, 74% 0, 77% 7px, 80% 0, 83% 7px, 86% 0, 89% 7px, 92% 0, 95% 7px, 98% 0, 100% 8px, 100% calc(100% - 8px), 98% 100%, 95% calc(100% - 7px), 92% 100%, 89% calc(100% - 7px), 86% 100%, 83% calc(100% - 7px), 80% 100%, 77% calc(100% - 7px), 74% 100%, 71% calc(100% - 7px), 68% 100%, 65% calc(100% - 7px), 62% 100%, 59% calc(100% - 7px), 56% 100%, 53% calc(100% - 7px), 50% 100%, 47% calc(100% - 7px), 44% 100%, 41% calc(100% - 7px), 38% 100%, 35% calc(100% - 7px), 32% 100%, 29% calc(100% - 7px), 26% 100%, 23% calc(100% - 7px), 20% 100%, 17% calc(100% - 7px), 14% 100%, 11% calc(100% - 7px), 8% 100%, 5% calc(100% - 7px), 2% 100%, 0 calc(100% - 8px));
}

.serene-day-card-text {
	grid-template-columns: 1fr;
	margin-left: 58px;
}

.serene-day-copy p {
	margin: 0 0 12px;
}

.serene-day-copy p:last-child {
	margin-bottom: 0;
}

.serene-day-card::after {
	content: "";
	position: absolute;
	top: 42px;
	left: calc(50% - 8px);
	width: 16px;
	height: 16px;
	border: 3px solid var(--serene-forest);
	background: #fbf8f1;
	border-radius: 50%;
	transform: translateX(-50%);
}

.serene-day-label {
	color: #ffb536;
	display: block;
	font-size: 34px;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
	margin-bottom: 10px;
}

.serene-day-copy h3 {
	color: var(--serene-forest);
	font-size: 28px;
	text-transform: uppercase;
	margin: 0 0 18px;
}

.serene-day-image {
	margin: 0;
}

.serene-day-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	box-shadow: 0 18px 44px rgba(23, 37, 29, 0.12);
}

.serene-info-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	padding: 36px 38px;
	margin-bottom: 56px;
}

.serene-info-grid h2,
.serene-info-grid h3 {
	color: var(--serene-forest);
	text-transform: uppercase;
}

.serene-itinerary-final-cta {
	max-width: 1184px;
}

.serene-destination-layout {
	grid-template-columns: minmax(0, 1fr) 390px;
	padding-top: 62px;
}

.serene-destination-content .serene-copy-panel {
	padding: 46px 44px;
}

.serene-destination-content h2,
.serene-destination-content h3,
.serene-destination-content p:first-child {
	color: var(--serene-forest);
}

.serene-destination-content h3,
.serene-destination-content p:nth-child(3),
.serene-destination-content p:nth-child(8),
.serene-destination-content p:nth-child(14) {
	font-size: 22px;
	font-weight: 900;
	text-transform: uppercase;
	margin-top: 34px;
}

.serene-destination-content p {
	margin-bottom: 14px;
}

.serene-related-tours {
	padding-top: 34px;
}

/* --- Concise premier layouts --- */
.serene-page--compact .serene-feed-section,
.serene-feed-section.serene-section {
	padding-top: 48px;
	padding-bottom: 52px;
}

.serene-doc-hero--compact {
	min-height: 380px;
	padding-top: 72px;
	padding-bottom: 48px;
}

.serene-home-hero--compact {
	min-height: 560px;
	padding-top: 88px;
	padding-bottom: 52px;
}

.serene-home-proof-details {
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	max-width: 620px;
}

.serene-home-proof-details li {
	position: relative;
	padding-left: 14px;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.88);
}

.serene-home-proof-details li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.75);
}

.serene-section-heading--inline {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px 24px;
	margin-bottom: 20px;
}

.serene-section-heading--inline .serene-styles-all-link {
	margin-left: auto;
	font-size: 14px;
	font-weight: 800;
	color: var(--serene-forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.serene-home-editorial-tail {
	margin: 14px 0 0;
	font-weight: 700;
}

.serene-home-editorial-tail a {
	color: var(--serene-forest);
}

.serene-content-flow--tight {
	gap: 14px;
}

.serene-home-split--compact .serene-home-split-copy {
	position: static;
	padding: 36px 32px;
}

.serene-home-split--compact .serene-process-list--compact li {
	gap: 10px;
	font-size: 14px;
	line-height: 1.45;
}

.serene-home-styles--compact {
	padding-top: 44px;
	padding-bottom: 52px;
}

.serene-style-strip-more {
	opacity: 0.85;
	border-style: dashed !important;
}

.serene-listing-shell {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: 28px;
	padding-right: 28px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 320px);
	gap: 36px;
	align-items: start;
	padding-bottom: 72px;
}

.serene-listing-main .serene-section-heading--inline h2 {
	margin-bottom: 0;
}

.serene-listing-aside {
	position: sticky;
	top: 120px;
}

.serene-quote-card--slim {
	padding: 22px 20px;
	clip-path: none;
	box-shadow: var(--serene-shadow);
}

.serene-quote-card--slim h2 {
	font-size: 16px;
	text-align: left;
}

.serene-quote-card--slim p {
	font-size: 14px;
	text-align: left;
}

.serene-card-grid--cols2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-card-grid--cols3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.serene-card-grid--cols4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.serene-card-grid--compact .serene-card-body {
	padding: 16px 18px;
}

.serene-card-grid--compact .serene-card-body h3 {
	font-size: 17px;
	margin: 6px 0 8px;
}

.serene-card-grid--compact .serene-card-body p {
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 8px;
}

.serene-card-grid--compact .serene-card-link {
	padding: 8px 12px;
	font-size: 13px;
}

.serene-card-grid--compact .serene-card-image {
	aspect-ratio: 16 / 10;
}

.serene-feed-pagination {
	margin-top: 28px;
}

.serene-feed-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.serene-feed-pagination a,
.serene-feed-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid var(--serene-line);
	background: #fff;
	font-weight: 700;
	text-decoration: none;
	color: var(--serene-ink);
}

.serene-feed-pagination span.current {
	background: var(--serene-forest);
	color: #fff;
	border-color: var(--serene-forest);
}

.serene-contact-solo-inner {
	max-width: 560px;
	margin: 0 auto;
	padding-bottom: 72px;
}

.serene-contact-intro {
	text-align: center;
	color: var(--serene-muted);
	font-size: 15px;
	margin-bottom: 18px;
}

.serene-widget-hero {
	margin: 0;
}

.serene-home-gateway {
	position: relative;
	min-height: 660px;
	display: grid;
	align-items: end;
	background-size: cover;
	background-position: center;
	color: #fff;
	overflow: hidden;
}

.serene-home-gateway::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 18px;
	background: linear-gradient(135deg, #fff 25%, transparent 25%) 0 0 / 32px 18px repeat-x;
	z-index: 2;
}

.serene-home-gateway__inner {
	position: relative;
	z-index: 3;
	width: min(1220px, calc(100% - 48px));
	margin: 0 auto;
	padding: 92px 0 86px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 58px;
	align-items: end;
}

.serene-home-gateway__copy {
	max-width: 760px;
}

.serene-home-gateway__copy h1 {
	color: #fff;
	font-size: clamp(48px, 6.5vw, 92px);
	line-height: 0.95;
	margin: 14px 0 24px;
	text-transform: uppercase;
	font-weight: 900;
}

.serene-home-gateway__copy p {
	color: rgba(255, 255, 255, 0.92);
	font-size: 20px;
	line-height: 1.65;
	max-width: 680px;
	margin: 0 0 30px;
}

.serene-home-gateway__planner {
	background: rgba(255, 250, 241, 0.94);
	color: var(--serene-ink);
	border-radius: 8px;
	padding: 28px 28px 24px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.26);
	border: 1px solid rgba(255, 255, 255, 0.5);
}

.serene-home-gateway__planner h2 {
	color: var(--serene-forest);
	font-size: 24px;
	line-height: 1.15;
	margin: 0 0 18px;
}

.serene-home-gateway__planner ul {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: grid;
	gap: 12px;
}

.serene-home-gateway__planner li {
	position: relative;
	padding-left: 24px;
	color: var(--serene-muted);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

.serene-home-gateway__planner li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--serene-gold);
}

.serene-home-gateway__planner a {
	display: inline-flex;
	color: var(--serene-forest);
	font-weight: 900;
	text-transform: uppercase;
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 5px;
}

.serene-home-gateway__proof {
	position: relative;
	z-index: 4;
	width: min(1120px, calc(100% - 48px));
	margin: -42px auto 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	background: #fff;
	border-radius: 8px;
	box-shadow: var(--serene-shadow);
	overflow: hidden;
}

.serene-home-gateway__proof span {
	color: var(--serene-forest);
	font-size: 13px;
	font-weight: 900;
	text-align: center;
	text-transform: uppercase;
	padding: 18px 16px;
	border-right: 1px solid rgba(44, 64, 41, 0.12);
}

.serene-home-gateway__proof span:last-child {
	border-right: 0;
}

.serene-elementor-header {
	position: sticky;
	top: 0;
	z-index: 999;
}

.serene-elementor-header + .serene-elementor-header,
.serene-site-header + .serene-site-header {
	display: none;
}

body.single-elementor_library .page-title,
body.single-elementor_library .entry-title,
body.single-elementor_library .entry-header,
body.single-elementor_library .post-meta,
body.single-elementor_library .meta,
body.single-elementor_library .breadcrumb,
body.single-elementor_library .ova-breadcrumbs,
body.single-elementor_library .post-navigation,
body.single-elementor_library .share_social,
body.single-elementor_library .comments-area {
	display: none !important;
}

body.single-elementor_library .content-area,
body.single-elementor_library .site-main,
body.single-elementor_library .elementor_library {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.serene-widget-trust {
	max-width: 1180px;
	margin: -34px auto 46px;
	position: relative;
	z-index: 5;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	background: rgba(44, 64, 41, 0.22);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: var(--serene-shadow);
}

.serene-widget-trust span {
	background: #fff;
	color: var(--serene-forest);
	font-weight: 800;
	font-size: 13px;
	line-height: 1.35;
	padding: 18px 20px;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0;
}

.serene-widget-content,
.serene-widget-cards {
	padding-top: 54px;
	padding-bottom: 54px;
}

.serene-content-mode-cards .serene-feature-card {
	background: #fff;
	border: 1px solid rgba(44, 64, 41, 0.12);
	border-radius: 8px;
	box-shadow: 0 18px 54px rgba(10, 19, 15, 0.08);
}

.serene-content-mode-cards .serene-feature-card h3,
.serene-content-mode-flow .serene-lux-section h3,
.serene-accordion-item summary {
	color: var(--serene-forest);
	font-weight: 900;
	letter-spacing: 0;
}

.serene-accordion-list {
	max-width: 960px;
	margin: 0 auto;
	border-top: 1px solid rgba(44, 64, 41, 0.2);
}

.serene-accordion-item {
	border-bottom: 1px solid rgba(44, 64, 41, 0.2);
	background: #fff;
}

.serene-accordion-item summary {
	cursor: pointer;
	list-style: none;
	padding: 22px 18px;
	font-size: 18px;
}

.serene-accordion-item summary::-webkit-details-marker {
	display: none;
}

.serene-accordion-item summary::after {
	content: "+";
	float: right;
	font-size: 24px;
	line-height: 1;
	color: var(--serene-gold);
}

.serene-accordion-item[open] summary::after {
	content: "-";
}

.serene-accordion-item > div {
	padding: 0 18px 24px;
	color: var(--serene-muted);
	font-size: 15px;
	line-height: 1.72;
}

.serene-content-mode-flow .serene-content-flow {
	max-width: 980px;
	margin: 0 auto;
}

.serene-widget-cta {
	max-width: 1180px;
	border-radius: 8px;
}

.serene-widget-cards .serene-card-grid {
	margin-top: 22px;
}

.serene-price-enquiry,
.price,
.amount,
.ovabrw-price,
.elementor-table-price,
.product_meta .posted_in + span {
	display: none !important;
}

body.single-product .serene-price-enquiry {
	display: inline-flex !important;
}

.serene-single-tour .price,
.serene-single-tour .amount,
.serene-single-tour .elementor-table-price {
	display: none !important;
}

body.single-destination .serene-destination-single + .serene-destination-single,
body.single-destination footer + .serene-destination-single,
body.single-destination .elementor-location-footer + .serene-destination-single {
	display: none !important;
}

/* --- SERENE guide-mirror styling: landing, itinerary and destination templates --- */
.serene-kicker,
.serene-section-heading span {
	color: var(--serene-gold);
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.serene-kicker::before,
.serene-section-heading span::before {
	content: "";
	width: 42px;
	height: 1px;
	background: currentColor;
	opacity: 0.75;
}

.serene-home-gateway {
	min-height: 92vh;
	align-items: end;
	background-position: center;
	background-color: var(--serene-forest);
	overflow: hidden;
}

.serene-home-gateway::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(25, 17, 9, 0.82), rgba(25, 17, 9, 0.28) 56%, rgba(25, 17, 9, 0.72)),
		linear-gradient(180deg, rgba(25, 17, 9, 0.05), rgba(25, 17, 9, 0.62));
	z-index: 1;
}

.serene-home-gateway::after {
	display: none;
}

.serene-home-gateway__slides {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	background: var(--serene-forest);
}

.serene-home-gateway__slides span {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transform: scale(1.04);
	animation: sereneHeroSlide 36s infinite;
}

.serene-home-gateway__slides span:first-child {
	opacity: 1;
}

@keyframes sereneHeroSlide {
	0% {
		opacity: 0;
		transform: scale(1.04);
	}
	5%,
	18% {
		opacity: 1;
		transform: scale(1);
	}
	24%,
	100% {
		opacity: 0;
		transform: scale(1.02);
	}
}

.serene-home-gateway__inner {
	padding: 142px 0 96px;
	grid-template-columns: minmax(0, 1fr) minmax(310px, 390px);
	align-items: end;
}

.serene-home-gateway__copy h1 {
	font-size: clamp(58px, 8vw, 124px);
	font-weight: 300;
	line-height: 0.9;
	text-transform: none;
	max-width: 850px;
}

.serene-home-gateway__copy h1 em {
	color: var(--serene-gold);
	font-style: italic;
	font-weight: 300;
}

.serene-home-gateway__copy p {
	max-width: 650px;
	font-size: clamp(18px, 1.55vw, 22px);
	font-weight: 300;
	line-height: 1.75;
}

.serene-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.serene-btn,
.serene-btn:visited {
	background: var(--serene-gold);
	border: 1px solid var(--serene-gold);
	border-radius: 0;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 15px 24px;
	text-decoration: none;
}

.serene-btn:hover {
	background: #ad7f2c;
	border-color: #ad7f2c;
	color: #fff !important;
}

.serene-btn-light,
.serene-btn-light:visited,
.serene-outline-btn,
.serene-outline-btn:visited {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 0;
	color: #fff !important;
}

.serene-outline-btn {
	background: transparent;
	border-color: var(--serene-forest);
	color: var(--serene-forest) !important;
}

.serene-home-gateway__planner {
	background: rgba(250, 247, 242, 0.95);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 0;
	box-shadow: 0 34px 90px rgba(0, 0, 0, 0.28);
	padding: 34px;
}

.serene-home-gateway__planner h2 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: 31px;
	font-weight: 400;
	line-height: 1.05;
}

.serene-home-gateway__planner li {
	color: var(--serene-muted);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.serene-home-gateway__planner li::before {
	background: var(--serene-gold);
	border-radius: 0;
	height: 1px;
	top: 12px;
	width: 12px;
}

.serene-home-gateway__planner a {
	color: var(--serene-forest);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.serene-home-gateway__audience {
	position: relative;
	z-index: 4;
	width: min(1120px, calc(100% - 48px));
	margin: -36px auto 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: #fff;
	box-shadow: var(--serene-shadow);
}

.serene-home-gateway__audience a {
	color: var(--serene-forest);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 22px 20px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	border-right: 1px solid var(--serene-line);
}

.serene-home-gateway__audience a:last-child {
	border-right: 0;
}

.serene-home-gateway__audience a.is-active,
.serene-home-gateway__audience a:hover {
	background: var(--serene-gold);
	color: #fff;
}

.serene-home-gateway__proof,
.serene-widget-trust {
	width: min(1120px, calc(100% - 48px));
	margin: 0 auto 36px;
	border-radius: 0;
	box-shadow: none;
	background: var(--serene-forest);
}

.serene-home-gateway__proof {
	position: relative;
	z-index: 3;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.serene-home-gateway__proof span,
.serene-widget-trust span {
	background: var(--serene-forest);
	border-right: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.78);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	padding: 22px 18px;
}

.serene-widget-trust span {
	background: transparent;
}

/* Native Tripgo/OVA tour and destination widgets, tuned to SERENE card style. */
.ova-product-list,
.ova-product-slider,
.ova-product-filter-ajax .ova-product-filter-content,
.ova-destination .content-destination {
	gap: 32px !important;
}

.ova-product-list .ova-product,
.ova-product-slider .ova-product,
.ova-product-filter-ajax .ova-product,
.elementor-widget-ovabrw_product_list .ova-product,
.elementor-widget-ovabrw_product_slider .ova-product {
	background: #fff !important;
	border: 1px solid rgba(7, 40, 92, 0.08) !important;
	border-radius: 0 !important;
	box-shadow: 0 28px 70px rgba(7, 40, 92, 0.1) !important;
	overflow: hidden !important;
	position: relative !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ova-product-list .ova-product:hover,
.ova-product-slider .ova-product:hover,
.ova-product-filter-ajax .ova-product:hover {
	box-shadow: 0 34px 92px rgba(7, 40, 92, 0.16) !important;
	transform: translateY(-5px);
}

.ova-product-list .ova-product .ova_head_product,
.ova-product-slider .ova-product .ova_head_product,
.ova-product-filter-ajax .ova-product .ova_head_product {
	border-radius: 0 !important;
	height: auto !important;
	overflow: hidden !important;
}

.ova-product-list .ova-product .ova-product-thumbnail,
.ova-product-slider .ova-product .ova-product-thumbnail,
.ova-product-filter-ajax .ova-product .ova-product-thumbnail {
	display: block !important;
	aspect-ratio: 1.55 / 1 !important;
	overflow: hidden !important;
}

.ova-product-list .ova-product .ova-product-thumbnail img,
.ova-product-slider .ova-product .ova-product-thumbnail img,
.ova-product-filter-ajax .ova-product .ova-product-thumbnail img,
.ova-product-list .ova-product .ova_head_product img,
.ova-product-slider .ova-product .ova_head_product img,
.ova-product-filter-ajax .ova-product .ova_head_product img {
	width: 100% !important;
	height: 100% !important;
	min-height: 250px !important;
	object-fit: cover !important;
	transform: scale(1);
	transition: transform 0.35s ease;
}

.ova-product-list .ova-product:hover .ova_head_product img,
.ova-product-slider .ova-product:hover .ova_head_product img,
.ova-product-filter-ajax .ova-product:hover .ova_head_product img {
	transform: scale(1.05);
}

.ova-product-list .ova-product .ova_foot_product,
.ova-product-slider .ova-product .ova_foot_product,
.ova-product-filter-ajax .ova-product .ova_foot_product {
	background: #fff !important;
	padding: 34px 34px 30px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	min-height: 280px;
}

.ova-product-list .ova-product .ova-tour-day,
.ova-product-slider .ova-product .ova-tour-day,
.ova-product-filter-ajax .ova-product .ova-tour-day {
	position: absolute !important;
	left: 22px !important;
	top: 224px !important;
	z-index: 4 !important;
	background: var(--serene-cyan) !important;
	border-radius: 0 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	padding: 12px 16px !important;
	box-shadow: 0 16px 34px rgba(73, 201, 220, 0.28);
}

.ova-product-list .ova-product .ova-product-title,
.ova-product-slider .ova-product .ova-product-title,
.ova-product-filter-ajax .ova-product .ova-product-title {
	margin: 0 !important;
	padding: 0 !important;
}

.ova-product-list .ova-product .serene-ova-tour-card__code,
.ova-product-slider .ova-product .serene-ova-tour-card__code,
.ova-product-filter-ajax .ova-product .serene-ova-tour-card__code {
	color: var(--serene-cyan) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 0.14em !important;
	margin-bottom: 12px !important;
	text-transform: uppercase !important;
}

.ova-product-list .ova-product .ova-product-title a,
.ova-product-slider .ova-product .ova-product-title a,
.ova-product-filter-ajax .ova-product .ova-product-title a {
	color: var(--serene-navy) !important;
	font-family: var(--serene-display) !important;
	font-size: clamp(24px, 2vw, 32px) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.04 !important;
	text-transform: uppercase !important;
}

.ova-product-list .ova-product .ova-product-location,
.ova-product-slider .ova-product .ova-product-location,
.ova-product-filter-ajax .ova-product .ova-product-location {
	color: var(--serene-muted) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

.ova-product-list .ova-product .serene-ova-tour-card__excerpt,
.ova-product-slider .ova-product .serene-ova-tour-card__excerpt,
.ova-product-filter-ajax .ova-product .serene-ova-tour-card__excerpt {
	color: var(--serene-muted) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	margin: 14px 0 16px !important;
}

.ova-product-list .ova-product .ova-product-review,
.ova-product-slider .ova-product .ova-product-review,
.ova-product-filter-ajax .ova-product .ova-product-review,
.ova-product-list .ova-product .ova-product-price,
.ova-product-slider .ova-product .ova-product-price,
.ova-product-filter-ajax .ova-product .ova-product-price {
	display: none !important;
}

.ova-product-list .ova-product .ova-product-review-and-price,
.ova-product-slider .ova-product .ova-product-review-and-price,
.ova-product-filter-ajax .ova-product .ova-product-review-and-price {
	margin-top: auto !important;
}

.ova-product-list .ova-product .ova-product-wrapper-price,
.ova-product-slider .ova-product .ova-product-wrapper-price,
.ova-product-filter-ajax .ova-product .ova-product-wrapper-price {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin: 0 !important;
}

.ova-product-list .ova-product .product-btn-book-now,
.ova-product-slider .ova-product .product-btn-book-now,
.ova-product-filter-ajax .ova-product .product-btn-book-now {
	background: transparent !important;
	border: 1px solid var(--serene-cyan) !important;
	border-radius: 999px !important;
	color: var(--serene-navy) !important;
	font-size: 0 !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	padding: 14px 22px !important;
	text-transform: uppercase !important;
}

.ova-product-list .ova-product .product-btn-book-now span,
.ova-product-slider .ova-product .product-btn-book-now span,
.ova-product-filter-ajax .ova-product .product-btn-book-now span {
	display: none !important;
}

.ova-product-list .ova-product .product-btn-book-now::after,
.ova-product-slider .ova-product .product-btn-book-now::after,
.ova-product-filter-ajax .ova-product .product-btn-book-now::after {
	content: "View Itinerary";
	font-size: 12px;
}

.ova-product-list .ova-product .product-btn-book-now:hover,
.ova-product-slider .ova-product .product-btn-book-now:hover,
.ova-product-filter-ajax .ova-product .product-btn-book-now:hover {
	background: var(--serene-cyan) !important;
	color: #fff !important;
}

.ova-destination .item-destination,
.ova-destination-slider .item-destination,
.archive_destination .item-destination {
	background: #fff !important;
	border: 1px solid rgba(7, 40, 92, 0.08) !important;
	border-radius: 0 !important;
	box-shadow: 0 28px 70px rgba(7, 40, 92, 0.1) !important;
	overflow: hidden !important;
	min-height: 380px;
	position: relative !important;
}

.serene-ova-destination-card__link {
	color: inherit !important;
	display: block !important;
	height: 100% !important;
	text-decoration: none !important;
}

.ova-destination .item-destination .img,
.ova-destination-slider .item-destination .img,
.archive_destination .item-destination .img {
	height: 250px !important;
	overflow: hidden !important;
}

.ova-destination .item-destination .img img,
.ova-destination-slider .item-destination .img img,
.archive_destination .item-destination .img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform 0.35s ease;
}

.ova-destination .item-destination:hover .img img,
.ova-destination-slider .item-destination:hover .img img,
.archive_destination .item-destination:hover .img img {
	transform: scale(1.05);
}

.ova-destination .item-destination .mask,
.ova-destination-slider .item-destination .mask,
.archive_destination .item-destination .mask {
	background: linear-gradient(180deg, rgba(7, 24, 50, 0), rgba(7, 24, 50, 0.58)) !important;
}

.ova-destination .item-destination .info,
.ova-destination-slider .item-destination .info,
.archive_destination .item-destination .info {
	background: #fff !important;
	inset: auto 0 0 !important;
	min-height: 172px !important;
	padding: 26px 28px 30px !important;
	position: absolute !important;
	text-align: left !important;
}

.ova-destination .item-destination .info .name,
.ova-destination-slider .item-destination .info .name,
.archive_destination .item-destination .info .name {
	color: var(--serene-navy) !important;
	font-family: var(--serene-display) !important;
	font-size: 31px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	margin: 0 0 10px !important;
	text-transform: none !important;
}

.ova-destination .item-destination .count-tour,
.ova-destination-slider .item-destination .count-tour,
.archive_destination .item-destination .count-tour {
	color: var(--serene-cyan) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

.serene-ova-destination-card__summary {
	color: var(--serene-muted) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	margin: 0 0 16px !important;
}

.serene-ova-destination-card__cta {
	border-bottom: 1px solid currentColor;
	color: var(--serene-navy) !important;
	display: inline-block;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.12em;
	margin-top: 14px;
	text-transform: uppercase;
}

.serene-native-reasons {
	background: var(--serene-ivory);
	padding: 96px 0 22px;
}

.serene-native-reasons > .elementor-container,
.serene-native-reasons-grid > .elementor-container {
	width: min(80vw, 1320px) !important;
	max-width: 1320px !important;
}

.serene-native-reasons .elementor-heading-title {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(38px, 5vw, 76px);
	font-weight: 400;
	line-height: 0.98;
	max-width: 820px;
}

.serene-native-reasons .serene-native-kicker .elementor-heading-title {
	color: var(--serene-cyan);
	font-family: inherit;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.18em;
	line-height: 1.3;
	margin-bottom: 22px;
	text-transform: uppercase;
}

.serene-native-reasons-grid {
	background: var(--serene-ivory);
	padding: 22px 0 96px;
}

.serene-native-reasons-grid .elementor-widget-icon-box {
	background: #fff;
	border: 1px solid rgba(7, 40, 92, 0.08);
	box-shadow: 0 28px 70px rgba(7, 40, 92, 0.1);
	height: 100%;
	padding: 34px 28px;
}

.serene-native-reasons-grid .elementor-icon {
	background: var(--serene-cyan);
	border-radius: 50%;
	color: #fff;
	font-size: 18px;
	height: 46px;
	width: 46px;
}

.serene-native-reasons-grid .elementor-icon-box-title {
	margin: 20px 0 12px;
}

.serene-native-reasons-grid .elementor-icon-box-title,
.serene-native-reasons-grid .elementor-icon-box-title span {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.05;
}

.serene-native-reasons-grid .elementor-icon-box-description {
	color: var(--serene-muted);
	font-size: 15px;
	line-height: 1.75;
}

.serene-section,
.serene-widget-content,
.serene-widget-cards {
	background: var(--serene-cream);
}

.serene-section-heading {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.serene-section-heading h2 {
	color: var(--serene-forest);
	font-size: clamp(42px, 5.4vw, 74px);
	font-weight: 300;
	line-height: 0.98;
	margin-top: 12px;
	text-transform: none;
}

.serene-section-heading h2 em {
	color: var(--serene-gold);
	font-style: italic;
}

.serene-widget-cards,
.serene-widget-content {
	padding: 78px max(28px, calc((100vw - 1240px) / 2));
}

.serene-card-grid {
	gap: 28px;
}

.serene-card {
	border: 0;
	border-radius: 0;
	box-shadow: 0 24px 70px rgba(59, 42, 26, 0.11);
	overflow: hidden;
}

.serene-card-image {
	aspect-ratio: 5 / 4;
	border-radius: 0;
}

.serene-card-image img,
.serene-day-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s ease;
}

.serene-card:hover .serene-card-image img {
	transform: scale(1.05);
}

.serene-card-image span {
	background: var(--serene-gold);
	border-radius: 0;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.serene-card-body {
	padding: 28px;
}

.serene-card-body small {
	color: var(--serene-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.serene-card-body h3 {
	color: var(--serene-forest);
	font-size: 30px;
	font-weight: 400;
	line-height: 1.05;
}

.serene-card-body p,
.serene-content-mode-cards .serene-feature-card p {
	color: var(--serene-muted);
	font-size: 15px;
	line-height: 1.7;
}

.serene-card-link {
	background: transparent;
	border-bottom: 1px solid var(--serene-gold);
	color: var(--serene-forest) !important;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	padding: 0 0 5px;
	text-transform: uppercase;
}

.serene-content-mode-cards .serene-feature-card,
.serene-lux-section {
	background: #fff;
	border: 1px solid var(--serene-line);
	border-left: 0;
	border-radius: 0;
	box-shadow: 0 20px 60px rgba(59, 42, 26, 0.08);
	padding: 34px;
}

.serene-section-closing {
	color: var(--serene-ink) !important;
	font-size: 18px !important;
	line-height: 1.55 !important;
	margin-top: 18px !important;
}

.serene-section-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 26px;
}

.serene-section-actions .serene-btn::after {
	content: "\2192";
	margin-left: 10px;
}

.serene-section-actions .serene-btn-outline {
	background: transparent;
	border-color: var(--serene-line);
	color: var(--serene-forest) !important;
}

.serene-section-actions .serene-btn-outline:hover {
	background: var(--serene-accent);
	border-color: var(--serene-accent);
	color: #fff !important;
}

.serene-quote-request {
	background: var(--serene-cream);
	display: grid;
	gap: 28px;
	grid-template-columns: 1fr;
	width: 100%;
}

.serene-quote-request__intro {
	background:
		linear-gradient(160deg, rgba(6, 29, 115, 0.92), rgba(6, 23, 93, 0.82)),
		linear-gradient(135deg, #061d73 0%, #0a777f 100%);
	color: #fff;
	padding: clamp(44px, 6vw, 86px) max(24px, calc((100vw - 1180px) / 2));
}

.serene-quote-request__intro h1 {
	color: #fff;
	font-family: var(--serene-display);
	font-size: clamp(42px, 5vw, 76px);
	font-weight: 300;
	line-height: 1;
	margin: 16px 0 18px;
	max-width: 860px;
}

.serene-quote-request__intro p {
	color: rgba(255, 255, 255, 0.82);
	font-size: 18px;
	line-height: 1.65;
	margin: 0;
	max-width: 900px;
}

.serene-quote-guide {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 30px;
	max-width: 1180px;
}

.serene-quote-guide span {
	border: 1px solid rgba(255, 255, 255, 0.16);
	display: grid;
	gap: 8px;
	padding: 20px;
}

.serene-quote-guide strong {
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.serene-quote-guide small {
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	line-height: 1.55;
}

.serene-quote-request__panel {
	background:
		linear-gradient(160deg, rgba(6, 29, 115, 0.94), rgba(6, 23, 93, 0.86)),
		linear-gradient(135deg, #061d73 0%, #0a777f 100%);
	color: #fff;
	padding: clamp(42px, 5vw, 78px);
	position: sticky;
	top: 128px;
	min-height: calc(100vh - 128px);
	align-self: start;
}

.serene-quote-request__panel h1 {
	color: #fff;
	font-family: var(--serene-display);
	font-size: clamp(42px, 4.4vw, 76px);
	font-weight: 300;
	line-height: 0.98;
	margin: 18px 0 24px;
}

.serene-quote-request__panel p {
	color: rgba(255, 255, 255, 0.76);
	font-size: 16px;
	line-height: 1.75;
}

.serene-quote-steps {
	display: grid;
	gap: 0;
	margin-top: 34px;
}

.serene-quote-steps div {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	display: grid;
	gap: 6px 16px;
	grid-template-columns: 38px 1fr;
	padding: 20px 0;
}

.serene-quote-steps span {
	align-items: center;
	border: 1px solid rgba(79, 215, 234, 0.55);
	color: var(--serene-gold);
	display: inline-flex;
	font-family: var(--serene-display);
	font-size: 18px;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.serene-quote-steps strong {
	color: #fff;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.serene-quote-steps small {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
	line-height: 1.55;
}

.serene-quote-trust {
	border-top: 1px solid rgba(255, 255, 255, 0.14);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 28px;
	padding-top: 26px;
}

.serene-quote-trust span {
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: rgba(255, 255, 255, 0.72);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	padding: 8px 10px;
	text-transform: uppercase;
}

.serene-quote-request__form-wrap {
	padding: 10px max(24px, calc((100vw - 1180px) / 2)) clamp(56px, 6vw, 96px);
}

.serene-quote-path {
	display: grid;
	gap: 24px;
}

.serene-path-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.serene-path-labels {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.serene-path-labels label {
	background: #fff;
	border: 1px solid var(--serene-line);
	box-shadow: 0 16px 44px rgba(6, 29, 115, 0.06);
	cursor: pointer;
	display: grid;
	gap: 6px;
	padding: 20px 22px;
	transition: all 0.2s ease;
}

.serene-path-labels strong {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: 30px;
	font-weight: 400;
	line-height: 1;
}

.serene-path-labels small {
	color: var(--serene-muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.serene-path-radio--traveller:checked ~ .serene-path-labels [data-path="traveller"],
.serene-path-radio--agency:checked ~ .serene-path-labels [data-path="agency"] {
	background: var(--serene-ink);
	border-color: var(--serene-ink);
	transform: translateY(-2px);
}

.serene-path-radio--traveller:checked ~ .serene-path-labels [data-path="traveller"] strong,
.serene-path-radio--traveller:checked ~ .serene-path-labels [data-path="traveller"] small,
.serene-path-radio--agency:checked ~ .serene-path-labels [data-path="agency"] strong,
.serene-path-radio--agency:checked ~ .serene-path-labels [data-path="agency"] small {
	color: #fff;
}

.serene-path-forms .serene-quote-form {
	display: none;
}

.serene-path-radio--traveller:checked ~ .serene-path-forms .serene-traveller-form,
.serene-path-radio--agency:checked ~ .serene-path-forms .serene-agency-form {
	display: block;
}

.serene-quote-form,
.serene-form-success {
	background: #fff;
	border: 1px solid var(--serene-line);
	box-shadow: 0 24px 70px rgba(6, 29, 115, 0.08);
	padding: clamp(28px, 4vw, 54px);
}

.serene-form-intro {
	border-bottom: 1px solid var(--serene-line);
	margin-bottom: 26px;
	padding-bottom: 22px;
}

.serene-form-intro h2 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: clamp(34px, 3.2vw, 52px);
	font-weight: 400;
	line-height: 1;
	margin: 0 0 10px;
}

.serene-form-intro p {
	color: var(--serene-muted);
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
}

.serene-form-success {
	margin-bottom: 24px;
}

.serene-form-success h2 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: clamp(30px, 3vw, 44px);
	font-weight: 400;
	line-height: 1.05;
	margin: 0 0 10px;
}

.serene-form-toggle {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 30px;
}

.serene-form-toggle label {
	cursor: pointer;
}

.serene-form-toggle input {
	position: absolute;
	opacity: 0;
}

.serene-form-toggle span {
	border: 1px solid var(--serene-line);
	color: var(--serene-muted);
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	padding: 16px;
	text-align: center;
	text-transform: uppercase;
}

.serene-form-toggle input:checked + span {
	background: var(--serene-ink);
	border-color: var(--serene-ink);
	color: #fff;
}

.serene-form-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-form-grid--traveller {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-quote-form label {
	color: var(--serene-forest);
	display: grid;
	font-size: 12px;
	font-weight: 800;
	gap: 8px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.serene-quote-form input,
.serene-quote-form textarea {
	background: var(--serene-cream);
	border: 1px solid var(--serene-line);
	color: var(--serene-ink);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
	padding: 15px 16px;
	text-transform: none;
	width: 100%;
}

.serene-form-wide {
	margin: 22px 0;
}

.serene-quote-form textarea {
	resize: vertical;
}

.serene-service-checks {
	border: 1px solid var(--serene-line);
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 22px 0;
	padding: 20px;
}

.serene-service-checks legend {
	color: var(--serene-forest);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.09em;
	padding: 0 10px;
	text-transform: uppercase;
}

.serene-service-checks label {
	align-items: center;
	display: flex;
	flex-direction: row;
	font-size: 13px;
	gap: 10px;
	letter-spacing: 0;
	text-transform: none;
}

.serene-service-checks input {
	width: auto;
}

.serene-image-band,
.serene-media-gallery {
	width: min(80vw, 1600px);
	margin: 0 auto;
	padding: 76px 0;
}

.serene-image-band {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
	gap: clamp(30px, 5vw, 72px);
	align-items: center;
}

.serene-image-band--reverse .serene-image-band__media {
	order: 2;
}

.serene-image-band__media,
.serene-media-gallery figure {
	background: var(--serene-sand);
	margin: 0;
	overflow: hidden;
}

.serene-image-band__media {
	aspect-ratio: 5 / 4;
	box-shadow: 0 28px 74px rgba(6, 29, 115, 0.12);
}

.serene-image-band__media img,
.serene-media-gallery img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.serene-image-band__copy {
	background: #fff;
	border: 1px solid var(--serene-line);
	box-shadow: 0 22px 70px rgba(6, 29, 115, 0.08);
	padding: clamp(32px, 4vw, 58px);
}

.serene-image-band__copy h2 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: clamp(34px, 4vw, 58px);
	font-weight: 400;
	line-height: 1;
	margin: 14px 0 18px;
}

.serene-image-band__copy p {
	color: var(--serene-muted);
	font-size: 17px;
	line-height: 1.75;
}

.serene-media-gallery .serene-section-heading {
	margin-bottom: 28px;
}

.serene-media-gallery__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
	gap: 18px;
}

.serene-media-gallery__lead {
	aspect-ratio: 4 / 3;
}

.serene-media-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.serene-media-gallery__thumbs figure {
	aspect-ratio: 4 / 3;
}

.serene-feature-card h3,
.serene-lux-section h3 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: 30px;
	font-weight: 400;
	text-transform: none;
}

.serene-check-list {
	columns: 1;
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

.serene-check-list li {
	border-top: 1px solid var(--serene-line);
	color: var(--serene-muted);
	font-size: 14px;
	font-weight: 500;
	padding: 10px 0 0 22px;
	position: relative;
}

.serene-check-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 18px;
	width: 9px;
	height: 9px;
	background: var(--serene-gold);
}

.serene-widget-cta,
.serene-cta-band {
	background: var(--serene-accent);
	border-radius: 0;
	color: #fff;
}

.serene-widget-cta h2,
.serene-cta-band h2 {
	font-size: clamp(40px, 5vw, 70px);
	font-weight: 300;
	text-transform: none;
}

.serene-itinerary-page,
.serene-destination-single {
	background: var(--serene-cream);
}

.serene-itinerary-hero,
.serene-destination-hero {
	min-height: 74vh;
	align-items: flex-end;
	justify-content: flex-start;
	padding: 136px max(28px, calc((100vw - 1240px) / 2)) 78px;
	text-align: left;
}

.serene-itinerary-hero::after,
.serene-destination-hero::after {
	display: none;
}

.serene-itinerary-hero-inner,
.serene-destination-hero > div {
	max-width: 1040px;
	margin: 0;
}

.serene-itinerary-hero h1,
.serene-destination-hero h1 {
	font-size: clamp(58px, 8vw, 116px);
	font-weight: 300;
	line-height: 0.92;
	margin: 18px 0;
	text-transform: none;
}

.serene-itinerary-hero p,
.serene-destination-hero p {
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.03em;
	margin: 0 0 24px;
	max-width: 720px;
	text-align: left;
	text-transform: none;
}

.serene-ih-breadcrumb,
.serene-dh-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 13px;
	margin-bottom: 24px;
}

.serene-ih-breadcrumb a,
.serene-dh-breadcrumb a {
	color: #fff;
	text-decoration: none;
}

.serene-ih-tags,
.serene-dh-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.serene-ih-tag,
.serene-dh-stat {
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.26);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	padding: 9px 12px;
	text-transform: uppercase;
}

.serene-tour-tabs {
	top: 0;
	background: #fff;
	border-bottom: 1px solid var(--serene-line);
	box-shadow: 0 12px 38px rgba(59, 42, 26, 0.07);
	gap: 20px;
	justify-content: center;
	padding: 16px 28px;
}

.serene-tour-tabs a {
	border-radius: 0;
	color: var(--serene-forest);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 10px 12px;
}

.serene-tour-tabs a.is-active,
.serene-tour-tabs .serene-tab-quote {
	background: var(--serene-gold);
	border: 1px solid var(--serene-gold);
	color: #fff;
}

.serene-breadcrumb-wrap {
	display: none;
}

.serene-itinerary-layout,
.serene-destination-layout {
	gap: 56px;
	padding-top: 74px;
}

.serene-copy-panel,
.serene-day-card,
.serene-detail-panel,
.serene-quote-card,
.serene-dream-strip,
.serene-info-grid,
.serene-destination-content .serene-copy-panel {
	background: #fff;
	border: 1px solid var(--serene-line);
	border-radius: 0;
	box-shadow: 0 22px 70px rgba(59, 42, 26, 0.08);
	clip-path: none;
}

.serene-copy-panel {
	border-top: 4px solid var(--serene-gold);
	padding: 48px;
}

.serene-copy-panel h2,
.serene-day-copy h3,
.serene-info-grid h2,
.serene-info-grid h3,
.serene-detail-panel .serene-section-heading h2,
.serene-destination-content h2 {
	color: var(--serene-forest);
	font-weight: 400;
	text-transform: none;
}

.serene-copy-panel p:first-of-type {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: clamp(26px, 3vw, 38px);
	font-style: italic;
	font-weight: 300;
	line-height: 1.25;
}

.serene-copy-panel p,
.serene-day-copy p,
.serene-info-grid p,
.serene-destination-content p,
.serene-destination-content li {
	color: var(--serene-muted);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.82;
}

.serene-dream-strip {
	background: var(--serene-forest);
}

.serene-dream-strip h2 {
	font-family: var(--serene-display);
	font-size: 40px;
	font-weight: 400;
	text-transform: none;
}

.serene-itinerary-list::before {
	background: repeating-linear-gradient(to bottom, rgba(107, 124, 106, 0.45), rgba(107, 124, 106, 0.45) 10px, transparent 10px, transparent 22px);
	left: 24px;
}

.serene-day-card {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr);
	margin-left: 58px;
	padding: 42px;
}

.serene-day-card-text {
	margin-left: 58px;
}

.serene-day-card::after {
	left: -34px;
	top: 46px;
	border-color: var(--serene-accent);
	background: var(--serene-cream);
}

.serene-day-label {
	color: var(--serene-gold);
	font-size: 42px;
	font-family: var(--serene-sans);
	font-weight: 700;
	letter-spacing: 0.03em;
}

.serene-day-copy h3 {
	font-size: 34px;
	line-height: 1.05;
}

.serene-day-image img {
	aspect-ratio: 4 / 3;
	box-shadow: none;
}

.serene-detail-panel {
	padding: 38px;
}

.serene-detail-panel::before {
	display: none;
}

.serene-detail-panel--notes {
	background: var(--serene-forest);
}

.serene-included-list,
.serene-excluded-list,
.serene-accommodation-list,
.serene-notes-list {
	gap: 16px;
}

.serene-included-list li,
.serene-excluded-list li,
.serene-accommodation-list li,
.serene-notes-list li {
	color: var(--serene-ink);
	font-weight: 500;
	line-height: 1.5;
}

.serene-detail-panel--notes li {
	color: rgba(255, 255, 255, 0.88);
}

.serene-included-list span,
.serene-excluded-list span,
.serene-accommodation-list span,
.serene-notes-list span {
	background: var(--serene-gold);
}

.serene-excluded-list span,
.serene-notes-list span {
	background: transparent;
	border-color: var(--serene-gold);
}

.serene-quote-card {
	background: var(--serene-sand);
	padding: 34px;
}

.serene-quote-card h2 {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: 34px;
	font-weight: 400;
	line-height: 1.05;
	text-transform: none;
}

.serene-side-duration,
.serene-price-note {
	color: var(--serene-muted);
	font-size: 14px;
	font-weight: 400;
}

.serene-destination-hero > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 380px);
	gap: 64px;
	align-items: end;
	width: min(1240px, 100%);
}

.serene-dh-title {
	color: #fff;
	font-size: clamp(68px, 10vw, 140px);
	font-weight: 300;
	line-height: 0.88;
	margin: 12px 0;
}

.serene-dh-region {
	color: var(--serene-gold);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.serene-dh-subtitle {
	color: rgba(255, 255, 255, 0.88);
	font-family: var(--serene-display);
	font-size: clamp(28px, 3.6vw, 48px);
	font-style: italic;
	font-weight: 300;
}

.serene-dh-stats {
	display: grid;
	gap: 12px;
}

.serene-dh-stat {
	background: rgba(250, 247, 242, 0.14);
	display: grid;
	gap: 5px;
}

.serene-dh-stat strong {
	color: var(--serene-gold);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.serene-dh-stat span {
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}

.serene-destination-anchor {
	position: sticky;
	top: 0;
	z-index: 18;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	background: #fff;
	border-bottom: 1px solid var(--serene-line);
	box-shadow: 0 12px 38px rgba(59, 42, 26, 0.07);
	padding: 16px 24px;
}

.serene-destination-anchor a {
	color: var(--serene-forest);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-transform: uppercase;
}

.serene-destination-anchor .serene-tab-quote {
	background: var(--serene-gold);
	color: #fff;
	padding: 10px 14px;
}

.serene-destination-content h3,
.serene-destination-content p:nth-child(3),
.serene-destination-content p:nth-child(8),
.serene-destination-content p:nth-child(14) {
	color: var(--serene-forest);
	font-family: var(--serene-display);
	font-size: 30px;
	font-weight: 400;
	text-transform: none;
}

@media (min-width: 1500px) {
	.serene-nav-wrap {
		max-width: 1600px;
	}

	.serene-home-gateway__inner {
		width: min(1600px, calc(100% - 96px));
		grid-template-columns: minmax(0, 1fr) minmax(380px, 460px);
	}

	.serene-home-gateway__audience,
	.serene-home-gateway__proof,
	.serene-widget-trust {
		width: min(1480px, calc(100% - 96px));
	}

	.serene-home-gateway__copy h1 {
		max-width: 980px;
		font-size: clamp(86px, 6.2vw, 142px);
	}

	.serene-home-gateway__copy p {
		max-width: 820px;
	}

	.serene-widget-cards,
	.serene-widget-content,
	.serene-home-styles {
		padding-left: max(48px, calc((100vw - 1600px) / 2));
		padding-right: max(48px, calc((100vw - 1600px) / 2));
	}

	.serene-section-heading,
	.serene-itinerary-layout,
	.serene-destination-layout,
	.serene-premium-layout,
	.serene-listing-shell,
	.serene-home-split,
	.serene-home-source,
	.serene-home-quote,
	.serene-itinerary-final-cta,
	.serene-doc-hero > div,
	.serene-cta-band {
		max-width: 1600px;
	}

	.serene-itinerary-hero-inner,
	.serene-destination-hero > div {
		max-width: 1600px;
	}

	.serene-itinerary-layout {
		grid-template-columns: minmax(0, 1fr) 440px;
	}

	.serene-destination-layout {
		grid-template-columns: minmax(0, 1fr) 420px;
	}

	.serene-card-grid {
		gap: 34px;
	}

	.serene-card-body {
		padding: 34px;
	}
}

@media (min-width: 1025px) {
	body:not(.elementor-editor-active) .elementor-section.elementor-section-boxed > .elementor-container,
	body:not(.elementor-editor-active) .e-con-boxed > .e-con-inner {
		width: 80vw !important;
		max-width: 80vw !important;
	}

	.serene-widget-cards,
	.serene-widget-content,
	.serene-widget-cta,
	.serene-widget-trust {
		width: 80vw !important;
		max-width: 80vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	.serene-section-heading,
	.serene-widget-cards > .serene-card-grid,
	.serene-widget-content > .serene-feature-grid,
	.serene-widget-content > .serene-content-flow,
	.serene-widget-content > .serene-accordion-list,
	.serene-content-mode-flow .serene-content-flow,
	.serene-content-mode-accordion .serene-accordion-list,
	.serene-itinerary-layout,
	.serene-destination-layout,
	.serene-premium-layout,
	.serene-listing-shell,
	.serene-home-split,
	.serene-home-source,
	.serene-home-quote,
	.serene-archive-section,
	.serene-related-tours,
	.serene-cta-band {
		width: 80vw !important;
		max-width: 80vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box;
	}

	.serene-widget-cards > .serene-section-heading,
	.serene-widget-content > .serene-section-heading {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.serene-card-grid,
	.serene-feature-grid {
		width: 100%;
		max-width: none;
	}

	.serene-card-grid--cols2,
	.serene-home-destinations .serene-card-grid {
		grid-template-columns: repeat(2, minmax(320px, 1fr));
	}

	.serene-card-grid--cols3 {
		grid-template-columns: repeat(3, minmax(280px, 1fr));
	}

	.serene-card-grid--cols4 {
		grid-template-columns: repeat(4, minmax(240px, 1fr));
	}

	.serene-content-mode-cards .serene-feature-grid {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	}

	.serene-content-mode-flow .serene-lux-section {
		display: grid;
		grid-template-columns: minmax(240px, 0.34fr) minmax(0, 1fr);
		gap: 14px 56px;
		padding: 48px;
	}

	.serene-content-mode-flow .serene-lux-section h3 {
		grid-row: 1 / span 12;
		font-size: clamp(30px, 2.2vw, 42px);
		line-height: 1.02;
		max-width: 320px;
	}

	.serene-content-mode-flow .serene-lux-section p,
	.serene-content-mode-flow .serene-lux-section ul,
	.serene-content-mode-flow .serene-lux-section .serene-section-actions {
		grid-column: 2;
	}

	.serene-content-mode-cards .serene-feature-card h3 {
		font-size: clamp(24px, 1.7vw, 30px);
		line-height: 1.08;
	}

	.serene-card-grid--compact .serene-card-body {
		padding: 26px 28px;
	}

	.serene-card-grid--compact .serene-card-body h3 {
		font-size: 24px;
		line-height: 1.15;
	}

	.serene-card-grid--compact .serene-card-body p {
		font-size: 15px;
		line-height: 1.65;
	}

	.serene-home-gateway__copy h1 {
		font-size: clamp(48px, 4.8vw, 82px) !important;
		line-height: 0.98 !important;
		max-width: 820px;
	}

	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title {
		font-size: clamp(38px, 4.2vw, 64px) !important;
		line-height: 1.02 !important;
	}

	.serene-section-heading h2 {
		font-size: clamp(30px, 2.8vw, 44px) !important;
		line-height: 1.08 !important;
	}

	.serene-copy-panel h2,
	.serene-detail-panel h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content h2,
	.serene-lux-section h2,
	.serene-cta-band h2,
	.serene-widget-cta h2 {
		font-size: clamp(26px, 2.3vw, 36px) !important;
		line-height: 1.12 !important;
	}

	.serene-day-copy h3,
	.serene-destination-content h3,
	.serene-info-grid h3 {
		font-size: clamp(24px, 2.1vw, 32px) !important;
		line-height: 1.15 !important;
	}

	.serene-dh-subtitle {
		font-size: clamp(18px, 2vw, 28px) !important;
		line-height: 1.35 !important;
	}
}

@media (max-width: 900px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	.serene-topbar,
	.serene-nav-wrap,
	.serene-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.serene-topbar,
	.serene-nav-wrap {
		box-sizing: border-box;
		width: 100%;
	}

	.serene-primary-nav {
		width: 100%;
		overflow-x: hidden;
	}

	.serene-menu {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 16px;
		justify-content: stretch;
		width: 100%;
	}

	.serene-menu .sub-menu {
		box-shadow: none;
		display: block;
		grid-column: 1 / -1;
		min-width: 0;
		padding: 8px 0 0 12px;
		position: static;
	}

	.serene-menu a {
		font-size: 13px;
		white-space: normal;
	}

	.serene-quote-request {
		grid-template-columns: 1fr;
	}

	.serene-quote-request__intro {
		padding: 46px 24px 34px;
	}

	.serene-quote-request__intro h1 {
		font-size: clamp(34px, 8vw, 48px);
	}

	.serene-quote-guide {
		grid-template-columns: 1fr;
	}

	.serene-quote-request__panel {
		display: none;
		min-height: auto;
		position: relative;
		top: auto;
	}

	.serene-image-band,
	.serene-media-gallery {
		width: calc(100% - 32px);
		padding: 44px 0;
	}

	.serene-image-band,
	.serene-media-gallery__grid {
		grid-template-columns: 1fr;
	}

	.serene-image-band--reverse .serene-image-band__media {
		order: 0;
	}

	.serene-form-grid,
	.serene-form-toggle,
	.serene-path-labels,
	.serene-form-grid--traveller,
	.serene-service-checks {
		grid-template-columns: 1fr;
	}

	.serene-hero,
	.serene-single-hero,
	.serene-footer-grid,
	.serene-card-grid,
	.serene-feature-grid,
	.serene-tour-meta {
		grid-template-columns: 1fr;
	}

	.serene-footer-grid,
	.serene-footer-bottom {
		width: 100%;
		max-width: none;
	}

	.serene-hero,
	.serene-single-hero {
		min-height: auto;
		padding-top: 54px;
	}

	.serene-check-list {
		columns: 1;
	}

	.serene-tour-tabs {
		top: 0;
		justify-content: flex-start;
		overflow-x: auto;
		gap: 8px;
		padding: 14px;
	}

	.serene-itinerary-layout,
	.serene-destination-layout,
	.serene-day-card,
	.serene-info-grid,
	.serene-home-gateway__inner,
	.serene-home-gateway__proof,
	.serene-home-hero,
	.serene-home-split,
	.serene-home-destinations .serene-card-grid,
	.serene-home-source .serene-content-flow,
	.serene-premium-layout,
	.serene-compact-list {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.serene-home-gateway {
		min-height: auto;
	}

	.serene-home-gateway__inner {
		width: calc(100% - 36px);
		padding: 68px 0 58px;
	}

	.serene-home-gateway__copy,
	.serene-itinerary-hero-inner,
	.serene-dh-main {
		min-width: 0;
		width: 100%;
	}

	.serene-home-gateway__copy h1 {
		font-size: clamp(40px, 12vw, 54px);
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.serene-home-gateway__copy p {
		font-size: 16px;
		line-height: 1.65;
		overflow-wrap: anywhere;
		word-break: break-word;
		white-space: normal;
		max-width: min(320px, calc(100vw - 56px));
	}

	.serene-hero-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.serene-hero-actions .serene-btn {
		justify-content: center;
		text-align: center;
		width: 100%;
	}

	.serene-home-gateway__planner {
		max-width: none;
	}

	.serene-home-gateway__audience,
	.serene-home-gateway__proof {
		width: calc(100% - 36px);
		margin-top: -20px;
		grid-template-columns: 1fr;
	}

	.serene-home-gateway__audience a,
	.serene-home-gateway__proof span {
		border-right: 0;
		border-bottom: 1px solid var(--serene-line);
	}

	.serene-itinerary-hero,
	.serene-destination-hero {
		min-height: 620px;
		padding: 72px 24px 48px;
	}

	.serene-itinerary-hero h1,
	.serene-dh-title,
	.serene-destination-hero h1 {
		font-size: clamp(38px, 12vw, 52px);
		line-height: 0.94;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.serene-itinerary-hero p,
	.serene-destination-hero p {
		font-size: 16px;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.serene-kicker,
	.serene-section-heading span {
		display: block;
		line-height: 1.7;
		max-width: calc(100vw - 56px);
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.serene-kicker::before,
	.serene-section-heading span::before {
		display: inline-block;
		margin-right: 12px;
		vertical-align: middle;
	}

	.serene-destination-hero > div {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.serene-dh-stats {
		display: none;
	}

	.serene-listing-shell {
		grid-template-columns: 1fr;
		padding-bottom: 48px;
	}

	.serene-listing-aside {
		position: static;
	}

	.serene-card-grid--cols2,
	.serene-card-grid--cols3,
	.serene-card-grid--cols4 {
		grid-template-columns: 1fr;
	}

	.serene-section-heading--inline .serene-styles-all-link {
		margin-left: 0;
	}

	.serene-itinerary-sidebar,
	.serene-destination-side {
		position: static;
	}

	.serene-copy-panel,
	.serene-day-card,
	.serene-quote-card,
	.serene-dream-strip,
	.serene-info-grid {
		padding: 28px 22px;
	}

	.serene-dream-strip {
		display: block;
	}

	.serene-dream-strip .serene-btn {
		margin-top: 20px;
	}

	.serene-included-list,
	.serene-excluded-list,
	.serene-accommodation-list,
	.serene-notes-list,
	.serene-package-details-grid {
		grid-template-columns: 1fr;
	}

	.serene-itinerary-list::before {
		display: none;
	}

	.serene-home-hero {
		min-height: 680px;
		padding-top: 88px;
	}

	.serene-home-band {
		margin-top: 0;
		padding: 0 18px;
	}

	.serene-home-split-copy {
		position: static;
	}

	.serene-home-quote {
		display: block;
		margin: 48px 18px;
		padding: 34px 24px;
	}

	.serene-home-inline-cta {
		display: block;
		padding: 24px;
	}

	.serene-home-inline-cta .serene-btn {
		margin-top: 14px;
	}

	.serene-empty-state {
		padding: 26px 20px;
	}

	.serene-home-quote .serene-btn {
		margin-top: 18px;
	}

	.serene-day-card::after {
		display: none;
	}

	.serene-day-card-text {
		margin-left: 0;
	}

	.serene-doc-hero {
		min-height: 560px;
		padding-top: 88px;
	}

	.serene-premium-layout {
		padding: 46px 18px 62px;
	}

	.serene-premium-aside {
		position: static;
	}

	.serene-lux-section {
		padding: 28px 22px;
	}

	.serene-widget-trust {
		grid-template-columns: 1fr 1fr;
		margin: -20px 18px 32px;
	}

	.serene-widget-content,
	.serene-widget-cards {
		padding-top: 38px;
		padding-bottom: 38px;
	}
}

@media (max-width: 560px) {
	.serene-widget-trust {
		grid-template-columns: 1fr;
	}
}

/* Production responsive pass: header, footer, heroes, Elementor sections, and Tripgo widgets. */
.serene-menu-toggle {
	align-items: center;
	background: #fff;
	border: 1px solid var(--serene-line);
	border-radius: 999px;
	box-shadow: 0 14px 34px rgba(6, 29, 115, 0.08);
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 5px;
	height: 46px;
	justify-content: center;
	padding: 0;
	width: 46px;
	justify-self: end;
	position: relative;
	z-index: 1002;
}

.serene-menu-toggle span:not(.screen-reader-text) {
	background: var(--serene-navy);
	border-radius: 999px;
	display: block;
	height: 2px;
	transition: transform 0.2s ease, opacity 0.2s ease;
	width: 20px;
}

.serene-site-header.is-menu-open .serene-menu-toggle span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.serene-site-header.is-menu-open .serene-menu-toggle span:nth-child(2) {
	opacity: 0;
}

.serene-site-header.is-menu-open .serene-menu-toggle span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

@media (max-width: 1180px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	body:not(.elementor-editor-active) .elementor-section.elementor-section-boxed > .elementor-container,
	body:not(.elementor-editor-active) .e-con-boxed > .e-con-inner,
	.serene-nav-wrap,
	.serene-footer-brand,
	.serene-footer-grid,
	.serene-footer-bottom,
	.serene-widget-cards,
	.serene-widget-content,
	.serene-widget-cta,
	.serene-widget-trust,
	.serene-section-heading,
	.serene-widget-cards > .serene-card-grid,
	.serene-widget-content > .serene-feature-grid,
	.serene-widget-content > .serene-content-flow,
	.serene-widget-content > .serene-accordion-list,
	.serene-itinerary-layout,
	.serene-destination-layout,
	.serene-premium-layout,
	.serene-listing-shell,
	.serene-home-split,
	.serene-home-source,
	.serene-home-quote,
	.serene-archive-section,
	.serene-related-tours,
	.serene-cta-band,
	.serene-native-reasons > .elementor-container,
	.serene-native-reasons-grid > .elementor-container {
		box-sizing: border-box;
		max-width: calc(100vw - 48px) !important;
		width: calc(100vw - 48px) !important;
	}

	.serene-topbar {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		gap: 8px 18px;
		justify-content: center;
		padding: 9px 20px;
		text-align: center;
	}

	.serene-nav-wrap {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 14px;
		padding: 13px 0;
		position: relative;
	}

	.serene-logo-img {
		max-height: 58px;
		max-width: 188px;
	}

	.serene-menu-toggle {
		display: inline-flex;
	}

	.serene-primary-nav {
		background: #fff;
		border: 1px solid var(--serene-line);
		box-shadow: 0 24px 60px rgba(6, 29, 115, 0.14);
		grid-column: 1 / -1;
		left: 0;
		opacity: 0;
		padding: 18px;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: calc(100% + 8px);
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease;
		visibility: hidden;
		z-index: 1001;
	}

	.serene-site-header.is-menu-open .serene-primary-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		display: block !important;
	}

	body.serene-menu-open .serene-site-header .serene-primary-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		display: block !important;
	}

	.serene-menu {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px 12px;
		width: 100%;
	}

	.serene-menu a {
		background: var(--serene-cream);
		border: 1px solid rgba(6, 29, 115, 0.08);
		display: block;
		font-size: 13px;
		line-height: 1.25;
		padding: 12px 14px;
		white-space: normal;
	}

	.serene-menu .sub-menu {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin: 0;
		min-width: 0;
		padding: 0;
		position: static;
	}

	.serene-header-cta {
		padding: 11px 16px;
		white-space: nowrap;
	}

	.serene-home-gateway {
		min-height: auto;
	}

	.serene-home-gateway__inner {
		grid-template-columns: minmax(0, 1fr);
		padding: clamp(72px, 10vw, 112px) 0 52px;
		width: calc(100vw - 48px);
	}

	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1 {
		font-size: clamp(44px, 8vw, 76px) !important;
		line-height: 0.98 !important;
		max-width: 820px;
		overflow-wrap: anywhere;
	}

	.serene-home-gateway__copy,
	.serene-home-hero-copy,
	.serene-hero > *,
	.serene-single-hero > *,
	.serene-itinerary-hero-inner,
	.serene-dh-main,
	.serene-destination-hero > div {
		box-sizing: border-box;
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.serene-kicker,
	.serene-section-heading span,
	.serene-home-gateway__copy h1,
	.serene-home-gateway__copy p,
	.serene-home-hero h1,
	.serene-home-hero p,
	.serene-hero h1,
	.serene-hero p,
	.serene-single-hero h1,
	.serene-single-hero p {
		hyphens: auto;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.serene-home-gateway__copy p,
	.serene-home-hero p,
	.serene-hero p,
	.serene-single-hero p {
		font-size: clamp(16px, 2.2vw, 18px);
		line-height: 1.65;
		max-width: 720px;
	}

	.serene-home-gateway__planner {
		max-width: 680px;
		width: 100%;
	}

	.serene-home-gateway__audience,
	.serene-home-gateway__proof {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 0;
		width: calc(100vw - 48px);
	}

	.serene-hero,
	.serene-single-hero,
	.serene-home-hero,
	.serene-widget-hero,
	.serene-itinerary-hero,
	.serene-destination-hero,
	.serene-doc-hero {
		min-height: auto !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.serene-hero,
	.serene-single-hero,
	.serene-day-card,
	.serene-info-grid,
	.serene-image-band,
	.serene-quote-request,
	.serene-destination-hero > div {
		grid-template-columns: 1fr !important;
	}

	.serene-hero-image img,
	.serene-single-hero img,
	.serene-image-band__media img,
	.serene-card-image img,
	.ova-product img,
	.item-destination img {
		height: auto;
		max-width: 100%;
	}

	.serene-card-grid--cols4,
	.serene-card-grid--cols3,
	.serene-feature-grid,
	.serene-widget-cards .serene-card-grid,
	.ova-product-list,
	.ova-destination .content-destination {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.serene-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 28px;
	}

	.serene-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.serene-native-reasons-grid .elementor-container {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}

	.serene-itinerary-main,
	.serene-destination-main,
	.serene-listing-main,
	.serene-itinerary-page .serene-section-heading,
	.serene-destination-single .serene-section-heading,
	.serene-widget-cards > .serene-section-heading,
	.serene-widget-content > .serene-section-heading,
	.serene-listing-main .serene-section-heading,
	.serene-detail-panel .serene-section-heading,
	.serene-destination-content .serene-section-heading,
	.serene-related-tours .serene-section-heading,
	.serene-archive-section .serene-section-heading,
	.serene-widget-cards > .serene-card-grid,
	.serene-widget-content > .serene-feature-grid,
	.serene-card-grid,
	.serene-feature-grid,
	.serene-copy-panel,
	.serene-detail-panel,
	.serene-day-card {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}
}

/* Header refinements: sticky behavior, accessible dropdowns, and top link. */
.admin-bar .serene-site-header {
	top: 32px;
}

.serene-topbar {
	flex-wrap: wrap;
}

.serene-topbar-extra {
	font-weight: 900;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.serene-menu > .menu-item-has-children > a,
.serene-menu > .page_item_has_children > a {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.serene-menu > .menu-item-has-children > a::after,
.serene-menu > .page_item_has_children > a::after {
	border-bottom: 1.8px solid currentColor;
	border-right: 1.8px solid currentColor;
	content: "";
	display: inline-block;
	height: 7px;
	margin-top: -4px;
	transform: rotate(45deg);
	width: 7px;
}

.serene-menu .sub-menu {
	top: 100% !important;
	visibility: hidden;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.serene-menu li:hover > .sub-menu,
.serene-menu li:focus-within > .sub-menu {
	display: block;
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.serene-menu .sub-menu::before {
	content: "";
	height: 10px;
	left: 0;
	position: absolute;
	right: 0;
	top: -10px;
}

@media (max-width: 782px) {
	.admin-bar .serene-site-header {
		top: 46px;
	}
}

@media (max-width: 1180px) {
	.serene-menu > .menu-item-has-children > a,
	.serene-menu > .page_item_has_children > a {
		display: flex !important;
		justify-content: space-between !important;
	}

	.serene-site-header .serene-menu .sub-menu {
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}
}

@media (max-width: 767px) {
	body:not(.elementor-editor-active) .elementor-section.elementor-section-boxed > .elementor-container,
	body:not(.elementor-editor-active) .e-con-boxed > .e-con-inner,
	.serene-nav-wrap,
	.serene-footer-brand,
	.serene-footer-grid,
	.serene-footer-bottom,
	.serene-widget-cards,
	.serene-widget-content,
	.serene-widget-cta,
	.serene-widget-trust,
	.serene-section-heading,
	.serene-widget-cards > .serene-card-grid,
	.serene-widget-content > .serene-feature-grid,
	.serene-widget-content > .serene-content-flow,
	.serene-widget-content > .serene-accordion-list,
	.serene-itinerary-layout,
	.serene-destination-layout,
	.serene-premium-layout,
	.serene-listing-shell,
	.serene-home-split,
	.serene-home-source,
	.serene-home-quote,
	.serene-archive-section,
	.serene-related-tours,
	.serene-cta-band,
	.serene-native-reasons > .elementor-container,
	.serene-native-reasons-grid > .elementor-container {
		max-width: calc(100vw - 32px) !important;
		width: calc(100vw - 32px) !important;
	}

	.serene-topbar {
		display: none;
	}

	.serene-site-header {
		position: sticky;
	}

	.serene-nav-wrap {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 10px 0;
	}

	.serene-logo-img {
		max-height: 50px;
		max-width: 158px;
	}

	.serene-menu-toggle {
		background: var(--serene-cyan);
		border-color: var(--serene-cyan);
		box-shadow: none;
		display: flex !important;
		position: absolute;
		right: 0;
		top: 10px;
	}

	.serene-menu-toggle span:not(.screen-reader-text) {
		background: #fff;
	}

	.serene-header-cta {
		grid-column: 1 / -1;
		order: 3;
		padding: 10px 16px;
		width: 100%;
	}

	.serene-primary-nav {
		top: calc(100% + 8px);
	}

	body.serene-menu-open .serene-site-header .serene-primary-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
		display: block !important;
	}

	.serene-menu,
	.serene-menu .sub-menu,
	.serene-card-grid--cols4,
	.serene-card-grid--cols3,
	.serene-card-grid--cols2,
	.serene-feature-grid,
	.serene-widget-cards .serene-card-grid,
	.serene-footer-grid,
	.ova-product-list,
	.ova-destination .content-destination,
	.serene-native-reasons-grid .elementor-container {
		grid-template-columns: 1fr !important;
	}

	.serene-home-gateway__inner {
		padding: 28px 0 22px;
		width: calc(100vw - 32px);
	}

	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1 {
		font-size: clamp(26px, 7.4vw, 34px) !important;
		line-height: 1.06 !important;
		max-width: 100% !important;
		word-break: break-word;
	}

	.serene-home-hero h1,
	.serene-widget-hero h1 {
		font-size: clamp(26px, 7.2vw, 32px) !important;
	}

	.serene-kicker,
	.serene-section-heading span {
		font-size: 11px !important;
		letter-spacing: 0.13em !important;
		line-height: 1.65 !important;
		max-width: 100% !important;
	}

	.serene-kicker::before,
	.serene-section-heading span::before {
		width: 28px;
	}

	.serene-section-heading h2,
	.serene-native-reasons .elementor-heading-title {
		font-size: clamp(28px, 8vw, 38px) !important;
		line-height: 1.08 !important;
		overflow-wrap: anywhere;
	}

	.serene-copy-panel h2,
	.serene-detail-panel h2,
	.serene-lux-section h2,
	.serene-cta-band h2,
	.serene-widget-cta h2 {
		font-size: clamp(28px, 8vw, 38px) !important;
		line-height: 1.08 !important;
	}

	.serene-home-gateway__copy p,
	.serene-home-hero p,
	.serene-hero p,
	.serene-single-hero p,
	.serene-destination-hero p,
	.serene-itinerary-hero p {
		font-size: 16px !important;
		line-height: 1.5 !important;
		max-width: none !important;
	}

	.serene-home-hero,
	.serene-widget-hero,
	.serene-hero,
	.serene-single-hero,
	.serene-itinerary-hero,
	.serene-destination-hero,
	.serene-doc-hero {
		padding-bottom: 44px !important;
		padding-top: 48px !important;
	}

	.serene-home-hero p,
	.serene-widget-hero p,
	.serene-hero p,
	.serene-single-hero p,
	.serene-itinerary-hero p,
	.serene-destination-hero p,
	.serene-doc-hero p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
		overflow: hidden;
	}

	.serene-home-hero p,
	.serene-widget-hero p {
		-webkit-line-clamp: 3;
	}

	.serene-home-gateway__planner {
		display: none;
	}

	.serene-home-gateway__copy {
		padding-bottom: 0;
	}

	.serene-home-gateway__copy h1 {
		margin-bottom: 16px !important;
	}

	.serene-home-gateway__copy p {
		margin-bottom: 20px !important;
	}

	.serene-home-gateway__copy p {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
		overflow: hidden;
	}

	.serene-home-gateway__audience {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		margin-top: 0 !important;
		width: calc(100vw - 44px) !important;
		box-shadow: 0 16px 38px rgba(6, 29, 115, 0.14);
	}

	.serene-home-gateway__audience a {
		align-items: center;
		border-bottom: 0 !important;
		border-right: 1px solid var(--serene-line) !important;
		display: flex;
		font-size: 9px !important;
		justify-content: center;
		letter-spacing: 0.055em !important;
		line-height: 1.15 !important;
		min-height: 54px;
		overflow: hidden;
		padding: 8px 6px !important;
		word-break: normal;
	}

	.serene-home-gateway__proof {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		margin-bottom: 14px !important;
		width: calc(100vw - 44px) !important;
	}

	.serene-home-gateway__proof span {
		align-items: center;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
		border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
		display: flex;
		font-size: 8px !important;
		justify-content: center;
		letter-spacing: 0.055em !important;
		line-height: 1.2 !important;
		min-height: 58px;
		padding: 8px 5px !important;
		text-align: center;
	}

	.serene-widget-trust {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		margin: 0 auto 22px !important;
		width: calc(100vw - 32px) !important;
	}

	.serene-widget-trust span {
		align-items: center;
		display: flex;
		font-size: 9px !important;
		justify-content: center;
		letter-spacing: 0.07em !important;
		line-height: 1.25 !important;
		min-height: 48px;
		padding: 10px 8px !important;
		text-align: center;
	}

	.serene-hero-actions,
	.serene-home-gateway__audience,
	.serene-home-gateway__proof,
	.serene-form-grid,
	.serene-form-toggle,
	.serene-path-labels,
	.serene-service-checks,
	.serene-included-list,
	.serene-excluded-list,
	.serene-accommodation-list,
	.serene-notes-list,
	.serene-package-details-grid {
		grid-template-columns: 1fr !important;
	}

	.serene-hero-actions .serene-btn,
	.serene-btn,
	.serene-card-link,
	.product-btn-book-now {
		min-height: 44px;
		padding-bottom: 13px !important;
		padding-top: 13px !important;
		text-align: center;
		width: 100%;
	}

	.serene-home-gateway__planner,
	.serene-copy-panel,
	.serene-day-card,
	.serene-quote-card,
	.serene-dream-strip,
	.serene-info-grid,
	.serene-lux-section,
	.serene-native-reasons-grid .elementor-widget-icon-box {
		padding: 26px 20px !important;
	}

	.serene-home-gateway__audience,
	.serene-home-gateway__proof {
		width: calc(100vw - 32px);
	}

	.serene-home-gateway .serene-home-gateway__audience {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		width: calc(100vw - 44px) !important;
	}

	.serene-home-gateway .serene-home-gateway__proof {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		width: calc(100vw - 44px) !important;
	}

	.serene-card-image,
	.serene-ova-tour-card__image,
	.ova-product .ova-product-thumbnail {
		aspect-ratio: 1.28 / 1 !important;
	}

	.ova-product-list .ova-product .ova_foot_product,
	.ova-product-slider .ova-product .ova_foot_product,
	.ova-product-filter-ajax .ova-product .ova_foot_product {
		min-height: 0;
		padding: 28px 22px 24px !important;
	}

	.ova-product-list .ova-product .ova-tour-day,
	.ova-product-slider .ova-product .ova-tour-day,
	.ova-product-filter-ajax .ova-product .ova-tour-day {
		left: 16px !important;
		top: 190px !important;
	}

	.serene-footer-brand {
		margin-bottom: 24px;
		text-align: left;
	}

	.serene-logo--footer .serene-logo-img {
		max-height: 78px;
		max-width: 220px;
	}

	.serene-footer-column {
		border-top: 1px solid rgba(255, 255, 255, 0.14);
		padding-top: 22px;
	}

	.serene-itinerary-main,
	.serene-destination-main,
	.serene-listing-main,
	.serene-itinerary-page .serene-section-heading,
	.serene-destination-single .serene-section-heading,
	.serene-widget-cards > .serene-section-heading,
	.serene-widget-content > .serene-section-heading,
	.serene-listing-main .serene-section-heading,
	.serene-detail-panel .serene-section-heading,
	.serene-destination-content .serene-section-heading,
	.serene-related-tours .serene-section-heading,
	.serene-archive-section .serene-section-heading,
	.serene-widget-cards > .serene-card-grid,
	.serene-widget-content > .serene-feature-grid,
	.serene-card-grid,
	.serene-feature-grid,
	.serene-copy-panel,
	.serene-detail-panel,
	.serene-day-card,
	.serene-native-reasons-grid .elementor-column,
	.serene-native-reasons-grid .elementor-widget-wrap {
		max-width: 100% !important;
		min-width: 0 !important;
		width: 100% !important;
	}

	.serene-day-card,
	.serene-day-card-text {
		margin-left: 0 !important;
	}
}

@media (max-width: 420px) {
	.serene-home-gateway__copy h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1 {
		font-size: clamp(32px, 10vw, 42px) !important;
	}

	.serene-menu a,
	.serene-menu .sub-menu a {
		padding: 11px 12px;
	}

	.serene-home-gateway__planner h2,
	.serene-card-body h3,
	.ova-product-title a,
	.serene-ova-destination-card__title {
		font-size: 26px !important;
		line-height: 1.08 !important;
	}
}

/* Executive production polish */
.serene-section-heading h2,
.serene-widget-content .serene-section-heading h2,
.serene-widget-cards .serene-section-heading h2,
.serene-detail-panel .serene-section-heading h2,
.serene-destination-content .serene-section-heading h2,
.serene-related-tours .serene-section-heading h2 {
	font-size: clamp(38px, 4.2vw, 72px) !important;
	letter-spacing: 0 !important;
	line-height: 0.98 !important;
	max-width: 920px;
}

.serene-detail-panel .serene-section-heading h2,
.serene-info-grid h2,
.serene-info-grid h3,
.serene-copy-panel h2,
.serene-lux-section h2,
.serene-lux-section h3 {
	font-size: clamp(28px, 2.7vw, 44px) !important;
	line-height: 1.08 !important;
	max-width: 100% !important;
}

.serene-package-details-grid .serene-detail-panel .serene-section-heading h2 {
	font-size: clamp(26px, 2.3vw, 38px) !important;
	line-height: 1.08 !important;
}

.serene-feature-card h3,
.serene-card-body h3,
.serene-ova-tour-card__title,
.serene-ova-destination-card__title {
	letter-spacing: 0 !important;
}

.serene-ova-tour-card__quote-note {
	border-top: 1px solid var(--serene-line);
	color: var(--serene-gold);
	font-family: var(--serene-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 18px 0 0;
	padding-top: 14px;
	text-transform: uppercase;
}

.serene-destination-intelligence {
	margin-top: 46px;
}

.serene-destination-intelligence__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-destination-intelligence__grid article {
	background: #fff;
	border: 1px solid var(--serene-line);
	box-shadow: 0 22px 50px rgba(6, 29, 115, 0.06);
	padding: 28px;
}

.serene-destination-intelligence__grid strong {
	color: var(--serene-navy);
	display: block;
	font-family: var(--serene-sans);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.serene-destination-intelligence__grid p,
.serene-destination-intelligence__grid li {
	color: var(--serene-ink);
	font-family: var(--serene-sans);
	font-size: 15px;
	line-height: 1.72;
}

.serene-destination-intelligence__grid ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.serene-destination-intelligence__grid li {
	border-bottom: 1px solid var(--serene-line);
	padding: 8px 0 8px 18px;
	position: relative;
}

.serene-destination-intelligence__grid li::before {
	background: var(--serene-gold);
	content: "";
	height: 7px;
	left: 0;
	position: absolute;
	top: 17px;
	width: 7px;
}

.serene-widget-trust.serene-trust-strip {
	margin-left: auto;
	margin-right: auto;
	max-width: min(80vw, 1320px);
}

.serene-widget-cards,
.serene-widget-content {
	max-width: none !important;
	width: 100% !important;
}

.serene-widget-cta,
.serene-image-band {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: min(80vw, 1320px) !important;
}

.serene-quote-request {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.serene-quote-request__intro,
.serene-quote-request__form-wrap {
	padding-left: max(24px, 10vw) !important;
	padding-right: max(24px, 10vw) !important;
}

.serene-quote-guide,
.serene-quote-path {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
}

@media (max-width: 1024px) {
	.serene-widget-cards,
	.serene-widget-content,
	.serene-widget-trust.serene-trust-strip {
		max-width: none !important;
		width: 100% !important;
	}

	.serene-widget-cta,
	.serene-image-band {
		max-width: calc(100vw - 40px) !important;
	}
}

@media (max-width: 767px) {
	.serene-section-heading h2,
	.serene-widget-content .serene-section-heading h2,
	.serene-widget-cards .serene-section-heading h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content .serene-section-heading h2,
	.serene-related-tours .serene-section-heading h2 {
		font-size: clamp(32px, 10vw, 42px) !important;
		line-height: 1.02 !important;
	}

	.serene-detail-panel .serene-section-heading h2,
	.serene-info-grid h2,
	.serene-info-grid h3,
	.serene-copy-panel h2,
	.serene-lux-section h2,
	.serene-lux-section h3,
	.serene-package-details-grid .serene-detail-panel .serene-section-heading h2 {
		font-size: clamp(26px, 8vw, 34px) !important;
		line-height: 1.12 !important;
	}

	.serene-destination-intelligence__grid {
		grid-template-columns: 1fr;
	}

	.serene-destination-intelligence__grid article {
		padding: 22px;
	}

	.serene-quote-request__intro,
	.serene-quote-request__form-wrap {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}

	.serene-quote-request__form-wrap {
		padding-top: 20px !important;
	}

	.serene-quote-guide span,
	.serene-path-labels label,
	.serene-quote-form,
	.serene-form-success {
		padding: 20px !important;
	}
}

/* Cleaner editorial heading scale inspired by Tanzania Specialist's quieter hierarchy. */
.serene-home-gateway__copy h1,
.serene-home-hero h1,
.serene-hero h1,
.serene-single-hero h1,
.serene-itinerary-hero h1,
.serene-destination-hero h1,
.serene-dh-title,
.serene-doc-hero h1,
.serene-widget-hero h1,
.serene-quote-request__intro h1 {
	font-size: clamp(42px, 4.8vw, 72px) !important;
	line-height: 1.02 !important;
}

.serene-home-gateway__copy h1,
.serene-home-hero h1,
.serene-itinerary-hero h1,
.serene-destination-hero h1,
.serene-doc-hero h1 {
	text-transform: none !important;
}

.serene-section-heading h2,
.serene-widget-content .serene-section-heading h2,
.serene-widget-cards .serene-section-heading h2,
.serene-detail-panel .serene-section-heading h2,
.serene-destination-content .serene-section-heading h2,
.serene-related-tours .serene-section-heading h2,
.serene-section h2,
.serene-content-section h2,
.serene-archive-section h1,
.serene-archive-section h2 {
	font-size: clamp(30px, 2.9vw, 46px) !important;
	line-height: 1.12 !important;
	max-width: 820px;
}

.serene-copy-panel h2,
.serene-detail-panel h2,
.serene-info-grid h2,
.serene-info-grid h3,
.serene-lux-section h2,
.serene-lux-section h3,
.serene-destination-content h2,
.serene-cta-band h2,
.serene-widget-cta h2,
.serene-journey-cta h2,
.serene-image-band__copy h2,
.serene-home-split-copy h2,
.serene-home-quote h2,
.serene-form-intro h2,
.serene-form-success h2,
.serene-quote-card h2 {
	font-size: clamp(26px, 2.35vw, 36px) !important;
	line-height: 1.14 !important;
}

.serene-destination-content h3,
.serene-day-copy h3,
.serene-feature-card h3,
.serene-card-body h3,
.serene-ova-tour-card__title,
.serene-ova-destination-card__title,
.serene-empty-state h3,
.serene-home-inline-cta h3,
.serene-inline-enquiry h3 {
	font-size: clamp(20px, 1.7vw, 28px) !important;
	line-height: 1.18 !important;
}

.serene-dh-subtitle,
.serene-home-hero p,
.serene-hero p,
.serene-single-hero p,
.serene-doc-hero p,
.serene-itinerary-hero p,
.serene-destination-hero p {
	font-size: clamp(16px, 1.45vw, 20px) !important;
	line-height: 1.6 !important;
}

@media (min-width: 1280px) {
	.serene-home-gateway__copy h1 {
		font-size: clamp(48px, 4.4vw, 76px) !important;
	}
}

@media (max-width: 1024px) {
	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1,
	.serene-widget-hero h1,
	.serene-quote-request__intro h1 {
		font-size: clamp(36px, 6vw, 56px) !important;
	}

	.serene-section-heading h2,
	.serene-widget-content .serene-section-heading h2,
	.serene-widget-cards .serene-section-heading h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content .serene-section-heading h2,
	.serene-related-tours .serene-section-heading h2,
	.serene-section h2,
	.serene-content-section h2 {
		font-size: clamp(28px, 4vw, 38px) !important;
	}
}

@media (max-width: 767px) {
	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1,
	.serene-widget-hero h1,
	.serene-quote-request__intro h1 {
		font-size: clamp(30px, 8vw, 42px) !important;
		line-height: 1.08 !important;
	}

	.serene-section-heading h2,
	.serene-widget-content .serene-section-heading h2,
	.serene-widget-cards .serene-section-heading h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content .serene-section-heading h2,
	.serene-related-tours .serene-section-heading h2,
	.serene-section h2,
	.serene-content-section h2 {
		font-size: clamp(24px, 6.8vw, 32px) !important;
		line-height: 1.15 !important;
	}

	.serene-copy-panel h2,
	.serene-detail-panel h2,
	.serene-info-grid h2,
	.serene-info-grid h3,
	.serene-lux-section h2,
	.serene-lux-section h3,
	.serene-destination-content h2,
	.serene-cta-band h2,
	.serene-widget-cta h2,
	.serene-journey-cta h2,
	.serene-image-band__copy h2,
	.serene-home-split-copy h2,
	.serene-home-quote h2,
	.serene-form-intro h2,
	.serene-form-success h2,
	.serene-quote-card h2 {
		font-size: clamp(22px, 6vw, 30px) !important;
	}

	.serene-destination-content h3,
	.serene-day-copy h3,
	.serene-feature-card h3,
	.serene-card-body h3,
	.serene-ova-tour-card__title,
	.serene-ova-destination-card__title {
		font-size: clamp(19px, 5vw, 24px) !important;
	}
}

/* Sitewide typography cleanup: Tanzania Specialist-inspired, license-safe sans system. */
body,
button,
input,
select,
textarea,
.elementor,
.elementor-widget,
.elementor-widget-container,
.elementor-heading-title,
.serene-site-header,
.serene-site-footer,
.serene-home-gateway,
.serene-home-pro,
.serene-premium-page,
.serene-page,
.serene-single-tour,
.serene-itinerary-page,
.serene-destination-single,
.serene-widget-content,
.serene-widget-cards,
.ova-product,
.ova-destination,
.woocommerce,
.woocommerce-page {
	font-family: var(--serene-sans) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.ova-product-title,
.ova-product-title a,
.archive_destination .item-destination .info .name,
.ova-destination .item-destination .info .name,
.ova-destination-slider .item-destination .info .name,
.serene-home-gateway h1,
.serene-home-hero h1,
.serene-hero h1,
.serene-single-hero h1,
.serene-itinerary-hero h1,
.serene-destination-hero h1,
.serene-dh-title,
.serene-doc-hero h1,
.serene-widget-hero h1,
.serene-section-heading h2,
.serene-copy-panel h2,
.serene-detail-panel h2,
.serene-lux-section h2,
.serene-lux-section h3,
.serene-day-copy h3,
.serene-card-body h3,
.serene-feature-card h3,
.serene-journey-cta h2,
.serene-widget-cta h2,
.serene-quote-card h2 {
	font-family: var(--serene-display) !important;
	font-style: normal !important;
	letter-spacing: 0 !important;
}

.serene-home-gateway__copy h1,
.serene-home-hero h1,
.serene-hero h1,
.serene-single-hero h1,
.serene-itinerary-hero h1,
.serene-destination-hero h1,
.serene-dh-title,
.serene-doc-hero h1,
.serene-widget-hero h1,
.serene-quote-request__intro h1,
.elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(42px, 4.6vw, 68px) !important;
	font-weight: 800 !important;
	line-height: 1.02 !important;
	text-transform: none !important;
}

.serene-dh-subtitle,
.serene-home-hero p,
.serene-hero p,
.serene-single-hero p,
.serene-doc-hero p,
.serene-itinerary-hero p,
.serene-destination-hero p,
.serene-widget-hero p {
	font-family: var(--serene-sans) !important;
	font-size: clamp(16px, 1.35vw, 19px) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	line-height: 1.58 !important;
	text-transform: none !important;
}

.serene-section-heading h2,
.serene-widget-content .serene-section-heading h2,
.serene-widget-cards .serene-section-heading h2,
.serene-detail-panel .serene-section-heading h2,
.serene-destination-content .serene-section-heading h2,
.serene-related-tours .serene-section-heading h2,
.serene-section h2,
.serene-content-section h2,
.serene-archive-section h1,
.serene-archive-section h2,
.elementor-widget-heading h2.elementor-heading-title,
.serene-native-reasons .elementor-heading-title {
	font-size: clamp(32px, 2.8vw, 44px) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
	max-width: 860px;
	text-transform: none !important;
}

.serene-copy-panel h2,
.serene-detail-panel h2,
.serene-info-grid h2,
.serene-info-grid h3,
.serene-lux-section h2,
.serene-lux-section h3,
.serene-destination-content h2,
.serene-cta-band h2,
.serene-widget-cta h2,
.serene-journey-cta h2,
.serene-image-band__copy h2,
.serene-home-split-copy h2,
.serene-home-quote h2,
.serene-form-intro h2,
.serene-form-success h2,
.serene-quote-card h2 {
	font-size: clamp(26px, 2.25vw, 36px) !important;
	font-weight: 800 !important;
	line-height: 1.14 !important;
	text-transform: none !important;
}

.serene-destination-content h3,
.serene-day-copy h3,
.serene-feature-card h3,
.serene-card-body h3,
.serene-ova-tour-card__title,
.serene-ova-destination-card__title,
.serene-empty-state h3,
.serene-home-inline-cta h3,
.serene-inline-enquiry h3,
.elementor-widget-heading h3.elementor-heading-title {
	font-size: clamp(20px, 1.6vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.18 !important;
	text-transform: none !important;
}

.ova-product-list .ova-product,
.ova-product-slider .ova-product,
.ova-product-filter-ajax .ova-product,
.elementor-widget-ovabrw_product_list .ova-product,
.elementor-widget-ovabrw_product_slider .ova-product,
.serene-card,
.ova-destination .item-destination,
.ova-destination-slider .item-destination,
.archive_destination .item-destination {
	font-family: var(--serene-sans) !important;
}

.ova-product-list .ova-product .ova_foot_product,
.ova-product-slider .ova-product .ova_foot_product,
.ova-product-filter-ajax .ova-product .ova_foot_product {
	gap: 13px !important;
	min-height: 250px !important;
	padding: 30px 28px 28px !important;
}

.ova-product-list .ova-product .ova-tour-day,
.ova-product-slider .ova-product .ova-tour-day,
.ova-product-filter-ajax .ova-product .ova-tour-day {
	font-family: var(--serene-sans) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.35 !important;
	max-width: calc(100% - 44px) !important;
	padding: 10px 13px !important;
	white-space: normal !important;
}

.ova-product-list .ova-product .serene-ova-tour-card__code,
.ova-product-slider .ova-product .serene-ova-tour-card__code,
.ova-product-filter-ajax .ova-product .serene-ova-tour-card__code,
.serene-card-body small {
	color: var(--serene-cyan) !important;
	font-family: var(--serene-sans) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: 0.11em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

.ova-product-list .ova-product .ova-product-title a,
.ova-product-slider .ova-product .ova-product-title a,
.ova-product-filter-ajax .ova-product .ova-product-title a,
.serene-ova-tour-card__title,
.serene-card-body h3,
.serene-card-body h3 a {
	color: var(--serene-navy) !important;
	display: block;
	font-family: var(--serene-display) !important;
	font-size: clamp(22px, 1.7vw, 28px) !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.12 !important;
	text-transform: none !important;
	word-break: normal;
	overflow-wrap: anywhere;
}

.ova-product-list .ova-product .serene-ova-tour-card__excerpt,
.ova-product-slider .ova-product .serene-ova-tour-card__excerpt,
.ova-product-filter-ajax .ova-product .serene-ova-tour-card__excerpt,
.serene-card-body p,
.serene-ova-destination-card__summary,
.ova-product-list .ova-product .ova-product-location,
.ova-product-slider .ova-product .ova-product-location,
.ova-product-filter-ajax .ova-product .ova-product-location {
	color: var(--serene-muted) !important;
	font-family: var(--serene-sans) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	line-height: 1.62 !important;
	text-transform: none !important;
}

.ova-product-list .ova-product .product-btn-book-now,
.ova-product-slider .ova-product .product-btn-book-now,
.ova-product-filter-ajax .ova-product .product-btn-book-now,
.serene-card-link,
.serene-btn,
.serene-header-cta,
.serene-footer-cta {
	font-family: var(--serene-sans) !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.2 !important;
	padding: 12px 18px !important;
	text-transform: uppercase !important;
	white-space: normal !important;
}

.ova-product-list .ova-product .product-btn-book-now::after,
.ova-product-slider .ova-product .product-btn-book-now::after,
.ova-product-filter-ajax .ova-product .product-btn-book-now::after {
	font-family: var(--serene-sans) !important;
	font-size: 12px !important;
	letter-spacing: 0.1em !important;
}

.ova-destination .item-destination .info,
.ova-destination-slider .item-destination .info,
.archive_destination .item-destination .info {
	padding: 24px 26px 28px !important;
}

.ova-destination .item-destination .info .name,
.ova-destination-slider .item-destination .info .name,
.archive_destination .item-destination .info .name,
.serene-ova-destination-card__title {
	color: var(--serene-navy) !important;
	font-family: var(--serene-display) !important;
	font-size: clamp(22px, 1.8vw, 28px) !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.12 !important;
	text-transform: none !important;
	overflow-wrap: anywhere;
}

.ova-destination .item-destination .count-tour,
.ova-destination-slider .item-destination .count-tour,
.archive_destination .item-destination .count-tour,
.serene-ova-destination-card__cta {
	font-family: var(--serene-sans) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
}

.serene-kicker,
.serene-section-heading span,
.serene-dh-region,
.serene-tour-tabs a,
.serene-home-band span,
.serene-process-list strong,
.serene-native-reasons .serene-native-kicker .elementor-heading-title {
	font-family: var(--serene-sans) !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	letter-spacing: 0.11em !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
}

@media (max-width: 1024px) {
	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1,
	.serene-widget-hero h1,
	.serene-quote-request__intro h1,
	.elementor-widget-heading h1.elementor-heading-title {
		font-size: clamp(36px, 5.6vw, 56px) !important;
	}

	.serene-section-heading h2,
	.serene-widget-content .serene-section-heading h2,
	.serene-widget-cards .serene-section-heading h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content .serene-section-heading h2,
	.serene-related-tours .serene-section-heading h2,
	.serene-section h2,
	.serene-content-section h2,
	.elementor-widget-heading h2.elementor-heading-title {
		font-size: clamp(28px, 3.7vw, 38px) !important;
	}
}

@media (max-width: 767px) {
	.serene-home-gateway__copy h1,
	.serene-home-hero h1,
	.serene-hero h1,
	.serene-single-hero h1,
	.serene-itinerary-hero h1,
	.serene-destination-hero h1,
	.serene-dh-title,
	.serene-doc-hero h1,
	.serene-widget-hero h1,
	.serene-quote-request__intro h1,
	.elementor-widget-heading h1.elementor-heading-title {
		font-size: clamp(30px, 7.5vw, 42px) !important;
		line-height: 1.08 !important;
	}

	.serene-section-heading h2,
	.serene-widget-content .serene-section-heading h2,
	.serene-widget-cards .serene-section-heading h2,
	.serene-detail-panel .serene-section-heading h2,
	.serene-destination-content .serene-section-heading h2,
	.serene-related-tours .serene-section-heading h2,
	.serene-section h2,
	.serene-content-section h2,
	.elementor-widget-heading h2.elementor-heading-title {
		font-size: clamp(24px, 6.4vw, 32px) !important;
		line-height: 1.15 !important;
	}

	.ova-product-list .ova-product .ova_foot_product,
	.ova-product-slider .ova-product .ova_foot_product,
	.ova-product-filter-ajax .ova-product .ova_foot_product,
	.serene-card-body {
		padding: 24px 20px !important;
	}

	.ova-product-list .ova-product .ova-product-title a,
	.ova-product-slider .ova-product .ova-product-title a,
	.ova-product-filter-ajax .ova-product .ova-product-title a,
	.serene-card-body h3,
	.serene-card-body h3 a,
	.ova-destination .item-destination .info .name,
	.ova-destination-slider .item-destination .info .name,
	.archive_destination .item-destination .info .name {
		font-size: clamp(20px, 5vw, 24px) !important;
	}

	.ova-product-list .ova-product .ova-tour-day,
	.ova-product-slider .ova-product .ova-tour-day,
	.ova-product-filter-ajax .ova-product .ova-tour-day {
		left: 16px !important;
		max-width: calc(100% - 32px) !important;
		padding: 9px 11px !important;
	}
}

/* About / story editorial pages inspired by clean long-form travel operator pages. */
.serene-about-editorial {
	background: #f6f8fb;
	color: var(--serene-navy);
	font-family: var(--serene-sans);
}

.serene-about-hero {
	background: #fff;
	padding: clamp(58px, 7vw, 104px) 20% 34px;
}

.serene-about-hero__inner {
	display: grid;
	gap: clamp(28px, 5vw, 62px);
	grid-template-columns: minmax(0, 0.86fr) minmax(360px, 1fr);
	align-items: end;
}

.serene-about-hero__copy h1 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(42px, 5.2vw, 78px);
	font-weight: 850;
	line-height: 0.98;
	letter-spacing: 0;
	margin: 14px 0 22px;
	max-width: 780px;
	text-transform: none;
}

.serene-about-hero__copy p {
	color: var(--serene-muted);
	font-size: clamp(17px, 1.4vw, 20px);
	font-weight: 500;
	line-height: 1.7;
	margin: 0;
	max-width: 680px;
}

.serene-about-hero__media,
.serene-about-inline-media {
	margin: 0;
}

.serene-about-hero__media img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.serene-about-hero__media figcaption,
.serene-about-inline-media figcaption {
	border-bottom: 1px solid rgba(6, 29, 115, 0.14);
	color: var(--serene-muted);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	padding: 12px 0 16px;
}

.serene-about-tabs,
.serene-about-breadcrumbs,
.serene-about-body,
.serene-about-why,
.serene-about-cta {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
	width: 60%;
}

.serene-about-tabs {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(6, 29, 115, 0.12);
	display: flex;
	gap: 0;
	margin-top: 24px;
	overflow-x: auto;
}

.serene-about-tabs a {
	border-right: 1px solid rgba(6, 29, 115, 0.12);
	color: var(--serene-navy);
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.08em;
	padding: 17px 24px;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.serene-about-tabs a.is-active {
	background: var(--serene-cyan);
	color: var(--serene-navy);
}

.serene-about-breadcrumbs {
	align-items: center;
	color: var(--serene-muted);
	display: flex;
	font-size: 13px;
	font-weight: 800;
	gap: 10px;
	padding: 24px 0 10px;
}

.serene-about-breadcrumbs a {
	color: var(--serene-navy);
	text-decoration: none;
}

.serene-about-breadcrumbs a::after {
	color: var(--serene-cyan);
	content: "/";
	margin-left: 10px;
}

.serene-about-body {
	display: grid;
	gap: clamp(32px, 5vw, 72px);
	grid-template-columns: minmax(0, 1fr) 310px;
	padding: 22px 0 clamp(58px, 8vw, 110px);
}

.serene-about-prose {
	background: transparent;
	border: 0;
	padding: 0;
}

.serene-about-copy-block + .serene-about-copy-block,
.serene-about-inline-media + .serene-about-copy-block {
	border-top: 1px solid rgba(6, 29, 115, 0.14);
	margin-top: clamp(28px, 4vw, 48px);
	padding-top: clamp(28px, 4vw, 48px);
}

.serene-about-copy-block h2,
.serene-about-why h2,
.serene-about-cta h2 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(30px, 3.1vw, 48px);
	font-weight: 850;
	line-height: 1.08;
	letter-spacing: 0;
	margin: 0 0 20px;
	text-transform: none;
}

.serene-about-copy-block p,
.serene-about-why__intro p,
.serene-about-reasons p,
.serene-about-cta p {
	color: var(--serene-muted);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.78;
	margin: 0 0 16px;
}

.serene-about-copy-block ul {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 22px 0;
	padding: 0;
}

.serene-about-copy-block li {
	border-top: 1px solid rgba(6, 29, 115, 0.12);
	color: var(--serene-navy);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.5;
	padding: 11px 0 11px 22px;
	position: relative;
}

.serene-about-copy-block li::before {
	background: var(--serene-cyan);
	content: "";
	height: 7px;
	left: 0;
	position: absolute;
	top: 18px;
	width: 7px;
}

.serene-about-note {
	color: var(--serene-navy) !important;
	font-size: 19px !important;
	font-style: italic;
	font-weight: 850 !important;
	line-height: 1.5 !important;
	margin-top: 18px !important;
}

.serene-about-inline-media {
	margin-top: clamp(28px, 4vw, 48px);
}

.serene-about-inline-media img {
	aspect-ratio: 16 / 8;
	display: block;
	object-fit: cover;
	width: 100%;
}

.serene-about-side {
	position: relative;
}

.serene-about-side__card {
	background: var(--serene-navy);
	color: #fff;
	padding: 30px 28px;
	position: sticky;
	top: 138px;
}

.serene-about-side__card span {
	color: var(--serene-cyan);
	display: block;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.12em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.serene-about-side__card strong {
	display: block;
	font-size: 25px;
	font-weight: 850;
	line-height: 1.16;
	margin-bottom: 26px;
}

.serene-about-side__card a {
	background: var(--serene-cyan);
	color: var(--serene-navy);
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.1em;
	padding: 13px 16px;
	text-decoration: none;
	text-transform: uppercase;
}

.serene-about-why {
	background: #fff;
	border-top: 1px solid rgba(6, 29, 115, 0.12);
	display: grid;
	gap: clamp(28px, 4vw, 54px);
	grid-template-columns: minmax(280px, 0.52fr) minmax(0, 1fr);
	padding: clamp(42px, 6vw, 76px);
}

.serene-about-reasons {
	counter-reset: serene-about-reason;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.serene-about-reasons article {
	border-left: 1px solid rgba(6, 29, 115, 0.12);
	border-top: 1px solid rgba(6, 29, 115, 0.12);
	padding: 26px;
}

.serene-about-reasons span {
	color: var(--serene-cyan);
	display: block;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.12em;
	margin-bottom: 22px;
}

.serene-about-reasons h3 {
	color: var(--serene-navy);
	font-family: var(--serene-display);
	font-size: clamp(22px, 1.8vw, 29px);
	font-weight: 850;
	line-height: 1.1;
	margin: 0 0 12px;
	text-transform: none;
}

.serene-about-cta {
	align-items: center;
	background: var(--serene-navy);
	color: #fff;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-bottom: clamp(54px, 7vw, 92px);
	margin-top: 28px;
	padding: clamp(32px, 5vw, 58px);
}

.serene-about-cta h2,
.serene-about-cta p {
	color: #fff;
}

.serene-about-cta p {
	margin-bottom: 0;
	max-width: 680px;
}

@media (max-width: 1024px) {
	.serene-editorial-intro,
	.serene-editorial-intro--image-left {
		grid-template-columns: 1fr;
		padding: 70px 32px 76px;
	}

	.serene-editorial-intro--image-left .serene-editorial-intro__copy,
	.serene-editorial-intro--image-left .serene-editorial-intro__media {
		order: initial;
	}

	.serene-editorial-intro__copy {
		max-width: 820px;
	}

	.serene-editorial-intro__media {
		min-height: 420px;
	}

	.serene-editorial-intro__media::before {
		display: none;
	}

	.serene-editorial-intro__media img,
	.serene-editorial-intro--image-left .serene-editorial-intro__media img {
		border-radius: 0;
		min-height: 420px;
	}

	.serene-text-intro {
		padding: 70px 32px 76px;
	}

	.serene-text-intro__copy {
		max-width: 820px;
	}

	.serene-about-hero {
		padding-left: 32px;
		padding-right: 32px;
	}

	.serene-about-hero__inner,
	.serene-about-body,
	.serene-about-why {
		grid-template-columns: 1fr;
	}

	.serene-about-tabs,
	.serene-about-breadcrumbs,
	.serene-about-body,
	.serene-about-why,
	.serene-about-cta {
		width: calc(100% - 64px);
	}

	.serene-about-side__card {
		position: static;
	}
}

@media (max-width: 767px) {
	.serene-editorial-intro,
	.serene-editorial-intro--image-left {
		padding: 54px 20px 60px;
	}

	.serene-editorial-intro::before {
		height: 42px;
		width: 72%;
	}

	.serene-editorial-intro__copy h2 {
		font-size: clamp(28px, 8vw, 38px);
		letter-spacing: 0.08em;
	}

	.serene-editorial-intro__copy h3 {
		font-size: clamp(24px, 7vw, 32px);
	}

	.serene-editorial-intro__body {
		font-size: 16px;
		letter-spacing: 0.01em;
	}

	.serene-editorial-intro__media,
	.serene-editorial-intro__media img {
		min-height: 320px;
	}

	.serene-text-intro {
		padding: 54px 20px 60px;
	}

	.serene-text-intro::before {
		height: 42px;
		width: 72%;
	}

	.serene-text-intro__copy h2 {
		font-size: clamp(28px, 8vw, 38px);
		letter-spacing: 0.08em;
	}

	.serene-text-intro__copy h3 {
		font-size: clamp(24px, 7vw, 32px);
	}

	.serene-text-intro__body {
		font-size: 16px;
		letter-spacing: 0.01em;
	}

	.serene-about-hero {
		padding: 42px 20px 24px;
	}

	.serene-about-hero__inner {
		grid-template-columns: 1fr;
	}

	.serene-about-tabs,
	.serene-about-breadcrumbs,
	.serene-about-body,
	.serene-about-why,
	.serene-about-cta {
		width: calc(100% - 32px);
	}

	.serene-about-prose,
	.serene-about-why,
	.serene-about-cta {
		padding: 26px 22px;
	}

	.serene-about-prose {
		padding: 0;
	}

	.serene-about-reasons {
		grid-template-columns: 1fr;
	}

	.serene-about-cta {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Final headline scale: keep all primary page/section headlines restrained at 35px. */
body .serene-home-gateway__copy h1,
body .serene-home-gateway h1,
body .serene-home-hero h1,
body .serene-hero h1,
body .serene-single-hero h1,
body .serene-itinerary-hero h1,
body .serene-destination-hero h1,
body .serene-dh-title,
body .serene-doc-hero h1,
body .serene-widget-hero h1,
body .serene-quote-request__intro h1,
body .serene-quote-request__panel h1,
body .serene-about-hero__copy h1,
body .serene-section-heading h2,
body .serene-widget-content .serene-section-heading h2,
body .serene-widget-cards .serene-section-heading h2,
body .serene-detail-panel .serene-section-heading h2,
body .serene-destination-content .serene-section-heading h2,
body .serene-related-tours .serene-section-heading h2,
body .serene-section h2,
body .serene-content-section h2,
body .serene-archive-section h1,
body .serene-archive-section h2,
body .serene-copy-panel h2,
body .serene-detail-panel h2,
body .serene-info-grid h2,
body .serene-lux-section h2,
body .serene-destination-content h2,
body .serene-cta-band h2,
body .serene-widget-cta h2,
body .serene-journey-cta h2,
body .serene-image-band__copy h2,
body .serene-home-split-copy h2,
body .serene-home-quote h2,
body .serene-form-intro h2,
body .serene-form-success h2,
body .serene-quote-card h2,
body .serene-editorial-intro__copy h2,
body .serene-text-intro__copy h2,
body .serene-about-copy-block h2,
body .serene-about-why h2,
body .serene-about-cta h2,
body .serene-native-reasons .elementor-heading-title,
body .elementor-widget-heading h1.elementor-heading-title,
body .elementor-widget-heading h2.elementor-heading-title {
	font-size: 35px !important;
	line-height: 1.12 !important;
}

/* Visual Elementor template controls for single tour and destination widgets. */
.serene-widget-tour-template--hero-center .serene-itinerary-hero,
.serene-widget-destination-template--hero-center .serene-destination-hero {
	justify-content: center !important;
	text-align: center !important;
}

.serene-widget-tour-template--hero-right .serene-itinerary-hero,
.serene-widget-destination-template--hero-right .serene-destination-hero {
	justify-content: flex-end !important;
	text-align: right !important;
}

.serene-widget-tour-template--hero-center .serene-itinerary-hero-inner,
.serene-widget-destination-template--hero-center .serene-destination-hero > div {
	margin-left: auto !important;
	margin-right: auto !important;
}

.serene-widget-tour-template--hero-right .serene-itinerary-hero-inner,
.serene-widget-destination-template--hero-right .serene-destination-hero > div {
	margin-left: auto !important;
	margin-right: 0 !important;
}

.serene-widget-tour-template--hero-center .serene-itinerary-hero p,
.serene-widget-destination-template--hero-center .serene-destination-hero p,
.serene-widget-tour-template--hero-center .serene-ih-breadcrumb,
.serene-widget-destination-template--hero-center .serene-dh-breadcrumb,
.serene-widget-tour-template--hero-center .serene-ih-tags,
.serene-widget-destination-template--hero-center .serene-dh-stats {
	justify-content: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

.serene-widget-tour-template--hero-right .serene-itinerary-hero p,
.serene-widget-destination-template--hero-right .serene-destination-hero p {
	margin-left: auto !important;
	margin-right: 0 !important;
	text-align: right !important;
}

.serene-widget-tour-template--hero-right .serene-ih-breadcrumb,
.serene-widget-destination-template--hero-right .serene-dh-breadcrumb,
.serene-widget-tour-template--hero-right .serene-ih-tags,
.serene-widget-destination-template--hero-right .serene-dh-stats {
	justify-content: flex-end !important;
}

.serene-widget-tour-template--nav-left .serene-tour-tabs,
.serene-widget-destination-template--nav-left .serene-destination-anchor {
	justify-content: flex-start !important;
}

.serene-widget-tour-template--nav-center .serene-tour-tabs,
.serene-widget-destination-template--nav-center .serene-destination-anchor {
	justify-content: center !important;
}

.serene-widget-tour-template--nav-right .serene-tour-tabs,
.serene-widget-destination-template--nav-right .serene-destination-anchor {
	justify-content: flex-end !important;
}

.serene-widget-tour-template--sidebar-left .serene-itinerary-layout,
.serene-widget-destination-template--sidebar-left .serene-destination-layout {
	grid-template-columns: 420px minmax(0, 1fr) !important;
}

.serene-widget-tour-template--sidebar-left .serene-itinerary-main,
.serene-widget-destination-template--sidebar-left .serene-destination-content {
	order: 2;
}

.serene-widget-tour-template--sidebar-left .serene-itinerary-sidebar,
.serene-widget-destination-template--sidebar-left .serene-destination-side {
	order: 1;
}

.serene-widget-tour-template--sidebar-below .serene-itinerary-layout,
.serene-widget-destination-template--sidebar-below .serene-destination-layout {
	grid-template-columns: 1fr !important;
}

.serene-widget-tour-template--sidebar-below .serene-itinerary-sidebar,
.serene-widget-destination-template--sidebar-below .serene-destination-side {
	position: static !important;
}

.serene-widget-destination-template--stats-center .serene-dh-stats {
	justify-content: center !important;
}

.serene-widget-destination-template--stats-right .serene-dh-stats {
	justify-content: flex-end !important;
}

/* Single tour overview: keep the opening copy as clean body text, not display/italic prose. */
.serene-widget-tour-template .serene-tour-overview-panel p,
.serene-widget-tour-template .serene-tour-overview-panel p:first-of-type,
.serene-widget-tour-template .serene-tour-overview-panel em,
.serene-widget-tour-template .serene-tour-overview-panel i {
	color: var(--serene-muted) !important;
	font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
	font-size: 17px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.78 !important;
	text-transform: none !important;
}

.serene-widget-tour-template .serene-tour-overview-panel strong,
.serene-widget-tour-template .serene-tour-overview-panel b {
	color: var(--serene-forest) !important;
	font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
	font-style: normal !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
}

/* Elementor header preview/front-end: make the dark-blue top bar a true full-width band. */
.serene-elementor-header .serene-topbar {
	box-sizing: border-box;
	left: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	position: relative;
	right: 50%;
	width: 100vw;
}

/* Full-bleed CTA band background while preserving the normal site content width. */
.serene-cta-band {
	isolation: isolate;
	position: relative;
}

.serene-cta-band::before {
	background: inherit;
	bottom: 0;
	content: "";
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: -1;
}

.serene-widget-tour-template .serene-itinerary-page {
	overflow-x: visible !important;
}

.serene-widget-tour-template .serene-itinerary-final-cta.serene-cta-band {
	box-sizing: border-box !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
	padding-left: max(28px, 10vw) !important;
	padding-right: max(28px, 10vw) !important;
	position: relative !important;
	right: 50% !important;
	width: 100vw !important;
}

/* Homepage CTA: the deep-blue band must span edge-to-edge like the footer. */
.elementor-widget-serene_cta,
.elementor-widget-serene_journey_cta,
.elementor-widget-serene_cta > .elementor-widget-container,
.elementor-widget-serene_journey_cta > .elementor-widget-container {
	overflow: visible !important;
}

.elementor-widget-serene_cta,
.elementor-widget-serene_journey_cta {
	background: var(--serene-cta-band-bg, var(--serene-accent)) !important;
	box-sizing: border-box !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
	position: relative !important;
	right: 50% !important;
	width: 100vw !important;
}

.elementor-widget-serene_cta > .elementor-widget-container,
.elementor-widget-serene_journey_cta > .elementor-widget-container {
	width: 100% !important;
}

.serene-widget-cta.serene-home-quote,
.serene-home-pro .serene-home-quote {
	box-sizing: border-box !important;
	left: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	padding-left: max(28px, 10vw) !important;
	padding-right: max(28px, 10vw) !important;
	position: relative !important;
	right: auto !important;
	width: 100% !important;
}

/* Tour cards: clean readable text, without repeated itinerary headings dominating excerpts. */
.serene-tour-card .serene-card-body h3,
.serene-tour-card .serene-card-body h3 a,
.ova-product-list .ova-product .ova-product-title a,
.ova-product-slider .ova-product .ova-product-title a,
.ova-product-filter-ajax .ova-product .ova-product-title a {
	color: var(--serene-navy) !important;
	font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
	font-size: clamp(22px, 1.45vw, 26px) !important;
	font-style: normal !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.18 !important;
	text-transform: none !important;
}

.serene-tour-card .serene-card-body p,
.ova-product-list .ova-product .serene-ova-tour-card__excerpt,
.ova-product-slider .ova-product .serene-ova-tour-card__excerpt,
.ova-product-filter-ajax .ova-product .serene-ova-tour-card__excerpt,
.ova-product-list .ova-product .ova-product-location,
.ova-product-slider .ova-product .ova-product-location,
.ova-product-filter-ajax .ova-product .ova-product-location {
	color: var(--serene-muted) !important;
	font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
	font-size: 14.5px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1.65 !important;
	text-transform: none !important;
}

.serene-tour-card .serene-card-body small {
	font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
	font-size: 11px !important;
	font-style: normal !important;
	font-weight: 900 !important;
	line-height: 1.3 !important;
}

@media (max-width: 1024px) {
	.serene-widget-tour-template--sidebar-left .serene-itinerary-layout,
	.serene-widget-destination-template--sidebar-left .serene-destination-layout {
		grid-template-columns: 1fr !important;
	}

	.serene-widget-tour-template--sidebar-left .serene-itinerary-main,
	.serene-widget-destination-template--sidebar-left .serene-destination-content,
	.serene-widget-tour-template--sidebar-left .serene-itinerary-sidebar,
	.serene-widget-destination-template--sidebar-left .serene-destination-side {
		order: initial;
	}
}

/* Mobile header menu: plain, compact navigation instead of card-like blocks. */
@media (max-width: 1180px) {
	.serene-site-header .serene-primary-nav {
		background: #fff !important;
		border: 1px solid var(--serene-line) !important;
		border-radius: 0 !important;
		box-shadow: 0 22px 54px rgba(6, 29, 115, 0.16) !important;
		box-sizing: border-box !important;
		max-height: calc(100vh - 118px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		padding: 6px 0 !important;
	}

	.serene-site-header .serene-menu,
	.serene-site-header .serene-menu .sub-menu {
		display: block !important;
		gap: 0 !important;
		grid-template-columns: none !important;
		list-style: none !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	.serene-site-header .serene-menu li {
		border-bottom: 1px solid var(--serene-line) !important;
		margin: 0 !important;
		padding: 0 !important;
		position: relative !important;
	}

	.serene-site-header .serene-menu > li:last-child {
		border-bottom: 0 !important;
	}

	.serene-site-header .serene-menu a {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: var(--serene-navy) !important;
		display: block !important;
		font-family: var(--serene-sans, "Nunito Sans", Arial, sans-serif) !important;
		font-size: 15px !important;
		font-weight: 800 !important;
		letter-spacing: 0 !important;
		line-height: 1.25 !important;
		padding: 14px 18px !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;
	}

	.serene-site-header .serene-menu .sub-menu {
		background: #f7faff !important;
		border: 0 !important;
		box-shadow: none !important;
		min-width: 0 !important;
		position: static !important;
	}

	.serene-site-header .serene-menu .sub-menu li {
		border-bottom: 0 !important;
	}

	.serene-site-header .serene-menu .sub-menu a {
		color: var(--serene-muted) !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		padding: 9px 18px 9px 34px !important;
	}
}

/* Final mobile dropdown arrow override. */
@media (max-width: 1180px) {
	.serene-site-header .serene-menu > .menu-item-has-children > a,
	.serene-site-header .serene-menu > .page_item_has_children > a {
		display: flex !important;
		justify-content: space-between !important;
	}

	.serene-site-header .serene-menu .sub-menu {
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}
}

/* Final header behavior: keep the SERENE header sticky everywhere. */
.serene-site-header,
.serene-elementor-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 99999 !important;
}

.admin-bar .serene-site-header,
.admin-bar .serene-elementor-header {
	top: 32px !important;
}

@media (max-width: 782px) {
	.admin-bar .serene-site-header,
	.admin-bar .serene-elementor-header {
		top: 46px !important;
	}
}
