/*
 * The homepage.
 *
 * Loaded on the homepage only, on top of the tokens and the cards. The
 * page is image-led and spacious: large photographs, one accent, short
 * runs of text, rules rather than boxes wherever a rule will do. Every
 * measure is fluid; the phone layout is drawn, not squeezed.
 */

/* The tour stylesheet is not loaded on the homepage, so the variables it
   would define are given here: the accent (overridden by the site's own
   colour when one is set in Settings), its dark step, and the inks. */
.wptm-home {
	--wptm-accent: #b8853a;
	--wptm-on-accent: #fff;
	--wptm-hairline: rgba(0, 0, 0, .1);
	--wptm-muted: #5b6472;
	--wptm-faint: #8b93a1;
	--wptm-text: #1b1f24;
	--wptm-tint: rgba(184, 133, 58, .12);
	--home-wrap: 1180px;
	--home-pad: clamp(18px, 3vw, 32px);
	--wptm-density: 1;
	--home-gap: calc(clamp(48px, 7vw, 104px) * var(--wptm-density, 1));
	--home-ink: var(--wptm-text, #1b1f24);
	--home-muted: var(--wptm-muted, #5b6472);
	--home-line: var(--wptm-hairline, rgba(0, 0, 0, .1));
	--home-radius: 14px;

	/*
	 * The foundation shared with tokens.css and tour.css, word for word:
	 * the radius scale, the two shadows, the control heights, the eyebrow,
	 * one timing. And the two grounds the page's bands are built from — a
	 * warm paper mixed from the site colour, and one dark ink — so every
	 * band that changes the ground uses the same two.
	 */
	--wptm-radius-xs: 6px;
	--wptm-radius-sm: 8px;
	--wptm-radius-md: 10px;
	--wptm-radius-media: var(--home-radius);
	--wptm-radius-lg: 16px;
	--wptm-radius-pill: 999px;
	--wptm-shadow-1: 0 1px 2px rgba(15, 20, 28, .06), 0 10px 24px -20px rgba(15, 20, 28, .35);
	--wptm-shadow-2: 0 18px 40px -24px rgba(15, 20, 28, .5);
	--wptm-control-h: 48px;
	--wptm-control-h-lg: 52px;
	--wptm-fs-eyebrow: 12px;
	--wptm-tracking-eyebrow: .12em;
	--wptm-transition: .18s ease;
	--wptm-transition-slow: .35s ease;
	--home-cream: color-mix(in srgb, var(--wptm-accent) 5%, #fff);
	--home-dark: #171a20;
	--home-btn-radius: var(--wptm-radius-md);
	--wptm-card-navy: var(--home-ink);
	--wptm-card-accent: var(--wptm-accent);
	--wptm-card-ink: var(--home-muted);
	--wptm-card-muted: var(--home-muted);
	--wptm-card-faint: var(--wptm-faint);
	--wptm-card-line: var(--home-line);
	--wptm-card-radius: var(--home-radius);
	color: var(--home-ink);
	width: 100%;
	max-width: 100%;
}

/* The dark step follows whatever accent is in force. */
.wptm-home {
	--wptm-accent-dark: color-mix(in srgb, var(--wptm-accent) 78%, #000);
}

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.wptm-home {
		--wptm-accent-dark: #94682a;
		--home-cream: #faf7f2;
	}
}

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

.wptm-home ul,
.wptm-home li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wptm-home a {
	color: inherit;
}

.wptm-home__wrap {
	width: 100%;
	max-width: var(--home-wrap);
	margin: 0 auto;
	padding-inline: var(--home-pad);
}

.wptm-home__section {
	padding-block: var(--home-gap) 0;
}

.wptm-home__section:last-child {
	padding-block-end: var(--home-gap);
}

/* A band that ends the page (the call to action, most often) is pulled
   down over the theme's own space before the footer by the script, so
   the dark band meets the footer and no white gap sits between them. A
   white section ending the page keeps its air. */
.wptm-home__section--cta:last-child {
	margin-block-end: var(--wptm-home-footer-gap, 0px);
}

/* --- Headings ----------------------------------------------------------- */
.wptm-home__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
	margin: 0 0 clamp(22px, 3vw, 34px);
}

.wptm-home__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 8px;
	font-size: var(--wptm-fs-eyebrow);
	font-weight: 700;
	letter-spacing: var(--wptm-tracking-eyebrow);
	text-transform: uppercase;
	color: var(--wptm-accent);
}

/* Arabic joins its letters: no tracking on an Arabic eyebrow. */
.wptm-home__eyebrow:lang(ar),
[dir="rtl"] .wptm-home__eyebrow {
	letter-spacing: normal;
}

.wptm-home__eyebrow::before {
	content: "";
	width: 22px;
	height: 2px;
	background: var(--wptm-accent);
}

.wptm-home__title {
	margin: 0;
	font-size: clamp(1.7rem, 3.2vw, 2.5rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -.02em;
	max-width: 22ch;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.wptm-home__lead {
	margin: 10px 0 0;
	max-width: 56ch;
	font-size: 1.02rem;
	line-height: 1.65;
	color: var(--home-muted);
	text-wrap: pretty;
}

.wptm-home__more {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1.5px solid var(--home-line);
	border-radius: var(--home-btn-radius);
	font-size: .9rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: border-color var(--wptm-transition), background-color var(--wptm-transition), color var(--wptm-transition);
}

.wptm-home__more:hover {
	border-color: var(--wptm-accent);
	background: color-mix(in srgb, var(--wptm-accent) 8%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

/* --- Buttons ------------------------------------------------------------ */
.wptm-home__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: var(--wptm-control-h-lg);
	padding: 14px 26px;
	/* The tour page's button, so a reader who arrives from the homepage
	   meets the same control on the tour. One variable puts pills back. */
	border-radius: var(--home-btn-radius);
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	max-width: 100%;
	overflow-wrap: anywhere;
	transition: transform var(--wptm-transition), background-color var(--wptm-transition), border-color var(--wptm-transition), color var(--wptm-transition);
}

.wptm-home__btn--primary {
	background: var(--wptm-accent);
	color: var(--wptm-on-accent, #fff);
}

.wptm-home__btn--primary:hover {
	background: var(--wptm-accent-dark, var(--wptm-accent));
	transform: translateY(-1px);
	color: var(--wptm-on-accent, #fff);
}

.wptm-home__btn--ghost {
	border: 1.5px solid currentColor;
	background: transparent;
}

.wptm-home__btn--ghost:hover {
	transform: translateY(-1px);
	background: color-mix(in srgb, currentColor 8%, transparent);
}

.wptm-home__btn:active {
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__btn,
	.wptm-home__btn:hover {
		transition: none;
		transform: none;
	}
}

.wptm-home__btn:focus-visible,
.wptm-home__more:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 3px;
}

/* --- Hero --------------------------------------------------------------- */
/* The hero is the width of the window whatever container the theme puts
   the page in: it is pulled out to the viewport's edges from the centre,
   and the body is told to clip the few pixels a scrollbar would add, so no
   sideways scroll appears. clip, unlike hidden, leaves sticky and fixed
   elements alone. */
body:has(.wptm-home) {
	overflow-x: clip;
}

.wptm-home__hero {
	position: relative;
	display: flex;
	align-items: center;
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	min-height: clamp(520px, 78vh, 760px);
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	background: #1a1c22;
}

.wptm-home__hero--plain {
	min-height: auto;
	background: linear-gradient(160deg, var(--wptm-accent-dark, var(--wptm-accent)), var(--wptm-accent));
}

.wptm-home__herobg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.wptm-home__herobg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 55%;
}

.wptm-home__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(8, 10, 14, .45) 0%, rgba(8, 10, 14, .12) 40%, rgba(8, 10, 14, .7) 100%);
}

.wptm-home__hero--shade-light::after {
	background: linear-gradient(180deg, rgba(8, 10, 14, .3) 0%, rgba(8, 10, 14, .05) 40%, rgba(8, 10, 14, .55) 100%);
}

.wptm-home__hero--shade-dark::after {
	background: linear-gradient(180deg, rgba(8, 10, 14, .6) 0%, rgba(8, 10, 14, .35) 40%, rgba(8, 10, 14, .82) 100%);
}

.wptm-home__hero--plain::after {
	display: none;
}

.wptm-home__heroinner {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-block: clamp(64px, 9vw, 120px) clamp(40px, 6vw, 72px);
}

.wptm-home__hero:has(.wptm-home__down) .wptm-home__heroinner {
	padding-block-end: clamp(96px, 10vw, 120px);
}

.wptm-home__herocopy {
	max-width: 640px;
	margin-block-end: clamp(28px, 4vw, 44px);
}

.wptm-home__hero--center .wptm-home__herocopy {
	margin-inline: auto;
	text-align: center;
}

.wptm-home__heroeyebrow {
	margin: 0 0 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .85);
}

.wptm-home__herotitle {
	margin: 0 0 16px;
	font-size: clamp(2.1rem, 5.4vw, 4rem);
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -.03em;
	color: #fff;
	text-wrap: balance;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .35);
}

.wptm-home__herotext {
	margin: 0 0 24px;
	max-width: 52ch;
	font-size: clamp(1rem, 1.5vw, 1.15rem);
	line-height: 1.7;
	color: rgba(255, 255, 255, .88);
	text-wrap: pretty;
}

.wptm-home__hero--center .wptm-home__herotext {
	margin-inline: auto;
}

.wptm-home__heroctas {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.wptm-home__hero--center .wptm-home__heroctas {
	justify-content: center;
}

.wptm-home__hero .wptm-home__btn--ghost {
	border-color: rgba(255, 255, 255, .6);
	color: #fff;
	background: rgba(255, 255, 255, .06);
	backdrop-filter: blur(4px);
}

/* The search: one horizontal bar. Each field is a column of equal width
   with a thin rule between, the button is a fixed block at the end. The
   select is drawn plain with its own chevron so every browser shows the
   same control. */
.wptm-home__search {
	display: flex;
	align-items: stretch;
	max-width: 1080px;
	padding: 6px;
	border-radius: 18px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .28), 0 0 0 1px rgba(255, 255, 255, .6) inset;
	color: var(--home-ink);
}

.wptm-home__hero--center .wptm-home__search {
	margin-inline: auto;
}

.wptm-home__field {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 1 1 0;
	min-width: 0;
	padding: 10px 18px;
	border-inline-end: 1px solid var(--home-line);
	cursor: pointer;
}

.wptm-home__field:last-of-type {
	border-inline-end: 0;
}

.wptm-home__fieldicon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--wptm-accent);
	line-height: 0;
}

.wptm-home__fieldcopy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}

.wptm-home__fieldlabel {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--home-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wptm-home__field select {
	width: 100%;
	min-height: 32px;
	padding: 0 24px 0 0;
	border: 0;
	background:
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>") no-repeat right center / 18px 18px;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	color: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

[dir="rtl"] .wptm-home__field select {
	padding: 0 0 0 24px;
	background-position: left center;
}

.wptm-home__field select:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

.wptm-home__searchbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 10px;
	min-height: 58px;
	padding: 0 28px;
	margin: 0 0 0 6px;
	border: 0;
	border-radius: 13px;
	background: var(--wptm-accent);
	color: var(--wptm-on-accent, #fff);
	font: inherit;
	font-size: .95rem;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .18s ease;
}

/* Keep the glyph and its label on one optical baseline even when a theme
   applies its own global SVG or button line-height rules. */
.wptm-home__searchbtnicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0;
	line-height: 0;
}

.wptm-home__searchbtnicon .wptm-icon {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0;
	vertical-align: middle;
}

.wptm-home__searchbtnlabel {
	display: block;
	line-height: 1.2;
}

[dir="rtl"] .wptm-home__searchbtn {
	margin: 0 6px 0 0;
}

.wptm-home__searchbtn:hover {
	background: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__searchbtn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -5px;
}

/* --- Tiles (destinations, tour types) ----------------------------------- */
.wptm-home__tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.wptm-home__tiles--types {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wptm-home__tile a {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	border-radius: var(--home-radius);
	overflow: hidden;
	background: #22252b;
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}

.wptm-home__tiles--types .wptm-home__tile a {
	aspect-ratio: 16 / 10;
}

.wptm-home__tileimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s ease;
}

.wptm-home__tile a:hover .wptm-home__tileimg {
	transform: scale(1.05);
}

.wptm-home__tile a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .72) 100%);
}

.wptm-home__tile--plain a {
	background: linear-gradient(160deg, var(--wptm-accent-dark, var(--wptm-accent)), var(--wptm-accent));
}

.wptm-home__tile--plain a::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .35) 100%);
}

.wptm-home__tilecopy {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 18px;
}

.wptm-home__tilename {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
}

.wptm-home__tilecount {
	font-size: .82rem;
	color: rgba(255, 255, 255, .8);
}

.wptm-home__tile a:focus-visible {
	outline: 3px solid var(--wptm-accent);
	outline-offset: 3px;
}

/* --- Signature ---------------------------------------------------------- */
.wptm-home__sig {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(24px, 4vw, 56px);
}

.wptm-home__sigmedia {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--home-radius);
	overflow: hidden;
	background: #22252b;
}

.wptm-home__sigimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .8s ease;
}

.wptm-home__sig:hover .wptm-home__sigimg {
	transform: scale(1.04);
}

.wptm-home__sigtitle {
	margin: 0 0 14px;
	font-size: clamp(1.6rem, 2.8vw, 2.3rem);
	line-height: 1.12;
	letter-spacing: -.02em;
}

.wptm-home__sigtitle a {
	text-decoration: none;
}

.wptm-home__sigtitle a:hover {
	color: var(--wptm-accent);
}

.wptm-home__siglead {
	margin: 0 0 20px;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--home-muted);
	text-wrap: pretty;
}

.wptm-home__sigfacts {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	margin: 0 0 24px;
	padding: 16px 0;
	border-block: 1px solid var(--home-line);
}

.wptm-home__sigfacts div {
	margin: 0;
}

.wptm-home__sigfacts dt {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--home-muted);
}

.wptm-home__sigfacts dd {
	margin: 2px 0 0;
	font-size: 1rem;
	font-weight: 600;
}

.wptm-home__sigprice {
	color: var(--wptm-accent);
	font-size: 1.25rem;
}

/* --- Activities, guides ------------------------------------------------- */
.wptm-home__acts,
.wptm-home__guides {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.wptm-home__act a,
.wptm-home__guide a {
	display: block;
	text-decoration: none;
}

.wptm-home__actimg,
.wptm-home__guideimg {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--home-radius);
	background: #e9e6df;
	transition: transform .5s ease, box-shadow .5s ease;
}

.wptm-home__act a:hover .wptm-home__actimg,
.wptm-home__guide a:hover .wptm-home__guideimg {
	transform: translateY(-4px);
	box-shadow: 0 18px 34px -16px rgba(0, 0, 0, .35);
}

.wptm-home__actcopy,
.wptm-home__guidecopy {
	display: block;
	padding: 14px 4px 0;
}

.wptm-home__actname,
.wptm-home__guidetitle {
	display: block;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.3;
}

.wptm-home__act a:hover .wptm-home__actname,
.wptm-home__guide a:hover .wptm-home__guidetitle {
	color: var(--wptm-accent);
}

.wptm-home__actnote {
	display: block;
	margin-top: 6px;
	font-size: .9rem;
	line-height: 1.55;
	color: var(--home-muted);
}

.wptm-home__guidedate {
	display: block;
	margin-bottom: 6px;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--home-muted);
}

/* --- Trust: four styles ------------------------------------------------- */
.wptm-home__trust {
	display: grid;
	gap: 14px;
}

.wptm-home__trustinner {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	color: inherit;
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.wptm-home__trusticon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border: 1px solid color-mix(in srgb, var(--wptm-accent) 16%, transparent);
	border-radius: 15px;
	background: color-mix(in srgb, var(--wptm-accent) 12%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	line-height: 0;
}

.wptm-home__trusticon .wptm-icon {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0;
}

.wptm-home__trustitem--stat .wptm-home__trusticon {
	border-color: rgba(28, 119, 103, .14);
	background: #edf8f5;
	color: #16715f;
}

.wptm-home__trustitem--licence .wptm-home__trusticon {
	border-color: rgba(32, 107, 69, .14);
	background: #edf7f0;
	color: #206b45;
}

.wptm-home__trustitem--rating .wptm-home__trusticon {
	border-color: rgba(181, 119, 14, .17);
	background: #fff7e7;
	color: #a96b07;
}

.wptm-home__trustitem--award .wptm-home__trusticon {
	border-color: rgba(115, 79, 155, .15);
	background: #f6f0fb;
	color: #724b98;
}

.wptm-home__trustitem--text .wptm-home__trusticon {
	border-color: rgba(38, 105, 154, .14);
	background: #eef6fb;
	color: #276c9d;
}

.wptm-home__trustlogo img {
	display: block;
	max-height: 44px;
	width: auto;
}

.wptm-home__trustcopy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.wptm-home__trusttitle {
	font-size: .98rem;
	font-weight: 700;
	line-height: 1.3;
}

.wptm-home__trustvalue {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--wptm-accent-dark, var(--wptm-accent));
	margin-bottom: 4px;
}

.wptm-home__trustnote {
	font-size: .85rem;
	line-height: 1.5;
	color: var(--home-muted);
}

/* bar: one row, rules between */
.wptm-home__trust--bar .wptm-home__trust {
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
	gap: 0;
	padding: 10px;
	overflow: hidden;
	border: 1px solid var(--home-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 22px 54px -44px rgba(18, 33, 27, .55);
}

.wptm-home__trust--bar .wptm-home__trustitem {
	padding: 10px 18px;
	border-inline-end: 1px solid var(--home-line);
}

.wptm-home__trust--bar .wptm-home__trustitem:last-child {
	border-inline-end: 0;
}

.wptm-home__trust--bar .wptm-home__trustvalue {
	font-size: 1.15rem;
}

/* grid: cards */
.wptm-home__trust--grid .wptm-home__trust {
	grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
}

.wptm-home__trust--grid .wptm-home__trustinner {
	align-items: flex-start;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
	border: 1px solid var(--home-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 20px 44px -40px rgba(18, 33, 27, .58);
}

.wptm-home__trust--grid a.wptm-home__trustinner:hover,
.wptm-home__trust--grid a.wptm-home__trustinner:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--wptm-accent) 34%, var(--home-line));
	box-shadow: 0 24px 48px -36px rgba(18, 33, 27, .48);
}

/* certs: logos and licences, centred */
.wptm-home__trust--certs .wptm-home__trust {
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: 24px;
	padding: 28px;
	border-radius: var(--home-radius);
	background: color-mix(in srgb, var(--wptm-accent) 6%, #fff);
}

.wptm-home__trust--certs .wptm-home__trustinner {
	flex-direction: column;
	text-align: center;
	gap: 10px;
}

.wptm-home__trust--certs .wptm-home__trustlogo img {
	max-height: 56px;
}

/* metrics: large numbers */
.wptm-home__trust--metrics .wptm-home__trust {
	grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
	gap: 24px;
	padding: 34px 0;
	border-block: 1px solid var(--home-line);
}

.wptm-home__trust--metrics .wptm-home__trustinner {
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.wptm-home__trust--metrics .wptm-home__trusticon {
	width: 42px;
	height: 42px;
	margin-block-end: 4px;
}

.wptm-home__trust--metrics .wptm-home__trustvalue {
	font-size: clamp(2rem, 4vw, 3rem);
}

/* --- Why ---------------------------------------------------------------- */
.wptm-home__head--center {
	justify-content: center;
	text-align: center;
}

.wptm-home__head--center .wptm-home__eyebrow {
	justify-content: center;
}

.wptm-home__head--center .wptm-home__title {
	margin-inline: auto;
}

.wptm-home__why {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	counter-reset: none;
	border-block-start: 1px solid var(--home-line);
}

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

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

.wptm-home__whyitem {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 30px 24px 30px 0;
	margin-inline-end: 28px;
	border-block-end: 1px solid var(--home-line);
}

.wptm-home__whymark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 16px;
	background: color-mix(in srgb, var(--wptm-accent) 12%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	line-height: 0;
}

.wptm-home__whymark--image {
	background: none;
	overflow: hidden;
	border-radius: 18px;
	width: 72px;
	height: 72px;
}

.wptm-home__whymark--image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wptm-home__whynum {
	position: absolute;
	top: 30px;
	inset-inline-end: 24px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--home-muted);
	opacity: .6;
}

.wptm-home__whytitle {
	margin: 4px 0 0;
	font-size: 1.12rem;
	line-height: 1.3;
	letter-spacing: -.01em;
}

.wptm-home__whytext {
	margin: 0;
	font-size: .95rem;
	line-height: 1.65;
	color: var(--home-muted);
	text-wrap: pretty;
}

/* --- CTA ---------------------------------------------------------------- */
/* A dark band from edge to edge, the copy centred on it, the buttons in a
   row beneath. A faint radial glow in the site colour on one side, and a
   thin line of it along the top, are all the decoration it carries. */
.wptm-home__section--cta {
	position: relative;
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	margin-block-start: var(--home-gap);
	padding-block: clamp(56px, 8vw, 110px) !important;
	color: #fff;
	/* One dark ink and one faint warmth in the corner: enough that the
	   band is not flat black, not so much that it reads as lighting. */
	background:
		radial-gradient(ellipse 55% 80% at 85% 100%, color-mix(in srgb, var(--wptm-accent) 22%, transparent), transparent 70%),
		var(--home-dark);
}

.wptm-home__section--cta::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 2px;
	background: var(--wptm-accent);
	opacity: .8;
}

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.wptm-home__section--cta {
		background: var(--home-dark);
	}

	.wptm-home__section--destinations,
	.wptm-home__section--trust,
	.wptm-home__section--gallery,
	.wptm-home__section--why {
		background: #faf7f2;
	}
}

.wptm-home__cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.wptm-home__eyebrow--light {
	justify-content: center;
	color: color-mix(in srgb, var(--wptm-accent) 70%, #fff);
}

.wptm-home__eyebrow--light::before {
	background: currentColor;
}

.wptm-home__ctatitle {
	margin: 0 0 12px;
	font-size: clamp(1.7rem, 3.4vw, 2.6rem);
	line-height: 1.12;
	letter-spacing: -.02em;
	color: #fff;
	text-wrap: balance;
}

.wptm-home__ctatext {
	margin: 0 0 28px;
	max-width: 56ch;
	font-size: 1.05rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, .78);
	text-wrap: pretty;
}

.wptm-home__ctabtns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

.wptm-home__cta .wptm-home__btn--ghost {
	border-color: rgba(255, 255, 255, .5);
	color: #fff;
}

.wptm-home__cta .wptm-home__btn--ghost:hover {
	background: rgba(255, 255, 255, .1);
}

/* --- Own content -------------------------------------------------------- */
.wptm-home__content {
	max-width: 760px;
	font-size: 1.02rem;
	line-height: 1.75;
}

/* --- Tablet ------------------------------------------------------------- */
@media (max-width: 1000px) {
	.wptm-home__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__tiles--types {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__acts,
	.wptm-home__guides {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__sig {
		grid-template-columns: 1fr;
	}

	/* Two fields per row, the button on its own row under them. */
	.wptm-home__search {
		flex-wrap: wrap;
	}

	.wptm-home__field {
		flex: 1 1 45%;
		border-block-end: 1px solid var(--home-line);
	}

	.wptm-home__field:nth-of-type(2n) {
		border-inline-end: 0;
	}

	.wptm-home__searchbtn {
		flex: 1 1 100%;
		margin: 6px 0 0;
	}
}

/* --- Phone -------------------------------------------------------------- */
@media (max-width: 640px) {
	.wptm-home {
		--home-gap: calc(44px * var(--wptm-density, 1));
	}

	.wptm-home__hero {
		min-height: auto;
	}

	.wptm-home__heroinner {
		padding-block: 56px 36px;
	}

	.wptm-home__heroctas .wptm-home__btn {
		flex: 1 1 100%;
	}

	.wptm-home__search {
		border-radius: 16px;
	}

	.wptm-home__field {
		flex: 1 1 100%;
		border-inline-end: 0;
		padding: 12px 14px;
	}

	.wptm-home__field select {
		font-size: 16px;
	}

	/* Tiles scroll sideways, one and a half in view, so a row of eight is a
	   swipe and not a wall. */
	.wptm-home__tiles,
	.wptm-home__tiles--types,
	.wptm-home__acts {
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 2px 2px 14px;
		margin-inline: calc(var(--home-pad) * -1);
		padding-inline: var(--home-pad);
		scrollbar-width: none;
	}

	.wptm-home__tiles::-webkit-scrollbar,
	.wptm-home__acts::-webkit-scrollbar {
		display: none;
	}

	.wptm-home__tile,
	.wptm-home__act {
		flex: 0 0 68%;
		scroll-snap-align: start;
	}

	.wptm-home__tiles--types .wptm-home__tile {
		flex: 0 0 76%;
	}

	.wptm-home__guides {
		grid-template-columns: 1fr;
	}

	.wptm-home__trust--bar .wptm-home__trust {
		grid-template-columns: 1fr;
	}

	.wptm-home__trust--bar .wptm-home__trustitem {
		border-inline-end: 0;
		border-block-end: 1px solid var(--home-line);
		padding: 12px 4px;
	}

	.wptm-home__trust--bar .wptm-home__trustitem:last-child {
		border-block-end: 0;
	}

	.wptm-home__ctabtns {
		width: 100%;
	}

	.wptm-home__ctabtns .wptm-home__btn {
		flex: 1 1 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__tileimg,
	.wptm-home__sigimg,
	.wptm-home__actimg,
	.wptm-home__guideimg,
	.wptm-home__btn,
	.wptm-home__more,
	.wptm-home__searchbtn {
		transition: none;
	}

	.wptm-home__tile a:hover .wptm-home__tileimg,
	.wptm-home__sig:hover .wptm-home__sigimg,
	.wptm-home__act a:hover .wptm-home__actimg,
	.wptm-home__guide a:hover .wptm-home__guideimg,
	.wptm-home__btn:hover {
		transform: none;
	}
}

/* --- Testimonials slider ------------------------------------------------ */
.wptm-home__slidernav {
	display: inline-flex;
	gap: 8px;
}

.wptm-home__sliderbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--home-line);
	border-radius: 50%;
	background: #fff;
	color: var(--home-ink);
	cursor: pointer;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}

.wptm-home__sliderbtn:hover {
	background: var(--wptm-accent);
	border-color: var(--wptm-accent);
	color: var(--wptm-on-accent, #fff);
}

.wptm-home__sliderbtn:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 3px;
}

[dir="rtl"] .wptm-home__sliderbtn svg {
	transform: scaleX(-1);
}

.wptm-home__slider {
	position: relative;
}

.wptm-home__track {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 0;
	padding: 4px 4px 12px;
	margin: -4px -4px 0;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.wptm-home__track::-webkit-scrollbar {
	display: none;
}

.wptm-home__review {
	flex: 0 0 calc((100% - 40px) / 3);
	scroll-snap-align: start;
}

.wptm-home__reviewcard {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px 26px 22px;
	border: 1px solid var(--home-line);
	border-radius: var(--home-radius);
	background: #fff;
	position: relative;
}

.wptm-home__reviewcard::before {
	content: "\201C";
	position: absolute;
	top: 8px;
	inset-inline-end: 22px;
	font-family: Georgia, serif;
	font-size: 78px;
	line-height: 1;
	color: color-mix(in srgb, var(--wptm-accent) 28%, transparent);
}

.wptm-home__stars {
	display: inline-flex;
	gap: 2px;
	margin: 0 0 14px;
	color: color-mix(in srgb, currentColor 18%, transparent);
}

.wptm-home__star {
	display: inline-flex;
	line-height: 0;
}

.wptm-home__star.is-on {
	color: var(--wptm-accent);
}

.wptm-home__quote {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	background: none;
	font-style: normal;
}

.wptm-home__quote p {
	margin: 0;
	font-size: .98rem;
	line-height: 1.75;
	color: var(--home-ink);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	overflow: hidden;
	text-wrap: pretty;
}

.wptm-home__reviewer {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--home-line);
}

.wptm-home__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	background: color-mix(in srgb, var(--wptm-accent) 14%, #fff);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	font-weight: 700;
}

.wptm-home__reviewercopy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	font-size: .9rem;
	line-height: 1.35;
}

.wptm-home__reviewercopy strong {
	font-size: .95rem;
}

.wptm-home__reviewercopy a,
.wptm-home__reviewercopy span {
	color: var(--home-muted);
	text-decoration: none;
}

.wptm-home__reviewercopy a:hover {
	color: var(--wptm-accent);
	text-decoration: underline;
}

.wptm-home__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}

.wptm-home__dots:empty {
	display: none;
}

.wptm-home__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: color-mix(in srgb, currentColor 22%, transparent);
	cursor: pointer;
	transition: width .2s ease, background-color .2s ease;
}

.wptm-home__dot[aria-selected="true"] {
	width: 24px;
	border-radius: 999px;
	background: var(--wptm-accent);
}

.wptm-home__dot:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 3px;
}

@media (max-width: 1000px) {
	.wptm-home__review {
		flex: 0 0 calc((100% - 20px) / 2);
	}
}

@media (max-width: 640px) {
	.wptm-home__review {
		flex: 0 0 88%;
	}

	.wptm-home__slidernav {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__sliderbtn,
	.wptm-home__dot {
		transition: none;
	}

	.wptm-home__track {
		scroll-behavior: auto;
	}
}


/* --- Flush under the header, the arrow, WhatsApp, the licence ------------ */

/* The theme's own page title has no place above a hero; the script pulls
   the hero up over the space it left. */
body.page-template-tripvance-home .entry-header,
body.page-template-tripvance-home h1.entry-title,
body.page-template-tripvance-home .page-title:not(.wptm-home *),
body.page-template-tripvance-home .breadcrumb,
body.page-template-tripvance-home #breadcrumb {
	display: none;
}

.wptm-home__btn--wa {
	background: #25d366;
	color: #062a14;
	box-shadow: 0 10px 24px -10px #25d366;
}

.wptm-home__btn--wa:hover {
	background: #1fbf5b;
	color: #062a14;
	transform: translateY(-2px);
}

.wptm-home__btn--wa svg {
	width: 18px;
	height: 18px;
}

.wptm-home__licence {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: .9rem;
	line-height: 1.4;
	text-decoration: none;
}

.wptm-home__licence--hero {
	padding: 8px 14px 8px 10px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .3);
	border: 1px solid rgba(255, 255, 255, .18);
	color: rgba(255, 255, 255, .92);
	backdrop-filter: blur(4px);
}

.wptm-home__licence--trust {
	margin-top: 16px;
	color: var(--home-muted);
}

.wptm-home__licence--trust .wptm-home__licencevalue {
	color: var(--home-ink);
}

.wptm-home__verified {
	display: inline-flex;
	line-height: 0;
	flex: 0 0 auto;
}

.wptm-home__licencevalue {
	font-weight: 700;
	letter-spacing: .02em;
}

a.wptm-home__licence:hover .wptm-home__licencevalue {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wptm-home__down {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 22px;
	z-index: 3;
	justify-content: center;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	text-decoration: none;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wptm-home__downring {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 34px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
	opacity: .84;
	line-height: 0;
	transition: opacity .18s ease, transform .18s ease;
}

.wptm-home__downring svg {
	display: block;
	margin: 0;
	animation: wptm-home-bob 1.8s ease-in-out infinite;
}

@keyframes wptm-home-bob {
	0%, 100% { transform: translateY(-1px); }
	50% { transform: translateY(2px); }
}

.wptm-home__down:hover .wptm-home__downring {
	background: transparent;
	opacity: 1;
	transform: translateY(1px);
}

.wptm-home__down:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 4px;
	border-radius: 999px;
}

.wptm-home__section--featured {
	scroll-margin-top: calc(var(--wptm-offset, 0px) + 12px);
}

@media (max-width: 640px) {
	/* Centred at the foot of the hero; the hero leaves room for it. */
	.wptm-home__down {
		inset-inline: 0;
		inset-block-end: 14px;
		justify-content: center;
	}

	.wptm-home__hero:has(.wptm-home__down) .wptm-home__heroinner {
		padding-block-end: 84px;
	}

	.wptm-home__licence--hero {
		display: flex;
		justify-content: center;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__downring svg {
		animation: none;
	}
}

/* --- Reviews: gold stars, the name as the link, the viewer --------------- */
.wptm-home .wptm-home__stars {
	color: rgba(0, 0, 0, .16);
}

.wptm-home .wptm-home__star.is-on,
.wptm-home .wptm-home__star.is-on svg {
	color: #f5a500;
	fill: #f5a500;
}

/* The quote is cut short only when the viewer can open it. */
.wptm-home__quote p {
	display: block;
	overflow: visible;
}

.wptm-home--js .wptm-home__quote p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.wptm-home__readmore {
	align-self: flex-start;
	margin: -8px 0 16px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wptm-accent-dark, var(--wptm-accent));
	font: inherit;
	font-size: .88rem;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.wptm-home__readmore:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

.wptm-home__reviewername {
	text-decoration: none;
	color: var(--home-ink);
}

.wptm-home__reviewername:hover strong {
	color: var(--wptm-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wptm-home__ext {
	font-size: .8em;
	color: var(--home-muted);
}

.wptm-home__reviewsource {
	color: var(--home-muted);
}

.wptm-home .wptm-vh {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* --- Dialogs ------------------------------------------------------------ */
.wptm-home__dialog {
	width: min(92vw, 640px);
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: #fff;
	color: var(--home-ink);
	box-shadow: 0 40px 90px rgba(0, 0, 0, .35);
}

.wptm-home__dialog::backdrop {
	background: rgba(10, 12, 16, .62);
	backdrop-filter: blur(3px);
}

.wptm-home__dialogbox {
	position: relative;
	padding: 34px 30px 30px;
	overflow: auto;
	max-height: 90vh;
}

.wptm-home__dialogclose {
	position: absolute;
	top: 12px;
	inset-inline-end: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .06);
	color: inherit;
	cursor: pointer;
}

.wptm-home__dialogclose:hover {
	background: rgba(0, 0, 0, .12);
}

.wptm-home__dialogclose:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 2px;
}

.wptm-home__dialogtitle {
	margin: 10px 0 2px;
	font-size: 1.15rem;
}

.wptm-home__dialogsource {
	margin: 0 0 16px;
	font-size: .9rem;
	color: var(--home-muted);
}

.wptm-home__dialogsource a {
	color: inherit;
}

.wptm-home__dialogtext p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.8;
	text-wrap: pretty;
}

.wptm-home__dialog--photo {
	width: min(96vw, 1100px);
	background: #0e1014;
	color: #fff;
}

.wptm-home__dialogbox--photo {
	padding: 0;
	overflow: hidden;
	max-height: none;
}

.wptm-home__dialogbox--photo .wptm-home__dialogclose {
	background: rgba(255, 255, 255, .14);
	color: #fff;
	z-index: 2;
}

.wptm-home__dialogimg {
	display: block;
	width: 100%;
	max-height: 78vh;
	object-fit: contain;
	background: #0e1014;
}

.wptm-home__dialogcap {
	margin: 0;
	padding: 12px 70px 14px 18px;
	font-size: .92rem;
	color: rgba(255, 255, 255, .85);
}

.wptm-home__dialogcap[hidden] {
	display: none;
}

.wptm-home__dialognav {
	position: absolute;
	inset-block-end: 8px;
	inset-inline-end: 12px;
	display: inline-flex;
	gap: 6px;
}

.wptm-home__dialognav .wptm-home__sliderbtn {
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, .14);
	border-color: transparent;
	color: #fff;
}

/* --- Gallery ------------------------------------------------------------ */
.wptm-home__gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 200px;
	grid-auto-flow: dense;
	gap: 12px;
}

.wptm-home__shot:first-child,
.wptm-home__shot:nth-child(6n + 6) {
	grid-column: span 2;
	grid-row: span 2;
}

.wptm-home__shot a {
	position: relative;
	display: block;
	height: 100%;
	border-radius: 12px;
	overflow: hidden;
	background: #22252b;
}

.wptm-home__shot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s ease;
}

.wptm-home__shot a:hover img {
	transform: scale(1.04);
}

.wptm-home__shotcap {
	position: absolute;
	inset: auto 0 0 0;
	padding: 28px 14px 12px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .65));
	color: #fff;
	font-size: .82rem;
	line-height: 1.4;
	opacity: 0;
	transition: opacity .25s ease;
}

.wptm-home__shot a:hover .wptm-home__shotcap,
.wptm-home__shot a:focus-visible .wptm-home__shotcap {
	opacity: 1;
}

.wptm-home__shot a:focus-visible {
	outline: 3px solid var(--wptm-accent);
	outline-offset: 3px;
}

@media (max-width: 1000px) {
	.wptm-home__gallery {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-auto-rows: 170px;
	}
}

@media (max-width: 640px) {
	.wptm-home__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 140px;
		gap: 8px;
	}

	.wptm-home__shotcap {
		opacity: 1;
		padding: 20px 10px 8px;
		font-size: .76rem;
	}

	.wptm-home__dialogbox {
		padding: 30px 20px 24px;
	}
}

@media (pointer: coarse) {
	.wptm-home__shotcap {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__shot img,
	.wptm-home__shotcap {
		transition: none;
	}

	.wptm-home__shot a:hover img {
		transform: none;
	}
}


/* --- Rhythm ------------------------------------------------------------- */
/* The sections that stand for people and places sit on a soft band of the
   site colour from one edge of the window to the other. The band is the
   section itself, pulled out to the viewport and padded back in, so no
   stacking trick can leave it white under a theme's own background. */
.wptm-home__section--destinations,
.wptm-home__section--trust,
.wptm-home__section--gallery,
.wptm-home__section--why {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	padding-block: var(--home-gap);
	background: var(--home-cream);
}

.wptm-home__section--destinations + .wptm-home__section,
.wptm-home__section--trust + .wptm-home__section,
.wptm-home__section--gallery + .wptm-home__section,
.wptm-home__section--why + .wptm-home__section {
	padding-block-start: var(--home-gap);
}

/* Tiles: a firmer name, the count as a small pill. */
.wptm-home__tilename {
	font-size: 1.2rem;
	text-shadow: 0 1px 12px rgba(0, 0, 0, .35);
}

.wptm-home__tilecount {
	align-self: flex-start;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	backdrop-filter: blur(3px);
	font-size: .78rem;
	font-weight: 600;
	color: #fff;
}

@media (max-width: 1000px) {
	.wptm-home__why,
	.wptm-home__why--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.wptm-home__why,
	.wptm-home__why--2,
	.wptm-home__why--3 {
		grid-template-columns: 1fr;
	}

	.wptm-home__whyitem {
		margin-inline-end: 0;
		padding: 22px 0;
	}

	.wptm-home__whynum {
		top: 22px;
		inset-inline-end: 0;
	}

	.wptm-home__more {
		min-height: 38px;
		padding: 0 14px;
		font-size: .85rem;
	}
}


/* --- More polish -------------------------------------------------------- */

/* One or two photos are a banner or a pair, not a broken grid. */
.wptm-home__gallery--1 {
	grid-template-columns: 1fr;
	grid-auto-rows: clamp(220px, 40vw, 460px);
}

.wptm-home__gallery--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: clamp(200px, 32vw, 380px);
}

.wptm-home__gallery--1 .wptm-home__shot,
.wptm-home__gallery--2 .wptm-home__shot {
	grid-column: auto;
	grid-row: auto;
}

/* The signature picture carries its price. */
.wptm-home__sigmedia {
	position: relative;
}

.wptm-home__sigbadge {
	position: absolute;
	inset-block-start: 16px;
	inset-inline-start: 16px;
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	padding: 10px 16px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .95);
	color: var(--home-ink);
	box-shadow: 0 8px 22px rgba(0, 0, 0, .18);
	line-height: 1.1;
}

.wptm-home__sigbadge span {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--home-muted);
}

.wptm-home__sigbadge b {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

/* The hero eases into the page rather than ending on a hard edge. */
.wptm-home__hero:not(.wptm-home__hero--plain)::after {
	background:
		linear-gradient(180deg, rgba(8, 10, 14, .45) 0%, rgba(8, 10, 14, .12) 40%, rgba(8, 10, 14, .7) 100%),
		linear-gradient(0deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, 0) 12%);
}

/* The arrow's label sits over a soft pill so it reads on any picture. */
.wptm-home__down {
	font-size: .78rem;
}

.wptm-home__downlabel {
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(0, 0, 0, .28);
	backdrop-filter: blur(4px);
}

/* Sections rise softly into view; nothing moves for a reader who asked for
   no motion, and nothing is hidden when the script is absent. */
.wptm-home--js .wptm-home__section > .wptm-home__wrap {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s ease, transform .6s ease;
}

.wptm-home--js .wptm-home__section.is-in > .wptm-home__wrap,
.wptm-home--js .wptm-home__section--content > .wptm-home__wrap {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home--js .wptm-home__section > .wptm-home__wrap {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* --- Why choose us: editorial introduction and calm cards -------------- */
/* The heading anchors the section while each reason gets its own surface.
   Keeping the title and description in one copy block prevents long text or
   a translated title from colliding with the next item. */
.wptm-home__section--why {
	isolation: isolate;
	overflow: clip;
	border-block: 1px solid color-mix(in srgb, var(--wptm-accent) 14%, var(--home-line));
	/* The warm paper, flat: the copy is the point of the section, and a
	   glow behind body text competes with it. */
	background: var(--home-cream);
}

.wptm-home__whygrid {
	display: grid;
	grid-template-columns: minmax(250px, .78fr) minmax(0, 1.35fr);
	gap: clamp(42px, 7vw, 96px);
	align-items: center;
}

.wptm-home__head--why {
	position: relative;
	margin: 0;
}

.wptm-home__head--why::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 28px;
	border-radius: 1px;
	background: var(--wptm-accent);
}

.wptm-home__head--why .wptm-home__title {
	max-width: 13ch;
	font-size: clamp(2rem, 3.5vw, 3rem);
	line-height: 1.08;
}

.wptm-home__why,
.wptm-home__why--2,
.wptm-home__why--3,
.wptm-home__why--4 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	border: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.wptm-home__whyitem {
	position: relative;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	column-gap: 18px;
	align-items: center;
	min-height: 112px;
	margin: 0;
	padding: 20px 22px;
	border: 1px solid color-mix(in srgb, var(--wptm-accent) 12%, var(--home-line));
	border-radius: 18px;
	background: rgba(255, 255, 255, .88);
	box-shadow: 0 16px 36px -34px rgba(27, 31, 36, .65);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.wptm-home__whyitem:first-child {
	padding-top: 20px;
}

.wptm-home__whyitem:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--wptm-accent) 34%, var(--home-line));
	box-shadow: 0 22px 46px -34px rgba(27, 31, 36, .7);
}

.wptm-home__whymark {
	grid-column: 1;
	grid-row: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin: 0;
	border-radius: 17px;
	background: color-mix(in srgb, var(--wptm-accent) 11%, #fff);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wptm-accent) 14%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	line-height: 0;
}

.wptm-home__whymark svg {
	width: 28px;
	height: 28px;
}

.wptm-home__whymark--image {
	width: 64px;
	height: 64px;
	border: 3px solid #fff;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 8px 22px -14px rgba(27, 31, 36, .7);
}

.wptm-home__whynum {
	position: static;
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	padding: 5px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wptm-accent) 8%, transparent);
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .12em;
	color: var(--wptm-accent-dark, var(--wptm-accent));
	opacity: .78;
}

.wptm-home__whycopy {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.wptm-home__whytitle {
	margin: 0;
	font-size: clamp(1.08rem, 1.5vw, 1.22rem);
	font-weight: 700;
	line-height: 1.28;
	letter-spacing: -.012em;
	text-wrap: balance;
}

.wptm-home__whytext {
	margin: 7px 0 0;
	max-width: 60ch;
	font-size: .96rem;
	line-height: 1.6;
	color: var(--home-muted);
	text-wrap: pretty;
}

@media (max-width: 900px) {
	.wptm-home__whygrid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.wptm-home__head--why {
		max-width: 680px;
	}

	.wptm-home__head--why .wptm-home__title {
		max-width: 20ch;
	}
}

@media (max-width: 640px) {
	.wptm-home__whygrid {
		gap: 24px;
	}

	.wptm-home__head--why::after {
		margin-top: 20px;
	}

	.wptm-home__whyitem {
		grid-template-columns: 50px minmax(0, 1fr);
		column-gap: 14px;
		min-height: 0;
		padding: 18px 16px;
		border-radius: 16px;
	}

	.wptm-home__whyitem:first-child {
		padding-top: 18px;
	}

	.wptm-home__whymark {
		width: 50px;
		height: 50px;
		border-radius: 14px;
	}

	.wptm-home__whymark svg {
		width: 24px;
		height: 24px;
	}

	.wptm-home__whymark--image {
		width: 50px;
		height: 50px;
		border-radius: 50%;
	}

	.wptm-home__whycopy {
		padding-inline-end: 28px;
	}

	.wptm-home__whynum {
		position: absolute;
		top: 17px;
		inset-inline-end: 16px;
	}

	.wptm-home__whytext {
		font-size: .92rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__whyitem {
		transition: none;
	}

	.wptm-home__whyitem:hover {
		transform: none;
	}
}

/* --- The photo viewer fits its picture ---------------------------------- */
/* The box is as wide as the picture it shows, so a portrait photograph is
   not floated in a wide black field. The arrows sit over the picture's
   edges; the caption runs under it at the same width. */
.wptm-home__dialog--photo {
	width: fit-content;
	max-width: min(96vw, 1200px);
	max-height: none;
}

.wptm-home__dialogbox--photo {
	position: relative;
	display: flex;
	flex-direction: column;
	max-height: none;
}

.wptm-home__dialogimg {
	display: block;
	width: auto;
	height: auto;
	max-width: min(96vw, 1200px);
	max-height: 80vh;
	object-fit: contain;
}

.wptm-home__dialogcap {
	padding: 12px 56px 14px 18px;
	text-align: start;
}

.wptm-home__dialognav {
	position: absolute;
	inset-block-start: 50%;
	inset-inline: 10px;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
}

.wptm-home__dialognav .wptm-home__sliderbtn {
	pointer-events: auto;
	width: 42px;
	height: 42px;
	background: rgba(0, 0, 0, .45);
	border-color: rgba(255, 255, 255, .25);
	color: #fff;
}

.wptm-home__dialognav .wptm-home__sliderbtn:hover {
	background: var(--wptm-accent);
	border-color: var(--wptm-accent);
}

.wptm-home__dialogbox--photo .wptm-home__dialogclose {
	background: rgba(0, 0, 0, .55);
}

@media (max-width: 640px) {
	.wptm-home__dialogimg {
		max-height: 72vh;
	}

	.wptm-home__dialogcap {
		padding: 10px 14px 12px;
		font-size: .85rem;
	}
}

/* --- Preview bar -------------------------------------------------------- */
.wptm-home__previewbar {
	position: sticky;
	top: 0;
	z-index: 1000;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 18px;
	padding: 10px 16px;
	background: #1d2327;
	color: #fff;
	font-size: 13px;
}

.wptm-home__previewbar a {
	color: #f5c46a;
	font-weight: 700;
}

/* --- Another pass ------------------------------------------------------- */

/* A destination's own line, revealed under its name on hover or focus;
   on touch it is simply there. */
.wptm-home__tilenote {
	display: block;
	max-height: 0;
	overflow: hidden;
	margin: 0;
	font-size: .84rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, .85);
	opacity: 0;
	transition: max-height .35s ease, opacity .35s ease, margin .35s ease;
}

.wptm-home__tile a:hover .wptm-home__tilenote,
.wptm-home__tile a:focus-visible .wptm-home__tilenote {
	max-height: 4.6em;
	margin: 6px 0 4px;
	opacity: 1;
}

@media (pointer: coarse) {
	.wptm-home__tilenote {
		max-height: 4.6em;
		margin: 6px 0 4px;
		opacity: 1;
	}
}

.wptm-home__tilecopy {
	gap: 8px;
}

/* The signature's three points, as a short tick list. */
.wptm-home__sigpoints {
	display: grid;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
}

.wptm-home__sigpoints li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: .98rem;
	line-height: 1.4;
}

.wptm-home__sigcheck {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wptm-accent) 14%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	line-height: 0;
}

/* The reviews' average, beside the heading. */
.wptm-home__avg {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 12px 0 0;
	padding: 8px 14px;
	border: 1px solid var(--home-line);
	border-radius: 999px;
	background: #fff;
}

.wptm-home__avgnum {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
}

.wptm-home__avg .wptm-home__stars {
	margin: 0;
	gap: 1px;
}

.wptm-home__avgnote {
	font-size: .82rem;
	color: var(--home-muted);
}

/* A guide's category as a small label above its date. */
.wptm-home__guidecat {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 10px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wptm-accent) 12%, transparent);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.wptm-home__guidecat + .wptm-home__guidedate {
	margin-left: 8px;
	display: inline-block;
}

/* Cards in the featured grid keep a quiet lift on hover, in step with the
   tiles and the guides. */
.wptm-home__section--featured .wptm-card {
	transition: transform .25s ease;
}

.wptm-home__section--featured .wptm-card:hover {
	transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__tilenote,
	.wptm-home__section--featured .wptm-card {
		transition: none;
	}

	.wptm-home__section--featured .wptm-card:hover {
		transform: none;
	}
}

@media (pointer: coarse) {
	.wptm-home__btn:hover,
	.wptm-home__tile a:hover,
	.wptm-home__act a:hover,
	.wptm-home__guide a:hover,
	.wptm-home__section--featured .wptm-card:hover {
		transform: none;
	}
}

/* --- Team --------------------------------------------------------------- */
.wptm-home__team {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.wptm-home__team--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 640px;
}

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

.wptm-home__memberinner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: inherit;
	text-decoration: none;
}

.wptm-home__memberphoto {
	display: block;
	width: min(100%, 220px);
	aspect-ratio: 1;
	border-radius: 50%;
	overflow: hidden;
	background: color-mix(in srgb, var(--wptm-accent) 10%, #fff);
	box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--home-line);
	transition: transform .35s ease, box-shadow .35s ease;
}

.wptm-home__memberinner:hover .wptm-home__memberphoto {
	transform: translateY(-4px);
	box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--wptm-accent), 0 18px 34px -16px rgba(0, 0, 0, .35);
}

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

.wptm-home__memberphoto--none {
	display: grid;
	place-items: center;
}

.wptm-home__memberinitial {
	font-size: 2.4rem;
	font-weight: 800;
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__membercopy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 16px;
}

.wptm-home__membername {
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.25;
}

.wptm-home__memberrole {
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__membernote {
	max-width: 30ch;
	margin: 4px auto 0;
	font-size: .9rem;
	line-height: 1.55;
	color: var(--home-muted);
}

a.wptm-home__memberinner:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 6px;
	border-radius: 12px;
}

/* --- FAQ ---------------------------------------------------------------- */
.wptm-home__faqside {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	max-width: 46ch;
}

.wptm-home__faqside .wptm-home__lead {
	margin: 0;
}

.wptm-home__faq {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 4px 4px 14px;
	margin: 0 -4px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.wptm-home__faq::-webkit-scrollbar {
	display: none;
}

.wptm-home__faqcard {
	flex: 0 0 calc((100% - 48px) / 4);
	min-height: 320px;
	display: flex;
	flex-direction: column;
	border-radius: 22px;
	background: color-mix(in srgb, var(--wptm-accent) 5%, #f4f4f5);
	scroll-snap-align: start;
	transition: background-color .3s ease, color .3s ease, transform .3s ease;
}

.wptm-home__faqcard.is-open {
	flex-basis: calc((100% - 48px) / 4 + 80px);
	background: var(--wptm-accent);
	color: var(--wptm-on-accent, #fff);
	transform: translateY(-4px);
	box-shadow: 0 18px 38px -16px rgba(0, 0, 0, .35);
}

.wptm-home__faqtoggle {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 1 auto;
	width: 100%;
	padding: 26px 26px 22px;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: start;
	cursor: pointer;
}

.wptm-home__faqtoggle:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: -8px;
	border-radius: 22px;
}

.wptm-home__faqcard.is-open .wptm-home__faqtoggle:focus-visible {
	outline-color: #fff;
}

.wptm-home__faqnum {
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--home-muted);
	margin-bottom: auto;
}

.wptm-home__faqcard.is-open .wptm-home__faqnum {
	color: rgba(255, 255, 255, .75);
}

.wptm-home__faqq {
	margin-top: 40px;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-wrap: balance;
}

.wptm-home__faqcard.is-open .wptm-home__faqq {
	margin-top: 20px;
}

.wptm-home__faqa {
	padding: 0 26px 26px;
	font-size: .95rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, .92);
}

.wptm-home__faqa p {
	margin: 0 0 .7em;
}

.wptm-home__faqa p:last-child {
	margin-bottom: 0;
}

/* Without the script every answer is shown, in a card that stays quiet. */
.wptm-home:not(.wptm-home--js) .wptm-home__faqa {
	color: var(--home-ink);
}

.wptm-home:not(.wptm-home--js) .wptm-home__faqcard {
	background: color-mix(in srgb, var(--wptm-accent) 5%, #f4f4f5);
	color: inherit;
	transform: none;
	box-shadow: none;
}

@media (max-width: 1000px) {
	.wptm-home__team {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__faqcard {
		flex-basis: calc((100% - 32px) / 3);
	}

	.wptm-home__faqcard.is-open {
		flex-basis: calc((100% - 32px) / 3 + 60px);
	}
}

@media (max-width: 640px) {
	.wptm-home__team,
	.wptm-home__team--2,
	.wptm-home__team--3 {
		display: flex;
		gap: 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 4px 4px 14px;
		margin: 0 -4px;
		scrollbar-width: none;
	}

	.wptm-home__team::-webkit-scrollbar {
		display: none;
	}

	.wptm-home__member {
		flex: 0 0 62%;
		scroll-snap-align: start;
	}

	.wptm-home__faqcard,
	.wptm-home__faqcard.is-open {
		flex-basis: 84%;
		min-height: 260px;
	}

	.wptm-home__faqq {
		margin-top: 28px;
		font-size: 1.05rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__memberphoto,
	.wptm-home__faqcard {
		transition: none;
	}

	.wptm-home__memberinner:hover .wptm-home__memberphoto,
	.wptm-home__faqcard.is-open {
		transform: none;
	}
}


/* ========================================================================
 * Homepage visual variants.
 *
 * These rules sit at the end deliberately. The original bar, destination
 * cards and editorial reasons remain the defaults; a modifier selected in
 * Tours > Homepage changes presentation only, never the data or URLs.
 * ===================================================================== */

/* --- Search 1: one balanced, segmented bar ----------------------------- */

.wptm-home__search--bar {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(172px, .72fr);
	align-items: stretch;
	width: 100%;
	max-width: 1080px;
	gap: 0;
	padding: 6px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 20px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .24), 0 1px 0 rgba(255, 255, 255, .85) inset;
}

.wptm-home__search--fields-1 {
	grid-template-columns: minmax(0, 1fr) minmax(172px, .72fr);
}

.wptm-home__search--fields-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(172px, .72fr);
}

.wptm-home__search--fields-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(172px, .72fr);
}

.wptm-home__search--bar .wptm-home__field {
	min-height: 76px;
	padding: 10px clamp(14px, 1.7vw, 20px);
	border-block-end: 0;
}

.wptm-home__search--bar .wptm-home__fieldicon {
	width: 24px;
	justify-content: center;
}

.wptm-home__search--bar .wptm-home__searchbtn {
	align-self: stretch;
	min-width: 0;
	min-height: 64px;
	height: auto;
	margin: 0;
	margin-inline-start: 6px;
	padding-inline: clamp(18px, 2vw, 28px);
	border-radius: 999px;
	box-shadow: 0 12px 28px -16px var(--wptm-accent);
	line-height: 1.2;
	text-align: center;
	white-space: normal;
}

.wptm-home__searchbtn svg {
	flex: 0 0 auto;
}

.wptm-home__searchbtnlabel {
	min-width: 0;
	overflow-wrap: anywhere;
}

/* --- Search 2: a framed panel with individual field cards -------------- */

.wptm-home__search--panel {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(172px, .72fr);
	align-items: stretch;
	width: 100%;
	max-width: 1080px;
	gap: 10px;
	padding: 12px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 24px;
	background: rgba(13, 20, 28, .76);
	box-shadow: 0 26px 70px rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.wptm-home__search--panel.wptm-home__search--fields-1 {
	grid-template-columns: minmax(0, 1fr) minmax(172px, .72fr);
}

.wptm-home__search--panel.wptm-home__search--fields-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(172px, .72fr);
}

.wptm-home__search--panel.wptm-home__search--fields-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(172px, .72fr);
}

.wptm-home__search--panel .wptm-home__field {
	min-height: 78px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 15px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 10px 24px -22px rgba(0, 0, 0, .8);
}

.wptm-home__search--panel .wptm-home__fieldicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: rgba(27, 31, 36, .06);
	background: color-mix(in srgb, var(--wptm-accent) 12%, #fff);
}

.wptm-home__search--panel .wptm-home__searchbtn {
	align-self: stretch;
	min-width: 0;
	min-height: 78px;
	height: auto;
	margin: 0;
	padding-inline: clamp(18px, 2vw, 26px);
	border-radius: 15px;
	box-shadow: 0 14px 28px -17px var(--wptm-accent);
	line-height: 1.2;
	text-align: center;
	white-space: normal;
}

@supports not (backdrop-filter: blur(1px)) {
	.wptm-home__search--panel {
		background: rgba(13, 20, 28, .94);
	}
}

/* Keep optional hero actions as one visual family above either search. */
.wptm-home__heroctas {
	align-items: stretch;
}

.wptm-home__heroctas .wptm-home__btn {
	min-width: 148px;
	min-height: 50px;
	padding-inline: 22px;
}

@media (max-width: 1000px) {
	.wptm-home__search--bar,
	.wptm-home__search--panel,
	.wptm-home__search--panel.wptm-home__search--fields-1,
	.wptm-home__search--panel.wptm-home__search--fields-2,
	.wptm-home__search--panel.wptm-home__search--fields-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__search--bar .wptm-home__searchbtn,
	.wptm-home__search--panel .wptm-home__searchbtn {
		grid-column: 1 / -1;
		min-height: 58px;
		margin: 6px 0 0;
	}

	.wptm-home__search--fields-1 .wptm-home__field,
	.wptm-home__search--fields-3 .wptm-home__field:last-of-type {
		grid-column: 1 / -1;
		border-inline-end: 0;
	}
}

@media (max-width: 640px) {
	.wptm-home__search--bar,
	.wptm-home__search--panel,
	.wptm-home__search--panel.wptm-home__search--fields-1,
	.wptm-home__search--panel.wptm-home__search--fields-2,
	.wptm-home__search--panel.wptm-home__search--fields-3 {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
		padding: 8px;
		border-radius: 18px;
	}

	.wptm-home__search--bar .wptm-home__field,
	.wptm-home__search--panel .wptm-home__field {
		grid-column: 1;
		min-height: 66px;
		padding: 9px 12px;
		border: 0;
		border-block-end: 1px solid var(--home-line);
		border-radius: 10px;
	}

	.wptm-home__search--panel .wptm-home__field {
		border: 1px solid rgba(255, 255, 255, .7);
	}

	.wptm-home__search--bar .wptm-home__searchbtn,
	.wptm-home__search--panel .wptm-home__searchbtn {
		grid-column: 1;
		min-height: 56px;
		margin: 0;
	}

	.wptm-home__heroctas .wptm-home__btn {
		min-width: 0;
	}
}

/* --- Search 3: Quick Search, one calm keyword field -------------------- */

.wptm-home__search--quick {
	display: grid;
	grid-template-columns: minmax(0, 1fr) clamp(76px, 9vw, 108px);
	align-items: stretch;
	width: 100%;
	max-width: 920px;
	min-height: 82px;
	padding: 5px;
	border: 1px solid rgba(255, 255, 255, .8);
	border-radius: 999px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 25px 64px rgba(0, 0, 0, .26), 0 1px 0 #fff inset;
	color: var(--home-ink);
}

.wptm-home__keyword {
	display: flex;
	align-items: center;
	gap: clamp(12px, 2vw, 20px);
	min-width: 0;
	padding-inline: clamp(18px, 3vw, 30px) 12px;
}

.wptm-home__keywordicon {
	display: inline-flex;
	flex: 0 0 auto;
	color: color-mix(in srgb, var(--home-ink) 48%, transparent);
}

.wptm-home__keyword input {
	width: 100%;
	min-width: 0;
	min-height: 66px;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	box-shadow: none;
	font: inherit;
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	font-weight: 500;
	color: var(--home-ink);
	appearance: none;
}

.wptm-home__keyword input::-webkit-search-cancel-button {
	margin-inline-start: 8px;
}

.wptm-home__keyword input::placeholder {
	color: color-mix(in srgb, var(--home-ink) 48%, transparent);
	opacity: 1;
}

.wptm-home__search--quick:focus-within {
	box-shadow: 0 25px 64px rgba(0, 0, 0, .26), 0 0 0 3px rgba(184, 133, 58, .42);
	box-shadow: 0 25px 64px rgba(0, 0, 0, .26), 0 0 0 3px color-mix(in srgb, var(--wptm-accent) 46%, transparent);
}

.wptm-home__search--quick .wptm-home__searchbtn {
	width: 100%;
	min-width: 0;
	min-height: 70px;
	margin: 0;
	padding: 0;
	border-radius: 999px;
	box-shadow: 0 14px 28px -15px var(--wptm-accent);
}

/* The round button matches the reference while retaining an accessible name. */
.wptm-home__search--quick .wptm-home__searchbtnlabel {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wptm-home__search--quick .wptm-home__searchbtn svg {
	width: 25px;
	height: 25px;
}

/* --- Search 4: Adventure Finder, a complete guided panel --------------- */

.wptm-home__searchstage {
	width: 100%;
	max-width: var(--home-wrap);
	margin-inline: 0;
	color: var(--home-ink);
}

.wptm-home__hero--center .wptm-home__searchstage {
	margin-inline: auto;
}

.wptm-home__searchstage--adventure {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .76);
	border-radius: 28px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 30px 80px rgba(0, 0, 0, .3), 0 1px 0 #fff inset;
}

.wptm-home__searchintro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: clamp(24px, 3vw, 34px) clamp(24px, 3.2vw, 38px) 12px;
	text-align: start;
}

.wptm-home__searchtitle {
	margin: 0;
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.025em;
	color: color-mix(in srgb, var(--home-ink) 88%, var(--wptm-accent));
	text-wrap: balance;
}

.wptm-home__searchtext {
	margin: 8px 0 0;
	font-size: clamp(.92rem, 1.35vw, 1.05rem);
	line-height: 1.55;
	color: var(--home-muted);
	text-wrap: pretty;
}

.wptm-home__searchbrand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 28ch;
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: 1.02rem;
	font-weight: 600;
	font-style: italic;
	line-height: 1.2;
	color: var(--home-ink);
	text-align: start;
}

.wptm-home__searchbrandicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(184, 133, 58, .12);
	background: color-mix(in srgb, var(--wptm-accent) 13%, #fff);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__search--adventure {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(170px, .72fr);
	align-items: stretch;
	width: 100%;
	max-width: none;
	gap: 12px;
	padding: 22px clamp(24px, 3.2vw, 38px) 30px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.wptm-home__search--adventure.wptm-home__search--fields-1 {
	grid-template-columns: minmax(0, 1fr) minmax(170px, .72fr);
}

.wptm-home__search--adventure.wptm-home__search--fields-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(170px, .72fr);
}

.wptm-home__search--adventure.wptm-home__search--fields-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(170px, .72fr);
}

.wptm-home__search--adventure .wptm-home__field {
	min-height: 82px;
	padding: 11px 14px;
	border: 1px solid rgba(27, 31, 36, .12);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px -24px rgba(0, 0, 0, .8);
}

.wptm-home__search--adventure .wptm-home__field:focus-within {
	border-color: var(--wptm-accent);
	border-color: color-mix(in srgb, var(--wptm-accent) 72%, #fff);
	box-shadow: 0 0 0 3px rgba(184, 133, 58, .12);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wptm-accent) 12%, transparent);
}

.wptm-home__search--adventure .wptm-home__fieldicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--wptm-accent) 10%, #fff);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__search--adventure .wptm-home__searchbtn {
	min-width: 0;
	min-height: 82px;
	margin: 0;
	padding-inline: clamp(18px, 2vw, 28px);
	border-radius: 14px;
	box-shadow: 0 16px 30px -18px var(--wptm-accent);
	white-space: normal;
}

.wptm-home__searchproof {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 14px 28px;
	padding: 22px clamp(24px, 3.2vw, 38px) 26px;
	border-block-start: 1px solid rgba(27, 31, 36, .08);
	background: color-mix(in srgb, var(--wptm-accent) 3.5%, #fff);
}

.wptm-home .wptm-home__searchproofitem {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.wptm-home__searchprooficon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 8px 22px -18px rgba(0, 0, 0, .7);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__searchproofcopy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	text-align: start;
}

.wptm-home__searchproofcopy strong,
.wptm-home__searchproofcopy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wptm-home__searchproofcopy strong {
	font-size: .9rem;
	line-height: 1.35;
	color: var(--home-ink);
}

.wptm-home__searchproofcopy small {
	margin-block-start: 2px;
	font-size: .8rem;
	line-height: 1.35;
	color: var(--home-muted);
}

/* --- Search 5: Signature Search, a raised luxury mode rail ------------ */

.wptm-home__searchstage--signature {
	display: flex;
	flex-direction: column;
	max-width: 1120px;
}

.wptm-home__searchmodes {
	display: flex;
	align-items: center;
	align-self: center;
	gap: 6px;
	max-width: calc(100% - 48px);
	padding: 8px 10px 10px;
	overflow-x: auto;
	border: 1px solid rgba(255, 255, 255, .82);
	border-block-end: 0;
	border-radius: 28px 28px 0 0;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 -12px 36px rgba(0, 0, 0, .12);
	scrollbar-width: none;
}

.wptm-home__searchmodes::-webkit-scrollbar {
	display: none;
}

.wptm-home__searchmode {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 7px;
	min-height: 40px;
	padding-inline: 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 650;
	line-height: 1;
	color: var(--home-muted);
	text-decoration: none;
}

a.wptm-home__searchmode:hover,
a.wptm-home__searchmode:focus-visible,
.wptm-home__searchmode.is-current {
	border-color: color-mix(in srgb, var(--wptm-accent) 18%, transparent);
	background: #f7f1e8;
	background: color-mix(in srgb, var(--wptm-accent) 11%, #fff);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

a.wptm-home__searchmode:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 2px;
}

.wptm-home__search--signature {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(172px, .76fr);
	align-items: stretch;
	width: 100%;
	max-width: none;
	gap: 0;
	padding: 9px;
	border: 1px solid rgba(255, 255, 255, .84);
	border-radius: 30px;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 30px 78px rgba(0, 0, 0, .31), 0 1px 0 #fff inset;
}

.wptm-home__search--signature.wptm-home__search--fields-1 {
	grid-template-columns: minmax(0, 1fr) minmax(172px, .76fr);
}

.wptm-home__search--signature.wptm-home__search--fields-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(172px, .76fr);
}

.wptm-home__search--signature.wptm-home__search--fields-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(172px, .76fr);
}

.wptm-home__search--signature .wptm-home__field {
	min-height: 78px;
	padding: 10px clamp(13px, 1.6vw, 19px);
	border: 0;
	border-inline-end: 1px solid rgba(27, 31, 36, .1);
	background: transparent;
}

.wptm-home__search--signature .wptm-home__field:focus-within {
	border-radius: 14px;
	background: #fcf8f2;
	background: color-mix(in srgb, var(--wptm-accent) 5%, #fff);
}

.wptm-home__search--signature .wptm-home__fieldicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--wptm-accent) 10%, #fff);
	color: var(--wptm-accent-dark, var(--wptm-accent));
}

.wptm-home__search--signature .wptm-home__searchbtn {
	min-width: 0;
	min-height: 70px;
	margin: 0;
	margin-inline-start: 8px;
	padding-inline: clamp(17px, 2vw, 25px);
	border-radius: 999px;
	box-shadow: 0 16px 32px -18px var(--wptm-accent);
	white-space: normal;
}

[dir="rtl"] .wptm-home__search--adventure .wptm-home__searchbtn svg {
	transform: scaleX(-1);
}

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.wptm-home__keywordicon,
	.wptm-home__keyword input::placeholder {
		color: #777f89;
	}

	.wptm-home__searchtitle {
		color: #25282d;
	}

	.wptm-home__search--adventure .wptm-home__fieldicon,
	.wptm-home__search--signature .wptm-home__fieldicon,
	.wptm-home__searchmode.is-current {
		background: #f7f1e8;
	}

	.wptm-home__searchproof {
		background: #fcfaf7;
	}
}

@media (max-width: 1000px) {
	.wptm-home__search--adventure,
	.wptm-home__search--adventure.wptm-home__search--fields-1,
	.wptm-home__search--adventure.wptm-home__search--fields-2,
	.wptm-home__search--adventure.wptm-home__search--fields-3,
	.wptm-home__search--signature,
	.wptm-home__search--signature.wptm-home__search--fields-1,
	.wptm-home__search--signature.wptm-home__search--fields-2,
	.wptm-home__search--signature.wptm-home__search--fields-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wptm-home__search--adventure .wptm-home__searchbtn,
	.wptm-home__search--signature .wptm-home__searchbtn {
		grid-column: 1 / -1;
		min-height: 58px;
		margin: 4px 0 0;
	}

	.wptm-home__search--adventure.wptm-home__search--fields-1 .wptm-home__field,
	.wptm-home__search--adventure.wptm-home__search--fields-3 .wptm-home__field:last-of-type,
	.wptm-home__search--signature.wptm-home__search--fields-1 .wptm-home__field,
	.wptm-home__search--signature.wptm-home__search--fields-3 .wptm-home__field:last-of-type {
		grid-column: 1 / -1;
	}
}

@media (max-width: 640px) {
	.wptm-home__search--quick {
		grid-template-columns: minmax(0, 1fr) 64px;
		min-height: 66px;
		padding: 4px;
		border-radius: 999px;
	}

	.wptm-home__keyword {
		gap: 10px;
		padding-inline: 15px 8px;
	}

	.wptm-home__keywordicon svg {
		width: 20px;
		height: 20px;
	}

	.wptm-home__keyword input {
		min-height: 56px;
		font-size: 16px;
	}

	.wptm-home__search--quick .wptm-home__searchbtn {
		min-height: 56px;
	}

	.wptm-home__searchstage--adventure {
		border-radius: 22px;
	}

	.wptm-home__searchintro {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px 18px 8px;
	}

	.wptm-home__searchbrand {
		max-width: 100%;
		font-size: .86rem;
	}

	.wptm-home__searchbrandicon {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}

	.wptm-home__search--adventure,
	.wptm-home__search--adventure.wptm-home__search--fields-1,
	.wptm-home__search--adventure.wptm-home__search--fields-2,
	.wptm-home__search--adventure.wptm-home__search--fields-3,
	.wptm-home__search--signature,
	.wptm-home__search--signature.wptm-home__search--fields-1,
	.wptm-home__search--signature.wptm-home__search--fields-2,
	.wptm-home__search--signature.wptm-home__search--fields-3 {
		grid-template-columns: minmax(0, 1fr);
	}

	.wptm-home__search--adventure {
		gap: 8px;
		padding: 14px 14px 20px;
	}

	.wptm-home__search--adventure .wptm-home__field,
	.wptm-home__search--signature .wptm-home__field {
		grid-column: 1;
		min-height: 68px;
		padding: 9px 12px;
	}

	.wptm-home__search--adventure .wptm-home__searchbtn,
	.wptm-home__search--signature .wptm-home__searchbtn {
		grid-column: 1;
		min-height: 56px;
		margin: 0;
	}

	.wptm-home__searchproof {
		grid-template-columns: minmax(0, 1fr);
		padding: 18px;
	}

	.wptm-home__searchstage--signature {
		max-width: 100%;
	}

	.wptm-home__searchmodes {
		align-self: stretch;
		max-width: calc(100% - 24px);
		margin-inline: 12px;
		justify-content: flex-start;
		border-radius: 20px 20px 0 0;
	}

	.wptm-home__searchmode {
		min-height: 38px;
		padding-inline: 12px;
	}

	.wptm-home__search--signature {
		gap: 8px;
		padding: 8px;
		border-radius: 22px;
	}

	.wptm-home__search--signature .wptm-home__field {
		border: 1px solid rgba(27, 31, 36, .1);
		border-radius: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__searchmode,
	.wptm-home__search--quick,
	.wptm-home__search--adventure .wptm-home__field,
	.wptm-home__search--signature .wptm-home__field {
		transition: none;
	}
}


/* --- Destinations 2: circular portraits ------------------------------- */

.wptm-home__tiles--destinations.wptm-home__tiles--style-circles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(22px, 3vw, 38px) clamp(16px, 2.4vw, 30px);
	align-items: start;
}

.wptm-home__tiles--style-circles .wptm-home__tile a {
	width: min(100%, 220px);
	margin-inline: auto;
	aspect-ratio: 1;
	border: 6px solid rgba(255, 255, 255, .9);
	border-radius: 50%;
	box-shadow: 0 14px 38px -24px rgba(15, 20, 28, .62), 0 0 0 1px var(--home-line);
}

.wptm-home__tiles--style-circles .wptm-home__tile a::after {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 34%, rgba(8, 12, 18, .8) 100%);
}

.wptm-home__tiles--style-circles .wptm-home__tilecopy {
	align-items: center;
	padding: 28px 18px 22px;
	text-align: center;
}

.wptm-home__tiles--style-circles .wptm-home__tilename {
	font-size: clamp(1rem, 1.6vw, 1.25rem);
}

.wptm-home__tiles--style-circles .wptm-home__tilenote {
	display: none;
}

.wptm-home__tiles--style-circles .wptm-home__tilecount {
	align-self: center;
	padding: 3px 9px;
	font-size: .72rem;
}

.wptm-home__tiles--style-circles .wptm-home__tile:nth-child(even) {
	padding-block-start: clamp(12px, 2vw, 24px);
}

@media (max-width: 900px) {
	.wptm-home__tiles--destinations.wptm-home__tiles--style-circles {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.wptm-home__tiles--destinations.wptm-home__tiles--style-circles {
		display: flex;
		gap: 16px;
		overflow-x: auto;
		padding-block: 4px 16px;
		scroll-snap-type: x mandatory;
	}

	.wptm-home__tiles--style-circles .wptm-home__tile,
	.wptm-home__tiles--style-circles .wptm-home__tile:nth-child(even) {
		flex: 0 0 min(62vw, 220px);
		padding-block-start: 0;
		scroll-snap-align: center;
	}
}


/* --- Destinations 3: geometric editorial tiles ------------------------ */

.wptm-home__tiles--destinations.wptm-home__tiles--style-mosaic {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
	gap: clamp(14px, 2vw, 22px);
}

.wptm-home__tiles--style-mosaic .wptm-home__tile a {
	aspect-ratio: 4 / 3;
	border-radius: 24px 5px 24px 5px;
	box-shadow: 0 16px 34px -28px rgba(15, 20, 28, .72);
	clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
}

.wptm-home__tiles--style-mosaic .wptm-home__tile:nth-child(even) a {
	border-radius: 5px 24px 5px 24px;
	clip-path: polygon(28px 0, 100% 0, 100% calc(100% - 28px), calc(100% - 28px) 100%, 0 100%, 0 28px);
}

.wptm-home__tiles--style-mosaic .wptm-home__tile:nth-child(5n + 1) a {
	aspect-ratio: 16 / 11;
}

.wptm-home__tiles--style-mosaic .wptm-home__tilecopy {
	padding: 24px 22px 20px;
}

.wptm-home__tiles--style-mosaic .wptm-home__tilenote {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.wptm-home__tiles--style-mosaic .wptm-home__tile a:focus-visible {
	outline: 0;
	box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 7px var(--wptm-accent);
}

@media (max-width: 640px) {
	.wptm-home__tiles--destinations.wptm-home__tiles--style-mosaic {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		overflow: visible;
		margin-inline: 0;
		padding: 0;
	}

	.wptm-home__tiles--style-mosaic .wptm-home__tile {
		flex: none;
	}

	.wptm-home__tiles--style-mosaic .wptm-home__tile a,
	.wptm-home__tiles--style-mosaic .wptm-home__tile:nth-child(5n + 1) a {
		aspect-ratio: 16 / 10;
	}
}


/* --- Why choose us 2: dark feature band ------------------------------- */

.wptm-home__section--why-band {
	border-block-color: rgba(255, 255, 255, .1);
	background: var(--home-dark);
	background:
		radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--wptm-accent) 18%, transparent), transparent 34%),
		var(--home-dark);
	color: #fff;
}

.wptm-home__section--why-band .wptm-home__whygrid {
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(28px, 4vw, 46px);
}

.wptm-home__section--why-band .wptm-home__head--why {
	max-width: 760px;
	margin-inline: auto;
	text-align: center;
}

.wptm-home__section--why-band .wptm-home__head--why .wptm-home__eyebrow {
	justify-content: center;
	color: color-mix(in srgb, var(--wptm-accent) 62%, #fff);
}

.wptm-home__section--why-band .wptm-home__head--why .wptm-home__title {
	max-width: 20ch;
	margin-inline: auto;
	color: #fff;
}

.wptm-home__section--why-band .wptm-home__head--why::after {
	width: 48px;
	margin-inline: auto;
	background: var(--wptm-accent);
}

.wptm-home__section--why-band .wptm-home__why--style-band {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(245px, 100%), 1fr));
	gap: 14px;
}

.wptm-home__section--why-band .wptm-home__whyitem {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 230px;
	margin: 0;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 20px;
	background: rgba(255, 255, 255, .055);
	box-shadow: none;
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
}

.wptm-home__section--why-band .wptm-home__whyitem:hover {
	border-color: color-mix(in srgb, var(--wptm-accent) 62%, transparent);
	background: rgba(255, 255, 255, .085);
	box-shadow: 0 22px 42px -32px rgba(0, 0, 0, .8);
}

.wptm-home__section--why-band .wptm-home__whymark {
	position: static;
	display: inline-flex;
	width: 54px;
	height: 54px;
	margin: 0 0 24px;
	border: 1px solid color-mix(in srgb, var(--wptm-accent) 34%, transparent);
	border-radius: 16px;
	background: color-mix(in srgb, var(--wptm-accent) 18%, transparent);
	box-shadow: none;
	color: color-mix(in srgb, var(--wptm-accent) 64%, #fff);
}

.wptm-home__section--why-band .wptm-home__whymark--image {
	border: 2px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
}

.wptm-home__section--why-band .wptm-home__whynum {
	position: absolute;
	top: 24px;
	inset-inline-end: 24px;
	padding: 0;
	background: none;
	color: rgba(255, 255, 255, .48);
	opacity: 1;
}

.wptm-home__section--why-band .wptm-home__whycopy {
	display: block;
	min-width: 0;
	margin-block-start: auto;
}

.wptm-home__section--why-band .wptm-home__whytitle {
	color: #fff;
}

.wptm-home__section--why-band .wptm-home__whytext {
	color: rgba(255, 255, 255, .72);
}

@supports not (backdrop-filter: blur(1px)) {
	.wptm-home__section--why-band .wptm-home__whyitem {
		background: #1d2a36;
	}
}

@media (max-width: 640px) {
	.wptm-home__section--why-band .wptm-home__why--style-band {
		grid-template-columns: minmax(0, 1fr);
	}

	.wptm-home__section--why-band .wptm-home__whyitem,
	.wptm-home__section--why-band .wptm-home__whyitem:first-child {
		min-height: 0;
		padding: 20px;
	}

	.wptm-home__section--why-band .wptm-home__whymark {
		width: 50px;
		height: 50px;
		margin-block-end: 20px;
	}

	.wptm-home__section--why-band .wptm-home__whynum {
		top: 20px;
		inset-inline-end: 20px;
	}

	.wptm-home__section--why-band .wptm-home__whycopy {
		padding-inline-end: 0;
	}
}

@media (pointer: coarse) {
	.wptm-home__section--why-band .wptm-home__whyitem:hover {
		transform: none;
	}
}


/* ========================================================================
 * Trusted platforms.
 *
 * Two identical, accessibility-separated lists create the seamless loop.
 * The owner supplies every mark and link; the plugin supplies only layout,
 * motion and the quiet white social-proof band.
 * ===================================================================== */

.wptm-home__section--platforms {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
	padding-block: clamp(28px, 3.5vw, 44px);
	overflow: hidden;
	border-block: 1px solid rgba(27, 31, 36, .07);
	background: #fff;
}

.wptm-home__platformstitle {
	margin: 0 0 clamp(18px, 2.4vw, 26px);
	font-size: .68rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .3em;
	text-align: center;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--home-ink) 38%, transparent);
	text-wrap: balance;
}

.wptm-home__platforms {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.wptm-home__platforms--motion {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.wptm-home__platformtrack {
	display: flex;
	align-items: center;
	width: max-content;
	direction: ltr;
}

.wptm-home__platforms--motion .wptm-home__platformtrack {
	will-change: transform;
	animation: wptm-home-platform-scroll 30s linear infinite;
}

.wptm-home__platforms--speed-slow .wptm-home__platformtrack {
	animation-duration: 42s;
}

.wptm-home__platforms--speed-fast .wptm-home__platformtrack {
	animation-duration: 20s;
}

.wptm-home__platforms--motion:hover .wptm-home__platformtrack,
.wptm-home__platforms--motion:focus-within .wptm-home__platformtrack {
	animation-play-state: paused;
}

/* Keyboard focus turns the moving strip into one stable, scrollable list. */
.wptm-home__platforms--motion:focus-within {
	overflow-x: auto;
	-webkit-mask-image: none;
	mask-image: none;
}

.wptm-home__platforms--motion:focus-within .wptm-home__platformtrack {
	transform: none;
	animation: none;
}

.wptm-home__platforms--motion:focus-within .wptm-home__platformset[aria-hidden="true"] {
	display: none;
}

.wptm-home .wptm-home__platformset {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-around;
	min-width: min(100vw, var(--home-wrap));
	padding-inline: clamp(8px, 2vw, 24px);
}

.wptm-home .wptm-home__platformitem {
	display: flex;
	flex: 0 0 clamp(150px, 16vw, 205px);
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding-inline: clamp(18px, 2.3vw, 32px);
	border-inline-end: 1px solid rgba(27, 31, 36, .09);
}

.wptm-home__platformlink {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	min-height: 48px;
	border-radius: 8px;
	opacity: .7;
	text-decoration: none;
	transition: opacity .2s ease, transform .2s ease, filter .2s ease;
}

a.wptm-home__platformlink:hover,
a.wptm-home__platformlink:focus-visible {
	opacity: 1;
	transform: translateY(-2px);
	filter: saturate(1.08);
}

a.wptm-home__platformlink:focus-visible {
	outline: 2px solid var(--wptm-accent);
	outline-offset: 3px;
}

.wptm-home__platformlogo {
	display: block;
	width: auto;
	height: auto;
	max-width: 150px;
	max-height: 38px;
	object-fit: contain;
	border: 0;
	box-shadow: none;
}

.wptm-home__platforms--static .wptm-home__platformtrack,
.wptm-home__platforms--static .wptm-home__platformset {
	width: 100%;
}

.wptm-home__platforms--static .wptm-home__platformset {
	flex-wrap: wrap;
	justify-content: center;
	min-width: 0;
}

@keyframes wptm-home-platform-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@supports not (color: color-mix(in srgb, red 50%, transparent)) {
	.wptm-home__platformstitle {
		color: #8b93a1;
	}
}

@media (max-width: 640px) {
	.wptm-home__section--platforms {
		padding-block: 26px 30px;
	}

	.wptm-home__platformstitle {
		margin-block-end: 16px;
		font-size: .64rem;
		letter-spacing: .22em;
	}

	.wptm-home .wptm-home__platformset {
		padding-inline: 4px;
	}

	.wptm-home .wptm-home__platformitem {
		flex-basis: 148px;
		min-height: 54px;
		padding-inline: 20px;
	}

	.wptm-home__platformlogo {
		max-width: 124px;
		max-height: 34px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__platforms--motion {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.wptm-home__platforms--motion .wptm-home__platformtrack {
		width: 100%;
		will-change: auto;
		animation: none;
	}

	.wptm-home__platforms--motion .wptm-home__platformset {
		width: 100%;
		min-width: 0;
		flex-wrap: wrap;
		justify-content: center;
	}

	.wptm-home__platforms--motion .wptm-home__platformset[aria-hidden="true"] {
		display: none;
	}

	a.wptm-home__platformlink:hover,
	a.wptm-home__platformlink:focus-visible {
		transform: none;
	}
}

/* ========================================================================
 * Hero collection: video, split spotlight, floating stories and mesh.
 *
 * The original image hero remains the default. These modifiers change only
 * presentation; all copy, actions and search controls keep the same semantic
 * HTML and the same real catalogue destination.
 * ===================================================================== */

.wptm-home__heroctaicon,
.wptm-home__herobadgeicon,
.wptm-home__videoicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	line-height: 0;
}

.wptm-home__heroctaicon {
	transition: transform .2s ease;
}

.wptm-home__btn--primary:hover .wptm-home__heroctaicon {
	transform: translateX(3px);
}

[dir="rtl"] .wptm-home__heroctaicon {
	transform: scaleX(-1);
}

[dir="rtl"] .wptm-home__btn--primary:hover .wptm-home__heroctaicon {
	transform: scaleX(-1) translateX(3px);
}

.wptm-home__herobadges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin-block-start: 20px;
}

.wptm-home .wptm-home__herobadges li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, .9);
}

.wptm-home__herobadgeicon {
	width: 36px;
	height: 36px;
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	backdrop-filter: blur(8px);
}

/* The overlay selector below comes after the older generic polish rule so
   the light/medium/dark setting once again has the promised effect. */
.wptm-home__hero--style-image.wptm-home__hero--shade-light::after,
.wptm-home__hero--style-video.wptm-home__hero--shade-light::after {
	background: linear-gradient(100deg, rgba(7, 12, 16, .44) 0%, rgba(7, 12, 16, .12) 62%, rgba(7, 12, 16, .38) 100%);
}

.wptm-home__hero--style-image.wptm-home__hero--shade-medium::after,
.wptm-home__hero--style-video.wptm-home__hero--shade-medium::after {
	background: linear-gradient(100deg, rgba(7, 12, 16, .64) 0%, rgba(7, 12, 16, .2) 62%, rgba(7, 12, 16, .54) 100%);
}

.wptm-home__hero--style-image.wptm-home__hero--shade-dark::after,
.wptm-home__hero--style-video.wptm-home__hero--shade-dark::after {
	background: linear-gradient(100deg, rgba(7, 12, 16, .8) 0%, rgba(7, 12, 16, .42) 62%, rgba(7, 12, 16, .7) 100%);
}

/* --- Cinematic Journey ------------------------------------------------ */

.wptm-home__hero--style-video {
	min-height: clamp(540px, 72vh, 760px);
	background: #0b1820;
}

.wptm-home__herobg--video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.wptm-home__hero--style-video .wptm-home__heroinner {
	z-index: 3;
}

.wptm-home__videocontrols {
	position: absolute;
	inset-block-start: clamp(16px, 2.5vw, 28px);
	inset-inline-end: clamp(16px, 2.5vw, 30px);
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	max-width: calc(100% - 32px);
}

.wptm-home__videocontrols[hidden] {
	display: none;
}

.wptm-home__videocontrol {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 8px 13px;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 999px;
	background: rgba(8, 15, 20, .55);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .2);
	backdrop-filter: blur(12px);
	color: #fff;
	font: inherit;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.wptm-home__videocontrol:hover {
	border-color: rgba(255, 255, 255, .72);
	background: rgba(8, 15, 20, .76);
	transform: translateY(-1px);
}

.wptm-home__videocontrol:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.wptm-home__videoicon--play,
.wptm-home__videoicon--sound {
	display: none;
}

.wptm-home__videocontrol[data-wptm-video-motion][aria-pressed="false"] .wptm-home__videoicon--pause,
.wptm-home__videocontrol[data-wptm-video-sound][aria-pressed="true"] .wptm-home__videoicon--muted {
	display: none;
}

.wptm-home__videocontrol[data-wptm-video-motion][aria-pressed="false"] .wptm-home__videoicon--play,
.wptm-home__videocontrol[data-wptm-video-sound][aria-pressed="true"] .wptm-home__videoicon--sound {
	display: inline-flex;
}

/* --- Journey Spotlight ------------------------------------------------ */

.wptm-home__hero--style-split {
	min-height: auto;
	border-block: 1px solid rgba(31, 62, 49, .1);
	background:
		radial-gradient(circle at 88% 8%, rgba(210, 232, 220, .52), transparent 30%),
		radial-gradient(circle at 8% 92%, rgba(232, 207, 163, .24), transparent 28%),
		linear-gradient(145deg, #fbfaf7 0%, #f5f2ec 100%);
	color: #173326;
}

.wptm-home__hero--style-split::after,
.wptm-home__hero--style-mesh::after {
	display: none;
}

.wptm-home__hero--style-split .wptm-home__heroinner {
	padding-block: clamp(52px, 6vw, 78px);
}

.wptm-home__hero--style-split:has(.wptm-home__down) .wptm-home__heroinner {
	padding-block-end: clamp(96px, 9vw, 116px);
}

.wptm-home__splitgrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
	align-items: center;
	gap: clamp(42px, 6vw, 82px);
	width: 100%;
	padding: 0;
}

.wptm-home__hero--style-split .wptm-home__herocopy {
	max-width: 570px;
	margin: 0;
	text-align: start;
}

.wptm-home__hero--style-split .wptm-home__heroeyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-block-end: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #21734e;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.wptm-home__hero--style-split .wptm-home__herotitle {
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(2.2rem, 4.2vw, 3.75rem);
	font-weight: 650;
	line-height: 1.07;
	letter-spacing: -.038em;
	color: #153525;
	text-shadow: none;
}

.wptm-home__hero--style-split .wptm-home__herotext {
	margin-block-end: 28px;
	font-size: clamp(1rem, 1.4vw, 1.14rem);
	line-height: 1.68;
	color: #58635d;
}

.wptm-home__hero--style-split .wptm-home__btn--ghost {
	border-color: #28895c;
	background: transparent;
	color: #1c724b;
	backdrop-filter: none;
}

.wptm-home__hero--style-split .wptm-home__licence--hero {
	border-color: rgba(29, 96, 65, .13);
	background: rgba(231, 243, 236, .72);
	color: #315744;
	backdrop-filter: none;
}

.wptm-home__hero--style-split .wptm-home__herobadges {
	gap: 12px 24px;
	margin-block-start: 26px;
}

.wptm-home .wptm-home__hero--style-split .wptm-home__herobadges li {
	color: #4d5c54;
}

.wptm-home__hero--style-split .wptm-home__herobadgeicon {
	border-color: rgba(35, 121, 79, .1);
	background: #e8f4ed;
	color: #227b50;
	backdrop-filter: none;
}

.wptm-home__spotlight {
	position: relative;
	display: block;
	justify-self: end;
	width: min(100%, 520px);
	min-width: 0;
	min-height: 0;
	aspect-ratio: 1;
	overflow: hidden;
	border: 1px solid rgba(32, 69, 51, .12);
	border-radius: clamp(20px, 2.4vw, 28px);
	background: #d9d0c1;
	box-shadow: 0 28px 58px -36px rgba(34, 53, 40, .72);
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}

.wptm-home__spotlight::after {
	content: "";
	position: absolute;
	inset: 28% 0 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(14, 24, 19, .9), rgba(14, 24, 19, .46) 52%, transparent 100%);
	pointer-events: none;
}

.wptm-home__spotmedia,
.wptm-home__spotimg,
.wptm-home__spotpattern {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.wptm-home__spotimg {
	object-fit: cover;
	object-position: center;
	transition: transform .55s ease;
}

.wptm-home__spotpattern {
	background: linear-gradient(145deg, #dcebe2, #eadbc3);
	color: #42775d;
}

a.wptm-home__spotlight:hover .wptm-home__spotimg,
a.wptm-home__spotlight:focus-visible .wptm-home__spotimg {
	transform: scale(1.035);
}

a.wptm-home__spotlight:focus-visible {
	outline: 3px solid var(--wptm-accent);
	outline-offset: 4px;
}

.wptm-home__spotoverlay {
	position: absolute;
	inset-inline: clamp(20px, 2.8vw, 30px);
	inset-block-end: clamp(20px, 2.8vw, 28px);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

.wptm-home__spotbadge {
	padding: 5px 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .15);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.wptm-home__spottitle {
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(1.22rem, 1.8vw, 1.55rem);
	font-weight: 700;
	line-height: 1.18;
	text-wrap: balance;
}

.wptm-home__spotfacts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 0;
	font-size: .86rem;
	font-weight: 650;
	color: rgba(255, 255, 255, .94);
}

.wptm-home__spotfacts > span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding-inline-end: 16px;
	margin-inline-end: 16px;
	border-inline-end: 1px solid rgba(255, 255, 255, .32);
}

.wptm-home__spotfacts > span:last-child {
	padding-inline-end: 0;
	margin-inline-end: 0;
	border-inline-end: 0;
}

.wptm-home__spotratingrow,
.wptm-home__spotrating,
.wptm-home__spotstars {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: .88rem;
	font-weight: 700;
}

.wptm-home__spotstars {
	gap: 2px;
}

.wptm-home__spotstars span {
	display: inline-flex;
	color: rgba(255, 255, 255, .38);
}

.wptm-home__spotstars span.is-on,
.wptm-home__spotstars span.is-on svg {
	fill: #ffc342;
	color: #ffc342;
}

.wptm-home__spotrating-icon {
	display: none;
}

.wptm-home__spotrating-count {
	font-weight: 500;
	color: rgba(255, 255, 255, .78);
}

.wptm-home__splitgrid + .wptm-home__search,
.wptm-home__splitgrid + .wptm-home__searchstage {
	width: 100%;
	margin-block-start: clamp(24px, 3vw, 36px);
	margin-inline: auto;
}

.wptm-home__hero--style-split .wptm-home__search,
.wptm-home__hero--style-split .wptm-home__searchstage--adventure,
.wptm-home__hero--style-split .wptm-home__search--signature {
	box-shadow: 0 24px 56px -34px rgba(23, 55, 39, .56), 0 1px 0 #fff inset;
}

.wptm-home__hero--style-split .wptm-home__down,
.wptm-home__hero--style-mesh .wptm-home__down {
	color: #244c38;
}

.wptm-home__hero--style-split .wptm-home__downlabel,
.wptm-home__hero--style-mesh .wptm-home__downlabel {
	background: rgba(255, 255, 255, .72);
}

.wptm-home__hero--style-split .wptm-home__downring,
.wptm-home__hero--style-mesh .wptm-home__downring {
	border-color: transparent;
	background: transparent;
}

/* --- Floating Stories ------------------------------------------------- */

.wptm-home__hero--style-floating {
	min-height: clamp(600px, 76vh, 780px);
	background:
		radial-gradient(circle at 16% 18%, rgba(54, 154, 137, .28), transparent 30%),
		radial-gradient(circle at 84% 74%, rgba(225, 157, 77, .25), transparent 32%),
		linear-gradient(145deg, #0d2630 0%, #173d3e 52%, #1d2b32 100%);
	color: #fff;
}

.wptm-home__hero--style-floating::after {
	background: radial-gradient(ellipse 58% 66% at 50% 48%, rgba(7, 20, 25, .68) 0%, rgba(7, 20, 25, .48) 46%, rgba(7, 20, 25, .66) 100%);
}

.wptm-home__hero--style-floating.wptm-home__hero--shade-light::after {
	background: radial-gradient(ellipse 58% 66% at 50% 48%, rgba(7, 20, 25, .52) 0%, rgba(7, 20, 25, .34) 48%, rgba(7, 20, 25, .54) 100%);
}

.wptm-home__hero--style-floating.wptm-home__hero--shade-dark::after {
	background: radial-gradient(ellipse 58% 66% at 50% 48%, rgba(7, 20, 25, .78) 0%, rgba(7, 20, 25, .6) 48%, rgba(7, 20, 25, .82) 100%);
}

.wptm-home__hero--style-floating .wptm-home__heroinner {
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.wptm-home__hero--style-floating .wptm-home__herocopy {
	width: min(100%, 700px);
	max-width: 700px;
	margin-inline: auto;
	padding-inline: clamp(6px, 2vw, 18px);
	text-align: center;
}

.wptm-home__hero--style-floating .wptm-home__herotitle {
	max-width: 18ch;
	margin-inline: auto;
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(2.25rem, 4.8vw, 3.75rem);
	font-weight: 650;
	line-height: 1.06;
	text-shadow: 0 4px 34px rgba(0, 0, 0, .54);
}

.wptm-home__hero--style-floating .wptm-home__herotext {
	margin-inline: auto;
	max-width: 50ch;
	color: rgba(255, 255, 255, .9);
	text-shadow: 0 2px 20px rgba(0, 0, 0, .55);
}

.wptm-home__hero--style-floating .wptm-home__heroctas,
.wptm-home__hero--style-floating .wptm-home__herobadges {
	justify-content: center;
}

.wptm-home__hero--style-floating .wptm-home__search,
.wptm-home__hero--style-floating .wptm-home__searchstage {
	position: relative;
	z-index: 4;
	margin-inline: auto;
}

.wptm-home__floatlayer {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
}

.wptm-home__floatstars {
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
}

.wptm-home__floatstar {
	position: absolute;
	display: inline-flex;
	width: 18px;
	height: 18px;
	opacity: .55;
	color: rgba(255, 220, 151, .78);
	filter: drop-shadow(0 0 10px rgba(255, 202, 105, .34));
	animation: wptm-home-star-drift 5.8s ease-in-out infinite;
}

.wptm-home__floatstar svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: currentColor;
	stroke: currentColor;
}

.wptm-home__floatstar--1 {
	inset-block-start: 20%;
	inset-inline-start: 30%;
	width: 13px;
	height: 13px;
	animation-delay: -1.4s;
}

.wptm-home__floatstar--2 {
	inset-block-start: 27%;
	inset-inline-end: 28%;
	animation-delay: -3.8s;
	animation-duration: 6.6s;
}

.wptm-home__floatstar--3 {
	inset-block-start: 48%;
	inset-inline-start: 21%;
	width: 10px;
	height: 10px;
	animation-delay: -2.1s;
	animation-duration: 5.2s;
}

.wptm-home__floatstar--4 {
	inset-block-start: 56%;
	inset-inline-end: 21%;
	width: 12px;
	height: 12px;
	animation-delay: -.7s;
	animation-duration: 7.1s;
}

.wptm-home__floatstar--5 {
	inset-block-end: 24%;
	inset-inline-start: 31%;
	width: 16px;
	height: 16px;
	animation-delay: -4.6s;
	animation-duration: 6.2s;
}

.wptm-home__floatstar--6 {
	inset-block-end: 18%;
	inset-inline-end: 31%;
	width: 9px;
	height: 9px;
	animation-delay: -2.9s;
	animation-duration: 5.4s;
}

.wptm-home__floatstar--7 {
	inset-block-start: 13%;
	inset-inline-start: 50%;
	width: 11px;
	height: 11px;
	animation-delay: -5.2s;
	animation-duration: 7.4s;
}

@keyframes wptm-home-star-drift {
	0%, 100% {
		opacity: .28;
		transform: translate3d(0, 4px, 0) rotate(-8deg) scale(.82);
	}

	50% {
		opacity: .9;
		transform: translate3d(0, -7px, 0) rotate(9deg) scale(1.08);
	}
}

.wptm-home__floatcard {
	position: absolute;
	display: block;
	width: clamp(150px, 16vw, 240px);
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 4px solid rgba(255, 255, 255, .92);
	border-radius: 17px;
	background: #d8e1dc;
	box-shadow: 0 28px 70px rgba(0, 0, 0, .38);
	color: #fff;
	text-decoration: none;
	pointer-events: auto;
	transition: transform .35s ease, box-shadow .35s ease;
}

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

.wptm-home__floatcard--1 {
	inset-block-start: 8%;
	inset-inline-start: 3%;
	transform: rotate(-6deg);
}

.wptm-home__floatcard--2 {
	inset-block-start: 9%;
	inset-inline-end: 3%;
	transform: rotate(6deg);
}

.wptm-home__floatcard--3 {
	inset-block-end: 8%;
	inset-inline-start: 5%;
	transform: rotate(4deg);
}

.wptm-home__floatcard--4 {
	inset-block-end: 7%;
	inset-inline-end: 5%;
	transform: rotate(-5deg);
}

.wptm-home__floatcard--5 {
	inset-block-end: -8%;
	inset-inline-start: 50%;
	width: clamp(130px, 12vw, 185px);
	opacity: .62;
	filter: saturate(.82) brightness(.78);
	transform: translateX(-50%) rotate(2deg);
}

.wptm-home__floatlayer--1 .wptm-home__floatcard--1 {
	inset-block-start: 50%;
	inset-inline-start: 3%;
	transform: translateY(-50%) rotate(-6deg);
}

.wptm-home__floatlayer--2 .wptm-home__floatcard--1,
.wptm-home__floatlayer--2 .wptm-home__floatcard--2 {
	inset-block-start: 50%;
	transform: translateY(-50%) rotate(-6deg);
}

.wptm-home__floatlayer--2 .wptm-home__floatcard--2 {
	transform: translateY(-50%) rotate(6deg);
}

a.wptm-home__floatcard:hover,
a.wptm-home__floatcard:focus-visible {
	box-shadow: 0 34px 76px rgba(0, 0, 0, .5);
	transform: translateY(-5px) rotate(0);
}

.wptm-home__floatlayer--1 a.wptm-home__floatcard--1:hover,
.wptm-home__floatlayer--1 a.wptm-home__floatcard--1:focus-visible,
.wptm-home__floatlayer--2 a.wptm-home__floatcard--1:hover,
.wptm-home__floatlayer--2 a.wptm-home__floatcard--1:focus-visible,
.wptm-home__floatlayer--2 a.wptm-home__floatcard--2:hover,
.wptm-home__floatlayer--2 a.wptm-home__floatcard--2:focus-visible {
	transform: translateY(calc(-50% - 5px)) rotate(0);
}

a.wptm-home__floatcard--5:hover,
a.wptm-home__floatcard--5:focus-visible {
	transform: translateX(-50%) translateY(-5px) rotate(0);
}

a.wptm-home__floatcard:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 4px;
}

.wptm-home__floatlabel {
	position: absolute;
	inset-inline: 10px;
	inset-block-end: 10px;
	display: block;
	padding: 8px 11px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 10px;
	background: rgba(8, 20, 24, .7);
	backdrop-filter: blur(8px);
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: start;
}

/* --- Oasis Mesh ------------------------------------------------------- */

.wptm-home__hero--style-mesh {
	--mesh-a: #aadfd0;
	--mesh-b: #f3cf96;
	--mesh-c: #9bd1de;
	--mesh-d: #fdf2dc;
	min-height: clamp(540px, 72vh, 720px);
	background: var(--mesh-d);
	color: #163c38;
}

.wptm-home__hero--palette-coast {
	--mesh-a: #a7e0dc;
	--mesh-b: #b9d8f0;
	--mesh-c: #7ac6d8;
	--mesh-d: #f3f4ed;
}

.wptm-home__hero--palette-sunset {
	--mesh-a: #efb497;
	--mesh-b: #f1cf8e;
	--mesh-c: #dca7ad;
	--mesh-d: #fff1dd;
}

.wptm-home__mesh {
	position: absolute;
	inset: -16%;
	z-index: 0;
	overflow: hidden;
	background:
		radial-gradient(circle at 18% 24%, var(--mesh-a), transparent 34%),
		radial-gradient(circle at 76% 22%, var(--mesh-b), transparent 36%),
		radial-gradient(circle at 70% 76%, var(--mesh-c), transparent 38%),
		radial-gradient(circle at 22% 78%, rgba(255, 255, 255, .82), transparent 32%),
		var(--mesh-d);
	filter: saturate(.9);
}

.wptm-home__mesh::before {
	content: "";
	position: absolute;
	inset: 12% 14%;
	z-index: 2;
	background: radial-gradient(ellipse at center, rgba(255, 255, 255, .5) 0%, rgba(255, 255, 255, .22) 48%, transparent 74%);
	filter: blur(22px);
	pointer-events: none;
}

.wptm-home__mesh::after {
	content: "";
	position: absolute;
	inset: 12%;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 42% 58% 64% 36% / 48% 42% 58% 52%;
	box-shadow: 0 0 90px rgba(255, 255, 255, .32) inset;
	transform: rotate(-8deg);
}

.wptm-home__mesh > span {
	position: absolute;
	width: 44vw;
	height: 44vw;
	min-width: 360px;
	min-height: 360px;
	border-radius: 50%;
	filter: blur(50px);
	opacity: .48;
	animation: wptm-home-mesh-drift 16s ease-in-out infinite alternate;
}

.wptm-home__mesh > span:nth-child(1) {
	inset-block-start: 2%;
	inset-inline-start: 3%;
	background: var(--mesh-a);
}

.wptm-home__mesh > span:nth-child(2) {
	inset-block-start: 0;
	inset-inline-end: 2%;
	background: var(--mesh-b);
	animation-delay: -5s;
	animation-duration: 19s;
}

.wptm-home__mesh > span:nth-child(3) {
	inset-block-end: -6%;
	inset-inline-end: 18%;
	background: var(--mesh-c);
	animation-delay: -9s;
	animation-duration: 21s;
}

.wptm-home__mesh > span:nth-child(4) {
	inset-block-end: -12%;
	inset-inline-start: 12%;
	background: rgba(255, 255, 255, .84);
	animation-delay: -3s;
	animation-duration: 18s;
}

@keyframes wptm-home-mesh-drift {
	0% {
		transform: translate3d(-4%, -3%, 0) scale(.92);
	}

	50% {
		transform: translate3d(7%, 4%, 0) scale(1.08);
	}

	100% {
		transform: translate3d(-1%, 9%, 0) scale(.98);
	}
}

.wptm-home__hero--style-mesh .wptm-home__heroinner {
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-block: clamp(58px, 7vw, 86px);
}

.wptm-home__hero--style-mesh:has(.wptm-home__down) .wptm-home__heroinner {
	padding-block-end: clamp(94px, 9vw, 112px);
}

.wptm-home__hero--style-mesh .wptm-home__herocopy {
	width: min(100%, 760px);
	max-width: 760px;
	margin-inline: auto;
	padding-inline: clamp(6px, 2vw, 18px);
	text-align: center;
}

.wptm-home__hero--style-mesh .wptm-home__heroeyebrow {
	color: #246c61;
}

.wptm-home__hero--style-mesh .wptm-home__herotitle {
	max-width: 18ch;
	margin-inline: auto;
	font-family: ui-serif, Georgia, Cambria, "Times New Roman", serif;
	font-size: clamp(2.25rem, 4.8vw, 3.95rem);
	font-weight: 650;
	line-height: 1.06;
	color: #163d37;
	text-shadow: none;
}

.wptm-home__hero--style-mesh .wptm-home__herotext {
	margin-inline: auto;
	max-width: 58ch;
	color: #355b54;
}

.wptm-home__hero--style-mesh .wptm-home__heroctas,
.wptm-home__hero--style-mesh .wptm-home__herobadges {
	justify-content: center;
}

.wptm-home__hero--style-mesh .wptm-home__btn--ghost {
	border-color: rgba(20, 76, 66, .7);
	background: rgba(255, 255, 255, .32);
	color: #174e44;
	backdrop-filter: none;
}

.wptm-home__hero--style-mesh .wptm-home__licence--hero {
	border-color: rgba(22, 86, 72, .14);
	background: rgba(255, 255, 255, .45);
	color: #28594f;
}

.wptm-home .wptm-home__hero--style-mesh .wptm-home__herobadges li {
	color: #315d54;
}

.wptm-home__hero--style-mesh .wptm-home__herobadgeicon {
	border-color: rgba(28, 98, 83, .13);
	background: rgba(255, 255, 255, .55);
	color: #267161;
}

.wptm-home__hero--style-mesh .wptm-home__search,
.wptm-home__hero--style-mesh .wptm-home__searchstage {
	margin-inline: auto;
}

.wptm-home__hero--style-mesh .wptm-home__search,
.wptm-home__hero--style-mesh .wptm-home__searchstage--adventure,
.wptm-home__hero--style-mesh .wptm-home__search--signature {
	box-shadow: 0 28px 70px -36px rgba(18, 68, 60, .58), 0 1px 0 rgba(255, 255, 255, .9) inset;
}

/* --- Hero collection: tablet and phone ------------------------------- */

@media (max-width: 1000px) {
	.wptm-home__splitgrid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
		gap: 30px;
		padding: 0;
	}

	.wptm-home__spotlight {
		min-height: 0;
	}

	.wptm-home__floatcard {
		width: clamp(140px, 19vw, 190px);
		opacity: .82;
	}

	.wptm-home__hero--style-floating .wptm-home__herocopy {
		width: min(64vw, 650px);
	}
}

@media (max-width: 820px) {
	.wptm-home__hero--style-split .wptm-home__heroinner {
		padding-block-start: 34px;
	}

	.wptm-home__splitgrid {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
		padding: 0;
	}

	.wptm-home__hero--style-split .wptm-home__herocopy {
		max-width: none;
	}

	.wptm-home__spotlight {
		justify-self: center;
		width: min(100%, 620px);
		min-height: 0;
		aspect-ratio: 1;
	}

	.wptm-home__hero--style-floating {
		flex-direction: column;
		min-height: auto;
	}

	.wptm-home__hero--style-floating .wptm-home__heroinner {
		order: 1;
		padding-block-end: 24px;
	}

	.wptm-home__hero--style-floating:has(.wptm-home__down) .wptm-home__heroinner {
		padding-block-end: 24px;
	}

	.wptm-home__hero--style-floating .wptm-home__herocopy {
		width: 100%;
		padding-inline: 10px;
	}

	.wptm-home__floatlayer {
		position: relative;
		inset: auto;
		z-index: 3;
		order: 2;
		display: flex;
		gap: 14px;
		width: 100%;
		padding: 8px var(--home-pad) 34px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: var(--home-pad);
		scrollbar-width: none;
		pointer-events: auto;
	}

	.wptm-home__floatlayer::-webkit-scrollbar {
		display: none;
	}

	.wptm-home__floatcard,
	.wptm-home__floatcard--1,
	.wptm-home__floatcard--2,
	.wptm-home__floatcard--3,
	.wptm-home__floatcard--4,
	.wptm-home__floatcard--5,
	.wptm-home__floatlayer--1 .wptm-home__floatcard--1,
	.wptm-home__floatlayer--2 .wptm-home__floatcard--1,
	.wptm-home__floatlayer--2 .wptm-home__floatcard--2 {
		position: relative;
		inset: auto;
		flex: 0 0 min(74vw, 340px);
		width: auto;
		opacity: 1;
		filter: none;
		transform: none;
		scroll-snap-align: center;
	}

	.wptm-home__hero--style-floating:has(.wptm-home__down) .wptm-home__floatlayer {
		padding-block-end: 92px;
	}

	.wptm-home__floatlayer a.wptm-home__floatcard:hover,
	.wptm-home__floatlayer a.wptm-home__floatcard:focus-visible {
		transform: translateY(-3px);
	}

	.wptm-home__hero--style-floating .wptm-home__down {
		z-index: 5;
	}
}

@media (max-width: 640px) {
	.wptm-home__videocontrols {
		inset-block-start: 12px;
		inset-inline-end: 12px;
		gap: 6px;
	}

	.wptm-home__videocontrol {
		width: 42px;
		min-width: 42px;
		padding: 0;
	}

	.wptm-home__videocontrol > span:last-child {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.wptm-home__hero--style-video .wptm-home__herotitle,
	.wptm-home__hero--style-split .wptm-home__herotitle,
	.wptm-home__hero--style-floating .wptm-home__herotitle,
	.wptm-home__hero--style-mesh .wptm-home__herotitle {
		font-size: clamp(2.05rem, 9.4vw, 2.9rem);
	}

	.wptm-home__hero--style-split .wptm-home__heroctas,
	.wptm-home__hero--style-mesh .wptm-home__heroctas,
	.wptm-home__hero--style-floating .wptm-home__heroctas {
		width: 100%;
	}

	.wptm-home__hero--style-split .wptm-home__heroctas .wptm-home__btn,
	.wptm-home__hero--style-mesh .wptm-home__heroctas .wptm-home__btn,
	.wptm-home__hero--style-floating .wptm-home__heroctas .wptm-home__btn {
		flex: 1 1 100%;
	}

	.wptm-home__hero--style-split .wptm-home__herobadges,
	.wptm-home__hero--style-mesh .wptm-home__herobadges,
	.wptm-home__hero--style-floating .wptm-home__herobadges {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 10px;
	}

	.wptm-home__spotlight {
		min-height: 0;
		aspect-ratio: 1;
		border-radius: 19px;
	}

	.wptm-home__spotoverlay {
		inset: auto 16px 16px;
		padding: 0;
	}

	.wptm-home__spotfacts > span {
		padding-inline-end: 10px;
		margin-inline-end: 10px;
	}

	.wptm-home__hero--style-mesh {
		min-height: 520px;
	}

	.wptm-home__hero--style-mesh .wptm-home__heroinner {
		padding-block-start: 54px;
	}

	.wptm-home__hero--style-mesh .wptm-home__herocopy {
		padding-inline: 6px;
	}

	.wptm-home__floatstar {
		color: rgba(255, 220, 151, .58);
	}

	.wptm-home__mesh > span {
		filter: blur(38px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wptm-home__mesh > span,
	.wptm-home__floatstar {
		animation: none;
	}

	.wptm-home__spotimg,
	.wptm-home__floatcard,
	.wptm-home__videocontrol,
	.wptm-home__heroctaicon {
		transition: none;
	}

	a.wptm-home__spotlight:hover .wptm-home__spotimg,
	a.wptm-home__spotlight:focus-visible .wptm-home__spotimg,
	a.wptm-home__floatcard:hover,
	a.wptm-home__floatcard:focus-visible,
	.wptm-home__btn--primary:hover .wptm-home__heroctaicon {
		transform: none;
	}

	.wptm-home__floatlayer a.wptm-home__floatcard:hover,
	.wptm-home__floatlayer a.wptm-home__floatcard:focus-visible {
		transform: none;
	}

	[dir="rtl"] .wptm-home__btn--primary:hover .wptm-home__heroctaicon {
		transform: scaleX(-1);
	}
}

@media print {
	.wptm-home__videocontrols,
	.wptm-home__floatlayer,
	.wptm-home__floatstars {
		display: none;
	}

	.wptm-home__mesh > span {
		animation: none;
	}

	.wptm-home__platforms--motion {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.wptm-home__platforms--motion .wptm-home__platformtrack,
	.wptm-home__platforms--motion .wptm-home__platformset {
		width: 100%;
		min-width: 0;
		animation: none;
	}

	.wptm-home__platforms--motion .wptm-home__platformset {
		flex-wrap: wrap;
	}

	.wptm-home__platforms--motion .wptm-home__platformset[aria-hidden="true"] {
		display: none;
	}
}

/* --- Introduction video ----------------------------------------------- */

/* Typography stays inherited from the active site. This block owns only
   the section's layout, proportions and video interaction. */
.wptm-home__section--video {
	/*
	 * The band reaches both edges of the window without leaving the
	 * container: the ground is painted outward as a spread shadow and the
	 * box is clipped to the page's width, so no 100vw measure is involved
	 * and a scrollbar can never turn into sideways scroll.
	 */
	--home-video-ground: #f8f7f4;
	position: relative;
	margin-block-start: calc(clamp(28px, 4vw, 64px) * var(--wptm-density, 1));
	padding-block: var(--home-gap);
	background: var(--home-video-ground);
	box-shadow: 0 0 0 100vmax var(--home-video-ground);
	clip-path: inset(0 -100vmax);
}

@supports (color: color-mix(in srgb, red 50%, transparent)) {
	.wptm-home__section--video {
		--home-video-ground: color-mix(in srgb, var(--wptm-accent) 4%, #f8f7f4);
	}
}

/* The band sits on the section before it with the page's own rhythm, and
   the CTA that may follow it keeps its air. */
.wptm-home__section--video + .wptm-home__section {
	padding-block-start: var(--home-gap);
}

.wptm-home__videointro {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: clamp(34px, 5vw, 64px);
}

.wptm-home__videocopy {
	min-width: 0;
}

.wptm-home__videotitle {
	max-width: 18ch;
	margin: 0 0 18px;
	font-size: clamp(1.85rem, 3.35vw, 2.9rem);
	font-weight: 750;
	line-height: 1.12;
	letter-spacing: -.025em;
	color: var(--home-ink);
	text-wrap: balance;
}

.wptm-home__videotext {
	max-width: 52ch;
	margin: 0 0 26px;
	font-size: clamp(.98rem, 1.35vw, 1.08rem);
	line-height: 1.75;
	color: var(--home-muted);
	text-wrap: pretty;
}

.wptm-home__videobadges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.wptm-home__videobadge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid rgba(0, 0, 0, .09);
	border-color: color-mix(in srgb, var(--home-line) 88%, transparent);
	border-radius: 999px;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 8px 20px -18px rgba(20, 28, 38, .55);
	font-size: .82rem;
	font-weight: 650;
	line-height: 1.25;
	color: var(--home-ink);
}

.wptm-home__videobadgeicon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--wptm-accent-dark, var(--wptm-accent));
	line-height: 0;
}

.wptm-home__videobadgeicon .wptm-icon {
	display: block;
	margin: 0;
}

.wptm-home__videomedia {
	position: relative;
	min-width: 0;
	padding: 0 12px 12px 0;
}

.wptm-home__videomedia::after {
	content: "";
	position: absolute;
	inset: 12px 0 0 12px;
	z-index: 0;
	border: 1px solid rgba(184, 133, 58, .28);
	border-color: color-mix(in srgb, var(--wptm-accent) 28%, transparent);
	border-radius: var(--wptm-radius-lg);
	pointer-events: none;
}

/* A thin white edge and one soft shadow: the picture is the point. */
.wptm-home__videoframe {
	position: relative;
	z-index: 1;
	isolation: isolate;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 3px solid #fff;
	border-radius: var(--wptm-radius-lg);
	background: #17212c;
	box-shadow: var(--wptm-shadow-2);
}

.wptm-home__introvideo {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: #17212c;
	object-fit: cover;
}

.wptm-home__introvideo:focus-visible {
	outline: 3px solid var(--wptm-accent);
	outline-offset: -4px;
}

.wptm-home__videooverlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 20px;
	border: 0;
	background: linear-gradient(180deg, rgba(8, 15, 24, .05), rgba(8, 15, 24, .44));
	color: #fff;
	cursor: pointer;
	transition: opacity .28s ease, background-color .28s ease;
}

.wptm-home__videooverlay[hidden] {
	display: none;
}

.wptm-home__videoframe.is-playing .wptm-home__videooverlay {
	opacity: 0;
	pointer-events: none;
}

.wptm-home__videoplay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 74px;
	height: 74px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .96);
	color: var(--wptm-accent-dark, var(--wptm-accent));
	/* One still ring, not a pulse: a looping halo is the kind of motion a
	   reader learns to ignore and a sensitive one cannot. */
	box-shadow: 0 0 0 8px rgba(255, 255, 255, .22), 0 12px 30px rgba(8, 15, 24, .28);
	transition: transform var(--wptm-transition);
}

.wptm-home__videoplay .wptm-icon {
	display: block;
	margin-inline-start: 2px;
}

.wptm-home__videooverlay:hover .wptm-home__videoplay {
	transform: scale(1.06);
}

.wptm-home__videooverlay:focus-visible {
	outline: 3px solid var(--wptm-accent);
	outline-offset: -4px;
}

.wptm-home__videoplaylabel {
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .18em;
	text-transform: uppercase;
	text-shadow: 0 2px 10px rgba(8, 15, 24, .4);
}

[dir="rtl"] .wptm-home__videomedia {
	padding: 0 0 12px 12px;
}

[dir="rtl"] .wptm-home__videomedia::after {
	inset: 12px 12px 0 0;
}

@media (max-width: 1000px) {
	.wptm-home__videointro {
		grid-template-columns: 1fr;
	}

	.wptm-home__videomedia {
		order: -1;
	}

	.wptm-home__videocopy {
		text-align: center;
	}

	.wptm-home__videocopy .wptm-home__eyebrow {
		justify-content: center;
	}

	.wptm-home__videotitle,
	.wptm-home__videotext {
		margin-inline: auto;
	}

	.wptm-home__videobadges {
		justify-content: center;
	}
}

@media (max-width: 640px) {
	.wptm-home__section--video {
		margin-block-start: clamp(22px, 7vw, 36px);
		padding-block: clamp(48px, 12vw, 64px);
	}

	.wptm-home__videomedia {
		padding: 0 8px 8px 0;
	}

	[dir="rtl"] .wptm-home__videomedia {
		padding: 0 0 8px 8px;
	}

	.wptm-home__videomedia::after {
		inset: 8px 0 0 8px;
		border-radius: var(--wptm-radius-media);
	}

	[dir="rtl"] .wptm-home__videomedia::after {
		inset: 8px 8px 0 0;
	}

	.wptm-home__videoframe {
		border-width: 2px;
		border-radius: var(--wptm-radius-media);
	}

	.wptm-home__videoplay {
		width: 62px;
		height: 62px;
	}

	.wptm-home__videoplaylabel {
		font-size: .66rem;
		letter-spacing: .14em;
	}
}

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

	.wptm-home__videooverlay,
	.wptm-home__videoplay {
		transition: none;
	}

	.wptm-home__videooverlay:hover .wptm-home__videoplay {
		transform: none;
	}
}

@media print {
	.wptm-home__videooverlay {
		display: none;
	}
}


/* Density, chosen in Settings and carried by a class on the body: one dial
   that every band's spacing is multiplied by. Balanced needs no class. */
body.wptm-density--compact .wptm-home {
	--wptm-density: .85;
}

body.wptm-density--spacious .wptm-home {
	--wptm-density: 1.2;
}

/* Arabic headings: joined letters take no tracking, and a display face at
   this size needs a touch more leading than the Latin setting gives it. */
.wptm-home__herotitle:lang(ar),
.wptm-home__title:lang(ar),
.wptm-home__ctatitle:lang(ar),
.wptm-home__videotitle:lang(ar),
[dir="rtl"] .wptm-home__herotitle,
[dir="rtl"] .wptm-home__title,
[dir="rtl"] .wptm-home__ctatitle,
[dir="rtl"] .wptm-home__videotitle {
	letter-spacing: 0;
	line-height: 1.28;
}
