/* ============================================
   SECTION 1: Header + Hero - 
   ============================================ */
@font-face {
	font-family: 'Petrov Sans';
	src: url('fonts/PetrovSans/PetrovSans-Regular.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Petrov Sans';
	src: url('fonts/PetrovSans/PetrovSans-SemiBold.ttf') format('truetype');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Petrov Sans';
	src: url('fonts/PetrovSans/PetrovSans-Bold.ttf') format('truetype');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

/* === GLOBAL - ALL BLACK === */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 400;
	background-color: #000000;
	background: #000000;
	color: #ffffff;
	line-height: 1.6;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Barlow', Arial, sans-serif;
	font-weight: 400;
}

p,
.lorem {
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 400;
}

a {
	text-decoration: none;
	color: inherit;
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	display: block;
}

#content,
#welcome,
#our-work,
#offer,
#gall,
#save,
#before-ft,
#footer,
footer,
section,
main,
.ft-top,
.ft-bot {
	background-color: #000000;
	background: #000000;
}

/* ============================================
   HEADER
   ============================================ */
header {
	background-color: #000000;
	background: #000000;
	width: 100%;
	min-width: 1900px;
	position: relative;
	/* z-index:auto (was 1000): lets #welcome slide over the banner's
	   bottom black strip. Nav/logo keep their own z-index so they
	   stay on top. Banner rules untouched. */
	z-index: auto;
}

#header {
	width: 100%;
	background-color: #000000;
	position: relative;
}

.hd-top-bar {
	background-color: #000000;
	background: #000000;
	width: 100%;
	padding-left: 360px;
}

.hd-top-inner {
	width: 100%;
	margin: 0;
	padding: 8px 90px 8px 105px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: transparent;
	background-image: url('../images/content/trapzd.png');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	background-position: center;
}

.hd-location {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 14.5px;
	letter-spacing: 0.5px;
	color: #FFFFFF;
}

.hd-location img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.hd-location:hover {
	color: #DDA62E;
}

.hd-cta {
	display: flex;
	align-items: center;
	gap: 22px;
}

.hd-mail-holder,
.hd-phone-holder {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15.5px;
	color: #FFFFFF;
}

.hd-mail-holder img,
.hd-phone-holder img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.hd-mail-holder a,
.hd-phone-holder a {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15.5px;
	color: #FFFfff
}

.hd-mail-holder a:hover,
.hd-phone-holder a:hover,
.hd-mail-holder:hover a,
.hd-phone-holder:hover a {
	color: #DDA62E;
}

.hd-bot {
	background-color: #000000;
	width: 100%;
	border-bottom: 1px solid #1c1c1c;
}

.hd-bot-inner {
	width: 100%;
	margin: 0 auto;
	padding: 0 60px 0 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	height: 110px;
}

.logo-holder {
	width: 500px;
	flex-shrink: 0;
	position: relative;
	height: 110px;
}

.logo-holder a {
	display: block;
}

.logo-image {
	width: 500px;
	height: auto;
	object-fit: contain;
	position: absolute;
	top: 0px;
	left: 0;
	z-index: 1001;
}

.hd-links {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 20px;
	padding-left: 0;
	min-width: 0;
	padding-top: 30px;
	position: relative;
	right: 25px;
}

/* Fixed 1900 canvas - no responsive reflow at any screen size.
   The whole layout only scales down (body zoom in header/footer),
   so the hamburger menu must never appear. */
.nav-holder #pull {
	display: none !important;
}

.nav-holder ul {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nav-holder ul li a {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.5px;
	color: #ffffff;
	text-transform: uppercase;
	display: inline-block;
	padding: 5px 16px;
	white-space: nowrap;
}

/* Active = HOME gold like reference - slight rounded */
.nav-holder ul li.active a,
.nav-holder ul li[class*="active"] a,
.nav-holder ul li.current a {
	background-color: #DDA62E;
	color: #000000;
	padding: 5px 16px;
	border-radius: 6px;
}

.btn-book {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 800;
	font-size: 18px;
	letter-spacing: 0.3px;
	background-color: #DDA62E;
	color: #000000;
	padding: 14px 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	white-space: nowrap;
	flex-shrink: 0;
	text-transform: uppercase;
}

.btn-book img {
	width: 18px;
	height: 18px;
	object-fit: contain;
}

/* ============================================
   BANNER / HERO 
   ============================================ */
#banner {
	position: relative;
	width: 100%;
	min-width: 1900px;
	height: 880px;
	background-color: #000000;
	overflow: hidden;
}

.banner-bg {
	position: absolute;
	top: 0px;
	left: 10px;
	bottom: 100px;
	width: 100%;
	height: 100%;
	background: url('../images/content/herobg.png') right 117% / 87% no-repeat;
	z-index: 1;
}

.banner-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.45) 38%, rgba(0, 0, 0, 0.05) 65%, rgba(0, 0, 0, 0) 100%);
	z-index: 2;
}

.banner-inner {
	position: relative;
	z-index: 3;
	width: 100%;
	margin: 0 auto;
	padding: 60px 25px 0 50px;
	height: 100%;
}

.banner-content {
	max-width: 860px;
	padding-top: 200px;
	left: 30px;
	bottom: 30px;
	position: relative;
}

.hero-headline h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 75px;
	line-height: 1.15;
	letter-spacing: 1px;
	color: #ffffff;
	text-transform: uppercase;
	white-space: nowrap;
}

.hero-headline h2.hero-highlight {
	font-weight: 800;
	color: #DDA62E;
	margin-top: 2px;
}

.hero-description {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 23px;
	line-height: 1.3;
	color: #ffffff;
	margin: 18px 0 28px 0;
	max-width: 830px;
	height: auto;
	overflow: visible;
	white-space: normal;
}

.btn-explore {
	display: inline-block;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 650;
	font-size: 18px;
	letter-spacing: -0.1px;
	background-color: #DDA62E;
	color: #000000;
	padding: 12px 59px;
	text-transform: uppercase;
}

.btn-explore span {
	font-weight: 700;
	margin-left: 4px;
}

.feature-cards-container {
	position: absolute;
	left: 20px;
	right: 25px;
	width: auto;
	max-width: 1250px;
	bottom: 60px;
	display: flex;
	gap: 16px;
}

.feature-card {
	flex: 1;
	background-color: rgba(0, 0, 0, 0.30);
	border: 3px solid #ffffff;
	padding: 8px 4px 8px 4px;
	text-align: center;
	min-height: 150px;
}

.card-icon {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-icon img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	margin-bottom: -10px;
}

.feature-card h3 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 26px;
	letter-spacing: 0.3px;
	color: #DDA62E;
	margin-bottom: 6px;
	line-height: .7;
}

.feature-card p {
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.3;
	color: #ffffff;
}

/* ============================================
   ABOUT MARK / WELCOME
   ============================================ */
#welcome {
	background-color: #1e1e1e;
	background: #1e1e1e;
	width: 100%;
	min-width: 1900px;
	position: relative;
	z-index: 2;
	margin-top: -40px;
}

.welcome-inner {
	width: 1900px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	min-height: 600px;
}

.welcome-left {
	width: 50%;
	position: relative;
	overflow: hidden;
	min-height: 600px;
}

.welcome-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
	position: absolute;
	top: 0;
	left: 0;
	transform: none;
	background-color: #1e1e1e;
}

.welcome-fade {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(30, 30, 30, 0) 0%, rgba(30, 30, 30, 0.4) 50%, rgba(30, 30, 30, 0.85) 100%);
}

.welcome-right {
	width: 50%;
	padding: 90px 20px 90px 80px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	background-color: transparent;
	background: transparent;
	position: relative;
	right: 170px;
	z-index: 5;
}

.welcome-right .eyebrow {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 5px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 25px;
}

.welcome-right h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 65px;
	line-height: 1.15;
	letter-spacing: -0.5px;
	color: #ffffff;
	margin-bottom: 20px;
	white-space: nowrap;
}

.welcome-right h2 span {
	font-weight: 700;
	color: #DDA62E;
}

.welcome-right p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
	color: #ffffff;
	margin-bottom: 18px;
	max-width: 850px;
}

.welcome-right .btn-explore {
	margin-top: 14px;
}

.page-about #welcome {
	margin-top: 0;
	padding: 60px 0 60px 0;
}

.page-tours #welcome {
	margin-top: 0;
	padding: 0px 0 0px 0;
}

.page-tours #rates {
	margin-top: 0px;
	padding: 0 0 60px 0;
	background-color: #1e1e1e;
	background: #1e1e1e;
	width: 100%;
	min-width: 1900px;
	position: relative;
	z-index: 2;
}

.page-tours #welcome {
	padding-bottom: 60px;
}

.page-about .welcome-inner.about-article-wrap,
.page-tours .welcome-inner.about-article-wrap {
	width: 1200px;
	max-width: 1200px;
	margin: 0 auto;
	display: block;
	min-height: 0;
}

.page-tours .welcome-inner.about-article-wrap {
	padding-top: 60px;
}

.page-about .about-article,
.page-tours .about-article {
	background: #000000;
	border: 1px solid #DDA62E;
	border-radius: 10px;
	padding: 36px 36px 30px 36px;
	overflow: hidden;
}

.page-about .about-article p,
.page-tours .about-article p {
	font-size: 16px;
	line-height: 1.65;
	margin-bottom: 13px;
	max-width: none;
	color: #e9e9e9;
}

.page-about .about-article .about-lead,
.page-tours .about-article .about-lead {
	font-size: 19px;
	line-height: 1.55;
	color: #ffffff;
	font-weight: 600;
	margin-bottom: 13px;
}

.page-about .about-article .about-tag,
.page-tours .about-article .about-tag {
	color: #DDA62E;
	font-weight: 600;
}

.page-about .about-photo,
.page-tours .about-photo {
	float: left;
	width: 280px;
	max-width: 280px;
	margin: 4px 24px 14px 0;
	background: #000000;
	border: 1px solid #DDA62E;
	padding: 6px 6px 4px 6px;
}

.page-about .about-photo img,
.page-tours .about-photo img {
	position: static !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 185px !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block;
	transform: none !important;
}

.page-about .about-photo figcaption,
.page-tours .about-photo figcaption {
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-size: 12px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #DDA62E;
	padding: 6px 0 2px 0;
}

.page-about .about-copy p {
	font-size: 17px;
	line-height: 1.65;
	margin-bottom: 14px;
	max-width: 740px;
	color: #e9e9e9;
}

.page-about .about-copy .about-lead {
	font-size: 22px;
	line-height: 1.5;
	color: #ffffff;
	font-weight: 600;
	border-left: 4px solid #DDA62E;
	padding-left: 16px;
	margin-bottom: 20px;
}

.page-about .about-copy .about-tag {
	color: #DDA62E;
	font-weight: 600;
	letter-spacing: 0.3px;
}

.page-about .about-copy .about-cta,
.page-about .about-article .about-cta {
	background: #000000;
	border: 1px solid #DDA62E;
	padding: 18px 20px;
	margin-top: 20px;
	margin-bottom: 20px;
	line-height: 1.6;
	color: #ffffff;
}

.page-about .about-copy .about-cta a,
.page-about .about-article .about-cta a {
	color: #DDA62E;
	font-weight: 700;
	text-decoration: underline;
	white-space: nowrap;
}

.page-about .about-copy .about-cta span,
.page-about .about-article .about-cta span {
	color: #ffffff;
	font-weight: 400;
	margin: 0 4px;
}

.page-about .about-stack,
.page-tours .about-stack {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.page-about .about-heading,
.page-tours .about-heading {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 28px;
	color: #DDA62E;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.page-about .about-article u,
.page-tours .about-article u {
	color: #DDA62E;
	text-underline-offset: 3px;
}

.page-about .about-article a:not(.btn-book),
.page-tours .about-article a:not(.btn-book) {
	color: #DDA62E;
	font-weight: 700;
	text-decoration: underline;
}

.page-about .about-article a:not(.btn-book):hover,
.page-tours .about-article a:not(.btn-book):hover {
	color: #EDB93F;
}

.page-about .rates-book,
.page-tours .rates-book {
	margin-top: 12px;
	display: inline-flex;
}

/* ============================================
   OUR TOURS
   ============================================ */
#tours {
	background-color: #000000;
	background: #000000;
	width: 100%;
	min-width: 1900px;
}

.tours-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 80px 0 0 0;
}

.tours-head {
	text-align: center;
	padding: 0 350px 45px 350px;
}

.tours-head .eyebrow {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 6px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 15px;
}

.tours-head h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 55px;
	line-height: 1.1;
	letter-spacing: 1px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 13px;
}

.tours-head h2 span {
	font-weight: 700;
	color: #DDA62E;
}

.tours-head p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 23px;
	line-height: 1.3;
	color: #ffffff;
}

.tours-grid {
	display: flex;
	gap: 6px;
	margin-bottom: 6px;
}

.tour-card {
	position: relative;
	flex: 1;
	min-height: 520px;
	overflow: hidden;
	background-color: #000;
}

.tours-bottom .tour-card {
	min-height: 560px;
}

.tour-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.view-tour {
	position: absolute;
	top: 18px;
	right: 30px;
	z-index: 2;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: 0.5px;
	color: #DDA62E;
	background-color: #000000;
	border: 2px solid #ffffff;
	padding: 10px 24px;
	text-transform: uppercase;
}

.tour-info {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	z-index: 2;
	background-color: rgba(0, 0, 0, 0.78);
	padding: 20px 22px;
}

.tour-info h3 {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 30px;
	color: #DDA62E;
	margin-bottom: 12px;
}

.tour-meta {
	display: flex;
	align-items: center;
	gap: 40px;
	margin-bottom: 12px;
}

.tour-meta .meta {
	display: flex;
	align-items: center;
	gap: 40px;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #ffffff;
}

.tour-meta .meta img {
	width: 35px;
	height: 35px;
	object-fit: contain;
}

.tour-info p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 1.3;
	color: #ffffff;
}

.tours-top .tour-info {
	min-height: 230px;
}

.tours-bottom .tour-info {
	min-height: 250px;
}

.routes-block {
	background-color: #000000;
	width: 100%;
	min-width: 1900px;
}

.routes-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 30px 110px 0px 110px;
}

.routes-intro p {
	font-family: 'Roboto', sans-serif;
	font-size: 19px;
	line-height: 1.6;
	color: #ffffff;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto 10px auto;
}

.routes-nav {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 26px 0 30px 0;
	flex-wrap: wrap;
}

.routes-nav a {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-transform: uppercase;
	color: #ffffff;
	background: #000000;
	border: 1px solid #DDA62E;
	padding: 12px 28px;
}

.routes-nav a:hover {
	background: #DDA62E;
	color: #000000;
}

.route-panel {
	background: #000000;
	border: 1px solid #DDA62E;
	padding: 30px 36px;
	margin-bottom: 22px;
}

.route-panel h3, #popupBody h3 {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 28px;
	color: #DDA62E;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.route-panel h3 em, #popupBody h3 em {
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	color: #ffffff;
}

.dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
}

.dot-yellow {
	background: #F5D90A;
}

.dot-red {
	background: #E53935;
}

.dot-gold {
	background: #DDA62E;
}

.dot-blue {
	background: #29B6F6;
}

.routes-list {
	list-style: none;
	column-count: 3;
	column-gap: 44px;
}

.routes-list-2 {
	column-count: 2;
}

.routes-list li {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color: #e9e9e9;
	margin-bottom: 10px;
	break-inside: avoid;
	padding-left: 18px;
	position: relative;
}

.routes-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #DDA62E;
	font-weight: 700;
}

.routes-cta {
	text-align: center;
	margin-top: 34px;
}

.routes-cta .btn-book {
	display: inline-flex;
}

/* ============================================
   Things to do - home page section
   ============================================ */
#things {
	position: relative;
	background-color: #1e1e1e;
	width: 100%;
	min-width: 1900px;
	min-height: 720px;
	overflow: hidden;
	display: flex;
	align-items: stretch;
}

.things-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 60px;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
	z-index: 1;
	background: url('../images/content/thingstdbg.png') right 110% / 75% no-repeat;
	transform-origin: center right;
}

.things-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	background: linear-gradient(90deg, rgba(30, 30, 30, 0.94) 0%, rgba(30, 30, 30, 0.88) 32%, rgba(30, 30, 30, 0.68) 52%, rgba(30, 30, 30, 0.28) 72%, rgba(30, 30, 30, 0.05) 100%);
}

.things-inner {
	position: relative;
	z-index: 3;
	width: 1900px;
	margin: 0 auto;
	padding: 250px 45px 75px 120px;
}

.things-inner .eyebrow {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 5px;
	color: #ffffff;
	text-transform: uppercase;
	margin-top: 0;
	margin-bottom: 5px;
}

.things-inner h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 60px;
	line-height: 1.1;
	letter-spacing: 1px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 14px;
	white-space: nowrap;
}

.things-inner h2 span {
	font-weight: 700;
	color: #DDA62E;
}

.things-sub {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 25px;
	line-height: 1.5;
	color: #ffffff;
	max-width: 1010px;
	margin-bottom: 30px;
}

.things-grid {
	display: flex;
	gap: 14px;
	max-width: 1520px;
	align-items: stretch;
}

.thing-card {
	flex: 1;
	width: auto;
	background-color: #000000;
	border: 1px solid #DDA62E;
	padding: 18px 18px 18px 18px;
	text-align: center;
	min-height: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.thing-icon {
	height: 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}

.thing-icon img {
	width: 72px;
	height: 72px;
	object-fit: contain;
}

.thing-card h3 {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 22px;
	line-height: 1.2;
	color: #DDA62E;
	margin-bottom: 10px;
	white-space: nowrap;
}

.thing-card p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.45;
	color: #ffffff;
	max-width: 210px;
}

/* ============================================
   REVIEWS HOME
   ============================================ */
#reviews-home {
	background-color: #1e1e1e;
	background: #1e1e1e;
	width: 100%;
	min-width: 1900px;
	position: relative;
	z-index: 3;
	margin-top: -10px;
}

.reviews-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 90px 0px 90px 0px;
	text-align: center;
}

.reviews-inner .eyebrow {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 17px;
	letter-spacing: .5px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 0px;
}

.reviews-inner h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 55px;
	letter-spacing: 1px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.reviews-inner h2 span {
	font-weight: 700;
	color: #DDA62E;
}

.reviews-sub {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 24px;
	color: #ffffff;
	margin-bottom: 45px;
}

.reviews-grid {
	display: flex;
	gap: 45px;
	text-align: left;
	width: 100%;
	max-width: 1420px;
	margin: 0 auto 55px auto;
	padding: 0px 15px 0px 15px;
}

.review-card {
	flex: 1;
	background-color: #000000;
	border-radius: 10px;
	padding: 40px 42px;
	min-height: 560px;
}

.review-top {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 18px;
}

.avatar {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background-color: #DDA62E;
	color: #000000;
	font-family: 'Barlow', sans-serif;
	font-weight: 700;
	font-size: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.reviewer strong {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 25px;
	color: #DDA62E;
}

.reviewer span {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #ffffff;
}

.stars {
	font-size: 24px;
	letter-spacing: 3px;
	color: #DDA62E;
	margin-bottom: 20px;
}

.review-card p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.35;
	color: #e8e8e8;
	margin-bottom: 18px;
}

.review-card .continue {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #DDA62E;
	text-decoration: underline;
}

.btn-reviews {
	display: inline-block;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 16px;
	background-color: #DDA62E;
	color: #000000;
	padding: 16px 70px;
	margin-top: 5px;
	text-transform: uppercase;
}

.btn-reviews span {
	margin-left: 8px;
}

.review-place {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.5px;
	color: #DDA62E;
	text-transform: uppercase;
	margin-bottom: 8px;
}

.review-place span {
	color: #ffffff;
	font-weight: 400;
	text-transform: none;
}

.review-card .review-title {
	font-weight: 600;
	font-size: 19px;
	color: #ffffff;
	margin-bottom: 12px;
}

.avatar {
	overflow: hidden;
	padding: 0;
}

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

.reviews-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 0 45px 0;
}

#rev-prev,
#rev-next {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	color: #DDA62E;
	background: #000000;
	border: 1px solid #DDA62E;
	width: 48px;
	height: 48px;
	cursor: pointer;
}

#rev-prev:hover:not(:disabled),
#rev-next:hover:not(:disabled) {
	background: #DDA62E;
	color: #000000;
}

#rev-prev:disabled,
#rev-next:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

#rev-numbers {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 900px;
}

.rev-num {
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #ffffff;
	background: transparent;
	border: 1px solid #444444;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	cursor: pointer;
}

.rev-num:hover {
	border-color: #DDA62E;
	color: #DDA62E;
}

.rev-num.active {
	background: #DDA62E;
	border-color: #DDA62E;
	color: #000000;
}

/* ============================================
   DRIVE / LEAVE THE DRIVING 
   ============================================ */
#drive {
	background-color: #1e1e1e;
	background: #1e1e1e;
	width: 100%;
	min-width: 1900px;
}

.drive-inner {
	width: 1900px;
	margin: 0 auto;
	display: flex;
	align-items: stretch;
	min-height: 620px;
}

.drive-left {
	width: 50%;
	position: relative;
	overflow: hidden;
	min-height: 620px;
	display: block;
}

.drive-left img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	left: 0;
}

.drive-fade {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, rgba(30, 30, 30, 0) 76%, rgba(30, 30, 30, 0.7) 85%, rgba(30, 30, 30, 1) 100%);
}

.drive-right {
	width: 50%;
	padding: 90px 70px 90px 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}

.drive-right .eyebrow {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: .5px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.drive-right h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 65px;
	line-height: 1.2;
	color: #ffffff;
	margin-bottom: 20px;
}

.drive-right h2 span {
	font-weight: 700;
	color: #DDA62E;
}

.drive-right p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 25px;
	line-height: 1.35;
	color: #ffffff;
	margin-bottom: 22px;
	max-width: 760px;
}

.drive-right h3 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 65px;
	line-height: 1.2;
	color: #ffffff;
	margin-bottom: 16px;
}

.drive-right .btn-book {
	margin-top: 10px;
	font-size: 18px;
	padding: 14px 26px;
}

.page-about .drive-right.about-copy p {
	font-size: 17px;
	max-width: 700px;
	margin-bottom: 14px;
}

/* ============================================
   FOOTER - BOOK FORM + INFO 
   ============================================ */
#footer,
footer {
	background-color: #000000;
	background: #000000;
}

.ft-top {
	position: relative;
	width: 100%;
	min-width: 1900px;
	overflow: hidden;
	background-color: #000;
}

.ft-top-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.ft-top-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.65);
}

.ft-top-inner {
	position: relative;
	z-index: 2;
	width: 1900px;
	margin: 0 auto;
	padding: 80px 300px;
	text-align: center;
}

.ft-top-inner h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 65px;
	color: #ffffff;
	margin-bottom: 14px;
}

.ft-top-sub {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 23px;
	line-height: 1.6;
	color: #ffffff;
	margin-bottom: 30px;
}

.book-form {
	text-align: center;
}

.book-row {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}

.book-row label {
	flex: 1;
}

.book-row input,
.book-row textarea,
.book-row select {
	width: 100%;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #333;
	background-color: #ffffff;
	border: none;
	padding: 16px 20px;
	outline: none;
}

#bk-guests {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	color: #333 !important;
	background-color: #ffffff !important;
	color-scheme: light;
	cursor: pointer;
	padding-right: 36px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 20px;
	filter: brightness(1) contrast(1);
	/* Very light */
}

#bk-guests option {
	color: #333 !important;
	background-color: #ffffff !important;
	padding: 10px;
}

#bk-guests option[value=""] {
	color: #333 !important;
}

/* Cover label over the guests dropdown: hides the native select text
   and shows NUMBER OF GUEST in #333 instead. Hidden once a value is picked. */
.bk-guests-wrap {
	position: relative;
	background-color: #ffffff;
	border-radius: 3px;
}

.bk-guests-cover {
	position: absolute;
	left: 0;
	top: 0;
	right: 38px;
	bottom: 0;
	display: flex;
	align-items: center;
	padding: 16px 20px;
	padding-right: 36px;
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 18px;
	color: #333;
	background-color: #ffffff;
	pointer-events: none;
	white-space: nowrap;
	overflow: hidden;
}

.bk-guests-wrap.cover-on #bk-guests {
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.bk-guests-wrap.cover-on #bk-guests option {
	color: #333 !important;
}

.bk-guests-wrap.cover-off .bk-guests-cover {
	display: none;
}

.book-row select {
	cursor: pointer;
}

.book-row select option {
	color: #333;
	background-color: #ffffff;
}

.book-row input[type="date"] {
	cursor: pointer;
	min-height: 59px;
}

.book-row textarea {
	min-height: 150px;
	resize: vertical;
}

.book-full label {
	width: 100%;
}

.book-form .g-recaptcha {
	display: flex;
	justify-content: center;
	margin: 14px 0;
}

.ctc-hide {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	color: #000000 !important;
	background-color: #ffffff !important;
}

textarea#g-recaptcha-response {
	display: none !important;
	visibility: hidden !important;
}

.book-form .consent {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 13.5px;
	color: #ffffff;
	margin: 6px 0;
}

.book-form .consent a {
	color: #DDA62E;
	text-decoration: underline;
}

.btn-submit {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 25px;
	letter-spacing: 1px;
	color: #ffffff;
	background: transparent;
	border: 2px solid #ffffff;
	border-radius: 30px;
	padding: 10px 80px;
	margin-top: 18px;
	cursor: pointer;
	text-transform: uppercase;
}

.btn-submit:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.ft-mid {
	background-color: #0d0d0d;
	width: 100%;
	min-width: 1900px;
}

.ft-mid-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 25px 80px 40px 80px;
	display: flex;
	gap: 60px;
	text-align: left;
}

.ft-brand {
	flex: 1.2;
}

.ft-contact,
.ft-tours,
.ft-hours {
	padding-top: 20px;
}

.ft-contact {
	flex: 1;
}

.ft-tours {
	flex: 1;
}

.ft-hours {
	flex: 1 1 auto;
	width: 100%;
	max-width: 340px;
	margin-right: 230px;
}

.ft-logo {
	width: 520px;
	max-width: 100%;
	margin-bottom: 20px;
}

.ft-mid h3 {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 25px;
	letter-spacing: 0.5px;
	color: #DDA62E;
	margin-bottom: 24px;
	text-transform: uppercase;
	position: relative;
}

.ft-brand h3 {
	text-align: center;
}

.ft-soc {
	display: flex;
	gap: 14px;
}

.ft-soc img {
	width: 80px;
	height: 80px;
	object-fit: contain;
	border-radius: 50%;
}

.ft-contact-row {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	margin-bottom: 34px;
}

.ft-contact-row img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	margin-top: 2px;
}

.ft-contact-row span {
	display: block;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 1px;
	color: #ffffff;
	text-align: left;
	margin-left: 0;
}

.ft-contact-row a,
.ft-contact-row div {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 17px;
	color: #ffffff;
	text-align: left;
}

.ft-contact-row>div {
	margin-left: 8px;
}

.ft-contact-row>div>a {
	display: block;
	margin-left: 0;
}

.ft-tours ul li {
	margin-bottom: 12px;
}

.ft-tours ul a {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 16.5px;
	color: #ffffff;
	line-height: 1.5;
}

.ft-hours ul li {
	display: flex;
	justify-content: flex-start;
	gap: 35px;
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15px;
	color: #ffffff;
	margin-bottom: 15px;
}

.ft-hours ul li span:first-child {
	min-width: 110px;
	flex-shrink: 0;
}

.ft-hours ul li:hover {
	color: #DDA62E;
}

.flex-note {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.3px;
	color: #DDA62E;
	margin-top: 12px;
	display: block;
	width: 80%;
	text-align: center;
}

.ft-nav-wrap {
	width: 1900px;
	margin: 0 auto;
	padding: 0 80px 30px 80px;
}

.ft-nav {
	display: flex;
	justify-content: center;
	gap: 45px;
	border-top: 2px solid #DDA62E;
	padding-top: 28px;
}

.ft-nav a {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #ffffff;
	text-transform: uppercase;
}

.ft-bot {
	background-color: #000000;
	width: 100%;
	min-width: 1900px;
	text-align: center;
	padding: 18px 20px;
}

.ft-bot .copy {
	font-family: 'Petrov Sans', sans-serif;
	font-size: 20px;
	letter-spacing: 1px;
	color: #ffffff;
}

.ft-bot .copy a {
	color: #ffffff;
	text-decoration: underline;
}

.hd-bot,
.hd-links,
.nav-holder,
.nav-holder ul,
.nav-holder ul li,
.nav-holder ul li a,
.ft-nav,
.ft-nav li,
.ft-nav a,
.btn-book,
.logo-holder a {
	position: relative;
	z-index: 2000;
	pointer-events: auto;
}

form .messages,
form .messages p,
form img.loading {
	display: none;
}

form .messages p.success,
form .messages p.failed {
	font-family: 'Roboto', sans-serif;
	font-size: 15px;
	color: #ffffff;
	text-align: center;
	margin: 10px 0;
}

form img.loading {
	width: 30px;
	height: 30px;
	margin: 10px auto;
}

/* ============================================
   INNER PAGES 
   ============================================ */
.page-hero {
	background-color: #000000;
	width: 100%;
	min-width: 1900px;
	border-bottom: 1px solid #1c1c1c;
}

.page-hero-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 70px 110px;
	text-align: center;
}

.page-hero-inner .eyebrow {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 16px;
	letter-spacing: 5px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 16px;
}

.page-hero-inner h1 {
	font-family: 'Barlow', sans-serif;
	font-weight: 400;
	font-size: 50px;
	letter-spacing: 1px;
	color: #ffffff;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.page-hero-inner h1 span {
	font-weight: 700;
	font-size: 50px;
	color: #DDA62E;
}

.page-hero-inner h2 span {
	font-weight: 700;
	font-size: 40px;
	color: #DDA62E;
}

.page-hero-inner h3 span {
	font-weight: 700;
	font-size: 40px;
	color: #DDA62E;
}

.page-hero-inner p {
	font-family: 'Roboto', sans-serif;
	font-weight: 400;
	font-size: 35px;
	line-height: 1.35;
	color: #ffffff;
	max-width: 1000px;
	margin: 0 auto;
}

.tours-inner-page {
	padding: 30px 60px 60px 80px;
}

.page-tours .page-hero-inner {
	padding: 45px 110px;
}

/* Services page: smaller images, keep side padding, larger gaps */
.page-tours .tours-inner-page {
	padding: 30px 20px 60px 80px;
}

.page-tours .tours-grid {
	gap: 24px;
}

.page-tours .tours-top .tour-card {
	min-height: 600px;
}

.page-tours .tour-bg {
	object-position: 50% 65%;
	height: 90%;
	width: 90%;
}

.things-page .things-inner {
	padding: 80px 55px 80px 110px;
}

.things-page .things-grid {
	margin: 0 auto;
	justify-content: center;
}

.gallery-block {
	background-color: #000000;
	width: 100%;
	min-width: 1900px;
}

.gallery-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 60px 110px 80px 110px;
	text-align: center;
}

.gallery-inner h2 {
	font-family: 'Barlow', sans-serif;
	font-weight: 600;
	font-size: 42px;
	color: #DDA62E;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.gallery-inner .gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin-bottom: 20px;
}

.gallery-inner .gallery li {
	list-style: none;
}

.gallery-inner .gallery img {
	width: 280px;
	height: 200px;
	object-fit: cover;
}

.gallery-inner .btn-explore {
	margin-top: 20px;
}

.contact-block {
	background-color: #000000;
	width: 100%;
	min-width: 1900px;
}

.contact-inner {
	width: 1900px;
	margin: 0 auto;
	padding: 70px 110px 90px 110px;
	display: flex;
	gap: 70px;
	text-align: left;
}

.contact-info {
	flex: 0 0 420px;
}

.contact-form {
	flex: 1;
}

.contact-info h2 {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 700;
	font-size: 24px;
	color: #DDA62E;
	margin-bottom: 28px;
	text-transform: uppercase;
}

html {
	background: #000000;
	width: 100%;
	/* overflow-x: hidden; */
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	width: 100%;
	margin: 0;
	overflow-x: hidden;
}

.btn-book,
.btn-explore,
.btn-reviews,
.btn-submit,
.view-tour,
.nav-holder ul li a,
.ft-nav a,
.ft-tours ul a {
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.btn-book:hover,
.btn-explore:hover,
.btn-reviews:hover {
	background-color: #EDB93F;
	color: #000000;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(221, 166, 46, 0.35);
}

.btn-submit:hover {
	background-color: #ffffff;
	color: #000000;
	border-color: #ffffff;
	transform: translateY(-2px);
}

.nav-holder ul li:not([class*="active"]) a:hover {
	background-color: #DDA62E;
	color: #000000;
}

.nav-holder ul li[class*="active"] a:hover {
	background-color: #DDA62E;
	color: #000000;
}

.view-tour:hover {
	background-color: #DDA62E;
	color: #000000;
	border-color: #DDA62E;
}

.tour-card .tour-bg {
	transition: transform 0.6s ease;
}

.tour-card:hover .tour-bg {
	transform: scale(1.05);
}

.feature-card,
.thing-card,
.review-card {
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover,
.thing-card:hover,
.review-card:hover {
	transform: translateY(-4px);
	border-color: #DDA62E;
	box-shadow: 0 10px 30px rgba(221, 166, 46, 0.22);
}

.ft-nav a:hover,
.ft-tours ul a:hover,
.ft-contact-row a:hover {
	color: #DDA62E;
}

.ft-soc a img {
	transition: transform 0.25s ease, filter 0.25s ease;
}

.ft-soc a:hover img {
	transform: scale(1.08);
	filter: brightness(1.15);
}

.book-row input:focus,
.book-row textarea:focus,
.book-row select:focus {
	box-shadow: 0 0 0 2px #DDA62E;
}

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

	.btn-book,
	.btn-explore,
	.btn-reviews,
	.btn-submit,
	.view-tour,
	.tour-card .tour-bg,
	.feature-card,
	.thing-card,
	.review-card,
	.ft-soc a img {
		transition: none;
	}
}

/* ============================================
   FIXED 1900 LAYOUT - pinch-zoom stabilization
   Body is proportionally zoomed via JS (layout width / 1900).
   These rules keep the 1900 canvas anchored so browser pinch-zoom
   only magnifies instead of reflowing / shifting sections.
   ============================================ */
html,
body {
	/* overflow-x: hidden; */
	/* overflow-x: clip; */
	max-width: 100%;
	overscroll-behavior-x: none;
}

body {
	position: relative;
	left: 0;
	right: 0;
}

/* Prevent inner full-width sections from creating extra scroll while zoomed */
header,
footer,
#header,
#footer,
#banner,
#welcome,
#tours,
#things,
#reviews-home,
#drive,
.ft-top,
.ft-mid,
.ft-bot,
.page-hero,
.gallery-block,
.contact-block {
	overflow-x: clip;
}

@supports not (overflow: clip) {

	header,
	footer,
	#header,
	#footer,
	#banner,
	#welcome,
	#tours,
	#things,
	#reviews-home,
	#drive,
	.ft-top,
	.ft-mid,
	.ft-bot,
	.page-hero,
	.gallery-block,
	.contact-block {
		overflow-x: hidden;
	}
}

#tours,
#things,
#drive,
footer,
#footer {
	position: relative;
	margin-top: -1px;
}

#reviews-home {
	position: relative;
	z-index: 3;
	margin-top: -10px;
}

/* ============================================
   Slight rounded corners like reference
   Buttons 8px, nav pill 6px, cards 10px, inputs 8px
   ============================================ */
.btn-book,
.btn-explore,
.btn-reviews,
.view-tour,
.routes-nav a {
	border-radius: 2px;
}

.nav-holder ul li a,
.nav-holder ul li.active a,
.nav-holder ul li[class*="active"] a,
.nav-holder ul li.current a {
	border-radius: 8px;
}

.feature-card,
.thing-card,
.tour-card,
.tour-info,
.route-panel,
.page-about .about-article,
.page-tours .about-article,
.page-about .about-photo,
.page-tours .about-photo,
.page-about .about-copy .about-cta,
.page-about .about-article .about-cta,
.page-tours .about-article .about-cta,
.gallery-inner .gallery img {
	border-radius: 2px;
}

.review-card {
	border-radius: 15px;
}

.page-about .about-photo img,
.page-tours .about-photo img {
	border-radius: 2px;
}

.book-row input,
.book-row textarea,
#rev-prev,
#rev-next,
.rev-num {
	border-radius: 3px;
}

.dot,
.avatar,
.ft-soc img {
	border-radius: 50% !important;
}

.ft-bot .copy {
	font-family: 'Petrov Sans', sans-serif;
	font-weight: 400;
	font-size: 20px;
	letter-spacing: 0.5px;
	color: #ffffff;
	text-transform: uppercase;
}


/* ----- POPUP / MODAL (simple, inspired by reference site) ----- */
 /* Basic modal styles */
  .popup-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.75);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    padding: 20px;
  }

  .popup-overlay.active {
    display: block;
  }

  .popup-box {
    background: #000;
    border: 5px solid #fff;
    max-width: 900px;
    width: 90%;
    max-height: 85vh;
    overflow-y: auto;
    border-radius: 10px;
    padding: 30px;
    position: sticky;
	top: 10vh;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
	margin: auto;
  }

  #popupBody .routes-list { column-count: 2; }

  .popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 28px;
    line-height: 1;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
  }

  .popup-close:hover {
    color: #000;
  }

  /* Hide the original inline popup content (it gets moved into the modal) */
  .tour-card .popup-content {
    display: none;
  }