html:has(.tss-regions-page) {
	scroll-behavior: smooth;
}

body:has(.tss-regions-page) {
	overflow-x: hidden;
}

body:has(.tss-regions-page) .site-content > .container-xxl {
	width: 100% !important;
	max-width: none !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

.tss-regions-page {
	--tss-regions-sage: #dfe8d4;
	--tss-regions-paper: #fffdf4;
	--tss-regions-coral: #eb6a4d;
	--tss-regions-blue: #2f6f93;
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-left: -50vw;
	background: var(--tss-cream);
	overflow-x: hidden;
}

.tss-regions-page,
.tss-regions-page * {
	box-sizing: border-box;
}

.tss-regions-page #regional-esim-options,
.tss-regions-page #regional-esim-directory {
	scroll-margin-top: clamp(96px, 12vh, 150px);
}

.tss-regions-page .tss-info-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(34px, 5vw, 56px) 20px clamp(34px, 4.6vw, 54px);
	background:
		linear-gradient(90deg, rgba(16, 16, 16, 0.06) 0 2px, transparent 2px 100%) 0 100% / 86px 42px no-repeat,
		radial-gradient(420px 150px at 12% 14%, rgba(223, 232, 212, 0.48) 0 62%, transparent 64%),
		radial-gradient(420px 150px at 84% 8%, rgba(255, 214, 51, 0.22) 0 62%, transparent 64%),
		linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 247, 223, 0.98)),
		var(--tss-cream);
}

.tss-regions-page .tss-info-section {
	padding: clamp(38px, 4.2vw, 54px) 20px;
}

.tss-regions-page .tss-info-hero::before {
	content: "";
	position: absolute;
	right: max(28px, calc((100vw - 1180px) / 2));
	bottom: 42px;
	width: clamp(150px, 18vw, 250px);
	height: 70px;
	border-top: 3px solid rgba(255, 214, 51, 0.72);
	border-bottom: 3px solid rgba(0, 124, 120, 0.18);
	border-radius: 999px;
	transform: rotate(-7deg);
	pointer-events: none;
}

.tss-regions-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 0.94fr) minmax(390px, 0.66fr);
	gap: clamp(28px, 4.6vw, 54px);
	align-items: start;
	max-width: 1180px;
}

.tss-regions-hero__copy {
	min-width: 0;
}

.tss-regions-page .tss-info-kicker {
	border-width: 2px;
	border-radius: 6px;
	box-shadow: 3px 3px 0 var(--tss-black);
}

.tss-regions-page .tss-info-hero h1 {
	max-width: 780px;
	margin-bottom: 16px;
	font-size: clamp(42px, 5vw, 68px);
	line-height: 0.96;
	text-wrap: balance;
}

.tss-regions-page .tss-info-hero p {
	max-width: 660px;
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.48;
}

.tss-regions-page .tss-info-hero .tss-info-actions {
	align-items: center;
	gap: 14px 24px;
	margin-top: 24px;
}

.tss-regions-page .tss-info-hero .tss-info-actions .tss-button {
	min-width: min(100%, 236px);
}

.tss-regions-page .tss-info-hero .tss-info-actions .tss-plain-link {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 4px;
	font-weight: 900;
	line-height: 1.1;
	text-decoration: underline;
	text-decoration-color: var(--tss-yellow);
	text-decoration-thickness: 3px;
	text-underline-offset: 5px;
}

.tss-regions-best-for {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 660px;
	margin-top: 28px;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 9px 11px;
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 4px 4px 0 var(--tss-black);
}

.tss-regions-best-for strong,
.tss-regions-best-for span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.tss-regions-best-for strong {
	border: 2px solid var(--tss-black);
	padding: 0 10px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	text-transform: uppercase;
}

.tss-regions-best-for span {
	border: 1px solid rgba(16, 16, 16, 0.16);
	padding: 0 11px;
	background: var(--tss-regions-paper);
	color: var(--tss-ink-soft);
}

.tss-regions-hero-promenade.tss-hero-park {
	position: relative;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: 0;
	width: min(100%, 680px);
	height: 118px;
	margin-top: clamp(22px, 3vw, 34px);
	overflow: hidden;
	pointer-events: none;
	--tss-park-character-scale: 0.52;
}

.tss-regions-hero-promenade.tss-hero-park::before {
	right: -8%;
	bottom: -32px;
	left: -8%;
	height: 120px;
	background:
		radial-gradient(46px 18px at 9% 33%, rgba(255, 214, 51, 0.18) 0 62%, transparent 64%),
		radial-gradient(82px 26px at 34% 31%, rgba(255, 253, 244, 0.5) 0 62%, transparent 64%),
		radial-gradient(70px 22px at 82% 34%, rgba(0, 124, 120, 0.12) 0 64%, transparent 66%),
		linear-gradient(180deg, rgba(238, 244, 229, 0.96), rgba(202, 222, 183, 0.96));
}

.tss-regions-hero-promenade.tss-hero-park::after {
	bottom: 19px;
	opacity: 0.68;
}

.tss-regions-hero-promenade .tss-hero-park__horizon {
	bottom: 48px;
	height: 52px;
}

.tss-regions-hero-promenade .tss-hero-park__path {
	bottom: 19px;
	height: 32px;
}

.tss-regions-hero-promenade .tss-hero-park__tree {
	bottom: 15px;
	--tss-park-tree-scale: 0.52;
}

.tss-regions-hero-promenade .tss-hero-park__tree--right {
	right: 1.5%;
	--tss-park-tree-scale: 0.46;
}

.tss-regions-hero-promenade .tss-hero-park__pine {
	bottom: 24px;
	--tss-park-pine-scale: 0.54;
}

.tss-regions-hero-promenade .tss-hero-park__shrub {
	bottom: 11px;
	transform: scale(0.56);
	transform-origin: center bottom;
}

.tss-regions-hero-promenade .tss-hero-park__flower {
	bottom: 12px;
	--tss-park-flower-scale: 0.7;
}

.tss-regions-hero-promenade__line {
	position: absolute;
	right: 20px;
	bottom: 32px;
	left: 4px;
	height: 18px;
	border-top: 3px dashed rgba(16, 16, 16, 0.42);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	transform: rotate(-2deg);
	z-index: 4;
}

.tss-regions-hero-promenade__sign {
	position: absolute;
	bottom: 44px;
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	border: 2px solid var(--tss-black);
	border-radius: 6px;
	padding: 0 10px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.18);
	z-index: 5;
}

.tss-regions-hero-promenade__sign::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 3px;
	height: 18px;
	background: var(--tss-black);
	transform: translateX(-50%);
}

.tss-regions-hero-promenade__sign--country {
	left: 8%;
	background: #fffdf4;
}

.tss-regions-hero-promenade__sign--region {
	right: 7%;
	background: var(--tss-yellow);
	box-shadow: 3px 3px 0 var(--tss-black);
}

.tss-regions-hero-promenade__traveller {
	position: absolute;
	bottom: 18px;
	width: 24px;
	height: 34px;
	border: 2px solid var(--tss-black);
	border-radius: 13px 13px 9px 9px;
	background: var(--tss-regions-sage);
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.16);
	z-index: 6;
}

.tss-regions-hero-promenade__traveller::before {
	content: "";
	position: absolute;
	top: -14px;
	left: 50%;
	width: 18px;
	height: 18px;
	border: 2px solid var(--tss-black);
	border-radius: 50%;
	background: #f1bf8d;
	transform: translateX(-50%);
}

.tss-regions-hero-promenade__traveller::after {
	content: "";
	position: absolute;
	right: -12px;
	bottom: 8px;
	width: 16px;
	height: 20px;
	border: 2px solid var(--tss-black);
	border-radius: 5px;
	background: var(--tss-yellow);
	transform: rotate(8deg);
}

.tss-regions-hero-promenade__traveller--one {
	left: 34%;
	background: #dff4f2;
}

.tss-regions-hero-promenade__traveller--two {
	right: 30%;
	bottom: 15px;
	transform: scale(0.88);
	background: #fffdf4;
}

.tss-regions-hero-promenade__tag {
	position: absolute;
	display: inline-grid;
	width: 31px;
	height: 24px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 5px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.18);
	z-index: 7;
}

.tss-regions-hero-promenade__tag--one {
	bottom: 58px;
	left: 38%;
	background: var(--tss-yellow);
	transform: rotate(-7deg);
}

.tss-regions-hero-promenade__tag--two {
	right: 37%;
	bottom: 60px;
	background: #dff4f2;
	transform: rotate(5deg);
}

.tss-regions-hero-promenade__tag--three {
	right: 21%;
	bottom: 18px;
	background: #ffffff;
	transform: rotate(-4deg);
}

.tss-regions-route-card {
	position: relative;
	min-height: 0;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 18px;
	background: var(--tss-panel);
	box-shadow: 9px 9px 0 var(--tss-yellow), 13px 13px 0 var(--tss-black);
}

.tss-regions-route-exchange {
	overflow: visible;
	background:
		linear-gradient(180deg, rgba(255, 214, 51, 0.14), transparent 36%),
		repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.05) 0 1px, transparent 1px 36px),
		#fffdf4;
}

.tss-regions-route-card::before,
.tss-regions-route-card::after {
	content: "";
	position: absolute;
	top: 54%;
	width: 26px;
	height: 46px;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	background: var(--tss-cream);
}

.tss-regions-route-card::before {
	left: -15px;
}

.tss-regions-route-card::after {
	right: -15px;
}

.tss-regions-route-card__tab {
	position: absolute;
	top: -16px;
	left: 22px;
	border: 2px solid var(--tss-black);
	border-radius: 6px;
	padding: 6px 12px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 3px 3px 0 var(--tss-black);
}

.tss-regions-route-card__logo {
	display: block;
	width: min(140px, 68%);
	margin: 2px 0 15px;
}

.tss-regions-route-card__title {
	margin: 0 0 8px;
	color: var(--tss-black);
	font-size: 26px;
	line-height: 1.02;
	font-weight: 900;
	letter-spacing: 0;
}

.tss-regions-route-card__meta {
	margin: 0;
	color: var(--tss-ink-soft);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.38;
}

.tss-regions-route-examples {
	display: grid;
	gap: 8px;
	margin-top: 14px;
	border: 1px solid rgba(16, 16, 16, 0.16);
	border-radius: 8px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.74);
}

.tss-regions-route-examples__label {
	display: inline-flex;
	width: fit-content;
	min-height: 26px;
	align-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	padding: 0 9px;
	background: rgba(223, 244, 242, 0.94);
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-route-example {
	position: relative;
	display: grid;
	gap: 3px;
	border: 1px solid rgba(16, 16, 16, 0.14);
	border-radius: 8px;
	padding: 9px 10px 9px 34px;
	background: #ffffff;
	color: var(--tss-black);
	text-decoration: none;
}

.tss-regions-route-example::before {
	content: "";
	position: absolute;
	top: 14px;
	left: 12px;
	width: 12px;
	height: 12px;
	border: 2px solid var(--tss-black);
	border-radius: 50%;
	background: var(--tss-yellow);
	box-shadow: 12px 9px 0 -4px var(--tss-regions-blue);
}

.tss-regions-route-example strong {
	font-size: 13px;
	font-weight: 950;
	line-height: 1.15;
}

.tss-regions-route-example small {
	color: var(--tss-ink-soft);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.22;
}

.tss-regions-route-example:hover,
.tss-regions-route-example:focus {
	border-color: var(--tss-black);
	background: rgba(255, 214, 51, 0.18);
	outline: 0;
}

.tss-regions-route-example:focus-visible {
	box-shadow: 0 0 0 3px rgba(0, 124, 120, 0.34);
}

.tss-regions-page .tss-search--regions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	width: 100%;
	margin-top: 14px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.tss-regions-page .tss-search--regions input[type="search"] {
	width: 100%;
	min-height: 46px;
	border: 2px solid rgba(16, 16, 16, 0.18);
	border-radius: 6px;
	padding: 0 12px;
	background: #fff;
	color: var(--tss-black);
	font-size: 15px;
}

.tss-regions-page .tss-search--regions input[type="search"]:focus {
	border-color: var(--tss-black);
	box-shadow: inset 0 0 0 2px var(--tss-teal);
	outline: 0;
}

.tss-regions-page .tss-search--regions button {
	width: 100%;
	min-height: 46px;
}

.tss-regions-route {
	display: grid;
	gap: 7px;
	margin: 15px 0 0;
	padding: 0;
	list-style: none;
}

.tss-regions-route li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	min-height: 46px;
	border: 1px solid rgba(16, 16, 16, 0.18);
	border-radius: 8px;
	padding: 9px 11px;
	background: var(--tss-regions-paper);
	color: var(--tss-black);
}

.tss-regions-route li strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	margin-top: 1px;
	border: 2px solid var(--tss-black);
	border-radius: 50%;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	box-shadow: 2px 2px 0 var(--tss-black);
}

.tss-regions-route li span {
	display: grid;
	gap: 3px;
	min-width: 0;
}

.tss-regions-route li b {
	display: block;
	min-width: 0;
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.15;
}

.tss-regions-route li small {
	display: block;
	color: var(--tss-ink-soft);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.2;
}

.tss-regions-section-heading {
	max-width: 760px;
	margin-bottom: 24px;
}

.tss-regions-section-heading h2 {
	margin: 0 0 10px;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1;
	font-weight: 900;
}

.tss-regions-section-heading p {
	margin: 0;
}

.tss-regions-choice-strip {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 22px;
}

.tss-regions-choice-strip::before {
	content: "";
	position: absolute;
	top: 31px;
	right: 12%;
	left: 12%;
	z-index: 0;
	height: 3px;
	background: repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.34) 0 14px, transparent 14px 24px);
	pointer-events: none;
}

.tss-regions-choice {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 100%;
	flex-direction: column;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 48px 18px 18px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 4px 4px 0 rgba(16, 16, 16, 0.92);
}

.tss-regions-choice__tag {
	position: absolute;
	top: 14px;
	left: 16px;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	padding: 5px 10px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 2px 2px 0 var(--tss-black);
}

.tss-regions-choice--regional {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(223, 244, 242, 0.82));
}

.tss-regions-choice--global {
	background: linear-gradient(135deg, rgba(255, 253, 244, 0.94), rgba(255, 214, 51, 0.14));
}

.tss-regions-choice strong {
	display: block;
	margin-bottom: 8px;
	color: var(--tss-black);
	font-size: 18px;
	line-height: 1.15;
}

.tss-regions-choice p {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
}

.tss-regions-choice__link {
	display: inline-flex;
	align-self: flex-start;
	margin-top: auto;
	padding-top: 14px;
	color: var(--tss-black);
	font-size: 14px;
	font-weight: 950;
	line-height: 1.1;
	text-decoration: underline;
	text-decoration-color: var(--tss-yellow);
	text-decoration-thickness: 3px;
	text-underline-offset: 4px;
}

.tss-regions-check-section {
	background: rgba(223, 232, 212, 0.28);
}

.tss-regions-featured-section {
	background: linear-gradient(180deg, rgba(255, 253, 244, 0.72), rgba(255, 246, 217, 0.78));
}

.tss-regions-directory-section {
	background: rgba(255, 255, 255, 0.42);
}

.tss-regions-plan-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.tss-region-card {
	position: relative;
	display: flex;
	min-height: 360px;
	flex-direction: column;
	border: 1px solid var(--tss-border);
	border-radius: 8px;
	padding: 24px;
	background: rgba(255, 255, 255, 0.9);
	transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.tss-region-card:hover,
.tss-region-card:focus-within {
	border-color: var(--tss-black);
	box-shadow: 5px 5px 0 var(--tss-black);
	transform: translateY(-1px);
}

.tss-region-card--featured {
	border: 2px solid rgba(16, 16, 16, 0.14);
	background: rgba(255, 255, 255, 0.94);
	overflow: hidden;
}

.tss-region-card--featured::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 7px;
	background: linear-gradient(90deg, var(--tss-yellow), rgba(223, 244, 242, 0.96));
}

.tss-region-card--featured:nth-child(1),
.tss-region-card--featured:nth-child(2) {
	border-color: var(--tss-black);
	box-shadow: 4px 4px 0 rgba(16, 16, 16, 0.92);
}

.tss-region-card__eyebrow {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: 14px;
	border: 1px solid rgba(16, 16, 16, 0.18);
	border-radius: 999px;
	padding: 5px 10px;
	background: var(--tss-regions-sage);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.tss-region-card h3 {
	margin: 0 0 10px;
	color: var(--tss-black);
	font-size: 28px;
	line-height: 1;
	font-weight: 900;
	letter-spacing: 0;
}

.tss-region-card p {
	margin: 0;
}

.tss-region-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 18px 0;
}

.tss-region-card__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid rgba(16, 16, 16, 0.14);
	border-radius: 999px;
	padding: 5px 10px;
	background: #fff9e8;
	color: var(--tss-ink-soft);
	font-size: 13px;
	font-weight: 800;
}

.tss-region-card .tss-info-actions {
	margin-top: auto;
	padding-top: 22px;
}

.tss-region-card__coverage {
	margin-top: 16px;
	border: 1px solid rgba(16, 16, 16, 0.16);
	border-radius: 8px;
	background: rgba(255, 253, 247, 0.86);
	overflow: hidden;
}

.tss-region-card__coverage summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	padding: 10px 12px;
	color: var(--tss-black);
	font-size: 14px;
	font-weight: 950;
	cursor: pointer;
	list-style: none;
}

.tss-region-card__coverage summary::-webkit-details-marker {
	display: none;
}

.tss-region-card__coverage summary::after {
	content: "+";
	display: inline-grid;
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	place-items: center;
	border: 1px solid rgba(16, 16, 16, 0.18);
	border-radius: 999px;
	background: #fff;
	color: var(--tss-black);
	font-size: 16px;
	line-height: 1;
}

.tss-region-card__coverage[open] summary::after {
	content: "-";
}

.tss-region-card__coverage p {
	margin: 0;
	padding: 0 12px 10px;
	color: var(--tss-ink-soft);
	font-size: 13px;
	line-height: 1.36;
}

.tss-region-card__coverage ul {
	display: grid;
	max-height: 220px;
	gap: 6px;
	margin: 0;
	padding: 0 12px 12px;
	list-style: none;
	overflow: auto;
}

.tss-region-card__coverage li {
	border: 1px solid rgba(16, 16, 16, 0.1);
	border-radius: 999px;
	padding: 5px 8px;
	background: rgba(255, 255, 255, 0.86);
	color: var(--tss-ink-soft);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
}

.tss-regions-directory__groups {
	display: grid;
	gap: 12px;
}

.tss-regions-directory-group {
	border: 2px solid rgba(16, 16, 16, 0.18);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.9);
	overflow: hidden;
}

.tss-regions-directory-group[open] {
	border-color: var(--tss-black);
	box-shadow: 4px 4px 0 rgba(16, 16, 16, 0.9);
}

.tss-regions-directory-group summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 14px;
	align-items: center;
	min-height: 72px;
	padding: 14px 16px;
	color: var(--tss-black);
	cursor: pointer;
	list-style: none;
}

.tss-regions-directory-group summary::-webkit-details-marker {
	display: none;
}

.tss-regions-directory-group summary::after {
	content: "+";
	display: inline-grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 18px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 var(--tss-black);
}

.tss-regions-directory-group[open] summary::after {
	content: "-";
}

.tss-regions-directory-group summary span {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.tss-regions-directory-group summary strong {
	color: var(--tss-black);
	font-size: 18px;
	font-weight: 950;
	line-height: 1.1;
}

.tss-regions-directory-group summary small {
	color: var(--tss-ink-soft);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.3;
}

.tss-regions-directory-group summary b {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid rgba(16, 16, 16, 0.14);
	border-radius: 999px;
	padding: 5px 10px;
	background: #fff9e8;
	color: var(--tss-ink-soft);
	font-size: 13px;
	font-weight: 900;
	white-space: nowrap;
}

.tss-regions-directory-group__rows {
	display: grid;
	border-top: 1px solid rgba(16, 16, 16, 0.14);
	background: rgba(255, 253, 244, 0.64);
}

.tss-regions-directory-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(190px, 1.1fr) minmax(0, 1.7fr) auto;
	gap: 14px;
	align-items: center;
	padding: 13px 16px;
	color: var(--tss-black);
	text-decoration: none;
}

.tss-regions-directory-row + .tss-regions-directory-row {
	border-top: 1px solid rgba(16, 16, 16, 0.1);
}

.tss-regions-directory-row:hover,
.tss-regions-directory-row:focus {
	background: rgba(255, 214, 51, 0.18);
	outline: 0;
}

.tss-regions-directory-row:hover::before,
.tss-regions-directory-row:focus::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 0;
	width: 5px;
	border-radius: 0 999px 999px 0;
	background: var(--tss-yellow);
}

.tss-regions-directory-row:focus-visible {
	box-shadow: inset 0 0 0 3px var(--tss-teal);
}

.tss-regions-directory-row__main {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

.tss-regions-directory-row__main strong {
	color: var(--tss-black);
	font-size: 16px;
	font-weight: 950;
	line-height: 1.15;
}

.tss-regions-directory-row__main em {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	border: 1px solid rgba(16, 16, 16, 0.14);
	border-radius: 999px;
	padding: 4px 8px;
	background: var(--tss-regions-sage);
	color: var(--tss-black);
	font-size: 11px;
	font-style: normal;
	font-weight: 900;
	line-height: 1;
}

.tss-regions-directory-row__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.tss-regions-directory-row__meta span {
	display: inline-flex;
	align-items: center;
	min-height: 26px;
	border: 1px solid rgba(16, 16, 16, 0.12);
	border-radius: 999px;
	padding: 4px 8px;
	background: rgba(255, 255, 255, 0.86);
	color: var(--tss-ink-soft);
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	white-space: nowrap;
}

.tss-regions-directory-row__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	border: 2px solid var(--tss-black);
	border-radius: 6px;
	padding: 6px 10px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 var(--tss-black);
	white-space: nowrap;
}

.tss-regions-check-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 18px;
	align-items: stretch;
}

.tss-regions-check-panel {
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 24px;
	background: linear-gradient(135deg, rgba(255, 214, 51, 0.24), rgba(223, 244, 242, 0.82));
	box-shadow: 5px 5px 0 var(--tss-black);
}

.tss-regions-check-panel h2,
.tss-regions-check-panel p {
	margin-top: 0;
}

.tss-regions-check-panel p:last-child {
	margin-bottom: 0;
}

.tss-regions-page .tss-info-list strong {
	color: var(--tss-black);
}

.tss-regions-trips {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.tss-regions-trip {
	border: 1px solid rgba(16, 16, 16, 0.14);
	border-radius: 8px;
	padding: 18px;
	background: rgba(255, 255, 255, 0.82);
}

.tss-regions-trip h3 {
	margin: 0 0 8px;
	color: var(--tss-black);
	font-size: 18px;
	line-height: 1.12;
	font-weight: 900;
	letter-spacing: 0;
}

.tss-regions-trip p {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
}

.tss-regions-final {
	margin-top: 0;
}

@media (max-width: 980px) {
	.tss-regions-page .tss-info-hero {
		padding-top: clamp(32px, 5vw, 44px);
		padding-bottom: clamp(28px, 5vw, 42px);
	}

	.tss-regions-hero__inner,
	.tss-regions-check-grid {
		grid-template-columns: 1fr;
	}

	.tss-regions-hero__inner {
		gap: 24px;
	}

	.tss-regions-route-card {
		width: min(100%, 560px);
		margin: 0 auto;
	}

	.tss-regions-choice-strip {
		grid-template-columns: 1fr;
	}

	.tss-regions-choice-strip::before {
		display: none;
	}

	.tss-regions-plan-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tss-regions-trips {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.tss-regions-hero--ticket-hall.tss-info-hero {
	--tss-regions-promenade-height: clamp(118px, 14svh, 150px);
	min-height: clamp(620px, calc(100svh - 118px), 780px);
	padding-top: clamp(28px, 4svh, 46px);
	padding-bottom: calc(var(--tss-regions-promenade-height) + clamp(22px, 4svh, 42px));
	background:
		radial-gradient(560px 180px at 11% 19%, rgba(223, 232, 212, 0.62) 0 62%, transparent 64%),
		radial-gradient(620px 210px at 86% 14%, rgba(255, 214, 51, 0.28) 0 62%, transparent 64%),
		linear-gradient(90deg, rgba(16, 16, 16, 0.055) 0 1px, transparent 1px 100%) 50% 100% / 88px 46px no-repeat,
		linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 247, 223, 0.96)),
		var(--tss-cream);
}

.tss-regions-hero--ticket-hall::after {
	content: "";
	position: absolute;
	right: max(26px, calc((100vw - 1180px) / 2 + 10px));
	bottom: calc(var(--tss-regions-promenade-height) + 28px);
	width: clamp(150px, 19vw, 250px);
	height: clamp(54px, 7vw, 82px);
	border-top: 3px dashed rgba(16, 16, 16, 0.18);
	border-bottom: 3px solid rgba(0, 124, 120, 0.2);
	border-radius: 999px;
	transform: rotate(-8deg);
	pointer-events: none;
}

.tss-regions-hero--ticket-hall .tss-regions-hero__inner {
	grid-template-columns: minmax(280px, 0.74fr) minmax(520px, 1.08fr);
	gap: clamp(28px, 4.2vw, 58px);
	align-items: center;
}

.tss-regions-hero--ticket-hall .tss-regions-hero__copy {
	align-self: center;
	padding-bottom: clamp(8px, 3svh, 28px);
}

.tss-regions-hero--ticket-hall .tss-info-hero h1 {
	max-width: 620px;
	font-size: clamp(42px, 5vw, 66px);
}

.tss-regions-ticket-hall {
	position: relative;
	isolation: isolate;
	align-self: end;
	min-width: 0;
	padding-top: 30px;
}

.tss-regions-ticket-hall::before,
.tss-regions-ticket-hall::after {
	content: "";
	position: absolute;
	bottom: -44px;
	width: 18px;
	height: 56px;
	border: 2px solid var(--tss-black);
	border-radius: 8px 8px 0 0;
	background: #fff7df;
	box-shadow: 4px 0 0 rgba(16, 16, 16, 0.16);
	z-index: -1;
}

.tss-regions-ticket-hall::before {
	left: 15%;
}

.tss-regions-ticket-hall::after {
	right: 16%;
}

.tss-regions-ticket-hall__roof {
	position: absolute;
	top: 0;
	left: 50%;
	display: grid;
	grid-template-columns: 32px auto 32px;
	gap: 8px;
	align-items: center;
	width: min(92%, 470px);
	transform: translateX(-50%);
	z-index: 4;
}

.tss-regions-ticket-hall__roof span {
	height: 4px;
	border: 1px solid rgba(16, 16, 16, 0.4);
	border-radius: 999px;
	background: rgba(16, 16, 16, 0.08);
}

.tss-regions-ticket-hall__roof strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 0 14px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: clamp(12px, 1.2vw, 14px);
	font-weight: 950;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	box-shadow: 4px 4px 0 var(--tss-black);
}

.tss-regions-ticket-hall__body {
	position: relative;
	display: grid;
	gap: 14px;
	border: 3px solid var(--tss-black);
	border-radius: 10px;
	padding: clamp(18px, 2.4vw, 26px);
	background:
		linear-gradient(180deg, rgba(255, 214, 51, 0.18), transparent 34%),
		repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.055) 0 1px, transparent 1px 42px),
		#fffdf4;
	box-shadow: 10px 10px 0 var(--tss-yellow), 15px 15px 0 var(--tss-black);
	overflow: hidden;
}

.tss-regions-ticket-hall__body::before {
	content: "";
	position: absolute;
	inset: auto 18px 18px auto;
	width: 112px;
	height: 112px;
	border: 2px dashed rgba(0, 124, 120, 0.24);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(223, 244, 242, 0.48) 0 42%, transparent 44%);
	pointer-events: none;
}

.tss-regions-ticket-hall__mast {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(94px, 118px) minmax(0, 1fr);
	gap: clamp(12px, 2vw, 18px);
	align-items: center;
}

.tss-regions-ticket-hall__logo {
	display: block;
	width: 100%;
	max-width: 120px;
	filter: drop-shadow(4px 6px 0 rgba(16, 16, 16, 0.12));
}

.tss-regions-ticket-hall h2 {
	margin: 0 0 6px;
	color: var(--tss-black);
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 950;
	line-height: 0.98;
	letter-spacing: 0;
	text-wrap: balance;
}

.tss-regions-ticket-hall p {
	max-width: 620px;
	margin: 0;
	color: var(--tss-ink-soft);
	font-size: clamp(14px, 1.25vw, 16px);
	font-weight: 700;
	line-height: 1.42;
}

.tss-regions-ticket-hall__search {
	position: relative;
	z-index: 1;
	grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) !important;
	align-items: stretch;
	gap: 10px !important;
	margin-top: 2px !important;
	border: 2px solid rgba(16, 16, 16, 0.22) !important;
	border-radius: 8px !important;
	padding: 8px !important;
	background: rgba(255, 255, 255, 0.78) !important;
}

.tss-regions-ticket-hall__search input[type="search"],
.tss-regions-ticket-hall__search button {
	min-height: 48px !important;
}

.tss-regions-ticket-board {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 8px;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 10px;
	background:
		linear-gradient(180deg, rgba(10, 38, 35, 0.96), rgba(12, 47, 43, 0.94)),
		#102320;
	color: #ffffff;
	box-shadow: inset 0 0 0 2px rgba(255, 214, 51, 0.14);
}

.tss-regions-ticket-board__head,
.tss-regions-ticket-row {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr) 94px;
	gap: 10px;
	align-items: center;
}

.tss-regions-ticket-board__head {
	padding: 2px 8px 6px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-ticket-board__head small {
	justify-self: end;
	color: rgba(255, 214, 51, 0.88);
	font-size: 10px;
	font-weight: 900;
	text-align: right;
	text-transform: uppercase;
}

.tss-regions-ticket-row {
	min-height: 56px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 7px;
	padding: 8px;
	background: rgba(255, 253, 244, 0.08);
	color: #ffffff;
	text-decoration: none;
	transition: background-color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.tss-regions-ticket-row:hover,
.tss-regions-ticket-row:focus {
	border-color: rgba(255, 214, 51, 0.72);
	background: rgba(255, 214, 51, 0.16);
	color: #ffffff;
	outline: 0;
	transform: translateY(-1px);
}

.tss-regions-ticket-row:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 214, 51, 0.36);
}

.tss-regions-ticket-row__code {
	display: inline-grid;
	place-items: center;
	width: 44px;
	min-height: 34px;
	border: 2px solid var(--tss-yellow);
	border-radius: 6px;
	color: var(--tss-yellow);
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
}

.tss-regions-ticket-row__main {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.tss-regions-ticket-row__main strong {
	overflow: hidden;
	color: #ffffff;
	font-size: clamp(14px, 1.3vw, 17px);
	font-weight: 950;
	line-height: 1.08;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tss-regions-ticket-row__main small {
	overflow: hidden;
	color: rgba(255, 255, 255, 0.76);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.2;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tss-regions-ticket-row__status {
	justify-self: end;
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border: 1px solid rgba(255, 214, 51, 0.78);
	border-radius: 999px;
	padding: 0 10px;
	color: var(--tss-yellow);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-ticket-hall__windows {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
}

.tss-regions-ticket-hall__windows span {
	display: inline-grid;
	min-height: 34px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 7px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.14);
}

.tss-regions-ticket-hall__windows span:nth-child(1),
.tss-regions-ticket-hall__windows span:nth-child(4) {
	background: var(--tss-yellow);
}

.tss-regions-ticket-hall__windows span:nth-child(2) {
	background: #dff4f2;
}

.tss-regions-ticket-hall__windows span:nth-child(3) {
	background: #dfe8d4;
}

.tss-regions-ticket-hall__tray {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 3px;
	border: 2px solid var(--tss-black);
	border-radius: 8px;
	padding: 10px 12px;
	background: rgba(255, 214, 51, 0.28);
}

.tss-regions-ticket-hall__tray span {
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-ticket-hall__tray strong {
	color: var(--tss-black);
	font-size: clamp(13px, 1.2vw, 15px);
	font-weight: 900;
	line-height: 1.2;
}

.tss-regions-hero-promenade--full.tss-hero-park {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	max-width: none;
	height: var(--tss-regions-promenade-height);
	margin: 0;
	overflow: hidden;
	--tss-park-character-scale: 0.52;
}

.tss-regions-hero-promenade--full .tss-hero-park__stage {
	width: min(100%, 1280px);
	margin: 0 auto;
}

.tss-regions-hero-promenade--full .tss-regions-hero-promenade__line {
	right: 16%;
	bottom: 43px;
	left: 10%;
	height: 24px;
	transform: rotate(-1deg);
}

.tss-regions-hero-promenade--full .tss-regions-hero-promenade__sign--country {
	left: 12%;
}

.tss-regions-hero-promenade--full .tss-regions-hero-promenade__sign--region {
	right: 18%;
}

.tss-regions-hero-promenade--full .tss-regions-hero-promenade__traveller--one {
	left: 36%;
}

.tss-regions-hero-promenade--full .tss-regions-hero-promenade__traveller--two {
	right: 35%;
}

.tss-regions-hero-promenade__bubble {
	position: absolute;
	display: inline-flex;
	align-items: center;
	max-width: 170px;
	min-height: 32px;
	border: 2px solid var(--tss-black);
	border-radius: 12px 12px 12px 3px;
	padding: 6px 9px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 850;
	line-height: 1.14;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.16);
	z-index: 8;
}

.tss-regions-hero-promenade__bubble--one {
	left: 39%;
	bottom: 76px;
}

.tss-regions-hero-promenade__bubble--two {
	right: 28%;
	bottom: 77px;
	background: #fff7cf;
}

@media (max-width: 980px) {
	.tss-regions-hero--ticket-hall.tss-info-hero {
		min-height: auto;
		padding-bottom: calc(var(--tss-regions-promenade-height) + 26px);
	}

	.tss-regions-hero--ticket-hall .tss-regions-hero__inner {
		grid-template-columns: 1fr;
		gap: clamp(22px, 4vw, 34px);
	}

	.tss-regions-hero--ticket-hall .tss-regions-hero__copy {
		max-width: 760px;
		margin: 0 auto;
		padding-bottom: 0;
		text-align: center;
	}

	.tss-regions-hero--ticket-hall .tss-info-hero .tss-info-actions,
	.tss-regions-hero--ticket-hall .tss-regions-best-for {
		justify-content: center;
		margin-right: auto;
		margin-left: auto;
	}

	.tss-regions-ticket-hall {
		width: min(100%, 720px);
		margin: 0 auto;
	}
}

@media (max-width: 640px) {
	.tss-regions-hero--ticket-hall.tss-info-hero {
		--tss-regions-promenade-height: 108px;
		padding-top: 24px;
		padding-bottom: calc(var(--tss-regions-promenade-height) + 20px);
	}

	.tss-regions-hero--ticket-hall .tss-info-hero h1 {
		font-size: clamp(38px, 11vw, 54px);
	}

	.tss-regions-ticket-hall {
		padding-top: 26px;
	}

	.tss-regions-ticket-hall::before,
	.tss-regions-ticket-hall::after {
		bottom: -34px;
		height: 42px;
	}

	.tss-regions-ticket-hall__roof {
		grid-template-columns: 18px minmax(0, 1fr) 18px;
		width: 94%;
	}

	.tss-regions-ticket-hall__roof strong {
		min-height: 34px;
		padding: 0 10px;
		font-size: 11px;
	}

	.tss-regions-ticket-hall__body {
		padding: 16px;
		box-shadow: 6px 6px 0 var(--tss-yellow), 10px 10px 0 var(--tss-black);
	}

	.tss-regions-ticket-hall__mast {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 12px;
	}

	.tss-regions-ticket-hall h2 {
		font-size: clamp(24px, 8vw, 32px);
	}

	.tss-regions-ticket-hall p {
		font-size: 13px;
	}

	.tss-regions-ticket-hall__search {
		grid-template-columns: 1fr !important;
	}

	.tss-regions-ticket-board__head,
	.tss-regions-ticket-row {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	.tss-regions-ticket-board__head small,
	.tss-regions-ticket-row__status {
		display: none;
	}

	.tss-regions-ticket-row__code {
		width: 36px;
		min-height: 32px;
	}

	.tss-regions-ticket-row__main strong,
	.tss-regions-ticket-row__main small {
		white-space: normal;
	}

	.tss-regions-ticket-hall__windows {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tss-regions-hero-promenade__bubble,
	.tss-regions-hero-promenade--full .tss-regions-hero-promenade__sign--country {
		display: none;
	}

	.tss-regions-hero-promenade--full .tss-regions-hero-promenade__sign--region {
		right: 9%;
	}

	.tss-regions-hero-promenade--full .tss-regions-hero-promenade__line {
		right: 10%;
		left: 8%;
	}
}

@media (min-width: 981px) and (max-height: 820px) {
	.tss-regions-page .tss-info-hero {
		padding-top: 32px;
		padding-bottom: 30px;
	}

	.tss-regions-page .tss-info-hero h1 {
		font-size: clamp(40px, 4.7vw, 60px);
	}

	.tss-regions-page .tss-info-hero .tss-info-actions {
		margin-top: 20px;
	}

	.tss-regions-route-card {
		padding: 16px 18px;
	}

	.tss-regions-route-card__logo {
		width: min(112px, 54%);
		margin-bottom: 10px;
	}

	.tss-regions-route-card__title {
		margin-bottom: 10px;
		font-size: 24px;
	}

	.tss-regions-route-card__meta {
		font-size: 13px;
	}

	.tss-regions-route li {
		min-height: 40px;
		padding: 7px 10px;
	}
}

@media (max-width: 640px) {
	.tss-regions-page {
		left: 0;
		width: auto;
		max-width: 100%;
		margin-left: 0;
	}

	.tss-regions-page .tss-info-hero {
		padding: 36px 16px 30px;
		text-align: center;
	}

	.tss-regions-page .tss-info-section {
		padding: 34px 16px;
	}

	.tss-regions-page .tss-info-hero__inner,
	.tss-regions-page .tss-info-section__inner {
		width: min(100%, 380px);
		max-width: calc(100vw - 40px);
		margin-right: auto;
		margin-left: auto;
	}

	.tss-regions-page .tss-info-hero p,
	.tss-regions-page .tss-info-section p,
	.tss-regions-page .tss-info-panel p,
	.tss-regions-page .tss-info-list li {
		max-width: 100%;
		font-size: 15px;
		line-height: 1.46;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.tss-regions-page .tss-info-hero::before {
		display: none;
	}

	.tss-regions-page .tss-info-hero h1 {
		max-width: 100%;
		margin-right: auto;
		margin-bottom: 14px;
		margin-left: auto;
		font-size: clamp(32px, 9.2vw, 38px);
		line-height: 0.98;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.tss-regions-hero-promenade.tss-hero-park {
		width: min(100%, 340px);
		height: 84px;
		margin-right: auto;
		margin-left: auto;
	}

	.tss-regions-hero-promenade .tss-hero-park__tree--right,
	.tss-regions-hero-promenade .tss-hero-park__pine--three,
	.tss-regions-hero-promenade .tss-hero-park__shrub--three {
		display: none;
	}

	.tss-regions-hero-promenade .tss-hero-park__horizon {
		bottom: 35px;
		height: 42px;
	}

	.tss-regions-hero-promenade .tss-hero-park__path {
		bottom: 12px;
		height: 26px;
	}

	.tss-regions-hero-promenade .tss-hero-park__tree {
		bottom: 7px;
		--tss-park-tree-scale: 0.38;
	}

	.tss-regions-hero-promenade .tss-hero-park__pine {
		bottom: 14px;
		--tss-park-pine-scale: 0.42;
	}

	.tss-regions-hero-promenade__sign {
		min-height: 26px;
		padding: 0 8px;
		font-size: 9px;
	}

	.tss-regions-hero-promenade__sign--country {
		left: 4%;
	}

	.tss-regions-hero-promenade__sign--region {
		right: 2%;
	}

	.tss-regions-hero-promenade__traveller,
	.tss-regions-hero-promenade__tag--three {
		display: none;
	}

	.tss-regions-hero-promenade__tag--one {
		left: 42%;
		bottom: 44px;
	}

	.tss-regions-hero-promenade__tag--two {
		right: 31%;
		bottom: 35px;
	}

	.tss-regions-page .tss-info-hero p {
		margin-right: auto;
		margin-left: auto;
	}

	.tss-regions-section-heading {
		margin-right: auto;
		margin-left: auto;
		text-align: center;
	}

	.tss-regions-section-heading h2 {
		max-width: 100%;
		font-size: clamp(28px, 8.6vw, 34px);
		line-height: 1.04;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.tss-regions-route-card {
		width: 100%;
		max-width: 100%;
		min-height: 0;
		padding: 14px;
		box-shadow: 5px 5px 0 var(--tss-yellow), 8px 8px 0 var(--tss-black);
	}

	.tss-regions-route-card::before,
	.tss-regions-route-card::after {
		display: none;
	}

	.tss-regions-route-card__title {
		margin-bottom: 8px;
		font-size: 20px;
		line-height: 1.05;
	}

	.tss-regions-route-card__logo {
		display: none;
	}

	.tss-regions-route-card__meta {
		font-size: 13px;
		line-height: 1.32;
	}

	.tss-regions-route-examples {
		gap: 7px;
		margin-top: 12px;
		padding: 9px;
		text-align: left;
	}

	.tss-regions-route-example {
		padding: 9px 9px 9px 32px;
	}

	.tss-regions-route {
		gap: 6px;
		margin: 8px 0 0;
	}

	.tss-regions-route-card .tss-regions-route {
		display: none;
	}

	.tss-regions-route li {
		min-height: 40px;
		padding: 7px 9px;
	}

	.tss-regions-route li small {
		font-size: 12px;
	}

	.tss-regions-trips {
		grid-template-columns: 1fr;
	}

	.tss-regions-plan-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.tss-region-card {
		min-height: 0;
		padding: 20px;
	}

	.tss-region-card h3 {
		font-size: 25px;
		line-height: 1.02;
	}

	.tss-region-card__meta {
		margin: 14px 0;
	}

	.tss-region-card .tss-info-actions {
		padding-top: 16px;
	}

	.tss-regions-choice {
		padding: 48px 16px 16px;
		text-align: left;
	}

	.tss-regions-choice__link {
		align-self: flex-start;
	}

	.tss-regions-check-grid {
		gap: 14px;
	}

	.tss-regions-directory-group summary {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		padding: 13px 14px;
		text-align: left;
	}

	.tss-regions-directory-group summary b {
		display: none;
	}

	.tss-regions-directory-row {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 14px;
		text-align: left;
	}

	.tss-regions-directory-row__action {
		justify-self: start;
	}

	.tss-regions-page .tss-info-actions {
		align-items: center;
		flex-direction: column;
	}

	.tss-regions-page .tss-info-hero .tss-info-actions {
		gap: 10px;
		margin-top: 20px;
	}

	.tss-regions-best-for {
		display: none;
	}

	.tss-regions-page .tss-info-actions .tss-button,
	.tss-regions-page .tss-info-actions .tss-plain-link {
		display: inline-flex;
		width: auto;
		max-width: min(100%, 320px);
		justify-content: center;
		padding-right: 20px;
		padding-left: 20px;
		text-align: center;
	}

	.tss-regions-page .tss-info-hero .tss-info-actions .tss-plain-link {
		min-height: 44px;
		border: 1px solid rgba(16, 16, 16, 0.18);
		border-radius: 6px;
		background: rgba(255, 255, 255, 0.5);
		text-decoration-thickness: 2px;
	}
}

@media (max-width: 640px) and (max-height: 760px) {
	.tss-regions-page .tss-info-hero {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.tss-regions-route-card {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	html:has(.tss-regions-page) {
		scroll-behavior: auto;
	}
}

/* Final Border-Hopper Ticket Hall composition. */
.tss-regions-hero--ticket-hall.tss-info-hero {
	--tss-regions-promenade-height: clamp(104px, 12svh, 132px);
	display: flex;
	align-items: center;
	width: 100vw;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: clamp(26px, 3.4svh, 40px) 20px calc(var(--tss-regions-promenade-height) + clamp(16px, 2.4svh, 26px));
	border-bottom: 2px solid var(--tss-black);
}

.tss-regions-hero--ticket-hall .tss-regions-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: min(1180px, calc(100vw - clamp(32px, 5vw, 80px)));
	gap: 0;
	align-items: center;
}

.tss-regions-hero--ticket-hall .tss-regions-ticket-hall {
	width: min(100%, 1120px);
	margin: 0 auto;
	padding-top: clamp(28px, 3svh, 34px);
}

.tss-regions-hero--ticket-hall .tss-regions-ticket-hall__body {
	gap: clamp(12px, 1.4vw, 16px);
	padding: clamp(18px, 2.1vw, 26px);
}

.tss-regions-ticket-hall__header {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
	gap: clamp(18px, 3vw, 36px);
	align-items: center;
}

.tss-regions-ticket-hall__headline {
	display: grid;
	gap: 12px;
	min-width: 0;
}

.tss-regions-ticket-hall__headline .tss-info-kicker {
	justify-self: start;
}

.tss-regions-ticket-hall__headline h1 {
	max-width: 620px;
	margin: 0;
	color: var(--tss-black);
	font-size: clamp(40px, 4.7vw, 62px);
	font-weight: 950;
	line-height: 0.95;
	letter-spacing: 0;
	text-wrap: balance;
}

.tss-regions-ticket-hall__headline p {
	max-width: 560px;
	color: var(--tss-ink-soft);
	font-size: clamp(15px, 1.35vw, 18px);
	font-weight: 650;
	line-height: 1.42;
}

.tss-regions-ticket-hall__headline .tss-info-actions {
	margin-top: 4px;
}

.tss-regions-ticket-hall__headline .tss-regions-best-for {
	margin-top: 2px;
}

.tss-regions-ticket-hall__mast {
	align-self: center;
	align-content: start;
	grid-template-columns: minmax(78px, 104px) minmax(0, 1fr);
	border: 2px solid rgba(16, 16, 16, 0.16);
	border-radius: 10px;
	padding: clamp(14px, 1.6vw, 20px);
	background:
		radial-gradient(120px 58px at 12% 50%, rgba(255, 214, 51, 0.22) 0 62%, transparent 64%),
		linear-gradient(135deg, rgba(223, 244, 242, 0.58), rgba(255, 253, 244, 0.9));
}

.tss-regions-ticket-hall__mast .tss-regions-ticket-hall__logo {
	max-width: 108px;
}

.tss-regions-ticket-hall__search,
.tss-regions-ticket-board,
.tss-regions-ticket-hall__windows,
.tss-regions-ticket-hall__tray {
	position: relative;
	z-index: 2;
}

.tss-regions-ticket-hall__search {
	max-width: none;
	grid-column: 1 / -1;
}

.tss-regions-ticket-board {
	grid-template-columns: 1fr;
	grid-column: 1 / -1;
}

@media (max-width: 980px) {
	.tss-regions-ticket-hall__header {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.tss-regions-ticket-hall__headline {
		justify-items: center;
	}

	.tss-regions-ticket-hall__headline .tss-info-kicker,
	.tss-regions-ticket-hall__headline .tss-info-actions,
	.tss-regions-ticket-hall__headline .tss-regions-best-for {
		justify-content: center;
	}

	.tss-regions-ticket-hall__headline h1,
	.tss-regions-ticket-hall__headline p {
		max-width: 720px;
	}
}

@media (max-width: 640px) {
	.tss-regions-hero--ticket-hall.tss-info-hero {
		--tss-regions-promenade-height: 102px;
		padding-top: 22px;
	}

	.tss-regions-hero--ticket-hall .tss-regions-hero__inner {
		max-width: calc(100vw - 30px);
	}

	.tss-regions-ticket-hall__headline h1 {
		font-size: clamp(34px, 10vw, 46px);
	}

	.tss-regions-ticket-hall__mast {
		grid-template-columns: 74px minmax(0, 1fr);
		text-align: left;
	}

	.tss-regions-ticket-hall__headline .tss-regions-best-for {
		display: none;
	}
}

/* Final Route Ribbon Promenade composition. */
.tss-regions-hero--route-ribbon.tss-info-hero {
	--tss-regions-header-offset: clamp(164px, 17svh, 174px);
	--tss-regions-promenade-height: clamp(134px, 16svh, 176px);
	position: relative;
	display: flex;
	width: 100vw;
	height: min(920px, calc(100svh - var(--tss-regions-header-offset) - 4px));
	min-height: min(680px, calc(100svh - var(--tss-regions-header-offset) - 4px));
	align-items: center;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	padding: clamp(24px, 3.4svh, 42px) 20px calc(var(--tss-regions-promenade-height) + clamp(14px, 2svh, 28px));
	border-bottom: 2px solid var(--tss-black);
	background:
		radial-gradient(680px 240px at 72% 25%, rgba(223, 244, 242, 0.68), transparent 70%),
		radial-gradient(520px 190px at 10% 31%, rgba(255, 214, 51, 0.18), transparent 72%),
		radial-gradient(740px 190px at 50% 101%, rgba(199, 220, 180, 0.42), transparent 72%),
		linear-gradient(180deg, rgba(255, 253, 244, 0.99) 0 58%, rgba(239, 245, 232, 0.92) 100%),
		repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.034) 0 1px, transparent 1px 96px),
		var(--tss-cream);
}

.tss-regions-hero--route-ribbon::before {
	content: "";
	position: absolute;
	right: max(22px, calc((100vw - 1380px) / 2 + 14px));
	top: clamp(18px, 4svh, 42px);
	width: clamp(220px, 25vw, 390px);
	height: clamp(82px, 10vw, 142px);
	border: 3px dashed rgba(16, 16, 16, 0.12);
	border-radius: 999px;
	transform: rotate(-7deg);
	pointer-events: none;
}

.tss-regions-hero--route-ribbon::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: calc(var(--tss-regions-promenade-height) - 22px);
	left: 0;
	height: 62px;
	background:
		radial-gradient(130px 36px at 11% 60%, rgba(255, 214, 51, 0.22) 0 62%, transparent 64%),
		radial-gradient(190px 46px at 82% 42%, rgba(0, 124, 120, 0.12) 0 62%, transparent 64%),
		linear-gradient(90deg, transparent 0 10%, rgba(255, 214, 51, 0.55) 10% 23%, transparent 23% 26%, rgba(16, 16, 16, 0.42) 26% 27%, transparent 27% 100%);
	opacity: 0.32;
	pointer-events: none;
}

.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
	position: relative;
	z-index: 4;
	display: grid;
	grid-template-columns: minmax(360px, 0.68fr) minmax(680px, 1.32fr);
	gap: clamp(28px, 4vw, 72px);
	align-items: center;
	width: 100%;
	max-width: min(1780px, calc(100vw - clamp(36px, 5vw, 96px)));
	margin-right: auto;
	margin-left: auto;
	transform: translateY(clamp(2px, 0.9svh, 10px));
}

.tss-regions-route-ribbon__intro {
	display: grid;
	gap: clamp(12px, 1.8svh, 18px);
	align-content: center;
	min-width: 0;
}

.tss-regions-route-ribbon__intro .tss-info-kicker {
	justify-self: start;
}

.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
	max-width: 680px;
	margin: 0;
	color: var(--tss-black);
	font-size: clamp(44px, 4.95vw, 70px);
	font-weight: 950;
	line-height: 0.94;
	letter-spacing: 0;
	text-wrap: balance;
}

.tss-regions-route-ribbon__intro p {
	max-width: 570px;
	margin: 0;
	color: var(--tss-ink-soft);
	font-size: clamp(15px, 1.25vw, 18px);
	font-weight: 700;
	line-height: 1.42;
}

.tss-regions-route-ribbon__steps {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	max-width: 590px;
	margin-top: 2px;
}

.tss-regions-route-ribbon__steps span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 37px;
	border: 2px solid rgba(16, 16, 16, 0.88);
	border-radius: 999px;
	padding: 0 12px 0 7px;
	background: rgba(255, 253, 244, 0.88);
	color: var(--tss-black);
	font-size: clamp(12px, 1vw, 13px);
	font-weight: 950;
	line-height: 1;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.14);
	white-space: nowrap;
}

.tss-regions-route-ribbon__steps b {
	display: inline-grid;
	width: 23px;
	height: 23px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 50%;
	background: var(--tss-yellow);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
}

.tss-regions-route-board {
	position: relative;
	display: grid;
	gap: clamp(12px, 1.45svh, 17px);
	justify-self: stretch;
	width: min(100%, 910px);
	min-width: 0;
	border: 3px solid var(--tss-black);
	border-radius: 10px;
	padding: clamp(18px, 2.2vw, 28px);
	background:
		radial-gradient(230px 90px at 10% 18%, rgba(255, 214, 51, 0.22) 0 62%, transparent 64%),
		radial-gradient(300px 122px at 94% 73%, rgba(223, 244, 242, 0.76) 0 62%, transparent 64%),
		linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 247, 223, 0.96)),
		repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.05) 0 1px, transparent 1px 46px);
	box-shadow: 9px 9px 0 var(--tss-yellow), 15px 15px 0 var(--tss-black);
	transform: translateX(clamp(-8px, -0.6vw, -3px));
	overflow: hidden;
}

.tss-regions-route-board::before {
	content: "";
	position: absolute;
	right: -9%;
	bottom: 92px;
	left: 6%;
	height: 62px;
	border-top: 10px solid rgba(255, 214, 51, 0.52);
	border-bottom: 3px dashed rgba(16, 16, 16, 0.18);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	transform: rotate(-1.3deg);
	pointer-events: none;
}

.tss-regions-route-board::after {
	content: "";
	position: absolute;
	top: 18px;
	right: 20px;
	width: 112px;
	height: 36px;
	border: 2px dashed rgba(0, 124, 120, 0.24);
	border-radius: 999px;
	background:
		radial-gradient(circle at 18px 50%, rgba(0, 124, 120, 0.18) 0 5px, transparent 6px),
		radial-gradient(circle at 50% 50%, rgba(255, 214, 51, 0.26) 0 5px, transparent 6px),
		radial-gradient(circle at calc(100% - 18px) 50%, rgba(0, 124, 120, 0.18) 0 5px, transparent 6px),
		rgba(255, 255, 255, 0.36);
	opacity: 0.72;
	pointer-events: none;
}

.tss-regions-route-board > * {
	position: relative;
	z-index: 1;
}

.tss-regions-route-board__mast {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
	align-items: start;
	padding-right: clamp(0px, 10vw, 120px);
}

.tss-regions-route-board__mast span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 30px;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	padding: 0 10px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 11px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 2px 2px 0 var(--tss-black);
}

.tss-regions-route-board__mast strong {
	color: var(--tss-black);
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 950;
	line-height: 0.98;
	letter-spacing: 0;
	max-width: 700px;
	text-wrap: balance;
}

.tss-regions-route-board__mast small {
	max-width: 660px;
	color: var(--tss-ink-soft);
	font-size: clamp(13px, 1.2vw, 15px);
	font-weight: 750;
	line-height: 1.36;
}

.tss-regions-route-board__search.tss-search--regions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 230px);
	gap: 12px;
	margin: 0;
	border: 2px solid rgba(16, 16, 16, 0.28);
	border-radius: 10px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 4px 4px 0 rgba(16, 16, 16, 0.13);
}

.tss-regions-route-board__search.tss-search--regions input[type="search"],
.tss-regions-route-board__search.tss-search--regions button {
	min-height: 52px;
}

.tss-regions-route-board__assist {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: center;
	justify-content: space-between;
	border: 2px solid rgba(16, 16, 16, 0.16);
	border-radius: 8px;
	padding: 12px 14px;
	background: rgba(223, 244, 242, 0.58);
	color: var(--tss-black);
	font-size: clamp(12px, 1vw, 13px);
	font-weight: 850;
	line-height: 1.35;
}

.tss-regions-route-board__assist span {
	min-width: min(100%, 330px);
}

.tss-regions-route-board__assist a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	border-bottom: 3px solid var(--tss-yellow);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
	text-decoration: none;
}

.tss-regions-route-board__assist a:hover,
.tss-regions-route-board__assist a:focus-visible {
	border-bottom-color: var(--tss-black);
	outline: 0;
}

.tss-regions-route-lineup {
	display: grid;
	grid-template-columns: auto minmax(26px, 1fr) auto minmax(26px, 1fr) auto;
	gap: 10px;
	align-items: center;
	border: 2px solid rgba(16, 16, 16, 0.12);
	border-radius: 999px;
	padding: 9px;
	background: rgba(255, 253, 244, 0.74);
}

.tss-regions-route-lineup__stop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	border: 2px solid var(--tss-black);
	border-radius: 999px;
	padding: 0 14px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.2);
	white-space: nowrap;
}

.tss-regions-route-lineup__stop--pass {
	background: var(--tss-yellow);
	box-shadow: 2px 2px 0 var(--tss-black);
}

.tss-regions-route-lineup__rail {
	height: 5px;
	border-radius: 999px;
	background:
		linear-gradient(90deg, rgba(255, 214, 51, 0.66), rgba(255, 214, 51, 0.66)) 0 50% / 100% 3px no-repeat,
		repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.48) 0 8px, transparent 8px 16px);
}

.tss-regions-route-board__examples {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	color: var(--tss-black);
}

.tss-regions-route-board__head {
	grid-column: 1 / -1;
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	padding: 2px 4px 0;
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-route-board__head small {
	color: rgba(16, 16, 16, 0.58);
	font-size: 10px;
	font-weight: 950;
	text-align: right;
	text-transform: uppercase;
}

.tss-regions-route-ticket {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 8px 12px;
	align-content: start;
	min-height: 108px;
	border: 2px solid rgba(16, 16, 16, 0.78);
	border-radius: 8px;
	padding: 11px;
	background:
		linear-gradient(90deg, transparent 0 calc(100% - 17px), rgba(16, 16, 16, 0.08) calc(100% - 17px) calc(100% - 15px), transparent calc(100% - 15px) 100%),
		rgba(255, 255, 255, 0.7);
	color: var(--tss-black);
	text-decoration: none;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.12);
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.tss-regions-route-ticket:hover,
.tss-regions-route-ticket:focus {
	border-color: var(--tss-black);
	background: rgba(255, 247, 207, 0.92);
	color: var(--tss-black);
	box-shadow: 4px 4px 0 var(--tss-yellow);
	outline: 0;
	transform: translateY(-1px);
}

.tss-regions-route-ticket:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 214, 51, 0.36);
}

.tss-regions-route-ticket__code {
	display: inline-grid;
	width: 38px;
	min-height: 32px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 7px;
	background: var(--tss-yellow);
	color: var(--tss-black);
	font-size: 12px;
	font-weight: 950;
	line-height: 1;
}

.tss-regions-route-ticket__main {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.tss-regions-route-ticket__main strong {
	color: var(--tss-black);
	font-size: clamp(14px, 1.25vw, 16px);
	font-weight: 950;
	line-height: 1.12;
	text-wrap: balance;
}

.tss-regions-route-ticket__main small {
	color: rgba(16, 16, 16, 0.62);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.22;
}

.tss-regions-route-ticket__status {
	grid-column: 1 / -1;
	justify-self: end;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 2px solid rgba(16, 16, 16, 0.72);
	border-radius: 999px;
	padding: 0 9px;
	background: rgba(255, 253, 244, 0.84);
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
}

.tss-regions-route-promenade {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: var(--tss-regions-promenade-height);
	overflow: visible;
	pointer-events: none;
}

.tss-regions-route-promenade__horizon,
.tss-regions-route-promenade__path,
.tss-regions-route-promenade__ribbon {
	position: absolute;
	right: 0;
	left: 0;
	pointer-events: none;
}

.tss-regions-route-promenade__horizon {
	bottom: 28px;
	height: clamp(78px, 9svh, 104px);
	background:
		radial-gradient(190px 62px at 7% 84%, rgba(208, 224, 190, 0.98) 0 64%, transparent 66%),
		radial-gradient(250px 78px at 34% 86%, rgba(225, 235, 210, 0.96) 0 64%, transparent 66%),
		radial-gradient(300px 86px at 82% 84%, rgba(199, 220, 180, 0.94) 0 64%, transparent 66%),
		linear-gradient(180deg, rgba(230, 239, 218, 0.74), rgba(208, 225, 190, 0.96));
}

.tss-regions-route-promenade__path {
	bottom: -28px;
	height: clamp(74px, 8svh, 98px);
	border-top: 3px solid rgba(16, 16, 16, 0.16);
	border-radius: 50% 50% 0 0 / 80% 80% 0 0;
	background:
		radial-gradient(88px 28px at 20% 18%, rgba(255, 214, 51, 0.26) 0 62%, transparent 64%),
		radial-gradient(88px 28px at 75% 19%, rgba(0, 124, 120, 0.13) 0 62%, transparent 64%),
		linear-gradient(180deg, rgba(255, 253, 244, 0.95), rgba(255, 245, 215, 0.98));
}

.tss-regions-route-promenade__ribbon {
	right: 6%;
	bottom: 48px;
	left: 6%;
	height: 32px;
	border-top: 6px solid rgba(255, 214, 51, 0.92);
	border-bottom: 2px dashed rgba(16, 16, 16, 0.28);
	border-radius: 50% 50% 0 0 / 100% 100% 0 0;
	transform: rotate(-1deg);
}

.tss-regions-route-promenade__tree,
.tss-regions-route-promenade__pine {
	position: absolute;
	z-index: 3;
	bottom: 34px;
}

.tss-regions-route-promenade__tree {
	width: 30px;
	height: 58px;
	border-radius: 999px 999px 12px 12px;
	background:
		radial-gradient(circle at 50% 21%, #dfe8d4 0 22px, transparent 23px),
		linear-gradient(90deg, transparent 0 12px, rgba(91, 73, 43, 0.86) 12px 18px, transparent 18px 100%);
	filter: drop-shadow(3px 4px 0 rgba(16, 16, 16, 0.12));
}

.tss-regions-route-promenade__tree--left {
	left: max(28px, calc((100vw - 1320px) / 2 + 18px));
	transform: scale(0.92);
}

.tss-regions-route-promenade__tree--right {
	right: max(36px, calc((100vw - 1320px) / 2 + 28px));
	transform: scale(0.82);
}

.tss-regions-route-promenade__pine {
	width: 40px;
	height: 62px;
	filter: drop-shadow(3px 4px 0 rgba(16, 16, 16, 0.12));
}

.tss-regions-route-promenade__pine::before,
.tss-regions-route-promenade__pine::after {
	content: "";
	position: absolute;
	left: 50%;
	border-right: 18px solid transparent;
	border-bottom: 34px solid rgba(102, 136, 94, 0.9);
	border-left: 18px solid transparent;
	transform: translateX(-50%);
}

.tss-regions-route-promenade__pine::before {
	top: 0;
}

.tss-regions-route-promenade__pine::after {
	top: 18px;
	border-bottom-color: rgba(82, 119, 82, 0.92);
}

.tss-regions-route-promenade__pine--one {
	left: 16%;
	transform: scale(0.8);
}

.tss-regions-route-promenade__pine--two {
	right: 16%;
	transform: scale(0.72);
}

.tss-regions-route-promenade__sign {
	position: absolute;
	z-index: 6;
	bottom: clamp(66px, 7svh, 82px);
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	border: 2px solid var(--tss-black);
	border-radius: 7px;
	padding: 0 10px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	text-transform: uppercase;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.2);
}

.tss-regions-route-promenade__sign::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	width: 3px;
	height: 20px;
	background: var(--tss-black);
	transform: translateX(-50%);
}

.tss-regions-route-promenade__sign--country {
	left: max(90px, calc((100vw - 1220px) / 2 + 104px));
}

.tss-regions-route-promenade__sign--region {
	right: max(104px, calc((100vw - 1220px) / 2 + 126px));
	background: var(--tss-yellow);
	box-shadow: 3px 3px 0 var(--tss-black);
}

.tss-regions-route-promenade__tag {
	position: absolute;
	z-index: 8;
	display: inline-grid;
	width: 31px;
	height: 24px;
	place-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 5px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 10px;
	font-weight: 950;
	line-height: 1;
	box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.18);
}

.tss-regions-route-promenade__tag--one {
	bottom: 63px;
	left: 36%;
	background: var(--tss-yellow);
	transform: rotate(-7deg);
}

.tss-regions-route-promenade__tag--two {
	right: 42%;
	bottom: 70px;
	background: #dff4f2;
	transform: rotate(5deg);
}

.tss-regions-route-promenade__tag--three {
	right: 28%;
	bottom: 38px;
	background: #ffffff;
	transform: rotate(-4deg);
}

.tss-regions-route-character {
	position: absolute;
	z-index: 9;
	bottom: 20px;
	width: 34px;
	height: 54px;
	--tss-regions-character-scale: 1;
	transform: scale(var(--tss-regions-character-scale));
	transform-origin: center bottom;
	animation: tss-regions-character-bob 3.8s ease-in-out infinite;
}

.tss-regions-route-character--guide {
	left: 30%;
	animation-delay: -0.8s;
}

.tss-regions-route-character--traveller {
	right: 27%;
	animation-name: tss-regions-character-stroll;
	animation-duration: 8s;
}

.tss-regions-route-character--map {
	left: 58%;
	bottom: 19px;
	--tss-regions-character-scale: 0.9;
	animation-delay: -2s;
}

.tss-regions-route-character__head,
.tss-regions-route-character__body,
.tss-regions-route-character__bag {
	position: absolute;
	display: block;
	border: 2px solid var(--tss-black);
}

.tss-regions-route-character__head {
	top: 0;
	left: 50%;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #f1bf8d;
	transform: translateX(-50%);
}

.tss-regions-route-character--traveller .tss-regions-route-character__head {
	background: #b9825c;
}

.tss-regions-route-character--map .tss-regions-route-character__head {
	background: #dfb18b;
}

.tss-regions-route-character__body {
	right: 3px;
	bottom: 1px;
	left: 3px;
	height: 36px;
	border-radius: 14px 14px 9px 9px;
	background: #dff4f2;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.16);
}

.tss-regions-route-character--traveller .tss-regions-route-character__body {
	background: var(--tss-regions-sage);
}

.tss-regions-route-character--map .tss-regions-route-character__body {
	background: #fffdf4;
}

.tss-regions-route-character__body::before,
.tss-regions-route-character__body::after {
	content: "";
	position: absolute;
	bottom: -8px;
	width: 5px;
	height: 11px;
	border: 2px solid var(--tss-black);
	border-top: 0;
	border-radius: 0 0 999px 999px;
	background: var(--tss-black);
}

.tss-regions-route-character__body::before {
	left: 4px;
}

.tss-regions-route-character__body::after {
	right: 4px;
}

.tss-regions-route-character__bag {
	right: -12px;
	bottom: 8px;
	width: 18px;
	height: 21px;
	border-radius: 5px;
	background: var(--tss-yellow);
	transform: rotate(8deg);
}

.tss-regions-route-character__bubble {
	position: absolute;
	bottom: calc(100% + 32px);
	left: 50%;
	display: inline-flex;
	width: max-content;
	max-width: 196px;
	min-height: 34px;
	align-items: center;
	border: 2px solid var(--tss-black);
	border-radius: 12px 12px 12px 3px;
	padding: 7px 10px;
	background: #ffffff;
	color: var(--tss-black);
	font-size: 11.5px;
	font-weight: 850;
	line-height: 1.13;
	box-shadow: 3px 3px 0 rgba(16, 16, 16, 0.16);
	transform: translateX(-50%);
	animation: tss-regions-bubble-pop 7s ease-in-out infinite;
}

.tss-regions-route-character--traveller .tss-regions-route-character__bubble {
	display: none;
	border-radius: 12px 12px 3px 12px;
	background: #fff7cf;
	animation-delay: -2.4s;
}

.tss-regions-route-character--guide .tss-regions-route-character__bubble {
	animation: none;
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%);
}

.tss-regions-route-character--map .tss-regions-route-character__bubble {
	display: none;
	background: #dff4f2;
	animation-delay: -4.8s;
}

@keyframes tss-regions-character-bob {
	0%,
	100% {
		transform: translate3d(0, 0, 0) rotate(-1deg) scale(var(--tss-regions-character-scale));
	}
	50% {
		transform: translate3d(0, -5px, 0) rotate(1deg) scale(var(--tss-regions-character-scale));
	}
}

@keyframes tss-regions-character-stroll {
	0%,
	100% {
		transform: translate3d(-10px, 0, 0) rotate(-1deg) scale(var(--tss-regions-character-scale));
	}
	50% {
		transform: translate3d(18px, -3px, 0) rotate(1deg) scale(var(--tss-regions-character-scale));
	}
}

@keyframes tss-regions-bubble-pop {
	0%,
	12%,
	46%,
	100% {
		opacity: 0;
		visibility: hidden;
		transform: translateX(-50%) translateY(6px) scale(0.96);
	}
	18%,
	38% {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0) scale(1);
	}
}

/* Route Ribbon uses the shared hero promenade system with region-specific staging. */
.tss-regions-route-promenade.tss-hero-park {
	--tss-hero-park-height: var(--tss-regions-promenade-height);
	--tss-park-character-scale: 0.6;
	z-index: 2;
	height: var(--tss-regions-promenade-height);
	overflow: hidden;
	pointer-events: none;
}

.tss-regions-route-promenade.tss-hero-park::before {
	right: -3vw;
	bottom: -18px;
	left: -3vw;
	height: calc(var(--tss-regions-promenade-height) * 0.84);
	background:
		radial-gradient(72px 24px at 9% 34%, rgba(255, 214, 51, 0.2) 0 62%, transparent 64%),
		radial-gradient(108px 30px at 30% 29%, rgba(255, 253, 244, 0.5) 0 62%, transparent 64%),
		radial-gradient(94px 27px at 75% 34%, rgba(0, 124, 120, 0.13) 0 64%, transparent 66%),
		linear-gradient(180deg, rgba(235, 242, 226, 0.97), rgba(200, 222, 181, 0.98));
}

.tss-regions-route-promenade.tss-hero-park::after {
	bottom: clamp(20px, 3svh, 34px);
	opacity: 0.72;
}

.tss-regions-route-promenade .tss-hero-park__stage {
	right: auto;
	left: 50%;
	width: min(100%, 1500px);
	overflow: hidden;
	transform: translateX(-50%);
	pointer-events: none;
}

.tss-regions-route-promenade .tss-hero-park__horizon {
	bottom: clamp(60px, 7svh, 84px);
	height: clamp(48px, 6svh, 72px);
	opacity: 0.94;
}

.tss-regions-route-promenade .tss-hero-park__path {
	bottom: clamp(28px, 3.7svh, 46px);
	height: clamp(34px, 4.6svh, 48px);
	background:
		linear-gradient(180deg, rgba(255, 253, 244, 0.9), rgba(244, 236, 207, 0.9)),
		repeating-linear-gradient(90deg, transparent 0 36px, rgba(255, 214, 51, 0.26) 36px 52px, transparent 52px 94px);
}

.tss-regions-route-promenade .tss-hero-park__path::before {
	background: repeating-linear-gradient(90deg, rgba(16, 16, 16, 0.28) 0 16px, transparent 16px 32px);
}

.tss-regions-route-promenade .tss-hero-park__sign,
.tss-regions-route-promenade .tss-hero-park__marker {
	bottom: clamp(78px, 8svh, 98px);
}

.tss-regions-route-promenade .tss-hero-park__sign {
	left: max(24px, 10%);
}

.tss-regions-route-promenade .tss-hero-park__marker--gate {
	left: 28%;
}

.tss-regions-route-promenade .tss-hero-park__marker--esim {
	left: 58%;
}

.tss-regions-route-promenade .tss-hero-park__marker--wifi {
	right: 13%;
}

.tss-regions-route-promenade .tss-hero-park__tree {
	bottom: clamp(28px, 4svh, 42px);
	--tss-park-tree-scale: 0.72;
}

.tss-regions-route-promenade .tss-hero-park__tree--left {
	left: 4%;
}

.tss-regions-route-promenade .tss-hero-park__tree--right {
	right: 4.5%;
	--tss-park-tree-scale: 0.64;
}

.tss-regions-route-promenade .tss-hero-park__pine {
	bottom: clamp(38px, 5svh, 56px);
	transform: scale(calc(var(--tss-park-pine-scale, 1) * 0.72));
}

.tss-regions-route-promenade .tss-hero-park__shrub {
	bottom: clamp(22px, 3.2svh, 34px);
	transform: scale(0.7);
	transform-origin: center bottom;
}

.tss-regions-route-promenade .tss-hero-park__flower {
	bottom: clamp(18px, 2.6svh, 28px);
}

.tss-regions-route-promenade .tss-hero-park__character {
	bottom: clamp(30px, 4.2svh, 48px);
	cursor: default;
	pointer-events: none;
}

.tss-regions-route-promenade .tss-hero-park__character--referral {
	--tss-park-walk-stop: 18vw;
	--tss-park-walk-delay: -16s;
	--tss-regions-bubble-delay: -2s;
}

.tss-regions-route-promenade .tss-hero-park__character--local {
	--tss-park-walk-stop: 33vw;
	--tss-park-walk-delay: -31s;
	--tss-regions-bubble-delay: -17s;
}

.tss-regions-route-promenade .tss-hero-park__character--phone {
	--tss-park-walk-stop: 52vw;
	--tss-park-walk-delay: -47s;
	--tss-regions-bubble-delay: -9s;
}

.tss-regions-route-promenade .tss-hero-park__character--queue {
	--tss-park-walk-stop: 72vw;
	--tss-park-walk-delay: -63s;
	--tss-regions-bubble-delay: -22s;
}

.tss-regions-route-promenade .tss-hero-park__character--wander-one {
	--tss-park-walk-stop: 25vw;
	--tss-regions-bubble-delay: -27s;
}

.tss-regions-route-promenade .tss-hero-park__character--wander-two {
	--tss-park-walk-stop: 43vw;
	--tss-regions-bubble-delay: -13s;
}

.tss-regions-route-promenade .tss-hero-park__character--wander-three {
	--tss-park-walk-stop: 64vw;
	--tss-regions-bubble-delay: -31s;
}

.tss-regions-route-promenade .tss-hero-park__character--wander-four {
	--tss-park-walk-stop: 82vw;
	--tss-regions-bubble-delay: -5s;
}

.tss-regions-route-promenade .tss-hero-park__character--wander-five {
	--tss-park-walk-stop: 9vw;
	--tss-regions-bubble-delay: -36s;
}

.tss-regions-route-promenade .tss-hero-park__bubble {
	display: block;
	min-width: 148px;
	max-width: 238px;
	bottom: 84px;
	padding: 8px 10px;
	font-size: 12px;
	line-height: 1.14;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(7px) scale(0.98);
	animation: tss-regions-route-park-bubble 38s ease-in-out infinite;
	animation-delay: var(--tss-regions-bubble-delay, 0s);
}

.tss-regions-route-promenade .tss-hero-park__character--talker .tss-hero-park__bubble,
.tss-regions-route-promenade .tss-hero-park__character--ambient .tss-hero-park__bubble {
	--tss-park-bubble-scale: 1;
}

.tss-regions-route-promenade .tss-hero-park__character--local .tss-hero-park__bubble,
.tss-regions-route-promenade .tss-hero-park__character--wander-two .tss-hero-park__bubble {
	background: #fff7cf;
}

.tss-regions-route-promenade .tss-hero-park__character--phone .tss-hero-park__bubble,
.tss-regions-route-promenade .tss-hero-park__character--wander-four .tss-hero-park__bubble {
	background: #dff4f2;
}

@keyframes tss-regions-route-park-bubble {
	0%,
	12%,
	33%,
	100% {
		opacity: 0;
		visibility: hidden;
		transform: translateX(-50%) translateY(7px) scale(0.98);
	}

	16%,
	27% {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%) translateY(0) scale(1);
	}
}

@media (min-width: 981px) and (max-height: 820px) {
	.tss-regions-hero--route-ribbon.tss-info-hero {
		--tss-regions-promenade-height: 104px;
		padding-top: 18px;
		padding-bottom: calc(var(--tss-regions-promenade-height) + 12px);
	}

	.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
		transform: none;
	}

	.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
		font-size: clamp(40px, 4.6vw, 62px);
	}

	.tss-regions-route-ribbon__intro {
		gap: 10px;
	}

	.tss-regions-route-ribbon__steps span {
		min-height: 33px;
	}

	.tss-regions-route-board {
		gap: 8px;
		padding: 13px;
		box-shadow: 6px 6px 0 var(--tss-yellow), 10px 10px 0 var(--tss-black);
	}

	.tss-regions-route-board__mast strong {
		font-size: clamp(23px, 2.35vw, 31px);
	}

	.tss-regions-route-board__mast small {
		line-height: 1.24;
	}

	.tss-regions-route-board__search.tss-search--regions {
		gap: 8px;
		padding: 7px;
	}

	.tss-regions-route-board__search.tss-search--regions input[type="search"],
	.tss-regions-route-board__search.tss-search--regions button {
		min-height: 40px;
	}

	.tss-regions-route-board__assist {
		padding: 7px 10px;
		line-height: 1.2;
	}

	.tss-regions-route-lineup {
		gap: 7px;
		padding: 6px;
	}

	.tss-regions-route-lineup__stop {
		min-height: 30px;
		padding: 0 10px;
	}

	.tss-regions-route-board__examples {
		display: none;
	}

	.tss-regions-route-ticket {
		min-height: 74px;
		padding: 8px;
	}

	.tss-regions-route-promenade .tss-hero-park__sign,
	.tss-regions-route-promenade .tss-hero-park__marker {
		bottom: 64px;
	}

	.tss-regions-route-promenade .tss-hero-park__bubble {
		display: none;
	}

	.tss-regions-route-promenade__sign,
	.tss-regions-route-character__bubble {
		transform: scale(0.92);
		transform-origin: center bottom;
	}
}

@media (min-width: 1081px) and (max-width: 1500px) {
	.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
		grid-template-columns: minmax(430px, 0.78fr) minmax(600px, 1.05fr);
		gap: clamp(22px, 3vw, 48px);
	}

	.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
		font-size: clamp(42px, 4.35vw, 62px);
	}

	.tss-regions-route-board {
		width: min(100%, 790px);
	}
}

@media (max-width: 1080px) {
	.tss-regions-hero--route-ribbon.tss-info-hero {
		--tss-regions-promenade-height: clamp(118px, 14svh, 144px);
		height: calc(100svh - 162px);
		min-height: 0;
		padding-top: clamp(22px, 3.5svh, 34px);
		padding-bottom: calc(var(--tss-regions-promenade-height) + 14px);
	}

	.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
		grid-template-columns: 1fr;
		max-width: min(780px, calc(100vw - 40px));
		gap: clamp(18px, 3svh, 28px);
		text-align: center;
		transform: none;
	}

	.tss-regions-route-ribbon__intro {
		justify-items: center;
	}

	.tss-regions-route-ribbon__intro .tss-info-kicker {
		justify-content: center;
	}

	.tss-regions-route-ribbon__steps {
		justify-content: center;
	}

	.tss-regions-route-ribbon__rule {
		display: none;
	}

	.tss-regions-route-ticket:nth-of-type(3) {
		display: none;
	}

	.tss-regions-route-board {
		justify-self: center;
		transform: none;
	}

	.tss-regions-route-board__mast {
		padding-right: 82px;
	}

	.tss-regions-route-board__assist {
		justify-content: center;
		text-align: center;
	}

	.tss-regions-route-promenade__sign--country {
		left: 7%;
	}

	.tss-regions-route-promenade__sign--region {
		right: 8%;
	}

	.tss-regions-route-character--guide {
		left: 24%;
	}

	.tss-regions-route-character--traveller {
		right: 24%;
	}

	.tss-regions-route-character--map {
		left: 52%;
	}

	.tss-regions-route-promenade .tss-hero-park__sign,
	.tss-regions-route-promenade .tss-hero-park__marker {
		bottom: clamp(74px, 8svh, 90px);
	}

	.tss-regions-route-promenade .tss-hero-park__bubble {
		bottom: 104px;
		max-width: 210px;
		font-size: 11px;
	}
}

@media (max-width: 640px) {
	.tss-regions-hero--route-ribbon.tss-info-hero {
		--tss-regions-promenade-height: clamp(106px, 16svh, 126px);
		height: calc(100svh - 138px);
		min-height: 0;
		padding: 16px 14px calc(var(--tss-regions-promenade-height) + 12px);
		text-align: center;
	}

	.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
		max-width: min(100%, 390px);
		gap: 10px;
	}

	.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
		max-width: 360px;
		font-size: clamp(30px, 8.8vw, 36px);
		line-height: 0.96;
	}

	.tss-regions-route-ribbon__intro {
		gap: 8px;
	}

	.tss-regions-route-ribbon__steps {
		justify-content: center;
		gap: 6px;
		max-width: 350px;
	}

	.tss-regions-route-ribbon__steps span {
		min-height: 28px;
		gap: 5px;
		padding: 0 7px 0 4px;
		font-size: 10px;
		box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.12);
	}

	.tss-regions-route-ribbon__steps b {
		width: 19px;
		height: 19px;
		border-width: 1.5px;
		font-size: 10px;
	}

	.tss-regions-route-ribbon__intro p {
		max-width: 330px;
		font-size: 12.5px;
		line-height: 1.3;
	}

	.tss-regions-route-ribbon__rule {
		display: none;
	}

	.tss-regions-route-board {
		gap: 7px;
		border-width: 2px;
		border-radius: 10px;
		padding: 10px;
		box-shadow: 6px 6px 0 var(--tss-yellow), 10px 10px 0 var(--tss-black);
	}

	.tss-regions-route-board::before {
		bottom: 78px;
		height: 48px;
		border-top-width: 7px;
	}

	.tss-regions-route-board::after {
		display: none;
	}

	.tss-regions-route-board__mast {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 6px;
		padding-right: 0;
		text-align: center;
	}

	.tss-regions-route-board__mast span {
		min-height: 27px;
		font-size: 10px;
	}

	.tss-regions-route-board__mast strong {
		font-size: clamp(21px, 6.8vw, 27px);
		line-height: 1;
	}

	.tss-regions-route-board__mast small {
		display: none;
	}

	.tss-regions-route-board__search.tss-search--regions {
		grid-template-columns: 1fr;
		gap: 7px;
		padding: 7px;
	}

	.tss-regions-route-board__search.tss-search--regions input[type="search"],
	.tss-regions-route-board__search.tss-search--regions button {
		min-height: 39px;
		font-size: 14px;
	}

	.tss-regions-route-board__assist {
		justify-content: center;
		padding: 6px 7px;
		font-size: 10.5px;
		text-align: center;
	}

	.tss-regions-route-board__assist span {
		min-width: 0;
	}

	.tss-regions-route-board__assist a {
		min-height: 24px;
		font-size: 11px;
	}

	.tss-regions-route-lineup {
		grid-template-columns: auto 1fr auto;
		gap: 6px;
	}

	.tss-regions-route-lineup__rail:nth-of-type(4),
	.tss-regions-route-lineup__stop--pass {
		display: none;
	}

	.tss-regions-route-lineup__stop {
		min-height: 29px;
		padding: 0 9px;
		font-size: 11px;
	}

	.tss-regions-route-board__examples {
		display: none;
	}

	.tss-regions-route-board__head {
		gap: 6px;
		padding: 0 1px;
		font-size: 9px;
	}

	.tss-regions-route-board__head small,
	.tss-regions-route-ticket__status,
	.tss-regions-route-ticket:nth-of-type(3) {
		display: none;
	}

	.tss-regions-route-ticket {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 6px;
		min-height: 58px;
		padding: 6px;
		box-shadow: 2px 2px 0 rgba(16, 16, 16, 0.1);
	}

	.tss-regions-route-ticket__code {
		width: 32px;
		min-height: 28px;
		font-size: 11px;
	}

	.tss-regions-route-ticket__main strong,
	.tss-regions-route-ticket__main small {
		white-space: normal;
	}

	.tss-regions-route-ticket__main strong {
		font-size: 13px;
	}

	.tss-regions-route-ticket__main small {
		font-size: 11px;
	}

	.tss-regions-route-promenade__horizon {
		bottom: 24px;
		height: 72px;
	}

	.tss-regions-route-promenade__path {
		height: 72px;
	}

	.tss-regions-route-promenade__ribbon {
		right: 6%;
		bottom: 38px;
		left: 6%;
		height: 20px;
	}

	.tss-regions-route-promenade__sign {
		min-height: 24px;
		padding: 0 7px;
		font-size: 8px;
	}

	.tss-regions-route-promenade__sign--country,
	.tss-regions-route-promenade__sign--region,
	.tss-regions-route-promenade__tree--right,
	.tss-regions-route-promenade__pine--two,
	.tss-regions-route-character--map {
		display: none;
	}

	.tss-regions-route-promenade__tree--left {
		left: 3%;
		transform: scale(0.68);
	}

	.tss-regions-route-promenade__pine--one {
		left: 16%;
		transform: scale(0.58);
	}

	.tss-regions-route-promenade__tag--one {
		left: 40%;
		bottom: 49px;
	}

	.tss-regions-route-promenade__tag--two {
		right: 30%;
		bottom: 50px;
	}

	.tss-regions-route-promenade__tag--three {
		display: none;
	}

	.tss-regions-route-character {
		bottom: 16px;
		--tss-regions-character-scale: 0.74;
	}

	.tss-regions-route-character--guide {
		left: 34%;
	}

	.tss-regions-route-character--traveller {
		right: 20%;
	}

	.tss-regions-route-character__bubble {
		display: none;
		bottom: calc(100% + 8px);
		max-width: 136px;
		padding: 5px 7px;
		font-size: 9.5px;
		line-height: 1.1;
	}

	.tss-regions-route-promenade .tss-hero-park__horizon {
		bottom: 52px;
		height: 48px;
	}

	.tss-regions-route-promenade .tss-hero-park__path {
		bottom: 28px;
		height: 32px;
	}

	.tss-regions-route-promenade .tss-hero-park__sign {
		left: 4%;
		bottom: 64px;
		display: inline-flex;
		font-size: 8px;
	}

	.tss-regions-route-promenade .tss-hero-park__marker {
		bottom: 62px;
		display: inline-flex;
		font-size: 7.8px;
	}

	.tss-regions-route-promenade .tss-hero-park__marker--gate {
		left: 29%;
	}

	.tss-regions-route-promenade .tss-hero-park__marker--esim {
		left: 58%;
	}

	.tss-regions-route-promenade .tss-hero-park__marker--wifi {
		display: none;
	}

	.tss-regions-route-promenade .tss-hero-park__tree {
		bottom: 28px;
		--tss-park-tree-scale: 0.54;
	}

	.tss-regions-route-promenade .tss-hero-park__tree--right,
	.tss-regions-route-promenade .tss-hero-park__pine--three,
	.tss-regions-route-promenade .tss-hero-park__character--wander-two,
	.tss-regions-route-promenade .tss-hero-park__character--wander-three {
		display: none;
	}

	.tss-regions-route-promenade .tss-hero-park__pine {
		bottom: 30px;
		transform: scale(calc(var(--tss-park-pine-scale, 1) * 0.52));
	}

	.tss-regions-route-promenade .tss-hero-park__character {
		bottom: 27px;
		--tss-park-character-scale: 0.5;
	}

	.tss-regions-route-promenade .tss-hero-park__bubble {
		bottom: 114px;
		min-width: 128px;
		max-width: 178px;
		padding: 6px 8px;
		font-size: 10px;
		line-height: 1.1;
		animation-duration: 44s;
	}
}

@media (max-width: 640px) and (max-height: 720px) {
	.tss-regions-hero--route-ribbon.tss-info-hero {
		--tss-regions-promenade-height: 84px;
		padding-top: 14px;
		padding-bottom: calc(var(--tss-regions-promenade-height) + 8px);
	}

	.tss-regions-hero--route-ribbon .tss-regions-hero__inner {
		gap: 8px;
	}

	.tss-regions-route-ribbon__intro {
		gap: 7px;
	}

	.tss-regions-route-ribbon__steps {
		gap: 5px;
	}

	.tss-regions-route-ribbon__steps span {
		min-height: 27px;
		font-size: 9.5px;
	}

	.tss-regions-route-ribbon__steps span:nth-child(3) {
		display: none;
	}

	.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
		font-size: clamp(29px, 8.8vw, 34px);
		line-height: 0.96;
	}

	.tss-regions-route-ribbon__intro p {
		max-width: 330px;
		font-size: 12.5px;
		line-height: 1.28;
	}

	.tss-regions-route-ribbon__intro .tss-info-actions {
		display: none;
	}

	.tss-regions-route-board {
		gap: 6px;
		padding: 10px;
	}

	.tss-regions-route-board__mast {
		gap: 4px;
	}

	.tss-regions-route-board__mast span {
		min-height: 24px;
		font-size: 9px;
	}

	.tss-regions-route-board__mast strong {
		font-size: clamp(21px, 6.4vw, 25px);
	}

	.tss-regions-route-board__mast small {
		display: none;
	}

	.tss-regions-route-board__search.tss-search--regions {
		gap: 6px;
		padding: 6px;
	}

	.tss-regions-route-board__search.tss-search--regions input[type="search"],
	.tss-regions-route-board__search.tss-search--regions button {
		min-height: 39px;
	}

	.tss-regions-route-board__assist {
		padding: 6px 7px;
		font-size: 10px;
	}

	.tss-regions-route-lineup {
		display: none;
	}

	.tss-regions-route-board__examples {
		display: none;
	}

	.tss-regions-route-promenade__ribbon {
		bottom: 31px;
	}

	.tss-regions-route-character__bubble,
	.tss-regions-route-promenade__sign {
		display: none;
	}

	.tss-regions-route-character {
		bottom: 12px;
		--tss-regions-character-scale: 0.62;
	}

	.tss-regions-route-character,
	.tss-regions-route-promenade__tag {
		display: none;
	}

	.tss-regions-route-promenade .tss-hero-park__sign,
	.tss-regions-route-promenade .tss-hero-park__marker,
	.tss-regions-route-promenade .tss-hero-park__bubble,
	.tss-regions-route-promenade .tss-hero-park__pine--two,
	.tss-regions-route-promenade .tss-hero-park__pine--three,
	.tss-regions-route-promenade .tss-hero-park__tree--right,
	.tss-regions-route-promenade .tss-hero-park__shrub--three,
	.tss-regions-route-promenade .tss-hero-park__character--wander-one,
	.tss-regions-route-promenade .tss-hero-park__character--wander-two,
	.tss-regions-route-promenade .tss-hero-park__character--wander-three,
	.tss-regions-route-promenade .tss-hero-park__character--wander-four,
	.tss-regions-route-promenade .tss-hero-park__character--wander-five {
		display: none;
	}

	.tss-regions-route-promenade .tss-hero-park__character {
		bottom: 22px;
		--tss-park-character-scale: 0.42;
	}
}

@media (max-width: 380px) {
	.tss-regions-hero--route-ribbon.tss-info-hero {
		padding-top: 18px;
	}

	.tss-regions-hero--route-ribbon .tss-regions-route-ribbon__intro h1 {
		font-size: clamp(29px, 8.6vw, 33px);
	}

	.tss-regions-route-ribbon__intro p {
		font-size: 12px;
	}

	.tss-regions-route-board {
		padding: 10px;
	}

	.tss-regions-route-board__examples {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.tss-regions-route-character,
	.tss-regions-route-character__bubble {
		animation: none;
	}

	.tss-regions-route-character {
		transform: scale(var(--tss-regions-character-scale));
	}

	.tss-regions-route-character__bubble {
		opacity: 1;
		visibility: visible;
		transform: translateX(-50%);
	}

	.tss-regions-route-promenade .tss-hero-park__bubble {
		display: none;
		animation: none;
	}
}
