@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Outfit:wght@100..900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
--ptt-orange:#fb0001;
--ptt-navy:#061c2c;
--ptt-navy2:#08243a;
--ptt-ink:#14202b;
--ptt-cream:#faf8f3;
--ptt-max:1480px;
--ptt-font-main:'Outfit', sans-serif;
--ptt-font-script:'Caveat', cursive;
--ptt-serif:'Outfit', sans-serif;
--ptt-sans:'Outfit', sans-serif;
--ptt-script:'Caveat', cursive
}
.ptt-site-header, .ptt-site-footer, .ptt-home {
	font-family:var(--ptt-sans);
	box-sizing:border-box
}
.ptt-site-header *, .ptt-site-footer *, .ptt-home * {
	box-sizing:border-box
}
.ptt-container {
	width:min(93%, var(--ptt-max));
	margin-inline:auto
}
.ptt-site-header {
	background:#fff;
	position:sticky;
	top:0;
	z-index:9999;
	box-shadow:0 4px 30px rgba(5, 28, 44, .08);
transition:.3s
}
.ptt-site-header.is-scrolled {
	height:78px;
	box-shadow:0 8px 35px rgba(5, 28, 44, .13)
}
.ptt-site-header .ptt-container {
	height:100%;
	display:flex;
	align-items:center;
	gap:32px
}
.ptt-site-logo {
	width:230px;
	display:block;
	flex:0 0 auto
}
.ptt-site-logo img {
	display:block;
	width:100%;
	object-fit:contain
}

.ptt-site-nav>ul {
	display:flex;
	align-items:center;
	gap:25px;
	list-style:none;
	margin:0;
	padding:0
}
.ptt-site-nav li {
	position:relative
}
.ptt-site-nav a {
	color:#000;
	text-decoration:none;
	font-size:14px;
	font-weight:600;
	white-space:nowrap;
transition:.25s
}
.ptt-site-nav>ul>li>a {
	height:75px;
	display:flex;
	align-items:center;
	gap:6px;
	position:relative
}
.is-scrolled .ptt-site-nav>ul>li>a {
	height:78px
}
.ptt-site-nav>ul>li>a:after {
	content:'';
	position:absolute;
	left:50%;
	bottom:20px;
	width:0;
	height:2px;
	background:var(--ptt-orange);
	transform:translateX(-50%);
transition:.28s
}
.ptt-site-nav>ul>li:hover>a, .ptt-site-nav>ul>li:focus-within>a {
color:var(--ptt-orange)
}
.ptt-site-nav>ul>li:hover>a:after, .ptt-site-nav>ul>li:focus-within>a:after {
width:100%
}
.ptt-site-dropdown {
	position:absolute;
	top:calc(100% - 8px);
	left:0;
	min-width:265px;
	background:rgba(255, 255, 255, .98);
	padding:10px;
	list-style:none;
	margin:0;
	border:1px solid rgba(7, 31, 48, .08);
	border-radius:16px;
	box-shadow:0 18px 50px rgba(4, 24, 40, .14);
	opacity:0;
	visibility:hidden;
	transform:translateY(8px);
transition:.25s;
	max-height:430px;
	overflow:auto
}
.ptt-site-nav li:hover>.ptt-site-dropdown, .ptt-site-nav li:focus-within>.ptt-site-dropdown {
opacity:1;
visibility:visible;
transform:none
}
.ptt-site-dropdown a {
	display:flex;
	align-items:center;
	gap:10px;
	padding:11px 13px;
	border-radius:9px;
	font-size:13.5px
}
.ptt-site-dropdown a:hover {
	background:rgba(255, 116, 23, .08);
	color:var(--ptt-orange);
	transform:translateX(3px)
}
.ptt-site-book {
	height:50px;
	padding:0 8px 0 25px;
	border-radius:999px;
	background:var(--ptt-orange);
	color:#fff!important;
	text-decoration:none;
	display:flex;
	align-items:center;
	gap:14px;
	font-size:14px;
	font-weight:600;
	box-shadow:0 10px 24px rgba(255, 116, 23, .18);
transition:.3s;
	white-space:nowrap
}
.ptt-site-book span {
	width:35px;
	height:35px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:rgba(255, 255, 255, .16)
}
.ptt-site-book:hover {
	transform:translateY(-2px);
	box-shadow:0 12px 28px rgba(255, 116, 23, .3)
}
.ptt-site-book:hover i {
	transform:translateX(3px)
}
.ptt-site-book i {
transition:.25s
}
.ptt-menu-toggle {
	display:none;
	margin-left:auto;
	width:46px;
	height:46px;
	border:0;
	border-radius:50%;
	background:var(--ptt-navy);
	color:#fff;
	font-size:18px
}
.ptt-mobile-overlay, .ptt-mobile-panel {
	display:none
}
.ptt-home {
	color:var(--ptt-ink);
	overflow:hidden
}
.ptt-home h1, .ptt-home h2, .ptt-home h3, .ptt-home p {
	margin-top:0
}
.ptt-eyebrow {
	display:block;
	color:var(--ptt-orange);
	font-size:12px;
	font-weight:700;
	letter-spacing:2.6px;
	text-transform:uppercase;
	margin-bottom:12px
}
.ptt-home h2 {
	font-family:var(--ptt-serif);
	font-size:clamp(42px, 4vw, 62px);
	line-height:.98;
	color:var(--ptt-navy);
	margin-bottom:14px
}
.ptt-orange {
	color:var(--ptt-orange)
}
.ptt-pill {
	height:50px;
	padding:0 24px;
	border-radius:999px;
	background:var(--ptt-orange);
	color:#fff;
	text-decoration:none;
	display:inline-flex;
	align-items:center;
	gap:12px;
	font-weight:600;
font-size: 15px;
transition:.3s;
	border:1px solid var(--ptt-orange)
}
.ptt-pill:hover {
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(255, 116, 23, .25)
}
.ptt-pill-outline {
	background:transparent;
	border-color:rgba(255, 255, 255, .55)
}
.ptt-hero-slider {
	position:relative;
	background:var(--ptt-navy)
}
.ptt-hero-viewport {
	overflow:hidden
}
.ptt-hero-track {
	display:flex;
	transition:transform 700ms cubic-bezier(.22, .61, .36, 1);
	will-change:transform
}
.ptt-hero-slide {
	flex:0 0 100%;
height: clamp(520px, calc(100vh - 90px), 650px);
	position:relative;
	background-size:cover;
	background-position:center
}
.ptt-hero-slide:before {
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(4, 21, 34, .94) 0%, rgba(4, 21, 34, .74) 38%, rgba(4, 21, 34, .2) 68%, rgba(4, 21, 34, .08) 100%)
}
.ptt-hero-slide .ptt-container {
	height:100%;
	position:relative;
	display:flex;
	align-items:center
}
.ptt-hero-content {
	position:relative;
	z-index:3;
	width:min(650px, 52%);
	padding-bottom:55px
}
.ptt-hero-content h1 {
	font-family:var(--ptt-serif);
	font-size:clamp(72px, 6.2vw, 104px);
	line-height:.82;
	color:#fff;
	margin:0 0 24px;
	font-weight:700
}
.ptt-hero-content h1 span {
	display:block;
	color:var(--ptt-orange)
}
.ptt-hero-content>p {
	font-size:21px;
	line-height:1.45;
	color:#fff;
	max-width:550px;
	margin-bottom:24px
}
.ptt-hero-benefits {
	display:flex;
	gap:28px;
	color:#fff;
	font-size:12px;
	font-weight:600;
	margin:0 0 26px
}
.ptt-hero-benefits span {
	display:flex;
	align-items:center;
	gap:8px;
	font-size: 15px;
}
.ptt-hero-benefits i {
	color:var(--ptt-orange);
	font-size:20px
}
.ptt-hero-actions {
	display:flex;
	gap:14px
}
.ptt-hero-detail {
	position:absolute;
	right:1%;
	bottom:150px;
	color:#fff;
	text-align:center;
	z-index:2
}
.ptt-hero-detail strong {
	font-family:var(--ptt-font-script);
	font-size:48px;
	font-weight:400;
	line-height:.7;
	display:block;
	transform:rotate(-6deg)
}
.ptt-hero-detail small {
	display:block;
	margin-top:18px;
	letter-spacing:4px;
	font-size:10px
}
.ptt-hero-vehicles {
	position:absolute;
	z-index:3;
	right:0;
	bottom:0;
	width:min(58%, 850px);
	height:260px;
	display:flex;
	align-items:flex-end;
	justify-content:flex-end;
	gap:0;
	pointer-events:none
}
.ptt-hero-vehicles img {
	width:31%;
	height:230px;
	object-fit:contain;
	filter:drop-shadow(0 12px 10px rgba(0, 0, 0, .28));
	margin-left:-5%
}
.ptt-hero-vehicles img:last-child {
	width:39%;
	height:260px
}
.ptt-carousel-arrow {
	position:absolute;
	top:50%;
	z-index:20;
	width:50px;
	height:50px;
	border-radius:50%;
	border:1px solid rgba(255, 255, 255, .35);
	background:rgba(4, 24, 40, .45);
	backdrop-filter:blur(8px);
	color:#fff;
	display:grid;
	place-items:center;
	cursor:pointer;
transition:.25s
}
.ptt-carousel-arrow:hover {
	background:var(--ptt-orange);
	border-color:var(--ptt-orange);
	transform:translateY(-50%) scale(1.06)
}
.ptt-carousel-prev {
	left:18px;
	transform:translateY(-50%)
}
.ptt-carousel-next {
	right:18px;
	transform:translateY(-50%)
}
.ptt-carousel-dots {
	display:flex;
	justify-content:center;
	gap:7px;
	position:absolute;
	left:50%;
	bottom:18px;
	transform:translateX(-50%);
	z-index:15
}
.ptt-carousel-dot {
	width:7px;
	height:7px;
	border:0;
	border-radius:20px;
	background:rgba(255, 255, 255, .45);
	padding:0
}
.ptt-carousel-dot.active {
	width:25px;
	background:var(--ptt-orange)
}
.ptt-home-services {
	background:#fbfaf6;
	min-height:140px;
	display:flex;
	align-items:center;
	border-bottom:1px solid #eee
}
.ptt-service-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr) 1.25fr;
	align-items:center
}
.ptt-service-item {
	display:grid;
	grid-template-columns:45px 1fr;
	gap:12px;
	align-items:center;
	padding:18px 24px;
	border-right:1px solid #e6e2da
}
.ptt-service-item i {
	font-size:30px;
	color:var(--ptt-navy)
}
.ptt-service-item b {
	display:block;
	color:var(--ptt-navy);
	font-size:17px
}
.ptt-service-item small {
	font-size:15px;
	color:#000
}
.ptt-service-note {
	padding-left:38px;
	font-size:12px;
	letter-spacing:4px;
	line-height:1.7;
	font-weight:700;
	color:var(--ptt-navy)
}
.ptt-home-airport {
	background:var(--ptt-cream);
	padding:95px 0
}
.ptt-airport-grid {
	min-height:540px;
	display:grid;
grid-template-columns:1.08fr .92fr;
	align-items:center;
	gap:70px
}
.ptt-airport-copy p {
	font-size:17px;
	line-height:1.8;
	color:#5b6770;
	max-width:680px
}
.ptt-airport-benefits {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:14px;
	margin:28px 0
}
.ptt-airport-benefits div {
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:600;
	color:var(--ptt-navy)
}
.ptt-airport-benefits i {
	width:40px;
	height:40px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#fff;
	color:var(--ptt-orange);
	box-shadow:0 6px 20px rgba(5, 28, 44, .08)
}
.ptt-airport-visual {
	height:440px;
	position:relative;
	border-radius:24px;
	background:linear-gradient(145deg, #fff, #f3ece2);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden
}
.ptt-airport-visual>img:not(.ptt-airport-jodhpur-art) {
width:82%;
height:82%;
object-fit:contain;
filter:drop-shadow(0 20px 20px rgba(6, 28, 44, .2))
}
.ptt-airport-jodhpur-art[src=""] {
	display:none
}
.ptt-airport-jodhpur-art {
	position:absolute;
	right:0;
	bottom:0;
	max-width:55%;
	max-height:55%;
	object-fit:contain
}
.ptt-airport-tag {
	position:absolute;
	left:24px;
	top:24px;
	background:#fff;
	border-radius:14px;
	padding:13px 16px;
	box-shadow:0 10px 30px rgba(6, 28, 44, .1);
	font-size:13px;
	font-weight:600;
	color:var(--ptt-navy)
}
.ptt-airport-tag i {
	color:var(--ptt-orange);
	margin-right:7px
}
.ptt-home-about {
	padding:70px 0;
	background:#fff
}
.ptt-about-grid {
	display:grid;
	grid-template-columns:34fr 42fr 24fr;
	gap:46px;
	align-items:center
}
.ptt-about-copy p {
	font-size:16px;
	line-height:1.4;
	color:#000;
}
.ptt-about-image {
	height:470px;
	border-radius:20px;
	overflow:hidden;
	position:relative
}
.ptt-about-image img {
	width:100%;
	height:100%;
	object-fit:cover
}
.ptt-about-overlay {
	position:absolute;
	inset:auto 0 0;
	padding:70px 28px 28px;
	color:#fff;
	background:linear-gradient(transparent, rgba(0, 0, 0, .78));
	font-family:var(--ptt-serif);
	font-size:38px;
	line-height:.9
}
.ptt-about-stats {
	display:grid;
	gap:12px
}
.ptt-stat {
	min-height:92px;
	border-radius:14px;
	background:#fff;
	box-shadow:0 8px 30px rgba(5, 28, 44, .07);
	display:grid;
	grid-template-columns:50px 1fr;
	align-items:center;
	padding:16px
}
.ptt-stat i {
	font-size:27px;
	color:var(--ptt-orange)
}
.ptt-stat b {
	font-size:24px;
	color:var(--ptt-navy);
	display:block
}
.ptt-stat small {
	color:#000;
		font-size:16px;
		font-weight:700;
}
.ptt-home-fleet {
	padding:70px 0;
	background:linear-gradient(120deg, #041827, #082c49);
	color:#fff
}
.ptt-home-fleet h2, .ptt-home-packages h2, .ptt-home-testimonials h2 {
	color:#fff
}
.ptt-section-head {
	display:flex;
	justify-content:space-between;
	align-items:end;
	gap:30px;
	margin-bottom:34px
}
.ptt-section-head p {
	margin:0;
	color:#000
}
.ptt-home-fleet .ptt-section-head p {
	color:#b6c3cb
}
.ptt-fleet-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:18px
}
.ptt-fleet-card {
	background:#fff;
	border-radius:16px;
	overflow:hidden;
	color:var(--ptt-ink);
transition:.35s;
	min-height:390px
}
.ptt-fleet-card:hover {
	transform:translateY(-7px);
	box-shadow:0 20px 45px rgba(0, 0, 0, .22)
}
.ptt-fleet-card img {
	width:100%;
	height:295px;
	object-fit:cover;
transition:.4s
}
.ptt-fleet-card:hover img {
	transform:scale(1.03)
}
.ptt-fleet-card-body {
	padding:17px
}
.ptt-fleet-card h3 {
	font-size:21px;
	margin:0 0 4px
}
.ptt-fleet-card p {
	font-size:15px;
	color:#000;
	min-height:38px;
	line-height:1.4;
}
.ptt-specs {
	display:flex;
	gap:15px;
	font-size:15px;
	color:#000;
}
.ptt-specs i {
	margin-right:4px
}
.ptt-card-book {
	margin-top:12px;
	height:34px;
	padding:0 17px;
	font-size:15px
}
.ptt-home-destinations {
	padding:70px 0;
	background:#fff
}
.ptt-destination-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:16px
}
.ptt-destination-card img {
	width:100%;
	object-fit:cover;
	border-radius:13px;
transition:.35s
}
.ptt-destination-card:hover img {
	transform:scale(1.025)
}
.ptt-destination-card h3 {
	font-size:21px;
	margin:10px 0 2px
}
.ptt-destination-card small {
	font-size:15px;
	color:#000
}
.ptt-home-packages {
	position:relative;
	padding:95px 0;
	background: url('../images/jodhpur-night-bg.webp') center/cover no-repeat;
	color:#fff
}
.ptt-home-packages:before {
	content:'';
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(3, 20, 33, .93), rgba(3, 20, 33, .68) 48%, rgba(3, 20, 33, .2))
}
.ptt-package-layout {
	position:relative;
	z-index:2;
	display:grid;
	grid-template-columns:40% 60%;
	gap:38px;
	align-items:center
}
.ptt-package-copy p {
	max-width:520px;
	color:#d9e0e5;
	line-height:1.65
}
.ptt-package-carousel {
	position:relative;
	padding:0 54px
}
.ptt-package-viewport {
	overflow:hidden
}
.ptt-package-track, .ptt-testimonial-track {
	display:flex;
	transition:transform 650ms cubic-bezier(.22, .61, .36, 1);
	will-change:transform
}
.ptt-package-slide {
	flex:0 0 33.333%;
	padding:0 8px
}
.ptt-package-card {
	background:#fff;
	color:var(--ptt-ink);
	padding:10px;
	border-radius:16px;
	min-height:410px
}
.ptt-package-card img {
	width:100%;
	height:265px;
	object-fit:cover;
	border-radius:11px
}
.ptt-package-card h3 {
	font-size:15px;
	margin:12px 3px 10px;
	min-height:42px
}
.ptt-package-card a {
	height:38px;
	padding:0 15px;
	border:1px solid #cbd3d8;
	border-radius:999px;
	color:var(--ptt-navy);
	text-decoration:none;
	font-size:11px;
	font-weight:600;
	display:inline-flex;
	align-items:center;
	gap:8px
}
.ptt-package-carousel .ptt-carousel-prev {
	left:0
}
.ptt-package-carousel .ptt-carousel-next {
	right:0
}
.ptt-priority {
	padding:72px 0;
	background-color:#fff;
	background-image:none;
	text-align:center
}
.ptt-priority h2 {
	font-size:50px
}
.ptt-priority-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:18px;
	margin-top:28px
}
.ptt-priority-card {
	min-height:130px;
	border:1px solid #eee8df;
	border-radius:14px;
	box-shadow:0 8px 25px rgba(5, 28, 44, .05);
	display:flex;
	align-items:center;
	text-align:left;
	padding:20px;
	gap:17px;
	background:#fff
}
.ptt-priority-card i {
	font-size:30px;
	color:var(--ptt-orange)
}
.ptt-priority-card b {
	display:block;
	font-size:13px
}
.ptt-priority-card small {
	font-size:11px;
	color:#6d777e
}
.ptt-home-testimonials {
	padding:90px 0 110px;
	background:linear-gradient(120deg, #052039, #082d4b);
	color:#fff
}
.ptt-testimonial-carousel {
	position:relative;
	padding:0 58px
}
.ptt-testimonial-viewport {
	overflow:hidden
}
.ptt-testimonial-slide {
	flex:0 0 33.333%;
	padding:0 12px
}
.ptt-testimonial-card {
	background:#fff;
	color:var(--ptt-ink);
	border-radius:14px;
	padding:24px;
	min-height:250px
}
.ptt-stars {
	color:var(--ptt-orange);
	letter-spacing:3px;
	margin-bottom:15px
}
.ptt-testimonial-card p {
	font-size:14px;
	line-height:1.65;
	min-height:95px
}
.ptt-person {
	display:flex;
	align-items:center;
	gap:12px
}
.ptt-avatar {
	width:46px;
	height:46px;
	border-radius:50%;
	background:#e7edf1;
	display:grid;
	place-items:center;
	color:var(--ptt-navy)
}
.ptt-person b, .ptt-person small {
	display:block
}
.ptt-person small {
	color:#7a8389
}
.ptt-home-testimonials .ptt-carousel-dots {
	bottom:-42px
}
.ptt-home-cta {
	min-height:360px;
	background-color:#071b2b;
	background-image:none;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	color:#fff;
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center
}
.ptt-home-cta:before {
	content:'';
	position:absolute;
	inset:0;
	background:rgba(7, 27, 43, .18)
}
.ptt-cta-content {
	position:relative;
	z-index:2;
	max-width:760px;
	padding:60px 20px
}
.ptt-home-cta h2 {
	color:#fff;
	font-size:58px
}
.ptt-home-cta p {
	font-size:16px;
	color:#fff;
	margin-bottom:24px
}
.ptt-site-footer {
	background:#061c2c;
	color:#d4dce2;
	padding:78px 0 0
}
.ptt-footer-grid {
	display:grid;
	grid-template-columns:1.25fr 1fr 1fr 1.15fr;
	gap:50px
}
.ptt-footer-logo {
	width:180px;
	background:#fff;
	border-radius:8px;
	padding:4px;
	margin-bottom:18px
}
.ptt-site-footer p, .ptt-site-footer a {
	font-size:13px;
	line-height:1.8;
	color:#c5d0d7;
	text-decoration:none
}
.ptt-site-footer h4 {
	color:#fff;
	font-size:16px;
	margin:0 0 18px
}
.ptt-footer-links a {
	display:block;
	margin:3px 0;
transition:.25s
}
.ptt-footer-links a:hover {
	color:var(--ptt-orange);
	transform:translateX(4px)
}
.ptt-footer-social {
	display:flex;
	gap:10px;
	margin-top:18px
}
.ptt-footer-social a {
	width:43px;
	height:43px;
	border-radius:50%;
	background:rgba(255, 255, 255, .08);
	display:grid;
	place-items:center
}
.ptt-footer-bottom {
	margin-top:55px;
	border-top:1px solid rgba(255, 255, 255, .1);
	padding:22px 0;
	display:flex;
	justify-content:space-between;
	gap:20px
}
.ptt-footer-bottom div {
	display:flex;
	gap:20px
}
.ptt-backtop {
	position:fixed;
	right:28px;
	bottom:28px;
	width:50px;
	height:50px;
	border:0;
	border-radius:50%;
	background:var(--ptt-orange);
	color:#fff;
	z-index:9000;
	opacity:0;
	visibility:hidden;
	transform:translateY(12px);
transition:.3s
}
.ptt-backtop.show {
	opacity:1;
	visibility:visible;
	transform:none
}
.ptt-reveal {
	opacity:0;
	transform:translateY(28px);
transition:opacity .8s, transform .8s
}
.ptt-reveal.ptt-in {
	opacity:1;
	transform:none
}
@media(max-width:1199px) {
.ptt-site-nav>ul {
gap:15px
}
.ptt-site-nav a {
font-size:12.5px
}
.ptt-site-logo {
width:170px
}
.ptt-fleet-grid {
grid-template-columns:repeat(3, 1fr)
}
.ptt-destination-grid {
grid-template-columns:repeat(3, 1fr)
}
.ptt-package-layout {
grid-template-columns:36% 64%
}
.ptt-package-slide {
flex-basis:50%
}
}
@media(max-width:991px) {
.ptt-site-header {
height:55px
}

.ptt-site-header.is-scrolled {
     height:48px; 
}


.ptt-site-logo {
width:150px
}
.ptt-site-logo img {
height:46px
}
.ptt-site-nav, .ptt-site-book {
display:none
}
.ptt-menu-toggle {
display:grid;
place-items:center
}
.ptt-mobile-overlay {
display:block;
position:fixed;
inset:0;
background:rgba(2, 14, 24, .55);
opacity:0;
visibility:hidden;
z-index:10000;
transition:.3s
}
.ptt-mobile-panel {
display:block;
position:fixed;
top:0;
right:0;
width:min(88vw, 390px);
height:100dvh;
background:#fff;
z-index:10001;
transform:translateX(100%);
transition:.35s;
padding:24px;
overflow:auto
}
.ptt-menu-open .ptt-mobile-overlay {
opacity:1;
visibility:visible
}
.ptt-menu-open .ptt-mobile-panel {
transform:none
}
.ptt-mobile-head {
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px
}
.ptt-mobile-close {
width:42px;
height:42px;
border:0;
border-radius:50%;
background:#f3f4f5
}
.ptt-mobile-nav {
list-style:none;
padding:0;
margin:0
}
.ptt-mobile-nav>li {
border-bottom:1px solid #eee
}
.ptt-mobile-nav a, .ptt-mobile-parent {
width:100%;
display:flex;
justify-content:space-between;
padding:15px 0;
color:var(--ptt-navy);
text-decoration:none;
background:none;
border:0;
font:600 14px var(--ptt-sans);
text-align:left
}
.ptt-mobile-sub {
list-style:none;
padding:0 0 0 15px;
max-height:0;
overflow:hidden;
transition:max-height .35s
}
.ptt-mobile-sub.open {
max-height:500px
}
.ptt-mobile-sub a {
font-size:12.5px;
font-weight:500
}
.ptt-mobile-book {
display:flex!important;
margin-top:22px;
justify-content:center
}
.ptt-hero-slide {
height:680px
}
.ptt-hero-content {
width:68%;
padding-bottom:110px
}
.ptt-hero-content h1 {
font-size:70px
}
.ptt-hero-vehicles {
width:60%;
height:200px
}
.ptt-hero-vehicles img {
height:170px
}
.ptt-hero-vehicles img:last-child {
height:195px
}
.ptt-hero-detail {
display:none
}
.ptt-service-grid {
grid-template-columns:repeat(2, 1fr)
}
.ptt-service-note {
display:none
}
.ptt-airport-grid {
grid-template-columns:1fr 1fr;
gap:35px
}
.ptt-about-grid {
grid-template-columns:1fr 1fr
}
.ptt-about-stats {
grid-column:1/-1;
grid-template-columns:repeat(4, 1fr)
}
.ptt-fleet-grid {
grid-template-columns:repeat(2, 1fr)
}
.ptt-package-layout {
grid-template-columns:1fr
}
.ptt-package-copy {
max-width:600px
}
.ptt-priority-grid {
grid-template-columns:repeat(2, 1fr)
}
.ptt-testimonial-slide {
flex-basis:50%
}
.ptt-footer-grid {
grid-template-columns:repeat(2, 1fr)
}
}
@media(max-width:767px) {
.ptt-container {
width:calc(100% - 28px)
}
.ptt-hero-slide {
height:680px;
background-position:center
}
.ptt-hero-slide:before {
background:linear-gradient(180deg, rgba(4, 21, 34, .9), rgba(4, 21, 34, .68) 70%, rgba(4, 21, 34, .35))
}
.ptt-hero-content {
width:100%;
align-self:flex-start;
padding-top:75px;
padding-bottom:180px
}
.ptt-hero-content h1 {
font-size:56px
}
.ptt-hero-content>p {
font-size:16px;
max-width:430px
}
.ptt-hero-benefits {
gap:14px;
flex-wrap:wrap;
font-size:11px
}
.ptt-hero-actions .ptt-pill {
padding:0 16px;
height:46px;
font-size:12px
}
.ptt-hero-vehicles {
width:100%;
height:180px;
right:-5%;
}
.ptt-hero-vehicles img {
height:145px
}
.ptt-hero-vehicles img:last-child {
height:170px
}
.ptt-carousel-arrow {
width:42px;
height:42px;
top:auto;
bottom:18px
}
.ptt-carousel-prev {
left:18px;
transform:none
}
.ptt-carousel-next {
right:18px;
transform:none
}
.ptt-carousel-arrow:hover {
transform:scale(1.04)
}
.ptt-hero-slider>.ptt-carousel-dots {
bottom:35px
}
.ptt-home-services {
padding:18px 0
}
.ptt-service-grid {
grid-template-columns:repeat(2, 1fr)
}
.ptt-service-item {
padding:16px 8px;
grid-template-columns:34px 1fr
}
.ptt-service-item i {
font-size:24px
}
.ptt-home-airport, .ptt-home-about, .ptt-home-fleet, .ptt-home-destinations, .ptt-home-packages, .ptt-home-testimonials {
padding: 65px 20px;
}
.ptt-airport-grid {
grid-template-columns:1fr;
min-height:0
}
.ptt-airport-visual {
height:330px
}
.ptt-airport-benefits {
grid-template-columns:1fr
}
.ptt-about-grid {
grid-template-columns:1fr;
gap:25px
}
.ptt-about-image {
height:390px
}
.ptt-about-stats {
grid-template-columns:repeat(2, 1fr)
}
.ptt-stat {
grid-template-columns:38px 1fr
}
.ptt-stat b {
font-size:19px
}
.ptt-fleet-grid {
grid-template-columns:1fr
}
.ptt-fleet-card {
min-height:0
}
.ptt-destination-grid {
grid-template-columns:repeat(2, 1fr)
}
.ptt-package-carousel, .ptt-testimonial-carousel {
padding:0 46px
}
.ptt-package-slide, .ptt-testimonial-slide {
flex-basis:100%
}
.ptt-priority {
padding:58px 0
}
.ptt-priority h2 {
font-size:40px
}
.ptt-priority-grid {
grid-template-columns:1fr
}
.ptt-home-cta {
min-height:340px
}
.ptt-home-cta h2 {
font-size:44px
}
.ptt-footer-grid {
grid-template-columns:1fr;
gap:28px
}
.ptt-footer-bottom {
flex-direction:column
}
.ptt-section-head {
align-items:flex-start;
flex-direction:column
}
.ptt-home h2 {
font-size:42px
}
}
@media(max-width:430px) {
.ptt-hero-content {
padding-top:60px
}
.ptt-hero-content h1 {
font-size:50px
}
.ptt-hero-benefits {
display:grid;
grid-template-columns:1fr 1fr
}
.ptt-hero-vehicles img {
width:35%;
margin-left:-8%
}
.ptt-service-item b {
font-size:12px
}
.ptt-about-stats {
grid-template-columns:1fr 1fr
}
.ptt-destination-grid {
gap:10px
}
.ptt-package-carousel, .ptt-testimonial-carousel {
padding:0 38px
}
.ptt-carousel-arrow {
width:38px;
height:38px
}
.ptt-home h2 {
font-size:38px
}
}
@media(prefers-reduced-motion:reduce) {
.ptt-hero-track, .ptt-package-track, .ptt-testimonial-track, .ptt-reveal, * {
scroll-behavior:auto!important;
transition-duration:.01ms!important;
animation-duration:.01ms!important
}
}
/* USER: ADD YOUR JOURNEY / PRIORITY BACKGROUND HERE */
.ptt-priority {
	background-image:none;
}
/* USER: ADD CTA BACKGROUND HERE */
.ptt-home-cta {
	background-image:url(../images/day-tour-bg.webp);
}
/* USER WILL ADD JODHPUR PNG HERE */

/* 2026-09-22 requested fixes */
.ptt-home-services {
	position:relative;
	overflow:hidden;
	background:#fbfaf6;
}
.ptt-home-services::after {
content:"";
position:absolute;
right:0;
bottom:0;
width:clamp(120px, 20vw, 260px);
height:100%;
background:url('../images/jodhpur-sketch.webp') right bottom/contain no-repeat;
pointer-events:none;
opacity:.95;
}
.ptt-home-services .ptt-container {
	position:relative;
	z-index:1;
}
.ptt-hero-vehicles {
	display:none!important;
}
@media(max-width:991px) {
.ptt-home-services::after {
width:180px;
opacity:.42
}
.ptt-service-note {
display:block;
padding-left:24px;
}
}
@media(max-width:767px) {
.ptt-home-services::after {
display:none
}
.ptt-service-note {
display:none
}
.ptt-hero-content {
padding-bottom:70px;
}
}


/* =========================================================
   PTT - CURATED JOURNEYS
   Completely namespaced / isolated component
   ========================================================= */

.ptt-cj-section {
    --ptt-cj-orange: #fb0001;
    --ptt-cj-navy: #071d2f;
    --ptt-cj-white: #ffffff;

    /*
       IMPORTANT:
       Put your EXISTING APPROVED Curated Journeys
       background image here.
    */
    --ptt-cj-bg-image: url("../images/jodhpur-night-bg.webp");

    position: relative;
    width: 100%;
    min-height: 510px;
    overflow: hidden;
    background-color: #071d2f;
    color: #fff;
    isolation: isolate;
}


/* STATIC BACKGROUND - NEVER PART OF CAROUSEL */

.ptt-cj-bg {
    position: absolute;
    inset: 0;
    z-index: -2;

    background-image: var(--ptt-cj-bg-image);
    background-size: cover;
    background-repeat: no-repeat;

    /*
      Matches reference:
      traveller remains around center-left,
      dark blue remains behind cards.
    */
    background-position: center center;
}


/* Subtle darkening only for text readability */

.ptt-cj-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;

 background: linear-gradient(
  90deg,
  rgba(3, 15, 25, 0.88) 0%,
  rgba(3, 15, 25, 0.68) 50%,
  rgba(3, 15, 25, 0.45) 100%
);
}


/* MAIN LAYOUT */

.ptt-cj-container {
    width: min(93%, 1480px);
    min-height: 510px;
    margin-inline: auto;

    display: grid;
    grid-template-columns: minmax(0, 47%) minmax(0, 53%);
    align-items: center;

    gap: 36px;

    padding: 48px 0;
}


/* =========================================================
   LEFT CONTENT
   ========================================================= */

.ptt-cj-copy {
    position: relative;
    z-index: 3;

    max-width: 550px;
    align-self: start;

    padding-top: 18px;
}


.ptt-cj-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;

    margin: 0 0 16px;

    color: var(--ptt-cj-orange);

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: 2.1px;
    text-transform: uppercase;
}



.ptt-cj-eyebrow i {
    font-size: 10px;
}


.ptt-cj-heading {
    margin: 0;

    color: #fff!important;

    font-family:var(--ptt-font-main);
    font-size: clamp(48px, 4.1vw, 66px)!important;
    font-weight: 700;

    line-height: .91;
    letter-spacing: -.8px;
}


.ptt-cj-heading span {
    color: var(--ptt-cj-orange);
}


.ptt-cj-description {
    max-width: 510px;

    margin: 22px 0 27px;

    color: rgba(255, 255, 255, .92);

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 400;

    line-height: 1.55;
}


.ptt-cj-explore {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    min-height: 48px;
    padding: 0 25px;

    border-radius: 999px;

    background: var(--ptt-cj-orange);
    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    font-weight: 600;

    text-decoration: none;

    box-shadow: 0 10px 24px rgba(255, 116, 23, .20);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        background-color .28s ease;
}


.ptt-cj-explore i {
    font-size: 11px;
    transition: transform .28s ease;
}


.ptt-cj-explore:hover {
    color: #fff;
    background: #ff812d;

    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(255, 116, 23, .30);
}


.ptt-cj-explore:hover i {
    transform: translateX(4px);
}


/* =========================================================
   CAROUSEL
   ========================================================= */

.ptt-cj-carousel {
    --ptt-cj-gap: 14px;

    position: relative;

    min-width: 0;
    width: 100%;

    padding: 0 1px 27px;
}


.ptt-cj-viewport {
    width: 100%;
    overflow: hidden;

    /*
       Important for mobile:
       vertical scrolling still works normally.
    */
    touch-action: pan-y;
}


.ptt-cj-track {
    display: flex;
    align-items: stretch;

    gap: var(--ptt-cj-gap);

    will-change: transform;

    transform: translate3d(0, 0, 0);

    transition:
        transform 650ms cubic-bezier(.22, .61, .36, 1);
}


/* 3 EXACT VISIBLE CARDS */

.ptt-cj-card {
    flex:
        0 0
        calc(
            (100% - (var(--ptt-cj-gap) * 2)) / 3
        );

    min-width: 0;

    overflow: hidden;

    background: #fff;
    color: #071b2b;

    border: 5px solid #fff;
    border-radius: 11px;

    box-shadow:
        0 7px 22px rgba(0, 0, 0, .20);

    transition:
        transform .32s ease,
        box-shadow .32s ease;
}


.ptt-cj-card:hover {
    transform: translateY(-4px);

    box-shadow:
        0 13px 30px rgba(0, 0, 0, .28);
}


/* PACKAGE IMAGE */

.ptt-cj-image-link {
    position: relative;

    display: block;

    width: 100%;
    height: 232px;

    overflow: hidden;

    border-radius: 7px;

    background: #e9e9e9;
}


.ptt-cj-image-link img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .45s ease;
}


.ptt-cj-card:hover .ptt-cj-image-link img {
    transform: scale(1.035);
}


/* PACKAGE BODY */

.ptt-cj-card-body {
    display: flex;
    flex-direction: column;

    min-height: 157px;

    padding: 15px 12px 12px;
}


.ptt-cj-card-body h3 {
    margin: 0 0 8px;

    color: #071b2b;

    font-family: "Outfit", sans-serif;
    font-size: 20px;
    font-weight: 700;

    line-height: 1.3;
}


.ptt-cj-card-body p {
    margin: 0 0 15px;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 15px;

    line-height: 1.45;
}


.ptt-cj-card-body p strong {
    font-weight: 700;
}


/* VIEW DETAILS */

.ptt-cj-details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    width: fit-content;
    min-height: 38px;

    margin-top: auto;

    padding: 0 16px;

    border: 1px solid rgba(7, 29, 47, .32);
    border-radius: 999px;

    color: #071b2b;
    background: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 11.5px;
    font-weight: 600;

    text-decoration: none;

    transition:
        color .25s ease,
        background-color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.ptt-cj-details i {
    font-size: 10px;

    transition: transform .25s ease;
}


.ptt-cj-details:hover {
    color: #fff;

    background: var(--ptt-cj-orange);
    border-color: var(--ptt-cj-orange);

    transform: translateY(-1px);
}


.ptt-cj-details:hover i {
    transform: translateX(3px);
}


/* =========================================================
   LEFT / RIGHT ARROWS
   ========================================================= */

.ptt-cj-arrow {
    position: absolute;
    top: 50%;
    z-index: 15;

    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;

    background: rgba(4, 24, 40, .78);
    color: #fff;

    cursor: pointer;

    box-shadow:
        0 7px 18px rgba(0, 0, 0, .22);

    transform: translateY(-50%);

    transition:
        background-color .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.ptt-cj-arrow i {
    font-size: 13px;
    pointer-events: none;
}


.ptt-cj-arrow:hover {
    background: var(--ptt-cj-orange);
    border-color: var(--ptt-cj-orange);

    transform:
        translateY(-50%)
        scale(1.07);
}


.ptt-cj-prev {
    left: -21px;
}


.ptt-cj-next {
    right: -21px;
}


.ptt-cj-arrow:focus-visible,
.ptt-cj-explore:focus-visible,
.ptt-cj-details:focus-visible {
    outline: 3px solid rgba(255, 116, 23, .45);
    outline-offset: 3px;
}


/* =========================================================
   DOTS
   ========================================================= */

.ptt-cj-dots {
    position: absolute;

    left: 50%;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    transform: translateX(-50%);
}


.ptt-cj-dot {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(255, 255, 255, .42);

    cursor: pointer;

    transition:
        width .25s ease,
        border-radius .25s ease,
        background-color .25s ease;
}


.ptt-cj-dot.is-active {
    width: 22px;

    border-radius: 999px;

    background: var(--ptt-cj-orange);
}


/* =========================================================
   <= 1399
   ========================================================= */

@media (max-width: 1399px) {

    .ptt-cj-container {
        width: min(93%, 1320px);

        grid-template-columns:
            minmax(0, 45%)
            minmax(0, 55%);

        gap: 28px;
    }

    .ptt-cj-heading {
        font-size: 53px;
    }

    .ptt-cj-image-link {
        height: 205px;
    }

}


/* =========================================================
   <= 1199
   TWO CARDS
   ========================================================= */

@media (max-width: 1199px) {

    .ptt-cj-section,
    .ptt-cj-container {
        min-height: 500px;
    }

    .ptt-cj-container {
        width: calc(100% - 56px);

        grid-template-columns:
            minmax(0, 42%)
            minmax(0, 58%);
    }

    .ptt-cj-heading {
        font-size: 48px;
    }

    .ptt-cj-card {
        flex:
            0 0
            calc(
                (100% - var(--ptt-cj-gap)) / 2
            );
    }

    .ptt-cj-image-link {
        height: 220px;
    }

}


/* =========================================================
   <= 991
   STACKED TABLET
   ========================================================= */

@media (max-width: 991px) {

    .ptt-cj-section {
        min-height: auto;
    }

    .ptt-cj-bg {
        background-position: 38% center;
    }

    .ptt-cj-container {
        width: calc(100% - 40px);

        min-height: auto;

        grid-template-columns: 1fr;

        gap: 38px;

        padding: 64px 0;
    }

    .ptt-cj-copy {
        max-width: 620px;

        padding-top: 0;
    }

    .ptt-cj-heading {
        font-size: 52px;
    }

    .ptt-cj-description {
        max-width: 550px;
    }

    .ptt-cj-carousel {
        width: calc(100% - 12px);
        margin-inline: auto;
    }

    .ptt-cj-image-link {
        height: 270px;
    }

}


/* =========================================================
   <= 767
   ONE CARD
   ========================================================= */

@media (max-width: 767px) {

    .ptt-cj-container {
        width: calc(100% - 30px);

        padding:
            55px 0
            50px;
    }

    .ptt-cj-section::before {
        background:
            linear-gradient(
                180deg,
                rgba(3, 20, 33, .42),
                rgba(3, 20, 33, .70)
            );
    }

    .ptt-cj-bg {
        background-position: 35% center;
    }

    .ptt-cj-eyebrow {
        font-size: 10px;
        letter-spacing: 1.8px;
    }

    .ptt-cj-heading {
        font-size: clamp(41px, 11vw, 50px);
    }

    .ptt-cj-description {
        margin-top: 17px;

        font-size: 14px;
    }

    .ptt-cj-card {
        flex: 0 0 100%;
    }

    .ptt-cj-image-link {
        height: 310px;
    }

    .ptt-cj-card-body {
        min-height: 150px;

        padding: 16px 15px 14px;
    }

    .ptt-cj-card-body h3 {
        font-size: 16px;
    }

    .ptt-cj-card-body p {
        font-size: 13px;
    }

    .ptt-cj-arrow {
        width: 40px;
        height: 40px;
    }

    .ptt-cj-prev {
        left: -12px;
    }

    .ptt-cj-next {
        right: -12px;
    }

}


/* =========================================================
   <= 575
   ========================================================= */

@media (max-width: 575px) {

    .ptt-cj-container {
        width: calc(100% - 26px);

        gap: 30px;

        padding:
            48px 0
            45px;
    }

    .ptt-cj-heading {
        font-size: 42px;
    }

    .ptt-cj-description {
        font-size: 13.5px;
    }

    .ptt-cj-explore {
        min-height: 46px;

        padding: 0 21px;

        font-size: 12px;
    }

    .ptt-cj-carousel {
        width: calc(100% - 16px);
    }

    .ptt-cj-image-link {
        height: 380px;
    }

}


/* =========================================================
   <= 390
   ========================================================= */

@media (max-width: 390px) {

    .ptt-cj-heading {
        font-size: 38px;
    }

    .ptt-cj-image-link {
        height: 225px;
    }

}


/* REDUCED MOTION */

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

    .ptt-cj-track,
    .ptt-cj-card,
    .ptt-cj-image-link img,
    .ptt-cj-arrow,
    .ptt-cj-explore,
    .ptt-cj-details {
        transition-duration: .01ms !important;
    }

}

/* ============================================================
   PTT MODERN TRUST SECTION
   UNIQUE CLASSES ? NO CONFLICT
   ============================================================ */

.ptt-trust-modern {
    --ptt-tm-navy: #071b2b;
    --ptt-tm-navy-2: #0b2b43;
    --ptt-tm-orange: #fb0001;
    --ptt-tm-text: #3f4d58;
    --ptt-tm-border: #e7ebee;

    position: relative;
    width: 100%;
    padding: 85px 0 90px;

    background-color: #ffffff;

    /* USER: ADD PRIORITY SECTION BACKGROUND HERE */
    background-image: none;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    overflow: hidden;
}


/* subtle orange atmosphere - NOT image */

.ptt-trust-modern::before {
    content: "";
    position: absolute;

    width: 420px;
    height: 420px;


    top: -280px;
    right: -120px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,116,23,.08),
            rgba(255,116,23,0) 70%
        );

    pointer-events: none;
}


/* ============================================================
   WRAPPER
   ============================================================ */

.ptt-trust-modern__wrap {
    position: relative;
    z-index: 2;

    width: min(93%, 1480px);
    margin: 0 auto;
}


/* ============================================================
   HEADING AREA
   ============================================================ */

.ptt-trust-modern__heading {
    display: grid;
    grid-template-columns: 1.5fr .7fr;
    align-items: end;

    gap: 70px;

    margin-bottom: 46px;
}


/* eyebrow */

.ptt-trust-modern__eyebrow {
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 13px;

    color: var(--ptt-tm-orange);

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: 1.8px;
    text-transform: uppercase;
}


.ptt-trust-modern__eyebrow span {
    display: block;

    width: 30px;
    height: 3px;

    border-radius: 10px;

    background: var(--ptt-tm-orange);
}


/* MAIN HEADING */

.ptt-trust-modern__heading h2 {
    margin: 0;

    color: var(--ptt-tm-navy);

    font-family:var(--ptt-font-main);

    font-size: clamp(48px, 4.1vw, 68px);
    font-weight: 700;

    line-height: .94;
    letter-spacing: -1px;
}


.ptt-trust-modern__heading h2 span {
    color: var(--ptt-tm-orange);
}


/* right intro */

.ptt-trust-modern__intro {
    position: relative;

    padding: 5px 0 5px 23px;

    border-left: 3px solid var(--ptt-tm-orange);
}


.ptt-trust-modern__intro p {
    margin: 0;

    color: #485661;

    font-family: "Outfit", sans-serif;

    font-size: 15px;
    font-weight: 500;

    line-height: 1.75;
}


/* ============================================================
   GRID
   ============================================================ */

.ptt-trust-modern__grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 18px;
}


/* ============================================================
   CARD
   ============================================================ */

.ptt-trust-modern__card {
    position: relative;

    min-height: 245px;

    padding: 28px 28px 25px;

    background: #fff;

    border:
        1px solid
        var(--ptt-tm-border);

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 10px 35px
        rgba(7, 27, 43, .07);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* orange bottom accent */

.ptt-trust-modern__card::before {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 0;
    height: 4px;

    background: var(--ptt-tm-orange);

    transition: width .4s ease;
}


/* faint circle */

.ptt-trust-modern__card::after {
    content: "";

    position: absolute;

    width: 160px;
    height: 160px;

    right: -100px;
    bottom: -105px;

    border-radius: 50%;

    background:
        rgba(255,116,23,.06);

    transition:
        transform .4s ease;

    pointer-events: none;
}


.ptt-trust-modern__card:hover {
    transform: translateY(-7px);

    border-color:
        rgba(255,116,23,.28);

    box-shadow:
        0 20px 45px
        rgba(7,27,43,.12);
}


.ptt-trust-modern__card:hover::before {
    width: 100%;
}


.ptt-trust-modern__card:hover::after {
    transform: scale(1.35);
}


/* ============================================================
   FEATURED FIRST CARD
   ============================================================ */

.ptt-trust-modern__card--featured {
    background:
        linear-gradient(
            140deg,
            #071b2b 0%,
            #0a2940 100%
        );

    border-color:
        transparent;

    box-shadow:
        0 15px 40px
        rgba(7,27,43,.18);
}


.ptt-trust-modern__card--featured::after {
    background:
        rgba(255,116,23,.10);
}


/* ============================================================
   LARGE NUMBER
   ============================================================ */

.ptt-trust-modern__number {
    position: absolute;

    top: 20px;
    right: 24px;

    color:
        rgba(7,27,43,.065);

    font-family:var(--ptt-font-main);

    font-size: 64px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: -3px;

    pointer-events: none;
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__number {
    color:
        rgba(255,255,255,.07);
}


/* ============================================================
   ICON
   ============================================================ */

.ptt-trust-modern__icon {
    position: relative;
    z-index: 3;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 23px;

    border-radius: 16px;

    background:
        rgba(255,116,23,.10);

    border:
        1px solid
        rgba(255,116,23,.15);

    color: var(--ptt-tm-orange);

    font-size: 23px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


.ptt-trust-modern__card:hover
.ptt-trust-modern__icon {
    background:
        var(--ptt-tm-orange);

    color: #fff;

    transform:
        rotate(-4deg)
        scale(1.05);
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__icon {
    background:
        var(--ptt-tm-orange);

    border-color:
        var(--ptt-tm-orange);

    color: #fff;
}


/* ============================================================
   CARD TEXT
   ============================================================ */

.ptt-trust-modern__card-content {
    position: relative;
    z-index: 3;
}


.ptt-trust-modern__card-content h3 {
    margin: 0 0 9px;

    color: var(--ptt-tm-navy);

    font-family:
        "Poppins",
        sans-serif;

    font-size: 22px;
    font-weight: 700;

    line-height: 1.3;
}


.ptt-trust-modern__card-content p {
    max-width: 360px;

    margin: 0 0 18px;

    color: var(--ptt-tm-text);

    font-family:
        "Poppins",
        sans-serif;

    font-size: 14px;
    font-weight: 500;

    line-height: 1.65;
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__card-content h3 {
    color: #fff;
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__card-content p {
    color:
        rgba(255,255,255,.78);
}


/* ============================================================
   MINI TRUST LABEL
   ============================================================ */

.ptt-trust-modern__mini {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    color: var(--ptt-tm-navy);

    font-family:
        "Poppins",
        sans-serif;

    font-size: 12px;
    font-weight: 700;

    line-height: 1.3;
}


.ptt-trust-modern__mini i {
    width: 20px;
    height: 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        rgba(255,116,23,.12);

    color:
        var(--ptt-tm-orange);

    font-size: 8px;
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__mini {
    color: #fff;
}


.ptt-trust-modern__card--featured
.ptt-trust-modern__mini i {
    background:
        rgba(255,255,255,.12);

    color:
        var(--ptt-tm-orange);
}


/* ============================================================
   LAPTOP
   ============================================================ */

@media (max-width: 1399px) {

    .ptt-trust-modern {
        padding:
            70px 0 75px;
    }

    .ptt-trust-modern__wrap {
        width:
            min(93%, 1280px);
    }

    .ptt-trust-modern__heading {
        gap: 50px;

        margin-bottom: 38px;
    }

    .ptt-trust-modern__heading h2 {
        font-size: 55px;
    }

    .ptt-trust-modern__card {
        min-height: 235px;

        padding:
            25px 24px 23px;
    }

}


/* ============================================================
   1024 / TABLET LANDSCAPE
   ============================================================ */

@media (max-width: 1199px) {

    .ptt-trust-modern__wrap {
        width:
            calc(100% - 48px);
    }

    .ptt-trust-modern__heading {
        grid-template-columns:
            1.35fr .65fr;

        gap: 35px;
    }

    .ptt-trust-modern__heading h2 {
        font-size: 49px;
    }

    .ptt-trust-modern__intro p {
        font-size: 14px;
    }

    .ptt-trust-modern__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* ============================================================
   TABLET PORTRAIT
   ============================================================ */

@media (max-width: 991px) {

    .ptt-trust-modern {
        padding:
            60px 0 65px;
    }

    .ptt-trust-modern__wrap {
        width:
            calc(100% - 36px);
    }

    .ptt-trust-modern__heading {
        grid-template-columns: 1fr;

        gap: 22px;

        margin-bottom: 34px;
    }

    .ptt-trust-modern__heading h2 {
        font-size:
            clamp(47px, 7vw, 57px);
    }

    .ptt-trust-modern__intro {
        max-width: 620px;
    }

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {

    .ptt-trust-modern {
        padding:
            50px 0 55px;
    }

    .ptt-trust-modern__wrap {
        width:
            calc(100% - 28px);
    }

    .ptt-trust-modern__heading {
        gap: 19px;

        margin-bottom: 28px;
    }

    .ptt-trust-modern__eyebrow {
        font-size: 10px;

        letter-spacing: 1.4px;
    }

    .ptt-trust-modern__eyebrow span {
        width: 23px;
    }

    .ptt-trust-modern__heading h2 {
        font-size:
            clamp(40px, 11vw, 50px);

        line-height: .98;
    }

    .ptt-trust-modern__intro {
        padding-left: 17px;
    }

    .ptt-trust-modern__intro p {
        font-size: 13.5px;

        line-height: 1.65;
    }

    .ptt-trust-modern__grid {
        grid-template-columns: 1fr;

        gap: 13px;
    }

    .ptt-trust-modern__card {
        min-height: 0;

        padding:
            23px 21px;

        border-radius: 17px;
    }

    .ptt-trust-modern__number {
        top: 17px;
        right: 20px;

        font-size: 55px;
    }

    .ptt-trust-modern__icon {
        width: 54px;
        height: 54px;

        margin-bottom: 18px;

        font-size: 21px;
    }

    .ptt-trust-modern__card-content h3 {
        font-size: 18px;
    }

    .ptt-trust-modern__card-content p {
        max-width: 90%;

        margin-bottom: 15px;

        font-size: 13.5px;

        line-height: 1.6;
    }

    .ptt-trust-modern__mini {
        font-size: 11.5px;
    }

}


/* ============================================================
   SMALL MOBILE
   ============================================================ */

@media (max-width: 575px) {

    .ptt-trust-modern__wrap {
        width:
            calc(100% - 24px);
    }

}


/* ============================================================
   REDUCED MOTION
   ============================================================ */

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

    .ptt-trust-modern__card,
    .ptt-trust-modern__card::before,
    .ptt-trust-modern__card::after,
    .ptt-trust-modern__icon {
        transition: none;
    }

}


/* ==========================================================
   PTT PREMIUM TESTIMONIALS
   Unique namespace: ptt-review-premium
   ========================================================== */

.ptt-review-premium {
    --review-navy: #071b2b;
    --review-navy-light: #0c2b43;
    --review-orange: #fb0001;
    --review-white: #ffffff;
    --review-muted: #aebbc5;

    position: relative;
    width: 100%;
    padding: 88px 0 82px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 12% 20%,
            rgba(28, 83, 119, .28),
            transparent 32%
        ),
        linear-gradient(
            120deg,
            #061824 0%,
            #082238 48%,
            #061925 100%
        );
}


/* subtle decorative glow */
.ptt-review-premium::before {
    content: "";
    position: absolute;
    width: 500px;
    height: 500px;
    top: -350px;
    right: -100px;
    border-radius: 50%;
    background: rgba(255,116,23,.08);
    filter: blur(20px);
    pointer-events: none;
}


/* subtle large quote */
.ptt-review-premium::after {
    content: "?";
    position: absolute;
    right: 3%;
    bottom: -175px;

    color: rgba(255,255,255,.025);

    font-family:var(--ptt-font-main);
    font-size: 520px;
    font-weight: 700;
    line-height: 1;

    pointer-events: none;
}


/* ==========================================================
   CONTAINER
   ========================================================== */

.ptt-review-premium__container {
    position: relative;
    z-index: 2;

    width: min(93%, 1480px);
    margin: 0 auto;
}


/* ==========================================================
   TOP HEADING
   ========================================================== */

.ptt-review-premium__head {
    display: grid;
    grid-template-columns: 1fr 440px;
    align-items: end;
    gap: 60px;

    margin-bottom: 42px;
}


.ptt-review-premium__eyebrow {
    display: flex;
    align-items: center;
    gap: 10px;

    margin-bottom: 13px;

    color: var(--review-orange);

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
}


.ptt-review-premium__eyebrow > span {
    display: block;
    width: 30px;
    height: 3px;
    border-radius: 20px;
    background: var(--review-orange);
}


.ptt-review-premium__heading h2 {
    max-width: 760px;
    margin: 0;

    color: #fff;

    font-family:var(--ptt-font-main);
    font-size: clamp(48px, 4vw, 66px);
    font-weight: 700;
    line-height: .98;
    letter-spacing: -.8px;
}


.ptt-review-premium__heading h2 span {
    color: var(--review-orange);
}


/* ==========================================================
   RIGHT INTRO
   ========================================================== */

.ptt-review-premium__head-right {
    padding-left: 25px;
    border-left: 1px solid rgba(255,255,255,.15);
}


.ptt-review-premium__head-right > p {
    margin: 0 0 18px;

    color:#fff;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}


.ptt-review-premium__rating {
    display: flex;
    align-items: center;
    gap: 14px;
}


.ptt-review-premium__rating > strong {
    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 31px;
    font-weight: 700;
    line-height: 1;
}


.ptt-review-premium__rating > span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.ptt-review-premium__rating small {
    color: rgba(255,255,255,.55);

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    font-weight: 500;
}


/* ==========================================================
   CAROUSEL
   ========================================================== */

.ptt-review-premium__carousel {
    position: relative;
    padding: 0 1px 34px;
}


.ptt-review-premium__viewport {
    overflow: hidden;
    width: 100%;
}


/*
   IMPORTANT:
   Let your existing carousel JS control transform.
   Do not add opacity/fade animation.
*/

.ptt-review-premium__track {
    display: flex;

    transition:
        transform 650ms
        cubic-bezier(.22,.61,.36,1);

    will-change: transform;
}


/* 3 cards desktop */

.ptt-review-premium__slide {
    flex: 0 0 33.333333%;
    min-width: 0;

    padding: 8px 9px 18px;

    box-sizing: border-box;
}


/* ==========================================================
   REVIEW CARD
   ========================================================== */

.ptt-review-premium__card {
    position: relative;

    min-height: 292px;
    height: 100%;

    display: flex;
    flex-direction: column;

    padding: 30px;

    background: #fff;

    border-radius: 20px;

    border:
        1px solid
        rgba(255,255,255,.2);

    box-shadow:
        0 18px 45px
        rgba(0,0,0,.16);

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


/* top orange accent */
.ptt-review-premium__card::before {
    content: "";
    position: absolute;

    top: 0;
    left: 30px;

    width: 52px;
    height: 4px;

    border-radius: 0 0 8px 8px;

    background: var(--review-orange);

    transition: width .35s ease;
}


/* tiny background decoration */
.ptt-review-premium__card::after {
    content: "";

    position: absolute;

    width: 145px;
    height: 145px;

    right: -80px;
    bottom: -80px;

    border-radius: 50%;

    background:
        rgba(255,116,23,.055);

    transition: transform .4s ease;
}


.ptt-review-premium__card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 25px 55px
        rgba(0,0,0,.23);
}


.ptt-review-premium__card:hover::before {
    width: 90px;
}


.ptt-review-premium__card:hover::after {
    transform: scale(1.35);
}


/* ==========================================================
   CARD TOP
   ========================================================== */

.ptt-review-premium__card-top {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 25px;
}


.ptt-review-premium__stars {
    display: flex;
    align-items: center;
    gap: 4px;

    color: var(--review-orange);

    font-size: 13px;
}


.ptt-review-premium__quote {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 47px;
    height: 47px;

    border-radius: 50%;

    background:
        rgba(255,116,23,.09);

    color:
        var(--review-orange);

    font-size: 18px;
}


/* ==========================================================
   REVIEW TEXT
   ========================================================== */

.ptt-review-premium__text {
    position: relative;
    z-index: 2;

    flex: 1;

    margin: 0 0 27px;

    color: #172b39;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.75;
}


/* ==========================================================
   PERSON FOOTER
   ========================================================== */

.ptt-review-premium__footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    padding-top: 20px;

    border-top:
        1px solid #e8edf0;
}


.ptt-review-premium__person {
    display: flex;
    align-items: center;
    gap: 12px;
}


.ptt-review-premium__avatar {
    flex: 0 0 46px;

    width: 46px;
    height: 46px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            var(--review-navy),
            var(--review-navy-light)
        );

    color: #fff;

    border:
        3px solid
        rgba(255,116,23,.18);

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    font-weight: 700;
}


.ptt-review-premium__person-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}


.ptt-review-premium__person-info strong {
    color: var(--review-navy);

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    font-weight: 700;
}


.ptt-review-premium__person-info small {
    display: flex;
    align-items: center;
    gap: 5px;

    color: #7b8790;

    font-family: "Outfit", sans-serif;
    font-size: 10.5px;
    font-weight: 500;
}


.ptt-review-premium__person-info small i {
    color: var(--review-orange);
    font-size: 9px;
}


/* verified badge */

.ptt-review-premium__verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    padding: 7px 9px;

    border-radius: 50px;

    background: #f5f7f8;

    color: #53636e;

    font-family: "Outfit", sans-serif;
    font-size: 9.5px;
    font-weight: 600;

    white-space: nowrap;
}


.ptt-review-premium__verified i {
    color: var(--review-orange);
}


/* ==========================================================
   CAROUSEL ARROWS
   ========================================================== */

.ptt-review-premium__arrow {
    position: absolute;
    z-index: 20;

    top: 50%;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border-radius: 50%;

    border:
        1px solid
        rgba(255,255,255,.35);

    background:
        rgba(5,24,37,.85);

    color: #fff;

    font-size: 14px;

    cursor: pointer;

    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);

    transform: translateY(-65%);

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;
}


.ptt-review-premium__arrow:hover {
    background: var(--review-orange);
    border-color: var(--review-orange);
}


.ptt-review-premium__prev {
    left: -17px;
}


.ptt-review-premium__next {
    right: -17px;
}


.ptt-review-premium__prev:hover {
    transform:
        translateY(-65%)
        translateX(-2px);
}


.ptt-review-premium__next:hover {
    transform:
        translateY(-65%)
        translateX(2px);
}


/* ==========================================================
   DOTS
   ========================================================== */

.ptt-review-premium__dots {
    min-height: 10px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-top: 5px;
}


.ptt-review-premium__dots button {
    width: 7px;
    height: 7px;

    padding: 0;

    border: 0;
    border-radius: 50px;

    background:
        rgba(255,255,255,.32);

    cursor: pointer;

    transition:
        width .3s ease,
        background .3s ease;
}


.ptt-review-premium__dots button.is-active,
.ptt-review-premium__dots button.active,
.ptt-review-premium__dots button[aria-current="true"] {
    width: 27px;

    background:
        var(--review-orange);
}


/* ==========================================================
   LAPTOP
   ========================================================== */

@media (max-width: 1399px) {

    .ptt-review-premium {
        padding: 72px 0 68px;
    }

    .ptt-review-premium__container {
        width: min(93%, 1280px);
    }

    .ptt-review-premium__head {
        grid-template-columns:
            1fr 390px;

        gap: 45px;

        margin-bottom: 34px;
    }

    .ptt-review-premium__heading h2 {
        font-size: 55px;
    }

    .ptt-review-premium__card {
        min-height: 280px;
        padding: 27px;
    }

}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991px) {

    .ptt-review-premium {
        padding: 62px 0;
    }

    .ptt-review-premium__container {
        width: calc(100% - 36px);
    }

    .ptt-review-premium__head {
        grid-template-columns: 1fr;

        gap: 22px;
    }

    .ptt-review-premium__head-right {
        max-width: 650px;

        padding-left: 18px;
    }

    .ptt-review-premium__heading h2 {
        font-size:
            clamp(48px, 7vw, 58px);
    }

    /* 2 cards */
    .ptt-review-premium__slide {
        flex-basis: 50%;
    }

    .ptt-review-premium__prev {
        left: -11px;
    }

    .ptt-review-premium__next {
        right: -11px;
    }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 767px) {

    .ptt-review-premium {
padding: 52px 20px 48px;
    }

    .ptt-review-premium__container {
        width: calc(100% - 28px);
    }

    .ptt-review-premium__head {
        margin-bottom: 25px;
    }

    .ptt-review-premium__eyebrow {
        font-size: 10px;
        letter-spacing: 1.5px;
    }

    .ptt-review-premium__heading h2 {
        max-width: 420px;

        font-size:
            clamp(40px, 11vw, 49px);

        line-height: 1;
    }

    .ptt-review-premium__head-right {
        padding-left: 15px;
    }

    .ptt-review-premium__head-right > p {
        font-size: 13px;
    }

    .ptt-review-premium__rating > strong {
        font-size: 27px;
    }

    /* exactly one card */
    .ptt-review-premium__slide {
        flex-basis: 100%;

        padding:
            6px 4px 15px;
    }

    .ptt-review-premium__card {
        min-height: 275px;

        padding:
            25px 21px;

        border-radius: 17px;
    }

    .ptt-review-premium__text {
        font-size: 14px;
        line-height: 1.7;
    }

    .ptt-review-premium__quote {
        width: 43px;
        height: 43px;
    }

    .ptt-review-premium__verified {
        display: none;
    }

    /*
       Put arrows below cards on mobile,
       so they don't cover review content.
    */

    .ptt-review-premium__carousel {
        padding-bottom: 62px;
    }

    .ptt-review-premium__arrow {
        top: auto;
        bottom: 9px;

        width: 42px;
        height: 42px;

        transform: none;
    }

    .ptt-review-premium__prev {
        left: calc(50% - 52px);
    }

    .ptt-review-premium__next {
        right: calc(50% - 52px);
    }

    .ptt-review-premium__prev:hover,
    .ptt-review-premium__next:hover {
        transform: none;
    }

    .ptt-review-premium__dots {
        display: none;
    }

}


/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width: 575px) {

    .ptt-review-premium__container {
        width: calc(100% - 24px);
    }

    .ptt-review-premium__card-top {
        margin-bottom: 20px;
    }

    .ptt-review-premium__footer {
        padding-top: 17px;
    }

}


/* ==========================================================
   REDUCED MOTION
   ========================================================== */

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

    .ptt-review-premium__track,
    .ptt-review-premium__card,
    .ptt-review-premium__card::before,
    .ptt-review-premium__card::after,
    .ptt-review-premium__arrow {
        transition: none;
    }

}



.pttabout-page {
--pttabout-navy:#071f31;
--pttabout-orange:#fb0001;
--pttabout-orange-dark:#ee5d20;
--pttabout-cream:#fff8ef;
--pttabout-soft:#f8f4ee;
--pttabout-white:#fff;
--pttabout-text:#29333c;
--pttabout-muted:#6f7479;
--pttabout-line:rgba(7, 31, 49, .10);
	font-family:Poppins, Inter, "Segoe UI", Arial, sans-serif;
	color:var(--pttabout-text);
	overflow:hidden
}
.pttabout-page * {
	box-sizing:border-box
}
.pttabout-page img[src=""] {
	visibility:hidden
}
.pttabout-container {
	width:min(90%, 1280px);
	margin-inline:auto
}
.pttabout-heading {
	font-family:var(--ptt-font-main);
	font-size:clamp(42px, 3.6vw, 58px);
	line-height:1.06;
	font-weight:400;
	color:var(--pttabout-navy);
	margin:8px 0 22px;
	letter-spacing:-.6px
}
.pttabout-eyebrow {
	display:block;
	font-size:11px;
	line-height:1.3;
	font-weight:700;
	letter-spacing:3px;
	text-transform:uppercase;
	color:var(--pttabout-orange);
	margin-bottom:10px
}
.pttabout-page p {
	font-size:17px;
	line-height:1.4;
	font-weight:400
}
.pttabout-btn {
	height:50px;
	padding:0 27px;
	border-radius:999px;
	display:inline-flex;
	align-items:center;
	gap:10px;
	background:var(--pttabout-orange);
	color:#fff!important;
	text-decoration:none;
	font-size:18px;
	font-weight:600;
	box-shadow:0 9px 22px rgba(255, 111, 44, .16);
transition:.25s ease
}
.pttabout-btn:hover {
	background:var(--pttabout-orange-dark);
	transform:translateY(-2px);
	box-shadow:0 10px 24px rgba(255, 111, 44, .20)
}
.pttabout-btn i {
	font-size:11px;
transition:transform .25s
}
.pttabout-btn:hover i {
	transform:translateX(3px)
}
.pttabout-img-shell {
	position:relative;
	overflow:hidden;
	background:#f3eee8
}
.pttabout-img-shell>img {
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	object-position:center
}
/* ================================================== USER IMAGE: ABOUT HERO BACKGROUND ================================================== */
.pttabout-hero {
	position:relative;
	min-height:460px;
	background-color:#4b2c1d;
	background-image:none;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	overflow:hidden
}
.pttabout-hero:before {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(31, 15, 8, .76) 0%, rgba(31, 15, 8, .48) 42%, rgba(31, 15, 8, .12) 100%)
}
.pttabout-hero-inner {
	min-height:460px;
	display:flex;
	align-items:center;
	position:relative;
	z-index:1
}
.pttabout-hero-copy {
	padding-top:20px
}
.pttabout-hero-title-shell {
	width:480px;
	height:138px;
	margin:0 0 18px
}
.pttabout-hero-title-art {
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:left center
}
.pttabout-hero-label {
	display:block;
	color:#f9ddbd;
	font-size:11px;
	font-weight:700;
	letter-spacing:4px;
	margin:0 0 13px
}
.pttabout-breadcrumb {
	display:flex;
	align-items:center;
	gap:12px;
	color:#fff;
	font-size:13px
}
.pttabout-breadcrumb a {
	color:#fff;
	text-decoration:none
}
.pttabout-breadcrumb i {
	font-size:8px;
	color:#f3c58e
}
.pttabout-story {
	padding:70px 0 100px;
	background:#fff
}
.pttabout-story-grid {
	display:grid;
	grid-template-columns:48% 52%;
	align-items:center
}
.pttabout-story-copy {
	padding-right:68px
}
.pttabout-story-copy p {
	max-width:530px;
	color:#000;
	margin:0 0 28px
}
.pttabout-story-visual {
	position:relative;
	min-height:500px
}
.pttabout-story-art {
	position:absolute;
	left:-4%;
	top:15%;
	width:210px;
	height:210px;
	object-fit:contain;
	opacity:.16;
	z-index:0
}
.pttabout-story-main {
	position:absolute;
	right:0;
	top:0;
	width:78%;
	border-radius:20px;
	z-index:1
}
.pttabout-story-secondary {
	position:absolute;
	left:4%;
	bottom:0;
	width:38%;
	border-radius:18px;
	z-index:2;
	box-shadow:0 16px 35px rgba(7, 31, 49, .14)
}
.pttabout-experience-card {
	position:absolute;
	right:3%;
	bottom:7px;
	width:180px;
	height:155px;
	border-radius:18px;
	background:#fff;
	z-index:3;
	box-shadow:0 16px 35px rgba(7, 31, 49, .12);
	display:grid;
	grid-template-columns:28px 1fr;
	grid-template-rows:auto auto;
	align-content:center;
	padding:20px 20px
}
.pttabout-experience-card i {
	grid-row:1/3;
	color:var(--pttabout-orange);
	font-size:17px;
	margin-top:9px
}
.pttabout-experience-card strong {
	font-family:var(--ptt-font-main);
	color:var(--pttabout-navy);
	font-size:44px;
	line-height:1
}
.pttabout-experience-card span {
	font-size:12px;
	line-height:1.45;
	color:var(--pttabout-text);
	margin-top:4px
}
/* ================================================== USER IMAGE: WHY CHOOSE US BACKGROUND ================================================== */
.pttabout-why {
	position:relative;
	min-height:490px;
	background:var(--pttabout-navy);
	background-image:url(../images/why-choose-bg.webp);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	color:#fff
}
.pttabout-why-overlay {
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, rgba(3, 17, 28, .80), rgba(3, 17, 28, .60))
}
.pttabout-why-inner {
	position:relative;
	z-index:1;
	padding-top:66px
}
.pttabout-why .pttabout-heading {
	color:#fff;
	margin-bottom:36px
}
.pttabout-why-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	max-width:1120px
}
.pttabout-why-item {
	text-align:center;
	padding:0 30px;
	position:relative
}
.pttabout-why-item:not(:last-child):after {
content:"";
position:absolute;
right:0;
top:15px;
width:1px;
height:135px;
background:rgba(255, 190, 120, .36)
}
.pttabout-icon-ring {
	width:78px;
	height:78px;
	border-radius:50%;
	border:1px solid rgba(255, 181, 104, .7);
	background:rgba(7, 31, 49, .86);
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0 auto 17px;
	box-shadow:inset 0 0 0 5px rgba(255, 255, 255, .03)
}
.pttabout-icon-ring i {
	font-size:30px;
	color:#f1b36e
}
.pttabout-why-item h3 {
	font-size:17px;
	line-height:1.3;
	margin:0 0 7px;
	color:#fff
}
.pttabout-why-item p {
	font-size:13px;
	line-height:1.55;
	margin:0;
	color:rgba(255, 255, 255, .76)
}
.pttabout-mission {
	padding:70px 0;
	background:#fff
}
.pttabout-mission-grid {
	display:grid;
	grid-template-columns:31% 39% 25%;
	gap:2.5%;
	align-items:center
}
.pttabout-mission-image {
	height:500px;
	border-radius:20px
}
.pttabout-mission-copy {
	padding:0 28px
}
.pttabout-mission-copy p {
	color:#000;
	margin:0
}
.pttabout-accent-line {
	display:block;
	width:55px;
	height:3px;
	background:var(--pttabout-orange);
	margin-top:26px
}
.pttabout-stats {
	background:#fff9f2;
	border-radius:18px;
	padding:22px 27px
}
.pttabout-stat {
	display:grid;
	grid-template-columns:48px 1fr;
	align-items:center;
	gap:12px;
	padding:18px 0
}
.pttabout-stat:not(:last-child) {
border-bottom:1px solid rgba(255, 111, 44, .10)
}
.pttabout-stat>i {
	font-size:29px;
	color:var(--pttabout-orange);
	text-align:center
}
.pttabout-stat>span {
	display:flex;
	flex-direction:column
}
.pttabout-stat strong {
	font-family:var(--ptt-font-main);
	font-size:34px;
	line-height:1.05;
	font-weight:500;
	color:var(--pttabout-navy)
}
.pttabout-stat small {
	font-size:12px;
	color:var(--pttabout-muted);
	margin-top:4px
}
.pttabout-values {
	position:relative;
padding: 50px 0 70px;
	background:var(--pttabout-cream)
}
.pttabout-values-art {
	position:absolute;
	right:0;
	bottom:0;
	width: 428px;
    height: 287px;
    object-fit: contain;
    object-position: right bottom;
    opacity: 1;
}
.pttabout-centered {
	text-align:center;
	position:relative;
	z-index:1
}
.pttabout-centered .pttabout-heading {
	margin-bottom:38px
}
.pttabout-values-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:22px;
	position:relative;
	z-index:1
}
.pttabout-value-card {
	min-height:205px;
	padding:31px 23px;
	background:#fff;
	border:1px solid rgba(7, 31, 49, .05);
	border-radius:18px;
	text-align:center;
	box-shadow:0 8px 30px rgba(7, 31, 49, .04)
}
.pttabout-value-card>i {
	font-size:38px;
	color:var(--pttabout-orange);
	margin-bottom:17px
}
.pttabout-value-card h3 {
	font-size:22px;
	color:var(--pttabout-navy);
	margin:0 0 8px
}
.pttabout-value-card p {
	font-size:17px;
	line-height:1.55;
	color:var(--pttabout-muted);
	margin:0 auto;
	max-width:210px
}
.pttabout-commitment {
	background:#fff
}
.pttabout-commitment-grid {
	display:grid;
	grid-template-columns:48% 52%;
	min-height:520px
}
.pttabout-commitment-image {
	height:520px;
	border-radius:0
}
.pttabout-quote {
	position:absolute;
	left:max(7%, calc((100vw - 1280px)/2));
	bottom:32px;
	width:300px;
	margin:0;
	background:#fff;
	padding:22px 23px 19px;
	border-radius:14px;
	box-shadow:0 14px 34px rgba(7, 31, 49, .14)
}
.pttabout-quote i {
	color:var(--pttabout-orange);
	font-size:21px
}
.pttabout-quote p {
	font-size:12px;
	line-height:1.55;
	margin:6px 0 12px;
	color:var(--pttabout-text)
}
.pttabout-quote span {
	display:block;
	width:43px;
	height:2px;
	background:var(--pttabout-orange)
}
.pttabout-commitment-copy {
	align-self:center;
	padding:60px max(5vw, 65px)
}
.pttabout-commitment-copy p {
	max-width:540px;
	color:#000;
	margin:0 0 28px
}
.pttabout-commitment-actions {
	display:flex;
	align-items:center;
	gap:30px
}
.pttabout-signature-shell {
	width:190px;
	height:72px
}
.pttabout-commitment-signature {
	width:100%;
	height:100%;
	object-fit:contain
}
.pttabout-promise {
	padding:70px 0 78px;
	background:#fff9f3
}
.pttabout-promise .pttabout-centered .pttabout-heading {
	margin-bottom:38px
}
.pttabout-promise-grid {
	display:grid;
	grid-template-columns:repeat(4, 1fr)
}
.pttabout-promise-item {
	min-height:86px;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:12px;
	position:relative;
	text-align:center
}
.pttabout-promise-item:not(:last-child):after {
content:"";
position:absolute;
right:0;
top:9px;
height:68px;
width:1px;
background:rgba(255, 111, 44, .35)
}
.pttabout-promise-item i {
	font-size:33px;
	color:var(--pttabout-orange)
}
.pttabout-promise-item strong {
	font-size:17px;
	color:var(--pttabout-navy)
}
.pttabout-reveal {
	opacity:0;
	transform:translateY(24px);
transition:opacity .72s ease, transform .72s ease
}
.pttabout-reveal-visual {
	transform:translateY(20px) scale(.985)
}
.pttabout-reveal.pttabout-in {
	opacity:1;
	transform:translateY(0) scale(1)
}
@media(min-width:1600px) {
.pttabout-container {
width:min(90%, 1320px)
}
}
@media(max-width:1399px) {
.pttabout-container {
width:92%
}
.pttabout-heading {
font-size:clamp(40px, 3.45vw, 53px)
}
.pttabout-story-copy {
padding-right:48px
}
.pttabout-story-visual {
min-height:470px
}
.pttabout-story-main {
height:340px
}
.pttabout-story-secondary {
height:235px
}
.pttabout-why {
min-height:470px
}
.pttabout-mission-grid {
grid-template-columns:30% 40% 25%;
gap:2.5%
}
.pttabout-mission-copy {
padding:0 18px
}
.pttabout-commitment-copy {
padding-inline:55px
}
}
@media(max-width:1199px) {
.pttabout-story-grid {
grid-template-columns:45% 55%
}
.pttabout-story-copy {
padding-right:30px
}
.pttabout-story-main {
width:80%
}
.pttabout-why-item {
padding-inline:18px
}
.pttabout-mission-grid {
grid-template-columns:32% 40% 23%;
gap:2.5%
}
.pttabout-stat {
grid-template-columns:40px 1fr
}
.pttabout-stat strong {
font-size:30px
}
.pttabout-commitment-grid {
grid-template-columns:50% 50%
}
.pttabout-commitment-copy {
padding-inline:42px
}
}
@media(max-width:991px) {
.pttabout-container {
width:calc(100% - 48px)
}
.pttabout-hero, .pttabout-hero-inner {
min-height:410px
}
.pttabout-hero-title-shell {
width:420px;
height:125px
}
.pttabout-story {
padding:76px 0 84px
}
.pttabout-story-grid {
grid-template-columns:1fr;
gap:50px
}
.pttabout-story-copy {
padding-right:0;
max-width:650px
}
.pttabout-story-visual {
min-height:480px
}
.pttabout-story-main {
width:78%;
height:345px
}
.pttabout-story-secondary {
width:36%;
height:235px
}
.pttabout-why {
min-height:610px
}
.pttabout-why-inner {
padding-top:60px
}
.pttabout-why-grid {
grid-template-columns:repeat(2, 1fr);
row-gap:35px
}
.pttabout-why-item:nth-child(2):after {
display:none
}
.pttabout-why-item:not(:last-child):after {
height:120px
}
.pttabout-mission {
padding:80px 0
}
.pttabout-mission-grid {
grid-template-columns:42% 55%;
gap:3%
}

.pttabout-mission-image {
height:460px
}
.pttabout-mission-copy {
padding:0
}
.pttabout-stats {
grid-column:1/-1;
display:grid;
grid-template-columns:repeat(2, 1fr);
margin-top:20px
}
.pttabout-stat {
padding:16px 20px
}
.pttabout-stat:nth-child(2) {
border-bottom:1px solid rgba(255, 111, 44, .10)
}
.pttabout-values-grid {
grid-template-columns:repeat(2, 1fr)
}
.pttabout-commitment-grid {
grid-template-columns:1fr
}
.pttabout-commitment-image {
height:430px
}
.pttabout-quote {
left:30px
}
.pttabout-commitment-copy {
padding:62px 6% 70px
}
.pttabout-promise-grid {
grid-template-columns:repeat(2, 1fr);
row-gap:28px
}
.pttabout-promise-item:nth-child(2):after {
display:none
}
}
@media(max-width:767px) {
.pttabout-container {
width:calc(100% - 32px)
}
.pttabout-heading {
font-size:clamp(36px, 9vw, 40px)
}
.pttabout-page p {
font-size:14px
}
.pttabout-hero, .pttabout-hero-inner {
min-height:370px
}
.pttabout-hero-title-shell {
width:min(90%, 390px);
height:110px
}
.pttabout-story {
    padding: 65px 20px 55px;
}
.pttabout-story-grid {
gap:35px
}
.pttabout-story-visual {
height:445px;
min-height:445px
}
.pttabout-story-main {
width:82%;
height:315px
}
.pttabout-story-secondary {
left:0;
width:45%;
height:220px
}
.pttabout-experience-card {
right:0;
width:145px;
height:130px;
padding:15px;
grid-template-columns:23px 1fr
}
.pttabout-experience-card strong {
font-size:36px
}
.pttabout-experience-card span {
font-size:10px
}
.pttabout-why {
min-height:590px
}
.pttabout-why-inner {
padding-top:52px
}
.pttabout-why .pttabout-heading {
margin-bottom:30px
}
.pttabout-why-grid {
row-gap:30px
}
.pttabout-why-item {
padding:0 12px
}
.pttabout-why-item:after {
display:none!important
}
.pttabout-icon-ring {
width:62px;
height:62px;
margin-bottom:12px
}
.pttabout-icon-ring i {
font-size:24px
}
.pttabout-why-item h3 {
font-size:15px
}
.pttabout-why-item p {
font-size:12px
}
.pttabout-mission {
    padding: 65px 20px 55px;
}
.pttabout-mission-grid {
grid-template-columns:1fr;
gap:34px
}
.pttabout-mission-image {
height:410px
}
.pttabout-stats {
grid-column:auto;
grid-template-columns:1fr;
margin-top:0
}
.pttabout-stat:nth-child(3) {
border-bottom:1px solid rgba(255, 111, 44, .10)
}
.pttabout-values {
    padding: 65px 20px 55px;
}
.pttabout-centered .pttabout-heading {
margin-bottom:30px
}
.pttabout-values-grid {
gap:14px
}
.pttabout-value-card {
min-height:190px;
padding:25px 15px
}
.pttabout-value-card>i {
font-size:32px
}
.pttabout-value-card h3 {
font-size:16px
}
.pttabout-value-card p {
font-size:12px
}
.pttabout-commitment-image {
height:390px
}
.pttabout-quote {
left:24px;
bottom:22px;
width:calc(100% - 48px);
max-width:300px
}
.pttabout-commitment-copy {
padding:54px 20px 62px
}
.pttabout-commitment-actions {
align-items:flex-start;
flex-direction:column;
gap:18px
}
.pttabout-signature-shell {
width:170px;
height:60px
}
.pttabout-promise {
    padding: 65px 20px 55px;
}
.pttabout-promise-grid {
row-gap:20px
}
.pttabout-promise-item {
min-height:80px
}
.pttabout-promise-item:after {
display:none!important
}
.pttabout-promise-item:nth-child(odd) {
border-right:1px solid rgba(255, 111, 44, .28)
}
}
@media(max-width:430px) {
.pttabout-values-grid {
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px
}
.pttabout-value-card {
padding-inline:10px
}
.pttabout-story-visual {
height:420px;
min-height:420px
}
.pttabout-story-main {
height:295px
}
.pttabout-story-secondary {
height:200px
}
.pttabout-why {
min-height:600px
}
}
@media(max-width:360px) {
.pttabout-values-grid {
grid-template-columns:1fr
}
.pttabout-value-card {
min-height:170px
}
.pttabout-why-item {
padding-inline:6px
}
.pttabout-why-item h3 {
font-size:14px
}
}
@media(prefers-reduced-motion:reduce) {
.pttabout-reveal {
opacity:1;
transform:none;
transition:none
}
.pttabout-btn, .pttabout-btn i {
transition:none
}
.pttabout-btn:hover {
transform:none
}
.pttabout-btn:hover i {
transform:none
}
}


/* ==========================================================
   PTT TAXI SERVICES
   UNIQUE PREFIX: ptttaxi-
========================================================== */

.ptttaxi-experience,
.ptttaxi-routes,
.ptttaxi-process,
.ptttaxi-cta,
.ptttaxi-faq {
  --ptttaxi-navy: #061e30;
  --ptttaxi-navy-2: #092b43;
  --ptttaxi-orange: #fb0001;
  --ptttaxi-orange-dark: #ed6410;
  --ptttaxi-cream: #fff8ef;
  --ptttaxi-soft: #f6f7f7;
  --ptttaxi-white: #fff;
  --ptttaxi-text: #182b39;
  --ptttaxi-muted: #6c7880;
  --ptttaxi-border: rgba(6, 30, 48, .10);

  font-family: "Outfit", sans-serif;
  box-sizing: border-box;
}

.ptttaxi-experience *,
.ptttaxi-routes *,
.ptttaxi-process *,
.ptttaxi-cta *,
.ptttaxi-faq * {
  box-sizing: border-box;
}

.ptttaxi-container {
  width: min(92%, 1380px);
  margin: 0 auto;
}

.ptttaxi-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: var(--ptttaxi-orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.6px;
  text-transform: uppercase;
}

.ptttaxi-heading h2,
.ptttaxi-process-head h2,
.ptttaxi-faq-intro h2 {
  margin: 0;
  color: var(--ptttaxi-navy);
  font-family:var(--ptt-font-main);
  font-size: clamp(38px, 3.4vw, 56px);
  line-height: 1.04;
  font-weight: 400;
}

.ptttaxi-heading h2 em,
.ptttaxi-process-head h2 em,
.ptttaxi-faq-intro h2 em {
  color: var(--ptttaxi-orange);
  font-style: normal;
}


/* ==========================================================
   EXPERIENCE
========================================================== */

.ptttaxi-experience {
  padding: 100px 0 105px;
  background: #fff;
}

.ptttaxi-exp-head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 90px;
  align-items: end;
  margin-bottom: 55px;
}

.ptttaxi-exp-intro {
  padding-bottom: 5px;
}

.ptttaxi-exp-intro p {
  max-width: 570px;
  margin: 0 0 22px;
  color: var(--ptttaxi-muted);
  font-size: 15px;
  line-height: 1.8;
}

.ptttaxi-text-link {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--ptttaxi-navy);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.ptttaxi-text-link i {
  color: var(--ptttaxi-orange);
  transition: transform .3s ease;
}

.ptttaxi-text-link:hover i {
  transform: translateX(5px);
}

.ptttaxi-exp-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ptttaxi-border);
  border-bottom: 1px solid var(--ptttaxi-border);
}

.ptttaxi-exp-card {
  position: relative;
  min-height: 310px;
  padding: 34px 32px 35px;
  border-right: 1px solid var(--ptttaxi-border);
  overflow: hidden;
  transition:
    background .35s ease,
    transform .35s ease;
}

.ptttaxi-exp-card:first-child {
  border-left: 1px solid var(--ptttaxi-border);
}

.ptttaxi-exp-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 0;
  background: var(--ptttaxi-navy);
  z-index: 0;
  transition: height .4s cubic-bezier(.2,.7,.2,1);
}

.ptttaxi-exp-card:hover::before {
  height: 100%;
}

.ptttaxi-exp-card > * {
  position: relative;
  z-index: 1;
}

.ptttaxi-exp-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 46px;
}

.ptttaxi-exp-no {
  color: rgba(6,30,48,.28);
  font-family:var(--ptt-font-main);
  font-size: 15px;
  transition: color .35s ease;
}

.ptttaxi-exp-icon {
  display: flex;
  width: 58px;
  height: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ptttaxi-cream);
  color: var(--ptttaxi-orange);
  font-size: 21px;
  transition: all .35s ease;
}

.ptttaxi-exp-card h3 {
  margin: 0 0 12px;
  color: var(--ptttaxi-navy);
  font-size: 18px;
  font-weight: 600;
  transition: color .35s ease;
}

.ptttaxi-exp-card p {
  margin: 0;
  color: var(--ptttaxi-muted);
  font-size: 13.5px;
  line-height: 1.7;
  transition: color .35s ease;
}

.ptttaxi-exp-line {
  position: absolute;
  left: 32px;
  bottom: 0;
  width: 42px;
  height: 3px;
  background: var(--ptttaxi-orange);
  transition: width .35s ease;
}

.ptttaxi-exp-card:hover .ptttaxi-exp-line {
  width: calc(100% - 64px);
}

.ptttaxi-exp-card:hover h3 {
  color: #fff;
}

.ptttaxi-exp-card:hover p {
  color: rgba(255,255,255,.68);
}

.ptttaxi-exp-card:hover .ptttaxi-exp-no {
  color: rgba(255,255,255,.35);
}

.ptttaxi-exp-card:hover .ptttaxi-exp-icon {
  background: var(--ptttaxi-orange);
  color: #fff;
  transform: translateY(-4px);
}


/* ==========================================================
   ROUTES
========================================================== */

.ptttaxi-routes {
  position: relative;
  padding: 105px 0 85px;
  background:
    radial-gradient(circle at 90% 5%, rgba(255,116,23,.09), transparent 25%),
    var(--ptttaxi-navy);
  overflow: hidden;
}

.ptttaxi-routes::before {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  left: -250px;
  bottom: -250px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 50%;
}

.ptttaxi-routes-head {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 55px;
}

.ptttaxi-heading-light h2 {
  color: #fff;
}

.ptttaxi-routes-head > p {
  max-width: 530px;
  margin: 0 0 6px;
  color: rgba(255,255,255,.62);
  font-size: 14px;
  line-height: 1.8;
}

.ptttaxi-routes-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.ptttaxi-route-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: #fff;
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.ptttaxi-route-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 22px 55px rgba(0,0,0,.23);
}

.ptttaxi-route-image {
  position: relative;
  height: 255px;
  overflow: hidden;
  background:
    linear-gradient(135deg, #d9d1c7, #eee8df);
}

.ptttaxi-route-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.ptttaxi-route-image img[src=""] {
  visibility: hidden;
}

.ptttaxi-route-card:hover .ptttaxi-route-image img {
  transform: scale(1.045);
}

.ptttaxi-route-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff;
  color: var(--ptttaxi-navy);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.ptttaxi-route-index {
  position: absolute;
  right: 18px;
  bottom: -7px;
  color: rgba(255,255,255,.85);
  font-family:var(--ptt-font-main);
  font-size: 64px;
  line-height: 1;
}

.ptttaxi-route-body {
  padding: 27px 27px 24px;
}

.ptttaxi-route-small {
  display: block;
  margin-bottom: 8px;
  color: var(--ptttaxi-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.ptttaxi-route-body h3 {
  margin: 0 0 14px;
  color: var(--ptttaxi-navy);
  font-family:var(--ptt-font-main);
  font-size: 29px;
  line-height: 1.08;
  font-weight: 400;
}

.ptttaxi-route-body > p {
  min-height: 68px;
  margin: 0 0 24px;
  color: var(--ptttaxi-muted);
  font-size: 12.5px;
  line-height: 1.7;
}

.ptttaxi-route-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid var(--ptttaxi-border);
}

.ptttaxi-route-bottom > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ptttaxi-text);
  font-size: 12px;
  font-weight: 600;
}

.ptttaxi-route-bottom > span i {
  color: var(--ptttaxi-orange);
}

.ptttaxi-route-bottom a {
  display: flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ptttaxi-navy);
  color: #fff;
  text-decoration: none;
  transition: all .3s ease;
}

.ptttaxi-route-bottom a:hover {
  background: var(--ptttaxi-orange);
  transform: rotate(-35deg);
}

.ptttaxi-routes-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 42px;
  color: rgba(255,255,255,.58);
  font-size: 13px;
}

.ptttaxi-routes-footer a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.ptttaxi-routes-footer a i {
  color: var(--ptttaxi-orange);
}


/* ==========================================================
   PROCESS
========================================================== */

.ptttaxi-process {
  padding: 100px 0 110px;
  background: var(--ptttaxi-cream);
}

.ptttaxi-process-head {
  max-width: 720px;
  margin: 0 auto 65px;
  text-align: center;
}

.ptttaxi-process-head p {
  max-width: 600px;
  margin: 18px auto 0;
  color: var(--ptttaxi-muted);
  font-size: 14px;
  line-height: 1.75;
}

.ptttaxi-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px;
  max-width: 1120px;
  margin: auto;
}

.ptttaxi-process-grid::before {
  content: "";
  position: absolute;
  top: 68px;
  left: 16%;
  right: 16%;
  height: 1px;
  background: rgba(6,30,48,.15);
}

.ptttaxi-process-item {
  position: relative;
  text-align: center;
  z-index: 1;
}

.ptttaxi-process-number {
  position: absolute;
  top: -15px;
  left: calc(50% + 35px);
  color: var(--ptttaxi-orange);
  font-family:var(--ptt-font-main);
  font-size: 13px;
}

.ptttaxi-process-icon {
  display: flex;
  width: 94px;
  height: 94px;
  margin: 0 auto 27px;
  align-items: center;
  justify-content: center;
  border: 9px solid var(--ptttaxi-cream);
  border-radius: 50%;
  background: var(--ptttaxi-navy);
  box-shadow: 0 0 0 1px rgba(6,30,48,.10);
  color: #fff;
  font-size: 27px;
  transition: all .35s ease;
}

.ptttaxi-process-item:hover .ptttaxi-process-icon {
  background: var(--ptttaxi-orange);
  transform: translateY(-5px);
}

.ptttaxi-process-item h3 {
  margin: 0 0 11px;
  color: var(--ptttaxi-navy);
  font-size: 18px;
  font-weight: 600;
}

.ptttaxi-process-item p {
  max-width: 285px;
  margin: auto;
  color: var(--ptttaxi-muted);
  font-size: 13px;
  line-height: 1.7;
}


/* ==========================================================
   CTA
========================================================== */

.ptttaxi-cta {
  position: relative;
  min-height: 510px;
  display: flex;
  align-items: center;
  background-color: #071b2b;

  /* USER: ADD CTA BACKGROUND IMAGE HERE */
  background-image: none;

  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.ptttaxi-cta-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(3,16,27,.93) 0%,
      rgba(3,16,27,.82) 48%,
      rgba(3,16,27,.40) 100%
    );
}

.ptttaxi-cta .ptttaxi-container {
  position: relative;
  z-index: 2;
}

.ptttaxi-cta-inner {
  max-width: 750px;
  padding: 90px 0;
}

.ptttaxi-cta-eyebrow {
  display: block;
  margin-bottom: 13px;
  color: var(--ptttaxi-orange);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.ptttaxi-cta h2 {
  margin: 0;
  color: #fff;
  font-family:var(--ptt-font-main);
  font-size: clamp(44px, 4.2vw, 66px);
  line-height: 1.02;
  font-weight: 400;
}

.ptttaxi-cta h2 em {
  color: var(--ptttaxi-orange);
  font-style: normal;
}

.ptttaxi-cta-inner > p {
  max-width: 630px;
  margin: 22px 0 30px;
  color: rgba(255,255,255,.68);
  font-size: 14px;
  line-height: 1.8;
}

.ptttaxi-cta-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.ptttaxi-btn {
  display: inline-flex;
  min-height: 50px;
  padding: 0 23px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s ease;
}

.ptttaxi-btn-orange {
  background: var(--ptttaxi-orange);
  color: #fff;
}

.ptttaxi-btn-orange:hover {
  background: var(--ptttaxi-orange-dark);
  transform: translateY(-2px);
}

.ptttaxi-btn-outline {
  border: 1px solid rgba(255,255,255,.35);
  color: #fff;
}

.ptttaxi-btn-outline:hover {
  border-color: #fff;
  background: #fff;
  color: var(--ptttaxi-navy);
  transform: translateY(-2px);
}

.ptttaxi-cta-points {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  margin-top: 35px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.ptttaxi-cta-points span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.66);
  font-size: 11.5px;
}

.ptttaxi-cta-points i {
  color: var(--ptttaxi-orange);
  font-size: 10px;
}


/* ==========================================================
   FAQ
========================================================== */

.ptttaxi-faq {
  padding: 105px 0 115px;
  background: #fff;
}

.ptttaxi-faq-layout {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 100px;
  align-items: start;
}

.ptttaxi-faq-intro {
  position: sticky;
  top: 120px;
}

.ptttaxi-faq-intro > p {
  max-width: 420px;
  margin: 20px 0 32px;
  color: var(--ptttaxi-muted);
  font-size: 14px;
  line-height: 1.75;
}

.ptttaxi-faq-help {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 13px 18px 13px 13px;
  border-radius: 14px;
  background: var(--ptttaxi-cream);
}

.ptttaxi-faq-help > div {
  display: flex;
  width: 45px;
  height: 45px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--ptttaxi-orange);
  color: #fff;
}

.ptttaxi-faq-help span {
  display: flex;
  flex-direction: column;
}

.ptttaxi-faq-help small {
  margin-bottom: 2px;
  color: var(--ptttaxi-muted);
  font-size: 10px;
}

.ptttaxi-faq-help a {
  color: var(--ptttaxi-navy);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.ptttaxi-faq-list {
  border-top: 1px solid var(--ptttaxi-border);
}

.ptttaxi-faq-item {
  border-bottom: 1px solid var(--ptttaxi-border);
}

.ptttaxi-faq-item summary {
  display: flex;
  min-height: 92px;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  cursor: pointer;
  list-style: none;
  color: var(--ptttaxi-navy);
  font-family:var(--ptt-font-main);
  font-size: 21px;
}

.ptttaxi-faq-item summary::-webkit-details-marker {
  display: none;
}

.ptttaxi-faq-item summary i {
  display: flex;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--ptttaxi-border);
  border-radius: 50%;
  color: var(--ptttaxi-orange);
  font-size: 12px;
  transition: all .3s ease;
}

.ptttaxi-faq-item[open] summary i {
  background: var(--ptttaxi-orange);
  border-color: var(--ptttaxi-orange);
  color: #fff;
  transform: rotate(45deg);
}

.ptttaxi-faq-item p {
  max-width: 720px;
  margin: -5px 60px 28px 0;
  color: var(--ptttaxi-muted);
  font-size: 13.5px;
  line-height: 1.8;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1199px) {

  .ptttaxi-container {
    width: calc(100% - 60px);
  }

  .ptttaxi-exp-head,
  .ptttaxi-routes-head {
    gap: 55px;
  }

  .ptttaxi-exp-card {
    padding-left: 24px;
    padding-right: 24px;
  }

  .ptttaxi-exp-line {
    left: 24px;
  }

  .ptttaxi-exp-card:hover .ptttaxi-exp-line {
    width: calc(100% - 48px);
  }

  .ptttaxi-faq-layout {
    gap: 60px;
  }
}


@media (max-width: 991px) {

  .ptttaxi-experience,
  .ptttaxi-routes,
  .ptttaxi-process,
  .ptttaxi-faq {
    padding-top: 80px;
    padding-bottom: 85px;
  }

  .ptttaxi-exp-head,
  .ptttaxi-routes-head {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .ptttaxi-exp-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ptttaxi-exp-card:nth-child(2) {
    border-right: 1px solid var(--ptttaxi-border);
  }

  .ptttaxi-exp-card:nth-child(3) {
    border-left: 1px solid var(--ptttaxi-border);
    border-top: 1px solid var(--ptttaxi-border);
  }

  .ptttaxi-exp-card:nth-child(4) {
    border-top: 1px solid var(--ptttaxi-border);
  }

  .ptttaxi-routes-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ptttaxi-route-card:last-child {
    grid-column: 1 / -1;
    max-width: calc(50% - 11px);
    width: 100%;
    margin: auto;
  }

  .ptttaxi-process-grid {
    gap: 30px;
  }

  .ptttaxi-faq-layout {
    grid-template-columns: 1fr;
    gap: 45px;
  }

  .ptttaxi-faq-intro {
    position: static;
  }
}


@media (max-width: 767px) {

  .ptttaxi-container {
    width: calc(100% - 32px);
  }

  .ptttaxi-experience,
  .ptttaxi-routes,
  .ptttaxi-process,
  .ptttaxi-faq {
    padding: 65px 0 70px;
  }

  .ptttaxi-heading h2,
  .ptttaxi-process-head h2,
  .ptttaxi-faq-intro h2 {
    font-size: 38px;
  }

  .ptttaxi-exp-head {
    margin-bottom: 38px;
  }

  .ptttaxi-exp-grid {
    grid-template-columns: 1fr;
  }

  .ptttaxi-exp-card,
  .ptttaxi-exp-card:nth-child(3) {
    min-height: 250px;
    border-left: 1px solid var(--ptttaxi-border);
    border-right: 1px solid var(--ptttaxi-border);
    border-top: 1px solid var(--ptttaxi-border);
  }

  .ptttaxi-exp-card:first-child {
    border-top: none;
  }

  .ptttaxi-exp-top {
    margin-bottom: 30px;
  }

  .ptttaxi-routes-grid {
    grid-template-columns: 1fr;
  }

  .ptttaxi-route-card:last-child {
    grid-column: auto;
    max-width: none;
  }

  .ptttaxi-route-image {
    height: 230px;
  }

  .ptttaxi-routes-footer {
    flex-direction: column;
    gap: 8px;
  }

  .ptttaxi-process-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ptttaxi-process-grid::before {
    display: none;
  }

  .ptttaxi-process-head {
    margin-bottom: 50px;
  }

  .ptttaxi-cta {
    min-height: 560px;
  }

  .ptttaxi-cta-overlay {
    background: rgba(3,16,27,.84);
  }

  .ptttaxi-cta-inner {
    padding: 75px 0;
    text-align: center;
  }

  .ptttaxi-cta h2 {
    font-size: 44px;
  }

  .ptttaxi-cta-inner > p {
    margin-left: auto;
    margin-right: auto;
  }

  .ptttaxi-cta-actions,
  .ptttaxi-cta-points {
    justify-content: center;
  }

  .ptttaxi-faq-item summary {
    min-height: 82px;
    font-size: 18px;
  }
}


@media (max-width: 480px) {

  .ptttaxi-container {
    width: calc(100% - 24px);
  }

  .ptttaxi-heading h2,
  .ptttaxi-process-head h2,
  .ptttaxi-faq-intro h2 {
    font-size: 34px;
  }

  .ptttaxi-route-body {
    padding: 23px 20px 21px;
  }

  .ptttaxi-route-body h3 {
    font-size: 26px;
  }

  .ptttaxi-route-image {
    height: 215px;
  }

  .ptttaxi-cta h2 {
    font-size: 38px;
  }

  .ptttaxi-cta-actions {
    flex-direction: column;
  }

  .ptttaxi-btn {
    width: 100%;
  }

  .ptttaxi-cta-points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    text-align: left;
  }

  .ptttaxi-faq-item summary {
    font-size: 17px;
    line-height: 1.45;
  }

  .ptttaxi-faq-item p {
    margin-right: 0;
  }
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

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

  .ptttaxi-experience *,
  .ptttaxi-routes *,
  .ptttaxi-process *,
  .ptttaxi-cta *,
  .ptttaxi-faq * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* =========================================================
   PTT GLOBAL TYPOGRAPHY SYSTEM - 2026-09-23
   Typography only: modern travel-focused Poppins + Caveat
   ========================================================= */
:root {
  --ptt-font-main: 'Outfit', sans-serif;

  --ptt-font-script: 'Caveat', cursive;
  --ptt-serif: var(--ptt-font-main); /* legacy compatibility */
  --ptt-sans: var(--ptt-font-main);
  --ptt-script: var(--ptt-font-script);
}

.ptt-site-header, .ptt-site-footer, .ptt-home, .ptt-cj-section,
.ptt-trust-modern, .ptt-review-premium, .pttabout-page, .ptttaxi-page {
  font-family: var(--ptt-font-main);
}

/* Major headings: bold, compact, modern sans-serif */
.ptt-home h2, .ptt-cj-heading, .ptt-trust-modern h2, .ptt-review-premium h2,
.pttabout-page h1, .pttabout-page h2, .ptttaxi-page h1, .ptttaxi-page h2 {
  font-family: var(--ptt-font-main) !important;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1.2px;
}
.ptt-home h2, .ptt-cj-heading, .ptt-trust-modern h2, .ptt-review-premium h2,
.pttabout-page h2, .ptttaxi-page h2 {
  font-size: clamp(36px, 3.2vw, 50px);
}

/* Hero headings retain their larger hierarchy without serif styling */
.ptt-hero-content h1, .pttabout-hero h1, .ptttaxi-hero h1 {
  font-family: var(--ptt-font-main) !important;
  font-weight: 700;
  letter-spacing: -2px;
}
.ptt-hero-content h1 { line-height: .95; }

/* Card / component headings */
.ptt-home h3, .ptt-cj-card h3, .ptt-trust-modern h3, .ptt-review-premium h3,
.pttabout-page h3, .ptttaxi-page h3 {
  font-family: var(--ptt-font-main) !important;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.25px;
}

/* Primary body copy */
.ptt-airport-copy p, .ptt-about-copy p, .ptt-package-copy p, .ptt-home-cta p,
.ptt-cj-description, .pttabout-page p, .ptttaxi-page p {
  font-family: var(--ptt-font-main);
  font-weight: 400;
  line-height: 1.7;
}

/* Small decorative labels only */
.ptt-eyebrow, .ptt-cj-eyebrow, .ptt-trust-modern__eyebrow,
.ptt-review-premium__eyebrow, .pttabout-eyebrow, .ptttaxi-eyebrow,
.ptttaxi-cta-eyebrow {
  font-family: var(--ptt-font-script) !important;
  font-size: clamp(20px, 1.65vw, 26px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: .25px;
  text-transform: none;
}

/* Navigation and controls stay clean and compact */
.ptt-site-nav a, .ptt-site-book, .ptt-mobile-nav a, .ptt-mobile-parent,
.ptt-pill, .ptt-cj-explore, .ptt-cj-details {
  font-family: var(--ptt-font-main);
}
.ptt-site-nav a { font-size: 14px; font-weight: 600; }

/* Legacy decorative hero detail now uses the same controlled script family */
.ptt-hero-detail strong {
  font-family: var(--ptt-font-script);
  font-weight: 600;
}

@media (max-width: 991px) {
  .ptt-home h2, .ptt-cj-heading, .ptt-trust-modern h2, .ptt-review-premium h2,
  .pttabout-page h2, .ptttaxi-page h2 {
    font-size: clamp(34px, 4.6vw, 44px);
    letter-spacing: -.8px;
  }
}

@media (max-width: 767px) {
  .ptt-home h2, .ptt-cj-heading, .ptt-trust-modern h2, .ptt-review-premium h2,
  .pttabout-page h2, .ptttaxi-page h2 {
    font-size: clamp(30px, 8vw, 36px);
    line-height: 1.18;
    letter-spacing: -.65px;
  }
  .ptt-airport-copy p, .ptt-about-copy p, .ptt-package-copy p, .ptt-home-cta p,
  .ptt-cj-description, .pttabout-page p, .ptttaxi-page p {
    font-size: 14px;
    line-height: 1.7;
  }
  .ptt-eyebrow, .ptt-cj-eyebrow, .ptt-trust-modern__eyebrow,
  .ptt-review-premium__eyebrow, .pttabout-eyebrow, .ptttaxi-eyebrow,
  .ptttaxi-cta-eyebrow {
    font-size: 20px;
  }
}
/* ==========================================================
   PTT TOP BAR + STICKY MAIN HEADER ? FINAL
   Top bar scrolls away normally.
   Only .ptt-site-header remains sticky at top: 0.
   ========================================================== */

.ptt-topbar,
.ptt-topbar *,
.ptt-mobile-contact,
.ptt-mobile-contact * {
	display: flex;
    box-sizing: border-box;
}

.ptt-topbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    z-index: 9998;

    display: block !important;
    width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;
	padding: 0 30px;

    background: #071c2b !important;
    background-color: #071c2b !important;
    color: #ffffff !important;

    font-family: var(--ptt-font-main, "Outfit", sans-serif) !important;
    overflow: visible !important;
}

/* Same alignment as the existing main navigation container */
.ptt-topbar .ptt-container.ptt-topbar-inner {
    width: min(93%, var(--ptt-max, 1480px)) !important;
    max-width: var(--ptt-max, 1480px) !important;
    height: 40px !important;
    min-height: 40px !important;

    margin: 0 auto !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
}

/* LEFT ? phones + email */
.ptt-topbar-contact {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: auto !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* RIGHT ? Home / About / Contact */
.ptt-topbar-links {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;

    width: auto !important;
    height: 40px !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
}

/* Topbar links reset ? prevents global anchor styles from breaking layout */
.ptt-topbar-item,
.ptt-topbar-contact > a,
.ptt-topbar-links > a {
    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;

    width: auto !important;
    height: 40px !important;
    min-height: 40px !important;

    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    color: #ffffff !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;

    font-family: var(--ptt-font-main, "Outfit", sans-serif) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;

    transition: color .25s ease !important;
	
}

.ptt-topbar-contact > a {
    gap: 7px !important;
    padding: 0 16px !important;
}

.ptt-topbar-contact > a:first-child {
    padding-left: 0 !important;
}

.ptt-topbar-links > a {
    padding: 0 15px !important;
    font-weight: 600 !important;
}

.ptt-topbar-links > a:last-child {
    padding-right: 0 !important;
}

/* Font Awesome icons ? do not replace these with Unicode phone/mail symbols */
.ptt-topbar-contact > a > i {
   color: #fff!important;
    font-size: 16px!important;
    width: auto!important;
    height: auto!important;
}

/* Separators */
.ptt-topbar-contact > a:not(:last-child)::after,
.ptt-topbar-links > a:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;

    width: 1px !important;
    height: 14px !important;

    background: rgba(255, 255, 255, .16) !important;
    transform: translateY(-50%) !important;
}



/* Main navigation: this is the ONLY sticky bar */
.ptt-site-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
	    padding: 0 30px;
}

/* Existing scrolled state remains intact; only shadow is reinforced */
.ptt-site-header.is-scrolled {
    box-shadow: 0 6px 25px rgba(6, 28, 44, .10) !important;
}

/* Desktop navigation list reset.
   This prevents browser/global CSS bullets from appearing in the main nav. */
@media (min-width: 992px) {
    .ptt-site-nav > ul {
        display: flex;
        align-items: center;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .ptt-site-nav > ul > li {
        list-style: none !important;
        margin: 0;
    }

    .ptt-site-nav > ul > li::marker,
    .ptt-site-dropdown > li::marker {
        content: "" !important;
        font-size: 0 !important;
    }
}

/* Slightly tighter desktop/laptop top bar */
@media (min-width: 992px) and (max-width: 1199px) {
    .ptt-topbar .ptt-container.ptt-topbar-inner {
        width: 94% !important;
        gap: 16px !important;
    }

    .ptt-topbar-contact > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 10.5px !important;
    }

    .ptt-topbar-contact > a:first-child {
        padding-left: 0 !important;
    }

    .ptt-topbar-links > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 10.5px !important;
    }

    .ptt-topbar-links > a:last-child {
        padding-right: 0 !important;
    }
}

/* ==========================================================
   MOBILE
   Top bar is completely hidden.
   Home/About/Contact remain in existing .ptt-mobile-nav.
   ========================================================== */

.ptt-mobile-contact {
    display: none;
}

@media (max-width: 991px) {
    .ptt-topbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Header still sticks directly to browser top */
    .ptt-site-header {
        top: 0 !important;
    }

    .ptt-mobile-contact {
        display: block !important;
        width: auto !important;
        margin: 20px 0 0 !important;
        padding: 8px 0 0 !important;

        border-top: 1px solid rgba(7, 28, 43, .10) !important;
        font-family: var(--ptt-font-main, "Outfit", sans-serif) !important;
    }

    .ptt-mobile-contact > a {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 11px !important;

        width: 100% !important;
        min-height: 44px !important;

        margin: 0 !important;
        padding: 10px 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-bottom: 1px solid rgba(7, 28, 43, .07) !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        color: #071c2b !important;
        text-decoration: none !important;

        font-family: var(--ptt-font-main, "Outfit", sans-serif) !important;
        font-size: 12.5px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;

        transition: color .25s ease !important;
    }

    .ptt-mobile-contact > a:last-child {
        border-bottom: 0 !important;
    }

    .ptt-mobile-contact > a > i {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 18px !important;

        width: 18px !important;
        height: 18px !important;

        color: #fb0001 !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    .ptt-mobile-contact > a:hover {
        color: #fb0001 !important;
    }

    .ptt-mobile-contact + .ptt-mobile-book {
        margin-top: 16px !important;
    }
}

/* Keyboard focus */
.ptt-topbar a:focus-visible,
.ptt-mobile-contact a:focus-visible {
    outline: 2px solid #fb0001 !important;
    outline-offset: -2px !important;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .ptt-topbar a,
    .ptt-mobile-contact a {
        transition: none !important;
    }
}


/* ============================================================
   PTT JODHPUR ? NEW REFERENCE FOOTER
   All selectors intentionally scoped with ptt-newfooter-
   ============================================================ */

.ptt-newfooter {
  --ptt-newfooter-navy: #071f31;
  --ptt-newfooter-text: #26394d;
  --ptt-newfooter-orange: #ed641c;
  --ptt-newfooter-orange-bright: #ff6818;
  --ptt-newfooter-burnt: #c65b20;
  --ptt-newfooter-cream: #fffaf2;
  --ptt-newfooter-cream-deep: #fff3df;
  --ptt-newfooter-line: rgba(213, 132, 57, .25);

  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--ptt-newfooter-cream);
  color: var(--ptt-newfooter-text);
  font-family: "Outfit", sans-serif;
  border-top: 8px solid #fff0d5;
  box-sizing: border-box;
}

.ptt-newfooter *,
.ptt-newfooter *::before,
.ptt-newfooter *::after {
  box-sizing: border-box;
}


/* ============================================================
   MAIN CREAM AREA
   ============================================================ */

.ptt-newfooter-main {
  position: relative;
  z-index: 2;
  width: 100%;
background: #fff4df;
  padding: 48px clamp(34px, 3.4vw, 72px) 30px;
}

.ptt-newfooter-grid {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    minmax(250px, 1.55fr)
    minmax(165px, 1fr)
    minmax(175px, 1.05fr)
    minmax(205px, 1.22fr)
    minmax(205px, 1.20fr)
    minmax(190px, 1.12fr)
    minmax(235px, 1.35fr);
  align-items: stretch;
  gap: 0;
}


/* ============================================================
   BRAND COLUMN
   ============================================================ */

.ptt-newfooter-brand {
  position: relative;
  min-width: 0;
  padding: 0 32px 0 0;
}

.ptt-newfooter-logo {
  display: inline-block;
  width: auto;
  text-decoration: none;
}

.ptt-newfooter-logo img {
  display: block;
  width: clamp(205px, 14vw, 265px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.ptt-newfooter-brand-text {
  max-width: 290px;
  margin: 22px 0 0;
  padding: 0;
  color: var(--ptt-newfooter-text);
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.72;
}

.ptt-newfooter-padharo {
  margin-top: 27px;
  color: #17191b;
  font-family: "Caveat", cursive;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transform: rotate(-2deg);
  transform-origin: left center;
}


/* ============================================================
   ORNAMENT
   ============================================================ */

.ptt-newfooter-ornament,
.ptt-newfooter-heading-ornament {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 92px;
  height: 15px;
}

.ptt-newfooter-ornament {
  width: 150px;
  margin-top: 17px;
}

.ptt-newfooter-ornament span,
.ptt-newfooter-heading-ornament span {
  display: block;
  height: 1px;
  flex: 1 1 auto;
  background: rgba(237, 100, 28, .72);
}

.ptt-newfooter-ornament i,
.ptt-newfooter-heading-ornament i {
  position: relative;
  display: block;
  flex: 0 0 9px;
  width: 9px;
  height: 9px;
  margin: 0 5px;
  border: 1.5px solid var(--ptt-newfooter-orange);
  transform: rotate(45deg);
}

.ptt-newfooter-ornament i::after,
.ptt-newfooter-heading-ornament i::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  top: 50%;
  left: 50%;
  background: var(--ptt-newfooter-orange);
  transform: translate(-50%, -50%);
}


/* ============================================================
   STANDARD LINK COLUMNS
   ============================================================ */

.ptt-newfooter-column {
  position: relative;
  min-width: 0;
  padding: 0 22px 0 27px;
  border-left: 1px solid var(--ptt-newfooter-line);
}

.ptt-newfooter-heading {
  margin: 0;
  padding: 0;
  color: #fb0001;
 font-family: var(--ptt-font-main);
  font-size: clamp(14px, 1.05vw, 18px);
  font-weight: 700;
  line-height: 1.25;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 15px;
}

.ptt-newfooter-heading-ornament {
  margin-top: 11px;
  margin-bottom: 21px;
}

.ptt-newfooter-links {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ptt-newfooter-links li {
  display: block;
  margin: 0 0 7px;
  padding: 0;
}

.ptt-newfooter-links li:last-child {
  margin-bottom: 0;
}

.ptt-newfooter-links a {
  display: inline-block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  color: var(--ptt-newfooter-text);
  font-family: "Outfit", sans-serif;
  font-size: clamp(12px, .82vw, 14px);
  font-weight: 400;
  line-height: 1.45;
  text-decoration: none;
  transition:
    color .25s ease,
    transform .25s ease;
}

.ptt-newfooter-links a:hover,
.ptt-newfooter-links a:focus-visible {
  color: var(--ptt-newfooter-orange);
  transform: translateX(3px);
}


/* ============================================================
   CONTACT
   ============================================================ */

.ptt-newfooter-contact {
  padding-right: 0;
}

.ptt-newfooter-contact-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ptt-newfooter-contact-row {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  margin: 0;
  color: var(--ptt-newfooter-text);
  font-family: "Outfit", sans-serif;
  font-size: clamp(12px, .84vw, 14px);
  font-weight: 400;
  line-height: 1.4;
  text-decoration: none;
}

a.ptt-newfooter-contact-row {
  transition: color .25s ease;
}

a.ptt-newfooter-contact-row:hover,
a.ptt-newfooter-contact-row:focus-visible {
  color: var(--ptt-newfooter-orange);
}

.ptt-newfooter-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background:#fb0001;
  color: #fff;
}

.ptt-newfooter-contact-icon i {
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.ptt-newfooter-contact-divider {
  width: 100%;
  height: 1px;
  margin: 20px 0 16px;
  background: rgba(213, 132, 57, .23);
}


/* ============================================================
   CTA
   ============================================================ */

.ptt-newfooter-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  min-height: 58px;
  padding: 0 25px;
  border-radius: 999px;
  background: #fb0001;
  color: #fff;
  font-family: "Outfit", sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(194, 75, 14, .12);
  transition:
    background-color .25s ease,
    box-shadow .25s ease,
    transform .25s ease;
}

.ptt-newfooter-cta i {
  color: #fff;
  font-size: 15px;
  transition: transform .25s ease;
}

.ptt-newfooter-cta:hover,
.ptt-newfooter-cta:focus-visible {
  color: #fff;
  background: #ed5910;
  transform: translateY(-2px);
  box-shadow: 0 11px 25px rgba(194, 75, 14, .20);
}

.ptt-newfooter-cta:hover i,
.ptt-newfooter-cta:focus-visible i {
  transform: translateX(4px);
}

.ptt-newfooter-quick {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  margin-top: 13px;
  color: var(--ptt-newfooter-text);
  font-family: "Outfit", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}

.ptt-newfooter-quick i {
  display: block;
  width: 1px;
  height: 15px;
  background: rgba(7, 31, 49, .45);
}


/* ============================================================
   FULL WIDTH RAJASTHAN ARTWORK
   ============================================================ */

.ptt-newfooter-art {
  position: relative;
  z-index: 1;
  width: 100%;
  height: clamp(225px, 13.5vw, 280px);
  overflow: hidden;
  background: #fff4df;
}

.ptt-newfooter-art picture {
  display: block;
  width: 100%;
  height: 100%;
}

.ptt-newfooter-art-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


/* ============================================================
   ARTWORK QUOTE
   Remove HTML block if quote exists in final artwork
   ============================================================ */

.ptt-newfooter-quote {
  position: absolute;
  z-index: 2;
  top: 43%;
  left: 50%;
  width: min(390px, 28vw);
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}

.ptt-newfooter-quote p {
  margin: 0;
  padding: 0;
  color: #20252a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 1.65vw, 32px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.22;
}

.ptt-newfooter-quote .ptt-newfooter-ornament {
  width: 112px;
  margin: 17px auto 0;
}


/* ============================================================
   RAJASTHAN ORNAMENTAL BORDER BAND
   If using your own image, uncomment background-image below.
   ============================================================ */

.ptt-newfooter-pattern {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 32px;
  overflow: hidden;
  background: #d8752f;

  /*
  background-image: url("../images/footer-border-pattern.webp");
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 100%;
  */
}

.ptt-newfooter-pattern::before,
.ptt-newfooter-pattern::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 235, 188, .8);
}

.ptt-newfooter-pattern::before {
  top: 4px;
}

.ptt-newfooter-pattern::after {
  bottom: 4px;
}

.ptt-newfooter-pattern-inner {
  position: absolute;
  inset: 5px 0;
  opacity: .95;
  background:
    radial-gradient(
      circle at 12px 13px,
      transparent 0 5px,
      #ffd68f 5.5px 7px,
      transparent 7.5px
    ) 0 0 / 24px 24px repeat-x;
}

.ptt-newfooter-pattern-inner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  background:
    linear-gradient(
      135deg,
      transparent 42%,
      rgba(255, 220, 155, .9) 43% 57%,
      transparent 58%
    ) 0 0 / 24px 8px repeat-x;
}


/* ============================================================
   BOTTOM COPYRIGHT BAR
   ============================================================ */

.ptt-newfooter-bottom {
  position: relative;
  z-index: 4;
  width: 100%;
  min-height: 68px;
  background: #c65b20;
}

.ptt-newfooter-bottom-inner {
  width: 100%;
  max-width: 1920px;
  min-height: 68px;
  margin: 0 auto;
  padding: 0 clamp(34px, 3.4vw, 72px);
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto minmax(220px, .42fr);
  align-items: center;
  column-gap: 35px;
}

.ptt-newfooter-copyright {
  margin: 0;
  padding: 0;
  color: rgba(255,255,255,.94);
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
}

.ptt-newfooter-legal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.ptt-newfooter-legal a {
  color: rgba(255,255,255,.94);
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  transition: opacity .25s ease;
}

.ptt-newfooter-legal a:hover,
.ptt-newfooter-legal a:focus-visible {
  color: #fff;
  opacity: .75;
}

.ptt-newfooter-legal > span {
  display: block;
  width: 1px;
  height: 17px;
  background: rgba(255,255,255,.65);
}


/* ============================================================
   SOCIALS
   ============================================================ */

.ptt-newfooter-socials {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.ptt-newfooter-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 35px;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: #fff;
  color: #17191b;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  transition:
    color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.ptt-newfooter-socials a:hover,
.ptt-newfooter-socials a:focus-visible {
  color: var(--ptt-newfooter-orange);
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(0,0,0,.12);
}


/* ============================================================
   1600px
   ============================================================ */

@media (max-width: 1600px) {

  .ptt-newfooter-main {
    padding-left: 58px;
    padding-right: 58px;
  }

  .ptt-newfooter-bottom-inner {
    padding-left: 58px;
    padding-right: 58px;
  }

  .ptt-newfooter-column {
    padding-left: 22px;
    padding-right: 17px;
  }

  .ptt-newfooter-brand {
    padding-right: 27px;
  }

  .ptt-newfooter-links a,
  .ptt-newfooter-contact-row {
    font-size: 12.5px;
  }
}


/* ============================================================
   1440px
   ============================================================ */

@media (max-width: 1440px) {

  .ptt-newfooter-main {
    padding: 45px 48px 27px;
  }

  .ptt-newfooter-bottom-inner {
    padding-left: 48px;
    padding-right: 48px;
  }

  .ptt-newfooter-grid {
    grid-template-columns:
      1.48fr
      1fr
      1.05fr
      1.22fr
      1.2fr
      1.13fr
      1.35fr;
  }

  .ptt-newfooter-column {
    padding-left: 19px;
    padding-right: 13px;
  }

  .ptt-newfooter-brand {
    padding-right: 23px;
  }

  .ptt-newfooter-logo img {
    width: 210px;
  }

  .ptt-newfooter-brand-text {
    font-size: 12.8px;
  }

  .ptt-newfooter-heading {
    font-size: 14px;
  }

  .ptt-newfooter-links li {
    margin-bottom: 8px;
  }

  .ptt-newfooter-links a,
  .ptt-newfooter-contact-row {
    font-size: 11.5px;
  }

  .ptt-newfooter-contact-icon {
    flex-basis: 29px;
    width: 29px;
    height: 29px;
  }

  .ptt-newfooter-cta {
    min-height: 53px;
    font-size: 13px;
  }

  .ptt-newfooter-art {
    height: 235px;
  }
}


/* ============================================================
   1366px
   ============================================================ */

@media (max-width: 1366px) {

  .ptt-newfooter-main {
    padding-left: 40px;
    padding-right: 40px;
  }

  .ptt-newfooter-bottom-inner {
    padding-left: 40px;
    padding-right: 40px;
  }

  .ptt-newfooter-column {
    padding-left: 17px;
    padding-right: 11px;
  }

  .ptt-newfooter-logo img {
    width: 195px;
  }

  .ptt-newfooter-padharo {
    font-size: 35px;
  }
}


/* ============================================================
   1200px
   ============================================================ */

@media (max-width: 1199px) {

  .ptt-newfooter-main {
    padding: 48px 34px 35px;
  }

  .ptt-newfooter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    row-gap: 40px;
  }

  .ptt-newfooter-brand {
    grid-column: span 2;
    padding-right: 45px;
  }

  .ptt-newfooter-contact {
    grid-column: span 1;
  }

  .ptt-newfooter-column {
    padding-left: 25px;
    padding-right: 25px;
  }

  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(4) {
    border-left: 0;
    padding-left: 0;
  }

  .ptt-newfooter-heading {
    font-size: 16px;
  }

  .ptt-newfooter-links a,
  .ptt-newfooter-contact-row {
    font-size: 13px;
  }

  .ptt-newfooter-art {
    height: 230px;
  }

  .ptt-newfooter-bottom-inner {
    padding: 14px 34px;
    grid-template-columns: 1fr auto;
    row-gap: 12px;
  }

  .ptt-newfooter-socials {
    grid-column: 2;
    grid-row: 1;
  }

  .ptt-newfooter-legal {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: flex-start;
  }
}


/* ============================================================
   991px
   ============================================================ */

@media (max-width: 991px) {

  .ptt-newfooter-main {
    padding: 45px 28px 34px;
  }

  .ptt-newfooter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 38px;
  }

  .ptt-newfooter-brand {
    grid-column: 1 / -1;
    padding: 0 0 8px;
  }

  .ptt-newfooter-brand-text {
    max-width: 500px;
    font-size: 14px;
  }

  .ptt-newfooter-column,
  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(4) {
    border-left: 0;
    padding: 0;
  }

  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(even) {
    padding-right: 24px;
    border-right: 1px solid var(--ptt-newfooter-line);
  }

  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(odd) {
    padding-left: 24px;
  }

  .ptt-newfooter-contact {
    grid-column: 1 / -1;
    max-width: 520px;
    width: 100%;
    padding: 0 !important;
    border-right: 0 !important;
  }

  .ptt-newfooter-contact-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ptt-newfooter-art {
    height: 220px;
  }

  .ptt-newfooter-quote {
    width: 330px;
  }

  .ptt-newfooter-quote p {
    font-size: 25px;
  }
}


/* ============================================================
   MOBILE <= 767px
   ============================================================ */

@media (max-width: 767px) {

  .ptt-newfooter {
    border-top-width: 5px;
  }

  .ptt-newfooter-main {
    padding: 38px 22px 34px;
  }

  .ptt-newfooter-grid {
    display: block;
  }

  .ptt-newfooter-brand {
    width: 100%;
    margin: 0 0 42px;
    padding: 0;
  }

  .ptt-newfooter-logo img {
    width: 205px;
  }

  .ptt-newfooter-brand-text {
    max-width: 100%;
    margin-top: 20px;
    font-size: 13.5px;
    line-height: 1.72;
  }

  .ptt-newfooter-padharo {
    margin-top: 25px;
    font-size: 39px;
  }

  .ptt-newfooter-column,
  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(even),
  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(odd),
  .ptt-newfooter-grid > .ptt-newfooter-column:nth-child(4) {
    width: 100%;
    margin: 0;
    padding: 25px 0;
    border: 0;
    border-top: 1px solid rgba(213,132,57,.18);
  }

  .ptt-newfooter-heading {
    font-size: 16px;
  }

  .ptt-newfooter-heading-ornament {
    margin-top: 10px;
    margin-bottom: 19px;
  }

  .ptt-newfooter-links li {
    margin-bottom: 9px;
  }

  .ptt-newfooter-links a {
    font-size: 15px;
  }

  .ptt-newfooter-contact {
    max-width: none;
    padding-top: 25px !important;
  }

  .ptt-newfooter-contact-list {
    display: flex;
    flex-direction: column;
    gap: 13px;
  }

  .ptt-newfooter-contact-row {
    font-size: 15px;
  }

  .ptt-newfooter-contact-icon {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
  }

  .ptt-newfooter-contact-divider {
    margin: 20px 0;
  }

  .ptt-newfooter-cta {
    min-height: 55px;
    font-size: 14px;
  }

  .ptt-newfooter-quick {
    margin-top: 15px;
    font-size: 12px;
  }


  /* ARTWORK */

  .ptt-newfooter-art {
    height: 215px;
  }

  .ptt-newfooter-art-img {
    object-position: center bottom;
  }

  .ptt-newfooter-quote {
    top: 45%;
    width: min(300px, 78vw);
  }

  .ptt-newfooter-quote p {
    font-size: 22px;
  }

  .ptt-newfooter-quote .ptt-newfooter-ornament {
    width: 95px;
    margin-top: 13px;
  }


  /* PATTERN */

  .ptt-newfooter-pattern {
    height: 27px;
  }


  /* BOTTOM */

  .ptt-newfooter-bottom {
    min-height: 0;
  }

  .ptt-newfooter-bottom-inner {
    min-height: 0;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
  }

  .ptt-newfooter-copyright {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }

  .ptt-newfooter-legal {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  .ptt-newfooter-legal a {
    font-size: 11.5px;
  }

  .ptt-newfooter-legal > span {
    height: 13px;
  }

  .ptt-newfooter-socials {
    justify-content: center;
    gap: 11px;
  }

  .ptt-newfooter-socials a {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
    font-size: 14px;
  }
}


/* ============================================================
   480px
   ============================================================ */

@media (max-width: 480px) {

  .ptt-newfooter-main {
    padding-left: 18px;
    padding-right: 18px;
  }

  .ptt-newfooter-logo img {
    width: 190px;
  }

  .ptt-newfooter-brand-text {
    font-size: 13px;
  }

  .ptt-newfooter-padharo {
    font-size: 36px;
  }

  .ptt-newfooter-art {
    height: 195px;
  }

  .ptt-newfooter-quote {
    width: 80%;
  }

  .ptt-newfooter-quote p {
    font-size: 20px;
  }

  .ptt-newfooter-bottom-inner {
    padding-left: 18px;
    padding-right: 18px;
  }
}


/* ============================================================
   390px
   ============================================================ */

@media (max-width: 390px) {

  .ptt-newfooter-main {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ptt-newfooter-logo img {
    width: 180px;
  }

  .ptt-newfooter-padharo {
    font-size: 33px;
  }

  .ptt-newfooter-heading {
    font-size: 15px;
  }

  .ptt-newfooter-links a,
  .ptt-newfooter-contact-row {
    font-size: 12.5px;
  }

  .ptt-newfooter-art {
    height: 185px;
  }

  .ptt-newfooter-quote p {
    font-size: 19px;
  }

  .ptt-newfooter-legal {
    gap: 9px;
  }

  .ptt-newfooter-legal a {
    font-size: 10.5px;
  }
}


/* ============================================================
   ACCESSIBILITY / REDUCED MOTION
   ============================================================ */

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

  .ptt-newfooter a,
  .ptt-newfooter i {
    transition: none !important;
  }

  .ptt-newfooter a:hover,
  .ptt-newfooter a:focus-visible {
    transform: none !important;
  }
}


.footer1 {
background-color:#d8752f;
padding:.5%;
}
.footer-left1 {
margin-left:1vw;
}
.footer-right1 {
margin-right:1vw;
}
.monogram {
float:left;
width:2%;
height:auto;
}
.monogram img {
width:100%;
height:100%;
}
.weblink {
font-family: "Poppins", sans-serif;
font-size:0.9vw;
color:#FFF;
padding-top:.0vw;
float:left;
margin-left:.5vw;
text-decoration:none
}
.weblink a {
font-family: "Poppins", sans-serif;
font-size:0.9vw;
color:#FFF;
text-decoration:none;
font-weight:700;
}
.weblink a:hover {
color:#f6cf96;
text-decoration:none
}
.copyright {
font-family: "Poppins", sans-serif;
font-size:0.9vw;
float:right;
color:#FFF;
padding-top:.0vw;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

@media (max-width: 768px) {



    .cta-container {
        left: 12px;
        right: 12px;
        bottom: calc(14px + env(safe-area-inset-bottom));
        width: 185px;
    }

    .cta-button {
        justify-content: center;
        width: 100%;
        font-size: 15px;
        padding: 14px 18px;
    }
	
	 .weblink {
  font-size: 15px!important;
  text-align:center;
  width:100%;
  margin-left:0;
}
.weblink a {
  font-size: 15px!important;
}
.copyright {
  font-size: 15px!important;
  text-align:center;
  width:100%;
}

}

/* =========================================================
   PTT TAXI SERVICES PAGE
   Completely isolated / unique page CSS
========================================================= */

.ptttaxi-page {
    --ptttaxi-orange: #fb0001;
    --ptttaxi-dark: #171a1b;
    --ptttaxi-navy: #10233a;
    --ptttaxi-white: #ffffff;
    --ptttaxi-warm-white: #fffdfa;
    --ptttaxi-grey: #657080;
    --ptttaxi-border: rgba(255,255,255,.14);
    --ptttaxi-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
    --ptttaxi-sans: "Poppins", Arial, sans-serif;

    width: 100%;
    overflow: hidden;
    background: var(--ptttaxi-warm-white);
}

.ptttaxi-page *,
.ptttaxi-page *::before,
.ptttaxi-page *::after {
    box-sizing: border-box;
}

.ptttaxi-page .ptttaxi-container {
    width: min(calc(100% - 110px), 1540px);
    margin-inline: auto;
}


/* =========================================================
   HERO
========================================================= */

.ptttaxi-page .ptttaxi-hero {
    position: relative;
    width: 100%;
    min-height: 650px;
    display: flex;
    align-items: center;
    overflow: hidden;

    background-image:
        url("../images/taxi-bg.webp");
    background-size: cover;
background-position: bottom;
    background-repeat: no-repeat;
}

.ptttaxi-page .ptttaxi-hero-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(4,15,25,.93) 0%,
            rgba(4,15,25,.88) 18%,
            rgba(4,15,25,.72) 34%,
            rgba(4,15,25,.34) 51%,
            rgba(4,15,25,.08) 67%,
            rgba(4,15,25,0) 78%
        );
    pointer-events: none;
}

.ptttaxi-page .ptttaxi-hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 650px;
}

.ptttaxi-page .ptttaxi-hero-content {
    width: min(600px, 43%);
    color: var(--ptttaxi-white);
    padding: 42px 0;
}


/* eyebrow */

.ptttaxi-page .ptttaxi-hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;

    font-family: var(--ptttaxi-sans);
    font-size: 11px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 5px;
    color: rgba(255,255,255,.92);
}

.ptttaxi-page .ptttaxi-hero-eyebrow i {
    display: block;
    width: 1px;
    height: 11px;
    background: rgba(255,255,255,.55);
}


/* heading */

.ptttaxi-page .ptttaxi-hero-title {
    margin: 0 0 22px;

    font-family: var(--ptttaxi-serif);
    font-size: clamp(64px, 4.4vw, 78px);
    line-height: .92;
    letter-spacing: -2.4px;
    font-weight: 700;
    color: #fff;
}

.ptttaxi-page .ptttaxi-hero-title-line {
    display: block;
    white-space: nowrap;
}

.ptttaxi-page .ptttaxi-hero-title strong {
    color: var(--ptttaxi-orange);
    font: inherit;
}


/* subtitle */

.ptttaxi-page .ptttaxi-hero-subtitle {
    margin: 0 0 16px;

    font-family: var(--ptttaxi-sans);
    font-size: clamp(21px, 1.45vw, 26px);
    line-height: 1.28;
    font-weight: 400;
    letter-spacing: -.4px;
    color: #fff;
}


/* hero paragraph */

.ptttaxi-page .ptttaxi-hero-text {
    max-width: 520px;
    margin: 0 0 24px;

    font-family: var(--ptttaxi-sans);
    font-size: 14.5px;
    line-height: 1.65;
    font-weight: 400;
    color: rgba(255,255,255,.88);
}


/* features */

.ptttaxi-page .ptttaxi-hero-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    width: 100%;
    max-width: 555px;
    margin: 0 0 22px;
}

.ptttaxi-page .ptttaxi-hero-feature {
    position: relative;
    text-align: center;
    padding: 0 12px;
}

.ptttaxi-page .ptttaxi-hero-feature:first-child {
    padding-left: 0;
}

.ptttaxi-page .ptttaxi-hero-feature:last-child {
    padding-right: 0;
}

.ptttaxi-page .ptttaxi-hero-feature:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 5px;
    bottom: 2px;
    width: 1px;
    background: rgba(255,255,255,.20);
}

.ptttaxi-page .ptttaxi-feature-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 8px;
    border-radius: 50%;

    display: flex;

    align-items: center;
    justify-content: center;

    background: var(--ptttaxi-orange);
    color: #15202a;
    font-size: 19px;
}

.ptttaxi-page .ptttaxi-hero-feature span {
    display: block;
    font-family: var(--ptttaxi-sans);
    font-size: 12px;
    line-height: 1.35;
    font-weight: 500;
    color: rgba(255,255,255,.96);
}


/* button */

.ptttaxi-page .ptttaxi-hero-action {
    width: 290px;
}

.ptttaxi-page .ptttaxi-primary-btn {
    width: 100%;
    min-height: 58px;
    padding: 0 25px 0 30px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-radius: 999px;
    text-decoration: none;

    background: var(--ptttaxi-orange);
    color: #fff;

    font-family: var(--ptttaxi-sans);
    font-size: 16px;
    line-height: 1;
    font-weight: 700;

    box-shadow: 0 12px 30px rgba(255,100,20,.15);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.ptttaxi-page .ptttaxi-primary-btn i {
    font-size: 14px;
    transition: transform .25s ease;
}

.ptttaxi-page .ptttaxi-primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(255,100,20,.27);
}

.ptttaxi-page .ptttaxi-primary-btn:hover i {
    transform: translateX(4px);
}


/* trust text */

.ptttaxi-page .ptttaxi-hero-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-top: 11px;

    font-family: var(--ptttaxi-sans);
    font-size: 11px;
    line-height: 1;
    font-weight: 400;
    color: rgba(255,255,255,.87);
}

.ptttaxi-page .ptttaxi-hero-trust i {
    display: block;
    width: 1px;
    height: 10px;
    background: rgba(255,255,255,.58);
}


/* lower right location */

.ptttaxi-page .ptttaxi-hero-location {
    position: absolute;
    z-index: 3;
    right: max(54px, calc((100vw - 1540px) / 2));
    bottom: 30px;

    display: flex;
    align-items: center;
    gap: 13px;

    color: #fff;
}

.ptttaxi-page .ptttaxi-hero-location-icon {
    font-size: 48px;
    line-height: 1;
    color: var(--ptttaxi-orange);
}

.ptttaxi-page .ptttaxi-hero-location small,
.ptttaxi-page .ptttaxi-hero-location strong,
.ptttaxi-page .ptttaxi-hero-location span {
    display: block;
}

.ptttaxi-page .ptttaxi-hero-location small {
    margin-bottom: 1px;
    font-family: var(--ptttaxi-serif);
    font-size: 12px;
    line-height: 1;
    letter-spacing: .5px;
}

.ptttaxi-page .ptttaxi-hero-location strong {
    font-family: var(--ptttaxi-serif);
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
}

.ptttaxi-page .ptttaxi-hero-location span {
    margin-top: 4px;
    font-family: var(--ptttaxi-serif);
    font-size: 10px;
    line-height: 1;
    letter-spacing: .4px;
}


/* =========================================================
   ABOUT
========================================================= */

.ptttaxi-page .ptttaxi-about {
    position: relative;
    background: var(--ptttaxi-warm-white);
    padding: 58px 0 55px;
}

.ptttaxi-page .ptttaxi-about-grid {
    display: grid;
    grid-template-columns: minmax(0,1.04fr) minmax(0,.96fr);
    align-items: center;
    gap: clamp(55px, 6vw, 95px);
}


/* common eyebrow */

.ptttaxi-page .ptttaxi-eyebrow {
    display: block;
    margin-bottom: 10px;

    font-family: var(--ptttaxi-sans);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 4px;
    color: var(--ptttaxi-orange);
}


/* about title */

.ptttaxi-page .ptttaxi-about-title {
    margin: 0 0 16px;

    font-family: var(--ptttaxi-serif);
    font-size: clamp(41px, 3vw, 50px);
    line-height: 1.02;
    letter-spacing: -1.3px;
    font-weight: 700;
    color: var(--ptttaxi-navy);
}

.ptttaxi-page .ptttaxi-about-title span {
    color: var(--ptttaxi-orange);
}


/* about copy */

.ptttaxi-page .ptttaxi-about-text {
    max-width: 690px;
    margin: 0;

    font-family: var(--ptttaxi-sans);
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;
    color: #000;
}


/* stats */

.ptttaxi-page .ptttaxi-stats {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    margin-top: 29px;
}

.ptttaxi-page .ptttaxi-stat {
    position: relative;
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 2px 18px;
}

.ptttaxi-page .ptttaxi-stat:first-child {
    padding-left: 0;
}

.ptttaxi-page .ptttaxi-stat:last-child {
    padding-right: 0;
}

.ptttaxi-page .ptttaxi-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;

    width: 1px;
    background: rgba(255,100,20,.25);
}

.ptttaxi-page .ptttaxi-stat-icon {
    flex: 0 0 auto;
    color: var(--ptttaxi-orange);
    font-size: 27px;
    line-height: 1;
}

.ptttaxi-page .ptttaxi-stat-content {
    min-width: 0;
}

.ptttaxi-page .ptttaxi-stat-content strong {
    display: block;

    font-family: var(--ptttaxi-sans);
    font-size: 15px;
    line-height: 1.15;
    font-weight: 700;
    color: var(--ptttaxi-navy);
    white-space: nowrap;
}

.ptttaxi-page .ptttaxi-stat-content span {
    display: block;
    margin-top: 2px;

    font-family: var(--ptttaxi-sans);
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;
    color: #586374;
    white-space: nowrap;
}


/* about image */

.ptttaxi-page .ptttaxi-about-visual {
    width: 100%;
}

.ptttaxi-page .ptttaxi-about-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1.88 / 1;
    overflow: hidden;
    border-radius: 15px;
    background: #ece5dc;
}

.ptttaxi-page .ptttaxi-about-image > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ptttaxi-page .ptttaxi-about-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(9,19,29,.24) 0%,
            rgba(9,19,29,.02) 50%,
            rgba(9,19,29,.06) 100%
        );
    pointer-events: none;
}

.ptttaxi-page .ptttaxi-about-image-copy {
    position: absolute;
    z-index: 2;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: #fff;
    white-space: nowrap;
}

.ptttaxi-page .ptttaxi-about-image-copy span {
    display: block;

    font-family: var(--ptttaxi-serif);
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 5px;
}

.ptttaxi-page .ptttaxi-about-image-copy strong {
    display: block;
    margin-top: 5px;

    font-family: var(--ptttaxi-serif);
    font-size: 21px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 1.5px;
}


/* brush accent */

.ptttaxi-page .ptttaxi-brush,
.ptttaxi-page .ptttaxi-banner-brush {
    position: relative;
    width: 84px;
    height: 17px;
    margin: 10px auto 0;
}

.ptttaxi-page .ptttaxi-brush i,
.ptttaxi-page .ptttaxi-banner-brush i {
    position: absolute;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 100%;
    background: var(--ptttaxi-orange);
    transform: rotate(-8deg);
}

.ptttaxi-page .ptttaxi-brush i:first-child,
.ptttaxi-page .ptttaxi-banner-brush i:first-child {
    top: 4px;
}

.ptttaxi-page .ptttaxi-brush i:last-child,
.ptttaxi-page .ptttaxi-banner-brush i:last-child {
    top: 10px;
    left: 15px;
    width: 70%;
}


/* caption */

.ptttaxi-page .ptttaxi-about-caption {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;

    margin-top: 13px;

    font-family: var(--ptttaxi-sans);
    font-size: 8px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 4px;
    color: #485365;
}

.ptttaxi-page .ptttaxi-about-caption > i {
    display: block;
    width: 60px;
    height: 1px;
    background: var(--ptttaxi-orange);
}

.ptttaxi-page .ptttaxi-about-caption > b {
    display: block;
    width: 1px;
    height: 9px;
    background: rgba(255,100,20,.6);
}


/* =========================================================
   FLEET
========================================================= */

.ptttaxi-page .ptttaxi-fleet {
    position: relative;
    padding: 45px 0 54px;
    background:
        radial-gradient(circle at 75% 15%, rgba(255,255,255,.035), transparent 30%),
        #191b1b;
}

.ptttaxi-page .ptttaxi-fleet-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 45px;
    margin-bottom: 25px;
}

.ptttaxi-page .ptttaxi-fleet-heading h2 {
    margin: 0;

    font-family: var(--ptttaxi-serif);
    font-size: clamp(43px, 3vw, 52px);
    line-height: 1;
    letter-spacing: -1.4px;
    font-weight: 700;
    color: #fff;
}

.ptttaxi-page .ptttaxi-fleet-heading h2 span {
    color: var(--ptttaxi-orange);
}

.ptttaxi-page .ptttaxi-fleet-head > p {
    width: 390px;
    margin: 0 0 4px;

    font-family: var(--ptttaxi-sans);
    font-size: 13px;
    line-height: 1.55;
    font-weight: 400;
    color: rgba(255,255,255,.85);
}


/* grid */

.ptttaxi-page .ptttaxi-fleet-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 17px;
}


/* card */

.ptttaxi-page .ptttaxi-card {
    position: relative;
    min-width: 0;
    overflow: hidden;

    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.018)
        ),
        #252727;

    box-shadow: 0 12px 25px rgba(0,0,0,.08);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}

.ptttaxi-page .ptttaxi-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 0 auto 0;
    height: 69%;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.025),
            rgba(20,20,20,.24)
        ),
        url("../images/taxi/fleet-card-bg.webp") center/cover no-repeat;

    opacity: .35;
    pointer-events: none;
}

.ptttaxi-page .ptttaxi-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255,100,20,.55);
    box-shadow: 0 18px 36px rgba(0,0,0,.22);
}

.ptttaxi-page .ptttaxi-card-link {
    position: relative;
    z-index: 1;

    display: flex;
    flex-direction: column;

    min-height: 322px;

    color: inherit;
    text-decoration: none;
}


/* image */

.ptttaxi-page .ptttaxi-card-image {
    height: 100%;
    padding: 14px 15px 0;

    display: flex;
    align-items: center;
    justify-content: center;
}

.ptttaxi-page .ptttaxi-card-image img {
    display: block;
    width: 100%;
    height: 100%;

    filter: drop-shadow(0 12px 10px rgba(0,0,0,.27));

    transition: transform .35s ease;
}

.ptttaxi-page .ptttaxi-card:hover .ptttaxi-card-image img {
    transform: scale(1.035);
}


/* card body */

.ptttaxi-page .ptttaxi-card-body {
    position: relative;
    flex: 1;
    padding: 18px 17px 15px;
}

.ptttaxi-page .ptttaxi-card-body h3 {
    margin: 0 0 3px;
    padding-right: 44px;

    font-family: var(--ptttaxi-serif);
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -.25px;
    color: #fff;
}

.ptttaxi-page .ptttaxi-card-body p {
    margin: 0 0 13px;

    font-family: var(--ptttaxi-sans);
    font-size: 16px;
    line-height: 1.4;
    font-weight: 400;
    color: rgba(255,255,255,.78);
}


/* card bottom */

.ptttaxi-page .ptttaxi-card-footer {
    min-height: 34px;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ptttaxi-page .ptttaxi-card-meta {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 8px;

    font-family: var(--ptttaxi-sans);
    font-size: 15px;
    line-height: 1;
    font-weight: 500;
    color: rgba(255,255,255,.9);
}

.ptttaxi-page .ptttaxi-card-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.ptttaxi-page .ptttaxi-card-meta i {
    font-size: 11px;
    color: #fff;
}

.ptttaxi-page .ptttaxi-card-meta b {
    display: block;
    width: 1px;
    height: 12px;
    background: rgba(255,255,255,.24);
}


/* arrow */

.ptttaxi-page .ptttaxi-card-arrow {
    position: absolute;
    right: 15px;
    bottom: 14px;

    width: 39px;
    height: 39px;
    flex: 0 0 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--ptttaxi-orange);
    color: #17202a;

    font-size: 12px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.ptttaxi-page .ptttaxi-card:hover .ptttaxi-card-arrow {
    transform: scale(1.07);
    box-shadow: 0 8px 18px rgba(255,100,20,.25);
}

.ptttaxi-page .ptttaxi-card-arrow i {
    transition: transform .25s ease;
}

.ptttaxi-page .ptttaxi-card:hover .ptttaxi-card-arrow i {
    transform: translateX(2px);
}


/* =========================================================
   PANORAMIC BANNER
========================================================= */

.ptttaxi-page .ptttaxi-banner {
    position: relative;

    width: 100%;
    height: clamp(280px, 20vw, 330px);

    display: flex;
    justify-content: center;
    align-items: flex-start;

    overflow: hidden;

    background:
        url("../images/taxi-cta-bg.webp")
        center center / cover no-repeat;
}

.ptttaxi-page .ptttaxi-banner-content {
    position: relative;
    z-index: 2;

    margin-top: 42px;
    text-align: center;
}

.ptttaxi-page .ptttaxi-banner-content h2 {
    margin: 0;

    font-family: var(--ptttaxi-serif);
    font-size: clamp(31px, 2.25vw, 39px);
    line-height: 1.02;
    letter-spacing: -.7px;
    font-weight: 700;
    font-style: italic;
    color: #3c2519;

    text-shadow: 0 1px 1px rgba(255,255,255,.18);
}

.ptttaxi-page .ptttaxi-banner-brush {
    width: 105px;
    margin-top: 15px;
}


/* =========================================================
   REVEAL ANIMATION
========================================================= */

.ptttaxi-page .ptttaxi-reveal {
    opacity: 0;
    transform: translateY(22px);

    transition:
        opacity .72s ease,
        transform .72s cubic-bezier(.2,.7,.2,1);
}

.ptttaxi-page .ptttaxi-reveal.ptttaxi-visible {
    opacity: 1;
    transform: translateY(0);
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(2) {
    transition-delay: .06s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(3) {
    transition-delay: .12s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(4) {
    transition-delay: .18s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(5) {
    transition-delay: .04s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(6) {
    transition-delay: .10s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(7) {
    transition-delay: .16s;
}

.ptttaxi-page .ptttaxi-fleet-grid .ptttaxi-card:nth-child(8) {
    transition-delay: .22s;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1700px) {

    .ptttaxi-page .ptttaxi-container {
        width: min(calc(100% - 130px), 1600px);
    }

    .ptttaxi-page .ptttaxi-hero,
    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 675px;
    }

    .ptttaxi-page .ptttaxi-hero-content {

        width: 610px;
    }

    .ptttaxi-page .ptttaxi-card-link {
        min-height: 330px;
    }


}


/* =========================================================
   1366 - 1599
========================================================= */

@media (max-width: 1599px) {

    .ptttaxi-page .ptttaxi-container {
        width: min(calc(100% - 88px), 1450px);
    }


    .ptttaxi-page .ptttaxi-hero,
    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 620px;
    }

    .ptttaxi-page .ptttaxi-hero-content {
        width: min(560px, 44%);
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: clamp(60px, 4.3vw, 70px);
    }

    .ptttaxi-page .ptttaxi-about-grid {
        gap: 55px;
    }


    .ptttaxi-page .ptttaxi-card-link {
        min-height: 300px;
    }

    .ptttaxi-page .ptttaxi-card-body h3 {
        font-size: 20px;
    }
}


/* =========================================================
   1200 - 1365
========================================================= */

@media (max-width: 1365px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 72px);
    }

    .ptttaxi-page .ptttaxi-hero-content {
        width: 48%;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 60px;
    }

    .ptttaxi-page .ptttaxi-hero-features {
        max-width: 520px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: 41px;
    }

    .ptttaxi-page .ptttaxi-stat {
        padding-inline: 11px;
    }

    .ptttaxi-page .ptttaxi-stat-content strong {
        font-size: 13px;
    }

    .ptttaxi-page .ptttaxi-stat-content span {
        font-size: 8.5px;
    }

    .ptttaxi-page .ptttaxi-fleet-heading h2 {
        font-size: 44px;
    }



    .ptttaxi-page .ptttaxi-card-link {
        min-height: 280px;
    }

    .ptttaxi-page .ptttaxi-card-body {
        padding-inline: 13px;
    }

    .ptttaxi-page .ptttaxi-card-body h3 {
        font-size: 15px;
    }

    .ptttaxi-page .ptttaxi-card-meta {
        gap: 5px;
        font-size: 9px;
    }
}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 1100px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 54px);
    }

    .ptttaxi-page .ptttaxi-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4,15,25,.94) 0%,
                rgba(4,15,25,.82) 42%,
                rgba(4,15,25,.34) 72%,
                rgba(4,15,25,.10) 100%
            );
    }

    .ptttaxi-page .ptttaxi-hero-content {
        width: 54%;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 55px;
    }

    .ptttaxi-page .ptttaxi-hero-location {
        display: none;
    }

    .ptttaxi-page .ptttaxi-about-grid {
        gap: 38px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: 37px;
    }

    .ptttaxi-page .ptttaxi-stats {
        grid-template-columns: repeat(2,minmax(0,1fr));
        row-gap: 18px;
    }

    .ptttaxi-page .ptttaxi-stat:nth-child(2)::after {
        display: none;
    }

    .ptttaxi-page .ptttaxi-stat:nth-child(3) {
        padding-left: 0;
    }

    .ptttaxi-page .ptttaxi-stat-content strong {
        font-size: 14px;
    }

    .ptttaxi-page .ptttaxi-stat-content span {
        font-size: 9px;
    }

    .ptttaxi-page .ptttaxi-fleet-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 18px;
    }

    .ptttaxi-page .ptttaxi-card-link {
        min-height: 330px;
    }

    .ptttaxi-page .ptttaxi-card-image {
        height: 205px;
    }

    .ptttaxi-page .ptttaxi-card-body {
        padding-inline: 18px;
    }

    .ptttaxi-page .ptttaxi-card-body h3 {
        font-size: 18px;
    }
}


/* =========================================================
   <= 991
========================================================= */

@media (max-width: 991px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 44px);
    }

    .ptttaxi-page .ptttaxi-hero,
    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 650px;
    }

    .ptttaxi-page .ptttaxi-hero {
        background-position: 58% center;
    }

    .ptttaxi-page .ptttaxi-hero-content {
        width: 61%;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 52px;
    }

    .ptttaxi-page .ptttaxi-about-grid {
        grid-template-columns: 1fr;
    }

    .ptttaxi-page .ptttaxi-about-content {
        max-width: 760px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: 43px;
    }

    .ptttaxi-page .ptttaxi-about-visual {
        max-width: 760px;
    }

    .ptttaxi-page .ptttaxi-fleet-head {
        align-items: flex-start;
    }

    .ptttaxi-page .ptttaxi-fleet-heading h2 {
        font-size: 42px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 38px);
    }


    /* hero */

    .ptttaxi-page .ptttaxi-hero {
        min-height: 710px;
        align-items: flex-start;
        background-position: 60% center;
    }

    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 710px;
        align-items: center;
    }

    .ptttaxi-page .ptttaxi-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4,15,25,.96) 0%,
                rgba(4,15,25,.89) 48%,
                rgba(4,15,25,.62) 75%,
                rgba(4,15,25,.35) 100%
            );
    }

    .ptttaxi-page .ptttaxi-hero-content {
        width: 100%;
        max-width: 540px;
        padding: 40px 0;
    }

    .ptttaxi-page .ptttaxi-hero-eyebrow {
        gap: 13px;
        margin-bottom: 20px;
        font-size: 9px;
        letter-spacing: 3.2px;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: clamp(46px, 12vw, 58px);
        letter-spacing: -1.5px;
    }

    .ptttaxi-page .ptttaxi-hero-subtitle {
        font-size: 21px;
    }

    .ptttaxi-page .ptttaxi-hero-text {
        max-width: 510px;
        font-size: 14px;
    }

    .ptttaxi-page .ptttaxi-hero-features {
        grid-template-columns: repeat(2,minmax(0,1fr));
        max-width: 400px;
        row-gap: 17px;
    }

    .ptttaxi-page .ptttaxi-hero-feature {
        padding: 0 12px;
    }

    .ptttaxi-page .ptttaxi-hero-feature:nth-child(2)::after {
        display: none;
    }

    .ptttaxi-page .ptttaxi-feature-icon {
        width: 45px;
        height: 45px;
        font-size: 17px;
    }

    .ptttaxi-page .ptttaxi-hero-action {
        width: min(100%, 350px);
    }


    /* about */

    .ptttaxi-page .ptttaxi-about {
        padding: 48px 0;
    }

    .ptttaxi-page .ptttaxi-about-grid {
        gap: 38px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: clamp(36px, 8vw, 43px);
    }

    .ptttaxi-page .ptttaxi-about-text {
        font-size: 14px;
    }

    .ptttaxi-page .ptttaxi-about-caption {
        gap: 8px;
        font-size: 7px;
        letter-spacing: 2.2px;
    }

    .ptttaxi-page .ptttaxi-about-caption > i {
        width: 30px;
    }


    /* fleet */

    .ptttaxi-page .ptttaxi-fleet {
        padding: 42px 0 48px;
    }

    .ptttaxi-page .ptttaxi-fleet-head {
        display: block;
        margin-bottom: 25px;
    }

    .ptttaxi-page .ptttaxi-fleet-heading h2 {
        font-size: clamp(37px, 8vw, 43px);
    }

    .ptttaxi-page .ptttaxi-fleet-head > p {
        width: 100%;
        margin-top: 13px;
        font-size: 13px;
    }

    .ptttaxi-page .ptttaxi-fleet-head > p br {
        display: none;
    }

    .ptttaxi-page .ptttaxi-fleet-grid {
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 14px;
    }

    .ptttaxi-page .ptttaxi-card-link {
        min-height: 290px;
    }

    .ptttaxi-page .ptttaxi-card-image {
        height: 165px;
        padding-inline: 9px;
    }

    .ptttaxi-page .ptttaxi-card-body {
        padding: 5px 13px 14px;
    }

    .ptttaxi-page .ptttaxi-card-body h3 {
        padding-right: 0;
        font-size: 15px;
    }

    .ptttaxi-page .ptttaxi-card-body p {
        padding-right: 35px;
        font-size: 9.5px;
    }

    .ptttaxi-page .ptttaxi-card-meta {
        max-width: calc(100% - 40px);
        flex-wrap: wrap;
        gap: 5px;
    }

    .ptttaxi-page .ptttaxi-card-arrow {
        width: 35px;
        height: 35px;
        right: 11px;
        bottom: 12px;
    }


    /* banner */

    .ptttaxi-page .ptttaxi-banner {
        height: 250px;
        background-position: center center;
    }

    .ptttaxi-page .ptttaxi-banner-content {
        margin-top: 34px;
    }

    .ptttaxi-page .ptttaxi-banner-content h2 {
        font-size: 29px;
    }
}


/* =========================================================
   <= 560px
========================================================= */

@media (max-width: 560px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 36px);
    }

    .ptttaxi-page .ptttaxi-hero {
        min-height: 730px;
        background-position: 62% center;
    }

    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 730px;
    }

    .ptttaxi-page .ptttaxi-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4,15,25,.96) 0%,
                rgba(4,15,25,.90) 60%,
                rgba(4,15,25,.66) 100%
            );
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 48px;
    }

    .ptttaxi-page .ptttaxi-hero-title-line {
        white-space: normal;
    }

    .ptttaxi-page .ptttaxi-hero-subtitle {
        font-size: 20px;
    }

    .ptttaxi-page .ptttaxi-primary-btn {
        min-height: 55px;
    }


    /* stats */

    .ptttaxi-page .ptttaxi-stats {
        gap: 20px 0;
    }

    .ptttaxi-page .ptttaxi-stat {
        padding: 0 12px;
    }

    .ptttaxi-page .ptttaxi-stat:first-child,
    .ptttaxi-page .ptttaxi-stat:nth-child(3) {
        padding-left: 0;
    }

    .ptttaxi-page .ptttaxi-stat-icon {
        font-size: 24px;
    }


    /* fleet becomes one column */

    .ptttaxi-page .ptttaxi-fleet-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .ptttaxi-page .ptttaxi-card {
        max-width: 520px;
        width: 100%;
        margin-inline: auto;
    }

    .ptttaxi-page .ptttaxi-card-link {
        min-height: 340px;
    }

    .ptttaxi-page .ptttaxi-card-image {
        height: 220px;
        padding: 14px 20px 0;
    }

    .ptttaxi-page .ptttaxi-card-image img {
        max-width: 350px;
    }

    .ptttaxi-page .ptttaxi-card-body {
        padding: 3px 17px 16px;
    }

    .ptttaxi-page .ptttaxi-card-body h3 {
        font-size: 18px;
    }

    .ptttaxi-page .ptttaxi-card-body p {
        font-size: 11px;
    }

    .ptttaxi-page .ptttaxi-card-meta {
        font-size: 10px;
    }

    .ptttaxi-page .ptttaxi-card-arrow {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 14px;
    }
}


/* =========================================================
   <= 430px
========================================================= */

@media (max-width: 430px) {

    .ptttaxi-page .ptttaxi-container {
        width: calc(100% - 32px);
    }

    .ptttaxi-page .ptttaxi-hero,
    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 745px;
    }

    .ptttaxi-page .ptttaxi-hero-eyebrow {
        gap: 10px;
        letter-spacing: 2.5px;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 44px;
        line-height: .96;
    }

    .ptttaxi-page .ptttaxi-hero-subtitle {
        font-size: 19px;
    }

    .ptttaxi-page .ptttaxi-hero-text {
        font-size: 13px;
        line-height: 1.6;
    }

    .ptttaxi-page .ptttaxi-hero-feature span {
        font-size: 11px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: 34px;
    }

    .ptttaxi-page .ptttaxi-about-caption {
        gap: 6px;
        font-size: 6px;
        letter-spacing: 1.6px;
    }

    .ptttaxi-page .ptttaxi-about-caption > i {
        width: 18px;
    }

    .ptttaxi-page .ptttaxi-fleet-heading h2 {
        font-size: 35px;
    }

    .ptttaxi-page .ptttaxi-card-image {
        height: 205px;
    }

    .ptttaxi-page .ptttaxi-banner {
        height: 230px;
    }

    .ptttaxi-page .ptttaxi-banner-content {
        margin-top: 30px;
    }

    .ptttaxi-page .ptttaxi-banner-content h2 {
        font-size: 27px;
    }
}


/* =========================================================
   <= 390px
========================================================= */

@media (max-width: 390px) {

    .ptttaxi-page .ptttaxi-hero,
    .ptttaxi-page .ptttaxi-hero-inner {
        min-height: 760px;
    }

    .ptttaxi-page .ptttaxi-hero-title {
        font-size: 41px;
    }

    .ptttaxi-page .ptttaxi-hero-eyebrow {
        font-size: 8px;
        letter-spacing: 2px;
    }

    .ptttaxi-page .ptttaxi-hero-features {
        row-gap: 14px;
    }

    .ptttaxi-page .ptttaxi-feature-icon {
        width: 42px;
        height: 42px;
    }

    .ptttaxi-page .ptttaxi-about-title {
        font-size: 32px;
    }

    .ptttaxi-page .ptttaxi-stat {
        gap: 7px;
        padding-right: 7px;
    }

    .ptttaxi-page .ptttaxi-stat-icon {
        font-size: 21px;
    }

    .ptttaxi-page .ptttaxi-stat-content strong {
        font-size: 12px;
    }

    .ptttaxi-page .ptttaxi-stat-content span {
        font-size: 8px;
    }

    .ptttaxi-page .ptttaxi-fleet-heading h2 {
        font-size: 33px;
    }

    .ptttaxi-page .ptttaxi-card-image {
        height: 190px;
    }

    .ptttaxi-page .ptttaxi-card-link {
        min-height: 315px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .ptttaxi-page .ptttaxi-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ptttaxi-page .ptttaxi-card,
    .ptttaxi-page .ptttaxi-card-image img,
    .ptttaxi-page .ptttaxi-card-arrow,
    .ptttaxi-page .ptttaxi-card-arrow i,
    .ptttaxi-page .ptttaxi-primary-btn,
    .ptttaxi-page .ptttaxi-primary-btn i {
        transition: none;
    }
}


/* ==========================================================
   PTT TEMPO TRAVELLER PAGE
   Completely isolated styles
========================================================== */

.ptttempo-page {
    --ptttempo-orange: #fb0001;
    --ptttempo-orange2: #ff6b16;
    --ptttempo-dark: #171a1b;
    --ptttempo-card: #222526;
    --ptttempo-navy: #102238;
    --ptttempo-body: #5e6875;
    --ptttempo-cream: #fffdfa;
    --ptttempo-white: #ffffff;

    width: 100%;
    overflow: hidden;
    background: var(--ptttempo-cream);
}

.ptttempo-page *,
.ptttempo-page *::before,
.ptttempo-page *::after {
    box-sizing: border-box;
}

.ptttempo-page .ptttempo-shell {
    width: min(calc(100% - 110px), 1600px);
    margin-inline: auto;
}


/* ==========================================================
   01 ? HERO
========================================================== */

.ptttempo-page .ptttempo-hero {
    position: relative;
    width: 100%;
    height: clamp(620px, 39vw, 680px);
    min-height: 620px;

    overflow: hidden;

    background-image:
        url("../images/traveller-header-bg.webp");

    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
}


/* LEFT DARK GRADIENT */

.ptttempo-page .ptttempo-hero-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(5,16,25,.93) 0%,
            rgba(5,16,25,.84) 19%,
            rgba(5,16,25,.68) 32%,
            rgba(5,16,25,.34) 48%,
            rgba(5,16,25,.08) 66%,
            rgba(5,16,25,0) 78%
        );

    pointer-events: none;
}



.ptttempo-page .ptttempo-hero-shell {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    align-items: center;
}


/* HERO CONTENT */

.ptttempo-page .ptttempo-hero-content {
    width: 43%;
    max-width: 610px;

    padding-top: 5px;

    color: #fff;
}


/* EYEBROW */

.ptttempo-page .ptttempo-hero-eyebrow {
    display: flex;
    align-items: center;
    gap: 16px;

    margin-bottom: 21px;

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 500;

    letter-spacing: 3.7px;
    text-transform: uppercase;

    color: rgba(255,255,255,.93);
}

.ptttempo-page .ptttempo-hero-eyebrow i {
    display: block;
    width: 1px;
    height: 11px;

    background: rgba(255,255,255,.55);
}


/* HERO TITLE */

.ptttempo-page .ptttempo-hero-title {
    margin: 0 0 20px;

    font-family: var(--ptt-font-main) !important;
    font-size: clamp(67px, 4.35vw, 79px);
    line-height: .86;
    font-weight: 700;

    letter-spacing: -2.2px;

    color: #fff;
}

.ptttempo-page .ptttempo-hero-title-line {
    display: block;
}

.ptttempo-page .ptttempo-hero-title strong {
    color: var(--ptttempo-orange);
    font: inherit;
}


/* SUB TITLE */

.ptttempo-page .ptttempo-hero-subtitle {
    margin: 0 0 12px;

    font-family: "Outfit", sans-serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 400;

    letter-spacing: -.4px;

    color: #fff;
}


/* PARAGRAPH */

.ptttempo-page .ptttempo-hero-text {
    max-width: 500px;

    margin: 0 0 20px;

    font-family: "Outfit", sans-serif;
    font-size: 13.5px;
    line-height: 1.58;
    font-weight: 400;

    color: rgba(255,255,255,.9);
}


/* HERO FEATURES */

.ptttempo-page .ptttempo-hero-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    width: 100%;
    max-width: 520px;

    margin-bottom: 21px;
}

.ptttempo-page .ptttempo-hero-feature {
    position: relative;

    min-width: 0;

    padding: 0 10px;

    text-align: center;
}

.ptttempo-page .ptttempo-hero-feature:first-child {
    padding-left: 0;
}

.ptttempo-page .ptttempo-hero-feature::after {
    content: "";

    position: absolute;
    top: 9px;
    right: 0;

    width: 1px;
    height: 58px;

    background: rgba(255,255,255,.22);
}

.ptttempo-page .ptttempo-hero-feature:last-child::after {
    display: none;
}


.ptttempo-page .ptttempo-hero-feature-icon {
    width: 46px;
    height: 46px;

    margin: 0 auto 7px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--ptttempo-orange);

    color: #11191d;

    font-size: 18px;
}


.ptttempo-page .ptttempo-hero-feature span {
    display: block;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 600;

    color: #fff;
}


/* HERO CTA */

.ptttempo-page .ptttempo-hero-cta {
    width: 340px;
    min-height: 56px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;

    padding: 0 28px;

    border-radius: 999px;

    background: var(--ptttempo-orange);
    color: #fff;

    text-decoration: none;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;

    box-shadow: 0 12px 30px rgba(255,95,10,.16);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;
}

.ptttempo-page .ptttempo-hero-cta i {
    font-size: 13px;
    transition: transform .25s ease;
}

.ptttempo-page .ptttempo-hero-cta:hover {
    transform: translateY(-2px);
    background: #ff6c1b;
    box-shadow: 0 15px 34px rgba(255,95,10,.3);
}

.ptttempo-page .ptttempo-hero-cta:hover i {
    transform: translateX(5px);
}


/* OPTIONAL HERO HANDWRITTEN DETAIL */

.ptttempo-page .ptttempo-hero-script {
    position: absolute;
    z-index: 3;

    top: 54px;
    right: 7%;

    width: 175px;

    transform: rotate(-4deg);

    text-align: center;

    color: #101c28;

    pointer-events: none;
}

.ptttempo-page .ptttempo-hero-script span {
    display: block;

    font-family: "Brush Script MT", "Segoe Script", cursive;
    font-size: 30px;
    line-height: .82;
    font-weight: 400;
}

.ptttempo-page .ptttempo-hero-script i,
.ptttempo-page .ptttempo-hero-script b {
    display: block;

    width: 82px;
    height: 3px;

    margin: 10px auto 0;

    border-radius: 99px;

    background: var(--ptttempo-orange);

    transform: rotate(-7deg);
}

.ptttempo-page .ptttempo-hero-script b {
    width: 64px;
    margin-top: 4px;
    margin-left: 66px;
}


/* SAME ROADS */

.ptttempo-page .ptttempo-hero-story {
    position: absolute;
    z-index: 3;

    right: 5.5%;
    bottom: 24px;

    text-align: center;

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    line-height: 1.5;
    font-weight: 500;

    letter-spacing: 6px;

    color: rgba(255,255,255,.9);
}

.ptttempo-page .ptttempo-hero-story span {
    display: block;
}


/* ==========================================================
   02 ? ABOUT / TRAVEL TOGETHER
========================================================== */

.ptttempo-page .ptttempo-about {
    position: relative;

    width: 100%;

    padding: 50px 0;

    background: var(--ptttempo-cream);
}


.ptttempo-page .ptttempo-about-grid {
    display: grid;
    grid-template-columns: 1fr .96fr;
    align-items: center;

    gap: 70px;
}


/* EYEBROW */

.ptttempo-page .ptttempo-eyebrow {
    display: block;

    margin-bottom: 10px;

    font-family: "Outfit", sans-serif;
    font-size: 10.5px;
    line-height: 1;
    font-weight: 600;

    letter-spacing: 5px;
    text-transform: uppercase;

    color: var(--ptttempo-orange);
}


/* ABOUT TITLE */

.ptttempo-page .ptttempo-about-title {
    margin: 0 0 15px;

    font-family: var(--ptt-font-main) !important;
    font-size: clamp(47px, 3.3vw, 56px);
    line-height: .96;
    font-weight: 700;

    letter-spacing: -1.3px;

    color: var(--ptttempo-navy);
}

.ptttempo-page .ptttempo-about-title strong {
    color: var(--ptttempo-orange);
    font: inherit;
}


/* ABOUT TEXT */

.ptttempo-page .ptttempo-about-text {
    max-width: 690px;

    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;

    color: #000;
}


/* ABOUT FEATURE ROW */

.ptttempo-page .ptttempo-about-features {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    margin-top: 27px;
}


.ptttempo-page .ptttempo-about-feature {
    position: relative;

    display: flex;
    align-items: center;
    gap: 10px;

    min-width: 0;

    padding: 0 15px;
}

.ptttempo-page .ptttempo-about-feature:first-child {
    padding-left: 0;
}

.ptttempo-page .ptttempo-about-feature::after {
    content: "";

    position: absolute;
    top: 2px;
    right: 0;

    width: 1px;
    height: 42px;

    background: rgba(255,95,10,.25);
}

.ptttempo-page .ptttempo-about-feature:last-child::after {
    display: none;
}


.ptttempo-page .ptttempo-about-feature-icon {
    flex: 0 0 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: var(--ptttempo-orange);

    font-size: 26px;
}


.ptttempo-page .ptttempo-about-feature span {
    display: block;

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;

    color: var(--ptttempo-navy);
}

.ptttempo-page .ptttempo-about-feature strong {
    font: inherit;
    font-weight: 500;
}


/* ABOUT IMAGE */

.ptttempo-page .ptttempo-about-visual {
    min-width: 0;
}

.ptttempo-page .ptttempo-about-image {
    position: relative;


    width: 100%;
    aspect-ratio: 1.78 / 1;

    overflow: hidden;

    border-radius: 12px;
}


.ptttempo-page .ptttempo-about-image > img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform .8s ease;
}

.ptttempo-page .ptttempo-about-image:hover > img {
    transform: scale(1.025);
}


/* IMAGE QUOTE */

.ptttempo-page .ptttempo-about-quote {
    position: absolute;
    z-index: 2;

    top: 16%;
    left: 9%;

    color: #12223a;
}

.ptttempo-page .ptttempo-about-quote p {
    margin: 0;

    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(27px, 2vw, 35px);
    line-height: .97;
    font-style: italic;
    font-weight: 600;
}


.ptttempo-page .ptttempo-brush {
    position: relative;

    width: 90px;
    height: 18px;

    margin: 8px 0 0 18px;
}

.ptttempo-page .ptttempo-brush span {
    position: absolute;
    left: 0;

    display: block;

    height: 3px;

    border-radius: 99px;

    background: var(--ptttempo-orange);

    transform: rotate(-8deg);
}

.ptttempo-page .ptttempo-brush span:first-child {
    top: 2px;
    width: 82px;
}

.ptttempo-page .ptttempo-brush span:last-child {
    top: 10px;
    left: 14px;
    width: 58px;
}


/* ==========================================================
   03 ? FLEET
========================================================== */

.ptttempo-page .ptttempo-fleet {
    position: relative;

    width: 100%;

    padding: 43px 0 55px;

    background:
        radial-gradient(
            circle at 80% 0%,
            rgba(255,255,255,.035),
            transparent 31%
        ),
        var(--ptttempo-dark);
}


/* FLEET HEADER */

.ptttempo-page .ptttempo-fleet-head {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    align-items: end;

    gap: 60px;

    margin-bottom: 28px;
}


.ptttempo-page .ptttempo-fleet-heading h2 {
    margin: 0;

    font-family: var(--ptt-font-main) !important;
    font-size: clamp(43px, 3.1vw, 52px);
    line-height: .98;
    font-weight: 700;

    letter-spacing: -1.3px;

    color: #fff;
}


.ptttempo-page .ptttempo-fleet-heading h2 strong {
    color: var(--ptttempo-orange);
    font: inherit;
}


.ptttempo-page .ptttempo-fleet-intro {
    padding-bottom: 5px;
}

.ptttempo-page .ptttempo-fleet-intro p {
    max-width: 430px;

    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 13px;
    line-height: 1.55;
    font-weight: 400;

    color: rgba(255,255,255,.85);
}


/* FLEET GRID */

.ptttempo-page .ptttempo-fleet-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;
}


/* CARD */

.ptttempo-page .ptttempo-card {
    position: relative;

    min-width: 0;
    height: 600px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;

    background: var(--ptttempo-card);

    box-shadow: 0 13px 32px rgba(0,0,0,.15);

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}


.ptttempo-page .ptttempo-card:hover {
    transform: translateY(-6px);

    border-color: rgba(255,95,10,.55);

    box-shadow: 0 22px 40px rgba(0,0,0,.3);
}


/* CARD IMAGE */

.ptttempo-page .ptttempo-card-image {
    position: relative;

    flex: 0 0 55%;
    min-height: 0;

    display: flex;
    align-items: flex-end;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            rgba(255,163,101,.13) 0%,
            rgba(57,48,42,.22) 45%,
            rgba(34,37,38,1) 100%
        );
}


/* OPTIONAL HERITAGE BG */

.ptttempo-page .ptttempo-card-image-bg {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            to bottom,

            rgba(34,37,38,.04),
            rgba(34,37,38,.10) 55%,
            #222526 100%
        ),
        url("images/tempo/tempo-card-bg.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    opacity: .72;
}


.ptttempo-page .ptttempo-card-image::after {
    content: "";

    position: absolute;
    z-index: 1;

    left: 0;
    right: 0;
    bottom: 0;

    height: 48%;

    background:
        linear-gradient(
            to bottom,
            rgba(34,37,38,0),
            rgba(34,37,38,.32),
            #222526
        );

    pointer-events: none;
}


/* VEHICLE */

.ptttempo-page .ptttempo-card-image img {
    position: relative;
    z-index: 2;

    display: block;


    object-position: center bottom;

    filter: drop-shadow(0 14px 13px rgba(0,0,0,.38));

    transition: transform .35s ease;
}

.ptttempo-page .ptttempo-card:hover .ptttempo-card-image img {
    transform: scale(1.025);
}


/* CARD BODY */

.ptttempo-page .ptttempo-card-body {
    position: relative;

    flex: 1;

    display: flex;
    flex-direction: column;

    padding: 18px 17px 16px;
}


.ptttempo-page .ptttempo-card-body h3 {
    min-height: 44px;

    margin: 0 0 5px;

    font-family: "Outfit", sans-serif;
    font-size: 22px;
    line-height: 1.17;
    font-weight: 700;

    letter-spacing: -.35px;

    color: #fff;
}


.ptttempo-page .ptttempo-card-body > p {
    min-height: 20px;

    margin: 0 0 14px;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 400;

    color: rgba(255,255,255,.83);
}


/* META */

.ptttempo-page .ptttempo-card-meta {
    display: flex;
    align-items: center;
    gap: 15px;

    min-height: 24px;

    margin-bottom: 15px;

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;

    color: rgba(255,255,255,.95);
}


.ptttempo-page .ptttempo-card-meta span {
    display: flex;
    align-items: center;
    gap: 6px;

    white-space: nowrap;
}


.ptttempo-page .ptttempo-card-meta i {
    font-size: 13px;
    color: #fff;
}


/* VIEW DETAILS */

.ptttempo-page .ptttempo-card-button {
    width: 188px;
    height: 45px;



    padding: 0 23px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;

    border-radius: 999px;

    background: var(--ptttempo-orange);
    color: #fff;

    text-decoration: none;

    font-family: "Outfit", sans-serif;
    font-size: 12.5px;
    line-height: 1;
    font-weight: 600;

    transition:
        transform .25s ease,
        background .25s ease,
        box-shadow .25s ease;
}


.ptttempo-page .ptttempo-card-button i {
    font-size: 11px;
    transition: transform .25s ease;
}


.ptttempo-page .ptttempo-card-button:hover {
    transform: translateY(-2px);

    background: #ff6e20;

    box-shadow: 0 10px 23px rgba(255,95,10,.25);
}


.ptttempo-page .ptttempo-card-button:hover i {
    transform: translateX(4px);
}


/* ==========================================================
   04 ? PANORAMIC BANNER
========================================================== */

.ptttempo-page .ptttempo-banner {
    position: relative;

    width: 100%;

    overflow: hidden;
}


.ptttempo-page .ptttempo-banner-main {
    position: relative;

    width: 100%;
    height: 295px;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 31px;

    background-image:
        url("../images/traveller-bg-cta.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


/* BANNER CONTENT */

.ptttempo-page .ptttempo-banner-content {
    position: relative;
    z-index: 2;

    text-align: center;
}


.ptttempo-page .ptttempo-banner-content h2 {
    margin: 0;

    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 37px;
    line-height: .94;
    font-weight: 600;
    font-style: italic;

    color: #332318;
}


/* BANNER BRUSH */

.ptttempo-page .ptttempo-banner-brush {
    position: relative;

    width: 100px;
    height: 22px;

    margin: 8px auto 8px;
}


.ptttempo-page .ptttempo-banner-brush span {
    position: absolute;

    display: block;

    height: 3px;

    border-radius: 999px;

    background: var(--ptttempo-orange);

    transform: rotate(-7deg);
}


.ptttempo-page .ptttempo-banner-brush span:first-child {
    top: 2px;
    left: 5px;
    width: 88px;
}


.ptttempo-page .ptttempo-banner-brush span:last-child {
    top: 11px;
    left: 22px;
    width: 62px;
}


/* BANNER BUTTON */

.ptttempo-page .ptttempo-banner-button {
    width: 310px;
    height: 56px;

    margin: 0 auto;

    padding: 0 29px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;

    border-radius: 999px;

    background: var(--ptttempo-orange);
    color: #fff;

    text-decoration: none;

    font-family: "Outfit", sans-serif;
    font-size: 13.5px;
    line-height: 1;
    font-weight: 600;

    box-shadow: 0 10px 25px rgba(255,95,10,.2);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.ptttempo-page .ptttempo-banner-button i {
    transition: transform .25s ease;
}


.ptttempo-page .ptttempo-banner-button:hover {
    transform: translateY(-2px);

    box-shadow: 0 13px 29px rgba(255,95,10,.3);
}


.ptttempo-page .ptttempo-banner-button:hover i {
    transform: translateX(4px);
}


/* BOTTOM RIGHT TEXT */

.ptttempo-page .ptttempo-banner-mark {
    position: absolute;
    z-index: 2;

    right: 5.5%;
    bottom: 17px;

    text-align: center;

    font-family: "Outfit", sans-serif;
    font-size: 9.5px;
    line-height: 1.55;
    font-weight: 500;

    letter-spacing: 5px;

    color: #fff;
}


.ptttempo-page .ptttempo-banner-mark span {
    display: block;
}


/* FEATURE BAR */

.ptttempo-page .ptttempo-banner-features {
    position: absolute;
    z-index: 5;

    left: 0;
    right: 0;
    bottom: 0;

    height: 58px;

    background: rgba(10,14,16,.82);

    backdrop-filter: blur(2px);
}


.ptttempo-page .ptttempo-banner-feature-inner {
    width: min(calc(100% - 110px), 1600px);
    height: 100%;

    margin-inline: auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}


.ptttempo-page .ptttempo-banner-feature {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    height: 30px;

    color: #fff;
}


.ptttempo-page .ptttempo-banner-feature::after {
    content: "";

    position: absolute;
    right: 0;
    top: 4px;

    width: 1px;
    height: 22px;

    background: rgba(255,255,255,.45);
}


.ptttempo-page .ptttempo-banner-feature:last-child::after {
    display: none;
}


.ptttempo-page .ptttempo-banner-feature i {
    font-size: 17px;
}


.ptttempo-page .ptttempo-banner-feature span {
    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
}


/* ==========================================================
   REVEAL ANIMATION
========================================================== */

.ptttempo-page .ptttempo-reveal {
    opacity: 0;
    transform: translateY(24px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}


.ptttempo-page .ptttempo-reveal.ptttempo-visible {
    opacity: 1;
    transform: translateY(0);
}


.ptttempo-page .ptttempo-fleet-grid .ptttempo-card:nth-child(2) {
    transition-delay: .08s;
}

.ptttempo-page .ptttempo-fleet-grid .ptttempo-card:nth-child(3) {
    transition-delay: .16s;
}

.ptttempo-page .ptttempo-fleet-grid .ptttempo-card:nth-child(4) {
    transition-delay: .24s;
}


/* ==========================================================
   1600
========================================================== */

@media (max-width: 1600px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 120px);
    }

}


/* ==========================================================
   1440
========================================================== */

@media (max-width: 1440px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 100px);
    }

    .ptttempo-page .ptttempo-hero {
        height: 620px;
        min-height: 620px;
    }

    .ptttempo-page .ptttempo-hero-title {
        font-size: 69px;
    }

    .ptttempo-page .ptttempo-about-grid {
        gap: 55px;
    }

    .ptttempo-page .ptttempo-card {
        height: 435px;
    }

}


/* ==========================================================
   1366
========================================================== */

@media (max-width: 1366px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 88px);
    }

    .ptttempo-page .ptttempo-hero-content {
        width: 44%;
    }

    .ptttempo-page .ptttempo-hero-title {
        font-size: 64px;
    }

    .ptttempo-page .ptttempo-hero-subtitle {
        font-size: 20px;
    }

    .ptttempo-page .ptttempo-about-title {
        font-size: 48px;
    }

    .ptttempo-page .ptttempo-fleet-heading h2 {
        font-size: 45px;
    }

    .ptttempo-page .ptttempo-card {
        height: 505px;
    }

    .ptttempo-page .ptttempo-card-body h3 {
        font-size: 15.5px;
    }

    .ptttempo-page .ptttempo-card-meta {
        gap: 9px;
        font-size: 8.5px;
    }

}


/* ==========================================================
   1200
========================================================== */

@media (max-width: 1200px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 64px);
    }

    .ptttempo-page .ptttempo-hero-title {
        font-size: 60px;
    }

    .ptttempo-page .ptttempo-hero-eyebrow {
        letter-spacing: 2.8px;
        gap: 11px;
    }

    .ptttempo-page .ptttempo-about-grid {
        gap: 38px;
    }

    .ptttempo-page .ptttempo-about-feature {
        padding-inline: 8px;
    }

}


/* ==========================================================
   TABLET 1024
========================================================== */

@media (max-width: 1024px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 50px);
    }


    .ptttempo-page .ptttempo-hero {
        height: 620px;
    }

    .ptttempo-page .ptttempo-hero-content {
        width: 54%;
    }

    .ptttempo-page .ptttempo-hero-title {
        font-size: 56px;
    }

    .ptttempo-page .ptttempo-hero-script {
        display: none;
    }


    .ptttempo-page .ptttempo-about-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .ptttempo-page .ptttempo-about-title {
        font-size: 42px;
    }

    .ptttempo-page .ptttempo-about-features {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 0;
    }

    .ptttempo-page .ptttempo-about-feature:nth-child(2)::after {
        display: none;
    }


    .ptttempo-page .ptttempo-fleet-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 18px;
    }

    .ptttempo-page .ptttempo-card {
        height: 470px;
    }

    .ptttempo-page .ptttempo-card-body h3 {
        font-size: 18px;
    }

    .ptttempo-page .ptttempo-card-meta {
        gap: 16px;
        font-size: 10px;
    }

}


/* ==========================================================
   <= 900 ? STACK INTRO
========================================================== */

@media (max-width: 900px) {

    .ptttempo-page .ptttempo-about-grid {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .ptttempo-page .ptttempo-about-content {
        max-width: 720px;
    }

    .ptttempo-page .ptttempo-about-image {
        max-width: 760px;
    }

    .ptttempo-page .ptttempo-fleet-head {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ptttempo-page .ptttempo-fleet-intro p {
        max-width: 650px;
    }

}


/* ==========================================================
   MOBILE 767
========================================================== */

@media (max-width: 767px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 38px);
    }


    /* HERO */

    .ptttempo-page .ptttempo-hero {
        height: auto;
        min-height: 720px;

        background-position: 61% center;
    }


    .ptttempo-page .ptttempo-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(5,16,25,.94) 0%,
                rgba(5,16,25,.84) 55%,
                rgba(5,16,25,.58) 100%
            );
    }


    .ptttempo-page .ptttempo-hero-shell {
        min-height: 720px;
        align-items: center;
    }


    .ptttempo-page .ptttempo-hero-content {
        width: 100%;
        max-width: 540px;

        padding: 42px 0;
    }


    .ptttempo-page .ptttempo-hero-eyebrow {
        flex-wrap: wrap;
        gap: 8px 12px;

        margin-bottom: 18px;

        font-size: 8.5px;
        letter-spacing: 2.2px;
    }


    .ptttempo-page .ptttempo-hero-title {
        font-size: clamp(45px, 13vw, 54px);
        line-height: .91;
        letter-spacing: -1px;
    }


    .ptttempo-page .ptttempo-hero-subtitle {
        font-size: 19px;
    }


    .ptttempo-page .ptttempo-hero-text {
        max-width: 470px;

        font-size: 13px;
    }


    .ptttempo-page .ptttempo-hero-features {
        grid-template-columns: repeat(2, 1fr);

        max-width: 390px;

        gap: 18px 0;
    }


    .ptttempo-page .ptttempo-hero-feature:nth-child(2)::after {
        display: none;
    }


    .ptttempo-page .ptttempo-hero-feature-icon {
        width: 44px;
        height: 44px;
    }


    .ptttempo-page .ptttempo-hero-cta {
        width: 100%;
        max-width: 360px;

        font-size: 14px;
    }


    .ptttempo-page .ptttempo-hero-script,
    .ptttempo-page .ptttempo-hero-story {
        display: none;
    }


    /* ABOUT */

    .ptttempo-page .ptttempo-about {
        padding: 43px 0;
    }


    .ptttempo-page .ptttempo-about-title {
        font-size: clamp(39px, 10vw, 45px);
    }


    .ptttempo-page .ptttempo-about-text {
        font-size: 13.5px;
    }


    .ptttempo-page .ptttempo-about-features {
        margin-top: 25px;
    }


    .ptttempo-page .ptttempo-about-image {
        aspect-ratio: 1.45 / 1;
    }


    /* FLEET */

    .ptttempo-page .ptttempo-fleet {
        padding: 40px 0 45px;
    }


    .ptttempo-page .ptttempo-fleet-heading h2 {
        font-size: clamp(37px, 9vw, 44px);
    }


    .ptttempo-page .ptttempo-fleet-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 13px;
    }


    .ptttempo-page .ptttempo-card {
        height: 410px;
    }


    .ptttempo-page .ptttempo-card-image {
        flex-basis: 51%;
    }


    .ptttempo-page .ptttempo-card-body {
        padding-inline: 12px;
    }


    .ptttempo-page .ptttempo-card-body h3 {
        font-size: 14px;
    }


    .ptttempo-page .ptttempo-card-body > p {
        font-size: 9.5px;
    }


    .ptttempo-page .ptttempo-card-meta {
        flex-wrap: wrap;
        gap: 8px 10px;

        font-size: 8px;
    }


    .ptttempo-page .ptttempo-card-button {
        width: 100%;
        height: 42px;

        font-size: 11.5px;
    }


    /* BANNER */

    .ptttempo-page .ptttempo-banner-main {
        height: 335px;

        padding-top: 35px;

        background-position: center;
    }


    .ptttempo-page .ptttempo-banner-content h2 {
        font-size: 32px;
    }


    .ptttempo-page .ptttempo-banner-mark {
        display: none;
    }


    .ptttempo-page .ptttempo-banner-features {
        height: 100px;
    }


    .ptttempo-page .ptttempo-banner-feature-inner {
        grid-template-columns: repeat(2,1fr);
    }


    .ptttempo-page .ptttempo-banner-feature:nth-child(2)::after {
        display: none;
    }

}


/* ==========================================================
   MOBILE <= 600 ? ONE CARD
========================================================== */

@media (max-width: 600px) {

    .ptttempo-page .ptttempo-fleet-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }


    .ptttempo-page .ptttempo-card {
        height: 485px;
    }


    .ptttempo-page .ptttempo-card-image {
        flex-basis: 58%;
    }


    .ptttempo-page .ptttempo-card-body {
        padding: 4px 17px 17px;
    }


    .ptttempo-page .ptttempo-card-body h3 {
        min-height: auto;

        font-size: 18px;
    }


    .ptttempo-page .ptttempo-card-body > p {
        min-height: auto;

        font-size: 11.5px;
    }


    .ptttempo-page .ptttempo-card-meta {
        flex-wrap: nowrap;

        gap: 14px;

        font-size: 9px;
    }


    .ptttempo-page .ptttempo-card-button {
        width: 190px;
        height: 45px;

        margin-left: 0;
    }

}


/* ==========================================================
   480
========================================================== */

@media (max-width: 480px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 34px);
    }


    .ptttempo-page .ptttempo-hero {
        min-height: 740px;

        background-position: 58% center;
    }


    .ptttempo-page .ptttempo-hero-shell {
        min-height: 740px;
    }


    .ptttempo-page .ptttempo-hero-title {
        font-size: 46px;
    }


    .ptttempo-page .ptttempo-about-features {
        gap: 22px 0;
    }


    .ptttempo-page .ptttempo-about-feature {
        padding-inline: 7px;
    }


    .ptttempo-page .ptttempo-about-feature-icon {
        flex-basis: 30px;
        font-size: 22px;
    }


    .ptttempo-page .ptttempo-about-feature span {
        font-size: 8.5px;
    }


    .ptttempo-page .ptttempo-about-quote p {
        font-size: 25px;
    }


    .ptttempo-page .ptttempo-banner-button {
        width: calc(100vw - 50px);
        max-width: 315px;

        font-size: 12.5px;
    }

}


/* ==========================================================
   390 / 375
========================================================== */

@media (max-width: 390px) {

    .ptttempo-page .ptttempo-shell,
    .ptttempo-page .ptttempo-banner-feature-inner {
        width: calc(100% - 30px);
    }


    .ptttempo-page .ptttempo-hero-title {
        font-size: 43px;
    }


    .ptttempo-page .ptttempo-hero-subtitle {
        font-size: 18px;
    }


    .ptttempo-page .ptttempo-hero-text {
        font-size: 12.5px;
    }


    .ptttempo-page .ptttempo-about-title {
        font-size: 37px;
    }


    .ptttempo-page .ptttempo-about-feature {
        display: block;

        text-align: center;
    }


    .ptttempo-page .ptttempo-about-feature-icon {
        margin: 0 auto 7px;
    }


    .ptttempo-page .ptttempo-card {
        height: 460px;
    }


    .ptttempo-page .ptttempo-card-meta {
        flex-wrap: wrap;
    }


    .ptttempo-page .ptttempo-banner-content h2 {
        font-size: 29px;
    }


    .ptttempo-page .ptttempo-banner-feature {
        gap: 6px;
    }


    .ptttempo-page .ptttempo-banner-feature i {
        font-size: 14px;
    }


    .ptttempo-page .ptttempo-banner-feature span {
        font-size: 8.5px;
    }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

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

    .ptttempo-page .ptttempo-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ptttempo-page .ptttempo-card,
    .ptttempo-page .ptttempo-card-image img,
    .ptttempo-page .ptttempo-about-image img,
    .ptttempo-page .ptttempo-card-button,
    .ptttempo-page .ptttempo-hero-cta,
    .ptttempo-page .ptttempo-banner-button {
        transition: none;
    }

}



/* ============================================================
   TEMPO TRAVELLER URBANIA
   UNIQUE / ISOLATED CSS
============================================================ */

.ptturb-page {
    --ptturb-orange: #fb0001;
    --ptturb-orange-light: #ff6818;
    --ptturb-charcoal: #15191b;
    --ptturb-charcoal-2: #1b1f21;
    --ptturb-navy: #0c1d2c;
    --ptturb-ivory: #fffdfa;
    --ptturb-grey: #68717b;
    --ptturb-white: #ffffff;

    width: 100%;
    overflow: hidden;
    background: var(--ptturb-ivory);
}

.ptturb-page *,
.ptturb-page *::before,
.ptturb-page *::after {
    box-sizing: border-box;
}

.ptturb-page .ptturb-shell {
    width: calc(100% - 140px);
    max-width: 1600px;
    margin-inline: auto;
}


/* ============================================================
   01 ? HERO
============================================================ */

.ptturb-page .ptturb-hero {
    position: relative;
    width: 100%;
    height: clamp(630px, 40vw, 680px);
    min-height: 630px;
    overflow: hidden;

    background-image: url("../images/urbania-header-bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

.ptturb-page .ptturb-hero-shade {
    position: absolute;
    z-index: 1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(6,12,16,.95) 0%,
            rgba(6,12,16,.88) 20%,
            rgba(6,12,16,.76) 31%,
            rgba(6,12,16,.47) 46%,
            rgba(6,12,16,.12) 65%,
            rgba(6,12,16,0) 78%
        );

    pointer-events: none;
}

.ptturb-page .ptturb-hero-shell {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    align-items: center;
}

.ptturb-page .ptturb-hero-copy {
    width: 41%;
    max-width: 585px;
    color: #fff;
}

.ptturb-page .ptturb-hero-eyebrow {
    display: block;
    margin: 0 0 18px;

    font-family: "Outfit", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 5.5px;

    color: rgba(255,255,255,.93);
}

.ptturb-page .ptturb-hero-title {
    margin: 0;

    font-family: var(--ptt-font-main) !important;
    font-weight: 700;
    line-height: .88;
    letter-spacing: -2px;
}

.ptturb-page .ptturb-hero-title span,
.ptturb-page .ptturb-hero-title strong {
    display: block;
}

.ptturb-page .ptturb-hero-title span {
    font-size: clamp(64px, 4.2vw, 72px);
    color: #fff;
}

.ptturb-page .ptturb-hero-title strong {
    margin-top: 8px;

    font-size: clamp(73px, 4.8vw, 82px);
    font-weight: 700;

    color: var(--ptturb-orange);
}

.ptturb-page .ptturb-hero-subtitle {
    margin: 24px 0 12px;

    font-family: "Outfit", sans-serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 400;

    color: #fff;
}

.ptturb-page .ptturb-hero-accent {
    position: relative;

    width: 245px;
    height: 7px;

    margin-bottom: 19px;
}

.ptturb-page .ptturb-hero-accent::before {
    content: "";

    position: absolute;
    left: 0;
    top: 2px;

    width: 100%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            var(--ptturb-orange),
            rgba(255,90,10,.35),
            transparent
        );
}

.ptturb-page .ptturb-hero-description {

    max-width: 505px;
    margin: 0 0 23px;

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1.62;
    font-weight: 400;

    color: rgba(255,255,255,.9);
}


/* HERO FEATURE ROW */

.ptturb-page .ptturb-hero-features {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));

    width: 100%;
    max-width: 525px;

    margin: 0 0 25px;
}

.ptturb-page .ptturb-hero-feature {
    position: relative;

    min-width: 0;
    padding: 0 12px;

    text-align: center;
}

.ptturb-page .ptturb-hero-feature:first-child {
    padding-left: 0;
}

.ptturb-page .ptturb-hero-feature:last-child {
    padding-right: 0;
}

.ptturb-page .ptturb-hero-feature:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 3px;
    right: 0;

    width: 1px;
    height: 67px;

    background: rgba(255,255,255,.22);
}

.ptturb-page .ptturb-hero-feature-icon {
    width: 44px;
    height: 44px;

    margin: 0 auto 8px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid var(--ptturb-orange);
    border-radius: 50%;

    color: #fff;
    font-size: 17px;
}

.ptturb-page .ptturb-hero-feature-text {
    display: block;

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 500;

    color: #fff;
}


/* BUTTON */

.ptturb-page .ptturb-primary-cta,
.ptturb-page .ptturb-journey-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 28px;

    min-width: 285px;
    height: 58px;

    padding: 0 30px;

    border-radius: 999px;

    background: var(--ptturb-orange);
    color: #fff;

    text-decoration: none;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 600;

    box-shadow: 0 10px 25px rgba(255,90,10,.12);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        background .28s ease;
}

.ptturb-page .ptturb-primary-cta i,
.ptturb-page .ptturb-journey-button i {
    font-size: 13px;
    transition: transform .28s ease;
}

.ptturb-page .ptturb-primary-cta:hover,
.ptturb-page .ptturb-journey-button:hover {
    transform: translateY(-2px);

    background: var(--ptturb-orange-light);

    box-shadow: 0 10px 25px rgba(255,90,10,.25);
}

.ptturb-page .ptturb-primary-cta:hover i,
.ptturb-page .ptturb-journey-button:hover i {
    transform: translateX(5px);
}


/* OPTIONAL HERO SCRIPT */

.ptturb-page .ptturb-hero-script {
    position: absolute;
    z-index: 3;

    right: 5.5%;
    bottom: 30px;

    width: 170px;

    transform: rotate(-7deg);

    text-align: center;

    color: rgba(255,255,255,.9);

    pointer-events: none;
}

.ptturb-page .ptturb-hero-script span {
    display: block;

    font-family: "Brush Script MT", "Segoe Script", cursive;
    font-size: 25px;
    line-height: .84;
}

.ptturb-page .ptturb-hero-script i {
    display: block;

    width: 92px;
    height: 2px;

    margin: 11px auto 0;

    background: var(--ptturb-orange);

    transform: rotate(-6deg);
}


/* ============================================================
   02 ? WHY CHOOSE
============================================================ */

.ptturb-page .ptturb-why {
    position: relative;

    padding: 42px 0 44px;

    background:
        linear-gradient(90deg, #fff 0%, #fffdfa 50%, #fafbfc 100%);
}

.ptturb-page .ptturb-why-layout {
    display: grid;
    grid-template-columns: 43% 57%;
    align-items: center;
}

.ptturb-page .ptturb-why-copy {
    padding-right: 65px;
}

.ptturb-page .ptturb-dark-eyebrow,
.ptturb-page .ptturb-light-eyebrow {
    display: block;

    margin: 0 0 9px;

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 5px;

    text-transform: uppercase;
}

.ptturb-page .ptturb-dark-eyebrow {
    color: var(--ptturb-navy);
}

.ptturb-page .ptturb-light-eyebrow {
    color: rgba(255,255,255,.77);
}

.ptturb-page .ptturb-why-title {
    margin: 0 0 12px;

    font-family: var(--ptt-font-main) !important;
    font-size: 46px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -1px;

    color: var(--ptturb-navy);
}

.ptturb-page .ptturb-why-title strong {
    font: inherit;
    color: var(--ptturb-orange);
}

.ptturb-page .ptturb-why-description {
    max-width: 600px;
    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.4;

    color: #000;
}


/* STATS */

.ptturb-page .ptturb-why-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));

    align-items: center;
}

.ptturb-page .ptturb-why-stat {
    position: relative;

    min-height: 110px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 5px 18px;

    text-align: center;
}

.ptturb-page .ptturb-why-stat:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 9px;
    right: 0;

    width: 1px;
    height: 91px;

    background: #d7d9db;
}

.ptturb-page .ptturb-why-icon {
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 6px;

    color: var(--ptturb-navy);
    font-size: 30px;
}

.ptturb-page .ptturb-why-stat strong {
    display: block;

    margin-bottom: 1px;

    font-family: "Outfit", sans-serif;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;

    color: #fb0001;
}

.ptturb-page .ptturb-why-stat small {
    display: block;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 700;

    color: #000;
}


/* ============================================================
   03 ? PREMIUM FEATURES
============================================================ */

.ptturb-page .ptturb-premium {
    position: relative;

    min-height: 515px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 15% 20%,
            rgba(255,255,255,.025),
            transparent 32%
        ),
        var(--ptturb-charcoal);
}

.ptturb-page .ptturb-premium-layout {
    width: calc(100% - 140px);
    max-width: 1600px;
    min-height: 515px;

    margin-inline: auto;

    display: grid;
    grid-template-columns: 53% 47%;
}

.ptturb-page .ptturb-premium-left {
    position: relative;
    z-index: 3;

    padding: 47px 30px 34px 0;
}

.ptturb-page .ptturb-premium-heading h2 {
    margin: 0;

    font-family: var(--ptt-font-main) !important;
    font-size: 45px;
    line-height: 1.02;
    font-weight: 700;
    letter-spacing: -1.1px;

    color: #fff;
}

.ptturb-page .ptturb-premium-heading h2 strong {
    display: inline-block;
    font: inherit;

    color: var(--ptturb-orange);
}


/* FEATURE MATRIX */

.ptturb-page .ptturb-feature-matrix {
    width: 100%;

    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));

    margin-top: 48px;

    border-top: 1px solid rgba(255,255,255,.09);
}

.ptturb-page .ptturb-feature-item {
    position: relative;

    min-height: 118px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 14px 10px;

    text-align: center;

    border-bottom: 1px solid rgba(255,255,255,.09);
}

.ptturb-page .ptturb-feature-item:not(:nth-child(4n)) {
    border-right: 1px solid rgba(255,255,255,.09);
}

.ptturb-page .ptturb-feature-icon {
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 9px;

    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;

    color: #fff;
    font-size: 17px;
}

.ptturb-page .ptturb-feature-item > span:last-child {
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 500;

    color: rgba(255,255,255,.95);
}


/* RIGHT */

.ptturb-page .ptturb-premium-right {
    position: relative;

    min-width: 0;
    min-height: 515px;
}

.ptturb-page .ptturb-premium-intro {
    position: absolute;
    z-index: 5;

    top: 50px;
    left: 22px;
    right: 20px;
}

.ptturb-page .ptturb-premium-intro p,
.ptturb-page .ptturb-premium-mobile-intro p {
    max-width: 510px;
    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1.4;

    color: #fff;
}

.ptturb-page .ptturb-premium-mobile-intro {
    display: none;
}

.ptturb-page .ptturb-interior-figure {
    position: absolute;

    left: -20px;
    right: calc((100vw - min(1600px, calc(100vw - 140px))) / -2);
    bottom: 0;

    height: 72%;

    margin: 0;

    overflow: hidden;
}

.ptturb-page .ptturb-interior-figure::before {
    content: "";

    position: absolute;
    z-index: 2;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            var(--ptturb-charcoal) 0%,
            rgba(21,25,27,.76) 8%,
            rgba(21,25,27,.25) 20%,
            transparent 37%
        );

    pointer-events: none;
}

.ptturb-page .ptturb-interior-figure img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform .6s ease;
}

.ptturb-page .ptturb-interior-figure:hover img {
    transform: scale(1.025);
}


/* ============================================================
   04 ? EXTERIOR & INTERIOR VIEWS
============================================================ */

.ptturb-page .ptturb-views {
    position: relative;

    min-height: 405px;

    overflow: hidden;

    background: #f5dfc9;
}

.ptturb-page .ptturb-views-bg {
    position: absolute;
    inset: 0;

    background-image: url("../images/urbania-exterior.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.ptturb-page .ptturb-views-bg::after {
    content: "";

    position: absolute;
    inset: 0;

    background: rgba(255,248,238,.08);
}

.ptturb-page .ptturb-views-inner {
    position: relative;
    z-index: 2;

    min-height: 405px;

    padding-top: 22px;
    padding-bottom: 18px;
}

.ptturb-page .ptturb-views-heading {
    position: relative;
    z-index: 4;

    margin-bottom: 6px;
}

.ptturb-page .ptturb-views-heading > span {
    display: block;

    margin-bottom: 4px;

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 600;
    letter-spacing: 5px;

    color: var(--ptturb-navy);
}

.ptturb-page .ptturb-views-heading p {
    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    line-height: 1.4;

    color: var(--ptturb-navy);
}


/* GALLERY LAYOUT */

.ptturb-page .ptturb-views-layout {
    display: grid;
    grid-template-columns: 53% 47%;

    height: 326px;
}

.ptturb-page .ptturb-exterior {
    position: relative;

    height: 100%;

    margin: 0;

    overflow: hidden;
}

.ptturb-page .ptturb-exterior img {
display: none;
}

.ptturb-page .ptturb-exterior:hover img {
    transform: scale(1.025);
}


/* COLLAGE */

.ptturb-page .ptturb-view-collage {
    position: relative;

    display: grid;
    grid-template-columns: 1.45fr .85fr;
    grid-template-rows: repeat(2, minmax(0,1fr));

    gap: 4px;

    height: 100%;

    overflow: hidden;

    border: 3px solid rgba(255,255,255,.9);
    border-radius: 12px;

    background: #fff;
}

.ptturb-page .ptturb-view-photo {
    position: relative;

    min-width: 0;
    min-height: 0;

    margin: 0;

    overflow: hidden;

    background: #1a1d1f;
}

.ptturb-page .ptturb-view-photo img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .45s ease;
}

.ptturb-page .ptturb-view-photo:hover img {
    transform: scale(1.035);
}


/* ============================================================
   05 ? OCCASIONS
============================================================ */

.ptturb-page .ptturb-occasions {
    position: relative;

    padding:120px 0 120px;

    background:
        linear-gradient(
            90deg,
            #15191b 0%,
            #171b1d 55%,
            #1b2022 100%
        );
}

.ptturb-page .ptturb-occasions-layout {
    display: grid;
    grid-template-columns: 40% 60%;
    align-items: center;

    gap: 35px;
}

.ptturb-page .ptturb-occasions-copy {
    padding-right: 25px;
}

.ptturb-page .ptturb-occasions-copy h2 {
    margin: 0 0 10px;

    font-family: var(--ptt-font-main) !important;
    font-size: 42px;
    line-height: .98;
    font-weight: 700;
    letter-spacing: -1px;

    color: #fff;
}

.ptturb-page .ptturb-occasions-copy h2 strong {
    font: inherit;
    color: var(--ptturb-orange);
}

.ptturb-page .ptturb-occasions-copy p {
    max-width: 570px;
    margin: 0;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.4;

    color: rgba(255,255,255,.82);
}


/* OCCASION IMAGES */

.ptturb-page .ptturb-occasion-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));

    gap: 8px;
}

.ptturb-page .ptturb-occasion-item {
    min-width: 0;

    overflow: hidden;

    border-radius: 10px;

    background: #111516;

    box-shadow: 0 8px 18px rgba(0,0,0,.15);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}

.ptturb-page .ptturb-occasion-item:hover {
    transform: translateY(-3px);

    box-shadow: 0 12px 23px rgba(0,0,0,.25);
}

.ptturb-page .ptturb-occasion-item figure {
    margin: 0;

    overflow: hidden;
}

.ptturb-page .ptturb-occasion-item img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .4s ease;
}

.ptturb-page .ptturb-occasion-item:hover img {
    transform: scale(1.04);
}

.ptturb-page .ptturb-occasion-item > div {
    min-height: 35px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 7px 5px;

    text-align: center;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 500;

    color: #fff;
}


/* ============================================================
   06 ? CTA
============================================================ */

.ptturb-page .ptturb-journey {
    position: relative;

    width: 100%;

    background: #ead0ae;
}

.ptturb-page .ptturb-journey-main {
    position: relative;

    width: 100%;
    height: 300px;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 30px;

    background-image: url("../images/urbania-cta-bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.ptturb-page .ptturb-journey-copy {
    position: relative;
    z-index: 2;

    text-align: center;
}

.ptturb-page .ptturb-journey-copy h2 {
    margin: 0 0 10px;

    font-family: var(--ptt-font-main) !important;
    font-size: 43px;
    line-height: .91;
    font-weight: 700;
    letter-spacing: -1px;

    color: #38251a;
}

.ptturb-page .ptturb-journey-copy h2 strong {
    font: inherit;
    color: #000;
}

.ptturb-page .ptturb-journey-copy p {
    margin: 0 0 15px;

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 400;

    color: #302b28;
}

.ptturb-page .ptturb-journey-button {
    min-width: 305px;
}


/* ============================================================
   07 ? BOTTOM STRIP
============================================================ */

.ptturb-page .ptturb-bottom-strip {
    position: absolute;
    z-index: 4;

    left: 0;
    right: 0;
    bottom: 0;

    min-height: 69px;

    background: rgba(8,10,11,.89);

    backdrop-filter: blur(2px);
}

.ptturb-page .ptturb-bottom-strip-inner {
    position: relative;

    min-height: 69px;

    display: flex;
    align-items: center;

    padding-right: 245px;
}

.ptturb-page .ptturb-bottom-feature {
    position: relative;

    min-width: 190px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    padding: 0 25px;

    color: #fff;
}

.ptturb-page .ptturb-bottom-feature:first-child {
    padding-left: 0;
}

.ptturb-page .ptturb-bottom-feature:not(:last-of-type)::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 0;

    width: 1px;
    height: 25px;

    transform: translateY(-50%);

    background: rgba(255,255,255,.42);
}

.ptturb-page .ptturb-bottom-feature i {
    font-size: 17px;
}

.ptturb-page .ptturb-bottom-feature span {
    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1.2;
    font-weight: 500;

    white-space: nowrap;
}


/* SCRIPT */

.ptturb-page .ptturb-bottom-script {
    position: absolute;

    right: 0;
    top: 50%;

    width: 175px;

    transform: translateY(-50%) rotate(-5deg);

    text-align: center;

    color: #fff;
}

.ptturb-page .ptturb-bottom-script span {
    display: block;

    font-family: "Brush Script MT", "Segoe Script", cursive;
    font-size: 23px;
    line-height: .82;
}


/* ============================================================
   REVEAL
============================================================ */

.ptturb-page .ptturb-reveal {
    opacity: 0;

    transform: translateY(22px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.ptturb-page .ptturb-reveal.ptturb-reveal-right {
    transform: translateX(28px);
}

.ptturb-page .ptturb-reveal.ptturb-visible {
    opacity: 1;
    transform: translate(0,0);
}

.ptturb-page .ptturb-why-stat:nth-child(2),
.ptturb-page .ptturb-feature-item:nth-child(2),
.ptturb-page .ptturb-occasion-item:nth-child(2) {
    transition-delay: .07s;
}

.ptturb-page .ptturb-why-stat:nth-child(3),
.ptturb-page .ptturb-feature-item:nth-child(3),
.ptturb-page .ptturb-occasion-item:nth-child(3) {
    transition-delay: .14s;
}

.ptturb-page .ptturb-why-stat:nth-child(4),
.ptturb-page .ptturb-feature-item:nth-child(4),
.ptturb-page .ptturb-occasion-item:nth-child(4) {
    transition-delay: .21s;
}

.ptturb-page .ptturb-feature-item:nth-child(5) {
    transition-delay: .05s;
}

.ptturb-page .ptturb-feature-item:nth-child(6) {
    transition-delay: .10s;
}

.ptturb-page .ptturb-feature-item:nth-child(7) {
    transition-delay: .15s;
}

.ptturb-page .ptturb-feature-item:nth-child(8) {
    transition-delay: .20s;
}


/* ============================================================
   LARGE DESKTOP
============================================================ */

@media (min-width: 1700px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 150px);
    }

    .ptturb-page .ptturb-hero-copy {
        max-width: 600px;
    }

}


/* ============================================================
   <= 1600
============================================================ */

@media (max-width: 1600px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 120px);
    }

    .ptturb-page .ptturb-interior-figure {
        right: -60px;
    }

}


/* ============================================================
   <= 1440
============================================================ */

@media (max-width: 1440px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 100px);
    }

    .ptturb-page .ptturb-hero {
        height: 640px;
        min-height: 640px;
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 64px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 75px;
    }

    .ptturb-page .ptturb-hero-copy {
        width: 42%;
    }

    .ptturb-page .ptturb-premium-heading h2 {
        font-size: 42px;
    }

    .ptturb-page .ptturb-interior-figure {
        right: -50px;
    }

    .ptturb-page .ptturb-bottom-feature {
        min-width: 175px;
    }

}


/* ============================================================
   <= 1366
============================================================ */

@media (max-width: 1366px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 88px);
    }

    .ptturb-page .ptturb-hero {
        height: 630px;
        min-height: 630px;
    }

    .ptturb-page .ptturb-hero-copy {
        width: 43%;
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 61px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 72px;
    }

    .ptturb-page .ptturb-hero-subtitle {
        font-size: 20px;
    }

    .ptturb-page .ptturb-why-copy {
        padding-right: 45px;
    }

    .ptturb-page .ptturb-why-title {
        font-size: 43px;
    }

    .ptturb-page .ptturb-feature-item {
        min-height: 112px;
    }

    .ptturb-page .ptturb-occasions-copy h2 {
        font-size: 39px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 132px;
    }

}


/* ============================================================
   <= 1280
============================================================ */

@media (max-width: 1280px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 76px);
    }

    .ptturb-page .ptturb-hero-copy {
        width: 45%;
    }

    .ptturb-page .ptturb-hero-description {
        font-size: 13px;
    }

    .ptturb-page .ptturb-why-layout {
        grid-template-columns: 42% 58%;
    }

    .ptturb-page .ptturb-why-stat {
        padding-inline: 10px;
    }

    .ptturb-page .ptturb-feature-item > span:last-child {
        font-size: 9.7px;
    }

    .ptturb-page .ptturb-bottom-feature {
        min-width: 160px;
        padding-inline: 18px;
    }

}


/* ============================================================
   <= 1200
============================================================ */

@media (max-width: 1200px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 68px);
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 57px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 68px;
    }

    .ptturb-page .ptturb-hero-feature {
        padding-inline: 8px;
    }

    .ptturb-page .ptturb-premium-layout {
        grid-template-columns: 55% 45%;
    }

    .ptturb-page .ptturb-premium-heading h2 {
        font-size: 39px;
    }

    .ptturb-page .ptturb-views-layout {
        grid-template-columns: 51% 49%;
    }

    .ptturb-page .ptturb-occasions-layout {
        grid-template-columns: 37% 63%;
        gap: 25px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 120px;
    }

}


/* ============================================================
   TABLET <= 1024
============================================================ */

@media (max-width: 1024px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 50px);
    }


    /* HERO */

    .ptturb-page .ptturb-hero {
        height: 640px;
        min-height: 640px;

        background-position: 58% center;
    }

    .ptturb-page .ptturb-hero-copy {
        width: 52%;
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 54px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 64px;
    }

    .ptturb-page .ptturb-hero-description {
        max-width: 450px;
    }

    .ptturb-page .ptturb-hero-script {
        display: none;
    }


    /* WHY */

    .ptturb-page .ptturb-why-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .ptturb-page .ptturb-why-copy {
        max-width: 760px;
        padding-right: 0;
    }

    .ptturb-page .ptturb-why-stats {
        width: 100%;
    }


    /* PREMIUM */

    .ptturb-page .ptturb-premium {
        min-height: 0;
    }

    .ptturb-page .ptturb-premium-layout {
        min-height: 0;

        display: block;
    }

    .ptturb-page .ptturb-premium-left {
        padding: 45px 0 35px;
    }

    .ptturb-page .ptturb-premium-mobile-intro {
        display: block;

        margin-top: 16px;
    }

    .ptturb-page .ptturb-premium-intro {
        display: none;
    }

    .ptturb-page .ptturb-feature-matrix {
        margin-top: 35px;
    }

    .ptturb-page .ptturb-premium-right {
        min-height: 400px;

        margin-inline: -25px;
    }

    .ptturb-page .ptturb-interior-figure {
        position: absolute;

        inset: 0;

        height: 100%;
    }

    .ptturb-page .ptturb-interior-figure::before {
        background:
            linear-gradient(
                180deg,
                var(--ptturb-charcoal) 0%,
                rgba(21,25,27,.12) 18%,
                transparent 38%
            );
    }


    /* OCCASIONS */

    .ptturb-page .ptturb-occasions-layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .ptturb-page .ptturb-occasions-copy {
        max-width: 700px;
        padding-right: 0;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 155px;
    }


    /* BOTTOM */

    .ptturb-page .ptturb-bottom-strip-inner {
        padding-right: 0;
    }

    .ptturb-page .ptturb-bottom-feature {
        flex: 1;
        min-width: 0;
    }

    .ptturb-page .ptturb-bottom-script {
        display: none;
    }

}


/* ============================================================
   <= 850
============================================================ */

@media (max-width: 850px) {

    .ptturb-page .ptturb-hero-copy {
        width: 60%;
    }


    /* GALLERY STACK */

    .ptturb-page .ptturb-views {
        min-height: 0;
    }

    .ptturb-page .ptturb-views-inner {
        min-height: 0;

        padding-top: 28px;
        padding-bottom: 28px;
    }

    .ptturb-page .ptturb-views-heading {
        margin-bottom: 20px;
    }

    .ptturb-page .ptturb-views-layout {
        height: auto;

        grid-template-columns: 1fr;
        gap: 14px;
    }

    .ptturb-page .ptturb-exterior {
        height: 330px;
    }

    .ptturb-page .ptturb-view-collage {
        height: 420px;
    }

}


/* ============================================================
   MOBILE <= 767
============================================================ */

@media (max-width: 767px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 38px);
    }


    /* HERO */

    .ptturb-page .ptturb-hero {
        height: auto;
        min-height: 750px;

        background-position: 61% center;
    }

    .ptturb-page .ptturb-hero-shade {
        background:
            linear-gradient(
                90deg,
                rgba(6,12,16,.96) 0%,
                rgba(6,12,16,.90) 45%,
                rgba(6,12,16,.65) 72%,
                rgba(6,12,16,.36) 100%
            );
    }

    .ptturb-page .ptturb-hero-shell {
        min-height: 750px;
    }

    .ptturb-page .ptturb-hero-copy {
        width: 100%;
        max-width: 535px;

        padding: 38px 0;
    }

    .ptturb-page .ptturb-hero-eyebrow {
        font-size: 9px;
        letter-spacing: 4px;
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: clamp(44px, 12vw, 52px);
    }

    .ptturb-page .ptturb-hero-title strong {
        margin-top: 5px;

        font-size: clamp(51px, 14vw, 61px);
    }

    .ptturb-page .ptturb-hero-subtitle {
        margin-top: 21px;

        font-size: 19px;
    }

    .ptturb-page .ptturb-hero-description {
        max-width: 500px;

        font-size: 13.5px;
    }

    .ptturb-page .ptturb-hero-features {
        grid-template-columns: repeat(2,1fr);

        max-width: 390px;

        gap: 18px 0;
    }

    .ptturb-page .ptturb-hero-feature {
        padding-inline: 12px;
    }

    .ptturb-page .ptturb-hero-feature:nth-child(2)::after {
        display: none;
    }

    .ptturb-page .ptturb-hero-feature-icon {
        width: 46px;
        height: 46px;
    }

    .ptturb-page .ptturb-primary-cta {
        width: 100%;
        max-width: 340px;
    }


    /* WHY */

    .ptturb-page .ptturb-why {
        padding: 42px 0;
    }

    .ptturb-page .ptturb-why-title {
        font-size: 40px;
    }

    .ptturb-page .ptturb-why-description {
        font-size: 13.5px;
    }

    .ptturb-page .ptturb-why-stats {
        grid-template-columns: repeat(2,1fr);

        row-gap: 25px;
    }

    .ptturb-page .ptturb-why-stat:nth-child(2)::after {
        display: none;
    }

    .ptturb-page .ptturb-why-stat {
        min-height: 100px;
    }


    /* PREMIUM */

    .ptturb-page .ptturb-premium-heading h2 {
        font-size: 38px;
    }

    .ptturb-page .ptturb-feature-matrix {
        grid-template-columns: repeat(2,1fr);
    }

    .ptturb-page .ptturb-feature-item {
        min-height: 115px;
    }

    .ptturb-page .ptturb-feature-item:not(:nth-child(4n)) {
        border-right: 0;
    }

    .ptturb-page .ptturb-feature-item:nth-child(odd) {
        border-right: 1px solid rgba(255,255,255,.09);
    }

    .ptturb-page .ptturb-premium-right {
        min-height: 380px;

        margin-inline: -19px;
    }

    .ptturb-page .ptturb-interior-figure img {
        object-position: center;
    }


    /* VIEWS */

    .ptturb-page .ptturb-views-heading > span {
        letter-spacing: 3.5px;
    }

    .ptturb-page .ptturb-exterior {
        height: 280px;
    }

    .ptturb-page .ptturb-view-collage {
        height: 370px;
    }


    /* OCCASIONS */

    .ptturb-page .ptturb-occasions {
        padding: 35px 0;
    }

    .ptturb-page .ptturb-occasions-copy h2 {
        font-size: 38px;
    }

    .ptturb-page .ptturb-occasion-list {
        grid-template-columns: repeat(2,1fr);

        gap: 10px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 165px;
    }

    .ptturb-page .ptturb-occasion-item > div {
        min-height: 40px;

        font-size: 11px;
    }


    /* CTA */

    .ptturb-page .ptturb-journey-main {
        height: 385px;

        padding-top: 42px;

        background-position: center;
    }

    .ptturb-page .ptturb-journey-copy h2 {
        font-size: 39px;
    }

    .ptturb-page .ptturb-journey-button {
        width: calc(100vw - 50px);
        max-width: 320px;
        min-width: 0;
    }


    /* FEATURE STRIP */

    .ptturb-page .ptturb-bottom-strip {
        min-height: 112px;
    }

    .ptturb-page .ptturb-bottom-strip-inner {
        min-height: 112px;

        display: grid;
        grid-template-columns: repeat(2,1fr);
    }

    .ptturb-page .ptturb-bottom-feature {
        min-height: 48px;

        padding: 5px 12px;
    }

    .ptturb-page .ptturb-bottom-feature:nth-child(2)::after {
        display: none;
    }

    .ptturb-page .ptturb-bottom-feature span {
        font-size: 9.5px;
    }

}


/* ============================================================
   <= 560
============================================================ */

@media (max-width: 560px) {

    .ptturb-page .ptturb-hero {
        min-height: 770px;


        background-position: 59% center;
    }

    .ptturb-page .ptturb-hero-shell {
        min-height: 770px;
    }

    .ptturb-page .ptturb-hero-accent {
        width: 190px;
    }

    .ptturb-page .ptturb-hero-feature-text {
        font-size: 10px;
    }

    .ptturb-page .ptturb-premium-right {
        min-height: 330px;
    }


    .ptturb-page .ptturb-exterior {
        height: 250px;
    }

    .ptturb-page .ptturb-view-collage {
        height: 330px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 140px;
    }

}


/* ============================================================
   <= 430
============================================================ */

@media (max-width: 430px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 34px);
    }

    .ptturb-page .ptturb-hero {
        min-height: 770px;
    }

    .ptturb-page .ptturb-hero-shell {
        min-height: 770px;
    }

    .ptturb-page .ptturb-hero-eyebrow {
        font-size: 8px;
        letter-spacing: 3.3px;
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 43px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 52px;
    }

    .ptturb-page .ptturb-hero-subtitle {
        font-size: 18px;
    }

    .ptturb-page .ptturb-hero-description {
        font-size: 12.5px;
        line-height: 1.6;
    }

    .ptturb-page .ptturb-why-title {
        font-size: 37px;
    }

    .ptturb-page .ptturb-why-stat {
        padding-inline: 8px;
    }

    .ptturb-page .ptturb-why-icon {
        font-size: 27px;
    }

    .ptturb-page .ptturb-why-stat strong {
        font-size: 13px;
    }

    .ptturb-page .ptturb-why-stat small {
        font-size: 9.5px;
    }

    .ptturb-page .ptturb-premium-heading h2 {
        font-size: 35px;
    }

    .ptturb-page .ptturb-premium-mobile-intro p {
        font-size: 12.5px;
    }

    .ptturb-page .ptturb-feature-item > span:last-child {
        font-size: 9.5px;
    }

    .ptturb-page .ptturb-premium-right {
        min-height: 300px;

        margin-inline: -17px;
    }

    .ptturb-page .ptturb-exterior {
        height: 225px;
    }

    .ptturb-page .ptturb-view-collage {
        height: 290px;
    }

    .ptturb-page .ptturb-occasions-copy h2 {
        font-size: 35px;
    }

    .ptturb-page .ptturb-occasions-copy p {
        font-size: 12.5px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 120px;
    }

    .ptturb-page .ptturb-occasion-item > div {
        font-size: 9.5px;
    }

    .ptturb-page .ptturb-journey-main {
        height: 380px;
    }

    .ptturb-page .ptturb-journey-copy h2 {
        font-size: 35px;
    }

    .ptturb-page .ptturb-journey-copy p {
        font-size: 12.5px;
    }

}


/* ============================================================
   <= 390 / 375
============================================================ */

@media (max-width: 390px) {

    .ptturb-page .ptturb-shell,
    .ptturb-page .ptturb-premium-layout {
        width: calc(100% - 30px);
    }

    .ptturb-page .ptturb-hero-title span {
        font-size: 40px;
    }

    .ptturb-page .ptturb-hero-title strong {
        font-size: 49px;
    }

    .ptturb-page .ptturb-primary-cta {
        min-width: 0;
        max-width: 100%;

        font-size: 13.5px;
    }

    .ptturb-page .ptturb-why-description {
        font-size: 12.5px;
    }

    .ptturb-page .ptturb-feature-icon {
        width: 40px;
        height: 40px;
    }

    .ptturb-page .ptturb-exterior {
        height: 205px;
    }

    .ptturb-page .ptturb-view-collage {
        height: 270px;
    }

    .ptturb-page .ptturb-occasion-list {
        gap: 7px;
    }

    .ptturb-page .ptturb-occasion-item figure {
        height: 108px;
    }

    .ptturb-page .ptturb-bottom-feature {
        gap: 7px;
        padding-inline: 5px;
    }

    .ptturb-page .ptturb-bottom-feature i {
        font-size: 14px;
    }

    .ptturb-page .ptturb-bottom-feature span {
        font-size: 8.5px;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

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

    .ptturb-page .ptturb-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ptturb-page .ptturb-primary-cta,
    .ptturb-page .ptturb-journey-button,
    .ptturb-page .ptturb-interior-figure img,
    .ptturb-page .ptturb-exterior img,
    .ptturb-page .ptturb-view-photo img,
    .ptturb-page .ptturb-occasion-item,
    .ptturb-page .ptturb-occasion-item img {
        transition: none;
    }

}


/* ============================================================
   TEMPO TRAVELLER ? LIGHT PREMIUM FEATURES
   UNIQUE CSS PREFIX: ptttempo-
============================================================ */

.ptttempo-features {
    position: relative;
    width: 100%;
    padding: 80px 0 85px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(255, 90, 10, .055),
            transparent 28%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fffdf9 100%
        );
}


/* subtle background lines */

.ptttempo-features::before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(12, 29, 44, .12),
        transparent
    );
}


.ptttempo-features-shell {
    position: relative;
    z-index: 2;

    width: calc(100% - 120px);
    max-width: 1540px;
    margin-inline: auto;
}


/* ============================================================
   HEADING
============================================================ */

.ptttempo-features-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .72fr);
    align-items: end;
    gap: 70px;

    margin-bottom: 50px;
}


.ptttempo-features-title {
    min-width: 0;
}


.ptttempo-features-eyebrow {
    display: block;
    margin: 0 0 12px;

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: 4.5px;

    color: #fb0001;

    text-transform: uppercase;
}


.ptttempo-features-title h2 {
    max-width: 760px;
    margin: 0;

    font-family: var(--ptt-font-main) !important;
    font-size: clamp(46px, 3.5vw, 58px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -1.3px;

    color: #0c1d2c;
}


.ptttempo-features-title h2 strong {
    display: block;

    font: inherit;
    color: #fb0001;
}


.ptttempo-features-intro {
    position: relative;
    padding: 0 0 4px 27px;

    border-left: 2px solid #fb0001;
}


.ptttempo-features-intro p {
    margin: 0;

    font-family: "Outfit", sans-serif;

    /* requested larger readable font */
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;

    color: #000;
}


/* ============================================================
   FEATURE GRID
============================================================ */

.ptttempo-features-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    border-top: 1px solid #dfe3e6;
    border-left: 1px solid #dfe3e6;
}


/* ============================================================
   FEATURE ITEM
============================================================ */

.ptttempo-feature-item {
    position: relative;

    min-height: 255px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    padding: 34px 30px 32px;

    background: rgba(255, 255, 255, .72);

    border-right: 1px solid #dfe3e6;
    border-bottom: 1px solid #dfe3e6;

    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


.ptttempo-feature-item::before {
    content: "";

    position: absolute;
    left: -1px;
    top: -1px;

    width: 0;
    height: 3px;

    background: #fb0001;

    transition: width .35s ease;
}


.ptttempo-feature-item:hover {
    z-index: 2;

    background: #ffffff;

    transform: translateY(-4px);

    box-shadow:
        0 18px 45px rgba(12, 29, 44, .08);
}


.ptttempo-feature-item:hover::before {
    width: calc(100% + 1px);
}


/* ============================================================
   ICON
============================================================ */

.ptttempo-feature-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border: 1px solid rgba(255, 90, 10, .38);
    border-radius: 50%;

    background: #fff7f2;

    color: #fb0001;

    font-size: 21px;

    transition:
        color .3s ease,
        background .3s ease,
        border-color .3s ease,
        transform .3s ease;
}


.ptttempo-feature-item:hover .ptttempo-feature-icon {
    color: #ffffff;
    background: #fb0001;
    border-color: #fb0001;

    transform: translateY(-2px);
}


/* ============================================================
   CONTENT
============================================================ */

.ptttempo-feature-copy {
    position: relative;
    width: 100%;
}


.ptttempo-feature-number {
    position: absolute;
    top: -69px;
    right: 0;

    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 30px;
    line-height: 1;
    font-weight: 700;

    color: rgba(12, 29, 44, .12);

    transition: color .3s ease;
}


.ptttempo-feature-item:hover .ptttempo-feature-number {
    color: rgba(255, 90, 10, .28);
}


.ptttempo-feature-copy h3 {
    margin: 0 0 10px;

    font-family: "Outfit", sans-serif;

    /* dark + strong */
    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;

    color: #0c1d2c;
}


.ptttempo-feature-copy p {
    margin: 0;

    font-family: "Outfit", sans-serif;

    /* requested 16px readable paragraph */
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;

    color: #000;
}


/* ============================================================
   LARGE DESKTOP ? 1600+
============================================================ */

@media (min-width: 1601px) {

    .ptttempo-features-shell {
        width: calc(100% - 140px);
    }

    .ptttempo-feature-item {
        min-height: 270px;
        padding: 38px 34px 34px;
    }

    .ptttempo-feature-copy h3 {
        font-size: 20px;
    }

    .ptttempo-feature-copy p {
        font-size: 16px;
    }

}


/* ============================================================
   1440
============================================================ */

@media (max-width: 1440px) {

    .ptttempo-features {
        padding: 70px 0 75px;
    }

    .ptttempo-features-shell {
        width: calc(100% - 100px);
    }

    .ptttempo-features-head {
        gap: 55px;
        margin-bottom: 43px;
    }

    .ptttempo-features-title h2 {
        font-size: 51px;
    }

    .ptttempo-feature-item {
        min-height: 265px;
        padding: 31px 25px 29px;
    }

}


/* ============================================================
   1280
============================================================ */

@media (max-width: 1280px) {

    .ptttempo-features-shell {
        width: calc(100% - 76px);
    }

    .ptttempo-features-head {
        grid-template-columns: 1fr .7fr;
        gap: 42px;
    }

    .ptttempo-features-title h2 {
        font-size: 47px;
    }

    .ptttempo-features-intro p {
        font-size: 16px;
        line-height: 1.65;
    }

    .ptttempo-feature-item {
        min-height: 275px;
        padding: 29px 22px 27px;
    }

    .ptttempo-feature-copy h3 {
        font-size: 17px;
    }

    .ptttempo-feature-copy p {
        font-size: 16px;
        line-height: 1.58;
    }

}


/* ============================================================
   TABLET ? <= 1024
============================================================ */

@media (max-width: 1024px) {

    .ptttempo-features {
        padding: 65px 0 70px;
    }

    .ptttempo-features-shell {
        width: calc(100% - 50px);
    }

    .ptttempo-features-head {
        grid-template-columns: 1fr;
        gap: 24px;

        margin-bottom: 38px;
    }

    .ptttempo-features-title h2 {
        max-width: 720px;
        font-size: 46px;
    }

    .ptttempo-features-intro {
        max-width: 750px;

        padding-left: 20px;
    }

    .ptttempo-features-intro p {
        font-size: 16px;
    }


    /* 2 columns on tablet */

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

    .ptttempo-feature-item {
        min-height: 235px;
        padding: 30px;
    }

}


/* ============================================================
   MOBILE ? <= 767
============================================================ */

@media (max-width: 767px) {

    .ptttempo-features {
        padding: 52px 0 56px;
    }

    .ptttempo-features-shell {
        width: calc(100% - 38px);
    }

    .ptttempo-features-head {
        gap: 21px;
        margin-bottom: 32px;
    }

    .ptttempo-features-eyebrow {
        margin-bottom: 10px;

        font-size: 10px;
        letter-spacing: 3.3px;
    }

    .ptttempo-features-title h2 {
        font-size: clamp(37px, 10vw, 44px);
        line-height: 1.02;
    }

    .ptttempo-features-intro {
        padding-left: 17px;
    }

    .ptttempo-features-intro p {
        font-size: 16px;
        line-height: 1.65;
    }


    /* Keep 2-column premium matrix */

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

    .ptttempo-feature-item {
        min-height: 285px;

        padding: 25px 20px 24px;
    }

    .ptttempo-feature-icon {
        width: 50px;
        height: 50px;

        margin-bottom: 22px;

        font-size: 19px;
    }

    .ptttempo-feature-number {
        top: -62px;

        font-size: 26px;
    }

    .ptttempo-feature-copy h3 {
        margin-bottom: 8px;

        font-size: 17px;
        line-height: 1.35;
    }

    .ptttempo-feature-copy p {
        font-size: 16px;
        line-height: 1.55;
    }

}


/* ============================================================
   SMALL MOBILE ? <= 560
   One column because 16px text should stay spacious/readable.
============================================================ */

@media (max-width: 560px) {

    .ptttempo-features-shell {
        width: calc(100% - 34px);
    }

    .ptttempo-features-title h2 {
        font-size: 38px;
    }

    .ptttempo-features-grid {
        grid-template-columns: 1fr;
    }

    .ptttempo-feature-item {
        min-height: 0;

        display: grid;
        grid-template-columns: 55px minmax(0, 1fr);
        gap: 18px;

        padding: 25px 21px;
    }

    .ptttempo-feature-icon {
        width: 52px;
        height: 52px;

        margin: 0;
    }

    .ptttempo-feature-number {
        top: 0;
        right: 0;

        font-size: 27px;
    }

    .ptttempo-feature-copy {
        padding-right: 30px;
    }

    .ptttempo-feature-copy h3 {
        padding-right: 12px;

        font-size: 17px;
    }

    .ptttempo-feature-copy p {
        font-size: 16px;
        line-height: 1.6;
    }

}


/* ============================================================
   VERY SMALL ? <= 390
============================================================ */

@media (max-width: 390px) {

    .ptttempo-features {
        padding: 45px 0 48px;
    }

    .ptttempo-features-shell {
        width: calc(100% - 30px);
    }

    .ptttempo-features-title h2 {
        font-size: 35px;
    }

    .ptttempo-features-intro p {
        font-size: 16px;
    }

    .ptttempo-feature-item {
        grid-template-columns: 48px minmax(0, 1fr);

        gap: 15px;

        padding: 23px 17px;
    }

    .ptttempo-feature-icon {
        width: 47px;
        height: 47px;

        font-size: 17px;
    }

    .ptttempo-feature-copy {
        padding-right: 20px;
    }

    .ptttempo-feature-copy h3 {
        font-size: 17px;
    }

    .ptttempo-feature-copy p {
        font-size: 16px;
        line-height: 1.55;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

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

    .ptttempo-feature-item,
    .ptttempo-feature-item::before,
    .ptttempo-feature-icon,
    .ptttempo-feature-number {
        transition: none;
    }

    .ptttempo-feature-item:hover {
        transform: none;
    }

}

/* ============================================================
   PTT DAY TOURS
   ALL STYLES ISOLATED UNDER .pttday-page
============================================================ */

.pttday-page {
    --pttday-orange: #fb0001;
    --pttday-dark: #101517;
    --pttday-navy: #0d1b28;
    --pttday-white: #ffffff;
    --pttday-ivory: #fffaf5;
    --pttday-muted: #555b61;

    width: 100%;
    overflow: hidden;
    font-family: "Outfit", sans-serif;
}


.pttday-page *,
.pttday-page *::before,
.pttday-page *::after {
    box-sizing: border-box;
}


.pttday-page .pttday-wide {
    width: min(94%, 1600px);
    margin-inline: auto;
}


/* ============================================================
   COMMON
============================================================ */

.pttday-page .pttday-eyebrow {
    display: block;
    margin: 0 0 13px;

    color: var(--pttday-orange);

    font-family: "Outfit", sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 4.5px;
    text-transform: uppercase;
}


.pttday-page .pttday-eyebrow-light {
    color: rgba(255,255,255,.94);
}


.pttday-page .pttday-eyebrow-light b {
    display: inline-block;
    margin: 0 10px;
    color: rgba(255,255,255,.5);
    font-weight: 400;
}


.pttday-page .pttday-orange-button {
    min-height: 58px;
    width: max-content;
    min-width: 245px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;

    padding: 0 29px;

    border-radius: 999px;

    background: var(--pttday-orange);
    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1;
    font-weight: 600;
    text-decoration: none;

    box-shadow: 0 12px 28px rgba(255,90,10,.18);

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.pttday-page .pttday-orange-button i {
    font-size: 14px;
    transition: transform .3s ease;
}


.pttday-page .pttday-orange-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 35px rgba(255,90,10,.28);
}


.pttday-page .pttday-orange-button:hover i {
    transform: translateX(5px);
}


/* ============================================================
   01 HERO
============================================================ */

.pttday-page .pttday-hero {
    position: relative;

    min-height: 660px;

    display: flex;
    align-items: stretch;

    background-image:
        url("../images/day-tour-header-bg.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    isolation: isolate;
}


.pttday-page .pttday-hero-shade {
    position: absolute;
    z-index: -1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(6,14,20,.95) 0%,
            rgba(6,14,20,.86) 22%,
            rgba(6,14,20,.68) 36%,
            rgba(6,14,20,.30) 52%,
            rgba(6,14,20,.04) 72%,
            rgba(6,14,20,0) 100%
        );
}


.pttday-page .pttday-hero-inner {
    position: relative;

    min-height: 660px;

    display: flex;
    align-items: center;

    padding-top: 35px;
    padding-bottom: 35px;
}


.pttday-page .pttday-hero-copy {
    width: min(590px, 42%);
}


.pttday-page .pttday-hero-copy h1 {
    margin: 0;

    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: clamp(58px, 5vw, 82px);
    line-height: .98;
    font-weight: 700;
    letter-spacing: -3px;
}


.pttday-page .pttday-hero-copy h1 strong {
    display: inline-block;
    color: var(--pttday-orange);
    font: inherit;
}


.pttday-page .pttday-hero-copy h2 {
    margin: 22px 0 13px;

    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 500;
}


.pttday-page .pttday-hero-copy p {
    max-width: 560px;

    margin: 0 0 30px;

    color: rgba(255,255,255,.92);

    font-family: "Outfit", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-hero-script {
    position: absolute;

    top: 45px;
    right: 2%;

    width: min(250px, 18vw);
    height: auto;

    object-fit: contain;
    pointer-events: none;
}


/* ============================================================
   02 FEATURE STRIP
============================================================ */

.pttday-page .pttday-feature-strip {
    position: relative;

    background:
        linear-gradient(90deg, #101517 0%, #151b1e 100%);

    color: #fff;
}


.pttday-page .pttday-feature-strip-inner {
    min-height: 128px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 250px;
    align-items: stretch;
}


.pttday-page .pttday-feature-strip-items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


.pttday-page .pttday-feature-strip-item {
    position: relative;

    min-height: 128px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    padding: 18px 20px;

    text-align: center;
}


.pttday-page .pttday-feature-strip-item:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 26px;
    right: 0;
    bottom: 26px;

    width: 1px;

    background: rgba(255,255,255,.18);
}


.pttday-page .pttday-feature-strip-item i {
    margin-bottom: 11px;

    color: var(--pttday-orange);

    font-size: 29px;
}


.pttday-page .pttday-feature-strip-item span {
    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
}


.pttday-page .pttday-feature-strip-art {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    border-left: 1px solid rgba(255,255,255,.17);
}


.pttday-page .pttday-feature-strip-art img {
    position: absolute;

    max-width: 88%;
    max-height: 100px;

    object-fit: contain;
}


.pttday-page .pttday-feature-strip-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;

    color: #fff;
    text-align: center;
}


.pttday-page .pttday-feature-strip-fallback small {
    font-size: 10px;
    letter-spacing: 5px;
}


.pttday-page .pttday-feature-strip-fallback strong {
    margin: 2px 0;

    font-size: 23px;
    line-height: 1;
    letter-spacing: 2px;
}


.pttday-page .pttday-feature-strip-fallback span {
    font-size: 10px;
    letter-spacing: 3px;
}


/* ============================================================
   03 PACKAGES
============================================================ */

.pttday-page .pttday-packages {
    padding: 82px 0 88px;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(255,90,10,.04),
            transparent 25%
        ),
        #fff;
}


.pttday-page .pttday-packages-head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, .75fr);
    gap: 80px;
    align-items: end;

    margin-bottom: 38px;
}


.pttday-page .pttday-packages-heading h2 {
    margin: 0;

    color: var(--pttday-navy);

    font-family: "Outfit", sans-serif;
    font-size: clamp(40px, 3.5vw, 56px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -1.8px;
}


.pttday-page .pttday-packages-heading h2 strong {
    display: block;

    color: var(--pttday-orange);

    font: inherit;
}


.pttday-page .pttday-packages-intro {
    padding-bottom: 4px;
}


.pttday-page .pttday-packages-intro p {
    margin: 0 0 20px;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-text-link {
    display: inline-flex;
    align-items: center;
    gap: 11px;

    color: var(--pttday-orange);

    font-family: "Outfit", sans-serif;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2px;
    text-decoration: none;
    text-transform: uppercase;
}


.pttday-page .pttday-text-link i {
    transition: transform .3s ease;
}


.pttday-page .pttday-text-link:hover i {
    transform: translateX(4px);
}


/* PACKAGE GRID */

.pttday-page .pttday-package-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}


.pttday-page .pttday-package-card {
    min-width: 0;

    overflow: hidden;

    border: 1px solid #e3e5e6;
    border-radius: 14px;

    background: #fff;

    box-shadow: 0 10px 25px rgba(10,22,31,.06);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}


.pttday-page .pttday-package-card:hover {
    transform: translateY(-6px);

    border-color: rgba(255,90,10,.35);

    box-shadow: 0 18px 40px rgba(10,22,31,.12);
}


.pttday-page .pttday-package-image {
    position: relative;

    display: block;

    width: 100%;

    overflow: hidden;

    background: #e9ecee;
}


.pttday-page .pttday-package-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .55s ease;
}


.pttday-page .pttday-package-card:hover .pttday-package-image img {
    transform: scale(1.04);
}


.pttday-page .pttday-package-duration {
    position: absolute;
    top: 15px;
    left: 15px;

    padding: 7px 11px;

    border-radius: 999px;

    background: rgba(13,27,40,.86);
    color: #fff;

    backdrop-filter: blur(5px);

    font-family: "Outfit", sans-serif;
    font-size: 11px;
    line-height: 1;
    font-weight: 600;
}


.pttday-page .pttday-package-body {
    min-height: 168px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    gap: 14px;
    align-items: end;

    padding: 20px 18px 21px;
}


.pttday-page .pttday-package-copy {
    min-width: 0;
}


.pttday-page .pttday-package-number {
    display: block;

    margin-bottom: 6px;

    color: var(--pttday-orange);

    font-family: "Outfit", sans-serif;
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 2px;
}


.pttday-page .pttday-package-copy h3 {
    margin: 0 0 7px;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;
}


.pttday-page .pttday-package-copy h3 a {
    color: inherit;
    text-decoration: none;
}


.pttday-page .pttday-package-copy p {
    margin: 0;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-package-arrow {
    width: 40px;
    height: 40px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--pttday-orange);
    color: #fff;

    text-decoration: none;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


.pttday-page .pttday-package-arrow i {
    font-size: 13px;

    transition: transform .3s ease;
}


.pttday-page .pttday-package-arrow:hover {
    transform: scale(1.07);

    box-shadow: 0 8px 20px rgba(255,90,10,.25);
}


.pttday-page .pttday-package-arrow:hover i {
    transform: translateX(3px);
}


/* ============================================================
   04 EXPERIENCE
============================================================ */

.pttday-page .pttday-experience {
    position: relative;

    min-height: 470px;

    display: flex;
    align-items: stretch;

    background-image:
        url("../images/day-tour-taxi.webp");

    background-size: cover;
background-position: bottom;
    background-repeat: no-repeat;

    isolation: isolate;
}


.pttday-page .pttday-experience-shade {
    position: absolute;
    z-index: -1;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(8,15,19,.97) 0%,
            rgba(8,15,19,.92) 30%,
            rgba(8,15,19,.70) 51%,
            rgba(8,15,19,.22) 75%,
            rgba(8,15,19,.05) 100%
        );
}


.pttday-page .pttday-experience-inner {
    min-height: 470px;

    display: flex;
    align-items: center;

    padding-top: 62px;
    padding-bottom: 62px;
}


.pttday-page .pttday-experience-content {
    width: min(800px, 59%);
}


.pttday-page .pttday-experience-heading {
    max-width: 680px;
}


.pttday-page .pttday-experience-heading h2 {
    margin: 0 0 18px;

    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: clamp(40px, 3.5vw, 55px);
    line-height: 1.06;
    font-weight: 700;
    letter-spacing: -1.6px;
}


.pttday-page .pttday-experience-heading h2 strong {
    display: block;

    color: var(--pttday-orange);

    font: inherit;
}


.pttday-page .pttday-experience-heading p {
    max-width: 620px;

    margin: 0;

    color: rgba(255,255,255,.92);

    font-family: "Outfit", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-experience-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-top: 31px;
}


.pttday-page .pttday-experience-item {
    min-height: 160px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;

    padding: 22px 19px;

    border: 1px solid rgba(255,255,255,.30);
    border-radius: 10px;

    background: rgba(12,20,24,.47);

    backdrop-filter: blur(5px);

    transition:
        transform .35s ease,
        border-color .35s ease,
        background .35s ease;
}


.pttday-page .pttday-experience-item:hover {
    transform: translateY(-5px);

    border-color: rgba(255,90,10,.8);

    background: rgba(12,20,24,.68);
}


.pttday-page .pttday-experience-item i {
    margin-bottom: 18px;

    color: var(--pttday-orange);

    font-size: 29px;
}


.pttday-page .pttday-experience-item h3 {
    margin: 0 0 7px;

    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 600;
}


.pttday-page .pttday-experience-item p {
    margin: 0;

    color: rgba(255,255,255,.78);

    font-family: "Outfit", sans-serif;
    font-size: 14px;
    line-height: 1.4;
}


/* ============================================================
   05 WHY TRAVEL WITH US
============================================================ */

.pttday-page .pttday-benefits {
    position: relative;

    padding: 78px 0 72px;

    background: var(--pttday-ivory);
}


.pttday-page .pttday-benefits-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(370px, .68fr);
    gap: 60px;
    align-items: center;
}


.pttday-page .pttday-benefits-heading {
    max-width: 820px;
}


.pttday-page .pttday-benefits-heading h2 {
    margin: 0 0 16px;

    color: var(--pttday-navy);

    font-family: "Outfit", sans-serif;
    font-size: clamp(40px, 3.4vw, 54px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -1.7px;
}


.pttday-page .pttday-benefits-heading p {
    max-width: 760px;

    margin: 0;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));

    margin-top: 36px;

    border-top: 1px solid #dedbd7;
    border-bottom: 1px solid #dedbd7;
}


.pttday-page .pttday-benefit-item {
    position: relative;

    min-height: 145px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    padding: 22px 20px;

    text-align: center;
}


.pttday-page .pttday-benefit-item:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 25px;
    right: 0;
    bottom: 25px;

    width: 1px;

    background: #dedbd7;
}


.pttday-page .pttday-benefit-item i {
    margin-bottom: 14px;

    color: var(--pttday-orange);

    font-size: 31px;
}


.pttday-page .pttday-benefit-item h3 {
    margin: 0;

    color: var(--pttday-navy);

    font-family: "Outfit", sans-serif;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
}


.pttday-page .pttday-benefits-art {
    min-height: 330px;

    display: flex;
    align-items: center;
    justify-content: center;
}


.pttday-page .pttday-benefits-art img {
    width: 100%;
    max-width: 560px;
    height: auto;

    display: block;

    object-fit: contain;
}


/* ============================================================
   06 MOMENTS
============================================================ */

.pttday-page .pttday-moments {
    padding: 0 0 68px;

    background: var(--pttday-ivory);
}


.pttday-page .pttday-moments-panel {
    padding: 20px 20px 18px;

    border-radius: 17px;

    background:
        linear-gradient(135deg, #11191e, #18232a);

    box-shadow: 0 16px 40px rgba(13,27,40,.12);
}


.pttday-page .pttday-moments-eyebrow {
    display: block;

    margin: 0 0 14px 5px;

    color: rgba(255,255,255,.86);

    font-family: "Outfit", sans-serif;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
}


.pttday-page .pttday-moments-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));

    gap: 8px;
}


.pttday-page .pttday-moment {
    min-width: 0;

    overflow: hidden;

    border-radius: 9px;

    background: #202a30;

    color: #fff;

    text-decoration: none;

    transition: transform .35s ease;
}


.pttday-page .pttday-moment:hover {
    transform: translateY(-3px);
}


.pttday-page .pttday-moment-image {
    width: 100%;
    aspect-ratio: 1.45 / 1;

    overflow: hidden;
}


.pttday-page .pttday-moment-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .45s ease;
}


.pttday-page .pttday-moment:hover img {
    transform: scale(1.04);
}


.pttday-page .pttday-moment > span {
    min-height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 7px 8px;

    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 500;

    text-align: center;
}


/* ============================================================
   07 FINAL CTA
============================================================ */

.pttday-page .pttday-final-cta {
    position: relative;

    min-height: 470px;

    display: flex;
    flex-direction: column;
    justify-content: flex-end;

    background-image:
        url("../images/day-tour-cta-bg.webp");

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}


.pttday-page .pttday-final-cta-inner {
    position: relative;

    width: 100%;
    min-height: 390px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 50px 4% 45px;
}


.pttday-page .pttday-final-cta-copy {
    width: min(650px, 90%);

    text-align: center;
}


.pttday-page .pttday-final-cta-copy h2 {
    margin: 0 0 17px;

    color: var(--pttday-navy);

    font-family: "Outfit", sans-serif;
    font-size: clamp(40px, 3.4vw, 54px);
    line-height: 1.05;
    font-weight: 700;
    letter-spacing: -1.7px;
}


.pttday-page .pttday-final-cta-copy h2 strong {
    display: block;

    color: var(--pttday-orange);

    font: inherit;
}


.pttday-page .pttday-final-cta-copy p {
    max-width: 610px;

    margin: 0 auto 27px;

    color: #000;

    font-family: "Outfit", sans-serif;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 400;
}


.pttday-page .pttday-final-script {
    position: absolute;

    top: 52px;
    right: 13%;

    width: min(220px, 17vw);
    height: auto;

    object-fit: contain;
}


/* ============================================================
   08 FINAL STRIP
============================================================ */

.pttday-page .pttday-final-strip {
    width: 100%;

    background: rgba(8,13,16,.94);

    backdrop-filter: blur(7px);
}


.pttday-page .pttday-final-strip-inner {
    min-height: 82px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    align-items: stretch;
}


.pttday-page .pttday-final-strip-items {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}


.pttday-page .pttday-final-strip-item {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    padding: 15px 20px;
}


.pttday-page .pttday-final-strip-item:not(:last-child)::after {
    content: "";

    position: absolute;
    top: 25px;
    right: 0;
    bottom: 25px;

    width: 1px;

    background: rgba(255,255,255,.20);
}


.pttday-page .pttday-final-strip-item i {
    color: #fff;
    font-size: 20px;
}


.pttday-page .pttday-final-strip-item span {
    color: #fff;

    font-family: "Outfit", sans-serif;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
}


.pttday-page .pttday-final-strip-brand {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    border-left: 1px solid rgba(255,255,255,.17);
}


.pttday-page .pttday-final-strip-brand img {
    position: absolute;

    max-width: 90%;
    max-height: 68px;

    object-fit: contain;
}


.pttday-page .pttday-final-strip-fallback {
    display: flex;
    flex-direction: column;

    color: #fff;
    text-align: center;
}


.pttday-page .pttday-final-strip-fallback small {
    font-size: 9px;
    letter-spacing: 4px;
}


.pttday-page .pttday-final-strip-fallback strong {
    font-size: 20px;
    line-height: 1.15;
    letter-spacing: 2px;
}


.pttday-page .pttday-final-strip-fallback span {
    font-size: 9px;
    letter-spacing: 3px;
}


/* ============================================================
   SCROLL REVEAL
============================================================ */

.pttday-page .pttday-reveal {
    opacity: 0;

    transform: translate3d(0, 26px, 0);

    transition:
        opacity .72s ease,
        transform .72s cubic-bezier(.2,.65,.3,1);
}


.pttday-page .pttday-reveal.pttday-reveal-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
}


.pttday-page .pttday-package-grid .pttday-reveal:nth-child(2),
.pttday-page .pttday-experience-grid .pttday-reveal:nth-child(2),
.pttday-page .pttday-benefit-grid .pttday-reveal:nth-child(2) {
    transition-delay: .08s;
}


.pttday-page .pttday-package-grid .pttday-reveal:nth-child(3),
.pttday-page .pttday-experience-grid .pttday-reveal:nth-child(3),
.pttday-page .pttday-benefit-grid .pttday-reveal:nth-child(3) {
    transition-delay: .16s;
}


.pttday-page .pttday-package-grid .pttday-reveal:nth-child(4),
.pttday-page .pttday-experience-grid .pttday-reveal:nth-child(4),
.pttday-page .pttday-benefit-grid .pttday-reveal:nth-child(4) {
    transition-delay: .24s;
}


/* ============================================================
   1600
============================================================ */

@media (max-width: 1600px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 110px);
    }

    .pttday-page .pttday-package-grid {
        gap: 20px;
    }

    .pttday-page .pttday-package-copy h3 {
        font-size: 19px;
    }

}


/* ============================================================
   1440
============================================================ */

@media (max-width: 1440px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 90px);
    }

    .pttday-page .pttday-hero,
    .pttday-page .pttday-hero-inner {
        min-height: 625px;
    }

    .pttday-page .pttday-hero-copy {
        width: min(560px, 44%);
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 65px;
    }

    .pttday-page .pttday-packages {
        padding: 72px 0 78px;
    }

    .pttday-page .pttday-packages-head {
        gap: 55px;
    }

    .pttday-page .pttday-package-body {
        min-height: 174px;
        padding: 18px 16px 19px;
    }

    .pttday-page .pttday-package-copy h3 {
        font-size: 18px;
    }

    .pttday-page .pttday-package-copy p {
        font-size: 15px;
    }

    .pttday-page .pttday-experience-content {
        width: 64%;
    }

}


/* ============================================================
   1280
============================================================ */

@media (max-width: 1280px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 70px);
    }

    .pttday-page .pttday-hero-copy {
        width: 47%;
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 59px;
    }

    .pttday-page .pttday-hero-copy p {
        font-size: 17px;
    }

    .pttday-page .pttday-feature-strip-inner {
        grid-template-columns: minmax(0, 1fr) 205px;
    }

    .pttday-page .pttday-packages-head {
        grid-template-columns: 1fr .75fr;
        gap: 40px;
    }

    .pttday-page .pttday-package-grid {
        gap: 17px;
    }

    .pttday-page .pttday-package-body {
        grid-template-columns: minmax(0,1fr) 38px;
        gap: 10px;
    }

    .pttday-page .pttday-package-arrow {
        width: 38px;
        height: 38px;
    }

    .pttday-page .pttday-experience-content {
        width: 68%;
    }

    .pttday-page .pttday-experience-item {
        padding: 20px 15px;
    }

    .pttday-page .pttday-benefits-layout {
        grid-template-columns: 1.1fr .65fr;
        gap: 35px;
    }

}


/* ============================================================
   TABLET ? 1024
============================================================ */

@media (max-width: 1024px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 48px);
    }


    /* HERO */

    .pttday-page .pttday-hero,
    .pttday-page .pttday-hero-inner {
        min-height: 640px;
    }

    .pttday-page .pttday-hero {
        background-position: 58% center;
    }

    .pttday-page .pttday-hero-shade {
        background:
            linear-gradient(
                90deg,
                rgba(6,14,20,.97) 0%,
                rgba(6,14,20,.88) 38%,
                rgba(6,14,20,.50) 66%,
                rgba(6,14,20,.15) 100%
            );
    }

    .pttday-page .pttday-hero-copy {
        width: 56%;
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 55px;
    }

    .pttday-page .pttday-hero-script {
        display: none;
    }


    /* FEATURE STRIP */

    .pttday-page .pttday-feature-strip-inner {
        grid-template-columns: 1fr;
    }

    .pttday-page .pttday-feature-strip-art {
        display: none;
    }


    /* PACKAGES */

    .pttday-page .pttday-packages {
        padding: 68px 0 72px;
    }

    .pttday-page .pttday-packages-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .pttday-page .pttday-packages-intro {
        max-width: 760px;
    }

    .pttday-page .pttday-package-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 22px;
    }

    .pttday-page .pttday-package-body {
        min-height: 160px;
        padding: 20px;
    }

    .pttday-page .pttday-package-copy h3 {
        font-size: 20px;
    }


    /* EXPERIENCE */

    .pttday-page .pttday-experience,
    .pttday-page .pttday-experience-inner {

        min-height: 560px;
    }

    .pttday-page .pttday-experience {
        background-position: 62% center;
    }

    .pttday-page .pttday-experience-content {
        width: 75%;
    }

    .pttday-page .pttday-experience-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pttday-page .pttday-experience-item {
        min-height: 145px;
    }


    /* BENEFITS */

    .pttday-page .pttday-benefits {
        padding: 65px 0;
    }

    .pttday-page .pttday-benefits-layout {
        grid-template-columns: 1fr;
    }

    .pttday-page .pttday-benefits-art {
        min-height: 250px;
    }

    .pttday-page .pttday-benefits-art img {
        max-width: 650px;
    }


    /* MOMENTS */

    .pttday-page .pttday-moments-grid {
        grid-template-columns: repeat(3, minmax(0,1fr));
    }


    /* CTA */

    .pttday-page .pttday-final-script {
        display: none;
    }

}


/* ============================================================
   MOBILE ? 767
============================================================ */

@media (max-width: 767px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 38px);
    }


    /* HERO */

    .pttday-page .pttday-hero,
    .pttday-page .pttday-hero-inner {
        min-height: 690px;
    }

    .pttday-page .pttday-hero {
        background-position: 61% center;
    }

    .pttday-page .pttday-hero-shade {
        background:
            linear-gradient(
                90deg,
                rgba(5,13,19,.98) 0%,
                rgba(5,13,19,.91) 52%,
                rgba(5,13,19,.55) 100%
            );
    }

    .pttday-page .pttday-hero-inner {
        align-items: center;
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .pttday-page .pttday-hero-copy {
        width: min(100%, 520px);
    }

    .pttday-page .pttday-eyebrow {
        font-size: 10px;
        letter-spacing: 3.1px;
    }

    .pttday-page .pttday-eyebrow-light b {
        margin: 0 5px;
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: clamp(44px, 12vw, 52px);
        letter-spacing: -2px;
    }

    .pttday-page .pttday-hero-copy h2 {
        margin-top: 20px;
        font-size: 21px;
    }

    .pttday-page .pttday-hero-copy p {
        max-width: 490px;

        font-size: 16px;
        line-height: 1.5;
    }

    .pttday-page .pttday-orange-button {
        min-height: 56px;
        min-width: 230px;

        font-size: 16px;
    }


    /* HERO FEATURE STRIP */

    .pttday-page .pttday-feature-strip-items {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pttday-page .pttday-feature-strip-item {
        min-height: 120px;
    }

    .pttday-page .pttday-feature-strip-item:nth-child(2)::after {
        display: none;
    }

    .pttday-page .pttday-feature-strip-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.15);
    }

    .pttday-page .pttday-feature-strip-item i {
        font-size: 27px;
    }


    /* PACKAGES */

    .pttday-page .pttday-packages {
        padding: 55px 0 60px;
    }

    .pttday-page .pttday-packages-heading h2 {
        font-size: 39px;
    }

    .pttday-page .pttday-packages-intro p {
        font-size: 17px;
    }

    .pttday-page .pttday-package-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 16px;
    }

    .pttday-page .pttday-package-image {
        aspect-ratio: 1.3 / 1;
    }

    .pttday-page .pttday-package-body {
        min-height: 185px;

        grid-template-columns: 1fr;

        padding: 17px;
    }

    .pttday-page .pttday-package-copy h3 {
        font-size: 18px;
    }

    .pttday-page .pttday-package-copy p {
        font-size: 15px;
    }

    .pttday-page .pttday-package-arrow {
        width: 37px;
        height: 37px;
    }


    /* EXPERIENCE */

    .pttday-page .pttday-experience,
    .pttday-page .pttday-experience-inner {
        min-height: 650px;
    }

    .pttday-page .pttday-experience {
        background-position: 68% center;
    }

    .pttday-page .pttday-experience-shade {
        background:
            linear-gradient(
                90deg,
                rgba(7,14,18,.97),
                rgba(7,14,18,.82)
            );
    }

    .pttday-page .pttday-experience-inner {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .pttday-page .pttday-experience-content {
        width: 100%;
    }

    .pttday-page .pttday-experience-heading h2 {
        font-size: 40px;
    }

    .pttday-page .pttday-experience-heading p {
        font-size: 17px;
    }

    .pttday-page .pttday-experience-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
        gap: 11px;
    }


    /* BENEFITS */

    .pttday-page .pttday-benefits {
        padding: 55px 0;
    }

    .pttday-page .pttday-benefits-heading h2 {
        font-size: 39px;
    }

    .pttday-page .pttday-benefits-heading p {
        font-size: 17px;
    }

    .pttday-page .pttday-benefit-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pttday-page .pttday-benefit-item {
        min-height: 135px;
    }

    .pttday-page .pttday-benefit-item:nth-child(2)::after {
        display: none;
    }

    .pttday-page .pttday-benefit-item:nth-child(-n+2) {
        border-bottom: 1px solid #dedbd7;
    }

    .pttday-page .pttday-benefits-art {
        min-height: 180px;
    }


    /* MOMENTS */

    .pttday-page .pttday-moments {
        padding-bottom: 55px;
    }

    .pttday-page .pttday-moments-panel {
        padding: 16px;
    }

    .pttday-page .pttday-moments-grid {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }


    /* FINAL CTA */

    .pttday-page .pttday-final-cta {
        min-height: 480px;

        background-position: center;
    }

    .pttday-page .pttday-final-cta-inner {
        min-height: 330px;

        padding-left: 19px;
        padding-right: 19px;
    }

    .pttday-page .pttday-final-cta-copy h2 {
        font-size: 38px;
    }

    .pttday-page .pttday-final-cta-copy p {
        font-size: 17px;
    }


    /* FINAL STRIP */

    .pttday-page .pttday-final-strip-inner {
        grid-template-columns: 1fr;
    }

    .pttday-page .pttday-final-strip-items {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pttday-page .pttday-final-strip-item {
        min-height: 67px;
    }

    .pttday-page .pttday-final-strip-item:nth-child(2)::after {
        display: none;
    }

    .pttday-page .pttday-final-strip-item:nth-child(-n+2) {
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .pttday-page .pttday-final-strip-brand {
        display: none;
    }

}


/* ============================================================
   MOBILE ? 520
============================================================ */

@media (max-width: 520px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 34px);
    }


    /* HERO */

    .pttday-page .pttday-hero,
    .pttday-page .pttday-hero-inner {
        min-height: 680px;
    }

    .pttday-page .pttday-hero {
        background-position: 64% center;
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 46px;
    }

    .pttday-page .pttday-hero-copy p {
        font-size: 16px;
    }

    .pttday-page .pttday-orange-button {
        width: min(100%, 330px);
    }


    /* PACKAGE 1 COLUMN */

    .pttday-page .pttday-package-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .pttday-page .pttday-package-image {
        aspect-ratio: 1.55 / 1;
    }

    .pttday-page .pttday-package-body {
        min-height: 0;

        grid-template-columns: minmax(0,1fr) 42px;

        padding: 19px;
    }

    .pttday-page .pttday-package-copy h3 {
        font-size: 20px;
    }


    /* BENEFIT ART */

    .pttday-page .pttday-benefits-art {
        min-height: 140px;
    }

}


/* ============================================================
   VERY SMALL MOBILE ? 430
============================================================ */

@media (max-width: 430px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 32px);
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 43px;
    }

    .pttday-page .pttday-hero-copy h2 {
        font-size: 19px;
    }

    .pttday-page .pttday-packages-heading h2,
    .pttday-page .pttday-experience-heading h2,
    .pttday-page .pttday-benefits-heading h2 {
        font-size: 35px;
    }

    .pttday-page .pttday-package-image {
        aspect-ratio: 1.45 / 1;
    }

    .pttday-page .pttday-experience-item {
        min-height: 145px;

        padding: 18px 14px;
    }

    .pttday-page .pttday-experience-item h3 {
        font-size: 15px;
    }

    .pttday-page .pttday-experience-item p {
        font-size: 13px;
    }

    .pttday-page .pttday-final-cta-copy h2 {
        font-size: 35px;
    }

}


/* ============================================================
   VERY SMALL MOBILE ? 390
============================================================ */

@media (max-width: 390px) {

    .pttday-page .pttday-wide {
        width: calc(100% - 30px);
    }

    .pttday-page .pttday-hero,
    .pttday-page .pttday-hero-inner {
        min-height: 700px;
    }

    .pttday-page .pttday-hero-copy h1 {
        font-size: 41px;
    }

    .pttday-page .pttday-feature-strip-item span {
        font-size: 14px;
    }

    .pttday-page .pttday-experience-grid {
        grid-template-columns: 1fr;
    }

    .pttday-page .pttday-experience,
    .pttday-page .pttday-experience-inner {
        min-height: 890px;
    }

    .pttday-page .pttday-experience-item {
        min-height: 125px;
    }

    .pttday-page .pttday-benefit-item {
        padding-left: 12px;
        padding-right: 12px;
    }

    .pttday-page .pttday-benefit-item h3 {
        font-size: 14px;
    }

    .pttday-page .pttday-final-strip-item {
        padding-left: 10px;
        padding-right: 10px;
    }

    .pttday-page .pttday-final-strip-item span {
        font-size: 12px;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

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

    .pttday-page .pttday-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .pttday-page .pttday-package-card,
    .pttday-page .pttday-package-image img,
    .pttday-page .pttday-package-arrow,
    .pttday-page .pttday-experience-item,
    .pttday-page .pttday-moment,
    .pttday-page .pttday-moment img,
    .pttday-page .pttday-orange-button,
    .pttday-page .pttday-orange-button i {
        transition: none;
    }

}


/* =========================================================
   RAJASTHAN TOURS ? UNIQUE HERO CSS
   Background:
   ../images/rajasthan-tours/rajasthan-hero.webp
========================================================= */

.pttrajasthan-hero {
    position: relative;
    width: 100%;
min-height: clamp(520px, 36vw, 640px);
    overflow: hidden;

    font-family: 'Outfit', sans-serif;

    background-color: #fff5df;

    background-image:
        linear-gradient(
            to bottom,
            rgba(255, 248, 232, .94) 0%,
            rgba(255, 248, 232, .80) 20%,
            rgba(255, 248, 232, .52) 38%,
            rgba(255, 248, 232, .15) 56%,
            rgba(255, 248, 232, 0) 72%
        ),
        url('../images/raj-tour-header-bg.webp');

    background-size: cover;
background-position: top;
    background-repeat: no-repeat;

    isolation: isolate;
}


/* =========================================================
   INNER
========================================================= */

.pttrajasthan-hero .pttrajasthan-hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
    min-height: inherit;

   padding: clamp(70px, 5vw, 94px) 4vw clamp(90px, 8vw, 70px);

    box-sizing: border-box;
}


/* =========================================================
   CENTERED CONTENT
========================================================= */

.pttrajasthan-hero .pttrajasthan-hero-content {
    position: relative;
    z-index: 3;

    width: min(92%, 1050px);
    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   EYEBROW
========================================================= */

.pttrajasthan-hero .pttrajasthan-eyebrow {
    margin: 0 0 16px;

    font-family: 'Outfit', sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;

    letter-spacing: 5px;
    text-transform: uppercase;

    color: #c65a20;

    opacity: 0;
    transform: translateY(16px);

    animation:
        pttrajasthanFadeUp .75s cubic-bezier(.22, .61, .36, 1)
        .10s forwards;
}

.pttrajasthan-hero .pttrajasthan-eyebrow span {
    display: inline-block;
    margin: 0 5px;
    color: #c98b52;
}


/* =========================================================
   MAIN HEADING
========================================================= */

.pttrajasthan-hero .pttrajasthan-title {
    padding: 0;
    margin: 0;

    font-family: 'Outfit', sans-serif;
    font-size: clamp(58px, 5vw, 82px);
font-weight: 700;
    line-height: 1.02;

    letter-spacing: -2.5px;

    color: #10213a;

    opacity: 0;
    transform: translateY(22px);

    animation:
        pttrajasthanFadeUp .85s cubic-bezier(.22, .61, .36, 1)
        .24s forwards;
}

.pttrajasthan-hero .pttrajasthan-title-line,
.pttrajasthan-hero .pttrajasthan-title-accent {
    display: block;
}

.pttrajasthan-hero .pttrajasthan-title-line {
    color: #10213a;
}

.pttrajasthan-hero .pttrajasthan-title-accent {
    color: #fb0001;
}


/* =========================================================
   ORNAMENTAL DIVIDER
========================================================= */

.pttrajasthan-hero .pttrajasthan-divider {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 220px;
    max-width: 60%;
    height: 18px;

    margin: 19px auto 11px;
}

.pttrajasthan-hero .pttrajasthan-divider span {
    display: block;

    width: 0;
    height: 1px;

    background: linear-gradient(
        90deg,
        rgba(201, 139, 82, 0),
        #c98b52
    );

    animation:
        pttrajasthanLineExpand .7s ease
        .70s forwards;
}

.pttrajasthan-hero .pttrajasthan-divider span:last-child {
    background: linear-gradient(
        90deg,
        #c98b52,
        rgba(201, 139, 82, 0)
    );
}

.pttrajasthan-hero .pttrajasthan-divider i {
    display: block;

    width: 7px;
    height: 7px;

    margin: 0 11px;

    border: 1px solid #c98b52;

    transform: rotate(45deg) scale(0);

    animation:
        pttrajasthanDiamond .45s ease
        .66s forwards;
}


/* =========================================================
   SUBTITLE
========================================================= */

.pttrajasthan-hero .pttrajasthan-subtitle {
    margin: 0;

    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;

    letter-spacing: 2.5px;
    text-transform: uppercase;

    color: #172236;

    opacity: 0;
    transform: translateY(15px);

    animation:
        pttrajasthanFadeUp .75s cubic-bezier(.22, .61, .36, 1)
        .55s forwards;
}

.pttrajasthan-hero .pttrajasthan-subtitle span {
    display: inline-block;
    margin: 0 7px;

    color: #c98b52;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.pttrajasthan-hero .pttrajasthan-description {
    width: min(100%, 760px);

    margin: 19px auto 0;
    padding: 0;

    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.5;

    color: #000;

    opacity: 0;
    transform: translateY(17px);

    animation:
        pttrajasthanFadeUp .75s cubic-bezier(.22, .61, .36, 1)
        .67s forwards;
}


/* =========================================================
   ACTIONS
========================================================= */

.pttrajasthan-hero .pttrajasthan-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;

    gap: 14px;

    margin-top: 25px;

    opacity: 0;
    transform: translateY(18px);

    animation:
        pttrajasthanFadeUp .8s cubic-bezier(.22, .61, .36, 1)
        .79s forwards;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttrajasthan-hero .pttrajasthan-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 58px;

    padding: 0 33px;

    box-sizing: border-box;

    border-radius: 999px;

    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition:
        transform .3s ease,
        background-color .3s ease,
        border-color .3s ease,
        box-shadow .3s ease,
        color .3s ease;
}

.pttrajasthan-hero .pttrajasthan-btn i {
    margin-left: 13px;
    font-size: 13px;

    transition: transform .3s ease;
}


/* PRIMARY */

.pttrajasthan-hero .pttrajasthan-btn-primary {
    color: #fff;

    background: #f45b16;
    border: 1px solid #f45b16;

    box-shadow:
        0 10px 25px rgba(244, 91, 22, .20);
}

.pttrajasthan-hero .pttrajasthan-btn-primary:hover {
    color: #fff;

    background: #dc4b0d;
    border-color: #dc4b0d;

    transform: translateY(-2px);

    box-shadow:
        0 13px 30px rgba(244, 91, 22, .27);
}


/* SECONDARY */

.pttrajasthan-hero .pttrajasthan-btn-secondary {
    color: #10213a;

    background: rgba(255, 255, 255, .78);

    border: 1px solid rgba(16, 33, 58, .35);

    box-shadow:
        0 8px 22px rgba(16, 33, 58, .07);

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.pttrajasthan-hero .pttrajasthan-btn-secondary:hover {
    color: #10213a;

    background: #fff;

    border-color: rgba(16, 33, 58, .55);

    transform: translateY(-2px);
}


/* BUTTON ARROW */

.pttrajasthan-hero .pttrajasthan-btn:hover i {
    transform: translateX(4px);
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes pttrajasthanFadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pttrajasthanLineExpand {
    from {
        width: 0;
    }

    to {
        width: 88px;
    }
}

@keyframes pttrajasthanDiamond {
    from {
        opacity: 0;
        transform: rotate(45deg) scale(0);
    }

    to {
        opacity: 1;
        transform: rotate(45deg) scale(1);
    }
}


/* =========================================================
   1680PX
========================================================= */

@media (max-width: 1680px) {

    .pttrajasthan-hero {
        min-height: 760px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-top: 78px;
        padding-bottom: 285px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 72px;
    }
}


/* =========================================================
   1440PX
========================================================= */

@media (max-width: 1440px) {

    .pttrajasthan-hero {
        min-height: 720px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-top: 68px;
        padding-bottom: 255px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-content {
        width: min(92%, 940px);
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 66px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        max-width: 730px;
    }
}


/* =========================================================
   1366PX
========================================================= */

@media (max-width: 1366px) {

    .pttrajasthan-hero {
        min-height: 700px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-top: 62px;
        padding-bottom: 235px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 62px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 12px;
        letter-spacing: 4.5px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        font-size: 15px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        font-size: 18px;
    }
}


/* =========================================================
   1280PX
========================================================= */

@media (max-width: 1280px) {

    .pttrajasthan-hero {
        min-height: 700px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-content {
        width: min(92%, 900px);
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 60px;
    }
}


/* =========================================================
   1200PX
========================================================= */

@media (max-width: 1200px) {

    .pttrajasthan-hero {
        min-height: 700px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-top: 60px;
        padding-bottom: 225px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 58px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        width: min(100%, 700px);
    }
}


/* =========================================================
   1024PX
========================================================= */

@media (max-width: 1024px) {

    .pttrajasthan-hero {
        min-height: 700px;

        background-position: center bottom;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding:
            58px
            4vw
            220px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-content {
        width: 90%;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 11px;
        letter-spacing: 4px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 54px;
        letter-spacing: -1.8px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        font-size: 14px;
        letter-spacing: 2px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        width: min(100%, 680px);

        font-size: 17px;
        line-height: 1.5;
    }


    .pttrajasthan-hero .pttrajasthan-btn {
        min-height: 56px;
        padding: 0 27px;
        font-size: 15px;
    }
}


/* =========================================================
   992PX
========================================================= */

@media (max-width: 992px) {

    .pttrajasthan-hero {
        min-height: 700px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 52px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        max-width: 650px;
    }
}


/* =========================================================
   768PX
========================================================= */

@media (max-width: 768px) {

    .pttrajasthan-hero {
        min-height: 720px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding:
            56px
            24px
            210px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-content {
        width: 94%;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        margin-bottom: 14px;

        font-size: 10.5px;
        letter-spacing: 3.3px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 48px;
        line-height: 1.04;

        letter-spacing: -1.4px;
    }

    .pttrajasthan-hero .pttrajasthan-divider {
        width: 190px;

        margin-top: 17px;
        margin-bottom: 10px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        font-size: 13px;
        line-height: 1.5;

        letter-spacing: 1.7px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        margin-top: 17px;

        font-size: 17px;
        line-height: 1.48;
    }

    .pttrajasthan-hero .pttrajasthan-actions {
        margin-top: 23px;
    }

    .pttrajasthan-hero .pttrajasthan-btn {
        min-height: 55px;

        padding: 0 23px;

        font-size: 14px;
    }
}


/* =========================================================
   600PX ? MOBILE
========================================================= */

@media (max-width: 600px) {

    .pttrajasthan-hero {
        min-height: 750px;

        background-image:
            linear-gradient(
                to bottom,
                rgba(255, 248, 232, .97) 0%,
                rgba(255, 248, 232, .88) 28%,
                rgba(255, 248, 232, .56) 48%,
                rgba(255, 248, 232, .10) 68%,
                rgba(255, 248, 232, 0) 78%
            ),
            url('../images/rajasthan-tours/rajasthan-hero-mobile.webp');

        background-position: center bottom;
        background-size: cover;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding:
            58px
            18px
            215px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-content {
        width: 100%;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        margin-bottom: 15px;

        font-size: 10px;
        line-height: 1.5;

        letter-spacing: 3px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow span {
        margin: 0 3px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: clamp(38px, 10vw, 48px);
        line-height: 1.05;

        letter-spacing: -1px;
    }

    .pttrajasthan-hero .pttrajasthan-divider {
        width: 175px;

        margin-top: 17px;
        margin-bottom: 10px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        width: min(100%, 450px);

        margin-inline: auto;

        font-size: 12px;
        line-height: 1.5;

        letter-spacing: 1.5px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle span {
        margin: 0 3px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        width: min(100%, 470px);

        margin-top: 18px;

        font-size: 16px;
        line-height: 1.45;
    }

    .pttrajasthan-hero .pttrajasthan-actions {
        flex-direction: column;

        gap: 12px;

        margin-top: 24px;
    }

    .pttrajasthan-hero .pttrajasthan-btn {
        width: 100%;
        max-width: 330px;

        min-height: 55px;

        padding: 0 22px;

        font-size: 15px;
    }
}


/* =========================================================
   480PX
========================================================= */

@media (max-width: 480px) {

    .pttrajasthan-hero {
        min-height: 750px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding:
            55px
            18px
            205px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 9.5px;
        letter-spacing: 2.4px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 42px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        max-width: 410px;
    }
}


/* =========================================================
   430PX
========================================================= */

@media (max-width: 430px) {

    .pttrajasthan-hero {
        min-height: 760px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding:
            52px
            18px
            200px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 9px;
        letter-spacing: 2.1px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 40px;
        line-height: 1.06;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        max-width: 360px;

        font-size: 11.5px;
        letter-spacing: 1.3px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        max-width: 390px;

        font-size: 16px;
    }

    .pttrajasthan-hero .pttrajasthan-btn {
        max-width: 320px;
    }
}


/* =========================================================
   414PX
========================================================= */

@media (max-width: 414px) {

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 39px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        letter-spacing: 1.9px;
    }
}


/* =========================================================
   390PX
========================================================= */

@media (max-width: 390px) {

    .pttrajasthan-hero {
        min-height: 760px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-left: 16px;
        padding-right: 16px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 38px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 8.8px;
        letter-spacing: 1.7px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        font-size: 15.5px;
    }

    .pttrajasthan-hero .pttrajasthan-btn {
        max-width: 315px;
    }
}


/* =========================================================
   375PX
========================================================= */

@media (max-width: 375px) {

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 37px;
    }

    .pttrajasthan-hero .pttrajasthan-subtitle {
        font-size: 11px;
        letter-spacing: 1.1px;
    }
}


/* =========================================================
   360PX
========================================================= */

@media (max-width: 360px) {

    .pttrajasthan-hero {
        min-height: 760px;
    }

    .pttrajasthan-hero .pttrajasthan-hero-inner {
        padding-top: 50px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .pttrajasthan-hero .pttrajasthan-eyebrow {
        font-size: 8.5px;
        letter-spacing: 1.5px;
    }

    .pttrajasthan-hero .pttrajasthan-title {
        font-size: 36px;
        letter-spacing: -.7px;
    }

    .pttrajasthan-hero .pttrajasthan-divider {
        width: 160px;
    }

    .pttrajasthan-hero .pttrajasthan-description {
        font-size: 15.5px;
    }

    .pttrajasthan-hero .pttrajasthan-btn {
        max-width: 305px;

        min-height: 54px;

        font-size: 14.5px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .pttrajasthan-hero .pttrajasthan-eyebrow,
    .pttrajasthan-hero .pttrajasthan-title,
    .pttrajasthan-hero .pttrajasthan-subtitle,
    .pttrajasthan-hero .pttrajasthan-description,
    .pttrajasthan-hero .pttrajasthan-actions {
        opacity: 1;
        transform: none;
        animation: none;
    }

    .pttrajasthan-hero .pttrajasthan-divider span {
        width: 88px;
        animation: none;
    }

    .pttrajasthan-hero .pttrajasthan-divider i {
        opacity: 1;
        transform: rotate(45deg) scale(1);
        animation: none;
    }

    .pttrajasthan-hero .pttrajasthan-btn,
    .pttrajasthan-hero .pttrajasthan-btn i {
        transition: none;
    }
}


/* ==========================================================
   RAJASTHAN TOURS INNER PAGE
   UNIQUE / ISOLATED STYLES
========================================================== */

.pttraj-page {
  --pttraj-orange: #fb0001;
  --pttraj-navy: #10213a;
  --pttraj-dark: #111719;
  --pttraj-cream: #fff8ee;
  --pttraj-cream-soft: #fffaf5;
  --pttraj-grey: #555b61;
  --pttraj-gold: #c98b52;
  --pttraj-white: #ffffff;

  width: 100%;
  overflow: hidden;
  font-family: 'Outfit', sans-serif;
  background: #ffffff;
  color: var(--pttraj-navy);
}

.pttraj-page * {
  box-sizing: border-box;
}

.pttraj-page .pttraj-wide {
  width: min(94%, 1600px);
  margin-inline: auto;
  position: relative;
  z-index: 2;
}

.pttraj-page .pttraj-eyebrow {
  display: block;
  margin: 0 0 13px;
  color: var(--pttraj-orange);
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 4.5px;
  text-transform: uppercase;
}

.pttraj-page .pttraj-section-head {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(440px, 1fr);
  align-items: end;
  gap: clamp(45px, 7vw, 120px);
  margin-bottom: 38px;
}

.pttraj-page .pttraj-section-title h2,
.pttraj-page .pttraj-comfort-content h2,
.pttraj-page .pttraj-culture-content h2,
.pttraj-page .pttraj-final-content h2 {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  letter-spacing: -1.8px;
}

.pttraj-page .pttraj-section-title h2 {
  max-width: 650px;
  color: var(--pttraj-navy);
  font-size: clamp(40px, 3.5vw, 56px);
  line-height: 1.06;
}

.pttraj-page .pttraj-section-title h2 span {
  display: block;
  color: var(--pttraj-orange);
}

.pttraj-page .pttraj-section-intro {
  max-width: 720px;
  justify-self: end;
}

.pttraj-page .pttraj-section-intro p {
  margin: 0 0 18px;
  color: #000000;
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
}

.pttraj-page .pttraj-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--pttraj-orange);
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
}

.pttraj-page .pttraj-text-link i {
  font-size: 13px;
  transition: transform .3s ease;
}

.pttraj-page .pttraj-text-link:hover i {
  transform: translateX(4px);
}


/* ==========================================================
   01. FEATURE STRIP
========================================================== */

.pttraj-page .pttraj-feature-strip {
  position: relative;
  overflow: hidden;
  background: #fffaf2;
  border-bottom: 1px solid rgba(16,33,58,.08);
}

.pttraj-page .pttraj-feature-grid {
  min-height: 142px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
}

.pttraj-page .pttraj-feature-item {
  min-height: 72px;
  padding: 12px clamp(22px, 2.2vw, 42px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  position: relative;
}

.pttraj-page .pttraj-feature-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 10%;
  width: 1px;
  height: 80%;
  background: rgba(16,33,58,.14);
}

.pttraj-page .pttraj-feature-icon {
  flex: 0 0 auto;
  color: var(--pttraj-orange);
  font-size: 29px;
  line-height: 1;
}

.pttraj-page .pttraj-feature-copy h3 {
  margin: 0 0 5px;
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}

.pttraj-page .pttraj-feature-copy p {
  margin: 0;
  color: #454b51;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  line-height: 1.35;
}

.pttraj-page .pttraj-feature-art {
  position: absolute;
  bottom: 0;
width: clamp(300px, 10vw, 190px);
  max-height: 100%;
  object-fit: contain;
  opacity: .7;
  pointer-events: none;
  z-index: 1;
}

.pttraj-page .pttraj-feature-art-left {
  left: 0;
  object-position: left bottom;
}

.pttraj-page .pttraj-feature-art-right {
  right: 0;
  object-position: right bottom;
}


/* ==========================================================
   02. DESTINATIONS
========================================================== */

.pttraj-page .pttraj-destinations {
  position: relative;
  overflow: hidden;
  padding: clamp(72px, 5.2vw, 90px) 0;
  background:
    radial-gradient(circle at 5% 80%, rgba(241,90,36,.045), transparent 24%),
    radial-gradient(circle at 96% 20%, rgba(201,139,82,.05), transparent 25%),
    #fffdfa;
}

.pttraj-page .pttraj-dest-art {
  position: absolute;
  pointer-events: none;
  opacity: .65;
  z-index: 0;
  width: clamp(130px, 14vw, 250px);
}

.pttraj-page .pttraj-dest-art-left {
  left: 0;
  bottom: 0;
}

.pttraj-page .pttraj-dest-art-right {
  right: 0;
  top: 35px;
}

.pttraj-page .pttraj-destination-grid,
.pttraj-page .pttraj-tour-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.pttraj-page .pttraj-destination-card,
.pttraj-page .pttraj-tour-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(16,33,58,.10);
  border-radius: 11px;
  background: #ffffff;
  box-shadow: 0 9px 26px rgba(14,27,43,.07);
  transition:
    transform .4s ease,
    box-shadow .4s ease;
}

.pttraj-page .pttraj-destination-card:hover,
.pttraj-page .pttraj-tour-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 38px rgba(14,27,43,.12);
}

.pttraj-page .pttraj-destination-link,
.pttraj-page .pttraj-tour-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.pttraj-page .pttraj-destination-image {
  overflow: hidden;
  background: #e9e4de;
}

.pttraj-page .pttraj-destination-image img,
.pttraj-page .pttraj-tour-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .45s ease;
}

.pttraj-page .pttraj-destination-card:hover .pttraj-destination-image img,
.pttraj-page .pttraj-tour-card:hover .pttraj-tour-image img {
  transform: scale(1.035);
}

.pttraj-page .pttraj-destination-body {
  min-height: 120px;
  padding: 19px 18px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.pttraj-page .pttraj-destination-text {
  flex: 1 1 auto;
  min-width: 0;
}

.pttraj-page .pttraj-destination-text h3 {
  margin: 0 0 7px;
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 700;
}

.pttraj-page .pttraj-destination-text p {
  margin: 0;
  color: #343a40;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
}

.pttraj-page .pttraj-circle-arrow {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #ffffff;
  background: var(--pttraj-orange);
  font-size: 13px;
  transition: transform .3s ease;
}

.pttraj-page .pttraj-destination-card:hover .pttraj-circle-arrow,
.pttraj-page .pttraj-tour-card:hover .pttraj-circle-arrow {
  transform: translateX(3px);
}


/* ==========================================================
   03. TRAVEL IN COMFORT
========================================================== */

.pttraj-page .pttraj-comfort {
  position: relative;
  min-height: clamp(430px, 31vw, 500px);
  overflow: hidden;
  display: flex;
  align-items: center;
  background: #f6e7d4;
}

.pttraj-page .pttraj-comfort-bg {
  position: absolute;
  inset: 0;
  background-image: url("../images/raj-tour-crysta.webp");
  background-size: cover;
background-position: bottom;
  background-repeat: no-repeat;
}

.pttraj-page .pttraj-comfort-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(255,248,238,.98) 0%,
    rgba(255,248,238,.94) 31%,
    rgba(255,248,238,.74) 48%,
    rgba(255,248,238,.16) 67%,
    rgba(255,248,238,0) 80%
  );
}

.pttraj-page .pttraj-comfort-inner {
  min-height: inherit;
  display: flex;
  align-items: center;
  padding-block: 54px;
}

.pttraj-page .pttraj-comfort-content {
  width: min(53%, 760px);
}

.pttraj-page .pttraj-comfort-content h2 {
  margin-bottom: 18px;
  color: var(--pttraj-navy);
  font-size: clamp(40px, 3.4vw, 55px);
  line-height: 1.06;
}

.pttraj-page .pttraj-comfort-content h2 span {
  display: block;
  color: var(--pttraj-orange);
}

.pttraj-page .pttraj-comfort-content > p {
  max-width: 690px;
  margin: 0;
  color: #000000;
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.pttraj-page .pttraj-comfort-content > p strong {
  display: block;
  margin-top: 4px;
  color: var(--pttraj-navy);
  font-weight: 700;
}

.pttraj-page .pttraj-comfort-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 27px;
}

.pttraj-page .pttraj-comfort-feature {
  min-height: 112px;
  padding: 17px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 11px;
  text-align: center;
  border: 1px solid rgba(16,33,58,.10);
  border-radius: 8px;
  background: rgba(255,255,255,.91);
  box-shadow: 0 8px 20px rgba(16,33,58,.07);
}

.pttraj-page .pttraj-comfort-feature i {
  color: var(--pttraj-orange);
  font-size: 28px;
}

.pttraj-page .pttraj-comfort-feature span {
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}


/* ==========================================================
   04. TOUR TYPES
========================================================== */

.pttraj-page .pttraj-tour-types {
  position: relative;
  padding: clamp(72px, 5.2vw, 90px) 0;
  background: #fffdfa;
}

.pttraj-page .pttraj-tour-image {
  height: clamp(185px, 14vw, 240px);
  overflow: hidden;
  background: #ece7e1;
}

.pttraj-page .pttraj-tour-body {
  min-height: 145px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
}

.pttraj-page .pttraj-tour-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.pttraj-page .pttraj-tour-copy h3 {
  margin: 0 0 6px;
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 19px;
  line-height: 1.25;
  font-weight: 700;
}

.pttraj-page .pttraj-tour-copy p {
  margin: 0 0 7px;
  color: #40464c;
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1.4;
}

.pttraj-page .pttraj-tour-copy strong {
  display: block;
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}


/* ==========================================================
   05. CULTURE & EXPERIENCES
========================================================== */

.pttraj-page .pttraj-culture {
  position: relative;
  min-height: clamp(340px, 27vw, 410px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background-color: #171615;
  background-image: url("../images/raj-culture-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pttraj-page .pttraj-culture-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(7,11,14,.92) 0%,
    rgba(7,11,14,.82) 30%,
    rgba(7,11,14,.52) 48%,
    rgba(7,11,14,.12) 70%,
    rgba(7,11,14,0) 85%
  );
}

.pttraj-page .pttraj-culture-inner {
  min-height: inherit;
  display: flex;
  align-items: center;
  padding-block: 55px;
}

.pttraj-page .pttraj-culture-content {
  width: min(48%, 680px);
}

.pttraj-page .pttraj-culture-content h2 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: clamp(40px, 3.4vw, 55px);
  line-height: 1.06;
}

.pttraj-page .pttraj-culture-content h2 span {
  display: block;
  color: var(--pttraj-orange);
}

.pttraj-page .pttraj-culture-content p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.94);
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
}


/* ==========================================================
   06. TESTIMONIALS
========================================================== */

.pttraj-page .pttraj-stories {
  padding: clamp(66px, 4.8vw, 82px) 0;
  background: #fffdfa;
}

.pttraj-page .pttraj-stories-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 34px;
}

.pttraj-page .pttraj-stories-head .pttraj-section-title h2 {
  font-size: clamp(36px, 3vw, 48px);
}

.pttraj-page .pttraj-stories-head > p {
  max-width: 600px;
  margin: 0 0 4px;
  color: #000000;
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.pttraj-page .pttraj-testimonial-carousel {
  position: relative;
  padding-inline: 58px;
}

.pttraj-page .pttraj-testimonial-viewport {
  width: 100%;
  overflow: hidden;
}

.pttraj-page .pttraj-testimonial-track {
  display: flex;
  margin-inline: -10px;
  transform: translate3d(0,0,0);
  transition: transform .62s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}

.pttraj-page .pttraj-testimonial-slide {
  flex: 0 0 33.333333%;
  min-width: 0;
  padding-inline: 10px;
}

.pttraj-page .pttraj-testimonial-card {
  height: 100%;
  min-height: 230px;
  padding: 25px 26px 23px;
  border: 1px solid rgba(16,33,58,.09);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(16,33,58,.07);
}

.pttraj-page .pttraj-testimonial-top {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 16px;
}

.pttraj-page .pttraj-testimonial-avatar {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--pttraj-orange);
  background: #fff0e8;
  font-size: 20px;
}

.pttraj-page .pttraj-testimonial-person h3 {
  margin: 0 0 2px;
  color: var(--pttraj-navy);
  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}

.pttraj-page .pttraj-testimonial-person span {
  color: #70767d;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
}

.pttraj-page .pttraj-testimonial-card > p {
  margin: 0 0 15px;
  color: #262b30;
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

.pttraj-page .pttraj-stars {
  display: flex;
  gap: 4px;
  color: #ff9b13;
  font-size: 14px;
}

.pttraj-page .pttraj-testimonial-arrow {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(16,33,58,.13);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pttraj-navy);
  background: #ffffff;
  box-shadow: 0 7px 20px rgba(16,33,58,.09);
  cursor: pointer;
  transform: translateY(-50%);
  transition:
    color .25s ease,
    background .25s ease,
    border-color .25s ease,
    transform .25s ease;
}

.pttraj-page .pttraj-testimonial-prev {
  left: 0;
}

.pttraj-page .pttraj-testimonial-next {
  right: 0;
}

.pttraj-page .pttraj-testimonial-arrow:hover {
  color: #ffffff;
  border-color: var(--pttraj-orange);
  background: var(--pttraj-orange);
}

.pttraj-page .pttraj-testimonial-prev:hover {
  transform: translateY(-50%) translateX(-2px);
}

.pttraj-page .pttraj-testimonial-next:hover {
  transform: translateY(-50%) translateX(2px);
}


/* ==========================================================
   07. FINAL CTA
========================================================== */

.pttraj-page .pttraj-final-cta {
  position: relative;
  min-height: clamp(360px, 29vw, 440px);
  overflow: hidden;
  display: flex;
  align-items: center;
  background-color: #15253a;
  background-image: url("../images/raj-culture.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pttraj-page .pttraj-final-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(7,18,32,.30),
    rgba(7,18,32,.55) 37%,
    rgba(7,18,32,.58) 63%,
    rgba(7,18,32,.28)
  );
}

.pttraj-page .pttraj-final-inner {
  min-height: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 55px;
}

.pttraj-page .pttraj-final-content {
  width: min(760px, 72%);
  margin-inline: auto;
  text-align: center;
}

.pttraj-page .pttraj-final-content h2 {
  margin-bottom: 17px;
  color: #ffffff;
  font-size: clamp(40px, 3.5vw, 56px);
  line-height: 1.05;
}

.pttraj-page .pttraj-final-content h2 span {
  display: block;
  color: var(--pttraj-orange);
}

.pttraj-page .pttraj-final-content p {
  max-width: 690px;
  margin: 0 auto 26px;
  color: rgba(255,255,255,.95);
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
}

.pttraj-page .pttraj-main-cta {
  min-width: 280px;
  min-height: 57px;
  padding: 15px 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border-radius: 999px;
  color: #ffffff;
  background: var(--pttraj-orange);
  box-shadow: 0 9px 24px rgba(241,90,36,.20);
  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
  text-decoration: none;
  transition:
    transform .28s ease,
    box-shadow .28s ease;
}

.pttraj-page .pttraj-main-cta i {
  transition: transform .28s ease;
}

.pttraj-page .pttraj-main-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 13px 30px rgba(241,90,36,.28);
}

.pttraj-page .pttraj-main-cta:hover i {
  transform: translateX(4px);
}


/* ==========================================================
   REVEAL
========================================================== */

.pttraj-page .pttraj-reveal {
  opacity: 0;
  transform: translate3d(0, 25px, 0);
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.2,.65,.3,1);
}

.pttraj-page .pttraj-reveal.pttraj-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
}


/* ==========================================================
   1200 - 1399
========================================================== */

@media (max-width: 1399px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 76px);
  }

  .pttraj-page .pttraj-destination-grid,
  .pttraj-page .pttraj-tour-grid {
    gap: 18px;
  }

  .pttraj-page .pttraj-destination-image {
    height: 205px;
  }

  .pttraj-page .pttraj-tour-image {
    height: 195px;
  }

  .pttraj-page .pttraj-feature-item {
    padding-inline: 18px;
  }

  .pttraj-page .pttraj-feature-copy h3 {
    font-size: 16px;
  }

}


/* ==========================================================
   TABLET / SMALL LAPTOP
========================================================== */

@media (max-width: 1100px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 52px);
  }

  .pttraj-page .pttraj-section-head {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .pttraj-page .pttraj-feature-grid {
    grid-template-columns: repeat(2, 1fr);
    padding-block: 15px;
  }

  .pttraj-page .pttraj-feature-item {
    min-height: 92px;
  }

  .pttraj-page .pttraj-feature-item:nth-child(2)::after {
    display: none;
  }

  .pttraj-page .pttraj-feature-item:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16,33,58,.10);
  }

  .pttraj-page .pttraj-destination-grid,
  .pttraj-page .pttraj-tour-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .pttraj-page .pttraj-destination-image,
  .pttraj-page .pttraj-tour-image {
    height: 260px;
  }

  .pttraj-page .pttraj-comfort-content {
    width: 61%;
  }

  .pttraj-page .pttraj-comfort-overlay {
    background: linear-gradient(
      90deg,
      rgba(255,248,238,.98) 0%,
      rgba(255,248,238,.94) 40%,
      rgba(255,248,238,.72) 60%,
      rgba(255,248,238,.10) 85%
    );
  }

}


/* ==========================================================
   TABLET <= 900
========================================================== */

@media (max-width: 900px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 42px);
  }

  .pttraj-page .pttraj-section-head {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .pttraj-page .pttraj-section-intro {
    max-width: 760px;
    justify-self: start;
  }

  .pttraj-page .pttraj-comfort {
    min-height: 660px;
    align-items: flex-start;
  }

  .pttraj-page .pttraj-comfort-bg {
    background-position: 62% center;
  }

  .pttraj-page .pttraj-comfort-overlay {
    background: linear-gradient(
      90deg,
      rgba(255,248,238,.98) 0%,
      rgba(255,248,238,.94) 52%,
      rgba(255,248,238,.50) 75%,
      rgba(255,248,238,.12) 100%
    );
  }

  .pttraj-page .pttraj-comfort-content {
    width: 70%;
  }

  .pttraj-page .pttraj-comfort-features {
    grid-template-columns: repeat(2, 1fr);
    max-width: 500px;
  }

  .pttraj-page .pttraj-culture {
    min-height: 460px;
  }

  .pttraj-page .pttraj-culture-content {
    width: 62%;
  }

  .pttraj-page .pttraj-testimonial-slide {
    flex-basis: 50%;
  }

  .pttraj-page .pttraj-stories-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
  }

}


/* ==========================================================
   MOBILE <= 767
========================================================== */

@media (max-width: 767px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 38px);
  }

  .pttraj-page .pttraj-eyebrow {
    margin-bottom: 11px;
    font-size: 11px;
    letter-spacing: 3.3px;
  }

  .pttraj-page .pttraj-section-title h2 {
    font-size: clamp(34px, 9vw, 42px);
    letter-spacing: -1px;
  }

  .pttraj-page .pttraj-section-intro p {
    font-size: 17px;
  }


  /* Feature Strip */

  .pttraj-page .pttraj-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-block: 10px;
  }

  .pttraj-page .pttraj-feature-item {
    min-height: 115px;
    padding: 16px 10px;
    flex-direction: column;
    gap: 9px;
    text-align: center;
  }

  .pttraj-page .pttraj-feature-item:nth-child(odd)::after {
    display: block;
    top: 15%;
    height: 70%;
  }

  .pttraj-page .pttraj-feature-item:nth-child(even)::after {
    display: none;
  }

  .pttraj-page .pttraj-feature-icon {
    font-size: 25px;
  }

  .pttraj-page .pttraj-feature-copy h3 {
    font-size: 15px;
  }

  .pttraj-page .pttraj-feature-copy p {
    font-size: 12px;
  }


  /* Destinations */

  .pttraj-page .pttraj-destinations,
  .pttraj-page .pttraj-tour-types,
  .pttraj-page .pttraj-stories {
    padding-block: 58px;
  }

  .pttraj-page .pttraj-section-head {
    margin-bottom: 30px;
  }

  .pttraj-page .pttraj-destination-grid,
  .pttraj-page .pttraj-tour-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .pttraj-page .pttraj-destination-image,
  .pttraj-page .pttraj-tour-image {
    height: clamp(220px, 59vw, 320px);
  }

  .pttraj-page .pttraj-destination-body {
    min-height: 108px;
  }

  .pttraj-page .pttraj-destination-text h3 {
    font-size: 20px;
  }

  .pttraj-page .pttraj-destination-text p {
    font-size: 15px;
  }


  /* Comfort */

  .pttraj-page .pttraj-comfort {
    min-height: 720px;
  }

  .pttraj-page .pttraj-comfort-bg {
    background-position: 66% center;
  }

  .pttraj-page .pttraj-comfort-overlay {
    background: linear-gradient(
      180deg,
      rgba(255,248,238,.99) 0%,
      rgba(255,248,238,.96) 49%,
      rgba(255,248,238,.72) 68%,
      rgba(255,248,238,.12) 100%
    );
  }

  .pttraj-page .pttraj-comfort-inner {
    align-items: flex-start;
    padding-block: 55px;
  }

  .pttraj-page .pttraj-comfort-content {
    width: 100%;
  }

  .pttraj-page .pttraj-comfort-content h2 {
    font-size: clamp(34px, 9vw, 42px);
  }

  .pttraj-page .pttraj-comfort-content > p {
    font-size: 17px;
  }

  .pttraj-page .pttraj-comfort-features {
    width: 100%;
    max-width: 520px;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }


  /* Tours */

  .pttraj-page .pttraj-tour-body {
    min-height: 135px;
  }

  .pttraj-page .pttraj-tour-copy h3 {
    font-size: 20px;
  }


  /* Culture */

  .pttraj-page .pttraj-culture {
    min-height: 540px;
    background-position: 63% center;
  }

  .pttraj-page .pttraj-culture-overlay {
    background: linear-gradient(
      90deg,
      rgba(7,11,14,.96) 0%,
      rgba(7,11,14,.88) 48%,
      rgba(7,11,14,.46) 76%,
      rgba(7,11,14,.18) 100%
    );
  }

  .pttraj-page .pttraj-culture-content {
    width: 78%;
  }

  .pttraj-page .pttraj-culture-content h2 {
    font-size: clamp(34px, 9vw, 42px);
  }

  .pttraj-page .pttraj-culture-content p {
    font-size: 17px;
  }


  /* Testimonials */

  .pttraj-page .pttraj-stories-head > p {
    font-size: 17px;
  }

  .pttraj-page .pttraj-testimonial-carousel {
    padding-inline: 0;
    padding-bottom: 62px;
  }

  .pttraj-page .pttraj-testimonial-slide {
    flex-basis: 100%;
    padding-inline: 6px;
  }

  .pttraj-page .pttraj-testimonial-track {
    margin-inline: -6px;
  }

  .pttraj-page .pttraj-testimonial-arrow {
    top: auto;
    bottom: 0;
    transform: none;
  }

  .pttraj-page .pttraj-testimonial-prev {
    left: calc(50% - 52px);
  }

  .pttraj-page .pttraj-testimonial-next {
    right: calc(50% - 52px);
  }

  .pttraj-page .pttraj-testimonial-prev:hover,
  .pttraj-page .pttraj-testimonial-next:hover {
    transform: translateY(-2px);
  }


  /* CTA */

  .pttraj-page .pttraj-final-cta {
    min-height: 460px;
  }

  .pttraj-page .pttraj-final-content {
    width: 100%;
  }

  .pttraj-page .pttraj-final-content h2 {
    font-size: clamp(34px, 9vw, 42px);
  }

  .pttraj-page .pttraj-final-content p {
    font-size: 17px;
  }

  .pttraj-page .pttraj-main-cta {
    width: min(100%, 330px);
    min-width: 0;
  }

}


/* ==========================================================
   SMALL MOBILE <= 480
========================================================== */

@media (max-width: 480px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 34px);
  }

  .pttraj-page .pttraj-destinations,
  .pttraj-page .pttraj-tour-types,
  .pttraj-page .pttraj-stories {
    padding-block: 52px;
  }

  .pttraj-page .pttraj-section-title h2,
  .pttraj-page .pttraj-comfort-content h2,
  .pttraj-page .pttraj-culture-content h2,
  .pttraj-page .pttraj-final-content h2 {
    font-size: 34px;
    line-height: 1.08;
  }

  .pttraj-page .pttraj-section-intro p,
  .pttraj-page .pttraj-comfort-content > p,
  .pttraj-page .pttraj-culture-content p,
  .pttraj-page .pttraj-final-content p,
  .pttraj-page .pttraj-stories-head > p {
    font-size: 16px;
    line-height: 1.45;
  }

  .pttraj-page .pttraj-feature-item {
    min-height: 120px;
    padding-inline: 7px;
  }

  .pttraj-page .pttraj-feature-copy h3 {
    font-size: 14px;
  }

  .pttraj-page .pttraj-feature-copy p {
    font-size: 11px;
  }

  .pttraj-page .pttraj-destination-image,
  .pttraj-page .pttraj-tour-image {
    height: 230px;
  }

  .pttraj-page .pttraj-destination-body,
  .pttraj-page .pttraj-tour-body {
    padding: 17px 15px;
  }

  .pttraj-page .pttraj-circle-arrow {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  .pttraj-page .pttraj-comfort {
    min-height: 740px;
  }

  .pttraj-page .pttraj-comfort-feature {
    min-height: 105px;
    padding-inline: 6px;
  }

  .pttraj-page .pttraj-comfort-feature span {
    font-size: 13px;
  }

  .pttraj-page .pttraj-culture {
    min-height: 530px;
    background-position: 60% center;
  }

  .pttraj-page .pttraj-culture-content {
    width: 92%;
  }

  .pttraj-page .pttraj-testimonial-card {
    min-height: 245px;
    padding: 22px 20px;
  }

  .pttraj-page .pttraj-final-cta {
    min-height: 470px;
    background-position: center;
  }

}


/* ==========================================================
   VERY SMALL MOBILE <= 380
========================================================== */

@media (max-width: 380px) {

  .pttraj-page .pttraj-wide {
    width: calc(100% - 32px);
  }

  .pttraj-page .pttraj-feature-copy h3 {
    font-size: 13px;
  }

  .pttraj-page .pttraj-comfort-features {
    grid-template-columns: 1fr 1fr;
  }

  .pttraj-page .pttraj-comfort-feature {
    min-height: 102px;
  }

  .pttraj-page .pttraj-destination-image,
  .pttraj-page .pttraj-tour-image {
    height: 215px;
  }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

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

  .pttraj-page .pttraj-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .pttraj-page .pttraj-testimonial-track,
  .pttraj-page .pttraj-destination-image img,
  .pttraj-page .pttraj-tour-image img,
  .pttraj-page .pttraj-main-cta,
  .pttraj-page .pttraj-circle-arrow {
    transition: none !important;
  }

}

/* ==========================================================
   INDIA TOURS
   FULLY ISOLATED PAGE CSS
   PREFIX: pttindia-
========================================================== */

.pttindia-page {
  --pttindia-navy: #10213a;
  --pttindia-orange: #fb0001;
  --pttindia-orange-dark: #dc4918;
  --pttindia-cream: #fff9f0;
  --pttindia-ivory: #fffdf8;
  --pttindia-beige: #d8ad7a;
  --pttindia-white: #ffffff;

  width: 100%;
  overflow: hidden;
  color: var(--pttindia-navy);
  background: var(--pttindia-cream);
  font-family: 'Outfit', sans-serif;
}

.pttindia-page * {
  box-sizing: border-box;
}

.pttindia-page .pttindia-wide {
  position: relative;
  z-index: 3;
  width: min(92vw, 1600px);
  margin-inline: auto;
}


/* ==========================================================
   COMMON
========================================================== */

.pttindia-page .pttindia-eyebrow {
  display: block;
  margin: 0 0 15px;
  color: #9a542c;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.pttindia-page .pttindia-primary-cta {
  min-height: 56px;
  padding: 0 31px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;

  border-radius: 999px;

  color: #ffffff;
  background: var(--pttindia-orange);

  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;

  box-shadow: 0 10px 25px rgba(241, 90, 36, .18);

  transition:
    transform .35s ease,
    background .35s ease,
    box-shadow .35s ease;
}

.pttindia-page .pttindia-primary-cta i {
  font-size: 13px;
  transition: transform .35s ease;
}

.pttindia-page .pttindia-primary-cta:hover {
  color: #ffffff;
  background: var(--pttindia-orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(241, 90, 36, .25);
}

.pttindia-page .pttindia-primary-cta:hover i {
  transform: translateX(4px);
}


/* ==========================================================
   01. TOP FEATURE STRIP
========================================================== */

.pttindia-page .pttindia-features {
  position: relative;
  z-index: 10;
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      #fff9ef 0%,
      #fffdf8 48%,
      #fff9ef 100%
    );
  border-bottom: 1px solid rgba(16, 33, 58, .10);
}

.pttindia-page .pttindia-features-grid {
  min-height: 128px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: center;
}

.pttindia-page .pttindia-feature {
  position: relative;
  min-height: 82px;
  padding: 8px 25px;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  text-align: center;
}

.pttindia-page .pttindia-feature:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 8px;

  width: 1px;
  height: calc(100% - 16px);

  background: rgba(16, 33, 58, .17);
}

.pttindia-page .pttindia-feature-icon {
  height: 35px;
  margin-bottom: 7px;

  display: flex;
  align-items: center;
  justify-content: center;

  color: var(--pttindia-orange);
  font-size: 27px;
}

.pttindia-page .pttindia-feature h3 {
  margin: 0 0 3px;

  color: var(--pttindia-navy);

  font-family: 'Outfit', sans-serif;
  font-size: 16px;
  line-height: 1.25;
  font-weight: 700;
}

.pttindia-page .pttindia-feature p {
  margin: 0;

  color: #3d4752;

  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 400;
}

.pttindia-page .pttindia-features-art {
  position: absolute;
  bottom: 0;
  z-index: 1;

  width: clamp(110px, 12vw, 220px);
  max-height: 100%;

  object-fit: contain;

  opacity: .75;
  pointer-events: none;
}

.pttindia-page .pttindia-features-art-left {
  left: 0;
  object-position: left bottom;
}

.pttindia-page .pttindia-features-art-right {
  right: 0;
  object-position: right bottom;
}


/* ==========================================================
   02. INDIA HERO
========================================================== */

.pttindia-page .pttindia-hero {
  position: relative;
  isolation: isolate;

  min-height: clamp(650px, 45vw, 760px);

  display: flex;
  align-items: center;

  overflow: hidden;

  background-color: #d6b586;
  background-image:
    url("../images/india-tour-bg.webp");

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.pttindia-page .pttindia-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    90deg,
    rgba(255, 245, 222, .98) 0%,
    rgba(255, 245, 222, .90) 30%,
    rgba(255, 245, 222, .58) 52%,
    rgba(255, 245, 222, .18) 72%,
    rgba(255, 245, 222, 0) 88%
  );
}

.pttindia-page .pttindia-hero-word {
  position: absolute;
  z-index: 0;

  left: 50%;
  top: 48%;

  width: 100%;

  color: rgba(255, 253, 239, .72);

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(230px, 34vw, 570px);
  font-weight: 500;
  line-height: .72;
  letter-spacing: -22px;
  text-align: center;

  white-space: nowrap;

  transform: translate(-50%, -50%);

  pointer-events: none;
  user-select: none;
}

.pttindia-page .pttindia-hero-inner {
  min-height: inherit;

  display: flex;
  align-items: center;

  padding-top: 65px;
  padding-bottom: 55px;
}

.pttindia-page .pttindia-hero-content {
  position: relative;
  z-index: 4;

  width: min(46%, 650px);
  margin-top: 110px;
}

.pttindia-page .pttindia-hero-content h1 {
  margin: 0 0 20px;

  color: var(--pttindia-navy);

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(64px, 5vw, 82px);
  line-height: .90;
  letter-spacing: -2.5px;
  font-weight: 600;
}

.pttindia-page .pttindia-hero-content h1 > span {
  display: block;
}

.pttindia-page .pttindia-hero-content h1 em {
  color: var(--pttindia-orange);
  font-style: normal;
}

.pttindia-page .pttindia-hero-content p {
  max-width: 630px;
  margin: 0 0 25px;

  color: #111111;

  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
}


/* ==========================================================
   03. PACKAGES MASTER AREA
========================================================== */

.pttindia-page .pttindia-packages {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: 58px 0 70px;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(216, 173, 122, .055),
      transparent 26%
    ),
    radial-gradient(
      circle at 85% 75%,
      rgba(241, 90, 36, .035),
      transparent 27%
    ),
    #fffaf3;
}

.pttindia-page .pttindia-packages-art {
  position: absolute;
  z-index: 0;

  width: clamp(160px, 17vw, 330px);

  opacity: .12;
  pointer-events: none;
}

.pttindia-page .pttindia-packages-art-left {
  left: 0;
  top: 90px;
}

.pttindia-page .pttindia-packages-art-right {
  right: 0;
  top: 100px;
}

.pttindia-page .pttindia-packages-head {
  position: relative;
  z-index: 2;

  max-width: 900px;
  margin: 0 auto 46px;

  text-align: center;
}

.pttindia-page .pttindia-packages-eyebrow {
  margin-bottom: 9px;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
}

.pttindia-page .pttindia-packages-eyebrow span {
  width: 46px;
  height: 1px;
  background: #b98259;
}

.pttindia-page .pttindia-packages-eyebrow b {
  color: #9c6039;

  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.pttindia-page .pttindia-packages-head h2 {
  margin: 0 0 9px;

  color: var(--pttindia-navy);

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(48px, 4vw, 64px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -1.7px;
}

.pttindia-page .pttindia-packages-head h2 em {
  color: var(--pttindia-orange);
  font-style: normal;
}

.pttindia-page .pttindia-packages-head p {
  margin: 0;

  color: #30353a;

  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  line-height: 1.4;
}


/* ==========================================================
   PACKAGE ROWS
========================================================== */

.pttindia-page .pttindia-package {
  position: relative;
  z-index: 2;

  min-height: 280px;

  display: grid;
  grid-template-columns: minmax(0, 43%) minmax(0, 57%);
  align-items: center;

  margin: -3px 0;

  border-bottom: 1px solid rgba(190, 143, 94, .10);
  padding-bottom: 80px;
}

.pttindia-page .pttindia-package-image-first {
  grid-template-columns: minmax(0, 57%) minmax(0, 43%);
}


/* ==========================================================
   PACKAGE CONTENT
========================================================== */

.pttindia-page .pttindia-package-content {
  position: relative;

  min-width: 0;
  min-height: 250px;

  padding: 35px clamp(30px, 3.4vw, 60px);

  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 21px;
}

.pttindia-page .pttindia-package-number {
  align-self: start;

  margin-top: 16px;

  color: #fb0001;

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(70px, 5.4vw, 92px);
  line-height: .85;
  font-weight: 400;
  letter-spacing: -4px;
}

.pttindia-page .pttindia-package-copy {
  min-width: 0;
}

.pttindia-page .pttindia-package-label {
  display: block;
  margin: 0 0 9px;

  color: var(--pttindia-orange);

  font-family: 'Outfit', sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
}

.pttindia-page .pttindia-package-copy h3 {
  margin: 0 0 11px;

  color: var(--pttindia-navy);

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(34px, 3vw, 48px);
  line-height: 1.02;
  font-weight: 600;
  letter-spacing: -1.1px;
}

.pttindia-page .pttindia-package-copy p {
  max-width: 490px;
  margin: 0;

  color: #111111;

  font-family: 'Outfit', sans-serif;
  font-size: 17px;
  line-height: 1.4;
  font-weight: 400;
}

.pttindia-page .pttindia-package-arrow {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  color: #ffffff;
  background: var(--pttindia-orange);

  font-size: 14px;
  text-decoration: none;

  box-shadow: 0 8px 18px rgba(241, 90, 36, .16);

  transition:
    transform .35s ease,
    background .35s ease,
    box-shadow .35s ease;
}

.pttindia-page .pttindia-package-arrow:hover {
  color: #ffffff;
  background: var(--pttindia-orange-dark);
  transform: translateX(4px);

  box-shadow: 0 10px 22px rgba(241, 90, 36, .25);
}


/* ==========================================================
   PACKAGE IMAGES
========================================================== */

.pttindia-page .pttindia-package-image {
  position: relative;

  width: 100%;
  height: 455px;

  display: block;
  overflow: hidden;

  text-decoration: none;




  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;
}

.pttindia-page .pttindia-package-image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;

  transform: scale(1.002);

  transition: transform .45s ease;
  object-position: top;
}

.pttindia-page .pttindia-package-image:hover img {
  transform: scale(1.02);
}


/* alternate organic edges if mask image is absent */



/* ==========================================================
   FINAL CTA
========================================================== */

.pttindia-page .pttindia-final-cta {
  position: relative;
  isolation: isolate;

  min-height: clamp(390px, 29vw, 450px);

  display: flex;
  align-items: center;

  overflow: hidden;

  background-color: #12243a;
  background-image:
    url("../images/golden-triangle-main.webp");

  background-size: cover;
background-position: unset;
  background-repeat: no-repeat;
}

.pttindia-page .pttindia-final-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;

  background:
    linear-gradient(
      90deg,
      rgba(7, 20, 38, .90) 0%,
      rgba(7, 20, 38, .76) 29%,
      rgba(7, 20, 38, .40) 51%,
      rgba(7, 20, 38, .08) 74%,
      rgba(7, 20, 38, 0) 100%
    );
}

.pttindia-page .pttindia-final-inner {
  min-height: inherit;

  display: flex;
  align-items: center;

  padding-block: 55px;
}

.pttindia-page .pttindia-final-content {
  position: relative;
  z-index: 3;

  width: min(53%, 720px);
}

.pttindia-page .pttindia-final-eyebrow {
  display: block;
  margin: 0 0 12px;

  color: #ffffff;

  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 5px;
  text-transform: uppercase;
}

.pttindia-page .pttindia-final-content h2 {
  margin: 0 0 16px;

  color: #ffffff;

   font-family: var(--ptt-font-main) !important;
  font-size: clamp(52px, 5vw, 76px);
  line-height: .95;
  font-weight: 600;
  letter-spacing: -1.7px;
}

.pttindia-page .pttindia-final-content h2 em {
  color: var(--pttindia-orange);
  font-style: normal;
}

.pttindia-page .pttindia-final-content p {
  margin: 0 0 25px;

  color: rgba(255, 255, 255, .95);

  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
}

.pttindia-page .pttindia-final-button {
  min-width: 190px;
}


/* ==========================================================
   SCROLL REVEALS
========================================================== */

.pttindia-page .pttindia-reveal,
.pttindia-page .pttindia-package-reveal-left,
.pttindia-page .pttindia-package-reveal-right {
  opacity: 0;

  transition:
    opacity .78s ease,
    transform .78s cubic-bezier(.2, .7, .3, 1);
}

.pttindia-page .pttindia-reveal {
  transform: translate3d(0, 26px, 0);
}

.pttindia-page .pttindia-package-reveal-left {
  transform: translate3d(-24px, 18px, 0);
}

.pttindia-page .pttindia-package-reveal-right {
  transform: translate3d(24px, 18px, 0);
}

.pttindia-page .pttindia-reveal.pttindia-visible,
.pttindia-page .pttindia-package-reveal-left.pttindia-visible,
.pttindia-page .pttindia-package-reveal-right.pttindia-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}


/* ==========================================================
   1600 / 1680
========================================================== */

@media (max-width: 1680px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 100px);
  }

  .pttindia-page .pttindia-package {
    min-height: 390px;
  }

  .pttindia-page .pttindia-package-image {
height: 390px;
  }

}


/* ==========================================================
   1440
========================================================== */

@media (max-width: 1440px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 82px);
  }

  .pttindia-page .pttindia-hero {
    min-height: 660px;
  }

  .pttindia-page .pttindia-hero-word {
    font-size: 33vw;
    letter-spacing: -18px;
  }

  .pttindia-page .pttindia-hero-content {
    width: min(48%, 620px);
  }

  .pttindia-page .pttindia-package {
    min-height: 255px;
  }

  .pttindia-page .pttindia-package-image {
    height: 235px;
  }

  .pttindia-page .pttindia-package-content {
    min-height: 235px;
    padding-inline: 34px;
    gap: 17px;
  }

  .pttindia-page .pttindia-package-number {
    font-size: 72px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 38px;
  }

  .pttindia-page .pttindia-package-copy p {
    font-size: 16px;
  }

}


/* ==========================================================
   1366
========================================================== */

@media (max-width: 1366px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 72px);
  }

  .pttindia-page .pttindia-features-grid {
    min-height: 116px;
  }

  .pttindia-page .pttindia-feature h3 {
    font-size: 15px;
  }

  .pttindia-page .pttindia-feature p {
    font-size: 11px;
  }

  .pttindia-page .pttindia-hero {
    min-height: 640px;
  }

  .pttindia-page .pttindia-hero-content {
    margin-top: 95px;
  }

  .pttindia-page .pttindia-hero-content h1 {
    font-size: 64px;
  }

  .pttindia-page .pttindia-hero-content p {
    font-size: 17px;
  }

  .pttindia-page .pttindia-package-content {
    padding-inline: 29px;
  }

  .pttindia-page .pttindia-package-arrow {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }

}


/* ==========================================================
   1280
========================================================== */

@media (max-width: 1280px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 62px);
  }

  .pttindia-page .pttindia-package {
    grid-template-columns: minmax(0, 44%) minmax(0, 56%);
  }

  .pttindia-page .pttindia-package-image-first {
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  }

  .pttindia-page .pttindia-package-content {
    gap: 14px;
    padding-inline: 24px;
  }

  .pttindia-page .pttindia-package-number {
    font-size: 65px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 35px;
  }

  .pttindia-page .pttindia-package-label {
    letter-spacing: 3px;
    font-size: 11px;
  }

}


/* ==========================================================
   1200
========================================================== */

@media (max-width: 1200px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 54px);
  }

  .pttindia-page .pttindia-feature {
    padding-inline: 15px;
  }

  .pttindia-page .pttindia-hero-content {
    width: 51%;
  }

  .pttindia-page .pttindia-package-image {
    height: 225px;
  }

  .pttindia-page .pttindia-package-content {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .pttindia-page .pttindia-package-content .pttindia-package-arrow {
    position: absolute;
    right: 22px;
    bottom: 22px;
  }

  .pttindia-page .pttindia-package-copy {
    padding-right: 35px;
  }

}


/* ==========================================================
   1024 / 992
========================================================== */

@media (max-width: 1024px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 46px);
  }

  .pttindia-page .pttindia-features-grid {
    grid-template-columns: repeat(2, 1fr);
    padding-block: 10px;
  }

  .pttindia-page .pttindia-feature {
    min-height: 94px;
  }

  .pttindia-page .pttindia-feature:nth-child(2)::after {
    display: none;
  }

  .pttindia-page .pttindia-feature:nth-child(-n+2) {
    border-bottom: 1px solid rgba(16, 33, 58, .12);
  }

  .pttindia-page .pttindia-hero {
    min-height: 670px;
    background-position: 56% center;
  }

  .pttindia-page .pttindia-hero-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(255, 246, 224, .80) 0%,
        rgba(255, 246, 224, .53) 45%,
        rgba(255, 246, 224, .06) 80%
      );
  }

  .pttindia-page .pttindia-hero-word {
    font-size: 32vw;
    letter-spacing: -13px;
  }

  .pttindia-page .pttindia-hero-content {
    width: 56%;
  }

  .pttindia-page .pttindia-package {
    min-height: 245px;
  }

  .pttindia-page .pttindia-package-image {
    height: 220px;
  }

  .pttindia-page .pttindia-package-content {
    padding-inline: 18px;
  }

  .pttindia-page .pttindia-package-number {
    font-size: 58px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 31px;
  }

  .pttindia-page .pttindia-package-copy p {
    font-size: 15px;
  }

  .pttindia-page .pttindia-package-arrow {
    width: 44px;
    height: 44px;
  }

}


/* ==========================================================
   768 TABLET
========================================================== */

@media (max-width: 800px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 40px);
  }

  .pttindia-page .pttindia-hero {
    min-height: 690px;
    align-items: flex-end;
    background-position: 61% center;
  }

  .pttindia-page .pttindia-hero-overlay {
    background:
      linear-gradient(
        180deg,
        rgba(255, 247, 227, .04) 0%,
        rgba(255, 247, 227, .16) 32%,
        rgba(255, 247, 227, .83) 69%,
        rgba(255, 247, 227, .97) 100%
      );
  }

  .pttindia-page .pttindia-hero-word {
    top: 31%;
    font-size: 31vw;
    letter-spacing: -10px;
  }

  .pttindia-page .pttindia-hero-inner {
    align-items: flex-end;
    padding-bottom: 55px;
  }

  .pttindia-page .pttindia-hero-content {
    width: min(100%, 610px);
    margin-top: 0;
  }

  .pttindia-page .pttindia-hero-content h1 {
    font-size: 58px;
  }

  .pttindia-page .pttindia-packages {
    padding-top: 55px;
  }

  .pttindia-page .pttindia-packages-head {
    margin-bottom: 42px;
  }

  .pttindia-page .pttindia-package,
  .pttindia-page .pttindia-package-image-first {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    min-height: 0;

    margin-bottom: 38px;

    border-bottom: 0;
  }

  .pttindia-page .pttindia-package-text-first .pttindia-package-image,
  .pttindia-page .pttindia-package-image-first .pttindia-package-image {
    order: 1;
  }

  .pttindia-page .pttindia-package-text-first .pttindia-package-content,
  .pttindia-page .pttindia-package-image-first .pttindia-package-content {
    order: 2;
  }

  .pttindia-page .pttindia-package-image {
    height: 330px;
  }

  .pttindia-page .pttindia-package-content {
    min-height: 0;

    padding: 27px 8px 5px;

    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;

    gap: 18px;
  }

  .pttindia-page .pttindia-package-number {
    margin-top: 4px;
    font-size: 65px;
  }

  .pttindia-page .pttindia-package-copy {
    padding-right: 60px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 38px;
  }

  .pttindia-page .pttindia-package-copy p {
    max-width: 580px;
    font-size: 16px;
  }

  .pttindia-page .pttindia-package-content .pttindia-package-arrow {
    right: 5px;
    bottom: 8px;
  }

  .pttindia-page .pttindia-final-cta {
    min-height: 500px;
    background-position: 63% center;
  }

  .pttindia-page .pttindia-final-content {
    width: 70%;
  }

}


/* ==========================================================
   600 MOBILE
========================================================== */

@media (max-width: 600px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 38px);
  }


  /* FEATURE STRIP */

  .pttindia-page .pttindia-features-grid {
    padding-block: 7px;
  }

  .pttindia-page .pttindia-feature {
    min-height: 112px;
    padding: 12px 7px;
  }

  .pttindia-page .pttindia-feature:nth-child(odd)::after {
    display: block;
    top: 15%;
    height: 70%;
  }

  .pttindia-page .pttindia-feature:nth-child(even)::after {
    display: none;
  }

  .pttindia-page .pttindia-feature-icon {
    height: 31px;
    font-size: 25px;
  }

  .pttindia-page .pttindia-feature h3 {
    font-size: 14px;
  }

  .pttindia-page .pttindia-feature p {
    font-size: 11px;
  }


  /* HERO */

  .pttindia-page .pttindia-hero {
    min-height: 735px;
    background-position: 62% center;
  }

  .pttindia-page .pttindia-hero-word {
    top: 28%;
    font-size: clamp(150px, 43vw, 220px);
    letter-spacing: -9px;
  }

  .pttindia-page .pttindia-hero-inner {
    padding-bottom: 48px;
  }

  .pttindia-page .pttindia-eyebrow {
    margin-bottom: 12px;
    font-size: 11px;
    letter-spacing: 3.5px;
  }

  .pttindia-page .pttindia-hero-content h1 {
    margin-bottom: 17px;
    font-size: clamp(46px, 12vw, 52px);
    line-height: .94;
    letter-spacing: -1.5px;
  }

  .pttindia-page .pttindia-hero-content p {
    margin-bottom: 22px;
    font-size: 16px;
    line-height: 1.45;
  }

  .pttindia-page .pttindia-primary-cta {
    width: min(100%, 300px);
  }


  /* PACKAGE INTRO */

  .pttindia-page .pttindia-packages {
    padding: 52px 0 58px;
  }

  .pttindia-page .pttindia-packages-head {
    margin-bottom: 38px;
  }

  .pttindia-page .pttindia-packages-eyebrow {
    gap: 10px;
  }

  .pttindia-page .pttindia-packages-eyebrow span {
    width: 24px;
  }

  .pttindia-page .pttindia-packages-eyebrow b {
    font-size: 10px;
    letter-spacing: 3px;
  }

  .pttindia-page .pttindia-packages-head h2 {
    font-size: clamp(38px, 10vw, 44px);
    line-height: 1.02;
  }

  .pttindia-page .pttindia-packages-head p {
    font-size: 16px;
  }

  .pttindia-page .pttindia-packages-head p br {
    display: none;
  }


  /* PACKAGE ROW */

  .pttindia-page .pttindia-package {
    margin-bottom: 36px;
  }

  .pttindia-page .pttindia-package-image {
    height: clamp(230px, 62vw, 290px);

    border-radius:
      24% 5% 24% 5% /
      6% 19% 6% 20%;
  }

  .pttindia-page .pttindia-package-content {
    padding: 24px 2px 4px;
    gap: 13px;
  }

  .pttindia-page .pttindia-package-number {
    margin-top: 2px;

    font-size: 58px;
    letter-spacing: -3px;
  }

  .pttindia-page .pttindia-package-copy {
    padding-right: 48px;
  }

  .pttindia-page .pttindia-package-label {
    margin-bottom: 6px;
    font-size: 10px;
    letter-spacing: 2.6px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    margin-bottom: 8px;

    font-size: clamp(30px, 8.2vw, 36px);
    line-height: 1.02;
  }

  .pttindia-page .pttindia-package-copy p {
    font-size: 16px;
    line-height: 1.4;
  }

  .pttindia-page .pttindia-package-content .pttindia-package-arrow {
    right: 0;
    bottom: 3px;

    width: 46px;
    height: 46px;
  }


  /* FINAL CTA */

  .pttindia-page .pttindia-final-cta {
    min-height: 540px;
    background-position: 62% center;
  }

  .pttindia-page .pttindia-final-overlay {
    background:
      linear-gradient(
        90deg,
        rgba(7, 20, 38, .91) 0%,
        rgba(7, 20, 38, .72) 57%,
        rgba(7, 20, 38, .23) 100%
      );
  }

  .pttindia-page .pttindia-final-content {
    width: 90%;
  }

  .pttindia-page .pttindia-final-eyebrow {
    font-size: 10px;
    letter-spacing: 3.5px;
  }

  .pttindia-page .pttindia-final-content h2 {
    font-size: clamp(42px, 12vw, 50px);
  }

  .pttindia-page .pttindia-final-content p {
    font-size: 16px;
  }

  .pttindia-page .pttindia-final-content p br {
    display: none;
  }

  .pttindia-page .pttindia-final-button {
    width: 205px;
  }

}


/* ==========================================================
   480
========================================================== */

@media (max-width: 480px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 36px);
  }

  .pttindia-page .pttindia-feature {
    min-height: 108px;
    padding-inline: 5px;
  }

  .pttindia-page .pttindia-feature h3 {
    font-size: 13px;
  }

  .pttindia-page .pttindia-feature p {
    font-size: 10px;
  }

  .pttindia-page .pttindia-hero {
    min-height: 720px;
    background-position: 63% center;
  }

  .pttindia-page .pttindia-hero-word {
    top: 27%;
    font-size: 42vw;
  }

  .pttindia-page .pttindia-package-image {
    height: 250px;
  }

  .pttindia-page .pttindia-package-number {
    font-size: 54px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 31px;
  }

  .pttindia-page .pttindia-package-content {
    grid-template-columns: 52px minmax(0, 1fr);
  }

}


/* ==========================================================
   430 / 414
========================================================== */

@media (max-width: 430px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 34px);
  }

  .pttindia-page .pttindia-hero {
    min-height: 700px;
  }

  .pttindia-page .pttindia-hero-content h1 {
    font-size: 45px;
  }

  .pttindia-page .pttindia-package-image {
    height: 235px;
  }

  .pttindia-page .pttindia-package-content {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 10px;
  }

  .pttindia-page .pttindia-package-number {
    font-size: 49px;
  }

  .pttindia-page .pttindia-package-copy {
    padding-right: 43px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 29px;
  }

  .pttindia-page .pttindia-package-copy p {
    font-size: 15px;
  }

  .pttindia-page .pttindia-final-content {
    width: 100%;
  }

}


/* ==========================================================
   390 / 375 / 360
========================================================== */

@media (max-width: 390px) {

  .pttindia-page .pttindia-wide {
    width: calc(100% - 32px);
  }

  .pttindia-page .pttindia-feature {
    min-height: 106px;
  }

  .pttindia-page .pttindia-feature-icon {
    font-size: 23px;
  }

  .pttindia-page .pttindia-feature h3 {
    font-size: 12px;
  }

  .pttindia-page .pttindia-feature p {
    font-size: 9px;
  }

  .pttindia-page .pttindia-hero {
    min-height: 700px;
  }

  .pttindia-page .pttindia-hero-word {
    font-size: 41vw;
    letter-spacing: -6px;
  }

  .pttindia-page .pttindia-hero-content h1 {
    font-size: 43px;
  }

  .pttindia-page .pttindia-packages-head h2 {
    font-size: 37px;
  }

  .pttindia-page .pttindia-package-image {
    height: 220px;
  }

  .pttindia-page .pttindia-package-content {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .pttindia-page .pttindia-package-number {
    font-size: 45px;
  }

  .pttindia-page .pttindia-package-label {
    font-size: 9px;
    letter-spacing: 2px;
  }

  .pttindia-page .pttindia-package-copy h3 {
    font-size: 27px;
  }

  .pttindia-page .pttindia-package-copy {
    padding-right: 38px;
  }

  .pttindia-page .pttindia-package-content .pttindia-package-arrow {
    width: 43px;
    height: 43px;
  }

  .pttindia-page .pttindia-final-cta {
    min-height: 520px;
  }

  .pttindia-page .pttindia-final-content h2 {
    font-size: 42px;
  }

}


/* ==========================================================
   REDUCED MOTION
========================================================== */

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

  .pttindia-page .pttindia-reveal,
  .pttindia-page .pttindia-package-reveal-left,
  .pttindia-page .pttindia-package-reveal-right {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .pttindia-page .pttindia-package-image img,
  .pttindia-page .pttindia-package-arrow,
  .pttindia-page .pttindia-primary-cta,
  .pttindia-page .pttindia-primary-cta i {
    transition: none !important;
  }

}

/* =========================================================
   Patel Tourss & Travels UDAIPUR - PREMIUM CONTACT PAGE
   UNIQUE PREFIX: pttcontact-
========================================================= */

.pttcontact-page {
    width: 100%;
    overflow: hidden;
    font-family: 'Outfit', sans-serif;
    background: #fffaf5;
}


/* =========================================================
   HEADER IMAGE
========================================================= */

.pttcontact-page .pttcontact-banner {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #10213a;
}

.pttcontact-page .pttcontact-banner img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: center;
}


/* =========================================================
   MAIN SECTION
========================================================= */

.pttcontact-page .pttcontact-section {
    position: relative;
    padding: clamp(70px, 6vw, 105px) 0;
    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(241, 90, 36, .06),
            transparent 28%
        ),
        #fffaf5;
}

.pttcontact-page .pttcontact-shell {
    width: min(94%, 1600px);
    margin-inline: auto;
}


/* =========================================================
   HEADING
========================================================= */

.pttcontact-page .pttcontact-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 540px);
    align-items: end;
    gap: 60px;
    margin-bottom: clamp(38px, 4vw, 58px);
}

.pttcontact-page .pttcontact-eyebrow {
    display: block;
    margin-bottom: 13px;

    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 4px;

    color: #fb0001;
}

.pttcontact-page .pttcontact-heading h2 {
    margin: 0;

    font-family: 'Outfit', sans-serif;
    font-size: clamp(40px, 4vw, 62px);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -2px;

    color: #10213a;
}

.pttcontact-page .pttcontact-heading h2 span {
    display: block;
    color: #fb0001;
}

.pttcontact-page .pttcontact-heading > p {
    margin: 0 0 5px;

    font-family: 'Outfit', sans-serif;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;

    color: #000;
}


/* =========================================================
   MAIN GRID
========================================================= */

.pttcontact-page .pttcontact-main {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(470px, .92fr);
    align-items: stretch;
    gap: 0;

    border-radius: 24px;
    overflow: hidden;

    background: #fff;

    box-shadow:
        0 25px 70px rgba(16, 33, 58, .11);
}


/* =========================================================
   MAP
========================================================= */

.pttcontact-page .pttcontact-map-wrap {
    position: relative;
    min-height: 720px;
    overflow: hidden;

    background: #e9e6df;
}

.pttcontact-page .pttcontact-map-wrap iframe {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 720px;

    border: 0;

    filter: saturate(.78) contrast(1.02);
}


/* MAP FLOATING LABEL */

.pttcontact-page .pttcontact-map-label {
    position: absolute;
    left: 28px;
    bottom: 28px;
    z-index: 3;

    display: flex;
    align-items: center;
    gap: 15px;

    min-width: 280px;
    padding: 17px 20px;

    border-radius: 14px;

    background: rgba(255, 255, 255, .96);

    box-shadow:
        0 15px 40px rgba(16, 33, 58, .18);

    backdrop-filter: blur(8px);
}

.pttcontact-page .pttcontact-map-icon {
    flex: 0 0 48px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fb0001;
    color: #fff;

    font-size: 19px;
}

.pttcontact-page .pttcontact-map-label div {
    display: flex;
    flex-direction: column;
}

.pttcontact-page .pttcontact-map-label small {
    margin-bottom: 3px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 2px;

    color: #fb0001;
}

.pttcontact-page .pttcontact-map-label strong {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 700;

    color: #10213a;
}

.pttcontact-page .pttcontact-map-label div > span {
    margin-top: 2px;

    font-size: 13px;
    color: #626870;
}


/* =========================================================
   CONTACT PANEL
========================================================= */

.pttcontact-page .pttcontact-panel {
    position: relative;

    padding:
        clamp(42px, 4vw, 66px)
        clamp(34px, 4vw, 62px);
background: #000;
    color: #fff;
}


/* ORANGE DECORATIVE LINE */

.pttcontact-page .pttcontact-panel::before {
    content: "";
    position: absolute;

    top: 0;
    left: 0;

    width: 90px;
    height: 5px;

    background: #fb0001;
}


/* =========================================================
   PANEL TOP
========================================================= */

.pttcontact-page .pttcontact-panel-top > span {
    display: block;

    margin-bottom: 13px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;

    color: #fb0001;
}

.pttcontact-page .pttcontact-panel-top h3 {
    margin: 0 0 18px;

    font-size: clamp(30px, 2.5vw, 42px);
    line-height: 1.12;
    font-weight: 600;
    letter-spacing: -1px;

    color: #fff;
}

.pttcontact-page .pttcontact-panel-top h3 strong {
    display: block;

    font-weight: 700;
    color: #fb0001;
}

.pttcontact-page .pttcontact-panel-top p {
    margin: 0;

    max-width: 600px;

    font-size: 17px;
    line-height: 1.55;
    font-weight: 400;

    color: rgba(255, 255, 255, .82);
}


/* =========================================================
   CONTACT DETAILS
========================================================= */

.pttcontact-page .pttcontact-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    margin-top: 35px;

    border-top: 1px solid rgba(255, 255, 255, .12);
    border-left: 1px solid rgba(255, 255, 255, .12);
}

.pttcontact-page .pttcontact-detail {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    min-width: 0;
    min-height: 150px;

    padding: 25px 20px;

    border-right: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);

    transition:
        background .35s ease,
        transform .35s ease;
}

.pttcontact-page .pttcontact-detail:hover {
    background: rgba(255, 255, 255, .045);
}

.pttcontact-page .pttcontact-detail-icon {
    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: rgba(241, 90, 36, .14);

    color: #fb0001;

    font-size: 17px;
}

.pttcontact-page .pttcontact-detail-content {
    min-width: 0;
}

.pttcontact-page .pttcontact-detail-content > span {
    display: block;

    margin-bottom: 4px;

    font-size: 9px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: 2px;

    color: #fb0001;
}

.pttcontact-page .pttcontact-detail-content h4 {
    margin: 0 0 7px;

    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;

    color: #fff;
}

.pttcontact-page .pttcontact-detail-content p {
    margin: 0;

    font-size: 17px;
    line-height: 1.55;

    color: #fff;

    overflow-wrap: anywhere;
}

.pttcontact-page .pttcontact-detail-content p a {
    display: block;

     color: #fff;
    text-decoration: none;

    transition: color .3s ease;
}

.pttcontact-page .pttcontact-detail-content p a:hover {
    color: #fb0001;
}


/* =========================================================
   ACTION BUTTONS
========================================================= */

.pttcontact-page .pttcontact-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;

    margin-top: 28px;
}

.pttcontact-page .pttcontact-primary,
.pttcontact-page .pttcontact-secondary {
    min-height: 52px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    padding: 0 22px;

    border-radius: 999px;

    font-size: 15px;
    line-height: 1;
    font-weight: 600;

    text-decoration: none;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}

.pttcontact-page .pttcontact-primary {
    background: #fb0001;
    border: 1px solid #fb0001;

    color: #fff;
}

.pttcontact-page .pttcontact-secondary {
    background: transparent;

    border: 1px solid rgba(255, 255, 255, .3);

    color: #fff;
}

.pttcontact-page .pttcontact-primary:hover,
.pttcontact-page .pttcontact-secondary:hover {
    transform: translateY(-3px);
}

.pttcontact-page .pttcontact-primary:hover {
    background: #db4817;
}

.pttcontact-page .pttcontact-secondary:hover {
    border-color: #fb0001;
    background: #fb0001;
}


/* =========================================================
   SOCIAL
========================================================= */

.pttcontact-page .pttcontact-social {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: 28px;
    padding-top: 25px;

    border-top: 1px solid rgba(255, 255, 255, .12);
}

.pttcontact-page .pttcontact-social > span {
    font-size: 10px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 3px;

    color: rgba(255, 255, 255, .55);
}

.pttcontact-page .pttcontact-social-links {
    display: flex;
    gap: 9px;
}

.pttcontact-page .pttcontact-social-links a {
    width: 39px;
    height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    border: 1px solid rgba(255, 255, 255, .18);

    color: #fff;
    text-decoration: none;

    transition:
        transform .3s ease,
        background .3s ease,
        border-color .3s ease;
}

.pttcontact-page .pttcontact-social-links a:hover {
    transform: translateY(-3px);

    background: #fb0001;
    border-color: #fb0001;
}


/* =========================================================
   QUICK CONTACT STRIP
========================================================= */

.pttcontact-page .pttcontact-quick {
    display: grid;

    grid-template-columns:
        minmax(280px, 1.25fr)
        minmax(180px, .7fr)
        minmax(180px, .7fr)
        minmax(270px, 1fr);

    align-items: center;

    margin-top: 28px;

    border: 1px solid #eee3d7;
    border-radius: 17px;

    background: #fff;

    box-shadow:
        0 12px 35px rgba(16, 33, 58, .055);

    overflow: hidden;
}

.pttcontact-page .pttcontact-quick-title {
    padding: 25px 30px;
}

.pttcontact-page .pttcontact-quick-title > span {
    display: block;

    margin-bottom: 5px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 3px;

    color: #fb0001;
}

.pttcontact-page .pttcontact-quick-title h3 {
    margin: 0;

    font-size: 22px;
    line-height: 1.25;
    font-weight: 700;

    color: #10213a;
}

.pttcontact-page .pttcontact-quick-item {
    min-height: 92px;

    display: flex;
    align-items: center;
    gap: 13px;

    padding: 20px 25px;

    border-left: 1px solid #eee5dc;
}

.pttcontact-page .pttcontact-quick-item > i {
    font-size: 25px;
    color: #fb0001;
}

.pttcontact-page .pttcontact-quick-item div {
    display: flex;
    flex-direction: column;
}

.pttcontact-page .pttcontact-quick-item strong {
    font-size: 14px;
    line-height: 1.3;

    color: #10213a;
}

.pttcontact-page .pttcontact-quick-item span {
    margin-top: 3px;

    font-size: 12px;
    color: #6b7076;
}


/* QUICK CALL */

.pttcontact-page .pttcontact-quick-call {
    align-self: stretch;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 20px 28px;

    background: #fb0001;

    color: #fff;
    text-decoration: none;

    transition: background .3s ease;
}

.pttcontact-page .pttcontact-quick-call:hover {
    background: #db4817;
}

.pttcontact-page .pttcontact-quick-call > span {
    display: flex;
    flex-direction: column;

    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
}

.pttcontact-page .pttcontact-quick-call small {
    margin-bottom: 3px;

    font-size: 9px;
    font-weight: 600;
    letter-spacing: 2px;

    opacity: .8;
}

.pttcontact-page .pttcontact-quick-call > i {
    flex: 0 0 40px;

    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255, 255, 255, .16);

    transition: transform .3s ease;
}

.pttcontact-page .pttcontact-quick-call:hover > i {
    transform: translateX(4px);
}


/* =========================================================
   REVEAL
========================================================= */

.pttcontact-page .pttcontact-reveal {
    opacity: 0;
    transform: translateY(25px);

    transition:
        opacity .7s ease,
        transform .7s ease;
}

.pttcontact-page .pttcontact-reveal.pttcontact-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media (max-width: 1200px) {

    .pttcontact-page .pttcontact-main {
        grid-template-columns: 1fr 1fr;
    }

    .pttcontact-page .pttcontact-map-wrap,
    .pttcontact-page .pttcontact-map-wrap iframe {
        min-height: 690px;
    }

    .pttcontact-page .pttcontact-panel {
        padding: 45px 35px;
    }

    .pttcontact-page .pttcontact-details {
        grid-template-columns: 1fr;
    }

    .pttcontact-page .pttcontact-detail {
        min-height: auto;
        padding: 18px;
    }

    .pttcontact-page .pttcontact-quick {
        grid-template-columns: 1fr 1fr;
    }

    .pttcontact-page .pttcontact-quick-item {
        border-top: 1px solid #eee5dc;
    }

}


/* =========================================================
   RESPONSIVE - 992
========================================================= */

@media (max-width: 992px) {

    .pttcontact-page .pttcontact-heading {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pttcontact-page .pttcontact-heading > p {
        max-width: 720px;
    }

    .pttcontact-page .pttcontact-main {
        grid-template-columns: 1fr;
    }

    .pttcontact-page .pttcontact-map-wrap,
    .pttcontact-page .pttcontact-map-wrap iframe {
        min-height: 470px;
    }

    .pttcontact-page .pttcontact-panel {
        padding: 50px 42px;
    }

    .pttcontact-page .pttcontact-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   RESPONSIVE - 768
========================================================= */

@media (max-width: 768px) {



    .pttcontact-page .pttcontact-section {
        padding: 58px 0;
    }

    .pttcontact-page .pttcontact-shell {
        width: calc(100% - 36px);
    }

    .pttcontact-page .pttcontact-heading h2 {
        font-size: clamp(35px, 7vw, 45px);
        letter-spacing: -1.2px;
    }

    .pttcontact-page .pttcontact-heading > p {
        font-size: 16px;
        line-height: 1.55;
    }

    .pttcontact-page .pttcontact-main {
        border-radius: 17px;
    }


    .pttcontact-page .pttcontact-map-wrap,
    .pttcontact-page .pttcontact-map-wrap iframe {
        min-height: 400px;
    }

    .pttcontact-page .pttcontact-map-label {
        left: 18px;
        right: 18px;
        bottom: 18px;

        min-width: 0;
    }

    .pttcontact-page .pttcontact-panel {
        padding: 42px 25px;
    }

    .pttcontact-page .pttcontact-panel-top p {
        font-size: 16px;
    }

    .pttcontact-page .pttcontact-details {
        grid-template-columns: 1fr;
    }

    .pttcontact-page .pttcontact-actions {
        grid-template-columns: 1fr;
    }

    .pttcontact-page .pttcontact-primary,
    .pttcontact-page .pttcontact-secondary {
        min-height: 54px;
    }

    .pttcontact-page .pttcontact-quick {
        grid-template-columns: 1fr;
    }

    .pttcontact-page .pttcontact-quick-item {
        border-left: 0;
        border-top: 1px solid #eee5dc;
    }

    .pttcontact-page .pttcontact-quick-call {
        min-height: 90px;
    }

}


/* =========================================================
   RESPONSIVE - 480
========================================================= */

@media (max-width: 480px) {

    .pttcontact-page .pttcontact-shell {
        width: calc(100% - 32px);
    }



    .pttcontact-page .pttcontact-section {
        padding: 50px 0;
    }

    .pttcontact-page .pttcontact-eyebrow {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .pttcontact-page .pttcontact-heading h2 {
        font-size: 34px;
        line-height: 1.1;
    }

    .pttcontact-page .pttcontact-map-wrap,
    .pttcontact-page .pttcontact-map-wrap iframe {
        min-height: 350px;
    }

    .pttcontact-page .pttcontact-map-label {
        padding: 13px;
    }

    .pttcontact-page .pttcontact-map-icon {
        flex-basis: 42px;

        width: 42px;
        height: 42px;
    }

    .pttcontact-page .pttcontact-panel {
        padding: 38px 20px;
    }

    .pttcontact-page .pttcontact-panel-top h3 {
        font-size: 29px;
    }

    .pttcontact-page .pttcontact-detail {
        padding: 18px 10px;
    }

    .pttcontact-page .pttcontact-detail-icon {
        flex-basis: 40px;

        width: 40px;
        height: 40px;
    }

    .pttcontact-page .pttcontact-social {
        align-items: flex-start;
        flex-direction: column;
    }

    .pttcontact-page .pttcontact-social-links {
        width: 100%;
    }

    .pttcontact-page .pttcontact-social-links a {
        width: 43px;
        height: 43px;
    }

    .pttcontact-page .pttcontact-quick-title,
    .pttcontact-page .pttcontact-quick-item,
    .pttcontact-page .pttcontact-quick-call {
        padding-left: 20px;
        padding-right: 20px;
    }

}


/* =========================================================
   RESPONSIVE - 390 / 360
========================================================= */

@media (max-width: 390px) {

    .pttcontact-page .pttcontact-heading h2 {
        font-size: 31px;
    }

    .pttcontact-page .pttcontact-map-wrap,
    .pttcontact-page .pttcontact-map-wrap iframe {
        min-height: 330px;
    }

    .pttcontact-page .pttcontact-map-label strong {
        font-size: 14px;
    }

    .pttcontact-page .pttcontact-panel-top h3 {
        font-size: 27px;
    }

    .pttcontact-page .pttcontact-detail-content p {
        font-size: 13px;
    }

    .pttcontact-page .pttcontact-quick-call > span {
        font-size: 15px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .pttcontact-page .pttcontact-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .pttcontact-page .pttcontact-detail,
    .pttcontact-page .pttcontact-primary,
    .pttcontact-page .pttcontact-secondary,
    .pttcontact-page .pttcontact-social-links a,
    .pttcontact-page .pttcontact-quick-call,
    .pttcontact-page .pttcontact-quick-call > i {
        transition: none;
    }

}


/* =========================================================
   PREMIUM ONLINE ENQUIRY SECTION
   UNIQUE PREFIX : pttenquiry-
========================================================= */

.pttenquiry-section {
    position: relative;
    width: 100%;
    padding: clamp(70px, 6vw, 100px) 0;

    font-family: 'Outfit', sans-serif;

    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(241, 90, 36, .055),
            transparent 27%
        ),
        #fffaf5;

    overflow: hidden;
}

.pttenquiry-container {
    width: min(94%, 1600px);
    margin-inline: auto;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.pttenquiry-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 560px);
    align-items: end;

    gap: 60px;

    margin-bottom: clamp(38px, 4vw, 58px);
}

.pttenquiry-eyebrow {
    display: block;

    margin-bottom: 12px;

    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: 4px;

    color: #fb0001;
}

.pttenquiry-heading h2 {
    margin: 0;

    font-size: clamp(40px, 3.8vw, 60px);
    line-height: 1.07;
    font-weight: 700;
    letter-spacing: -2px;

    color: #10213a;
}

.pttenquiry-heading h2 span {
    display: block;
    color: #fb0001;
}

.pttenquiry-heading > p {
    margin: 0 0 5px;

    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;

    color: #000;
}


/* =========================================================
   MAIN WRAPPER
========================================================= */

.pttenquiry-wrap {
    display: grid;

    grid-template-columns:
        minmax(0, 1.03fr)
        minmax(430px, .97fr);

    min-height: 660px;

    overflow: hidden;

    border-radius: 24px;

    background: #10213a;

    box-shadow:
        0 28px 75px rgba(16, 33, 58, .13);
}


/* =========================================================
   FORM AREA
========================================================= */

.pttenquiry-form-area {
    position: relative;

    padding:
        clamp(42px, 4.5vw, 70px)
        clamp(35px, 4.5vw, 72px);

    background: #000;
}


/* ORANGE TOP DETAIL */

.pttenquiry-form-area::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 95px;
    height: 5px;

    background: #fb0001;
}


/* =========================================================
   FORM HEADING
========================================================= */

.pttenquiry-form-head {
    max-width: 650px;

    margin-bottom: 32px;
}

.pttenquiry-form-head > span {
    display: block;

    margin-bottom: 9px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;

    color: #fb0001;
}

.pttenquiry-form-head h3 {
    margin: 0 0 11px;

    font-size: clamp(30px, 2.6vw, 42px);
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -1px;

    color: #fff;
}

.pttenquiry-form-head p {
    max-width: 580px;

    margin: 0;

    font-size: 16px;
    line-height: 1.55;

    color: rgba(255, 255, 255, .7);
}


/* =========================================================
   FORM GRID
========================================================= */

.pttenquiry-fields {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}

.pttenquiry-field {
    min-width: 0;
}

.pttenquiry-field-full {
    grid-column: 1 / -1;
}


/* LABEL */

.pttenquiry-field label {
    display: block;

    margin: 0 0 8px 2px;

    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;

    color: rgba(255, 255, 255, .82);
}


/* =========================================================
   INPUT WRAPPER
========================================================= */

.pttenquiry-input {
    position: relative;
}

.pttenquiry-input > i {
    position: absolute;

    left: 18px;
    top: 50%;

    z-index: 2;

    transform: translateY(-50%);

    font-size: 14px;

    color: #fb0001;

    pointer-events: none;
}

.pttenquiry-input input,
.pttenquiry-input textarea {
    display: block;

    width: 100%;

    box-sizing: border-box;

    border: 1px solid rgba(255, 255, 255, .14);
    outline: none;

    border-radius: 11px;

    background: rgba(255, 255, 255, .065);

    color: #fff;

    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight:600;

    transition:
        border-color .3s ease,
        background .3s ease,
        box-shadow .3s ease;
}

.pttenquiry-input input {
    height: 56px;

    padding: 0 17px 0 48px;
}

.pttenquiry-input textarea {
    min-height: 135px;

    padding: 17px 17px 17px 48px;

    resize: vertical;

    line-height: 1.55;
}


/* TEXTAREA ICON */

.pttenquiry-textarea > i {
    top: 20px;

    transform: none;
}


/* PLACEHOLDER */

.pttenquiry-input input::placeholder,
.pttenquiry-input textarea::placeholder {
    color: rgba(255, 255, 255, .42);
}


/* FOCUS */

.pttenquiry-input input:focus,
.pttenquiry-input textarea:focus {
    border-color: rgba(241, 90, 36, .9);

    background: rgba(255, 255, 255, .09);

    box-shadow:
        0 0 0 3px rgba(241, 90, 36, .09);
}


/* =========================================================
   FORM BOTTOM
========================================================= */

.pttenquiry-form-bottom {
    display: flex;
    align-items: center;

    gap: 24px;

    margin-top: 26px;
}


/* SEND BUTTON */

.pttenquiry-submit {
    flex: 0 0 auto;

    min-width: 190px;
    height: 55px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 16px;

    padding: 0 25px;

    border: 0;
    border-radius: 999px;

    background: #fb0001;

    color: #fff;

    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    box-shadow:
        0 12px 30px rgba(241, 90, 36, .22);

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}

.pttenquiry-submit i {
    transition: transform .35s ease;
}

.pttenquiry-submit:hover {
    transform: translateY(-3px);

    background: #dc4b1a;

    box-shadow:
        0 17px 35px rgba(241, 90, 36, .28);
}

.pttenquiry-submit:hover i {
    transform: translateX(4px);
}


/* ASSURANCE */

.pttenquiry-assurance {
    display: flex;
    align-items: center;

    gap: 11px;

    color: rgba(255, 255, 255, .55);
}

.pttenquiry-assurance > i {
    flex: 0 0 auto;

    font-size: 18px;

    color: #fb0001;
}

.pttenquiry-assurance span {
    display: flex;
    flex-direction: column;

    font-size: 15px;
    line-height: 1.45;
}

.pttenquiry-assurance strong {
    font-size: 18px;
    font-weight: 600;

    color: rgba(255, 255, 255, .85);
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.pttenquiry-visual {
    position: relative;

    min-height: 660px;

    overflow: hidden;

    background: #111719;
}

.pttenquiry-visual > img {
    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .8s ease;
}

.pttenquiry-wrap:hover .pttenquiry-visual > img {
    transform: scale(1.025);
}


/* IMAGE OVERLAY */

.pttenquiry-visual-shade {
    position: absolute;

    inset: 0;

    z-index: 1;


}


/* =========================================================
   TOP IMAGE LABEL
========================================================= */

.pttenquiry-visual-label {
    position: absolute;

    z-index: 3;

    top: 28px;
    right: 28px;

    display: flex;
    align-items: center;

    gap: 11px;

    padding: 11px 15px;

    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 10px;

    background: rgba(7, 20, 34, .62);

    color: #fff;

    backdrop-filter: blur(8px);
}

.pttenquiry-visual-label > i {
    color: #fb0001;
}

.pttenquiry-visual-label > span {
    display: flex;
    flex-direction: column;

    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
}

.pttenquiry-visual-label small {
    margin-bottom: 1px;

    font-size: 8px;
    letter-spacing: 1.5px;

    color: rgba(255, 255, 255, .65);
}


/* =========================================================
   IMAGE CONTENT
========================================================= */

.pttenquiry-visual-content {
    position: absolute;

    z-index: 3;

    left: clamp(28px, 4vw, 60px);
    right: clamp(28px, 4vw, 60px);
    bottom: clamp(35px, 4vw, 58px);

    max-width: 580px;
}

.pttenquiry-visual-eyebrow {
    display: block;

    margin-bottom: 10px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 3px;

    color: #fb0001;
}

.pttenquiry-visual-content h3 {
    margin: 0 0 15px;

    font-size: clamp(30px, 3vw, 46px);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: -1.3px;

    color: #fff;
}

.pttenquiry-visual-content h3 strong {
    display: block;

    font-weight: 700;

    color: #fb0001;
}

.pttenquiry-visual-content > p {
    max-width: 510px;

    margin: 0;

    font-size: 16px;
    line-height: 1.55;

    color: rgba(255, 255, 255, .87);
}


/* =========================================================
   BENEFITS
========================================================= */

.pttenquiry-benefits {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 20px;
}

.pttenquiry-benefits span {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    padding: 7px 11px;

    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 999px;

    background: rgba(255, 255, 255, .08);

    font-size: 11px;
    font-weight: 500;

    color: #fff;

    backdrop-filter: blur(5px);
}

.pttenquiry-benefits i {
    font-size: 9px;

    color: #fb0001;
}


/* =========================================================
   WHATSAPP
========================================================= */

.pttenquiry-whatsapp {
    width: fit-content;

    min-height: 52px;

    display: inline-flex;
    align-items: center;

    gap: 11px;


    padding: 0 20px;

    border-radius: 999px;

    background: #fff;

    color: #10213a;

    text-decoration: none;

    font-size: 13px;
    font-weight: 600;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.pttenquiry-whatsapp .fa-whatsapp {
    font-size: 19px;

    color: #20a85b;
}

.pttenquiry-whatsapp .fa-arrow-right {
    margin-left: 5px;

    font-size: 11px;

    color: #fb0001;

    transition: transform .35s ease;
}

.pttenquiry-whatsapp:hover {
    transform: translateY(-3px);

    background: #fb0001;
    color: #fff;
}

.pttenquiry-whatsapp:hover .fa-whatsapp,
.pttenquiry-whatsapp:hover .fa-arrow-right {
    color: #fff;
}

.pttenquiry-whatsapp:hover .fa-arrow-right {
    transform: translateX(3px);
}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media (max-width: 1200px) {

    .pttenquiry-wrap {
        grid-template-columns:
            minmax(0, 1.05fr)
            minmax(390px, .95fr);
    }

    .pttenquiry-form-area {
        padding: 50px 40px;
    }

}


/* =========================================================
   RESPONSIVE - 1024 / 992
========================================================= */

@media (max-width: 992px) {

    .pttenquiry-heading {
        grid-template-columns: 1fr;

        gap: 20px;
    }

    .pttenquiry-heading > p {
        max-width: 750px;
    }

    .pttenquiry-wrap {
        grid-template-columns: 1fr;
    }

    .pttenquiry-form-area {
        padding: 55px 48px;
    }

    .pttenquiry-visual {
        min-height: 570px;
    }

}


/* =========================================================
   RESPONSIVE - 768
========================================================= */

@media (max-width: 768px) {

    .pttenquiry-section {
        padding: 50px 30px;
    }

    .pttenquiry-container {
        width: calc(100% - 36px);
    }

    .pttenquiry-heading {
        margin-bottom: 35px;
    }

    .pttenquiry-heading h2 {
        font-size: clamp(36px, 7vw, 45px);
        letter-spacing: -1.2px;
    }

    .pttenquiry-heading > p {
        font-size: 16px;
    }

    .pttenquiry-wrap {
        min-height: 0;

        border-radius: 17px;
    }

    .pttenquiry-form-area {
        padding: 45px 27px;
    }

    .pttenquiry-fields {
        grid-template-columns: 1fr;
    }

    .pttenquiry-field-full {
        grid-column: auto;
    }

    .pttenquiry-form-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .pttenquiry-submit {
        width: 100%;
    }

    .pttenquiry-visual {
        min-height: 550px;
    }

}


/* =========================================================
   RESPONSIVE - 600
========================================================= */

@media (max-width: 600px) {

    .pttenquiry-container {
        width: calc(100% - 36px);
    }

    .pttenquiry-heading h2 {
        font-size: 37px;
    }

    .pttenquiry-form-head h3 {
        font-size: 30px;
    }

    .pttenquiry-visual {
        min-height: 530px;
    }

    .pttenquiry-visual-label {
        top: 18px;
        right: 18px;
    }

    .pttenquiry-visual-content {
        left: 23px;
        right: 23px;
        bottom: 30px;
    }

    .pttenquiry-visual-content h3 {
        font-size: 32px;
    }

}


/* =========================================================
   RESPONSIVE - 480 / 430
========================================================= */

@media (max-width: 480px) {

    .pttenquiry-section {
        padding: 50px 30px;
    }

    .pttenquiry-container {
        width: calc(100% - 32px);
    }

    .pttenquiry-eyebrow {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .pttenquiry-heading h2 {
        font-size: 33px;
        line-height: 1.1;
    }

    .pttenquiry-form-area {
        padding: 38px 20px;

    }

    .pttenquiry-form-head {
        margin-bottom: 27px;
    }

    .pttenquiry-form-head h3 {
        font-size: 28px;
    }

    .pttenquiry-form-head p {
        font-size: 15px;
    }

    .pttenquiry-fields {
        gap: 17px;
    }

    .pttenquiry-input input {
        height: 54px;
    }

    .pttenquiry-input textarea {
        min-height: 140px;
    }

    .pttenquiry-assurance {
        align-items: flex-start;
    }

    .pttenquiry-visual {
        min-height: 520px;
    }

    .pttenquiry-benefits {
        gap: 7px;
    }

    .pttenquiry-benefits span {
        font-size: 10px;
    }

}


/* =========================================================
   RESPONSIVE - 390 / 375 / 360
========================================================= */

@media (max-width: 390px) {

    .pttenquiry-heading h2 {
        font-size: 31px;
    }

    .pttenquiry-form-area {
        padding-left: 17px;
        padding-right: 17px;
    }

    .pttenquiry-visual {
        min-height: 540px;
    }

    .pttenquiry-visual-content {
        left: 19px;
        right: 19px;
    }

    .pttenquiry-visual-content h3 {
        font-size: 29px;
    }

    .pttenquiry-visual-content > p {
        font-size: 15px;
    }

    .pttenquiry-benefits span {
        padding: 6px 9px;
    }

    .pttenquiry-whatsapp {
        width: 100%;

        justify-content: center;

        box-sizing: border-box;
    }

}


/* =========================================================
   TOYOTA ETIOS JODHPUR
   RED / BLACK / WHITE
   COMPLETE ISOLATED CSS
========================================================= */

.pttetios-page{
  --ptt-red:#fb0001;
  --ptt-black:#090909;
  --ptt-text:#202020;
  --ptt-muted:#5b5b5b;
  --ptt-line:#dedede;
  --ptt-soft:#f5f5f3;
  --ptt-white:#ffffff;

  width:100%;
  overflow:hidden;
  background:#fff;
  color:var(--ptt-black);
  font-family:'Poppins',sans-serif;
}

.pttetios-page *,
.pttetios-page *::before,
.pttetios-page *::after{
  box-sizing:border-box;
}

.pttetios-container{
  width:min(92vw,1480px);
  margin-inline:auto;
}

.pttetios-page img{
  max-width:100%;
}

.pttetios-page a{
  transition:
    color .3s ease,
    background .3s ease,
    border .3s ease,
    transform .3s ease,
    opacity .3s ease;
}


/* =========================================================
   SHARED TYPOGRAPHY
========================================================= */

.pttetios-eyebrow{
  display:block;
  margin-bottom:17px;
  color:var(--ptt-red);
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:3.4px;
  text-transform:uppercase;
}

.pttetios-eyebrow-light{
  color:#ff3636;
}

.pttetios-section-head{
  max-width:850px;
  margin-bottom:55px;
}

.pttetios-section-head-center{
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.pttetios-section-head h2{
  margin:0;
  color:#090909;
  font-size:clamp(43px,4vw,62px);
  line-height:1.05;
  font-weight:700;
  letter-spacing:-2.8px;
}

.pttetios-section-head h2 span{
  color:var(--ptt-red);
}

.pttetios-section-head p{
  max-width:720px;
  margin:20px 0 0;
  color:#333;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
}

.pttetios-section-head-center p{
  margin-left:auto;
  margin-right:auto;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttetios-btn{
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  padding:0 27px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.pttetios-btn-red{
  background:var(--ptt-red);
  color:#fff;
  box-shadow:0 13px 30px rgba(251,0,1,.16);
}

.pttetios-btn-red:hover{
  background:#d90001;
  color:#fff;
  transform:translateY(-2px);
}

.pttetios-btn-dark{
  background:#090909;
  color:#fff;
}

.pttetios-btn-dark:hover{
  background:#292929;
  color:#fff;
  transform:translateY(-2px);
}


/* =========================================================
   01 INTRO
========================================================= */

.pttetios-intro{
  padding:82px 0 90px;
  background:#fff;
}

.pttetios-intro-grid{
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:85px;
  align-items:center;
}

.pttetios-intro-content{
  max-width:630px;
}

.pttetios-intro-content h1{
  margin:0;
  color:#090909;
  font-size:clamp(50px,4.8vw,76px);
  line-height:.98;
  font-weight:700;
  letter-spacing:-3.8px;
}

.pttetios-intro-content h1 span{
  display:block;
  color:var(--ptt-red);
}

.pttetios-intro-content > p{
  margin:25px 0 0;
  color:#292929;
  font-size:17px;
  line-height:1.75;
  font-weight:400;
}

.pttetios-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}

.pttetios-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:43px;
  padding-top:27px;
  border-top:1px solid #ddd;
}

.pttetios-specs > div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 18px;
  border-right:1px solid #ddd;
}

.pttetios-specs > div:first-child{
  padding-left:0;
}

.pttetios-specs > div:last-child{
  border-right:0;
}

.pttetios-specs i{
  color:var(--ptt-red);
  font-size:18px;
}

.pttetios-specs small,
.pttetios-specs strong{
  display:block;
}

.pttetios-specs small{
  margin-bottom:3px;
  color:#777;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.2px;
}

.pttetios-specs strong{
  color:#111;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
}


/* INTRO IMAGE */

.pttetios-intro-image{
  position:relative;
  min-height:535px;
  background:#eee;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(0,0,0,.13);
}

.pttetios-intro-image::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  background:linear-gradient(
    180deg,
    transparent 48%,
    rgba(0,0,0,.56) 100%
  );
  pointer-events:none;
}

.pttetios-intro-image img{
  width:100%;
  height:535px;
  display:block;
  object-fit:cover;
}

.pttetios-image-number{
  position:absolute;
  z-index:4;
  top:22px;
  right:22px;
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111;
  font-size:11px;
  font-weight:700;
}

.pttetios-image-caption{
  position:absolute;
  z-index:4;
  left:28px;
  bottom:25px;
  padding-left:17px;
  border-left:3px solid var(--ptt-red);
}

.pttetios-image-caption span,
.pttetios-image-caption strong{
  display:block;
}

.pttetios-image-caption span{
  margin-bottom:4px;
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.pttetios-image-caption strong{
  color:#fff;
  font-size:16px;
  font-weight:600;
}


/* =========================================================
   02 SERVICES
========================================================= */

.pttetios-services{
  padding:88px 0 95px;
  background:var(--ptt-soft);
}

.pttetios-service-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #d9d9d9;
  border-left:1px solid #d9d9d9;
}

.pttetios-service{
  position:relative;
  min-height:335px;
  display:flex;
  flex-direction:column;
  padding:30px 27px;
  background:#fff;
  border-right:1px solid #d9d9d9;
  border-bottom:1px solid #d9d9d9;
  overflow:hidden;
}

.pttetios-service-no{
  color:#a0a0a0;
  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
}

.pttetios-service-icon{
  width:55px;
  height:55px;
  display:grid;
  place-items:center;
  margin:35px 0 27px;
  border-radius:50%;
  background:#f5f5f5;
  color:var(--ptt-red);
  font-size:18px;
}

.pttetios-service h3{
  margin:0 0 13px;
  color:#0a0a0a;
  font-size:21px;
  line-height:1.25;
  font-weight:650;
  letter-spacing:-.6px;
}

.pttetios-service p{
  margin:0;
  color:#3b3b3b;
  font-size:15px;
  line-height:1.65;
}

.pttetios-service-line{
  width:28px;
  height:3px;
  margin-top:auto;
  background:var(--ptt-red);
  transition:width .35s ease;
}

.pttetios-service:hover .pttetios-service-line{
  width:70px;
}

.pttetios-service-featured{
  background:#090909;
  border-color:#090909;
}

.pttetios-service-featured .pttetios-service-no{
  color:#777;
}

.pttetios-service-featured .pttetios-service-icon{
  background:var(--ptt-red);
  color:#fff;
}

.pttetios-service-featured h3{
  color:#fff;
}

.pttetios-service-featured p{
  color:#c8c8c8;
}


/* =========================================================
   03 WHY
========================================================= */

.pttetios-why{
  padding:95px 0;
  background:#090909;
}

.pttetios-why-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:95px;
  align-items:start;
}

.pttetios-why-intro h2{
  margin:0;
  max-width:540px;
  color:#fff;
  font-size:clamp(44px,4vw,61px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-3px;
}

.pttetios-why-intro h2 span{
  display:block;
  color:var(--ptt-red);
}

.pttetios-why-intro p{
  max-width:530px;
  margin:24px 0 0;
  color:#d0d0d0;
  font-size:16px;
  line-height:1.75;
}

.pttetios-text-link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:28px;
  padding-bottom:7px;
  border-bottom:1px solid #555;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
}

.pttetios-text-link i{
  color:var(--ptt-red);
}

.pttetios-text-link:hover i{
  transform:translateX(4px);
}


/* BENEFITS */

.pttetios-benefits{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid #2d2d2d;
  border-left:1px solid #2d2d2d;
}

.pttetios-benefits article{
  min-height:215px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:20px;
  padding:30px;
  border-right:1px solid #2d2d2d;
  border-bottom:1px solid #2d2d2d;
}

.pttetios-benefit-icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid #393939;
  color:var(--ptt-red);
  font-size:17px;
}

.pttetios-benefits article > div:last-child > span{
  display:block;
  margin-bottom:8px;
  color:var(--ptt-red);
  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.pttetios-benefits h3{
  margin:0 0 9px;
  color:#fff;
  font-size:19px;
  line-height:1.3;
  font-weight:600;
}

.pttetios-benefits p{
  margin:0;
  color:#bdbdbd;
  font-size:14px;
  line-height:1.65;
}


/* =========================================================
   04 JODHPUR
========================================================= */

.pttetios-jodhpur{
  padding:88px 0 92px;
  background:#fff;
}

.pttetios-jodhpur-head{
  display:grid;
  grid-template-columns:130px 1fr .85fr;
  gap:45px;
  align-items:end;
  margin-bottom:48px;
}

.pttetios-jdh{
  color:#ededed;
  font-size:80px;
  line-height:.8;
  font-weight:800;
  letter-spacing:-7px;
}

.pttetios-jodhpur-head h2{
  margin:0;
  color:#090909;
  font-size:clamp(41px,3.7vw,57px);
  line-height:1;
  font-weight:700;
  letter-spacing:-2.8px;
}

.pttetios-jodhpur-head h2 span{
  display:block;
  color:var(--ptt-red);
}

.pttetios-jodhpur-head > p{
  margin:0;
  color:#303030;
  font-size:16px;
  line-height:1.7;
}

.pttetios-jodhpur-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #ddd;
  border-left:1px solid #ddd;
}

.pttetios-jodhpur-grid > div{
  min-height:120px;
  display:grid;
  grid-template-columns:1fr auto;
  align-content:space-between;
  padding:22px 23px;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  transition:.3s ease;
}

.pttetios-jodhpur-grid span{
  color:#999;
  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.pttetios-jodhpur-grid i{
  color:var(--ptt-red);
  font-size:15px;
}

.pttetios-jodhpur-grid strong{
  grid-column:1 / -1;
  margin-top:27px;
  color:#111;
  font-size:16px;
  font-weight:600;
}

.pttetios-jodhpur-grid > div:hover{
  background:#090909;
}

.pttetios-jodhpur-grid > div:hover strong{
  color:#fff;
}


/* =========================================================
   05 DESTINATIONS
========================================================= */

.pttetios-destinations{
  padding:95px 0 100px;
  background:#f5f5f3;
}

.pttetios-destination-head{
  display:grid;
  grid-template-columns:1fr 470px;
  gap:75px;
  align-items:end;
  margin-bottom:50px;
}

.pttetios-destination-head h2{
  margin:0;
  color:#090909;
  font-size:clamp(44px,4vw,62px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-3px;
}

.pttetios-destination-head h2 span{
  display:block;
  color:var(--ptt-red);
}

.pttetios-destination-intro{
  display:flex;
  align-items:flex-end;
  gap:25px;
}

.pttetios-destination-intro p{
  margin:0;
  color:#303030;
  font-size:16px;
  line-height:1.7;
}

.pttetios-destination-intro > a{
  flex:0 0 52px;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ptt-red);
  color:#fff;
  text-decoration:none;
}

.pttetios-destination-intro > a:hover{
  transform:translateX(4px);
}


/* 4 X 2 CLEAR DESTINATION GRID */

.pttetios-destination-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:38px 20px;
}

.pttetios-destination-card{
  min-width:0;
}

.pttetios-destination-image{
  position:relative;
  display:block;
  height:285px;
  overflow:hidden;
  background:#ddd;
}

.pttetios-destination-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    transparent 55%,
    rgba(0,0,0,.40) 100%
  );
}

.pttetios-destination-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}

.pttetios-destination-card:hover img{
  transform:scale(1.045);
}

.pttetios-destination-number{
  position:absolute;
  z-index:3;
  top:16px;
  left:16px;
  min-width:40px;
  height:40px;
  display:grid;
  place-items:center;
  padding:0 8px;
  background:#fff;
  color:#111;
  font-size:10px;
  font-weight:700;
}

.pttetios-destination-go{
  position:absolute;
  z-index:3;
  right:16px;
  bottom:16px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--ptt-red);
  color:#fff;
  font-size:11px;
  transform:translateY(8px);
  opacity:0;
}

.pttetios-destination-card:hover .pttetios-destination-go{
  transform:translateY(0);
  opacity:1;
}

.pttetios-destination-copy{
  padding:19px 2px 0;
}

.pttetios-destination-copy > span{
  display:block;
  margin-bottom:7px;
  color:var(--ptt-red);
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:2px;
}

.pttetios-destination-copy h3{
  margin:0;
  font-size:20px;
  line-height:1.28;
  font-weight:650;
  letter-spacing:-.5px;
}

.pttetios-destination-copy h3 a{
  color:#0a0a0a;
  text-decoration:none;
}

.pttetios-destination-copy h3 a:hover{
  color:var(--ptt-red);
}

.pttetios-destination-copy p{
  margin:8px 0 0;
  color:#454545;
  font-size:13px;
  line-height:1.55;
}

.pttetios-destination-copy p b{
  padding:0 4px;
  color:var(--ptt-red);
}

.pttetios-destination-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-top:55px;
  padding-top:28px;
  border-top:1px solid #d6d6d6;
}

.pttetios-destination-bottom p{
  max-width:650px;
  margin:0;
  color:#333;
  font-size:15px;
  line-height:1.65;
}


/* =========================================================
   06 ROUTES
========================================================= */

.pttetios-routes{
  padding:95px 0;
  background:#fff;
}

.pttetios-route-list{
  border-top:1px solid #ddd;
}


.pttetios-route-list > a{
  min-height:88px;
  display:grid;
  grid-template-columns:55px 1fr 180px 44px;
  gap:25px;
  align-items:center;
  padding:0 8px;
  border-bottom:1px solid #ddd;
  color:#111;
  text-decoration:none;
}

.pttetios-route-list > a > span{
  color:#999;
  font-size:10px;
  font-weight:700;
}

.pttetios-route-list h3{
  margin:0;
  color:#111;
  font-size:20px;
  line-height:1.3;
  font-weight:600;
}

.pttetios-route-list h3 i{
  margin:0 12px;
  color:var(--ptt-red);
  font-size:12px;
}

.pttetios-route-list small{
  color:#777;
  font-size:9px;
  font-weight:700;
  letter-spacing:1.7px;
}

.pttetios-route-list b{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#f2f2f2;
  color:#111;
  font-size:10px;
}

.pttetios-route-list > a:hover{
  padding-left:20px;
  padding-right:20px;
  background:#090909;
}

.pttetios-route-list > a:hover h3{
  color:#fff;
}

.pttetios-route-list > a:hover b{
  background:var(--ptt-red);
  color:#fff;
}


/* =========================================================
   07 CTA
========================================================= */

.pttetios-cta{
  padding:0 0 85px;
  background:#fff;
}

.pttetios-cta-inner{
  position:relative;
  overflow:hidden;
  min-height:310px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:65px;
  align-items:center;
  padding:58px 65px;
  background:var(--ptt-red);
}


.pttetios-cta-inner::after{
  content:"ETIOS";
  position:absolute;
  right:-25px;
  bottom:-40px;
  color:rgba(255,255,255,.10);
  font-size:190px;
  line-height:.8;
  font-weight:800;
  letter-spacing:-12px;
}

.pttetios-cta-inner > div{
  position:relative;
  z-index:2;
}

.pttetios-cta-inner > div:first-child > span{
  display:block;
  margin-bottom:12px;
  color:#fff;
  font-size:9px;
  font-weight:700;
  letter-spacing:2.7px;
}

.pttetios-cta h2{
  margin:0;
  color:#fff;
  font-size:clamp(42px,4vw,60px);
  line-height:1;
  font-weight:700;
  letter-spacing:-3px;
}

.pttetios-cta h2 strong{
  display:block;
  color:#090909;
}

.pttetios-cta p{
  max-width:650px;
  margin:20px 0 0;
  color:#fff;
  font-size:16px;
  line-height:1.65;
}

.pttetios-cta-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.pttetios-cta-phone{
  min-width:230px;
  min-height:66px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 20px;
  background:#fff;
  color:#111;
  text-decoration:none;
}

.pttetios-cta-phone > i{
  color:var(--ptt-red);
}

.pttetios-cta-phone small,
.pttetios-cta-phone strong{
  display:block;
}

.pttetios-cta-phone small{
  margin-bottom:3px;
  color:#777;
  font-size:8px;
  font-weight:700;
  letter-spacing:1.2px;
}

.pttetios-cta-phone strong{
  font-size:14px;
}

.pttetios-cta-whatsapp{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#090909;
  color:#fff;
  text-decoration:none;
  font-size:21px;
}

.pttetios-cta-whatsapp:hover{
  transform:scale(1.07);
  color:#fff;
}


/* =========================================================
   1280
========================================================= */

@media(max-width:1280px){

  .pttetios-intro-grid{
    gap:55px;
  }

  .pttetios-intro-image,
  .pttetios-intro-image img{
    height:490px;
    min-height:490px;
  }

  .pttetios-why-grid{
    gap:60px;
  }

  .pttetios-destination-grid{
    grid-template-columns:repeat(4,1fr);
  }

  .pttetios-destination-image{
    height:245px;
  }

}


/* =========================================================
   1024 / TABLET LANDSCAPE
========================================================= */

@media(max-width:1050px){

  .pttetios-intro-grid{
    grid-template-columns:1fr 1fr;
    gap:38px;
  }

  .pttetios-intro-content h1{
    font-size:50px;
  }

  .pttetios-specs{
    grid-template-columns:1fr;
    gap:13px;
  }

  .pttetios-specs > div{
    padding:0 0 13px;
    border-right:0;
    border-bottom:1px solid #ddd;
  }

  .pttetios-service-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .pttetios-why-grid{
    grid-template-columns:1fr;
  }

  .pttetios-jodhpur-head{
    grid-template-columns:100px 1fr;
  }

  .pttetios-jodhpur-head > p{
    grid-column:2;
  }

  .pttetios-jodhpur-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .pttetios-destination-head{
    grid-template-columns:1fr;
    gap:25px;
  }

  .pttetios-destination-intro{
    max-width:700px;
  }

  .pttetios-destination-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .pttetios-destination-image{
    height:320px;
  }

  .pttetios-cta-inner{
    grid-template-columns:1fr;
    gap:35px;
  }

}


/* =========================================================
   768
========================================================= */

@media(max-width:768px){

  .pttetios-container{
    width:calc(100% - 36px);
  }

  .pttetios-intro,
  .pttetios-services,
  .pttetios-why,
  .pttetios-jodhpur,
  .pttetios-destinations,
  .pttetios-routes{
    padding:72px 0;
  }

  .pttetios-intro-grid{
    grid-template-columns:1fr;
  }

  .pttetios-intro-content{
    max-width:none;
  }

  .pttetios-intro-content h1{
    font-size:48px;
  }

  .pttetios-intro-image,
  .pttetios-intro-image img{
    height:460px;
    min-height:460px;
  }

  .pttetios-specs{
    grid-template-columns:repeat(3,1fr);
  }

  .pttetios-specs > div{
    padding:0 13px;
    border-bottom:0;
    border-right:1px solid #ddd;
  }

  .pttetios-section-head h2,
  .pttetios-jodhpur-head h2,
  .pttetios-destination-head h2{
    font-size:42px;
  }

  .pttetios-benefits{
    grid-template-columns:1fr;
  }

  .pttetios-jodhpur-head{
    grid-template-columns:1fr;
    gap:18px;
  }

  .pttetios-jdh{
    font-size:60px;
  }

  .pttetios-jodhpur-head > p{
    grid-column:auto;
  }

  .pttetios-route-list > a{
    grid-template-columns:40px 1fr 42px;
  }

  .pttetios-route-list small{
    display:none;
  }

  .pttetios-destination-bottom{
    flex-direction:column;
    align-items:flex-start;
  }

  .pttetios-cta{
    padding-bottom:60px;
  }

  .pttetios-cta-inner{
    padding:45px 35px;
  }

}


/* =========================================================
   600
========================================================= */

@media(max-width:600px){

  .pttetios-container{
    width:calc(100% - 30px);
  }

  .pttetios-intro{
    padding-top:55px;
  }

  .pttetios-intro-content h1{
    font-size:42px;
    letter-spacing:-2px;
  }

  .pttetios-intro-content > p{
    font-size:16px;
  }

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

  .pttetios-btn{
    width:100%;
  }

  .pttetios-specs{
    grid-template-columns:1fr;
  }

  .pttetios-specs > div{
    padding:0 0 12px;
    border-right:0;
    border-bottom:1px solid #ddd;
  }

  .pttetios-intro-image,
  .pttetios-intro-image img{
    height:360px;
    min-height:360px;
  }

  .pttetios-service-grid{
    grid-template-columns:1fr;
  }

  .pttetios-service{
    min-height:300px;
  }

  .pttetios-section-head h2,
  .pttetios-jodhpur-head h2,
  .pttetios-destination-head h2{
    font-size:36px;
    letter-spacing:-2px;
  }

  .pttetios-why-intro h2{
    font-size:38px;
    letter-spacing:-2px;
  }

  .pttetios-jodhpur-grid{
    grid-template-columns:1fr;
  }

  .pttetios-destination-intro{
    align-items:flex-start;
  }

  .pttetios-destination-grid{
    grid-template-columns:1fr;
    gap:38px;
  }

  .pttetios-destination-image{
    height:300px;
  }

  .pttetios-destination-go{
    opacity:1;
    transform:none;
  }

  .pttetios-route-list > a{
    min-height:82px;
    gap:10px;
  }

  .pttetios-route-list h3{
    font-size:16px;
  }

  .pttetios-route-list h3 i{
    margin:0 5px;
  }

  .pttetios-cta-inner{
    padding:40px 24px;
  }

  .pttetios-cta h2{
    font-size:37px;
    letter-spacing:-2px;
  }

  .pttetios-cta-actions{
    align-items:stretch;
  }

  .pttetios-cta-phone{
    flex:1;
    min-width:0;
  }

}


/* =========================================================
   430 / 390 / 360
========================================================= */

@media(max-width:430px){

  .pttetios-intro,
  .pttetios-services,
  .pttetios-why,
  .pttetios-jodhpur,
  .pttetios-destinations,
  .pttetios-routes{
    padding:62px 0;
  }

  .pttetios-eyebrow{
    font-size:9px;
    letter-spacing:2.5px;
  }

  .pttetios-intro-content h1{
    font-size:38px;
  }

  .pttetios-intro-image,
  .pttetios-intro-image img{
    height:310px;
    min-height:310px;
  }

  .pttetios-section-head h2,
  .pttetios-jodhpur-head h2,
  .pttetios-destination-head h2{
    font-size:33px;
  }

  .pttetios-section-head p,
  .pttetios-jodhpur-head > p,
  .pttetios-destination-intro p{
    font-size:15px;
  }

  .pttetios-benefits article{
    grid-template-columns:48px 1fr;
    padding:25px 20px;
  }

  .pttetios-benefit-icon{
    width:44px;
    height:44px;
  }

  .pttetios-destination-intro{
    flex-direction:column;
  }

  .pttetios-destination-image{
    height:270px;
  }

  .pttetios-destination-copy h3{
    font-size:19px;
  }

  .pttetios-route-list > a{
    grid-template-columns:27px 1fr 38px;
  }

  .pttetios-route-list h3{
    font-size:14px;
  }

  .pttetios-cta-actions{
    flex-wrap:wrap;
  }

  .pttetios-cta-phone{
    width:100%;
    flex:auto;
  }

  .pttetios-cta-inner::after{
    font-size:120px;
  }

}

@media(max-width:360px){

  .pttetios-container{
    width:calc(100% - 28px);
  }

  .pttetios-intro-content h1{
    font-size:35px;
  }

  .pttetios-destination-image{
    height:245px;
  }

  .pttetios-cta h2{
    font-size:33px;
  }

}



/* =========================================================
   INNOVA CRYSTA PAGE
   PREFIX: crystaX-
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.crystaX-page{
  --cx-red:#fb0001;
  --cx-black:#070707;
  --cx-text:#101010;
  --cx-muted:#555;
  --cx-soft:#f5f5f3;
  --cx-line:#e5e5e2;
  --cx-white:#fff;

  width:100%;
  overflow:hidden;
  color:var(--cx-text);
  background:#fff;
 font-family: "Outfit", sans-serif;
}

.crystaX-page *,
.crystaX-page *::before,
.crystaX-page *::after{
  box-sizing:border-box;
}

.crystaX-shell{
  width:min(91%,1420px);
  margin:0 auto;
}

.crystaX-page img{
  display:block;
  width:100%;
}

.crystaX-page a{
  color:inherit;
  text-decoration:none;
}

.crystaX-page p{
  margin:0;
  color:#555;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
}


/* =========================================================
   COMMON HEADINGS
========================================================= */

.crystaX-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:15px;

  color:var(--cx-red);
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.crystaX-kicker > span{
  width:34px;
  height:1px;
  background:var(--cx-red);
}

.crystaX-page h2{
  margin:0;
  color:#080808;

  font-size:clamp(43px,4vw,64px);
  line-height:.99;
  font-weight:700;
  letter-spacing:-2.8px;
}

.crystaX-page h2 em{
  display:block;
  color:var(--cx-red);
  font-style:normal;
  font-weight:700;
}

.crystaX-headingRow{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(340px,.62fr);
  align-items:end;
  gap:70px;
  margin-bottom:45px;
}

.crystaX-headingRow > p{
  max-width:530px;
  justify-self:end;
  color:#4b4b4b;
  font-size:17px;
  line-height:1.7;
}


/* =========================================================
   HERO
========================================================= */

.crystaX-hero{
  position:relative;
  min-height:clamp(470px,38vw,630px);

  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;

  overflow:hidden;
}

.crystaX-heroShade{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.18) 0%,
      rgba(0,0,0,.05) 42%,
      rgba(0,0,0,0) 70%
    );
}

.crystaX-heroInner{
  position:relative;
  z-index:2;

  min-height:inherit;

  display:flex;
  align-items:flex-start;

  padding-top:70px;
}

.crystaX-heroTitle{
  width:430px;
  margin-left:11%;
  text-align:center;
  color:#fff;
}

.crystaX-heroTitle > span{
  display:block;
  margin-bottom:3px;

  font-size:16px;
  font-weight:500;
  letter-spacing:9px;
}

.crystaX-heroTitle h1{
  margin:0;

  color:#fff;
  font-family:'Cormorant Garamond',Georgia,serif;

  font-size:clamp(84px,8.5vw,138px);
  line-height:.78;
  font-weight:500;
  letter-spacing:-4px;
}

.crystaX-heroTitle strong{
  display:block;
  margin-top:25px;

  font-size:19px;
  line-height:1;
  font-weight:500;
  letter-spacing:13px;
}

.crystaX-heroTitle i{
  display:block;

  width:60px;
  height:1px;

  margin:22px auto 0;

  background:rgba(255,255,255,.8);
}


/* =========================================================
   INTRO
========================================================= */

.crystaX-intro{
  padding:82px 0 0;
  background:#fff;
}

.crystaX-introGrid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:75px;
}

.crystaX-introText{
  padding-left:3%;
}

.crystaX-introText h2{
  max-width:630px;
}

.crystaX-introText .crystaX-lead{
  max-width:650px;
  margin-top:24px;

  color:#171717;
  font-size:18px;
  line-height:1.65;
  font-weight:500;
}

.crystaX-introText > p:not(.crystaX-lead){
  max-width:650px;
  margin-top:13px;
}

.crystaX-introButtons{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:25px;

  margin-top:28px;
}

.crystaX-redBtn{
  min-height:54px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  padding:0 26px;

  border-radius:100px;

  color:#fff !important;
  background:var(--cx-red);

  font-size:13px;
  font-weight:600;

  box-shadow:0 12px 25px rgba(251,0,1,.14);

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;
}

.crystaX-redBtn:hover{
  transform:translateY(-3px);

  background:#df0001;

  box-shadow:0 16px 32px rgba(251,0,1,.22);
}

.crystaX-waLink{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:#111 !important;

  font-size:14px;
  font-weight:600;
}

.crystaX-waLink i{
  color:var(--cx-red);
  font-size:18px;
}


/* car visual */

.crystaX-carVisual{
  position:relative;
  padding:25px 2% 0 3%;
}

.crystaX-sectionNumber{
  position:absolute;
  top:-30px;
  left:-5px;

  color:#ededeb;

  font-size:120px;
  line-height:1;
  font-weight:700;
  letter-spacing:-8px;
}

.crystaX-carImage{
  position:relative;
  z-index:2;

  height:430px;

  overflow:hidden;

  background:#eee;

  box-shadow:0 25px 55px rgba(0,0,0,.11);
}

.crystaX-carImage img{
  height:100%;
  object-fit:cover;
}

.crystaX-carLabel{
  position:absolute;
  left:0;
  bottom:0;

  min-width:245px;

  padding:16px 22px;

  background:#080808;
  color:#fff;
}

.crystaX-carLabel small{
  display:block;

  margin-bottom:3px;

  color:#ff4c4c;

  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.crystaX-carLabel strong{
  font-size:14px;
  font-weight:600;
}


/* specs */

.crystaX-specStrip{
  margin-top:72px;

  display:grid;
  grid-template-columns:repeat(4,1fr);

  border-top:1px solid var(--cx-line);
  border-bottom:1px solid var(--cx-line);
}

.crystaX-specStrip > div{
  min-height:102px;

  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;

  border-right:1px solid var(--cx-line);
}

.crystaX-specStrip > div:last-child{
  border-right:0;
}

.crystaX-specStrip i{
  color:var(--cx-red);
  font-size:20px;
}

.crystaX-specStrip span{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.crystaX-specStrip small{
  color:#999;
  font-size:9px;
  font-weight:600;
  letter-spacing:1.5px;
}

.crystaX-specStrip strong{
  color:#111;
  font-size:15px;
  font-weight:650;
}


/* =========================================================
   FEATURES
========================================================= */

.crystaX-features{
  padding:88px 0 95px;
  background:#f4f4f2;
}

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

.crystaX-featureCard{
  position:relative;

  min-height:285px;

  padding:32px 30px;

  display:flex;
  flex-direction:column;

  background:#fff;

  border:1px solid #e3e3df;

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease;
}

.crystaX-featureCard:hover{
  z-index:2;

  transform:translateY(-5px);

  border-color:#ddd;

  box-shadow:0 22px 50px rgba(0,0,0,.07);
}

.crystaX-featureNo{
  position:absolute;
  top:25px;
  right:27px;

  color:#ddd;

  font-size:34px;
  line-height:1;
  font-weight:700;
}

.crystaX-featureIcon{
  width:52px;
  height:52px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:37px;

  border-radius:50%;

  color:#fff;
  background:var(--cx-red);

  font-size:18px;
}

.crystaX-featureCard h3{
  margin:0 0 11px;

  color:#0a0a0a;

  font-size:21px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:-.5px;
}

.crystaX-featureCard p{
  max-width:390px;

  color:#555;

  font-size:15px;
  line-height:1.65;
}

.crystaX-featureCard > small{
  margin-top:auto;
  padding-top:24px;

  color:#999;

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}


/* featured black card */

.crystaX-featureDark{
  color:#fff;
  background:#080808;
  border-color:#080808;
}

.crystaX-featureDark .crystaX-featureNo{
  color:rgba(255,255,255,.11);
}

.crystaX-featureDark h3{
  color:#fff;
}

.crystaX-featureDark p{
  color:rgba(255,255,255,.68);
}

.crystaX-featureDark > small{
  color:rgba(255,255,255,.42);
}


/* =========================================================
   JOURNEY BLACK SECTION
========================================================= */

.crystaX-journey{
  padding:88px 0;
  background:#080808;
}

.crystaX-journeyGrid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:115px;
}

.crystaX-kickerDark{
  color:#ff3535;
}

.crystaX-journeyIntro h2{
  color:#fff;
  max-width:500px;
}

.crystaX-journeyIntro h2 em{
  color:var(--cx-red);
}

.crystaX-journeyIntro p{
  max-width:500px;
  margin-top:23px;

  color:rgba(255,255,255,.66);

  font-size:16px;
}

.crystaX-journeyIntro > a{
  display:inline-flex;
  align-items:center;
  gap:12px;

  margin-top:26px;

  color:#fff;

  font-size:13px;
  font-weight:600;
}

.crystaX-journeyIntro > a i{
  color:var(--cx-red);
}


/* list */

.crystaX-journeyList{
  border-top:1px solid rgba(255,255,255,.13);
}

.crystaX-journeyItem{
  min-height:116px;

  display:grid;
  grid-template-columns:45px 1fr 45px;
  align-items:center;
  gap:22px;

  border-bottom:1px solid rgba(255,255,255,.13);

  transition:padding .3s ease;
}

.crystaX-journeyItem:hover{
  padding-left:8px;
}

.crystaX-journeyItem > span{
  color:rgba(255,255,255,.25);

  font-size:11px;
  font-weight:600;
}

.crystaX-journeyItem h3{
  margin:0 0 6px;

  color:#fff;

  font-size:19px;
  font-weight:600;
}

.crystaX-journeyItem p{
  color:rgba(255,255,255,.53);

  font-size:13px;
  line-height:1.55;
}

.crystaX-journeyItem > i{
  color:var(--cx-red);

  font-size:17px;
  text-align:center;
}


/* =========================================================
   ROUTES
========================================================= */

.crystaX-routes{
  padding:88px 0 92px;
  background:#fff;
}

.crystaX-routeGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  border-left:1px solid var(--cx-line);
  border-top:1px solid var(--cx-line);
}

.crystaX-route{
  position:relative;

  min-height:145px;

  padding:24px 24px 23px;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  background:#fff;

  border-right:1px solid var(--cx-line);
  border-bottom:1px solid var(--cx-line);

  transition:
    background .3s ease,
    transform .3s ease;
}

.crystaX-route:hover{
  z-index:2;

  background:#fafafa;

  transform:translateY(-4px);
}

.crystaX-route > small{
  position:absolute;
  top:22px;
  left:24px;

  color:#aaa;

  font-size:10px;
  font-weight:600;
}

.crystaX-route > span{
  margin-bottom:4px;

  color:#999;

  font-size:10px;
  font-weight:600;
  letter-spacing:1.2px;
  text-transform:uppercase;
}

.crystaX-route h3{
  margin:0;

  color:#0b0b0b;

  font-size:17px;
  line-height:1.3;
  font-weight:650;
}

.crystaX-route > i{
  position:absolute;
  top:20px;
  right:20px;

  width:30px;
  height:30px;

  display:flex;
  align-items:center;
  justify-content:center;

  border:1px solid #e6e6e6;
  border-radius:50%;

  color:var(--cx-red);

  font-size:9px;

  transition:.3s ease;
}

.crystaX-route:hover > i{
  color:#fff;
  background:var(--cx-red);
  border-color:var(--cx-red);
}

.crystaX-routeRed{
  background:var(--cx-red);
}

.crystaX-routeRed > small,
.crystaX-routeRed > span{
  color:rgba(255,255,255,.65);
}

.crystaX-routeRed h3{
  color:#fff;
}

.crystaX-routeRed > i{
  color:#fff;
  border-color:rgba(255,255,255,.5);
}

.crystaX-routeRed:hover{
  background:#df0001;
}


/* =========================================================
   DAY TOURS
========================================================= */

.crystaX-tours{
  padding:88px 0 92px;
  background:#f4f4f2;
}

.crystaX-tourIntro{
  display:grid;
  grid-template-columns:1fr 50px;
  align-items:center;
  gap:22px;
}

.crystaX-tourIntro > p{
  max-width:510px;
  font-size:16px;
}

.crystaX-tourIntro > a{
  width:48px;
  height:48px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  color:#fff;
  background:var(--cx-red);

  font-size:12px;

  transition:transform .3s ease;
}

.crystaX-tourIntro > a:hover{
  transform:translateX(5px);
}


/* cards */

.crystaX-tourGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px 20px;
}

.crystaX-tourCard{
  min-width:0;
}

.crystaX-tourImage{
  position:relative;

  display:block;

  height:250px;

  overflow:hidden;

  background:#ddd;
}

.crystaX-tourImage::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 45%,
      rgba(0,0,0,.66) 100%
    );

  pointer-events:none;
}

.crystaX-tourImage img{
  height:100%;
  object-fit:cover;

  transition:transform .55s ease;
}

.crystaX-tourCard:hover .crystaX-tourImage img{
  transform:scale(1.055);
}

.crystaX-tourImage > span{
  position:absolute;
  z-index:3;

  top:13px;
  left:13px;

  width:30px;
  height:30px;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#111;
  background:#fff;

  font-size:9px;
  font-weight:700;
}

.crystaX-tourOverlay{
  position:absolute;
  z-index:3;

  left:18px;
  right:18px;
  bottom:16px;

  color:#fff;
}

.crystaX-tourOverlay small{
  display:block;

  margin-bottom:3px;

  color:rgba(255,255,255,.72);

  font-size:8px;
  font-weight:600;
  letter-spacing:2px;
}

.crystaX-tourOverlay strong{
  display:block;

  font-family:'Cormorant Garamond',Georgia,serif;

  font-size:27px;
  line-height:1;
  font-style:italic;
  font-weight:500;
}

.crystaX-tourText{
  padding:16px 2px 0;
}

.crystaX-tourText > small{
  display:block;

  margin-bottom:6px;

  color:var(--cx-red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.6px;
}

.crystaX-tourText h3{
  margin:0 0 7px;

  color:#111;

  font-size:17px;
  line-height:1.3;
  font-weight:700;
}

.crystaX-tourText h3 a{
  color:#111;
}

.crystaX-tourText p{
  color:#666;

  font-size:12px;
  line-height:1.5;
}


/* bottom */

.crystaX-tourBottom{
  margin-top:47px;
  padding-top:27px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;

  border-top:1px solid #ddd;
}

.crystaX-tourBottom p{
  max-width:650px;

  color:#555;

  font-size:14px;
}


/* =========================================================
   FAQ
========================================================= */

.crystaX-faq{
  padding:88px 0;
  background:#fff;
}

.crystaX-faqGrid{
  display:grid;
  grid-template-columns:.62fr 1.38fr;
  gap:115px;
}

.crystaX-faqIntro p{
  max-width:400px;

  margin-top:20px;

  font-size:16px;
}

.crystaX-faqIntro > a{
  display:inline-flex;
  align-items:center;
  gap:10px;

  margin-top:22px;

  color:#111;

  font-size:13px;
  font-weight:600;
}

.crystaX-faqIntro > a i{
  color:var(--cx-red);
  font-size:17px;
}


/* faq items */

.crystaX-faqList{
  border-top:1px solid #ddd;
}

.crystaX-faqItem{
  border-bottom:1px solid #ddd;
}

.crystaX-faqItem summary{
  min-height:78px;

  display:grid;
  grid-template-columns:1fr 34px;
  align-items:center;
  gap:20px;

  cursor:pointer;
  list-style:none;

  color:#111;

  font-size:15px;
  line-height:1.45;
  font-weight:600;
}

.crystaX-faqItem summary::-webkit-details-marker{
  display:none;
}

.crystaX-faqItem summary > i{
  width:29px;
  height:29px;

  display:flex;
  align-items:center;
  justify-content:center;

  justify-self:end;

  border:1px solid #e3e3e3;
  border-radius:50%;

  color:var(--cx-red);

  font-size:9px;

  transition:.3s ease;
}

.crystaX-faqItem > p{
  max-width:780px;

  padding:0 60px 25px 0;

  color:#5d5d5d;

  font-size:14px;
  line-height:1.7;
}

.crystaX-faqItem[open] summary > i{
  transform:rotate(45deg);

  color:#fff;
  background:var(--cx-red);
  border-color:var(--cx-red);
}


/* =========================================================
   FINAL CTA
========================================================= */

.crystaX-final{
  padding:0 0 80px;
  background:#fff;
}

.crystaX-finalBox{
  position:relative;

  min-height:275px;

  padding:48px 55px;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:45px;

  overflow:hidden;

  color:#fff;
  background:var(--cx-red);
}

.crystaX-finalText{
  position:relative;
  z-index:2;
}

.crystaX-finalText > span{
  display:block;

  margin-bottom:12px;

  color:#fff;

  font-size:9px;
  font-weight:700;
  letter-spacing:2.7px;
}

.crystaX-finalText h2{
  max-width:650px;

  color:#fff;

  font-size:clamp(40px,3.7vw,58px);
}

.crystaX-finalText h2 strong{
  display:block;
  color:#fff;
}

.crystaX-finalText p{
  max-width:620px;

  margin-top:15px;

  color:rgba(255,255,255,.82);

  font-size:14px;
}

.crystaX-finalActions{
  position:relative;
  z-index:3;

  display:flex;
  align-items:stretch;
}

.crystaX-callBox{
  min-height:64px;

  display:flex;
  align-items:center;
  gap:15px;

  padding:0 24px;

  color:#111 !important;
  background:#fff;
}

.crystaX-callBox > i{
  color:var(--cx-red);
  font-size:16px;
}

.crystaX-callBox > span{
  display:flex;
  flex-direction:column;
}

.crystaX-callBox small{
  margin-bottom:3px;

  color:#888;

  font-size:8px;
  font-weight:600;
  letter-spacing:1.2px;
}

.crystaX-callBox strong{
  color:#111;

  font-size:13px;
  font-weight:700;
}

.crystaX-finalWA{
  width:64px;

  display:flex;
  align-items:center;
  justify-content:center;

  color:#fff !important;
  background:#080808;

  font-size:19px;
}

.crystaX-watermark{
  position:absolute;

  right:-13px;
  bottom:-30px;

  color:rgba(255,255,255,.10);

  font-size:120px;
  line-height:1;
  font-weight:800;
  letter-spacing:-8px;

  pointer-events:none;
}


/* =========================================================
   REVEAL
========================================================= */

.crystaX-reveal{
  opacity:0;
  transform:translateY(22px);

  transition:
    opacity .7s ease,
    transform .7s ease;
}

.crystaX-reveal.crystaX-show{
  opacity:1;
  transform:none;
}


/* =========================================================
   LAPTOP
========================================================= */

@media(max-width:1200px){

  .crystaX-shell{
    width:94%;
  }

  .crystaX-introGrid{
    gap:50px;
  }

  .crystaX-introText{
    padding-left:0;
  }

  .crystaX-carImage{
    height:390px;
  }

  .crystaX-journeyGrid,
  .crystaX-faqGrid{
    gap:75px;
  }

  .crystaX-tourImage{
    height:220px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:992px){

  .crystaX-page h2{
    font-size:46px;
  }

  .crystaX-headingRow{
    grid-template-columns:1fr;
    gap:20px;
  }

  .crystaX-headingRow > p{
    justify-self:start;
    max-width:700px;
  }

  .crystaX-introGrid{
    grid-template-columns:1fr 1fr;
    gap:35px;
  }

  .crystaX-carImage{
    height:340px;
  }

  .crystaX-specStrip{
    grid-template-columns:repeat(2,1fr);
  }

  .crystaX-specStrip > div:nth-child(2){
    border-right:0;
  }

  .crystaX-specStrip > div:nth-child(-n+2){
    border-bottom:1px solid var(--cx-line);
  }

  .crystaX-featureGrid{
    grid-template-columns:repeat(2,1fr);
  }

  .crystaX-journeyGrid{
    grid-template-columns:.75fr 1.25fr;
    gap:50px;
  }

  .crystaX-routeGrid{
    grid-template-columns:repeat(2,1fr);
  }

  .crystaX-tourGrid{
    grid-template-columns:repeat(2,1fr);
    gap:35px 20px;
  }

  .crystaX-tourImage{
    height:300px;
  }

  .crystaX-faqGrid{
    grid-template-columns:.7fr 1.3fr;
    gap:50px;
  }

}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media(max-width:768px){

  .crystaX-shell{
    width:calc(100% - 38px);
  }

  .crystaX-page h2{
    font-size:40px;
    letter-spacing:-2px;
  }

  .crystaX-page p{
    font-size:15px;
  }

  .crystaX-hero{
    min-height:440px;
    background-position:center;
  }

  .crystaX-heroInner{
    padding-top:50px;
  }

  .crystaX-heroTitle{
    margin-left:0;
    width:360px;
  }

  .crystaX-heroTitle h1{
    font-size:84px;
  }

  .crystaX-intro{
    padding-top:65px;
  }

  .crystaX-introGrid{
    grid-template-columns:1fr;
    gap:48px;
  }

  .crystaX-carVisual{
    padding:15px 0 0;
  }

  .crystaX-carImage{
    height:420px;
  }

  .crystaX-sectionNumber{
    top:-35px;
  }

  .crystaX-features,
  .crystaX-journey,
  .crystaX-routes,
  .crystaX-tours,
  .crystaX-faq{
    padding:70px 0;
  }

  .crystaX-journeyGrid{
    grid-template-columns:1fr;
    gap:48px;
  }

  .crystaX-faqGrid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .crystaX-final{
    padding-bottom:65px;
  }

  .crystaX-finalBox{
    grid-template-columns:1fr;

    padding:42px 35px;

    gap:30px;
  }

  .crystaX-finalActions{
    justify-self:start;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .crystaX-shell{
    width:calc(100% - 30px);
  }

  .crystaX-page h2{
    font-size:36px;
    line-height:1.03;
  }

  .crystaX-kicker{
    font-size:9px;
    letter-spacing:2px;
  }

  .crystaX-hero{
    min-height:370px;
  }

  .crystaX-heroTitle{
    width:280px;
  }

  .crystaX-heroTitle > span{
    font-size:12px;
    letter-spacing:6px;
  }

  .crystaX-heroTitle h1{
    font-size:66px;
  }

  .crystaX-heroTitle strong{
    margin-top:18px;

    font-size:13px;
    letter-spacing:8px;
  }

  .crystaX-introText .crystaX-lead{
    font-size:16px;
  }

  .crystaX-introButtons{
    align-items:flex-start;
    flex-direction:column;
  }

  .crystaX-carImage{
    height:310px;
  }

  .crystaX-specStrip{
    margin-top:50px;
  }

  .crystaX-specStrip > div{
    min-height:90px;
    justify-content:flex-start;
    padding:15px;
  }

  .crystaX-specStrip strong{
    font-size:13px;
  }

  .crystaX-featureGrid{
    grid-template-columns:1fr;
  }

  .crystaX-featureCard{
    min-height:260px;
  }

  .crystaX-featureIcon{
    margin-bottom:30px;
  }

  .crystaX-journeyItem{
    grid-template-columns:32px 1fr 28px;
    gap:12px;

    min-height:125px;
  }

  .crystaX-routeGrid{
    grid-template-columns:1fr;
  }

  .crystaX-route{
    min-height:125px;
  }

  .crystaX-tourGrid{
    grid-template-columns:1fr;
  }

  .crystaX-tourImage{
    height:300px;
  }

  .crystaX-tourText h3{
    font-size:19px;
  }

  .crystaX-tourText p{
    font-size:13px;
  }

  .crystaX-tourBottom{
    align-items:flex-start;
    flex-direction:column;
  }

  .crystaX-finalBox{
    padding:38px 24px;
  }

  .crystaX-finalActions{
    width:100%;
  }

  .crystaX-callBox{
    flex:1;
    padding:0 16px;
  }

  .crystaX-finalWA{
    flex:0 0 60px;
  }

  .crystaX-watermark{
    font-size:75px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .crystaX-page h2{
    font-size:33px;
  }

  .crystaX-hero{
    min-height:340px;
  }

  .crystaX-heroTitle h1{
    font-size:58px;
  }

  .crystaX-carImage{
    height:275px;
  }

  .crystaX-specStrip{
    grid-template-columns:1fr;
  }

  .crystaX-specStrip > div{
    border-right:0;
    border-bottom:1px solid var(--cx-line);
  }

  .crystaX-specStrip > div:last-child{
    border-bottom:0;
  }

  .crystaX-tourImage{
    height:250px;
  }

}
/* =====================================================
   CRYSTA FEATURES ? 3 + 3 PREMIUM EDITORIAL CARDS
===================================================== */

.crystafeat{
  position:relative;
  overflow:hidden;
  padding:95px 0 105px;
  background:#f4f4f2;
  font-family:'Poppins',sans-serif;
}


/* subtle large background text */

.crystafeat::before{
  content:"CRYSTA";
  position:absolute;
  top:-25px;
  right:-30px;

  font-size:clamp(100px,12vw,210px);
  line-height:1;
  font-weight:800;
  letter-spacing:-10px;

  color:rgba(0,0,0,.025);

  pointer-events:none;
}


.crystafeat-wrap{
  position:relative;
  z-index:2;

  width:min(92%,1440px);
  margin-inline:auto;
}


/* =====================================================
   HEADER
===================================================== */

.crystafeat-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);
  gap:80px;
  align-items:end;

  margin-bottom:50px;
}


.crystafeat-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:16px;

  color:#fb0001;

  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:3.5px;
}


.crystafeat-eyebrow::before{
  content:"";

  width:38px;
  height:2px;

  background:#fb0001;
}


.crystafeat-heading h2{
  margin:0;

  color:#080808;

  font-size:clamp(42px,4vw,64px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-3px;
}


.crystafeat-heading h2 strong{
  display:inline-block;

  color:#fb0001;
  font-weight:700;
}


.crystafeat-intro{
  padding-left:26px;
  border-left:2px solid #fb0001;
}


.crystafeat-intro p{
  margin:0;

  color:#444;

  font-size:17px;
  line-height:1.7;
  font-weight:400;
}


/* =====================================================
   EXACT 3 + 3 GRID
===================================================== */

.crystafeat-grid{
  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:22px;
}


/* =====================================================
   CARD
===================================================== */

.crystafeat-card{
  position:relative;
  min-width:0;
  overflow:hidden;

  background:#fff;

  border:1px solid #dededb;

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}


.crystafeat-card:hover{
  transform:translateY(-7px);

  border-color:#ccc;

  box-shadow:
    0 25px 55px rgba(0,0,0,.10);
}


/* red bottom reveal */

.crystafeat-card::after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;

  width:0;
  height:4px;

  background:#fb0001;

  transition:width .4s ease;
}


.crystafeat-card:hover::after{
  width:100%;
}


/* =====================================================
   IMAGE
===================================================== */

.crystafeat-photo{
  position:relative;

  height:285px;

  overflow:hidden;

  background:#ddd;
}


.crystafeat-photo img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}


.crystafeat-card:hover .crystafeat-photo img{
  transform:scale(1.045);
}


/* subtle image shade */

.crystafeat-photo::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      rgba(0,0,0,0) 55%,
      rgba(0,0,0,.22) 100%
    );

  pointer-events:none;
}


/* =====================================================
   NUMBER
===================================================== */

.crystafeat-number{
  position:absolute;
  z-index:3;

  top:20px;
  right:20px;

  display:flex;
  align-items:center;
  justify-content:center;

  width:45px;
  height:45px;

  border-radius:50%;

  background:#fff;
  color:#111;

  font-size:11px;
  line-height:1;
  font-weight:700;

  box-shadow:
    0 8px 22px rgba(0,0,0,.14);
}


/* =====================================================
   CONTENT
===================================================== */

.crystafeat-body{
  display:grid;

  grid-template-columns:48px 1fr;

  gap:18px;

  padding:27px 27px 31px;
}


/* icon */

.crystafeat-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:46px;
  height:46px;

  background:#fb0001;

  color:#fff;

  font-size:17px;
}


.crystafeat-copy h3{
  margin:0 0 8px;

  color:#080808;

  font-size:20px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.5px;
}


.crystafeat-copy p{
  margin:0;

  color:#555;

  font-size:14px;
  line-height:1.65;
  font-weight:400;
}


/* =====================================================
   MAKE 01 + 05 SPECIAL BLACK CARDS
   Creates visual rhythm instead of 6 identical cards
===================================================== */

.crystafeat-card:nth-child(1) .crystafeat-body,
.crystafeat-card:nth-child(5) .crystafeat-body{
  background:#0a0a0a;
}


.crystafeat-card:nth-child(1) .crystafeat-copy h3,
.crystafeat-card:nth-child(5) .crystafeat-copy h3{
  color:#fff;
}


.crystafeat-card:nth-child(1) .crystafeat-copy p,
.crystafeat-card:nth-child(5) .crystafeat-copy p{
  color:rgba(255,255,255,.68);
}


.crystafeat-card:nth-child(1) .crystafeat-icon,
.crystafeat-card:nth-child(5) .crystafeat-icon{
  background:#fb0001;
}


/* =====================================================
   1200
===================================================== */

@media(max-width:1200px){

  .crystafeat{
    padding:80px 0 90px;
  }

  .crystafeat-wrap{
    width:94%;
  }

  .crystafeat-head{
    gap:50px;
  }

  .crystafeat-heading h2{
    font-size:50px;
  }

  .crystafeat-photo{
    height:245px;
  }

  .crystafeat-body{
    padding:24px 22px 27px;
  }

}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:900px){

  .crystafeat-head{
    grid-template-columns:1fr;
    gap:24px;

    margin-bottom:38px;
  }

  .crystafeat-intro{
    max-width:700px;
  }

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

  .crystafeat-photo{
    height:260px;
  }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

  .crystafeat{
    padding:60px 0 65px;
  }

  .crystafeat-wrap{
    width:calc(100% - 32px);
  }

  .crystafeat::before{
    top:0;
    right:-15px;

    font-size:90px;
    letter-spacing:-5px;
  }

  .crystafeat-head{
    margin-bottom:30px;
  }

  .crystafeat-heading h2{
    font-size:36px;
    line-height:1.04;
    letter-spacing:-1.8px;
  }

  .crystafeat-intro{
    padding-left:17px;
  }

  .crystafeat-intro p{
    font-size:15px;
    line-height:1.65;
  }

  .crystafeat-grid{
    grid-template-columns:1fr;
    gap:17px;
  }

  .crystafeat-photo{
    height:245px;
  }

  .crystafeat-body{
    grid-template-columns:45px 1fr;

    gap:16px;

    padding:23px 20px 26px;
  }

  .crystafeat-icon{
    width:43px;
    height:43px;
  }

  .crystafeat-copy h3{
    font-size:19px;
  }

  .crystafeat-copy p{
    font-size:14px;
  }

}


/* =====================================================
   390 / 375 / 360
===================================================== */

@media(max-width:390px){

  .crystafeat-heading h2{
    font-size:33px;
  }

  .crystafeat-photo{
    height:220px;
  }

  .crystafeat-body{
    grid-template-columns:1fr;
  }

  .crystafeat-copy h3{
    font-size:19px;
  }

}

/* =========================================================
   INNOVA HYCROSS ? COMPLETE INNER PAGE
   COLORS: RED / BLACK / WHITE
========================================================= */

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

.hycrossX-page{
  --hx-red:#fb0001;
  --hx-black:#090909;
  --hx-dark:#111;
  --hx-text:#3e3e3e;
  --hx-grey:#f4f4f2;
  --hx-line:#dededb;

  margin:0;
  color:var(--hx-black);
  background:#fff;
  font-family:'Poppins',sans-serif;
}

.hycrossX-page a{
  color:inherit;
  text-decoration:none;
}

.hycrossX-page img{
  max-width:100%;
}

.hycrossX-shell{
  width:min(92%,1440px);
  margin-inline:auto;
}


/* =========================================================
   COMMON
========================================================= */

.hycrossX-kicker{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:17px;

  color:var(--hx-red);

  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:3px;
  text-transform:uppercase;
}

.hycrossX-kicker span{
  width:38px;
  height:2px;
  flex:0 0 38px;

  background:var(--hx-red);
}

.hycrossX-kickerLight{
  color:#fff;
}

.hycrossX-kickerLight span{
  background:var(--hx-red);
}

.hycrossX-primaryBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;

  min-height:56px;
  padding:0 27px;

  background:var(--hx-red);
  color:#fff !important;

  font-size:14px;
  font-weight:600;

  transition:.3s ease;
}

.hycrossX-primaryBtn:hover{
  background:#d90000;
}

.hycrossX-primaryBtn i{
  transition:transform .3s ease;
}

.hycrossX-primaryBtn:hover i{
  transform:translateX(4px);
}


/* =========================================================
   INTRO
========================================================= */

.hycrossX-intro{
  position:relative;
  overflow:hidden;

  padding:95px 0 0;

  background:#fff;
}

.hycrossX-intro::before{
  content:"HYCROSS";

  position:absolute;
  top:10px;
  left:-35px;

  color:rgba(0,0,0,.025);

  font-size:clamp(110px,14vw,240px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-12px;

  pointer-events:none;
}

.hycrossX-introGrid{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:.85fr 1.15fr;
  align-items:center;
  gap:70px;

  min-height:520px;
}

.hycrossX-introContent{
  max-width:620px;
}

.hycrossX-introContent h1{
  margin:0 0 25px;

  color:#090909;

  font-size:clamp(46px,4.4vw,70px);
  line-height:1.01;
  font-weight:700;
  letter-spacing:-3.5px;
}

.hycrossX-introContent h1 em{
  display:block;

  color:var(--hx-red);

  font-style:normal;
}

.hycrossX-introContent p{
  max-width:600px;
  margin:0 0 17px;

  color:#484848;

  font-size:16px;
  line-height:1.75;
}

.hycrossX-introContent .hycrossX-lead{
  color:#171717;

  font-size:19px;
  line-height:1.6;
  font-weight:500;
}

.hycrossX-introActions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:27px;

  margin-top:31px;
}

.hycrossX-textBtn{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:#111 !important;

  font-size:14px;
  font-weight:600;
}

.hycrossX-textBtn i{
  color:var(--hx-red);
  font-size:20px;
}


/* CAR VISUAL */

.hycrossX-introVisual{
  position:relative;

  padding:35px 0 40px;
}

.hycrossX-bigNumber{
  position:absolute;
  top:-15px;
  right:0;

  color:#ededeb;

  font-size:100px;
  line-height:1;
  font-weight:800;
}

.hycrossX-carFrame{
  position:relative;

  min-height:410px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#f2f2f0;
}

.hycrossX-frameLine{
  position:absolute;
  inset:22px;

  border:1px solid #d8d8d4;
}

.hycrossX-carFrame img{
  position:relative;
  z-index:2;

  display:block;

  width:100%;

  object-fit:contain;

  filter:drop-shadow(0 28px 25px rgba(0,0,0,.15));
}

.hycrossX-carCaption{
  position:absolute;
  z-index:4;

  left:0;
  bottom:0;

  min-width:230px;

  padding:18px 24px;

  background:#090909;
  color:#fff;
}

.hycrossX-carCaption small{
  display:block;

  margin-bottom:4px;

  color:#aaa;

  font-size:9px;
  font-weight:600;
  letter-spacing:2px;
}

.hycrossX-carCaption strong{
  font-size:15px;
  font-weight:600;
}


/* SPECS */

.hycrossX-specs{
  position:relative;
  z-index:4;

  display:grid;
  grid-template-columns:repeat(4,1fr);

  margin-top:60px;

  background:#090909;
}

.hycrossX-spec{
  display:flex;
  align-items:center;
  gap:17px;

  min-height:105px;

  padding:20px 28px;

  color:#fff;

  border-right:1px solid rgba(255,255,255,.12);
}

.hycrossX-spec:last-child{
  border-right:0;
}

.hycrossX-spec > i{
  width:42px;

  color:var(--hx-red);

  font-size:21px;
  text-align:center;
}

.hycrossX-spec small{
  display:block;

  margin-bottom:4px;

  color:#999;

  font-size:9px;
  letter-spacing:1.8px;
  font-weight:600;
}

.hycrossX-spec strong{
  font-size:15px;
  font-weight:600;
}


/* =========================================================
   FEATURES
========================================================= */

.hycrossfeat{
  position:relative;
  overflow:hidden;

  padding:95px 0 105px;

  background:#f4f4f2;

  font-family:'Poppins',sans-serif;
}

.hycrossfeat::before{
  content:"HYCROSS";

  position:absolute;
  top:-30px;
  right:-25px;

  color:rgba(0,0,0,.025);

  font-size:clamp(100px,12vw,205px);
  line-height:1;
  font-weight:800;
  letter-spacing:-10px;

  pointer-events:none;
}

.hycrossfeat-wrap{
  position:relative;
  z-index:2;

  width:min(92%,1440px);
  margin-inline:auto;
}

.hycrossfeat-head{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);
  align-items:end;
  gap:75px;

  margin-bottom:48px;
}

.hycrossfeat-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:16px;

  color:#fb0001;

  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:3.5px;
}

.hycrossfeat-eyebrow::before{
  content:"";

  width:38px;
  height:2px;

  background:#fb0001;
}

.hycrossfeat-heading h2{
  margin:0;

  color:#080808;

  font-size:clamp(42px,4vw,64px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-3px;
}

.hycrossfeat-heading h2 strong{
  color:#fb0001;
  font-weight:700;
}

.hycrossfeat-intro{
  padding-left:25px;

  border-left:2px solid #fb0001;
}

.hycrossfeat-intro p{
  margin:0;

  color:#3f3f3f;

  font-size:17px;
  line-height:1.7;
}


/* 3 + 3 */

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

.hycrossfeat-card{
  position:relative;
  min-width:0;
  overflow:hidden;

  background:#fff;

  border:1px solid #dededb;

  transition:
    transform .4s ease,
    box-shadow .4s ease;
}

.hycrossfeat-card::after{
  content:"";

  position:absolute;
  left:0;
  bottom:0;

  width:0;
  height:4px;

  background:#fb0001;

  transition:width .4s ease;
}

.hycrossfeat-card:hover{
  transform:translateY(-7px);

  box-shadow:0 25px 55px rgba(0,0,0,.10);
}

.hycrossfeat-card:hover::after{
  width:100%;
}

.hycrossfeat-photo{
  position:relative;

  height:285px;

  overflow:hidden;

  background:#ddd;
}

.hycrossfeat-photo img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .6s ease;
}

.hycrossfeat-card:hover .hycrossfeat-photo img{
  transform:scale(1.045);
}

.hycrossfeat-photo::after{
  content:"";

  position:absolute;
  inset:0;

  background:linear-gradient(
    180deg,
    transparent 55%,
    rgba(0,0,0,.22)
  );
}

.hycrossfeat-number{
  position:absolute;
  z-index:3;

  top:20px;
  right:20px;

  width:46px;
  height:46px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#fff;
  color:#090909;

  font-size:11px;
  font-weight:700;

  box-shadow:0 8px 22px rgba(0,0,0,.15);
}

.hycrossfeat-body{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;

  min-height:150px;

  padding:27px;
}

.hycrossfeat-icon{
  width:46px;
  height:46px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fb0001;
  color:#fff;

  font-size:17px;
}

.hycrossfeat-copy h3{
  margin:0 0 8px;

  color:#080808;

  font-size:20px;
  line-height:1.2;
  font-weight:700;
}

.hycrossfeat-copy p{
  margin:0;

  color:#505050;

  font-size:14px;
  line-height:1.65;
}

.hycrossfeat-card:nth-child(1) .hycrossfeat-body,
.hycrossfeat-card:nth-child(5) .hycrossfeat-body{
  background:#090909;
}

.hycrossfeat-card:nth-child(1) h3,
.hycrossfeat-card:nth-child(5) h3{
  color:#fff;
}

.hycrossfeat-card:nth-child(1) p,
.hycrossfeat-card:nth-child(5) p{
  color:#c6c6c6;
}


/* =========================================================
   JOURNEY SECTION
========================================================= */

.hycrossX-journeys{
  padding:100px 0;

  background:#090909;
  color:#fff;
}

.hycrossX-journeyGrid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:90px;
}

.hycrossX-journeyIntro{
  position:sticky;
  top:130px;

  align-self:start;
}

.hycrossX-journeyIntro h2{
  margin:0 0 25px;

  color:#fff;

  font-size:clamp(44px,4.2vw,65px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-3px;
}

.hycrossX-journeyIntro h2 em{
  color:var(--hx-red);
  font-style:normal;
}

.hycrossX-journeyIntro p{
  max-width:480px;
  margin:0 0 30px;

  color:#aaa;

  font-size:16px;
  line-height:1.75;
}

.hycrossX-whiteLink{
  display:inline-flex;
  align-items:center;
  gap:14px;

  padding-bottom:7px;

  color:#fff !important;

  font-size:14px;
  font-weight:600;

  border-bottom:1px solid #fff;
}

.hycrossX-journeyList{
  border-top:1px solid #333;
}

.hycrossX-journeyItem{
  display:grid;
  grid-template-columns:55px 1fr 55px;
  align-items:center;
  gap:20px;

  min-height:150px;

  padding:25px 10px;

  color:#fff !important;

  border-bottom:1px solid #333;

  transition:.3s ease;
}

.hycrossX-journeyItem:hover{
  padding-left:22px;
  background:#111;
}

.hycrossX-itemNo{
  color:var(--hx-red);

  font-size:12px;
  font-weight:700;
}

.hycrossX-journeyItem small{
  display:block;

  margin-bottom:6px;

  color:#777;

  font-size:9px;
  letter-spacing:2px;
  font-weight:600;
}

.hycrossX-journeyItem h3{
  margin:0 0 7px;

  color:#fff;

  font-size:23px;
  line-height:1.2;
  font-weight:600;
}

.hycrossX-journeyItem p{
  margin:0;

  color:#999;

  font-size:14px;
  line-height:1.6;
}

.hycrossX-journeyItem > i{
  color:#555;

  font-size:25px;
  text-align:center;

  transition:.3s ease;
}

.hycrossX-journeyItem:hover > i{
  color:var(--hx-red);
}


/* =========================================================
   SECTION HEAD
========================================================= */

.hycrossX-sectionHead{
  display:grid;
  grid-template-columns:1.2fr .7fr;
  align-items:end;
  gap:70px;

  margin-bottom:48px;
}

.hycrossX-sectionHead h2{
  margin:0;

  color:#090909;

  font-size:clamp(44px,4vw,62px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-3px;
}

.hycrossX-sectionHead h2 em{
  color:var(--hx-red);
  font-style:normal;
}

.hycrossX-sectionHead > p,
.hycrossX-tourIntro p{
  margin:0;

  color:#4c4c4c;

  font-size:16px;
  line-height:1.7;
}


/* =========================================================
   ROUTES
========================================================= */

.hycrossX-routes{
  padding:95px 0 105px;

  background:#fff;
}

.hycrossX-routeGrid{
  display:grid;
  grid-template-columns:repeat(4,1fr);

  border-top:1px solid #ddd;
  border-left:1px solid #ddd;
}

.hycrossX-routeCard{
  position:relative;

  min-height:230px;

  padding:28px 27px;

  background:#fff;

  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;

  transition:.35s ease;
}

.hycrossX-routeCard small{
  display:block;

  margin-bottom:43px;

  color:#aaa;

  font-size:10px;
  font-weight:600;
}

.hycrossX-routeCard span{
  display:block;

  margin-bottom:7px;

  color:var(--hx-red);

  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.hycrossX-routeCard h3{
  margin:0;

  color:#111;

  font-size:23px;
  line-height:1.15;
  font-weight:650;
}

.hycrossX-routeCard > i{
  position:absolute;

  right:25px;
  bottom:25px;

  font-size:14px;

  transition:.3s ease;
}

.hycrossX-routeCard:hover{
  z-index:2;

  background:#090909;
  color:#fff;

  transform:translateY(-5px);
}

.hycrossX-routeCard:hover h3{
  color:#fff;
}

.hycrossX-routeCard:hover small{
  color:#777;
}

.hycrossX-routeRed{
  background:var(--hx-red);
  color:#fff !important;
}

.hycrossX-routeRed h3,
.hycrossX-routeRed span{
  color:#fff;
}

.hycrossX-routeRed small{
  color:rgba(255,255,255,.65);
}


/* =========================================================
   DAY TOURS
========================================================= */

.hycrossX-tours{
  padding:100px 0;

  background:#f4f4f2;
}

.hycrossX-tourIntro{
  display:grid;
  grid-template-columns:1fr 55px;
  gap:25px;
  align-items:end;
}

.hycrossX-tourIntro a{
  width:55px;
  height:55px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#090909;
  color:#fff;

  transition:.3s ease;
}

.hycrossX-tourIntro a:hover{
  background:var(--hx-red);
}

.hycrossX-tourGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}

.hycrossX-tourCard{
  min-width:0;


  background:#fff;
}

.hycrossX-tourPhoto{
  position:relative;

  display:block;

  height:285px;

  overflow:hidden;

  background:#ddd;
}

.hycrossX-tourPhoto::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      180deg,
      transparent 42%,
      rgba(0,0,0,.67)
    );
}

.hycrossX-tourPhoto img{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .6s ease;
}

.hycrossX-tourCard:hover img{
  transform:scale(1.055);
}

.hycrossX-tourPhoto > span{
  position:absolute;
  z-index:3;

  top:17px;
  right:17px;

  width:39px;
  height:39px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#111;

  border-radius:50%;

  font-size:10px;
  font-weight:700;
}

.hycrossX-photoLabel{
  position:absolute;
  z-index:3;

  left:21px;
  bottom:20px;

  color:#fff;
}

.hycrossX-photoLabel small{
  display:block;

  margin-bottom:3px;

  color:#ddd;

  font-size:8px;
  letter-spacing:1.8px;
}

.hycrossX-photoLabel strong{
  display:block;

  font-size:17px;
  font-weight:600;
}

.hycrossX-tourBody{
  min-height:155px;

  padding:23px 22px 25px;

  border:1px solid #ddd;
  border-top:0;
}

.hycrossX-tourBody > small{
  display:block;

  margin-bottom:8px;

  color:var(--hx-red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}

.hycrossX-tourBody h3{
  margin:0 0 9px;

  color:#111;

  font-size:18px;
  line-height:1.25;
  font-weight:650;
}

.hycrossX-tourBody p{
  margin:0;

  color:#5c5c5c;

  font-size:13px;
  line-height:1.6;
}

.hycrossX-tourBottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;

  margin-top:42px;
  padding-top:32px;

  border-top:1px solid #d8d8d5;
}

.hycrossX-tourBottom p{
  max-width:560px;
  margin:0;

  color:#555;

  font-size:15px;
  line-height:1.7;
}


/* =========================================================
   HYCROSS DIFFERENCE
========================================================= */

.hycrossX-premium{
  position:relative;
  overflow:hidden;

  padding:100px 0;

  background:var(--hx-red);
  color:#fff;
}

.hycrossX-premium::after{
  content:"HYCROSS";

  position:absolute;
  right:-40px;
  bottom:-35px;

  color:rgba(255,255,255,.07);

  font-size:180px;
  line-height:1;
  font-weight:800;
  letter-spacing:-10px;
}

.hycrossX-premiumGrid{
  position:relative;
  z-index:2;

  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:100px;
}

.hycrossX-premiumTitle h2{
  margin:0;

  color:#fff;

  font-size:clamp(44px,4vw,64px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-3px;
}

.hycrossX-premiumTitle h2 em{
  display:block;

  color:#090909;

  font-style:normal;
}

.hycrossX-premiumFeatures{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  border-top:1px solid rgba(255,255,255,.35);
}

.hycrossX-premiumFeatures > div{
  min-height:220px;

  padding:27px 25px;

  border-right:1px solid rgba(255,255,255,.3);
}

.hycrossX-premiumFeatures > div:last-child{
  border-right:0;
}

.hycrossX-premiumFeatures span{
  display:block;

  margin-bottom:42px;

  color:#090909;

  font-size:11px;
  font-weight:700;
}

.hycrossX-premiumFeatures h3{
  margin:0 0 10px;

  color:#fff;

  font-size:20px;
  font-weight:650;
}

.hycrossX-premiumFeatures p{
  margin:0;

  color:rgba(255,255,255,.8);

  font-size:13px;
  line-height:1.65;
}


/* =========================================================
   FAQ
========================================================= */

.hycrossX-faq{
  padding:100px 0;

  background:#fff;
}

.hycrossX-faqGrid{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:90px;
}

.hycrossX-faqIntro h2{
  margin:0 0 20px;

  color:#090909;

  font-size:clamp(42px,4vw,60px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-3px;
}

.hycrossX-faqIntro h2 em{
  display:block;

  color:var(--hx-red);
  font-style:normal;
}

.hycrossX-faqIntro p{
  max-width:400px;
  margin:0 0 25px;

  color:#555;

  font-size:15px;
  line-height:1.7;
}

.hycrossX-faqIntro > a{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:#111;

  font-size:14px;
  font-weight:600;
}

.hycrossX-faqIntro > a i{
  color:var(--hx-red);

  font-size:18px;
}

.hycrossX-faqList{
  border-top:1px solid #ddd;
}

.hycrossX-faqItem{
  border-bottom:1px solid #ddd;
}

.hycrossX-faqItem summary{
  position:relative;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  min-height:86px;

  padding:20px 5px;

  cursor:pointer;

  list-style:none;

  color:#111;

  font-size:17px;
  line-height:1.4;
  font-weight:600;
}

.hycrossX-faqItem summary::-webkit-details-marker{
  display:none;
}

.hycrossX-faqItem summary i{
  width:38px;
  height:38px;
  flex:0 0 38px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#f2f2f0;

  font-size:12px;

  transition:.3s ease;
}

.hycrossX-faqItem[open] summary i{
  color:#fff;
  background:var(--hx-red);

  transform:rotate(45deg);
}

.hycrossX-faqItem p{
  max-width:720px;

  margin:0;
  padding:0 70px 27px 5px;

  color:#555;

  font-size:14px;
  line-height:1.75;
}


/* =========================================================
   FINAL CTA
========================================================= */

.hycrossX-final{
  padding:0 0 100px;

  background:#fff;
}

.hycrossX-finalBox{
  position:relative;
  overflow:hidden;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:60px;

  min-height:300px;

  padding:60px 65px;

  background:#090909;
  color:#fff;
}

.hycrossX-finalContent{
  position:relative;
  z-index:3;
}

.hycrossX-finalContent > span{
  display:block;

  margin-bottom:14px;

  color:var(--hx-red);

  font-size:10px;
  font-weight:700;
  letter-spacing:2.5px;
}

.hycrossX-finalContent h2{
  max-width:680px;
  margin:0 0 15px;

  color:#fff;

  font-size:clamp(40px,3.8vw,59px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-2.8px;
}

.hycrossX-finalContent h2 strong{
  display:block;

  color:var(--hx-red);
}

.hycrossX-finalContent p{
  max-width:580px;
  margin:0;

  color:#aaa;

  font-size:15px;
  line-height:1.7;
}

.hycrossX-finalActions{
  position:relative;
  z-index:3;

  display:flex;
  align-items:stretch;
}

.hycrossX-call{
  display:flex;
  align-items:center;
  gap:15px;

  min-width:245px;

  padding:18px 22px;

  background:#fff;
  color:#111 !important;
}

.hycrossX-call > i{
  color:var(--hx-red);

  font-size:20px;
}

.hycrossX-call small{
  display:block;

  margin-bottom:3px;

  color:#777;

  font-size:8px;
  letter-spacing:1.5px;
}

.hycrossX-call strong{
  font-size:15px;
  font-weight:650;
}

.hycrossX-finalWA{
  width:70px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:var(--hx-red);
  color:#fff !important;

  font-size:24px;
}

.hycrossX-watermark{
  position:absolute;

  right:-20px;
  bottom:-25px;

  color:rgba(255,255,255,.035);

  font-size:150px;
  line-height:1;
  font-weight:800;
  letter-spacing:-8px;

  pointer-events:none;
}


/* =========================================================
   RESPONSIVE ? 1200
========================================================= */

@media(max-width:1200px){

  .hycrossX-shell,
  .hycrossfeat-wrap{
    width:94%;
  }

  .hycrossX-introGrid{
    gap:45px;
  }

  .hycrossX-introContent h1{
    font-size:55px;
  }

  .hycrossfeat-photo{
    height:245px;
  }

  .hycrossX-tourGrid{
    grid-template-columns:repeat(4,1fr);
    gap:16px;
  }

  .hycrossX-tourPhoto{
    height:245px;
  }

  .hycrossX-journeyGrid,
  .hycrossX-faqGrid{
    gap:60px;
  }

}


/* =========================================================
   RESPONSIVE ? 1024 / TABLET
========================================================= */

@media(max-width:1024px){

  .hycrossX-intro{
    padding-top:75px;
  }

  .hycrossX-introGrid{
    grid-template-columns:1fr 1fr;
  }

  .hycrossX-carFrame{
    min-height:350px;
  }

  .hycrossX-spec{
    padding:18px;
  }

  .hycrossX-journeyGrid,
  .hycrossX-premiumGrid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .hycrossX-journeyIntro{
    position:static;
  }

  .hycrossX-routeGrid{
    grid-template-columns:repeat(2,1fr);
  }

  .hycrossX-tourGrid{
    grid-template-columns:repeat(2,1fr);
    gap:20px;
  }

  .hycrossX-tourPhoto{
    height:320px;
  }

  .hycrossX-faqGrid{
    grid-template-columns:.8fr 1.2fr;
    gap:45px;
  }

}


/* =========================================================
   RESPONSIVE ? 900
========================================================= */

@media(max-width:900px){

  .hycrossX-introGrid{
    grid-template-columns:1fr;
  }

  .hycrossX-introContent{
    max-width:720px;
  }

  .hycrossX-introVisual{
    max-width:720px;
  }

  .hycrossX-specs{
    grid-template-columns:repeat(2,1fr);
  }

  .hycrossX-spec{
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .hycrossfeat-head,
  .hycrossX-sectionHead{
    grid-template-columns:1fr;
    gap:22px;
  }

  .hycrossfeat-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .hycrossX-faqGrid{
    grid-template-columns:1fr;
  }

  .hycrossX-finalBox{
    grid-template-columns:1fr;
    gap:35px;
  }

}


/* =========================================================
   RESPONSIVE ? MOBILE
========================================================= */

@media(max-width:600px){

  .hycrossX-shell,
  .hycrossfeat-wrap{
    width:calc(100% - 30px);
  }

  .hycrossX-intro{
    padding:58px 0 0;
  }

  .hycrossX-intro::before{
    font-size:85px;
    letter-spacing:-5px;
  }

  .hycrossX-introGrid{
    gap:35px;
    min-height:0;
  }

  .hycrossX-introContent h1{
    font-size:39px;
    line-height:1.04;
    letter-spacing:-2px;
  }

  .hycrossX-introContent .hycrossX-lead{
    font-size:17px;
  }

  .hycrossX-introContent p{
    font-size:15px;
  }

  .hycrossX-introActions{
    align-items:flex-start;
    flex-direction:column;
    gap:20px;
  }

  .hycrossX-carFrame{
    min-height:270px;
  }

  .hycrossX-carCaption{
    min-width:205px;
  }

  .hycrossX-bigNumber{
    font-size:70px;
  }

  .hycrossX-specs{
    grid-template-columns:1fr;
    margin-top:40px;
  }

  .hycrossX-spec{
    min-height:82px;

    border-right:0;
  }


  /* FEATURES */

  .hycrossfeat{
    padding:65px 0;
  }

  .hycrossfeat::before{
    font-size:80px;
    letter-spacing:-5px;
  }

  .hycrossfeat-heading h2{
    font-size:37px;
    letter-spacing:-2px;
  }

  .hycrossfeat-intro{
    padding-left:17px;
  }

  .hycrossfeat-intro p{
    font-size:15px;
  }

  .hycrossfeat-grid{
    grid-template-columns:1fr;
    gap:17px;
  }

  .hycrossfeat-photo{
    height:245px;
  }

  .hycrossfeat-body{
    min-height:0;

    padding:23px 20px;
  }


  /* JOURNEY */

  .hycrossX-journeys,
  .hycrossX-routes,
  .hycrossX-tours,
  .hycrossX-premium,
  .hycrossX-faq{
    padding:65px 0;
  }

  .hycrossX-journeyIntro h2,
  .hycrossX-sectionHead h2,
  .hycrossX-premiumTitle h2,
  .hycrossX-faqIntro h2{
    font-size:38px;
    letter-spacing:-2px;
  }

  .hycrossX-journeyItem{
    grid-template-columns:35px 1fr;
    min-height:0;

    padding:25px 5px;
  }

  .hycrossX-journeyItem > i{
    display:none;
  }

  .hycrossX-journeyItem h3{
    font-size:20px;
  }


  /* ROUTES */

  .hycrossX-routeGrid{
    grid-template-columns:1fr 1fr;
  }

  .hycrossX-routeCard{
    min-height:190px;

    padding:22px 18px;
  }

  .hycrossX-routeCard small{
    margin-bottom:30px;
  }

  .hycrossX-routeCard h3{
    font-size:19px;
  }


  /* TOURS */

  .hycrossX-tourGrid{
    grid-template-columns:1fr;
  }

  .hycrossX-tourPhoto{
    height:280px;
  }

  .hycrossX-tourBottom{
    align-items:flex-start;
    flex-direction:column;
  }


  /* PREMIUM */

  .hycrossX-premiumFeatures{
    grid-template-columns:1fr;
  }

  .hycrossX-premiumFeatures > div{
    min-height:0;

    padding:25px 5px;

    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.3);
  }

  .hycrossX-premiumFeatures span{
    margin-bottom:20px;
  }


  /* FAQ */

  .hycrossX-faqItem summary{
    min-height:75px;

    font-size:15px;
  }

  .hycrossX-faqItem p{
    padding:0 5px 24px;

    font-size:14px;
  }


  /* CTA */

  .hycrossX-final{
    padding:0 0 65px;
  }

  .hycrossX-finalBox{
    padding:40px 25px;
  }

  .hycrossX-finalContent h2{
    font-size:37px;
    letter-spacing:-2px;
  }

  .hycrossX-finalActions{
    width:100%;
  }

  .hycrossX-call{
    min-width:0;
    flex:1;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .hycrossX-introContent h1{
    font-size:35px;
  }

  .hycrossfeat-heading h2,
  .hycrossX-journeyIntro h2,
  .hycrossX-sectionHead h2,
  .hycrossX-premiumTitle h2,
  .hycrossX-faqIntro h2,
  .hycrossX-finalContent h2{
    font-size:34px;
  }

  .hycrossfeat-photo{
    height:220px;
  }

  .hycrossfeat-body{
    grid-template-columns:1fr;
  }

  .hycrossX-routeGrid{
    grid-template-columns:1fr;
  }

  .hycrossX-routeCard{
    min-height:170px;
  }

}

/* =========================================================
   PTT JODHPUR
   8+1 TEMPO TRAVELLER ? NEW DESIGN
========================================================= */

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

.tt9new-page{
  --red:#fb0001;
  --black:#080808;
  --soft:#f4f4f1;
  --cream:#faf8f3;
  --line:#dcdcd7;

  width:100%;
  overflow:hidden;

  background:#fff;
  color:#000;

 font-family: "Outfit", sans-serif;
}

.tt9new-page a{
  text-decoration:none;
}

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

.tt9new-container{
  width:min(92vw,1480px);
  margin:0 auto;
}


/* =========================================================
   GLOBAL PARAGRAPH RULE
========================================================= */

.tt9new-page p{
  margin:0;

  color:#000;

  font-size:17px;
  line-height:1.72;
  font-weight:400;
}


/* =========================================================
   COMMON
========================================================= */

.tt9new-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:17px;

  color:var(--red);

  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:2.7px;
}

.tt9new-eyebrow > span{
  width:42px;
  height:2px;

  background:var(--red);
}

.tt9new-eyebrow-light{
  color:#fff;
}

.tt9new-heading-row{
  display:grid;
  grid-template-columns:1.15fr .65fr;
  align-items:end;
  gap:70px;

  margin-bottom:42px;
}

.tt9new-heading-row h2,
.tt9new-route-head h2{
  margin:0;

  color:#000;

  font-size:clamp(48px,4.3vw,68px);
  line-height:.99;
  font-weight:750;
  letter-spacing:-3.5px;
}

.tt9new-heading-row h2 span,
.tt9new-route-head h2 span{
  display:block;

  color:var(--red);
}

.tt9new-heading-row > p{
  max-width:560px;
}


/* =========================================================
   INTRO ? COMPLETELY NEW
========================================================= */

.tt9new-intro{
  position:relative;

  padding:72px 0 88px;

  background:#fff;
}

.tt9new-intro-head{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:end;
  gap:80px;

  margin-bottom:45px;
}

.tt9new-intro-title h1{
  max-width:780px;

  margin:0;

  color:#000;


  font-size:clamp(58px,5.8vw,88px);
  line-height:.91;
  font-weight:750;
  letter-spacing:-5px;
}

.tt9new-intro-title h1 span{
  display:block;


  color:var(--red);
}

.tt9new-intro-copy{
  padding-bottom:4px;
}

.tt9new-intro-copy > strong{
  display:block;

  max-width:590px;

  margin-bottom:14px;

  color:#000;

  font-size:23px;
  line-height:1.38;
  font-weight:650;
}

.tt9new-intro-copy p{
  max-width:610px;
}


/* =========================================================
   VEHICLE SHOWCASE
========================================================= */

.tt9new-showcase{
  position:relative;

  min-height:535px;

  display:grid;
  grid-template-columns:150px 1fr 180px;
  grid-template-rows:1fr 94px;

  overflow:hidden;

  background:#f1f1ee;

  border:1px solid #dddcd7;
}

.tt9new-showcase-bg{
  position:absolute;

  left:50%;
  top:46%;

  transform:translate(-50%,-50%);

  color:#e5e5e1;

  font-size:clamp(100px,13vw,210px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-11px;

  pointer-events:none;
}


/* SIDE */

.tt9new-showcase-side{
  position:relative;
  z-index:4;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:34px 25px 125px;

  border-right:1px solid #d6d6d1;
}

.tt9new-showcase-side > span{
  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:2px;

  writing-mode:vertical-rl;
}

.tt9new-showcase-side strong{
  color:#000;

  font-size:13px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:1px;
}


/* CAR */

.tt9new-showcase-car{
  position:relative;
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:center;

  min-width:0;
}

.tt9new-showcase-car img{
  position:relative;
  z-index:4;

  width:min(90%,900px);
  max-height:415px;

  object-fit:contain;

  filter:drop-shadow(0 34px 25px rgba(0,0,0,.22));

  transition:transform .5s ease;
}

.tt9new-showcase:hover .tt9new-showcase-car img{
  transform:translateY(-7px) scale(1.02);
}


/* RINGS */

.tt9new-ring{
  position:absolute;

  left:50%;
  top:50%;

  transform:translate(-50%,-50%);

  border:1px solid #d0d0cb;
  border-radius:50%;
}

.ttnine-ring-one{
  width:390px;
  height:390px;
}

.ttnine-ring-two{
  width:280px;
  height:280px;
}


/* NUMBER */

.tt9new-showcase-number{
  position:relative;
  z-index:4;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  border-left:1px solid #d6d6d1;
}

.tt9new-showcase-number small{
  margin-bottom:7px;

  color:#777;

  font-size:9px;
  font-weight:700;
  letter-spacing:2px;
}

.tt9new-showcase-number strong{
  color:#000;

  font-size:82px;
  line-height:.9;
  font-weight:800;
  letter-spacing:-7px;
}

.tt9new-showcase-number strong span{
  color:var(--red);

  font-size:.48em;
}


/* BOTTOM */

.tt9new-showcase-bottom{
  position:relative;
  z-index:5;

  grid-column:1 / -1;

  display:grid;
  grid-template-columns:1fr 1fr 1fr 1.35fr;

  background:#080808;
}

.tt9new-showcase-spec{
  display:flex;
  align-items:center;
  gap:13px;

  padding:18px 23px;

  border-right:1px solid #2b2b2b;
}

.tt9new-showcase-spec i{
  color:var(--red);

  font-size:20px;
}

.tt9new-showcase-spec small{
  display:block;

  margin-bottom:3px;

  color:#888;

  font-size:8px;
  font-weight:700;
  letter-spacing:1.5px;
}

.tt9new-showcase-spec strong{
  display:block;

  color:#fff;

  font-size:14px;
  font-weight:600;
}


/* SHOWCASE CTA */

.tt9new-showcase-actions{
  display:grid;
  grid-template-columns:1fr 72px;
}

.tt9new-showcase-actions a:first-child{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;

  background:var(--red);
  color:#fff;

  font-size:14px;
  font-weight:650;

  transition:.3s ease;
}

.tt9new-showcase-actions a:first-child:hover{
  background:#d90000;
}

.tt9new-showcase-actions a:last-child{
  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#000;

  font-size:23px;
}


/* =========================================================
   FEATURES
========================================================= */

.tt9new-features{
  padding:88px 0 92px;

  background:var(--soft);
}

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

.tt9new-feature{
  min-height:310px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:31px;

  background:#fff;

  border:1px solid #dcdcd7;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.tt9new-feature:hover{
  transform:translateY(-6px);

  box-shadow:0 22px 45px rgba(0,0,0,.09);
}

.tt9new-feature-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.tt9new-feature-top > span{
  color:#888;

  font-size:11px;
  font-weight:700;
}

.tt9new-feature-top i{
  width:56px;
  height:56px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#f1f1ee;
  color:var(--red);

  font-size:20px;
}

.tt9new-feature h3{
  margin:45px 0 12px;

  color:#000;

  font-size:25px;
  line-height:1.16;
  font-weight:700;
  letter-spacing:-.7px;
}

.tt9new-feature p{
  max-width:390px;
}


/* MAIN */

.tt9new-feature-main{
  background:var(--red);

  border-color:var(--red);
}

.tt9new-feature-main .tt9new-feature-top > span{
  color:#fff;
}

.tt9new-feature-main .tt9new-feature-top i{
  background:#fff;
  color:var(--red);
}

.tt9new-feature-main small{
  display:block;

  margin-bottom:9px;

  color:#fff;

  font-size:10px;
  font-weight:700;
  letter-spacing:1.7px;
}

.tt9new-feature-main h3{
  margin-top:0;

  color:#fff;

  font-size:30px;
}

.tt9new-feature-main h3 strong{
  color:#000;
}

.tt9new-feature-main p{
  color:#000;
}


/* DARK */

.tt9new-feature-dark{
  background:#080808;

  border-color:#080808;
}

.tt9new-feature-dark .tt9new-feature-top > span{
  color:#aaa;
}

.tt9new-feature-dark .tt9new-feature-top i{
  background:#202020;
  color:#fff;
}

.tt9new-feature-dark h3,
.tt9new-feature-dark p{
  color:#fff;
}


/* RED */

.tt9new-feature-red{
  background:var(--red);

  border-color:var(--red);
}

.tt9new-feature-red .tt9new-feature-top > span{
  color:#fff;
}

.tt9new-feature-red .tt9new-feature-top i{
  background:#fff;
  color:var(--red);
}

.tt9new-feature-red h3{
  color:#fff;
}

.tt9new-feature-red p{
  color:#000;
}


/* =========================================================
   JOURNEY
========================================================= */

.tt9new-journey{
  padding:92px 0;

  background:#080808;
}

.tt9new-journey-layout{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:90px;
}

.tt9new-journey-intro{
  align-self:center;
}

.tt9new-journey-intro h2{
  margin:0 0 24px;

  color:#fff;

  font-size:clamp(49px,4.4vw,69px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.5px;
}

.tt9new-journey-intro h2 span{
  display:block;

  color:var(--red);
}

.tt9new-journey-intro p{
  max-width:500px;

  margin-bottom:29px;

  color:#fff;
}

.tt9new-journey-intro > a{
  display:inline-flex;
  align-items:center;
  gap:13px;

  padding-bottom:7px;

  color:#fff;

  border-bottom:1px solid #fff;

  font-size:14px;
  font-weight:650;
}


/* ROWS */

.tt9new-journey-list{
  border-top:1px solid #333;
}

.tt9new-journey-row{
  min-height:165px;

  display:grid;
  grid-template-columns:50px 1fr 55px;
  align-items:center;
  gap:20px;

  padding:24px 12px;

  color:#fff;

  border-bottom:1px solid #333;

  transition:.3s ease;
}

.tt9new-journey-row:hover{
  padding-left:24px;

  background:#121212;
}

.tt9new-journey-row > span{
  color:var(--red);

  font-size:11px;
  font-weight:700;
}

.tt9new-journey-row small{
  display:block;

  margin-bottom:5px;

  color:#aaa;

  font-size:9px;
  font-weight:700;
  letter-spacing:1.7px;
}

.tt9new-journey-row h3{
  margin:0 0 8px;

  color:#fff;

  font-size:26px;
  line-height:1.2;
  font-weight:650;
}

.tt9new-journey-row p{
  color:#fff;

  font-size:17px;
}

.tt9new-journey-row > i{
  color:#777;

  font-size:21px;

  text-align:center;

  transition:.3s ease;
}

.tt9new-journey-row:hover > i{
  color:var(--red);
}


/* =========================================================
   RANGE
========================================================= */

.tt9new-range{
  padding:92px 0;

  background:#fff;
}

.tt9new-range-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.tt9new-range-card{
  min-height:370px;

  display:grid;
  grid-template-columns:1.05fr .95fr;

  background:#fff;

  border:1px solid #dcdcd7;

  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.tt9new-range-card:hover{
  transform:translateY(-5px);

  box-shadow:0 22px 45px rgba(0,0,0,.09);
}


/* IMAGE */

.tt9new-range-image{
  position:relative;

  min-height:370px;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  background:#f0f0ed;
}

.tt9new-range-image::before{
  content:"";

  position:absolute;

  width:245px;
  height:245px;

  border:1px solid #d2d2cc;
  border-radius:50%;
}

.tt9new-range-image > span{
  position:absolute;
  z-index:5;

  top:17px;
  left:17px;

  padding:8px 11px;

  background:var(--red);
  color:#fff;

  font-size:8px;

  font-weight:700;
  letter-spacing:1.3px;
}

.tt9new-range-big{
  position:absolute;

  top:13px;
  right:18px;

  color:#dcdcd8;

  font-size:61px;
  line-height:1;
  font-weight:800;
  letter-spacing:-4px;
}

.tt9new-range-image img{
  position:relative;
  z-index:3;

  width:94%;
  height:86%;

  object-fit:contain;

  filter:drop-shadow(0 22px 18px rgba(0,0,0,.16));

  transition:transform .45s ease;
}

.tt9new-range-card:hover img{
  transform:scale(1.035);
}


/* CONTENT */

.tt9new-range-content{
  display:flex;
  flex-direction:column;

  padding:31px 28px;
}

.tt9new-range-content > small{
  display:block;

  margin-bottom:10px;

  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.7px;
}

.tt9new-range-content h3{
  margin:0 0 15px;

  color:#000;

  font-size:27px;
  line-height:1.08;
  font-weight:700;
  letter-spacing:-1px;
}

.tt9new-range-content h3 span{
  display:block;
}

.tt9new-range-content p{
  margin-bottom:25px;
}


/* ACTION */

.tt9new-range-actions{
  display:grid;
  grid-template-columns:1fr 55px;

  margin-top:auto;

  border-top:1px solid #ddd;
}

.tt9new-range-actions a:first-child{
  min-height:55px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding-right:17px;

  color:#000;

  font-size:13px;
  font-weight:650;
}

.tt9new-range-actions a:first-child i{
  color:var(--red);
}

.tt9new-range-actions a:last-child{
  display:flex;
  align-items:center;
  justify-content:center;

  background:#080808;
  color:#fff;

  font-size:20px;

  transition:.3s ease;
}

.tt9new-range-actions a:last-child:hover{
  background:var(--red);
}

.tt9new-range-current{
  border:2px solid var(--red);
}

.tt9new-range-urbania .tt9new-range-image{
  background:#111;
}

.tt9new-range-urbania .tt9new-range-image::before{
  border-color:#333;
}

.tt9new-range-urbania .tt9new-range-big{
  color:#292929;
}


/* =========================================================
   ROUTES
========================================================= */

.tt9new-routes{
  padding:90px 0;

  background:var(--cream);
}

.tt9new-route-head{
  display:grid;
  grid-template-columns:1.15fr .65fr;
  align-items:end;
  gap:70px;

  margin-bottom:42px;
}

.tt9new-route-head > p{
  max-width:550px;
}

.tt9new-route-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);

  border-top:1px solid #d8d8d2;
  border-left:1px solid #d8d8d2;
}

.tt9new-route-card{
  position:relative;

  min-height:250px;

  display:flex;
  flex-direction:column;

  padding:27px 24px;

  background:#fff;
  color:#000;

  border-right:1px solid #d8d8d2;
  border-bottom:1px solid #d8d8d2;

  transition:.35s ease;
}

.tt9new-route-card:hover{
  background:#080808;
  color:#fff;
}

.tt9new-route-card > span{
  color:#999;

  font-size:11px;
  font-weight:700;
}

.tt9new-route-card > div{
  margin-top:auto;
}

.tt9new-route-card small{
  display:block;

  margin-bottom:6px;

  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}

.tt9new-route-card h3{
  margin:0 0 6px;

  color:#000;

  font-size:27px;
  font-weight:700;
}

.tt9new-route-card:hover h3{
  color:#fff;
}

.tt9new-route-card p{
  color:#000;

  font-size:17px;
}

.tt9new-route-card:hover p{
  color:#fff;
}

.tt9new-route-card > i{
  position:absolute;

  top:27px;
  right:24px;

  color:#bbb;

  font-size:13px;
}

.tt9new-route-card:hover > i{
  color:var(--red);
}


/* =========================================================
   BOOKING
========================================================= */

.tt9new-booking{
  padding:90px 0;

  background:#fff;
}

.tt9new-booking-box{
  position:relative;
  overflow:hidden;

  min-height:360px;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:70px;

  padding:55px 60px;

  background:var(--red);
}

.tt9new-booking-copy{
  position:relative;
  z-index:3;
}

.tt9new-booking-copy > span{
  display:block;

  margin-bottom:13px;

  color:#000;

  font-size:10px;
  font-weight:700;
  letter-spacing:2.2px;
}

.tt9new-booking-copy h2{
  max-width:800px;

  margin:0 0 18px;

  color:#fff;

  font-size:clamp(47px,4.3vw,67px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.5px;
}

.tt9new-booking-copy h2 strong{
  display:block;

  color:#000;
}

.tt9new-booking-copy p{
  max-width:680px;

  color:#000;
}


/* ACTIONS */

.tt9new-booking-actions{
  position:relative;
  z-index:3;

  display:grid;
  gap:10px;

  min-width:285px;
}

.tt9new-booking-actions a{
  min-height:77px;

  display:flex;
  align-items:center;
  gap:14px;

  padding:15px 19px;

  background:#fff;
  color:#000;
}

.tt9new-booking-actions a:last-child{
  background:#080808;
  color:#fff;
}

.tt9new-booking-actions i{
  width:38px;

  font-size:21px;
  text-align:center;
}

.tt9new-booking-actions a:first-child i{
  color:var(--red);
}

.tt9new-booking-actions small{
  display:block;

  margin-bottom:3px;

  font-size:8px;
  font-weight:700;
  letter-spacing:1.4px;
}

.tt9new-booking-actions strong{
  font-size:15px;
  font-weight:650;
}

.tt9new-booking-watermark{
  position:absolute;

  right:-20px;
  bottom:-55px;

  color:rgba(0,0,0,.08);

  font-size:240px;
  line-height:1;
  font-weight:800;
  letter-spacing:-16px;
}


/* =========================================================
   FAQ
========================================================= */

.tt9new-faq{
  padding:90px 0 100px;

  background:var(--soft);
}

.tt9new-faq-layout{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:85px;
}

.tt9new-faq-title h2{
  margin:0 0 20px;

  color:#000;

  font-size:clamp(48px,4.1vw,65px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.4px;
}

.tt9new-faq-title h2 span{
  display:block;

  color:var(--red);
}

.tt9new-faq-title p{
  max-width:430px;

  margin-bottom:25px;
}

.tt9new-faq-title > a{
  display:inline-flex;
  align-items:center;
  gap:10px;

  color:#000;

  font-size:14px;
  font-weight:650;
}

.tt9new-faq-title > a i{
  color:var(--red);

  font-size:20px;
}


/* FAQ LIST */

.tt9new-faq-list{
  border-top:2px solid #000;
}

.tt9new-faq-list details{

  border-bottom:1px solid #ccc;
}

.tt9new-faq-list summary{
  min-height:88px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  padding:18px 5px;

  color:#000;

  cursor:pointer;
  list-style:none;

  font-size:17px;
  line-height:1.45;
  font-weight:650;
}

.tt9new-faq-list summary::-webkit-details-marker{
  display:none;
}

.tt9new-faq-list summary > span{
  display:flex;
  align-items:center;
  gap:20px;
}

.tt9new-faq-list summary b{
  color:var(--red);

  font-size:10px;
}

.tt9new-faq-list summary > i{
  width:40px;
  height:40px;
  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#000;

  font-size:11px;

  transition:.3s ease;
}

.tt9new-faq-list details[open] summary > i{
  background:var(--red);
  color:#fff;

  transform:rotate(45deg);
}

.tt9new-faq-list details p{
  max-width:800px;

  padding:0 60px 28px 35px;

  color:#000;
  font-size:17px;
}


/* =========================================================
   RESPONSIVE ? 1200
========================================================= */

@media(max-width:1200px){

  .tt9new-container{
    width:94vw;
  }

  .tt9new-intro-head{
    gap:50px;
  }

  .tt9new-showcase{
    grid-template-columns:110px 1fr 150px;
  }

  .tt9new-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .tt9new-route-grid{
    grid-template-columns:repeat(3,1fr);
  }

}


/* =========================================================
   RESPONSIVE ? 992
========================================================= */

@media(max-width:992px){

  .tt9new-intro-head{
    grid-template-columns:1fr;
    gap:25px;
  }

  .tt9new-intro-copy{
    max-width:760px;
  }

  .tt9new-showcase{
    grid-template-columns:90px 1fr 130px;
  }

  .tt9new-showcase-car img{
    width:95%;
  }

  .tt9new-heading-row,
  .tt9new-route-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .tt9new-journey-layout{
    grid-template-columns:1fr;
    gap:45px;
  }

  .tt9new-journey-intro{
    max-width:700px;
  }

  .tt9new-range-card{
    grid-template-columns:1fr;
  }

  .tt9new-range-image{
    min-height:320px;
  }

  .tt9new-booking-box{
    grid-template-columns:1fr;
    gap:35px;
  }

  .tt9new-booking-actions{
    max-width:500px;
  }

  .tt9new-faq-layout{
    grid-template-columns:1fr;
    gap:40px;
  }

}


/* =========================================================
   RESPONSIVE ? 768
========================================================= */

@media(max-width:768px){

  .tt9new-intro,
  .tt9new-features,
  .tt9new-journey,
  .tt9new-range,
  .tt9new-routes,
  .tt9new-booking,
  .tt9new-faq{
    padding:68px 0;
  }

  .tt9new-intro-title h1{
    font-size:52px;
  }

  .tt9new-showcase{
    min-height:500px;

    grid-template-columns:1fr 120px;
    grid-template-rows:1fr 88px;
  }

  .tt9new-showcase-side{
    display:none;
  }

  .tt9new-showcase-car{
    grid-column:1;
  }

  .tt9new-showcase-number{
    grid-column:2;
  }

  .tt9new-showcase-bottom{
    grid-column:1 / -1;
  }

  .tt9new-showcase-spec:nth-child(3){
    display:none;
  }

  .tt9new-showcase-bottom{
    grid-template-columns:1fr 1fr 1.4fr;
  }

  .tt9new-range-grid{
    grid-template-columns:1fr;
  }

  .tt9new-route-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


/* =========================================================
   MOBILE ? 600
========================================================= */

@media(max-width:600px){

  .tt9new-container{
    width:calc(100% - 30px);
  }

  .tt9new-page p,
  .tt9new-journey-row p,
  .tt9new-route-card p,
  .tt9new-faq-list details p{
    font-size:17px;
    line-height:1.68;
  }


  /* INTRO */

  .tt9new-intro{
    padding:55px 0;
  }

  .tt9new-intro-title h1{
    font-size:42px;
    line-height:.98;
    letter-spacing:-2.5px;
  }

  .tt9new-intro-copy > strong{
    font-size:20px;
  }

  .tt9new-showcase{
    min-height:440px;

    grid-template-columns:1fr;
    grid-template-rows:auto auto;
  }

  .tt9new-showcase-number{
    position:absolute;

    top:20px;
    right:20px;

    border:0;
  }

  .tt9new-showcase-number small{
    display:none;
  }

  .tt9new-showcase-number strong{
    font-size:60px;
  }

  .tt9new-showcase-car{
    min-height:330px;

    grid-column:1;
  }

  .tt9new-showcase-car img{
    width:98%;
  }

  .ttnine-ring-one{
    width:270px;
    height:270px;
  }

  .ttnine-ring-two{
    width:190px;
    height:190px;
  }

  .tt9new-showcase-bg{
    font-size:75px;
  }

  .tt9new-showcase-bottom{
    position:relative;

    grid-column:1;

    grid-template-columns:1fr;
  }

  .tt9new-showcase-spec{
    min-height:70px;

    padding:13px 18px;

    border-right:0;
    border-bottom:1px solid #292929;
  }

  .tt9new-showcase-spec:nth-child(3){
    display:flex;
  }

  .tt9new-showcase-actions{
    min-height:70px;
  }


  /* COMMON HEADINGS */

  .tt9new-heading-row h2,
  .tt9new-route-head h2,
  .tt9new-journey-intro h2,
  .tt9new-booking-copy h2,
  .tt9new-faq-title h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-2px;
  }


  /* FEATURES */

  .tt9new-feature-grid{
    grid-template-columns:1fr;
  }

  .tt9new-feature{
    min-height:285px;

    padding:26px;
  }

  .tt9new-feature h3{
    font-size:24px;
  }


  /* JOURNEY */

  .tt9new-journey-row{
    grid-template-columns:38px 1fr;

    min-height:0;

    padding:27px 5px;
  }

  .tt9new-journey-row > i{
    display:none;
  }

  .tt9new-journey-row h3{
    font-size:23px;
  }


  /* RANGE */

  .tt9new-range-image{
    min-height:280px;
  }

  .tt9new-range-content{
    padding:26px 23px;
  }

  .tt9new-range-content h3{
    font-size:25px;
  }


  /* ROUTES */

  .tt9new-route-grid{
    grid-template-columns:1fr;
  }

  .tt9new-route-card{
    min-height:205px;
  }


  /* BOOKING */

  .tt9new-booking-box{
    min-height:0;

    padding:38px 24px;
  }

  .tt9new-booking-actions{
    min-width:0;
  }

  .tt9new-booking-watermark{
    font-size:140px;
  }


  /* FAQ */

  .tt9new-faq-list summary{
    min-height:82px;

    font-size:16px;
  }

  .tt9new-faq-list summary > span{
    gap:12px;
  }

  .tt9new-faq-list details p{
    padding:0 5px 25px 27px;
  }

}


/* =========================================================
   390 / 375 / 360
========================================================= */

@media(max-width:390px){

  .tt9new-intro-title h1{
    font-size:38px;
  }

  .tt9new-heading-row h2,
  .tt9new-route-head h2,
  .tt9new-journey-intro h2,
  .tt9new-booking-copy h2,
  .tt9new-faq-title h2{
    font-size:35px;
  }

  .tt9new-showcase-car{
    min-height:290px;
  }

  .tt9new-showcase-number strong{
    font-size:52px;
  }

}

/* =========================================================
   8+1 TEMPO TRAVELLER ? MODERN INTRO
   UNIQUE CSS ? ptt8intro-
========================================================= */

.ptt8intro-section,
.ptt8intro-section *{
  box-sizing:border-box;
}

.ptt8intro-section{
  --ptt8-red:#fb0001;
  --ptt8-black:#080808;
  --ptt8-text:#000;
  --ptt8-soft:#f5f5f3;
  --ptt8-line:#dededa;
  --ptt8-white:#fff;

  position:relative;

  width:100%;

  padding:82px 0 88px;

  overflow:hidden;

  background:#fff;

 font-family: "Outfit", sans-serif;
}


.ptt8intro-container{
  width:min(92vw,1420px);
  margin:0 auto;
}


/* =========================================================
   MAIN GRID
========================================================= */

.ptt8intro-grid{
  display:grid;

  grid-template-columns:
    minmax(0,.92fr)
    minmax(500px,1.08fr);

  align-items:center;

  gap:80px;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.ptt8intro-content{
  max-width:650px;
}


/* EYEBROW */

.ptt8intro-eyebrow{
  display:flex;
  align-items:center;

  gap:12px;

  margin-bottom:20px;

  color:var(--ptt8-red);

  font-size:12px;
  line-height:1;

  font-weight:700;

  letter-spacing:2.3px;
}


.ptt8intro-eyebrow span{
  width:38px;
  height:2px;

  flex:0 0 38px;

  background:var(--ptt8-red);
}


/* MAIN HEADING */

.ptt8intro-content h1{
  margin:0 0 24px;

  color:#000;

  font-size:clamp(54px,5vw,76px);
  line-height:.95;

  font-weight:750;

  letter-spacing:-4px;
}


.ptt8intro-content h1 span{
  display:block;

  color:var(--ptt8-red);
}


/* SUB HEADING */

.ptt8intro-content h2{
  max-width:590px;

  margin:0 0 18px;

  color:#000;

  font-size:21px;
  line-height:1.45;

  font-weight:650;

  letter-spacing:-.3px;
}


/* PARAGRAPH */

.ptt8intro-content p{
  max-width:625px;

  margin:0 0 13px;

  color:#000 !important;

  font-size:17px !important;
  line-height:1.72 !important;

  font-weight:400;
}


/* =========================================================
   QUICK FEATURES
========================================================= */

.ptt8intro-features{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  margin-top:29px;

  border-top:1px solid var(--ptt8-line);
  border-bottom:1px solid var(--ptt8-line);
}


.ptt8intro-feature{
  min-height:88px;

  display:flex;
  align-items:center;

  gap:12px;

  padding:15px 16px;

  border-right:1px solid var(--ptt8-line);
}


.ptt8intro-feature:last-child{
  border-right:0;
}


.ptt8intro-feature > i{
  width:36px;
  height:36px;

  flex:0 0 36px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff1f1;

  color:var(--ptt8-red);

  font-size:15px;
}


.ptt8intro-feature small{
  display:block;

  margin-bottom:4px;

  color:#777;

  font-size:9px;
  line-height:1;

  font-weight:700;

  letter-spacing:1.3px;
}


.ptt8intro-feature strong{
  display:block;

  color:#000;

  font-size:14px;
  line-height:1.3;

  font-weight:650;
}


/* =========================================================
   ACTION BUTTONS
========================================================= */

.ptt8intro-actions{
  display:flex;
  align-items:center;

  gap:12px;

  margin-top:28px;
}


.ptt8intro-actions a{
  min-height:56px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:10px;

  padding:0 24px;

  font-size:14px;

  font-weight:650;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}


.ptt8intro-call{
  background:var(--ptt8-red);

  color:#fff !important;
}


.ptt8intro-call:hover{
  background:#000;

  transform:translateY(-2px);
}


.ptt8intro-whatsapp{
  background:#fff;

  color:#000 !important;

  border:1px solid #cfcfcb;
}


.ptt8intro-whatsapp i{
  color:#000;

  font-size:18px;
}


.ptt8intro-whatsapp:hover{
  border-color:#000;

  transform:translateY(-2px);
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.ptt8intro-visual{
  position:relative;

  padding:0 0 32px 32px;
}


/* MAIN IMAGE CARD */

.ptt8intro-imagebox{
  position:relative;

  overflow:hidden;

  background:#f2f2ef;

  border:1px solid #dddeda;
}


/* =========================================================
   IMAGE TOP
========================================================= */

.ptt8intro-image-top{
  min-height:61px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 24px;

  background:#fff;

  border-bottom:1px solid var(--ptt8-line);
}


.ptt8intro-image-top span{
  color:#000;

  font-size:10px;

  font-weight:700;

  letter-spacing:1.7px;
}


.ptt8intro-image-top small{
  color:var(--ptt8-red);

  font-size:9px;

  font-weight:700;

  letter-spacing:1.5px;
}


/* =========================================================
   VEHICLE
========================================================= */

.ptt8intro-car{
  position:relative;

  min-height:405px;

  display:flex;
  align-items:center;
  justify-content:center;


  overflow:hidden;

  background:
    linear-gradient(
      145deg,
      #f8f8f6 0%,
      #ededeb 100%
    );
}


/* SIMPLE FLOOR LINE */

.ptt8intro-car::before{
  content:"";

  position:absolute;

  left:9%;
  right:9%;

  bottom:68px;

  height:1px;

  background:#d2d2ce;
}


/* SIMPLE SHADOW */

.ptt8intro-car::after{
  content:"";

  position:absolute;

  left:18%;
  right:18%;

  bottom:57px;

  height:24px;

  background:rgba(0,0,0,.14);

  border-radius:50%;

  filter:blur(17px);
}


.ptt8intro-car img{
  position:relative;

  z-index:3;

  width:100%;
  max-width:720px;


  object-fit:contain;

  filter:
    drop-shadow(
      0 18px 15px rgba(0,0,0,.12)
    );

  transition:transform .45s ease;
}


.ptt8intro-imagebox:hover
.ptt8intro-car img{
  transform:translateY(-4px);
}


/* =========================================================
   8+1 BADGE
========================================================= */

.ptt8intro-badge{
  position:absolute;

  z-index:5;

  top:82px;
  right:22px;

  width:88px;
  height:88px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  background:#fff;

  border:1px solid #ddd;
}


.ptt8intro-badge small{
  margin-bottom:2px;

  color:#777;

  font-size:8px;

  font-weight:700;

  letter-spacing:1.2px;
}


.ptt8intro-badge strong{
  color:#000;

  font-size:38px;
  line-height:1;

  font-weight:800;

  letter-spacing:-3px;
}


.ptt8intro-badge strong span{
  color:var(--ptt8-red);

  font-size:.6em;
}


/* =========================================================
   IMAGE BOTTOM
========================================================= */

.ptt8intro-image-bottom{
  min-height:82px;

  display:grid;

  grid-template-columns:1fr 1fr;

  background:#080808;
}


.ptt8intro-image-bottom > div{
  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:14px 24px;

  border-right:1px solid #292929;
}


.ptt8intro-image-bottom > div:last-child{
  border-right:0;
}


.ptt8intro-image-bottom small{
  display:block;

  margin-bottom:4px;

  color:#888;

  font-size:8px;

  font-weight:700;

  letter-spacing:1.3px;
}


.ptt8intro-image-bottom strong{
  display:block;

  color:#fff;

  font-size:14px;

  font-weight:600;
}


/* =========================================================
   RED FLOATING NOTE
========================================================= */

.ptt8intro-note{
  position:absolute;

  left:0;
  bottom:0;

  z-index:7;

  min-width:205px;

  min-height:76px;

  display:flex;
  align-items:center;

  gap:13px;

  padding:14px 19px;

  background:var(--ptt8-red);

  color:#fff;

  box-shadow:0 14px 30px rgba(0,0,0,.12);
}


.ptt8intro-note > i{
  width:37px;
  height:37px;

  flex:0 0 37px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;

  color:var(--ptt8-red);

  font-size:15px;
}


.ptt8intro-note small{
  display:block;

  margin-bottom:3px;

  color:#fff;

  font-size:8px;

  font-weight:700;

  letter-spacing:1.2px;
}


.ptt8intro-note strong{
  display:block;

  color:#fff;

  font-size:14px;

  font-weight:650;
}


/* =========================================================
   1200
========================================================= */

@media(max-width:1200px){

  .ptt8intro-grid{
    grid-template-columns:
      minmax(0,.95fr)
      minmax(460px,1.05fr);


    gap:50px;
  }

  .ptt8intro-content h1{
    font-size:58px;
  }

  .ptt8intro-car{
    min-height:370px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:992px){

  .ptt8intro-section{
    padding:65px 0 70px;
  }

  .ptt8intro-grid{
    grid-template-columns:1fr;

    gap:45px;
  }

  .ptt8intro-content{
    max-width:760px;
  }

  .ptt8intro-content h1{
    font-size:60px;
  }

  .ptt8intro-visual{
    max-width:820px;

    padding-left:25px;
  }

  .ptt8intro-car{
    min-height:430px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .ptt8intro-section{
    padding:55px 0 60px;
  }

  .ptt8intro-container{
    width:calc(100% - 30px);
  }


  /* HEADING */

  .ptt8intro-eyebrow{
    font-size:10px;

    letter-spacing:1.7px;
  }

  .ptt8intro-content h1{
    margin-bottom:20px;

    font-size:43px;
    line-height:.98;

    letter-spacing:-2.5px;
  }

  .ptt8intro-content h2{
    font-size:19px;
    line-height:1.45;
  }

  .ptt8intro-content p{
    font-size:17px !important;
    line-height:1.7 !important;
  }


  /* FEATURES */

  .ptt8intro-features{
    grid-template-columns:1fr;
  }

  .ptt8intro-feature{
    min-height:68px;

    padding:12px 15px;

    border-right:0;

    border-bottom:1px solid var(--ptt8-line);
  }

  .ptt8intro-feature:last-child{
    border-bottom:0;
  }


  /* CTA */

  .ptt8intro-actions{
    align-items:stretch;

    flex-direction:column;
  }

  .ptt8intro-actions a{
    width:100%;
  }


  /* IMAGE */

  .ptt8intro-visual{
    padding:0 0 28px 0;
  }

  .ptt8intro-image-top{
    padding:0 17px;
  }

  .ptt8intro-car{
    min-height:290px;

    padding:35px 12px 15px;
  }

  .ptt8intro-car img{
    width:100%;
    max-height:250px;
  }

  .ptt8intro-badge{
    top:76px;
    right:13px;

    width:72px;
    height:72px;
  }

  .ptt8intro-badge strong{
    font-size:31px;
  }

  .ptt8intro-image-bottom{
    grid-template-columns:1fr;
  }

  .ptt8intro-image-bottom > div{
    min-height:67px;

    padding:12px 18px;

    border-right:0;

    border-bottom:1px solid #292929;
  }

  .ptt8intro-image-bottom > div:last-child{
    border-bottom:0;
  }


  /* NOTE */

  .ptt8intro-note{
    position:relative;

    left:auto;
    bottom:auto;

    width:100%;

    min-height:70px;

    box-shadow:none;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .ptt8intro-content h1{
    font-size:38px;
  }

  .ptt8intro-car{
    min-height:260px;
  }

  .ptt8intro-car img{
    max-height:220px;
  }

}


/* =========================================================
   PTT JODHPUR ? 17+1 SEATER TEMPO TRAVELLER
   UNIQUE PREFIX: ptt17-
========================================================= */

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

.ptt17-page{
  --red:#fb0001;
  --black:#080808;
  --soft:#f4f4f1;
  --cream:#faf8f3;
  --line:#ddddda;

  width:100%;
  overflow:hidden;

  background:#fff;
  color:#000;

 font-family: "Outfit", sans-serif;
}

.ptt17-page a{
  text-decoration:none;
}

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

.ptt17-container{
  width:min(92vw,1480px);
  margin:0 auto;
}


/* =========================================================
   IMPORTANT ? ALL PARAGRAPHS
========================================================= */

.ptt17-page p{
  margin:0;

  color:#000;

  font-size:17px;
  line-height:1.72;
  font-weight:400;
}


/* =========================================================
   COMMON
========================================================= */

.ptt17-eyebrow{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:18px;

  color:var(--red);

  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:2.4px;
}

.ptt17-eyebrow > span{
  width:40px;
  height:2px;

  flex:0 0 40px;

  background:var(--red);
}

.ptt17-eyebrow-white{
  color:#fff;
}

.ptt17-heading-row,
.ptt17-route-head{
  display:grid;
  grid-template-columns:1.15fr .65fr;
  align-items:end;
  gap:70px;

  margin-bottom:42px;
}

.ptt17-heading-row h2,
.ptt17-route-head h2{
  margin:0;

  color:#000;

  font-size:clamp(48px,4.2vw,67px);
  line-height:.99;
  font-weight:750;
  letter-spacing:-3.5px;
}

.ptt17-heading-row h2 span,
.ptt17-route-head h2 span{
  display:block;
  color:var(--red);
}


/* =========================================================
   01. INTRO
========================================================= */

.ptt17-intro{
  padding:80px 0 88px;

  background:#fff;
}

.ptt17-intro-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  align-items:center;
  gap:75px;
}


/* CONTENT */

.ptt17-intro-content{
  max-width:650px;
}

.ptt17-intro-content h1{
  margin:0 0 24px;

  color:#000;

  font-size:clamp(55px,5.2vw,80px);
  line-height:.94;
  font-weight:750;
  letter-spacing:-4.5px;
}

.ptt17-intro-content h1 span{
  display:block;
  color:var(--red);
}

.ptt17-intro-content h2{
  max-width:600px;

  margin:0 0 17px;

  color:#000;

  font-size:22px;
  line-height:1.42;
  font-weight:650;
}

.ptt17-intro-content p{
  margin-bottom:12px;
}


/* SPECS */

.ptt17-intro-specs{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  margin-top:28px;

  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.ptt17-intro-specs > div{
  min-height:88px;

  display:flex;
  align-items:center;
  gap:12px;

  padding:14px 15px;

  border-right:1px solid var(--line);
}

.ptt17-intro-specs > div:last-child{
  border-right:0;
}

.ptt17-intro-specs i{
  width:37px;
  height:37px;

  flex:0 0 37px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff0f0;
  color:var(--red);

  font-size:15px;
}

.ptt17-intro-specs small{
  display:block;

  margin-bottom:4px;

  color:#777;

  font-size:9px;
  font-weight:700;
  letter-spacing:1.3px;
}

.ptt17-intro-specs strong{
  display:block;

  color:#000;

  font-size:14px;
  font-weight:650;
}


/* ACTIONS */

.ptt17-intro-actions{
  display:flex;
  gap:12px;

  margin-top:28px;
}

.ptt17-intro-actions a{
  min-height:57px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:0 25px;

  font-size:14px;
  font-weight:650;

  transition:.3s ease;
}

.ptt17-call{
  background:var(--red);
  color:#fff;
}

.ptt17-call:hover{
  background:#000;
}

.ptt17-wa{
  color:#000;

  background:#fff;

  border:1px solid #ccc;
}

.ptt17-wa i{
  font-size:18px;
}

.ptt17-wa:hover{
  border-color:#000;
}


/* =========================================================
   RIGHT VEHICLE
========================================================= */

.ptt17-intro-visual{
  position:relative;

  overflow:hidden;

  background:#f2f2ef;

  border:1px solid var(--line);
}

.ptt17-visual-top{
  min-height:62px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding:0 25px;

  background:#fff;

  border-bottom:1px solid var(--line);
}

.ptt17-visual-top span{
  color:#000;

  font-size:10px;
  font-weight:700;
  letter-spacing:1.7px;
}

.ptt17-visual-top strong{
  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}


/* CAR */

.ptt17-car{
  position:relative;

  min-height:420px;

  display:flex;
  align-items:center;
  justify-content:center;


  overflow:hidden;

  background:linear-gradient(
    145deg,
    #f8f8f6 0%,
    #ececea 100%
  );
}

.ptt17-car::before{
  content:"";

  position:absolute;

  left:10%;
  right:10%;
  bottom:72px;

  height:1px;

  background:#cececa;
}

.ptt17-car::after{
  content:"";

  position:absolute;

  left:20%;
  right:20%;
  bottom:58px;

  height:27px;

  background:rgba(0,0,0,.14);

  filter:blur(17px);

  border-radius:50%;
}

.ptt17-car img{
  position:relative;
  z-index:3;

  width:100%;


  object-fit:contain;

  filter:drop-shadow(0 20px 16px rgba(0,0,0,.13));

  transition:transform .4s ease;
}

.ptt17-intro-visual:hover .ptt17-car img{
  transform:translateY(-5px);
}


/* CAPACITY */

.ptt17-capacity{
  position:absolute;

  z-index:6;

  top:22px;
  right:22px;

  width:100px;
  height:92px;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;

  background:#fff;

  border:1px solid #ddd;
}

.ptt17-capacity small{
  margin-bottom:3px;

  color:#777;

  font-size:8px;
  font-weight:700;
  letter-spacing:1.3px;
}

.ptt17-capacity strong{
  color:#000;

  font-size:38px;
  line-height:1;
  font-weight:800;
  letter-spacing:-3px;
}

.ptt17-capacity strong span{
  color:var(--red);
  font-size:.6em;
}


/* BOTTOM */

.ptt17-visual-bottom{
  min-height:82px;

  display:grid;
  grid-template-columns:1fr 1fr;

  background:#080808;
}

.ptt17-visual-bottom > div{
  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:14px 24px;

  border-right:1px solid #292929;
}

.ptt17-visual-bottom > div:last-child{
  border-right:0;
}

.ptt17-visual-bottom small{
  margin-bottom:4px;

  color:#888;

  font-size:8px;
  font-weight:700;
  letter-spacing:1.3px;
}

.ptt17-visual-bottom strong{
  color:#fff;

  font-size:14px;
  font-weight:600;
}


/* =========================================================
   02. FEATURES
========================================================= */

.ptt17-features{
  padding:90px 0;

  background:var(--soft);
}

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

.ptt17-feature{
  min-height:310px;

  display:flex;
  flex-direction:column;
  justify-content:space-between;

  padding:31px;

  background:#fff;

  border:1px solid var(--line);

  transition:.35s ease;
}

.ptt17-feature:hover{
  transform:translateY(-5px);

  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.ptt17-feature-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.ptt17-feature-top span{
  color:#888;

  font-size:11px;
  font-weight:700;
}

.ptt17-feature-top i{
  width:54px;
  height:54px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#f1f1ee;
  color:var(--red);

  font-size:19px;
}

.ptt17-feature h3{
  margin:42px 0 11px;

  color:#000;

  font-size:25px;
  line-height:1.17;
  font-weight:700;
  letter-spacing:-.7px;
}


/* RED */

.ptt17-feature-red{
  background:var(--red);

  border-color:var(--red);
}

.ptt17-feature-red .ptt17-feature-top span{
  color:#fff;
}

.ptt17-feature-red .ptt17-feature-top i{
  background:#fff;
}

.ptt17-feature-red h3{
  color:#fff;
}

.ptt17-feature-red p{
  color:#000;
}


/* DARK */

.ptt17-feature-dark{
  background:#080808;

  border-color:#080808;
}

.ptt17-feature-dark .ptt17-feature-top span{
  color:#aaa;
}

.ptt17-feature-dark .ptt17-feature-top i{
  background:#222;
  color:#fff;
}

.ptt17-feature-dark h3,
.ptt17-feature-dark p{
  color:#fff;
}


/* =========================================================
   03. USES
========================================================= */

.ptt17-uses{
  padding:92px 0;

  background:#080808;
}

.ptt17-uses-grid{
  display:grid;
  grid-template-columns:.67fr 1.33fr;
  gap:85px;
}

.ptt17-uses-title{
  align-self:center;
}

.ptt17-uses-title h2{
  margin:0 0 23px;

  color:#fff;

  font-size:clamp(49px,4.3vw,68px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.5px;
}

.ptt17-uses-title h2 span{
  display:block;

  color:var(--red);
}

.ptt17-uses-title p{
  max-width:470px;

  margin-bottom:28px;

  color:#fff;
}

.ptt17-uses-title > a{
  display:inline-flex;
  align-items:center;
  gap:12px;

  padding-bottom:7px;

  color:#fff;

  border-bottom:1px solid #fff;

  font-size:14px;
  font-weight:650;
}


/* USE ROWS */

.ptt17-uses-list{
  border-top:1px solid #303030;
}

.ptt17-use-row{
  min-height:160px;

  display:grid;
  grid-template-columns:42px 55px 1fr 35px;
  align-items:center;
  gap:18px;

  padding:22px 8px;

  color:#fff;

  border-bottom:1px solid #303030;

  transition:.3s ease;
}

.ptt17-use-row:hover{
  padding-left:20px;

  background:#121212;
}

.ptt17-use-row > span{
  color:var(--red);

  font-size:10px;
  font-weight:700;
}

.ptt17-use-row > i{
  color:#777;

  font-size:21px;
}

.ptt17-use-row small{
  display:block;

  margin-bottom:5px;

  color:#999;

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}

.ptt17-use-row h3{
  margin:0 0 7px;

  color:#fff;

  font-size:25px;
  line-height:1.2;
  font-weight:650;
}

.ptt17-use-row p{
  color:#fff;
}

.ptt17-use-row > b{
  color:var(--red);

  font-size:13px;
}


/* =========================================================
   04. RANGE
========================================================= */

.ptt17-range{
  padding:92px 0;

  background:#fff;
}

.ptt17-range-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}

.ptt17-range-card{
  min-height:370px;

  display:grid;
  grid-template-columns:1.05fr .95fr;

  border:1px solid var(--line);

  background:#fff;

  transition:.35s ease;
}

.ptt17-range-card:hover{
  transform:translateY(-5px);

  box-shadow:0 20px 42px rgba(0,0,0,.08);
}


/* RANGE IMAGE */

.ptt17-range-img{
  position:relative;

  min-height:370px;

  display:flex;
  align-items:center;
  justify-content:center;

  overflow:hidden;

  background:#f0f0ed;
}

.ptt17-range-img > span{
  position:absolute;

  top:16px;
  left:18px;

  color:#dadad6;

  font-size:56px;
  line-height:1;
  font-weight:800;
  letter-spacing:-4px;
}

.ptt17-range-img > b{
  position:absolute;

  z-index:5;

  top:18px;
  right:18px;

  padding:8px 10px;

  background:var(--red);
  color:#fff;

  font-size:8px;
  font-weight:700;
  letter-spacing:1px;
}

.ptt17-range-img img{
  position:relative;
  z-index:3;

  width:94%;
  height:86%;

  object-fit:contain;

  filter:drop-shadow(0 18px 14px rgba(0,0,0,.13));

  transition:.4s ease;
}

.ptt17-range-card:hover .ptt17-range-img img{
  transform:scale(1.03);
}


/* RANGE CONTENT */

.ptt17-range-content{
  display:flex;
  flex-direction:column;

  padding:30px 27px;
}

.ptt17-range-content > small{
  display:block;

  margin-bottom:9px;

  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
}

.ptt17-range-content h3{
  margin:0 0 14px;

  color:#000;

  font-size:27px;
  line-height:1.08;
  font-weight:700;
}

.ptt17-range-content h3 span{
  display:block;
}

.ptt17-range-actions{
  display:grid;
  grid-template-columns:1fr 55px;

  margin-top:auto;

  border-top:1px solid #ddd;
}

.ptt17-range-actions a:first-child{
  min-height:55px;

  display:flex;
  align-items:center;
  justify-content:space-between;

  padding-right:16px;

  color:#000;

  font-size:13px;
  font-weight:650;
}

.ptt17-range-actions a:first-child i{
  color:var(--red);
}

.ptt17-range-actions a:last-child{

  display:flex;
  align-items:center;
  justify-content:center;

  background:#080808;
  color:#fff;

  font-size:20px;
}

.ptt17-range-actions a:last-child:hover{
  background:var(--red);
}

.ptt17-current{
  border:2px solid var(--red);
}

.ptt17-urbania .ptt17-range-img{
  background:#111;
}

.ptt17-urbania .ptt17-range-img > span{
  color:#292929;
}


/* =========================================================
   05. ROUTES
========================================================= */

.ptt17-routes{
  padding:90px 0;

  background:var(--cream);
}

.ptt17-route-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);

  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.ptt17-route{
  position:relative;

  min-height:245px;

  display:flex;
  flex-direction:column;

  padding:25px;

  background:#fff;
  color:#000;

  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);

  transition:.35s ease;
}

.ptt17-route:hover{
  background:#080808;
  color:#fff;
}

.ptt17-route > span{
  color:#999;

  font-size:10px;
  font-weight:700;
}

.ptt17-route > div{
  margin-top:auto;
}

.ptt17-route small{
  display:block;

  margin-bottom:6px;

  color:var(--red);

  font-size:9px;
  font-weight:700;
  letter-spacing:1.4px;
}

.ptt17-route h3{
  margin:0 0 5px;

  color:#000;

  font-size:26px;
  font-weight:700;
}

.ptt17-route:hover h3{
  color:#fff;
}

.ptt17-route p{
  color:#000;
}

.ptt17-route:hover p{
  color:#fff;
}

.ptt17-route > i{
  position:absolute;

  top:25px;
  right:24px;

  color:#bbb;

  font-size:13px;
}

.ptt17-route:hover > i{
  color:var(--red);
}


/* =========================================================
   06. CTA
========================================================= */

.ptt17-cta{
  padding:90px 0;

  background:#fff;
}

.ptt17-cta-box{
  position:relative;

  min-height:355px;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:70px;

  padding:55px 60px;

  overflow:hidden;

  background:var(--red);
}

.ptt17-cta-copy,
.ptt17-cta-actions{
  position:relative;
  z-index:3;
}

.ptt17-cta-copy > span{
  display:block;

  margin-bottom:12px;

  color:#000;

  font-size:10px;
  font-weight:700;
  letter-spacing:2px;
}

.ptt17-cta-copy h2{
  max-width:790px;

  margin:0 0 17px;

  color:#fff;

  font-size:clamp(46px,4.2vw,66px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.5px;
}

.ptt17-cta-copy h2 strong{
  display:block;

  color:#000;
}

.ptt17-cta-copy p{
  max-width:670px;

  color:#000;
}

.ptt17-cta-actions{
  min-width:285px;

  display:grid;
  gap:10px;
}

.ptt17-cta-actions a{
  min-height:76px;

  display:flex;
  align-items:center;
  gap:14px;

  padding:15px 18px;

  background:#fff;
  color:#000;
}

.ptt17-cta-actions a:last-child{
  background:#080808;
  color:#fff;
}

.ptt17-cta-actions > a > i{
  width:38px;

  color:var(--red);

  font-size:20px;
  text-align:center;
}

.ptt17-cta-actions a:last-child > i{
  color:#fff;
}

.ptt17-cta-actions small{
  display:block;

  margin-bottom:3px;

  font-size:8px;
  font-weight:700;
  letter-spacing:1.3px;
}

.ptt17-cta-actions strong{
  font-size:15px;
  font-weight:650;
}

.ptt17-cta-number{
  position:absolute;

  right:-20px;
  bottom:-58px;

  color:rgba(0,0,0,.08);

  font-size:220px;
  line-height:1;
  font-weight:800;
  letter-spacing:-15px;
}


/* =========================================================
   07. FAQ
========================================================= */

.ptt17-faq{
  padding:90px 0 100px;

  background:var(--soft);
}

.ptt17-faq-grid{
  display:grid;
  grid-template-columns:.65fr 1.35fr;
  gap:85px;
}

.ptt17-faq-title h2{
  margin:0 0 19px;

  color:#000;

  font-size:clamp(47px,4vw,64px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.4px;
}

.ptt17-faq-title h2 span{
  display:block;
  color:var(--red);
}

.ptt17-faq-title p{
  max-width:420px;

  margin-bottom:24px;
}

.ptt17-faq-title > a{
  display:inline-flex;
  align-items:center;
  gap:9px;

  color:#000;

  font-size:14px;
  font-weight:650;
}

.ptt17-faq-title > a i{
  color:var(--red);

  font-size:19px;
}


/* FAQ LIST */

.ptt17-faq-list{
  border-top:2px solid #000;
}

.ptt17-faq-list details{
  border-bottom:1px solid #ccc;
}

.ptt17-faq-list summary{
  min-height:88px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  padding:17px 5px;

  color:#000;

  cursor:pointer;
  list-style:none;

  font-size:17px;
  line-height:1.45;
  font-weight:650;
}

.ptt17-faq-list summary::-webkit-details-marker{
  display:none;
}

.ptt17-faq-list summary > span{
  display:flex;
  align-items:center;
  gap:19px;
}

.ptt17-faq-list summary b{
  color:var(--red);

  font-size:10px;
}

.ptt17-faq-list summary > i{
  width:40px;
  height:40px;

  flex:0 0 40px;

  display:flex;
  align-items:center;
  justify-content:center;

  background:#fff;
  color:#000;

  font-size:11px;

  transition:.3s ease;
}

.ptt17-faq-list details[open] summary > i{
  transform:rotate(45deg);

  background:var(--red);
  color:#fff;
}

.ptt17-faq-list details p{
  max-width:800px;

  padding:0 60px 28px 34px;

  color:#000;

  font-size:17px;
}


/* =========================================================
   RESPONSIVE ? 1200
========================================================= */

@media(max-width:1200px){

  .ptt17-container{
    width:94vw;
  }

  .ptt17-intro-grid{
    gap:48px;
  }

  .ptt17-feature-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .ptt17-route-grid{
    grid-template-columns:repeat(3,1fr);
  }

}


/* =========================================================
   RESPONSIVE ? 992
========================================================= */

@media(max-width:992px){

  .ptt17-intro{
    padding:65px 0 70px;
  }

  .ptt17-intro-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .ptt17-intro-content{
    max-width:760px;
  }

  .ptt17-intro-visual{
    max-width:850px;
  }

  .ptt17-heading-row,
  .ptt17-route-head{
    grid-template-columns:1fr;
    gap:20px;
  }

  .ptt17-uses-grid{
    grid-template-columns:1fr;
    gap:45px;
  }

  .ptt17-uses-title{
    max-width:700px;
  }

  .ptt17-range-card{
    grid-template-columns:1fr;
  }

  .ptt17-range-img{
    min-height:320px;
  }

  .ptt17-cta-box{
    grid-template-columns:1fr;
    gap:35px;
  }

  .ptt17-cta-actions{
    max-width:500px;
  }

  .ptt17-faq-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

}


/* =========================================================
   RESPONSIVE ? 768
========================================================= */

@media(max-width:768px){

  .ptt17-intro,
  .ptt17-features,
  .ptt17-uses,
  .ptt17-range,
  .ptt17-routes,
  .ptt17-cta,
  .ptt17-faq{
    padding:68px 0;
  }

  .ptt17-range-grid{
    grid-template-columns:1fr;
  }

  .ptt17-route-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


/* =========================================================
   MOBILE ? 600
========================================================= */

@media(max-width:600px){

  .ptt17-container{
    width:calc(100% - 30px);
  }

  /* ALL PARAGRAPHS STAY 17PX */

  .ptt17-page p{
    font-size:17px;
    line-height:1.68;
  }


  /* INTRO */

  .ptt17-intro-content h1{
    font-size:42px;
    line-height:.99;
    letter-spacing:-2.5px;
  }

  .ptt17-intro-content h2{
    font-size:19px;
  }

  .ptt17-intro-specs{
    grid-template-columns:1fr;
  }

  .ptt17-intro-specs > div{
    min-height:68px;

    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .ptt17-intro-specs > div:last-child{
    border-bottom:0;
  }

  .ptt17-intro-actions{
    flex-direction:column;
  }

  .ptt17-intro-actions a{
    width:100%;
  }


  /* VEHICLE */

  .ptt17-car{
    min-height:300px;

    padding:30px 12px;
  }

  .ptt17-car img{
    width:100%;
    max-height:260px;
  }

  .ptt17-capacity{
    top:14px;
    right:13px;

    width:78px;
    height:74px;
  }

  .ptt17-capacity strong{
    font-size:30px;
  }

  .ptt17-visual-bottom{
    grid-template-columns:1fr;
  }

  .ptt17-visual-bottom > div{
    min-height:68px;

    border-right:0;
    border-bottom:1px solid #292929;
  }


  /* HEADINGS */

  .ptt17-heading-row h2,
  .ptt17-route-head h2,
  .ptt17-uses-title h2,
  .ptt17-cta-copy h2,
  .ptt17-faq-title h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-2px;
  }


  /* FEATURES */

  .ptt17-feature-grid{
    grid-template-columns:1fr;
  }

  .ptt17-feature{
    min-height:285px;

    padding:26px;
  }

  .ptt17-feature h3{
    font-size:24px;
  }


  /* USES */

  .ptt17-use-row{
    grid-template-columns:34px 42px 1fr;

    min-height:0;

    padding:27px 5px;
  }

  .ptt17-use-row > b{
    display:none;
  }

  .ptt17-use-row h3{
    font-size:23px;
  }


  /* RANGE */

  .ptt17-range-img{
    min-height:280px;
  }

  .ptt17-range-content{
    padding:26px 23px;
  }


  /* ROUTES */

  .ptt17-route-grid{
    grid-template-columns:1fr;
  }

  .ptt17-route{
    min-height:205px;
  }


  /* CTA */

  .ptt17-cta-box{
    min-height:0;

    padding:38px 24px;
  }

  .ptt17-cta-actions{
    min-width:0;
  }

  .ptt17-cta-number{
    font-size:130px;
  }


  /* FAQ */

  .ptt17-faq-list summary{
    min-height:82px;

    font-size:16px;
  }

  .ptt17-faq-list summary > span{
    gap:12px;
  }

  .ptt17-faq-list details p{
    padding:0 5px 25px 27px;

    font-size:17px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .ptt17-intro-content h1{
    font-size:38px;
  }

  .ptt17-heading-row h2,
  .ptt17-route-head h2,
  .ptt17-uses-title h2,
  .ptt17-cta-copy h2,
  .ptt17-faq-title h2{
    font-size:35px;
  }

  .ptt17-car{
    min-height:260px;
  }

}


/* =========================================================
   PTT JODHPUR - DAY TOUR MASTER CSS
   PREFIX: ptttour-

   SAME CSS FOR ALL DAY TOUR PAGES
========================================================= */

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

.ptttour-page{
  --red:#fb0001;
  --black:#090909;
  --white:#ffffff;
  --soft:#f5f5f3;
  --cream:#faf9f6;
  --line:#e2e2de;

  width:100%;
  overflow:hidden;

  background:#fff;
  color:#000;

 font-family: "Outfit", sans-serif;
}

.ptttour-page a{
  text-decoration:none;
}

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

.ptttour-page p{
  margin:0;
  color:#000;
  font-size:17px;
  line-height:1.72;
  font-weight:400;
}

.ptttour-container{
  width:min(92vw,1480px);
  margin:0 auto;
}


/* =========================================================
   COMMON LABEL
========================================================= */

.ptttour-label{
  display:inline-flex;
  align-items:center;
  gap:11px;

  margin-bottom:18px;

  color:var(--red);

  font-size:14px;
  line-height:1.2;
  font-weight:650;
  letter-spacing:.5px;
}

.ptttour-label:before{
  content:"";

  width:34px;
  height:2px;

  background:var(--red);
}

.ptttour-label-white{
  color:#fff;
}

.ptttour-label-white:before{
  background:#fff;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.ptttour-heading{
  display:grid;
  grid-template-columns:1fr .62fr;
  align-items:end;
  gap:70px;

  margin-bottom:42px;
}

.ptttour-heading h2{
  max-width:760px;

  margin:0;

  color:#000;

  font-size:clamp(48px,4.2vw,66px);
  line-height:1;
  font-weight:750;
  letter-spacing:-3px;
}

.ptttour-heading h2 span{
  display:block;
  color:var(--red);
}

.ptttour-heading > p{
  max-width:560px;
}


/* =========================================================
   INTRO
========================================================= */

.ptttour-intro{
  padding:75px 0 82px;
  background:#fff;
}

.ptttour-intro-grid{
  display:grid;
  grid-template-columns:1fr .82fr;
  gap:70px;
  align-items:center;
}


/* INTRO CONTENT */

.ptttour-intro-content{
  max-width:730px;
}

.ptttour-intro-content h1{
  margin:0 0 23px;

  color:#000;

  font-size:clamp(58px,5.4vw,82px);
  line-height:.94;
  font-weight:750;
  letter-spacing:-4.5px;
}

.ptttour-intro-content h1 span{
  display:block;
  color:var(--red);
}

.ptttour-intro-content h2{
  max-width:650px;

  margin:0 0 17px;

  color:#000;

  font-size:23px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:-.5px;
}

.ptttour-intro-content p{
  max-width:690px;
  margin-bottom:11px;
}


/* INTRO BUTTONS */

.ptttour-intro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;

  margin-top:28px;
}

.ptttour-btn{
  min-height:56px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  padding:0 25px;

  border-radius:10px;

  font-size:14px;
  font-weight:650;

  transition:
    transform .3s ease,
    background .3s ease,
    color .3s ease,
    border-color .3s ease;
}

.ptttour-btn:hover{
  transform:translateY(-3px);
}

.ptttour-btn-red{
  background:var(--red);
  color:#fff;
}

.ptttour-btn-red:hover{
  background:#000;
}

.ptttour-btn-light{
  background:#fff;
  color:#000;
  border:1px solid #d5d5d1;
}

.ptttour-btn-light:hover{
  border-color:#000;
}


/* =========================================================
   INTRO PANEL
========================================================= */

.ptttour-intro-panel{
  overflow:hidden;

  border-radius:24px;

  background:#f2f2ef;

  border:1px solid #dfdfda;

  box-shadow:0 25px 65px rgba(0,0,0,.08);
}

.ptttour-panel-title{
  position:relative;

  min-height:355px;

  display:flex;
  flex-direction:column;
  justify-content:flex-end;

  padding:45px;

  overflow:hidden;
}

.ptttour-panel-title:before{
  content:"JODHPUR";

  position:absolute;

  top:32px;
  left:34px;

  color:#e2e2de;

  font-size:clamp(75px,7vw,115px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-7px;
}

.ptttour-panel-title > span,
.ptttour-panel-title h3,
.ptttour-panel-title p{
  position:relative;
  z-index:2;
}

.ptttour-panel-title > span{
  margin-bottom:11px;

  color:var(--red);

  font-size:14px;
  font-weight:650;
}

.ptttour-panel-title h3{
  margin:0 0 14px;

  color:#000;

  font-size:clamp(37px,3.2vw,50px);
  line-height:1.02;
  font-weight:700;
  letter-spacing:-2.2px;
}

.ptttour-panel-title h3 strong{
  display:block;
  color:var(--red);
}

.ptttour-panel-title p{
  max-width:500px;
}


/* PANEL DETAILS */

.ptttour-panel-details{
  display:grid;
  grid-template-columns:repeat(2,1fr);

  background:#090909;
}

.ptttour-panel-details > div{
  min-height:88px;

  display:flex;
  align-items:center;
  gap:13px;

  padding:18px 22px;

  border-right:1px solid #2d2d2d;
  border-bottom:1px solid #2d2d2d;
}

.ptttour-panel-details i{
  width:30px;

  color:var(--red);

  font-size:19px;
  text-align:center;
}

.ptttour-panel-details small{
  display:block;

  margin-bottom:3px;

  color:#aaa;

  font-size:12px;
  font-weight:500;
}

.ptttour-panel-details strong{
  display:block;

  color:#fff;

  font-size:15px;
  font-weight:600;
}


/* =========================================================
   QUICK STRIP
========================================================= */

.ptttour-strip{
  padding:0 0 78px;
  background:#fff;
}

.ptttour-strip-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);

  overflow:hidden;

  border:1px solid var(--line);
  border-radius:18px;

  background:#fff;
}

.ptttour-strip-item{
  min-height:120px;

  display:flex;
  align-items:center;
  gap:18px;

  padding:25px 30px;

  border-right:1px solid var(--line);
}

.ptttour-strip-item:last-child{
  border-right:0;
}

.ptttour-strip-icon{
  width:52px;
  height:52px;

  flex:0 0 52px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:14px;

  background:#fff1f1;
  color:var(--red);

  font-size:20px;
}

.ptttour-strip-item h3{
  margin:0 0 5px;

  color:#000;

  font-size:19px;
  line-height:1.25;
  font-weight:650;
}

.ptttour-strip-item p{
  font-size:16px;
  line-height:1.55;
}


/* =========================================================
   ABOUT JODHPUR
   FULL WIDTH
========================================================= */

.ptttour-about{
  padding:0 0 92px;
  background:#fff;
}

.ptttour-about-box{
  position:relative;

  padding:70px 70px 58px;

  overflow:hidden;

  border-radius:28px;

  background:#090909;
}

.ptttour-about-box > *:not(.ptttour-about-watermark){
  position:relative;
  z-index:2;
}

.ptttour-about-box h2{
  max-width:1080px;

  margin:0 0 32px;

  color:#fff;

  font-size:clamp(50px,4.7vw,74px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.8px;
}

.ptttour-about-box h2 span{
  display:block;
  color:var(--red);
}

.ptttour-about-text{
  max-width:1150px;

  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:42px;
}

.ptttour-about-text p{
  color:#fff;
}


/* ABOUT TAGS */

.ptttour-about-tags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;

  margin-top:40px;
  padding-top:30px;

  border-top:1px solid #303030;
}

.ptttour-about-tags span{
  display:inline-flex;
  align-items:center;
  gap:9px;

  min-height:46px;

  padding:0 17px;

  border:1px solid #383838;
  border-radius:50px;

  color:#fff;

  font-size:17px;
  font-weight:500;
}

.ptttour-about-tags i{
  color:var(--red);
}

.ptttour-about-watermark{
  position:absolute;

  right:-20px;
  bottom:-30px;

  color:rgba(255,255,255,.035);

  font-size:clamp(110px,14vw,220px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-11px;

  pointer-events:none;
}


/* =========================================================
   PLACES
========================================================= */

.ptttour-places{
  padding:92px 0 98px;
  background:var(--soft);
}

.ptttour-places-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}


/* PLACE CARD */

.ptttour-place-card{
  min-width:0;

  overflow:hidden;

  border-radius:22px;

  background:#fff;

  border:1px solid #e1e1dc;

  box-shadow:0 7px 25px rgba(0,0,0,.035);

  transition:
    transform .4s cubic-bezier(.2,.8,.2,1),
    box-shadow .4s ease,
    border-color .4s ease;
}

.ptttour-place-card:hover{
  transform:translateY(-8px);

  border-color:#d0d0cb;

  box-shadow:0 25px 55px rgba(0,0,0,.11);
}


/* PLACE IMAGE */

.ptttour-place-image{
  position:relative;

  height:295px;

  margin:10px;

  overflow:hidden;

  border-radius:16px;

  background:#e9e9e5;
}

.ptttour-place-image:after{
  content:"";

  position:absolute;
  inset:0;

  background:linear-gradient(
    to bottom,
    rgba(0,0,0,0) 45%,
    rgba(0,0,0,.24) 100%
  );

  pointer-events:none;
}

.ptttour-place-image img{
  width:100%;
  height:100%;

  object-fit:cover;

  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}

.ptttour-place-card:hover .ptttour-place-image img{
  transform:scale(1.07);
}

.ptttour-place-tag{
  position:absolute;
  z-index:3;

  left:16px;
  bottom:16px;

  padding:8px 13px;

  border-radius:30px;

  background:rgba(255,255,255,.94);
  color:#000;

  font-size:13px;
  line-height:1;
  font-weight:600;

  backdrop-filter:blur(8px);
}


/* PLACE CONTENT */

.ptttour-place-content{
  min-height:210px;

  display:flex;
  flex-direction:column;

  padding:18px 24px 24px;
}

.ptttour-place-content h3{
  margin:0 0 10px;

  color:#000;

  font-size:25px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.7px;
}

.ptttour-place-content p{
  flex:1;
}

.ptttour-place-bottom{
  display:flex;
  align-items:center;
  gap:7px;

  margin-top:20px;
  padding-top:15px;

  border-top:1px solid #ededE9;

  color:#555;

  font-size:14px;
  font-weight:500;
}

.ptttour-place-bottom i{
  color:var(--red);
}


/* =========================================================
   JOURNEY
========================================================= */

.ptttour-journey{
  padding:92px 0 98px;
  background:#090909;
}

.ptttour-heading-light h2{
  color:#fff;
}

.ptttour-heading-light > p{
  color:#fff;
}

.ptttour-journey-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.ptttour-journey-grid article{
  min-height:300px;

  padding:30px;

  border:1px solid #303030;
  border-radius:20px;

  background:#111;

  transition:
    transform .35s ease,
    background .35s ease,
    border-color .35s ease;
}

.ptttour-journey-grid article:hover{
  transform:translateY(-7px);

  background:#171717;
  border-color:#555;
}

.ptttour-journey-icon{
  width:58px;
  height:58px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:50px;

  border-radius:16px;

  background:var(--red);
  color:#fff;

  font-size:21px;

  transition:transform .35s ease;
}

.ptttour-journey-grid article:hover .ptttour-journey-icon{
  transform:translateY(-3px) rotate(-4deg);
}

.ptttour-journey-grid h3{
  margin:0 0 10px;

  color:#fff;

  font-size:22px;
  line-height:1.25;
  font-weight:650;
}

.ptttour-journey-grid p{
  color:#fff;
}


/* =========================================================
   WHY THIS TOUR
========================================================= */

.ptttour-why{
  padding:92px 0 98px;
  background:#fff;
}

.ptttour-why-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.ptttour-why-grid article{
  min-height:290px;

  padding:30px;

  border:1px solid var(--line);
  border-radius:20px;

  background:var(--cream);

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    background .35s ease;
}

.ptttour-why-grid article:hover{
  transform:translateY(-6px);

  background:#fff;

  box-shadow:0 20px 45px rgba(0,0,0,.08);
}

.ptttour-why-icon{
  width:56px;
  height:56px;

  display:flex;
  align-items:center;
  justify-content:center;

  margin-bottom:15px;

  border-radius:15px;

  background:#fff;
  color:var(--red);

  box-shadow:0 8px 22px rgba(0,0,0,.06);

  font-size:21px;

  transition:
    background .3s ease,
    color .3s ease,
    transform .3s ease;
}

.ptttour-why-grid article:hover .ptttour-why-icon{
  transform:translateY(-3px);

  background:var(--red);
  color:#fff;
}

.ptttour-why-grid h3{
  margin:0 0 10px;

  color:#000;

  font-size:22px;
  line-height:1.25;
  font-weight:650;
}


/* =========================================================
   BOOKING CTA
========================================================= */

.ptttour-book{
  padding:0 0 92px;
  background:#fff;
}

.ptttour-book-box{
  position:relative;

  min-height:360px;

  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:60px;

  padding:58px 62px;

  overflow:hidden;

  border-radius:28px;

  background:var(--red);
}

.ptttour-book-content,
.ptttour-book-actions{
  position:relative;
  z-index:2;
}

.ptttour-book-content > span{
  display:block;

  margin-bottom:13px;

  color:#000;

  font-size:14px;
  font-weight:650;
}

.ptttour-book-content h2{
  max-width:760px;

  margin:0 0 18px;

  color:#fff;

  font-size:clamp(48px,4.3vw,68px);
  line-height:.98;
  font-weight:750;
  letter-spacing:-3.5px;
}

.ptttour-book-content h2 strong{
  display:block;
  color:#000;
}

.ptttour-book-content p{
  max-width:680px;
}


/* CTA ACTIONS */

.ptttour-book-actions{
  width:310px;

  display:grid;
  gap:11px;
}

.ptttour-book-actions a{
  min-height:78px;

  display:flex;
  align-items:center;
  gap:15px;

  padding:16px 19px;

  border-radius:14px;

  background:#fff;
  color:#000;

  transition:
    transform .3s ease,
    box-shadow .3s ease;
}

.ptttour-book-actions a:last-child{
  background:#090909;
  color:#fff;
}

.ptttour-book-actions a:hover{
  transform:translateX(-5px);

  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.ptttour-book-actions i{
  width:36px;

  color:var(--red);

  font-size:21px;
  text-align:center;
}

.ptttour-book-actions a:last-child i{
  color:#fff;
}

.ptttour-book-actions small{
  display:block;

  margin-bottom:2px;

  font-size:13px;
  font-weight:500;
}

.ptttour-book-actions strong{
  display:block;

  font-size:15px;
  font-weight:650;
}

.ptttour-book-watermark{
  position:absolute;

  right:-25px;
  bottom:-25px;

  color:rgba(0,0,0,.065);

  font-size:clamp(110px,14vw,215px);
  line-height:.8;
  font-weight:800;
  letter-spacing:-11px;

  pointer-events:none;
}


/* =========================================================
   FAQ
========================================================= */

.ptttour-faq{
  padding:92px 0 100px;
  background:var(--cream);
}

.ptttour-faq-list{
  margin:0 auto;

  border-top:1px solid #cfcfca;
}

.ptttour-faq-list details{
  border-bottom:1px solid #cfcfca;
}

.ptttour-faq-list summary{
  min-height:88px;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;

  padding:20px 5px;

  list-style:none;
  cursor:pointer;

  color:#000;

  font-size:18px;
  line-height:1.45;
  font-weight:600;
}

.ptttour-faq-list summary::-webkit-details-marker{
  display:none;
}

.ptttour-faq-list summary i{
  width:42px;
  height:42px;

  flex:0 0 42px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;

  background:#fff;
  color:#000;

  border:1px solid #ddd;

  font-size:12px;

  transition:
    transform .3s ease,
    background .3s ease,
    color .3s ease;
}

.ptttour-faq-list details[open] summary i{
  transform:rotate(45deg);

  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.ptttour-faq-list details > p{
  max-width:900px;

  padding:0 65px 27px 5px;
}


/* =========================================================
   HOVER ONLY ON DEVICES THAT SUPPORT HOVER
========================================================= */

@media(hover:hover){

  .ptttour-place-card:hover{
    transform:translateY(-8px);
  }

}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media(max-width:1200px){

  .ptttour-container{
    width:94vw;
  }

  .ptttour-intro-grid{
    gap:45px;
  }

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

  .ptttour-journey-grid,
  .ptttour-why-grid{
    grid-template-columns:repeat(2,1fr);
  }

}


/* =========================================================
   RESPONSIVE - 992
========================================================= */

@media(max-width:992px){

  .ptttour-intro-grid{
    grid-template-columns:1fr;
    gap:42px;
  }

  .ptttour-intro-content{
    max-width:800px;
  }

  .ptttour-intro-panel{
    max-width:850px;
  }

  .ptttour-strip-grid{
    grid-template-columns:1fr;
  }

  .ptttour-strip-item{
    border-right:0;
    border-bottom:1px solid var(--line);
  }

  .ptttour-strip-item:last-child{
    border-bottom:0;
  }

  .ptttour-about-text{
    grid-template-columns:1fr;
    gap:16px;
  }

  .ptttour-heading{
    grid-template-columns:1fr;
    gap:18px;
  }

  .ptttour-heading > p{
    max-width:720px;
  }

  .ptttour-book-box{
    grid-template-columns:1fr;
    gap:35px;
  }

  .ptttour-book-actions{
    width:min(100%,500px);
  }

}


/* =========================================================
   RESPONSIVE - 768
========================================================= */

@media(max-width:768px){

  .ptttour-intro{
    padding:62px 0 65px;
  }

  .ptttour-strip{
    padding: 65px 20px 55px;
  }

  .ptttour-about{
    padding-bottom:65px;
  }

  .ptttour-places,
  .ptttour-journey,
  .ptttour-why,
  .ptttour-faq{
    padding: 65px 20px 55px;
  }

  .ptttour-book{
    padding-bottom:68px;
  }

  .ptttour-about-box{
    padding:50px 38px 44px;
  }

  .ptttour-places-grid{
    gap:18px;
  }

  .ptttour-place-image{
    height:260px;
  }

  .ptttour-place-content{
    min-height:220px;
  }

}


/* =========================================================
   MOBILE - 600
========================================================= */

@media(max-width:600px){

  .ptttour-container{
    width:calc(100% - 30px);
  }

  .ptttour-page p{
    font-size:17px;
    line-height:1.68;
  }


  /* INTRO */

  .ptttour-intro-content h1{
    font-size:43px;
    line-height:1;
    letter-spacing:-2.5px;
  }

  .ptttour-intro-content h2{
    font-size:20px;
  }

  .ptttour-intro-actions{
    flex-direction:column;
  }

  .ptttour-btn{
    width:100%;
  }


  /* PANEL */

  .ptttour-panel-title{
    min-height:310px;

    padding:30px 24px;
  }

  .ptttour-panel-title:before{
    left:18px;

    font-size:65px;
    letter-spacing:-4px;
  }

  .ptttour-panel-title h3{
    font-size:37px;
  }

  .ptttour-panel-details{
    grid-template-columns:1fr;
  }

  .ptttour-panel-details > div{
    min-height:70px;

    border-right:0;
  }


  /* STRIP */

  .ptttour-strip-item{
    padding:22px;
  }


  /* ABOUT */

  .ptttour-about-box{
    padding:40px 24px 36px;

    border-radius:20px;
  }

  .ptttour-about-box h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-2px;
  }


  .ptttour-about-tags{
    display:grid;
    grid-template-columns:1fr;
  }

  .ptttour-about-tags span{
    width:100%;
  }


  /* COMMON HEADING */

  .ptttour-heading h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-2px;
  }


  /* PLACES */

  .ptttour-places-grid{
    grid-template-columns:1fr;
  }

  .ptttour-place-card{
    border-radius:18px;
  }

  .ptttour-place-image{
    height:275px;

    border-radius:13px;
  }

  .ptttour-place-content{
    min-height:0;

    padding:17px 21px 22px;
  }

  .ptttour-place-content h3{
    font-size:24px;
  }


  /* JOURNEY */

  .ptttour-journey-grid,
  .ptttour-why-grid{
    grid-template-columns:1fr;
  }

  .ptttour-journey-grid article,
  .ptttour-why-grid article{
    min-height:0;
  }

  .ptttour-journey-icon,
  .ptttour-why-icon{
    margin-bottom:30px;
  }


  /* BOOK */

  .ptttour-book-box{
    min-height:0;

    padding:40px 24px;

    border-radius:20px;
  }

  .ptttour-book-content h2{
    font-size:39px;
    line-height:1.02;
    letter-spacing:-2px;
  }

  .ptttour-book-actions{
    width:100%;
  }

  .ptttour-book-watermark{
    font-size:82px;
    letter-spacing:-5px;
  }


  /* FAQ */

  .ptttour-faq-list summary{
    min-height:80px;

    font-size:16px;
  }

  .ptttour-faq-list details > p{
    padding:0 5px 25px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .ptttour-intro-content h1{
    font-size:39px;
  }

  .ptttour-heading h2,
  .ptttour-about-box h2,
  .ptttour-book-content h2{
    font-size:36px;
  }

  .ptttour-place-image{
    height:245px;
  }

}


/* =========================================================
   JODHPUR TOUR - NEW IMAGE INTRO
   UNIQUE PREFIX: pttintro2-
   WILL NOT CONFLICT WITH ptttour-
========================================================= */

.pttintro2-section,
.pttintro2-section *{
  box-sizing:border-box;
}

.pttintro2-section{
  width:100%;
  overflow:hidden;

  padding:76px 0 86px;

  background:#fff;

  color:#000;

 font-family: "Outfit", sans-serif;
}

.pttintro2-container{
  width:min(92vw,1480px);
  margin:0 auto;
}

.pttintro2-grid{
  display:grid;

  grid-template-columns:.92fr 1.08fr;

  align-items:center;

  gap:72px;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.pttintro2-content{
  max-width:690px;
}


/* LABEL */

.pttintro2-label{
  display:flex;
  align-items:center;
  gap:12px;

  margin-bottom:19px;

  color:#fb0001;

  font-size:14px;
  line-height:1.2;
  font-weight:650;
}

.pttintro2-label:before{
  content:"";

  width:38px;
  height:2px;

  flex:0 0 38px;

  background:#fb0001;
}


/* MAIN HEADING */

.pttintro2-content h1{
  margin:0 0 23px;

  color:#000;

  font-size:clamp(56px,5vw,78px);
  line-height:.96;
  font-weight:750;

  letter-spacing:-4px;
}

.pttintro2-content h1 span{
  display:block;

  color:#fb0001;
}


/* SUB HEADING */

.pttintro2-content h2{
  max-width:640px;

  margin:0 0 18px;

  color:#000;

  font-size:22px;
  line-height:1.45;
  font-weight:600;

  letter-spacing:-.45px;
}


/* PARAGRAPH */

.pttintro2-content p{
  max-width:680px;

  margin:0 0 11px;

  color:#000;

  font-size:17px;
  line-height:1.72;
  font-weight:400;
}


/* =========================================================
   QUICK FEATURES
========================================================= */

.pttintro2-features{
  display:grid;

  grid-template-columns:repeat(3,1fr);

  margin-top:28px;

  border-top:1px solid #dededa;
  border-bottom:1px solid #dededa;
}

.pttintro2-features > div{
  min-height:82px;

  display:flex;
  align-items:center;

  gap:11px;

  padding:14px 15px;

  border-right:1px solid #dededa;
}

.pttintro2-features > div:first-child{
  padding-left:0;
}

.pttintro2-features > div:last-child{
  border-right:0;
}

.pttintro2-features i{
  width:32px;

  flex:0 0 32px;

  color:#fb0001;

  font-size:18px;

  text-align:center;
}

.pttintro2-features small{
  display:block;

  margin-bottom:3px;

  color:#666;

  font-size:15px;
  line-height:1.2;
  font-weight:500;
}

.pttintro2-features strong{
  display:block;

  color:#000;

  font-size:17px;
  line-height:1.3;
  font-weight:650;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttintro2-actions{
  display:flex;
  flex-wrap:wrap;

  gap:11px;

  margin-top:27px;
}

.pttintro2-actions a{
  min-height:56px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  gap:10px;

  padding:0 25px;

  border-radius:10px;

  font-size:18px;
  font-weight:650;

  text-decoration:none;

  transition:
    transform .3s ease,
    background .3s ease,
    color .3s ease,
    border-color .3s ease;
}

.pttintro2-actions a:hover{
  transform:translateY(-3px);
}


/* BOOK */

.pttintro2-book{
  background:#fb0001;
  color:#fff;
}

.pttintro2-book:hover{
  background:#000;
}


/* WHATSAPP */

.pttintro2-whatsapp{
  background:#fff;
  color:#000;

  border:1px solid #d5d5d0;
}

.pttintro2-whatsapp i{
  color:#fb0001;
}

.pttintro2-whatsapp:hover{
  border-color:#000;
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.pttintro2-visual{
  position:relative;

  padding:0 0 35px 25px;
}


/* MAIN IMAGE */

.pttintro2-image{
  position:relative;

  height:590px;

  overflow:hidden;

  border-radius:26px;

  background:#ddd;

  box-shadow:
    0 25px 65px rgba(0,0,0,.13);
}

.pttintro2-image:after{
  content:"";

  position:absolute;
  inset:0;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.05) 20%,
      rgba(0,0,0,.08) 48%,
      rgba(0,0,0,.82) 100%
    );

  pointer-events:none;
}


/* IMAGE */

.pttintro2-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transform: scale(1.50);
    object-position: top;
    transition: transform .8s cubic-bezier(.2,.8,.2,1);
}

.pttintro2-visual:hover .pttintro2-image img{
  transform:scale(1.27);
}

/* =========================================================
   TOP LOCATION BADGE
========================================================= */

.pttintro2-badge{
  position:absolute;

  z-index:4;

  top:22px;
  left:22px;

  min-height:43px;

  display:flex;
  align-items:center;

  gap:8px;

  padding:0 15px;

  border-radius:30px;

  background:rgba(255,255,255,.94);

  color:#000;

  box-shadow:0 7px 20px rgba(0,0,0,.1);

  backdrop-filter:blur(10px);

  font-size:13px;
  font-weight:600;
}

.pttintro2-badge i{
  color:#fb0001;
}


/* =========================================================
   IMAGE CONTENT
========================================================= */

.pttintro2-image-info{
  position:absolute;

  z-index:4;

  left:38px;
  right:38px;
  bottom:40px;

  color:#fff;
}

.pttintro2-image-info > span{
  display:block;

  margin-bottom:9px;

  color:#fff;

  font-size:14px;
  line-height:1.3;
  font-weight:500;
}

.pttintro2-image-info h3{
  margin:0 0 12px;

  color:#fff;

  font-size:clamp(38px,3.3vw,52px);
  line-height:.98;
  font-weight:700;

  letter-spacing:-2.4px;
}

.pttintro2-image-info h3 strong{
  display:block;

  color:#fff;
}

.pttintro2-image-info p{
  margin:0;

  color:#fff;

  font-size:15px;
  line-height:1.55;
  font-weight:450;
}


/* =========================================================
   FLOATING CARD
========================================================= */

.pttintro2-floating{
  position:absolute;

  z-index:6;

  left:0;
  bottom:0;

  min-width:305px;

  display:flex;
  align-items:center;

  gap:14px;

  padding:17px 20px;

  border-radius:15px;

  background:#fff;

  box-shadow:
    0 16px 45px rgba(0,0,0,.15);

  transition:transform .35s ease;
}

.pttintro2-visual:hover .pttintro2-floating{
  transform:translateY(-5px);
}

.pttintro2-floating-icon{
  width:48px;
  height:48px;

  flex:0 0 48px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:12px;

  background:#fb0001;
  color:#fff;

  font-size:18px;
}

.pttintro2-floating small{
  display:block;

  margin-bottom:3px;

  color:#666;

  font-size:12px;
  line-height:1.3;
  font-weight:500;
}

.pttintro2-floating strong{
  display:block;

  color:#000;

  font-size:15px;
  line-height:1.3;
  font-weight:650;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  .pttintro2-grid{
    grid-template-columns:.95fr 1.05fr;

    gap:42px;
  }

  .pttintro2-image{
    height:540px;
  }

  .pttintro2-features{
    grid-template-columns:1fr;
  }

  .pttintro2-features > div{
    min-height:65px;

    padding:11px 0;

    border-right:0;
    border-bottom:1px solid #dededa;
  }

  .pttintro2-features > div:last-child{
    border-bottom:0;
  }

}


/* =========================================================
   TABLET PORTRAIT
========================================================= */

@media(max-width:900px){

  .pttintro2-section{
    padding:65px 0 75px;
  }

  .pttintro2-grid{
    grid-template-columns:1fr;

    gap:45px;
  }

  .pttintro2-content{
    max-width:780px;
  }

  .pttintro2-features{
    grid-template-columns:repeat(3,1fr);
  }

  .pttintro2-features > div{
    min-height:78px;

    padding:13px;

    border-right:1px solid #dededa;
    border-bottom:0;
  }

  .pttintro2-features > div:first-child{
    padding-left:0;
  }

  .pttintro2-visual{
    max-width:850px;

    padding-left:22px;
  }

  .pttintro2-image{
    height:560px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

  .pttintro2-section{
    padding: 65px 20px 55px;
  }

  .pttintro2-container{
    width:calc(100% - 30px);
  }


  /* HEADING */

  .pttintro2-content h1{
    font-size:43px;
    line-height:1;
    letter-spacing:-2.5px;
  }

  .pttintro2-content h2{
    font-size:19px;
    line-height:1.5;
  }

  .pttintro2-content p{
    font-size:17px;
    line-height:1.68;
  }


  /* FEATURES */

  .pttintro2-features{
    grid-template-columns:1fr;

    margin-top:23px;
  }

  .pttintro2-features > div,
  .pttintro2-features > div:first-child{
    min-height:65px;

    padding:11px 0;

    border-right:0;
    border-bottom:1px solid #dededa;
  }

  .pttintro2-features > div:last-child{
    border-bottom:0;
  }


  /* BUTTONS */

  .pttintro2-actions{
    flex-direction:column;
  }

  .pttintro2-actions a{
    width:100%;
  }


  /* VISUAL */

  .pttintro2-visual{
    padding:0 0 58px;
  }

  .pttintro2-image{
    height:470px;

    border-radius:20px;
  }

  .pttintro2-image-info{
    left:23px;
    right:23px;
    bottom:30px;
  }

  .pttintro2-image-info h3{
    font-size:36px;
    letter-spacing:-1.8px;
  }

  .pttintro2-image-info p{
    font-size:14px;
  }


  /* BADGE */

  .pttintro2-badge{
    top:16px;
    left:16px;

    min-height:40px;

    font-size:12px;
  }


  /* FLOAT CARD */

  .pttintro2-floating{
    left:18px;
    right:18px;
    bottom:0;

    min-width:0;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .pttintro2-content h1{
    font-size:39px;
  }

  .pttintro2-image{
    height:430px;
  }

  .pttintro2-image-info h3{
    font-size:33px;
  }

}

/* =========================================================
   PTT RAJASTHAN TOUR INNER PAGE
   MASTER DESIGN V2
   PREFIX: .pttrajtour-
========================================================= */

.pttrajtour-page{
  --red:#fb0001;
  --black:#090909;
  --dark:#111111;
  --white:#ffffff;
  --cream:#f8f6f2;
  --soft:#f5f5f3;
  --line:#deded9;
  --text:#171717;
  --muted:#555555;

  background:#fff;
  color:var(--text);
  font-family:"Outfit",sans-serif;
  overflow:hidden;
}

.pttrajtour-page *,
.pttrajtour-page *::before,
.pttrajtour-page *::after{
  box-sizing:border-box;
}

.pttrajtour-container{
  width:min(92vw,1480px);
  margin:0 auto;
}

.pttrajtour-page img{
  max-width:100%;
}

.pttrajtour-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--red);
  font-size:13px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:2px;
}

.pttrajtour-eyebrow::before{
  content:"";
  width:32px;
  height:2px;
  background:currentColor;
}

.pttrajtour-eyebrow.light{
  color:#fff;
}


/* =========================================================
   HERO
========================================================= */

.pttrajtour-hero{
  position:relative;
  width:min(96vw,1840px);
  min-height:720px;
  height:80vh;
  max-height:900px;
  margin:18px auto 0;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:28px;
  background:#111;
  color:#fff;
}

.pttrajtour-hero-bg,
.pttrajtour-hero-bg img,
.pttrajtour-hero-overlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.pttrajtour-hero-bg img{
  object-fit:cover;
  object-position:center;
  display:block;
  transform:scale(1.02);
}

.pttrajtour-hero-overlay{
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.84) 0%,
      rgba(0,0,0,.62) 39%,
      rgba(0,0,0,.20) 72%,
      rgba(0,0,0,.08) 100%
    ),
    linear-gradient(
      0deg,
      rgba(0,0,0,.60) 0%,
      transparent 45%
    );
}

.pttrajtour-hero .pttrajtour-container{
  position:relative;
  z-index:3;
}

.pttrajtour-hero-content{
  width:min(760px,65vw);
  padding-bottom:70px;
}

.pttrajtour-hero-topline{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:22px;
  font-size:13px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:2px;
}

.pttrajtour-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--red);
}

.pttrajtour-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(60px,6vw,100px);
  line-height:.95;
  letter-spacing:-4px;
  font-weight:700;
}

.pttrajtour-hero h1 span{
  display:block;
  color:var(--red);
}

.pttrajtour-hero-content > p{
  max-width:680px;
  margin:26px 0 0;
  color:rgba(255,255,255,.9);
  font-size:18px;
  line-height:1.72;
}

.pttrajtour-hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:31px;
}

.pttrajtour-hero-actions a{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 24px;
  border-radius:999px;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  transition:.3s ease;
}

.pttrajtour-btn-red{
  background:var(--red);
  color:#fff;
  border:1px solid var(--red);
}

.pttrajtour-btn-red:hover{
  background:#d90001;
  border-color:#d90001;
  transform:translateY(-2px);
}

.pttrajtour-btn-glass{
  color:#fff;
  border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(10px);
}

.pttrajtour-btn-glass:hover{
  background:#fff;
  color:#111;
  transform:translateY(-2px);
}

.pttrajtour-hero-bottom{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:min(92%,1420px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid rgba(255,255,255,.22);
}

.pttrajtour-hero-stat{
  min-height:94px;
  display:flex;
  align-items:center;

  gap:16px;
  padding:18px 28px;
  border-right:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
}

.pttrajtour-hero-stat:last-child{
  border-right:0;
}

.pttrajtour-hero-stat > i{
  color:var(--red);
  font-size:23px;
}

.pttrajtour-hero-stat small{
  display:block;
  margin-bottom:4px;
  color:rgba(255,255,255,.65);
  font-size:10px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:1.4px;
}

.pttrajtour-hero-stat strong{
  color:#fff;
  font-size:15px;
  font-weight:600;
}


/* =========================================================
   INTRO
========================================================= */

.pttrajtour-intro{
  padding:90px 0 75px;
  background:#fff;
}

.pttrajtour-intro-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:80px;
  align-items:start;
}

.pttrajtour-intro-title h2,
.pttrajtour-section-head h2,
.pttrajtour-flow-head h2,
.pttrajtour-faq-head h2{
  margin:17px 0 0;
  color:#0b0b0b;
  font-size:clamp(44px,4.3vw,68px);
  line-height:1.04;
  letter-spacing:-2.6px;
  font-weight:700;
}

.pttrajtour-intro-title h2 span,
.pttrajtour-section-head h2 span,
.pttrajtour-flow-head h2 span,
.pttrajtour-faq-head h2 span{
  display:block;
  color:var(--red);
}

.pttrajtour-intro-copy p{
  margin:0 0 15px;
  color:#252525;
  font-size:17px;
  line-height:1.75;
}

.pttrajtour-intro-copy .pttrajtour-intro-lead{
  font-size:19px;
  line-height:1.68;
  font-weight:500;
}

.pttrajtour-intro-mini{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:25px;
  padding-top:24px;
  border-top:1px solid var(--line);
}

.pttrajtour-intro-mini strong{
  display:block;
  color:var(--red);
  font-size:27px;
  line-height:1;
}

.pttrajtour-intro-mini span{
  display:block;
  margin-top:7px;
  color:#000;
  font-size:17px;
}


/* =========================================================
   SIGNATURE
========================================================= */

.pttrajtour-signature{
  padding:0 0 85px;
  background:#fff;
}

.pttrajtour-signature-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  min-height:570px;
  overflow:hidden;
  border:1px solid #ecebe7;
  border-radius:28px;
  background:var(--cream);
}

.pttrajtour-signature-image{
  position:relative;
  min-height:570px;
  margin:14px;
  overflow:hidden;
  border-radius:20px;
}

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

.pttrajtour-signature-grid:hover .pttrajtour-signature-image img{
  transform:scale(1.035);
}

.pttrajtour-image-caption{
  position:absolute;
  left:18px;
  bottom:18px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#111;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.2px;
}

.pttrajtour-signature-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:55px clamp(35px,4vw,70px);
}

.pttrajtour-signature-content h2{
  margin:17px 0 22px;
  color:#0b0b0b;
  font-size:clamp(42px,4vw,64px);
  line-height:1.03;
  letter-spacing:-2.5px;
}

.pttrajtour-signature-content h2 span{
  display:block;
  color:var(--red);
}

.pttrajtour-signature-content > p{
  margin:0 0 14px;
  color:#292929;
  font-size:16px;
  line-height:1.72;
}

.pttrajtour-signature-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px 20px;
  margin-top:22px;
}

.pttrajtour-signature-points div{
  display:flex;
  align-items:center;
  gap:9px;
  color:#000;
  font-size:16px;
  font-weight:600;
}

.pttrajtour-signature-points i{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  flex:0 0 24px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:9px;
}


/* =========================================================
   PLACES
========================================================= */

.pttrajtour-places{
  padding:85px 0;
  background:var(--soft);
}

.pttrajtour-section-head{
  display:grid;
  grid-template-columns:1fr 430px;
  align-items:end;
  gap:60px;
  margin-bottom:48px;
}

.pttrajtour-section-head > p{
  margin:0 0 6px;
  color:#333;
  font-size:16px;
  line-height:1.7;
}

.pttrajtour-places-list{
  overflow:hidden;
  border:1px solid #deded9;
  border-radius:26px;
  background:#fff;
}

.pttrajtour-place{
  display:grid;
  grid-template-columns:60px 235px 1fr 50px;
  gap:28px;
  align-items:center;
  min-height:180px;
  padding:20px 26px;
  border-bottom:1px solid #e2e2dd;
  transition:.3s ease;
}

.pttrajtour-place:last-child{
  border-bottom:0;
}

.pttrajtour-place:hover{
  background:#faf9f6;
}

.pttrajtour-place-no{
  color:#a2a2a2;
  font-size:13px;
  font-weight:700;
}

.pttrajtour-place-image{
  width:235px;
  height:138px;
  overflow:hidden;
  border-radius:17px;
}

.pttrajtour-place-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s ease;
}

.pttrajtour-place:hover .pttrajtour-place-image img{
  transform:scale(1.06);
}

.pttrajtour-place-copy > span{
  display:block;
  margin-bottom:6px;
  color:var(--red);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.4px;
}

.pttrajtour-place-copy h3{
  margin:0 0 7px;
  color:#111;
  font-size:clamp(24px,2vw,31px);
  line-height:1.2;
  letter-spacing:-.8px;
}

.pttrajtour-place-copy p{
  max-width:670px;
  margin:0;
  color:#3d3d3d;
  font-size:15px;
  line-height:1.62;
}

.pttrajtour-place-icon{
  width:45px;
  height:45px;
  display:grid;
  place-items:center;
  border:1px solid #d2d2cd;
  border-radius:50%;
  color:#111;
  transition:.3s ease;
}

.pttrajtour-place:hover .pttrajtour-place-icon{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
  transform:rotate(-35deg);
}


/* =========================================================
   EXPERIENCE - NEW COMPACT SECTION
========================================================= */

.pttrajtour-experience{
  padding:75px 0;
  background:#fff;
}

.pttrajtour-experience-box{
  padding:55px;
  overflow:hidden;
  border-radius:28px;
  background:#0b0b0b;
}

.pttrajtour-experience-heading{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  column-gap:60px;
  align-items:end;
  margin-bottom:38px;
}

.pttrajtour-experience-heading .pttrajtour-eyebrow{
  grid-column:1;
}

.pttrajtour-experience-heading h2{
  grid-column:1;
  margin:15px 0 0;
  color:#fff;
  font-size:clamp(42px,4vw,64px);
  line-height:1.03;
  letter-spacing:-2.5px;
}

.pttrajtour-experience-heading h2 span{
  display:block;
  color:var(--red);
}

.pttrajtour-experience-heading > p{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  max-width:590px;
  margin:0 0 4px;
  color:rgba(255,255,255,.7);
  font-size:16px;
  line-height:1.7;
}

.pttrajtour-experience-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}

.pttrajtour-exp-card{
  position:relative;
  min-height:235px;
  padding:27px 24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:19px;
  background:#141414;
  transition:.3s ease;
}

.pttrajtour-exp-card:hover{
  transform:translateY(-5px);
  background:#191919;
  border-color:rgba(255,255,255,.25);
}

.pttrajtour-exp-card > span{
  position:absolute;
  top:19px;
  right:20px;
  color:rgba(255,255,255,.24);
  font-size:12px;
  font-weight:700;
}

.pttrajtour-exp-card > i{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:28px;
  border-radius:14px;
  background:rgba(251,0,1,.12);
  color:var(--red);
  font-size:19px;
}

.pttrajtour-exp-card h3{
  margin:0 0 9px;
  color:#fff;
  font-size:19px;
  font-weight:600;
}

.pttrajtour-exp-card p{
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:14px;
  line-height:1.65;
}


/* =========================================================
   JOURNEY FLOW
========================================================= */

.pttrajtour-flow{
  padding:80px 0 90px;
  background:#fff;
}

.pttrajtour-flow-head{
  max-width:680px;
  margin-bottom:55px;
}

.pttrajtour-flow-line{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:25px;
}

.pttrajtour-flow-line::before{
  content:"";
  position:absolute;
  top:34px;
  left:5%;
  right:5%;
  height:1px;
  background:#ddd;
}

.pttrajtour-flow-item{
  position:relative;
  z-index:2;
}

.pttrajtour-flow-circle{
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border:1px solid #ddd;
  border-radius:20px;
  background:#fff;
  color:var(--red);
  font-size:20px;
  transition:.3s ease;
}

.pttrajtour-flow-item:hover .pttrajtour-flow-circle{
  background:#111;
  border-color:#111;
  color:#fff;
  transform:translateY(-4px);
}

.pttrajtour-flow-item > span{
  color:var(--red);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
}

.pttrajtour-flow-item h3{
  margin:7px 0 8px;
  color:#111;
  font-size:21px;
  line-height:1.25;
}

.pttrajtour-flow-item p{
  margin:0;
  color:#444;
  font-size:14px;
  line-height:1.65;
}


/* =========================================================
   WHY TRAVEL WITH US - LIGHT MODERN
========================================================= */

.pttrajtour-why{
  padding:0 0 80px;
  background:#fff;
}

.pttrajtour-why-box{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:60px;
  padding:55px;
  border:1px solid #e4e4df;
  border-radius:28px;
  background:var(--cream);
}

.pttrajtour-why-heading h2{
  margin:16px 0 18px;
  color:#111;
  font-size:clamp(41px,3.8vw,60px);
  line-height:1.04;
  letter-spacing:-2.3px;
}

.pttrajtour-why-heading h2 span{
  display:block;
  color:var(--red);
}

.pttrajtour-why-heading p{
  max-width:470px;
  margin:0;
  color:#444;
  font-size:15px;
  line-height:1.7;
}

.pttrajtour-why-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.pttrajtour-why-item{
  display:flex;
  gap:15px;
  padding:24px;
  border:1px solid #e1e1dc;
  border-radius:18px;
  background:#fff;
  transition:.3s ease;
}

.pttrajtour-why-item:hover{
  transform:translateY(-4px);
  box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.pttrajtour-why-item > i{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  flex:0 0 43px;
  border-radius:13px;
  background:#111;
  color:#fff;
  font-size:17px;
}

.pttrajtour-why-item h3{
  margin:0 0 5px;
  color:#111;
  font-size:18px;
}

.pttrajtour-why-item p{
  margin:0;
  color:#000;
  font-size:17px;
  line-height:1.55;
}


/* =========================================================
   CTA - NEW DESIGN
========================================================= */

.pttrajtour-cta{
  padding:0 0 80px;
  background:#fff;
}

.pttrajtour-cta-box{
  position:relative;
  display:grid;
  grid-template-columns:90px 1fr auto;
  gap:30px;
  align-items:center;
  padding:48px 52px;
  overflow:hidden;
  border-radius:28px;
  background:#0b0b0b;
  color:#fff;
}

.pttrajtour-cta-icon{
  position:relative;
  z-index:2;
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:var(--red);
  color:#fff;
  font-size:27px;
}

.pttrajtour-cta-content{
  position:relative;
  z-index:2;
}

.pttrajtour-cta-label{
  display:block;
  margin-bottom:8px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.8px;
}

.pttrajtour-cta h2{
  margin:0;
  color:#fff;
  font-size:clamp(35px,3.4vw,54px);
  line-height:1.05;
  letter-spacing:-2px;
}

.pttrajtour-cta h2 strong{
  color:var(--red);
  font-weight:700;
}

.pttrajtour-cta p{
  max-width:690px;
  margin:13px 0 0;
  color:rgba(255,255,255,.67);
  font-size:14px;
  line-height:1.65;
}

.pttrajtour-cta-actions{
  position:relative;
  z-index:2;
  display:flex;
  gap:10px;
}

.pttrajtour-cta-actions a{
  min-width:185px;
  min-height:67px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 16px;
  border-radius:16px;
  text-decoration:none;
  transition:.3s ease;
}

.pttrajtour-cta-primary{
  background:var(--red);
  color:#fff;
}

.pttrajtour-cta-secondary{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#fff;
}

.pttrajtour-cta-actions a:hover{
  transform:translateY(-3px);
}

.pttrajtour-cta-actions i{
  font-size:19px;
}

.pttrajtour-cta-actions small{
  display:block;
  margin-bottom:2px;
  color:rgba(255,255,255,.65);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:1px;
}

.pttrajtour-cta-actions strong{
  display:block;
  font-size:13px;
  white-space:nowrap;
}

.pttrajtour-cta-watermark{
  position:absolute;
  right:-20px;
  bottom:-25px;
  color:rgba(255,255,255,.035);
  font-size:120px;
  line-height:.8;
  font-weight:800;
  letter-spacing:-6px;
  pointer-events:none;
}


/* =========================================================
   FAQ - COMPACT FULL WIDTH
========================================================= */

.pttrajtour-faq{
  padding:75px 0 90px;
  background:var(--cream);
}

.pttrajtour-faq-head{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:60px;
  align-items:end;
  margin-bottom:40px;
}

.pttrajtour-faq-head h2{
  max-width:800px;
}

.pttrajtour-faq-head > p{
  margin:0 0 6px;
  color:#444;
  font-size:15px;
  line-height:1.7;
}

.pttrajtour-faq-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.pttrajtour-faq-list details{
  align-self:start;
  overflow:hidden;
  border:1px solid #e0e0db;
  border-radius:17px;
  background:#fff;
}

.pttrajtour-faq-list details:last-child:nth-child(odd){
  grid-column:1 / -1;
}

.pttrajtour-faq-list summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:76px;
  padding:17px 20px;
  cursor:pointer;
  list-style:none;
  color:#111;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
}

.pttrajtour-faq-list summary::-webkit-details-marker{
  display:none;
}

.pttrajtour-faq-list summary i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:50%;
  background:#f3f3f0;
  color:var(--red);
  font-size:12px;
  transition:.3s ease;
}

.pttrajtour-faq-list details[open] summary i{
  background:#111;
  color:#fff;
  transform:rotate(45deg);
}

.pttrajtour-faq-list details > p{
  margin:0;
  padding:0 20px 20px;
  color:#505050;
  font-size:14px;
  line-height:1.7;
}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media(max-width:1200px){

  .pttrajtour-intro-grid{
    gap:55px;
  }

  .pttrajtour-section-head{
    grid-template-columns:1fr 360px;
    gap:40px;
  }

  .pttrajtour-place{
    grid-template-columns:45px 205px 1fr 45px;
    gap:20px;
  }

  .pttrajtour-place-image{
    width:205px;
  }

  .pttrajtour-experience-box{
    padding:45px;
  }

  .pttrajtour-experience-grid{
    grid-template-columns:1fr 1fr;
  }

  .pttrajtour-why-box{
    gap:40px;
    padding:45px;
  }

  .pttrajtour-cta-box{
    grid-template-columns:75px 1fr;
  }

  .pttrajtour-cta-actions{
    grid-column:2;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:992px){

  .pttrajtour-hero{
    width:96vw;
    min-height:700px;
    height:auto;
    padding:110px 0 145px;
  }

  .pttrajtour-hero-content{
    width:80%;
    padding-bottom:0;
  }

  .pttrajtour-intro-grid,
  .pttrajtour-section-head,
  .pttrajtour-experience-heading,
  .pttrajtour-why-box,
  .pttrajtour-faq-head{
    grid-template-columns:1fr;
  }

  .pttrajtour-signature-grid{
    grid-template-columns:1fr;
  }

  .pttrajtour-signature-image{
    min-height:480px;
  }

  .pttrajtour-signature-content{
    padding:45px;
  }

  .pttrajtour-place{
    grid-template-columns:45px 190px 1fr;
  }

  .pttrajtour-place-image{
    width:190px;
  }

  .pttrajtour-place-icon{
    display:none;
  }

  .pttrajtour-experience-heading{
    gap:0;
  }

  .pttrajtour-experience-heading > p{
    grid-column:1;
    grid-row:auto;
    margin-top:18px;
  }

  .pttrajtour-flow-line{
    grid-template-columns:1fr 1fr;
    gap:40px;
  }

  .pttrajtour-flow-line::before{
    display:none;
  }

  .pttrajtour-why-box{
    gap:35px;
  }

  .pttrajtour-faq-head{
    gap:20px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:700px){

  .pttrajtour-container{
    width:min(91vw,1480px);
  }

  .pttrajtour-hero{
    width:94vw;
    min-height:700px;
    margin-top:10px;
    padding:100px 0 155px;
    border-radius:22px;
    align-items:flex-end;
  }

  .pttrajtour-hero-bg img{
    object-position:60% center;
  }

  .pttrajtour-hero-overlay{
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,.94) 0%,
        rgba(0,0,0,.65) 58%,
        rgba(0,0,0,.18) 100%
      );
  }

  .pttrajtour-hero-content{
    width:100%;
  }

  .pttrajtour-hero h1{
    font-size:clamp(47px,14vw,65px);
    line-height:.98;
    letter-spacing:-2.7px;
  }

  .pttrajtour-hero-content > p{
    font-size:15px;
  }

  .pttrajtour-hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .pttrajtour-hero-actions a{
    width:100%;
  }

  .pttrajtour-hero-bottom{
    grid-template-columns:1fr;
  }

  .pttrajtour-hero-stat{
    min-height:61px;
    padding:10px 14px;
  }

  .pttrajtour-hero-stat:nth-child(2),
  .pttrajtour-hero-stat:nth-child(3){
    display:none;
  }

.pttrajtour-intro {
    padding: 65px 20px 55px;
}

  .pttrajtour-intro-title h2,
  .pttrajtour-section-head h2,
  .pttrajtour-flow-head h2,
  .pttrajtour-faq-head h2{
    font-size:clamp(37px,11vw,50px);
    letter-spacing:-1.8px;
  }

  .pttrajtour-intro-copy .pttrajtour-intro-lead{
    font-size:17px;
  }

  .pttrajtour-intro-copy p{
    font-size:15px;
  }

  .pttrajtour-intro-mini{
    gap:10px;
  }

  .pttrajtour-intro-mini strong{
    font-size:23px;
  }

  .pttrajtour-intro-mini span{
    font-size:10px;
  }

  .pttrajtour-signature{
    padding-bottom:60px;
  }

  .pttrajtour-signature-grid{
    border-radius:22px;
  }

  .pttrajtour-signature-image{
    min-height:330px;
    margin:9px;
    border-radius:17px;
  }

  .pttrajtour-signature-content{
    padding:34px 24px 38px;
  }

  .pttrajtour-signature-content h2{
    font-size:clamp(37px,11vw,49px);
  }

  .pttrajtour-signature-content > p{
    font-size:15px;
  }

  .pttrajtour-signature-points{
    grid-template-columns:1fr;
  }

  .pttrajtour-places{
    padding: 65px 20px 55px;
  }

  .pttrajtour-section-head{
    margin-bottom:35px;
  }

  .pttrajtour-places-list{
    border:0;
    border-radius:0;
    background:transparent;
  }

  .pttrajtour-place{
    grid-template-columns:38px 1fr;
    gap:12px;
    margin-bottom:14px;
    padding:10px 10px 20px;
    border:1px solid #e0e0dc !important;
    border-radius:19px;
    background:#fff;
  }

  .pttrajtour-place-image{
    grid-column:1 / -1;
    grid-row:1;
    width:100%;
    height:230px;
    border-radius:14px;
  }

  .pttrajtour-place-no{
    grid-column:1;
    grid-row:2;
    padding-top:5px;
  }

  .pttrajtour-place-copy{
    grid-column:2;
    grid-row:2;
  }

  .pttrajtour-place-copy h3{
    font-size:24px;
  }

  .pttrajtour-place-copy p{
    font-size:14px;
  }

  .pttrajtour-experience{
    padding:55px 0;
  }

  .pttrajtour-experience-box{
    padding:35px 20px 20px;
    border-radius:22px;
  }

  .pttrajtour-experience-heading{
    margin-bottom:28px;
  }

  .pttrajtour-experience-heading h2{
    font-size:clamp(38px,11vw,50px);
  }

  .pttrajtour-experience-heading > p{
    font-size:14px;
  }

  .pttrajtour-experience-grid{
    grid-template-columns:1fr;
    gap:9px;
  }

  .pttrajtour-exp-card{
    min-height:auto;
    padding:21px;
  }

  .pttrajtour-exp-card > i{
    margin-bottom:20px;
  }

  .pttrajtour-flow{
    padding: 65px 20px 55px;
  }

  .pttrajtour-flow-head{
    margin-bottom:40px;
  }

  .pttrajtour-flow-line{
    grid-template-columns:1fr;
    gap:25px;
  }

  .pttrajtour-flow-item{
    display:grid;
    grid-template-columns:58px 1fr;
    column-gap:15px;
  }

  .pttrajtour-flow-circle{
    grid-row:1 / span 4;
    width:55px;
    height:55px;
    border-radius:16px;
  }

  .pttrajtour-flow-item > span,
  .pttrajtour-flow-item h3,
  .pttrajtour-flow-item p{
    grid-column:2;
  }

  .pttrajtour-why{
    padding-bottom:60px;
  }

  .pttrajtour-why-box{
    padding:35px 20px;
    border-radius:22px;
  }

  .pttrajtour-why-heading h2{
    font-size:clamp(37px,11vw,49px);
  }

  .pttrajtour-why-grid{
    grid-template-columns:1fr;
  }

  .pttrajtour-why-item{
    padding:20px;
  }

  .pttrajtour-cta{
    padding-bottom:60px;
  }

  .pttrajtour-cta-box{
    grid-template-columns:1fr;
    gap:20px;
    padding:34px 22px;
    border-radius:22px;
  }

  .pttrajtour-cta-icon{
    width:60px;
    height:60px;
    border-radius:17px;
    font-size:22px;
  }

  .pttrajtour-cta h2{
    font-size:clamp(36px,10.5vw,48px);
  }

  .pttrajtour-cta h2 strong{
    display:block;
  }

  .pttrajtour-cta-actions{
    grid-column:1;
    flex-direction:column;
  }

  .pttrajtour-cta-actions a{
    width:100%;
    min-width:0;
  }

  .pttrajtour-cta-watermark{
    font-size:75px;
  }

  .pttrajtour-faq{
    padding: 65px 20px 55px;
  }

  .pttrajtour-faq-list{
    grid-template-columns:1fr;
  }

  .pttrajtour-faq-list details:last-child:nth-child(odd){
    grid-column:auto;
  }

  .pttrajtour-faq-list summary{
    min-height:68px;
    padding:15px 17px;
    font-size:14px;
  }

  .pttrajtour-faq-list details > p{
    padding:0 17px 18px;
    font-size:13px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:430px){

  .pttrajtour-hero{
    min-height:680px;
  }

  .pttrajtour-hero h1{
    font-size:45px;
  }

  .pttrajtour-intro-mini{
    grid-template-columns:1fr 1fr;
  }

  .pttrajtour-intro-mini div:last-child{
    grid-column:1 / -1;
  }

  .pttrajtour-place-image{
    height:205px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

  .pttrajtour-page *,
  .pttrajtour-page *::before,
  .pttrajtour-page *::after{
    transition:none !important;
  }

}

/* =========================================================
   GOLDEN TRIANGLE - PREMIUM ITINERARY
   COMPLETE FINAL CSS
   UNIQUE NAMESPACE: pttgt-
========================================================= */


/* =========================================================
   01. ROOT / GLOBAL
========================================================= */

.pttgt-page{
  --pttgt-red:#fb0001;
  --pttgt-black:#090909;
  --pttgt-dark:#141414;
  --pttgt-white:#ffffff;
  --pttgt-soft:#f5f5f3;
  --pttgt-cream:#faf9f6;
  --pttgt-line:#e4e4df;
  --pttgt-text:#171717;
  --pttgt-muted:#555555;

  position:relative;
  width:100%;
  padding:85px 0 95px;
  background:#ffffff;
  color:var(--pttgt-text);
  font-family:"Outfit",sans-serif;

  /* IMPORTANT FOR STICKY */
  overflow:visible !important;
}

.pttgt-page *,
.pttgt-page *::before,
.pttgt-page *::after{
  box-sizing:border-box;
}

.pttgt-page img{
  max-width:100%;
}

.pttgt-page a{
  text-decoration:none;
}

.pttgt-container{
  position:relative;
  width:min(92vw,1480px);
  margin:0 auto;

  /* IMPORTANT FOR STICKY */
  overflow:visible !important;
}


/* =========================================================
   02. COMMON EYEBROW
========================================================= */

.pttgt-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 0 15px;
  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.pttgt-eyebrow::before{
  content:"";
  width:32px;
  height:2px;
  flex:0 0 32px;
  border-radius:20px;
  background:var(--pttgt-red);
}

.pttgt-eyebrow i{
  font-size:14px;
}


/* =========================================================
   03. TOP INTRO
========================================================= */

.pttgt-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:75px;
  align-items:end;
  padding-bottom:65px;
  border-bottom:1px solid var(--pttgt-line);

  overflow:visible !important;
}

.pttgt-intro-main{
  max-width:900px;
}

.pttgt-intro-main h1{
  max-width:900px;
  margin:0 0 25px;
  color:#0b0b0b;
  font-size:clamp(54px,5vw,82px);
  font-weight:700;
  line-height:.98;
  letter-spacing:-3px;
}

.pttgt-intro-main h1 span{
  display:block;
  color:var(--pttgt-red);
}

.pttgt-intro-main > p{
  max-width:900px;
  margin:0;
  color:#000000;
  font-size:17px;
  font-weight:400;
  line-height:1.4;
}


/* =========================================================
   04. INTRO META
========================================================= */

.pttgt-intro-meta{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--pttgt-line);
  border-radius:22px;
  background:var(--pttgt-cream);
}

.pttgt-meta-item{
  display:flex;
  align-items:center;
  gap:16px;
  padding:20px 22px;
}

.pttgt-meta-item + .pttgt-meta-item{
  border-top:1px solid var(--pttgt-line);
}

.pttgt-meta-item > i{
  display:grid;
  width:46px;
  height:46px;
  flex:0 0 46px;
  place-items:center;
  border-radius:13px;
  background:#ffffff;
  color:var(--pttgt-red);
  font-size:18px;
  box-shadow:0 7px 18px rgba(0,0,0,.05);
}

.pttgt-meta-item div{
  min-width:0;
}

.pttgt-meta-item small{
  display:block;
  margin-bottom:3px;
  color:#555555;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

.pttgt-meta-item strong{
  display:block;
  color:#000000;
  font-size:17px;
  font-weight:700;
  line-height:1.45;
}


/* =========================================================
   05. MAIN LEFT / RIGHT LAYOUT
========================================================= */

.pttgt-layout{
  position:relative;

  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:55px;

  align-items:start;

  padding-top:65px;

  /* CRITICAL FOR STICKY */
  overflow:visible !important;
}

.pttgt-main{
  position:relative;
  min-width:0;

  /* CRITICAL */
  overflow:visible !important;
}

.pttgt-sidebar{
  position:relative;
  min-width:0;

  align-self:stretch;

  /* CRITICAL */
  overflow:visible !important;
}


/* =========================================================
   06. ACTUAL STICKY RIGHT COLUMN
========================================================= */

.pttgt-sticky{
  position:-webkit-sticky !important;
  position:sticky !important;

  /*
    CHANGE ONLY THIS VALUE IF YOUR HEADER HEIGHT IS DIFFERENT
  */
  top:105px !important;

  width:100%;
  height:max-content;

  align-self:start;

  z-index:30;

  overflow:visible !important;
}


/* =========================================================
   07. SECTION HEADING
========================================================= */

.pttgt-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:45px;
  align-items:end;
  margin-bottom:36px;
}

.pttgt-section-head h2,
.pttgt-itinerary-heading h2{
  margin:0;
  color:#000000;
  font-size:clamp(40px,3.4vw,55px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-1.7px;
}

.pttgt-section-head h2 span,
.pttgt-itinerary-heading h2 span{
  display:block;
  color:var(--pttgt-red);
}

.pttgt-section-head > p{
  margin:0;
  color:#000000;
  font-size:17px;
  line-height:1.6;
}


/* =========================================================
   08. FACILITIES
========================================================= */

.pttgt-facilities{
  padding:0 0 75px;
}

.pttgt-facility-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}

.pttgt-facility-card{
  min-height:225px;
  padding:28px 24px;
  border:1px solid var(--pttgt-line);
  border-radius:20px;
  background:#ffffff;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    border-color .3s ease;
}

.pttgt-facility-card:hover{
  transform:translateY(-5px);
  border-color:#d3d3ce;
  box-shadow:0 20px 40px rgba(0,0,0,.07);
}

.pttgt-facility-icon{
  display:grid;
  width:52px;
  height:52px;
  margin-bottom:22px;
  place-items:center;
  border-radius:15px;
  background:#fff0f0;
  color:var(--pttgt-red);
  font-size:20px;
}

.pttgt-facility-card h3{
  margin:0 0 9px;
  color:#000000;
  font-size:19px;
  font-weight:700;
  line-height:1.35;
}

.pttgt-facility-card p{
  margin:0;
  color:#000000;
  font-size:15px;
  line-height:1.4;
}


/* =========================================================
   09. ITINERARY
========================================================= */

.pttgt-itinerary{
  padding:65px 0 75px;
  border-top:1px solid var(--pttgt-line);
}

.pttgt-itinerary-heading{
  display:flex;
  justify-content:space-between;
  gap:35px;
  align-items:flex-end;
  margin-bottom:45px;
}

.pttgt-itinerary-route{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  padding:12px 17px;
  border:1px solid var(--pttgt-line);
  border-radius:50px;
  background:var(--pttgt-cream);
  white-space:nowrap;
}

.pttgt-itinerary-route span{
  color:#000000;
  font-size:14px;
  font-weight:700;
  letter-spacing:.5px;
}

.pttgt-itinerary-route i{
  color:var(--pttgt-red);
  font-size:12px;
}


/* =========================================================
   10. DAY TIMELINE
========================================================= */

.pttgt-days{
  position:relative;
}

.pttgt-days::before{
  content:"";
  position:absolute;
  top:31px;
  bottom:31px;
  left:31px;
  width:1px;
  background:#d9d9d4;
}

.pttgt-day{
  position:relative;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:22px;
  padding-bottom:16px;
}

.pttgt-day:last-child{
  padding-bottom:0;
}

.pttgt-day-marker{
  position:relative;
  z-index:2;
  padding-top:22px;
}

.pttgt-day-marker span{
  display:grid;
  width:62px;
  height:62px;
  place-items:center;

  border:6px solid #ffffff;
  border-radius:18px;

  background:#0b0b0b;
  color:#ffffff;

  font-size:15px;
  font-weight:700;

  box-shadow:0 7px 20px rgba(0,0,0,.1);
}

.pttgt-day:first-child .pttgt-day-marker span{
  background:var(--pttgt-red);
}

.pttgt-day-card{
  padding:28px 29px;

  border:1px solid var(--pttgt-line);
  border-radius:22px;

  background:var(--pttgt-cream);

  transition:
    background .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

.pttgt-day-card:hover{
  transform:translateX(4px);
  background:#ffffff;
  box-shadow:0 15px 35px rgba(0,0,0,.06);
}

.pttgt-day-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:25px;
  margin-bottom:14px;
}

.pttgt-day-top small{
  display:block;
  margin-bottom:5px;
  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-day-top h3{
  margin:0;
  color:#000000;
  font-size:23px;
  font-weight:700;
  line-height:1.3;
}

.pttgt-city{
  display:inline-flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;

  padding:9px 13px;

  border:1px solid #ddddda;
  border-radius:30px;

  background:#ffffff;
  color:#000000;

  font-size:14px;
  font-weight:600;
}

.pttgt-city i{
  color:var(--pttgt-red);
}

.pttgt-day-card > p{
  margin:0;
  color:#000000;
  font-size:17px;
  line-height:1.4;
}

.pttgt-day-tags{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:18px;
}

.pttgt-day-tags span{
  padding:7px 11px;
  border-radius:8px;
  background:#ffffff;
  color:#333333;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}


/* =========================================================
   11. PACKAGE INCLUDE / EXCLUDE
========================================================= */

.pttgt-package{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:0 0 75px;
}

.pttgt-package-card{
  padding:32px;
  border-radius:24px;
}

.pttgt-includes{
  background:#0b0b0b;
  color:#ffffff;
}

.pttgt-excludes{
  border:1px solid var(--pttgt-line);
  background:var(--pttgt-cream);
  color:#000000;
}

.pttgt-package-title{
  display:flex;
  align-items:center;
  gap:15px;
  padding-bottom:23px;
  margin-bottom:22px;
  border-bottom:1px solid rgba(255,255,255,.13);
}

.pttgt-excludes .pttgt-package-title{
  border-color:#ddddda;
}

.pttgt-package-icon{
  display:grid;
  width:50px;
  height:50px;
  flex:0 0 50px;
  place-items:center;
  border-radius:14px;
  background:var(--pttgt-red);
  color:#ffffff;
  font-size:18px;
}

.pttgt-package-title span{
  display:block;
  margin-bottom:3px;
  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-package-title h2{
  margin:0;
  color:inherit;
  font-size:24px;
  font-weight:700;
  line-height:1.3;
}

.pttgt-package-card ul{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0;
  margin:0;
  list-style:none;
}

.pttgt-package-card li{
  display:flex;
  align-items:flex-start;
  gap:11px;
  color:#ffffff;
  font-size:15px;
  line-height:1.6;
}

.pttgt-excludes li{
  color:#000000;
}

.pttgt-package-card li i{
  width:20px;
  flex:0 0 20px;
  margin-top:5px;
  color:var(--pttgt-red);
  font-size:12px;
}


/* =========================================================
   12. BOTTOM CTA
========================================================= */

.pttgt-bottom-cta{
  position:relative;

  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:45px;
  align-items:center;

  padding:45px;

  overflow:hidden;

  border-radius:26px;
  background:#0a0a0a;
  color:#ffffff;
}

.pttgt-bottom-cta::after{
  content:"GT";
  position:absolute;
  right:-20px;
  bottom:-75px;

  color:rgba(255,255,255,.035);

  font-size:210px;
  font-weight:800;
  line-height:1;

  pointer-events:none;
}

.pttgt-bottom-cta-content{
  position:relative;
  z-index:2;
}

.pttgt-bottom-cta-content > span{
  display:block;
  margin-bottom:10px;

  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-bottom-cta h2{
  max-width:650px;
  margin:0 0 15px;
  color:#ffffff;
  font-size:clamp(32px,3vw,45px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-1.2px;
}

.pttgt-bottom-cta h2 strong{
  display:block;
  color:var(--pttgt-red);
  font-weight:700;
}

.pttgt-bottom-cta p{
  max-width:720px;
  margin:0;
  color:#ffffff;
  font-size:17px;
  line-height:1.6;
}

.pttgt-bottom-actions{
  position:relative;
  z-index:2;

  display:flex;
  flex-direction:column;
  gap:8px;
}

.pttgt-bottom-actions a{
  display:flex;
  min-height:50px;
  align-items:center;
  justify-content:center;
  gap:9px;

  padding:11px 16px;

  border-radius:11px;

  font-size:14px;
  font-weight:700;

  transition:
    transform .25s ease,
    background .25s ease;
}

.pttgt-bottom-primary{
  background:var(--pttgt-red);
  color:#ffffff;
}

.pttgt-bottom-secondary{
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.07);
  color:#ffffff;
}

.pttgt-bottom-actions a:hover{
  transform:translateY(-2px);
}


/* =========================================================
   13. RIGHT BOOKING CARD
========================================================= */

.pttgt-book-card{
  width:100%;

  overflow:hidden;

  border:1px solid #dfdfdb;
  border-radius:25px;

  background:#ffffff;

  box-shadow:
    0 22px 60px rgba(0,0,0,.10),
    0 4px 12px rgba(0,0,0,.04);
}


/* =========================================================
   14. RIGHT CARD IMAGE
========================================================= */

.pttgt-book-image{
  position:relative;

  width:100%;
  height:235px;

  overflow:hidden;

  background:#111111;
}

.pttgt-book-image img{
  width:100%;
  height:100%;
  display:block;

  object-fit:cover;
object-position: top;

  transition:transform .7s ease;
}

.pttgt-book-card:hover .pttgt-book-image img{
  transform:scale(1.04);
}

.pttgt-book-image-overlay{
  position:absolute;
  inset:0;

  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.03) 20%,
      rgba(0,0,0,.15) 50%,
      rgba(0,0,0,.82) 100%
    );
}

.pttgt-book-badge{
  position:absolute;
  top:15px;
  left:15px;

  padding:8px 12px;

  border-radius:30px;

  background:var(--pttgt-red);
  color:#ffffff;

  font-size:14px;
  font-weight:700;
  line-height:1.3;
}

.pttgt-book-image-title{
  position:absolute;
  left:20px;
  right:20px;
  bottom:18px;

  color:#ffffff;
}

.pttgt-book-image-title small{
  display:block;
  margin-bottom:4px;
  color:#ffffff;
  font-size:14px;
  font-weight:500;
  line-height:1.4;
}

.pttgt-book-image-title strong{
  display:block;
  color:#ffffff;
  font-size:26px;
  font-weight:700;
  line-height:1.2;
}


/* =========================================================
   15. RIGHT BOOKING CONTENT
========================================================= */

.pttgt-book-content{
  padding:25px 24px 23px;
}

.pttgt-book-eyebrow{
  display:block;
  margin-bottom:7px;
  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-book-content > h2{
  margin:0 0 10px;
  color:#000000;
  font-size:28px;
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.7px;
}

.pttgt-book-content > h2 span{
  color:var(--pttgt-red);
}

.pttgt-book-content > p{
  margin:0;
  color:#000000;
  font-size:15px;
  line-height:1.6;
}


/* =========================================================
   16. RIGHT ROUTE
========================================================= */

.pttgt-book-route{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:7px;

  margin:20px 0;

  padding:14px 13px;

  border-radius:15px;

  background:var(--pttgt-soft);
}

.pttgt-book-route div{
  min-width:0;
  text-align:center;
}

.pttgt-book-route span{
  display:block;
  margin-bottom:2px;
  color:var(--pttgt-red);
  font-size:14px;
  font-weight:700;
}

.pttgt-book-route strong{
  display:block;
  color:#000000;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-book-route > i{
  color:#777777;
  font-size:10px;
}


/* =========================================================
   17. RIGHT QUICK INFO
========================================================= */

.pttgt-book-info{
  border-top:1px solid var(--pttgt-line);
  border-bottom:1px solid var(--pttgt-line);
}

.pttgt-book-info > div{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 0;
}

.pttgt-book-info > div + div{
  border-top:1px solid #ecece8;
}

.pttgt-book-info > div > i{
  display:grid;
  width:37px;
  height:37px;
  flex:0 0 37px;

  place-items:center;

  border-radius:10px;

  background:#fff0f0;
  color:var(--pttgt-red);

  font-size:14px;
}

.pttgt-book-info span{
  min-width:0;
}

.pttgt-book-info small{
  display:block;
  margin-bottom:2px;
  color:#555555;
  font-size:14px;
  font-weight:500;
  line-height:1.3;
}

.pttgt-book-info strong{
  display:block;
  color:#000000;
  font-size:14px;
  font-weight:700;
  line-height:1.4;
}


/* =========================================================
   18. VEHICLE INFO
========================================================= */

.pttgt-vehicle{
  padding:15px 0 2px;
}

.pttgt-vehicle small{
  display:block;
  margin-bottom:4px;
  color:#555555;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

.pttgt-vehicle p{
  margin:0;
  color:#000000;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
}


/* =========================================================
   19. RIGHT BOOKING ACTIONS
========================================================= */

.pttgt-book-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:18px;
}

.pttgt-book-call{
  display:flex;
  min-height:58px;
  align-items:center;
  gap:12px;

  padding:10px 15px;

  border-radius:13px;

  background:var(--pttgt-red);
  color:#ffffff;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.pttgt-book-call > i{
  display:grid;
  width:35px;
  height:35px;
  flex:0 0 35px;

  place-items:center;

  border-radius:50%;

  background:rgba(255,255,255,.15);

  color:#ffffff;
  font-size:13px;
}

.pttgt-book-call span{
  min-width:0;
}

.pttgt-book-call small{
  display:block;
  margin-bottom:1px;
  color:#ffffff;
  font-size:14px;
  font-weight:500;
  line-height:1.3;
}

.pttgt-book-call strong{
  display:block;
  color:#ffffff;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
}

.pttgt-book-wa{
  display:flex;
  min-height:49px;
  align-items:center;
  justify-content:center;
  gap:9px;

  padding:10px 15px;

  border-radius:12px;

  background:#111111;
  color:#ffffff;

  font-size:14px;
  font-weight:700;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.pttgt-book-wa i{
  font-size:17px;
}

.pttgt-book-enquiry{
  display:flex;
  min-height:49px;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  padding:10px 15px;

  border:1px solid var(--pttgt-line);
  border-radius:12px;

  background:#ffffff;
  color:#000000;

  font-size:14px;
  font-weight:700;

  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.pttgt-book-enquiry i{
  color:var(--pttgt-red);
}

.pttgt-book-call:hover,
.pttgt-book-wa:hover,
.pttgt-book-enquiry:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(0,0,0,.08);
}


/* =========================================================
   20. BOOKING NOTE
========================================================= */

.pttgt-book-note{
  display:flex;
  align-items:flex-start;
  gap:9px;

  margin-top:15px;
  padding-top:14px;

  border-top:1px solid var(--pttgt-line);

  color:#333333;
  font-size:14px;
  line-height:1.5;
}

.pttgt-book-note i{
  margin-top:3px;
  color:var(--pttgt-red);
  font-size:13px;
}


/* =========================================================
   21. HELP CARD
========================================================= */

.pttgt-help-card{
  display:grid;
  grid-template-columns:45px minmax(0,1fr) 36px;
  gap:12px;
  align-items:center;

  margin-top:12px;
  padding:15px;

  border-radius:17px;

  background:#0b0b0b;
  color:#ffffff;

  box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.pttgt-help-icon{
  display:grid;
  width:45px;
  height:45px;
  place-items:center;

  border-radius:12px;

  background:var(--pttgt-red);
  color:#ffffff;

  font-size:16px;
}

.pttgt-help-card small{
  display:block;
  margin-bottom:2px;
  color:#bbbbbb;
  font-size:14px;
  line-height:1.3;
}

.pttgt-help-card strong{
  display:block;
  color:#ffffff;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

.pttgt-help-card > a{
  display:grid;
  width:36px;
  height:36px;
  place-items:center;

  border-radius:50%;

  background:#222222;
  color:#ffffff;

  font-size:11px;

  transition:.25s ease;
}

.pttgt-help-card > a:hover{
  background:var(--pttgt-red);
}


/* =========================================================
   22. DESKTOP STICKY - MOST IMPORTANT
========================================================= */

@media (min-width:1101px){

  .pttgt-page,
  .pttgt-container,
  .pttgt-layout,
  .pttgt-main,
  .pttgt-sidebar{
    overflow:visible !important;
  }

  .pttgt-layout{
    align-items:stretch !important;
  }

  .pttgt-sidebar{
    position:relative !important;
    display:block !important;

    align-self:stretch !important;

    height:auto !important;
    min-height:100%;

    overflow:visible !important;
  }

  .pttgt-sticky{
    position:-webkit-sticky !important;
    position:sticky !important;

    top:105px !important;
    bottom:auto !important;

    width:100% !important;
    height:max-content !important;

    align-self:flex-start !important;

    z-index:30 !important;
  }

}


/* =========================================================
   23. 1280
========================================================= */

@media (max-width:1280px) and (min-width:1101px){

  .pttgt-layout{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:35px;
  }

  .pttgt-intro{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:50px;
  }

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

  .pttgt-section-head{
    grid-template-columns:minmax(0,1fr) 300px;
    gap:30px;
  }

}


/* =========================================================
   24. TABLET - 1100
========================================================= */

@media (max-width:1100px){

  .pttgt-page{
    padding:70px 0 80px;
  }

  .pttgt-intro{
    grid-template-columns:1fr;
    gap:35px;
  }

  .pttgt-intro-meta{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }

  .pttgt-meta-item + .pttgt-meta-item{
    border-top:0;
    border-left:1px solid var(--pttgt-line);
  }


  /* STACK LAYOUT */

  .pttgt-layout{
    grid-template-columns:1fr;
    gap:50px;
    align-items:start;
  }

  .pttgt-main{
    order:1;
  }

  .pttgt-sidebar{
    order:0;

    height:auto !important;
    min-height:0 !important;

    align-self:auto !important;
  }


  /* DISABLE STICKY TABLET */

  .pttgt-sticky{
    position:relative !important;
    top:auto !important;
    bottom:auto !important;

    width:100%;
    height:auto !important;
  }


  /* BOOKING CARD HORIZONTAL */

  .pttgt-book-card{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
  }

  .pttgt-book-image{
    height:auto;
    min-height:100%;
  }

  .pttgt-help-card{
    max-width:600px;
  }

}


/* =========================================================
   25. 900
========================================================= */

@media (max-width:900px){

  .pttgt-page{
    padding:60px 0 70px;
  }

  .pttgt-intro-main h1{
    letter-spacing:-2px;
  }

  .pttgt-section-head{
    grid-template-columns:1fr;
    gap:18px;
  }

  .pttgt-section-head > p{
    max-width:700px;
  }

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

  .pttgt-itinerary-heading{
    display:block;
  }

  .pttgt-itinerary-route{
    width:max-content;
    max-width:100%;
    margin-top:20px;
  }

  .pttgt-package{
    grid-template-columns:1fr;
  }

  .pttgt-bottom-cta{
    grid-template-columns:1fr;
    gap:28px;
  }

  .pttgt-bottom-actions{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }

  .pttgt-book-card{
    grid-template-columns:1fr;
  }

  .pttgt-book-image{
    height:380px;
    min-height:0;
  }

}


/* =========================================================
   26. MOBILE - 650
========================================================= */

@media (max-width:650px){

  .pttgt-page{
    padding:45px 0 60px;
  }

  .pttgt-container{
    width:92vw;
  }


  /* INTRO */

  .pttgt-intro{
    gap:27px;
    padding-bottom:45px;
  }

  .pttgt-intro-main h1{
    margin-bottom:20px;
    font-size:clamp(42px,12vw,58px);
    line-height:1;
    letter-spacing:-1.7px;
  }

  .pttgt-intro-main > p{
    font-size:16px;
    line-height:1.65;
  }

  .pttgt-intro-meta{
    grid-template-columns:1fr;
  }

  .pttgt-meta-item + .pttgt-meta-item{
    border-left:0;
    border-top:1px solid var(--pttgt-line);
  }

  .pttgt-meta-item{
    padding:17px;
  }


  /* LAYOUT */

  .pttgt-layout{
    padding-top:42px;
    gap:45px;
  }


  /* SIDEBAR */

  .pttgt-book-image{
    height:300px;
  }

  .pttgt-book-content{
    padding:23px 19px 20px;
  }

  .pttgt-book-content > h2{
    font-size:26px;
  }

  .pttgt-book-content > p{
    font-size:15px;
  }

  .pttgt-help-card{
    max-width:none;
  }


  /* FACILITIES */

  .pttgt-facilities{
    padding-bottom:55px;
  }

  .pttgt-section-head h2,
  .pttgt-itinerary-heading h2{
    font-size:36px;
    letter-spacing:-1px;
  }

  .pttgt-section-head > p{
    font-size:16px;
  }

  .pttgt-facility-grid{
    grid-template-columns:1fr;
  }

  .pttgt-facility-card{
    min-height:auto;
    padding:23px 21px;
  }

  .pttgt-facility-icon{
    margin-bottom:17px;
  }

  .pttgt-facility-card p{
    font-size:15px;
  }


  /* ITINERARY */

  .pttgt-itinerary{
    padding:50px 0 55px;
  }

  .pttgt-itinerary-heading{
    margin-bottom:32px;
  }

  .pttgt-itinerary-route{
    gap:7px;
    padding:10px 13px;
  }

  .pttgt-days::before{
    left:23px;
  }

  .pttgt-day{
    grid-template-columns:48px minmax(0,1fr);
    gap:13px;
  }

  .pttgt-day-marker{
    padding-top:18px;
  }

  .pttgt-day-marker span{
    width:46px;
    height:46px;

    border-width:5px;
    border-radius:13px;

    font-size:12px;
  }

  .pttgt-day-card{
    padding:22px 19px;
    border-radius:18px;
  }

  .pttgt-day-card:hover{
    transform:none;
  }

  .pttgt-day-top{
    display:block;
  }

  .pttgt-day-top h3{
    font-size:20px;
  }

  .pttgt-city{
    margin-top:11px;
  }

  .pttgt-day-card > p{
    font-size:15px;
    line-height:1.6;
  }

  .pttgt-day-tags{
    gap:5px;
  }

  .pttgt-day-tags span{
    padding:6px 9px;
    font-size:14px;
  }


  /* PACKAGE */

  .pttgt-package-card{
    padding:25px 21px;
  }

  .pttgt-package-card li{
    font-size:15px;
  }


  /* BOTTOM CTA */

  .pttgt-bottom-cta{
    padding:32px 22px;
    border-radius:21px;
  }

  .pttgt-bottom-cta p{
    font-size:16px;
  }

  .pttgt-bottom-actions{
    grid-template-columns:1fr;
  }

}


/* =========================================================
   27. SMALL MOBILE - 430
========================================================= */

@media (max-width:430px){

  .pttgt-container{
    width:91vw;
  }

  .pttgt-eyebrow{
    font-size:14px;
    letter-spacing:.7px;
  }

  .pttgt-intro-main h1{
    font-size:40px;
  }

  .pttgt-layout{
    gap:40px;
  }

  .pttgt-section-head h2,
  .pttgt-itinerary-heading h2{
    font-size:32px;
  }

  .pttgt-itinerary-route{
    gap:6px;
    padding:9px 11px;
  }

  .pttgt-itinerary-route span{
    font-size:14px;
  }

  .pttgt-day{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
  }

  .pttgt-days::before{
    left:20px;
  }

  .pttgt-day-marker span{
    width:41px;
    height:41px;
    border-width:4px;
    border-radius:11px;
  }

  .pttgt-day-card{
    padding:19px 16px;
  }

  .pttgt-day-top h3{
    font-size:19px;
  }

  .pttgt-day-tags{
    gap:5px;
  }

  .pttgt-day-tags span{
    padding:6px 8px;
  }

  .pttgt-book-image{
    height:260px;
  }

  .pttgt-book-content{
    padding:22px 17px 19px;
  }

  .pttgt-book-content > h2{
    font-size:25px;
  }

  .pttgt-book-route{
    padding:12px 9px;
  }

  .pttgt-bottom-cta h2{
    font-size:30px;
  }

}


/* =========================================================
   28. REDUCED MOTION
========================================================= */

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

  .pttgt-page *,
  .pttgt-page *::before,
  .pttgt-page *::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }

}

/* =========================================================
   INDIA TOUR PACKAGES - PREMIUM LIGHT CARDS
   UNIQUE NAMESPACE: pttindpkg-
========================================================= */

.pttindpkg-section{
  --red:#fb0001;
  --black:#0b0b0b;
  --text:#171717;
  --muted:#5b5b5b;
  --soft:#f6f6f3;
  --cream:#faf9f6;
  --line:#e3e3de;
  --white:#ffffff;

  position:relative;
  width:100%;
  padding:95px 0 105px;
  overflow:hidden;
  background:#f8f8f5;
  color:var(--text);
  font-family:"Outfit",sans-serif;
}

.pttindpkg-section *,
.pttindpkg-section *::before,
.pttindpkg-section *::after{
  box-sizing:border-box;
}

.pttindpkg-container{
  width:min(92vw,1480px);
  margin:0 auto;
}

.pttindpkg-section a{
  text-decoration:none;
}


/* =========================================================
   HEADING
========================================================= */

.pttindpkg-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 480px;
  gap:70px;
  align-items:end;
  margin-bottom:52px;
}

.pttindpkg-eyebrow{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:15px;
  color:var(--red);
  font-size:14px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.pttindpkg-eyebrow::before{
  content:"";
  width:34px;
  height:2px;
  border-radius:10px;
  background:var(--red);
}

.pttindpkg-head h2{
  max-width:760px;
  margin:0;
  color:var(--black);
  font-size:clamp(46px,4.4vw,68px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-2.4px;
}

.pttindpkg-head h2 span{
  display:block;
  color:var(--red);
}

.pttindpkg-head-right{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:end;
}

.pttindpkg-head-right > p{
  margin:0;
  color:#000;
  font-size:17px;
  font-weight:400;
  line-height:1.65;
}

.pttindpkg-head-count{
  display:flex;
  align-items:flex-end;
  gap:10px;
  padding-left:25px;
  border-left:1px solid #d7d7d1;
}

.pttindpkg-head-count strong{
  color:var(--red);
  font-size:42px;
  font-weight:700;
  line-height:.9;
}

.pttindpkg-head-count span{
  color:#555;
  font-size:12px;
  font-weight:600;
  line-height:1.25;
}


/* =========================================================
   GRID
========================================================= */

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


/* =========================================================
   CARD
========================================================= */

.pttindpkg-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:25px;
  background:#fff;
  box-shadow:0 5px 20px rgba(0,0,0,.025);

  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    box-shadow .35s ease,
    border-color .35s ease;
}

.pttindpkg-card:hover{
  transform:translateY(-7px);
  border-color:#d3d3cd;
  box-shadow:0 25px 55px rgba(0,0,0,.09);
}


/* =========================================================
   IMAGE
========================================================= */

.pttindpkg-image{
  position:relative;
  display:block;
  height:310px;
  margin:10px 10px 0;
  overflow:hidden;
  border-radius:18px;
  background:#ddd;
}

.pttindpkg-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.03) 45%,
      rgba(0,0,0,.40) 100%
    );
}

.pttindpkg-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}

.pttindpkg-card:hover .pttindpkg-image img{
  transform:scale(1.055);
}


/* DURATION */

.pttindpkg-duration{
  position:absolute;
  z-index:2;
  top:15px;
  left:15px;

  display:inline-flex;
  min-height:35px;
  align-items:center;

  padding:7px 13px;

  border:1px solid rgba(255,255,255,.5);
  border-radius:50px;

  background:rgba(255,255,255,.93);
  backdrop-filter:blur(10px);

  color:#111;
  font-size:13px;
  font-weight:700;
}


/* NUMBER */

.pttindpkg-number{
  position:absolute;
  z-index:2;
  right:17px;
  bottom:13px;

  color:#fff;

  font-size:37px;
  font-weight:600;
  line-height:1;

  letter-spacing:-2px;

  text-shadow:0 3px 14px rgba(0,0,0,.25);
}


/* =========================================================
   CONTENT
========================================================= */

.pttindpkg-content{
  padding:26px 25px 23px;
}


.pttindpkg-type{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;

  margin-bottom:11px;

  color:var(--red);
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
}

.pttindpkg-type::before{
  content:"";
  width:18px;
  height:2px;
  background:var(--red);
}

.pttindpkg-content h3{
  margin:0 0 11px;
  font-size:24px;
  font-weight:700;
  line-height:1.22;
  letter-spacing:-.7px;
}

.pttindpkg-content h3 a{
  color:#111;
  transition:color .25s ease;
}

.pttindpkg-card:hover .pttindpkg-content h3 a{
  color:var(--red);
}

.pttindpkg-content > p{
  min-height:54px;
  margin:0;
  color:#000;
  font-size:16px;
  font-weight:400;
  line-height:1.65;
}


/* =========================================================
   CARD FOOTER
========================================================= */

.pttindpkg-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;

  margin-top:23px;
  padding-top:18px;

  border-top:1px solid #e7e7e3;
}

.pttindpkg-route{
  min-width:0;
  overflow:hidden;

  color:#4f4f4f;
  font-size:17px;
  font-weight:600;

  white-space:nowrap;
  text-overflow:ellipsis;
}

.pttindpkg-arrow{
  display:grid;
  width:44px;
  height:44px;
  flex:0 0 44px;
  place-items:center;

  border:1px solid #deded9;
  border-radius:50%;

  background:#fff;
  color:#111;

  font-size:14px;

  transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease;
}

.pttindpkg-card:hover .pttindpkg-arrow{
  transform:rotate(-35deg);
  border-color:var(--red);
  background:var(--red);
  color:#fff;
}


/* =========================================================
   SMALL DESIGN DETAIL
========================================================= */

.pttindpkg-card::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;

  width:0;
  height:3px;

  background:var(--red);

  transition:width .4s cubic-bezier(.2,.8,.2,1);
}

.pttindpkg-card:hover::after{
  width:100%;
}


/* =========================================================
   1200
========================================================= */

@media (max-width:1200px){

  .pttindpkg-section{
    padding:85px 0 95px;
  }

  .pttindpkg-head{
    grid-template-columns:minmax(0,1fr) 400px;
    gap:45px;
  }

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

  .pttindpkg-image{
    height:330px;
  }

}


/* =========================================================
   900
========================================================= */

@media (max-width:900px){

  .pttindpkg-section{
    padding:48px 20px 58px;
  }

  .pttindpkg-head{
    grid-template-columns:1fr;
    gap:25px;
    margin-bottom:40px;
  }

  .pttindpkg-head-right{
    max-width:700px;
  }

  .pttindpkg-head h2{
    max-width:700px;
  }

}


/* =========================================================
   700
========================================================= */

@media (max-width:700px){

  .pttindpkg-section{
    padding:48px 20px 58px;
  }

  .pttindpkg-container{
    width:92vw;
  }

  .pttindpkg-head{
    margin-bottom:32px;
  }

  .pttindpkg-head h2{
    font-size:clamp(40px,11vw,52px);
    line-height:1.03;
    letter-spacing:-1.6px;
  }

  .pttindpkg-head-right{
    display:block;
  }

  .pttindpkg-head-right > p{
    font-size:16px;
  }

  .pttindpkg-head-count{
    width:max-content;
    margin-top:22px;
    padding:0;
    border-left:0;
  }

  .pttindpkg-grid{
    grid-template-columns:1fr;
    gap:17px;
  }

  .pttindpkg-image{
    height:340px;
  }

  .pttindpkg-content{
    padding:24px 21px 21px;
  }

  .pttindpkg-content h3{
    font-size:23px;
  }

  .pttindpkg-content > p{
    min-height:0;
    font-size:16px;
  }

}


/* =========================================================
   480
========================================================= */

@media (max-width:480px){

  .pttindpkg-section{
    padding:48px 20px 58px;
  }

  .pttindpkg-container{
    width:91vw;
  }

  .pttindpkg-eyebrow{
    font-size:12px;
  }

  .pttindpkg-head h2{
    font-size:39px;
  }

  .pttindpkg-image{
    height:275px;
    margin:8px 8px 0;
    border-radius:17px;
  }

  .pttindpkg-card{
    border-radius:22px;
  }

  .pttindpkg-duration{
    top:13px;
    left:13px;
    font-size:12px;
  }

  .pttindpkg-number{
    right:15px;
    bottom:12px;
    font-size:32px;
  }

  .pttindpkg-content{
    padding:22px 18px 19px;
  }

  .pttindpkg-content h3{
    font-size:22px;
  }

  .pttindpkg-route{
    font-size:12px;
  }

  .pttindpkg-arrow{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

}


/* =========================================================
   380
========================================================= */

@media (max-width:380px){

  .pttindpkg-head h2{
    font-size:35px;
  }

  .pttindpkg-image{
    height:245px;
  }

  .pttindpkg-content h3{
    font-size:21px;
  }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

  .pttindpkg-section *,
  .pttindpkg-section *::before,
  .pttindpkg-section *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

}

/* ==========================================================
   GLOBAL CONTAINER WIDTH ALIGNMENT FIX
   Added only to standardize all existing container widths.
   Existing design, typography, spacing, colors and components
   above remain unchanged.
========================================================== */

.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

@media (min-width: 576px) {
.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    max-width: 540px !important;
}
}

@media (min-width: 768px) {
.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    max-width: 720px !important;
}
}

@media (min-width: 992px) {
.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    max-width: 960px !important;
}
}

@media (min-width: 1200px) {
.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    max-width: 1140px !important;
}
}


@media (min-width: 1400px) {
.cta-container,
.ptt-cj-container,
.ptt-container,
.ptt-review-premium__container,
.ptt17-container,
.ptt8intro-container,
.pttabout-container,
.pttenquiry-container,
.pttetios-container,
.pttgt-container,
.pttindpkg-container,
.pttintro2-container,
.pttrajtour-container,
.ptttaxi-container,
.ptttour-container,
.tt9new-container {
    max-width: 1420px !important;
}
}

.align-items-center {
    align-items: center!important;
}
.justify-content-between {
    justify-content: space-between!important;
}
.flex-nowrap {
    flex-wrap: nowrap!important;
}
.d-flex {
    display: flex!important;
}

/* ============================================================
   PTT - MOBILE FINAL V3
   Original stylesheet above is preserved exactly.
   These rules only correct the mobile header, hero and home spacing.
============================================================ */

@media (max-width: 991px) {
  .ptt-site-header,
  .ptt-site-header.is-scrolled {
height: 56px !important;
    min-height: 56px !important;
    padding: 10px 15px;
  }

  .ptt-site-header .ptt-container {
    width:calc(100% - 28px) !important;
    max-width:none !important;
    height:58px !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .ptt-site-logo {
    width:152px !important;
    max-width:calc(100% - 58px) !important;
    margin:0 !important;
    flex:0 0 auto !important;
  }

  .ptt-site-logo img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:42px !important;
    object-fit:contain !important;
    object-position:left center !important;
  }

  .ptt-site-nav,
  .ptt-site-book {
    display:none !important;
  }

  .ptt-menu-toggle {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 38px !important;
    width:38px !important;
    height:38px !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:10px !important;
    background:var(--ptt-navy) !important;
    color:#fff !important;
    font-size:16px !important;
    line-height:1 !important;
    box-shadow:0 5px 15px rgba(6,28,44,.13) !important;
  }

  .ptt-mobile-panel {
    width:min(88vw,360px) !important;
    padding:18px !important;
  }

  .ptt-mobile-head {
    min-height:46px !important;
    margin:0 0 12px !important;
    padding:0 0 12px !important;
    border-bottom:1px solid #ececec !important;
  }

  .ptt-mobile-close {
    width:38px !important;
    height:38px !important;
    border-radius:10px !important;
  }

  .ptt-mobile-nav a,
  .ptt-mobile-parent {
    min-height:47px !important;
    padding:12px 2px !important;
    align-items:center !important;
    font-size:13.5px !important;
  }

  .ptt-mobile-sub {
    padding-left:12px !important;
  }

  .ptt-mobile-sub a {
    min-height:40px !important;
    padding:9px 3px !important;
    font-size:12.5px !important;
  }

  .ptt-mobile-book {
    min-height:46px !important;
    margin-top:16px !important;
    border-radius:10px !important;
  }
}


/* ============================================================
   MOBILE - CONSISTENT HOME GUTTERS
============================================================ */
@media (max-width: 767px) {
  .ptt-home {
    width:100% !important;
    overflow:hidden !important;
  }

  .ptt-home .ptt-container,
  .ptt-home-services .ptt-container,
  .ptt-home-airport .ptt-container,
  .ptt-home-about .ptt-container,
  .ptt-home-fleet .ptt-container,
  .ptt-home-destinations .ptt-container,
  .ptt-priority .ptt-container,
  .ptt-home-testimonials .ptt-container,
  .ptt-home-cta .ptt-container,
  .ptt-site-footer .ptt-container,
  .ptt-cj-container {
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .ptt-home-airport,
  .ptt-home-about,
  .ptt-home-fleet,
  .ptt-home-destinations,
  .ptt-home-testimonials {
    padding-left:0 !important;
    padding-right:0 !important;
  }


  /* ==========================================================
     MOBILE HERO - CLEAN SQUARE IMAGE / SMALL BOTTOM CONTENT
  ========================================================== */
  .ptt-hero-slider {
    position:relative !important;
    width:100% !important;
    background:#061c2c !important;
    overflow:hidden !important;
  }

  .ptt-hero-viewport {
    width:100% !important;
    overflow:hidden !important;
  }

  .ptt-hero-track {
    align-items:stretch !important;
  }

  .ptt-hero-slide {
    position:relative !important;
    flex:0 0 100% !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:1 / 1 !important;
    overflow:hidden !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
  }

  /* No opacity over the upper image. Only a short bottom fade. */
  .ptt-hero-slide::before {
    content:"" !important;
    position:absolute !important;
    z-index:1 !important;
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:0 !important;
    height:42% !important;
    pointer-events:none !important;
    background:linear-gradient(
      to bottom,
      rgba(3,16,26,0) 0%,
      rgba(3,16,26,.04) 18%,
      rgba(3,16,26,.35) 58%,
      rgba(3,16,26,.82) 100%
    ) !important;
  }

  .ptt-hero-slide .ptt-container {
    position:relative !important;
    z-index:3 !important;
    width:calc(100% - 28px) !important;
    max-width:none !important;
    height:100% !important;
    min-height:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
  }

  .ptt-hero-content {
    position:relative !important;
    z-index:4 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 0 36px !important;
    align-self:auto !important;
  }

  .ptt-hero-content .ptt-eyebrow {
    margin:0 0 4px !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:1.3px !important;
  }

  .ptt-hero-content h1 {
    max-width:88% !important;
    margin:0 0 5px !important;
    color:#fff !important;
  font-size:56px !important;
    font-weight:700 !important;
    line-height:.94 !important;
    letter-spacing:-.5px !important;
    text-shadow:0 2px 10px rgba(0,0,0,.25) !important;
  }
  
  .ptt-home p {
    font-size: 19px!important;
    line-height: 1.7;
}

  .ptt-hero-content h1 span {
    display:block !important;
    color:var(--ptt-orange) !important;
  }

  .ptt-hero-content > p {
    max-width:88% !important;
    margin:0 0 7px !important;
    color:#fff !important;
    font-size:9px !important;
    line-height:1.35 !important;
    text-shadow:0 2px 8px rgba(0,0,0,.28) !important;
  }

  /* Keep hero clean on phones */
  .ptt-hero-benefits {
    display:none !important;
  }

  .ptt-hero-actions {
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    gap:5px !important;
  }

  .ptt-hero-actions .ptt-pill {
    width:auto !important;
    min-width:0 !important;
    height:29px !important;
    padding:0 9px !important;
    gap:4px !important;
    border-radius:999px !important;
    font-size:8px !important;
    font-weight:600 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .ptt-hero-actions .ptt-pill i {
    font-size:7px !important;
  }

  .ptt-hero-actions .ptt-pill-outline {
    color:#fff !important;
    background:rgba(0,0,0,.08) !important;
    border-color:rgba(255,255,255,.72) !important;
  }

  .ptt-hero-detail,
  .ptt-hero-vehicles {
    display:none !important;
  }

  .ptt-hero-slider > .ptt-carousel-arrow {
    top:50% !important;
    bottom:auto !important;
    width:28px !important;
    height:28px !important;
    border:1px solid rgba(255,255,255,.7) !important;
    background:rgba(4,24,40,.30) !important;
    color:#fff !important;
    font-size:10px !important;
    backdrop-filter:none !important;
    transform:translateY(-50%) !important;
  }

  .ptt-hero-slider > .ptt-carousel-prev {
    left:8px !important;
  }

  .ptt-hero-slider > .ptt-carousel-next {
    right:8px !important;
  }

  .ptt-hero-slider > .ptt-carousel-arrow:hover {
    transform:translateY(-50%) !important;
  }

  .ptt-hero-slider > .ptt-carousel-dots {
    left:50% !important;
    bottom:9px !important;
    gap:4px !important;
    transform:translateX(-50%) !important;
  }

  .ptt-hero-slider > .ptt-carousel-dots .ptt-carousel-dot {
    width:5px !important;
    height:5px !important;
  }

  .ptt-hero-slider > .ptt-carousel-dots .ptt-carousel-dot.active {
    width:17px !important;
  }


  /* ==========================================================
     SERVICE STRIP - FIX THE LARGE / EDGE-TO-EDGE LOOK
  ========================================================== */
  .ptt-home-services {
    min-height:0 !important;
    padding:14px 0 !important;
    background:#fbfaf6 !important;
  }

  .ptt-service-grid {
    width:100% !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    align-items:stretch !important;
  }

  .ptt-service-item {
    min-width:0 !important;
    min-height:82px !important;
    padding:12px 10px !important;
    display:grid !important;
    grid-template-columns:27px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
    border:1px solid #ece7df !important;
    border-radius:11px !important;
    background:#fff !important;
  }

  .ptt-service-item i {
    font-size:20px !important;
  }

  .ptt-service-item b {
    margin:0 0 2px !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }

  .ptt-service-item small {
    display:block !important;
    font-size:12px !important;
    line-height:1.35 !important;
  }

  .ptt-service-note {
    display:none !important;
  }


  /* ==========================================================
     GENERAL MOBILE HOME TYPOGRAPHY / SPACING
  ========================================================== */
  .ptt-home h2 {
    font-size:clamp(29px,9vw,38px) !important;
    line-height:1.02 !important;
  }

  .ptt-section-head {
    gap:10px !important;
    margin-bottom:22px !important;
  }

  .ptt-home-airport,
  .ptt-home-about,
  .ptt-home-fleet,
  .ptt-home-destinations,
  .ptt-home-testimonials {
    padding-top:50px !important;
    padding-bottom:50px !important;
  }

  .ptt-airport-copy p,
  .ptt-about-copy p,
  .ptt-section-head p {
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .ptt-airport-visual {
    height:300px !important;
  }

  .ptt-about-image {
    height:340px !important;
  }

  .ptt-fleet-grid,
  .ptt-about-grid {
    gap:16px !important;
  }

  .ptt-destination-grid {
    gap:12px !important;
  }
}


/* ============================================================
   SMALL PHONES
============================================================ */
@media (max-width: 430px) {
  .ptt-site-header,
  .ptt-site-header.is-scrolled,
  .ptt-site-header .ptt-container {
   height: 56px !important;
    min-height: 56px !important;
    padding: 10px 15px;
  }

  .ptt-site-logo {
    width:150px !important;
  }

  .ptt-menu-toggle {
    flex-basis:36px !important;
    width:36px !important;
    height:36px !important;
    border-radius:9px !important;
    font-size:15px !important;
  }

  .ptt-hero-content {
    padding-bottom:34px !important;
  }

  .ptt-hero-content h1 {
    font-size:clamp(24px,7.6vw,31px) !important;
  }




}

@media (max-width: 375px) {
  .ptt-site-header .ptt-container,
  .ptt-home .ptt-container,
  .ptt-home-services .ptt-container,
  .ptt-home-airport .ptt-container,
  .ptt-home-about .ptt-container,
  .ptt-home-fleet .ptt-container,
  .ptt-home-destinations .ptt-container,
  .ptt-priority .ptt-container,
  .ptt-home-testimonials .ptt-container,
  .ptt-site-footer .ptt-container,
  .ptt-cj-container,
  .ptt-hero-slide .ptt-container {
    width:calc(100% - 24px) !important;
  }

  .ptt-site-logo {
    width:118px !important;
  }

  .ptt-hero-content h1 {
    font-size:27px !important;
  }

  .ptt-service-item {
    min-height:78px !important;
    padding:10px 8px !important;
  }
}


/* =========================================================
   1280px RESPONSIVE FIX
   Desktop / Small Laptop
========================================================= */

@media (min-width: 1200px) and (max-width: 1280px) {

    /* CONTAINER */
    .ptt-container {
        width: 94%;
        max-width: 1140px;
        margin-inline: auto;
    }

    /* HEADER */
    .ptt-site-header .ptt-container {
        gap: 18px;
    }

    .ptt-site-logo {
        width: 170px;
    }

    .ptt-site-nav > ul {
        gap: 14px;
    }

    .ptt-site-nav a {
        font-size: 12.5px;
    }

    .ptt-site-nav > ul > li > a {
        height: 75px;
    }

    .ptt-site-book {
        height: 46px;
        padding: 0 7px 0 18px;
        gap: 9px;
        font-size: 12px;
    }

    .ptt-site-book span {
        width: 32px;
        height: 32px;
    }


    /* HERO */
    .ptt-hero-slide {
        height: clamp(520px, calc(100vh - 80px), 620px);
    }

    .ptt-hero-content {
        width: min(590px, 51%);
        padding-bottom: 45px;
    }

    .ptt-hero-content h1 {
        font-size: clamp(62px, 5.5vw, 78px);
        line-height: .86;
        margin-bottom: 20px;
    }

    .ptt-hero-content > p {
        max-width: 520px;
        font-size: 17px;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .ptt-hero-benefits {
        gap: 18px;
        margin-bottom: 22px;
    }

    .ptt-hero-benefits span {
        gap: 6px;
        font-size: 13px;
    }

    .ptt-hero-benefits i {
        font-size: 17px;
    }

    .ptt-hero-actions {
        gap: 10px;
    }

    .ptt-hero-actions .ptt-pill {
        height: 46px;
        padding: 0 19px;
        font-size: 13px;
    }


    /* SERVICE STRIP */
    .ptt-home-services {
        min-height: 125px;
    }

    .ptt-service-grid {
        grid-template-columns: repeat(4, 1fr) 1.1fr;
    }

    .ptt-service-item {
        grid-template-columns: 38px 1fr;
        gap: 10px;
        padding: 16px 14px;
    }

    .ptt-service-item i {
        font-size: 26px;
    }

    .ptt-service-item b {
        font-size: 14px;
    }

    .ptt-service-item small {
        font-size: 12px;
    }

    .ptt-service-note {
        padding-left: 22px;
        font-size: 10px;
        letter-spacing: 2.5px;
    }


    /* AIRPORT */
    .ptt-airport-grid {
        grid-template-columns: 1.05fr .95fr;
        gap: 45px;
        min-height: 500px;
    }

    .ptt-airport-visual {
        height: 410px;
    }


    /* ABOUT */
    .ptt-about-grid {
        grid-template-columns: 34fr 42fr 24fr;
        gap: 30px;
    }

    .ptt-about-image {
        height: 440px;
    }

    .ptt-stat {
        padding: 13px;
    }


    /* FLEET */
    .ptt-fleet-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }

    .ptt-fleet-card {
        min-width: 0;
    }

    .ptt-fleet-card img {
        height: 245px;
    }

    .ptt-fleet-card h3 {
        font-size: 18px;
    }

    .ptt-fleet-card p {
        font-size: 13px;
    }


    /* DESTINATIONS */
    .ptt-destination-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
    }


    /* CURATED JOURNEYS */
    .ptt-cj-container {
        width: 94%;
        max-width: 1140px;
        grid-template-columns: 39% 61%;
        gap: 25px;
    }

    .ptt-cj-copy {
        max-width: 440px;
    }

    .ptt-cj-heading {
        font-size: clamp(44px, 4vw, 56px) !important;
    }

    .ptt-cj-description {
        font-size: 14px;
    }

    .ptt-cj-card-body h3 {
        font-size: 15px;
    }

    .ptt-cj-card-body p {
        font-size: 13px;
    }

    .ptt-cj-image-link {
        height: 205px;
    }


    /* PRIORITY */
    .ptt-priority-grid {
        gap: 14px;
    }

    .ptt-priority-card {
        padding: 16px;
        gap: 13px;
    }


    /* TESTIMONIALS */
    .ptt-testimonial-carousel {
        padding-inline: 50px;
    }

    .ptt-testimonial-slide {
        padding-inline: 8px;
    }


    /* FOOTER */
    .ptt-footer-grid {
        grid-template-columns: 1.2fr 1fr 1fr 1.1fr;
        gap: 35px;
    }
}

/* =========================================================
   PTT JODHPUR - OUR COACHES
   Namespace: pttcoach-
========================================================= */

.pttcoach-page {
    --pttcoach-red:#fb0001;
    --pttcoach-navy:#061c2c;
    --pttcoach-navy2:#0a2a40;
    --pttcoach-black:#090909;
    --pttcoach-white:#ffffff;
    --pttcoach-cream:#faf8f3;
    --pttcoach-soft:#f5f5f3;
    --pttcoach-line:#e7e5df;
    --pttcoach-text:#151515;

    width:100%;
    overflow:hidden;
    background:#fff;
    color:var(--pttcoach-text);
    font-family:"Outfit",sans-serif;
}

.pttcoach-page *,
.pttcoach-page *::before,
.pttcoach-page *::after {
    box-sizing:border-box;
}

.pttcoach-container {
    width:min(93%,1480px);
    margin-inline:auto;
}

.pttcoach-page h1,
.pttcoach-page h2,
.pttcoach-page h3,
.pttcoach-page p {
    margin-top:0;
}

/* =========================================================
   GLOBAL READABILITY
========================================================= */

.pttcoach-page p {
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-page small {
    color:#000;
    font-size:15px;
    line-height:1.4;
}

.pttcoach-page span {
    font-size:15px;
    line-height:1.4;
}

.pttcoach-eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 15px;
    color:var(--pttcoach-red);
    font-size:15px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.pttcoach-eyebrow i {
    font-size:15px;
}


/* =========================================================
   INTRO
========================================================= */

.pttcoach-intro {
    padding:85px 0 60px;
    background:#fff;
}

.pttcoach-intro-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    gap:80px;
    align-items:end;
}

.pttcoach-intro-copy {
    max-width:850px;
}

.pttcoach-intro-copy h2 {
    max-width:820px;
    margin:0 0 23px;
    color:var(--pttcoach-navy);
    font-size:clamp(48px,4.6vw,72px);
    font-weight:700;
    line-height:.98;
    letter-spacing:-2px;
}

.pttcoach-intro-copy h2 span {
    display:block;
    color:var(--pttcoach-red);
    font-size:inherit;
    line-height:inherit;
}

.pttcoach-intro-copy > p {
    max-width:780px;
    margin:0;
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-intro-points {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.pttcoach-intro-points span {
    min-height:46px;
    padding:0 17px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid var(--pttcoach-line);
    border-radius:999px;
    background:#fff;
    color:#000;
    font-size:15px;
    font-weight:600;
    line-height:1.4;
}

.pttcoach-intro-points i {
    color:var(--pttcoach-red);
    font-size:15px;
}

.pttcoach-intro-note {
    padding:28px;
    border-radius:22px;
    background:var(--pttcoach-navy);
    color:#fff;
}

.pttcoach-intro-note > span {
    display:block;
    margin-bottom:18px;
    color:#fff;
    font-size:15px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.6px;
}

.pttcoach-intro-note > strong {
    display:block;
    color:#fff;
    font-size:64px;
    line-height:.85;
    letter-spacing:-3px;
}

.pttcoach-intro-note strong small {
    display:block;
    margin-top:14px;
    color:#fff;
    font-size:15px;
    line-height:1.4;
    letter-spacing:1.5px;
}

.pttcoach-intro-note p {
    margin:25px 0 0;
    color:#fff;
    font-size:17px;
    line-height:1.4;
}


/* =========================================================
   COACHES
========================================================= */

.pttcoach-fleet {
    padding:25px 0 100px;
}

.pttcoach-bus {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:0;
    min-height:610px;
    margin-bottom:38px;
    overflow:hidden;
    border-radius:30px;
    background:var(--pttcoach-cream);
}

.pttcoach-bus:last-child {
    margin-bottom:0;
}

.pttcoach-bus-image {
    position:relative;
    min-height:610px;
    overflow:hidden;
}

.pttcoach-bus-image::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(
        180deg,
        transparent 65%,
        rgba(3,20,33,.20)
    );
}

.pttcoach-bus-image img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.2,.8,.2,1);
}

.pttcoach-bus:hover .pttcoach-bus-image img {
    transform:scale(1.025);
}

.pttcoach-capacity {
    position:absolute;
    left:25px;
    bottom:25px;
    z-index:3;
    min-width:185px;
    padding:13px 17px;
    display:flex;
    align-items:center;
    gap:12px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 12px 35px rgba(0,0,0,.13);
}

.pttcoach-capacity > i {
    color:var(--pttcoach-red);
    font-size:22px;
}

.pttcoach-capacity span {
    display:block;
    color:#000;
    font-size:15px;
    line-height:1.4;
}

.pttcoach-capacity strong {
    display:block;
    margin-top:1px;
    color:var(--pttcoach-navy);
    font-size:16px;
    line-height:1.3;
}

.pttcoach-bus-content {
    position:relative;
    padding:60px 55px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pttcoach-number {
    position:absolute;
    top:28px;
    right:35px;
    color:rgba(6,28,44,.07);
    font-size:82px !important;
    font-weight:800;
    line-height:1;
}

.pttcoach-label {
    position:relative;
    z-index:2;
    display:block;
    margin-bottom:12px;
    color:var(--pttcoach-red);
    font-size:15px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.6px;
}

.pttcoach-bus-content h2 {
    position:relative;
    z-index:2;
    margin:0 0 18px;
    color:var(--pttcoach-navy);
    font-size:clamp(42px,4vw,62px);
    font-weight:700;
    line-height:.95;
    letter-spacing:-1.8px;
}

.pttcoach-bus-content h2 span {
    display:block;
    color:var(--pttcoach-red);
    font-size:inherit;
    line-height:inherit;
}

.pttcoach-bus-content > p {
    position:relative;
    z-index:2;
    max-width:580px;
    margin:0 0 27px;
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-features {
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.pttcoach-features > div {
    min-height:86px;
    padding:13px;
    display:flex;
    align-items:center;
    gap:12px;
    border:1px solid #e6e2db;
    border-radius:13px;
    background:#fff;
}

.pttcoach-features > div > i {
    flex:0 0 42px;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:rgba(251,0,1,.07);
    color:var(--pttcoach-red);
    font-size:17px;
}

.pttcoach-features span {
    color:#000;
    font-size:15px;
    line-height:1.4;
}

.pttcoach-features b {
    display:block;
    margin-bottom:1px;
    color:var(--pttcoach-navy);
    font-size:15px;
    line-height:1.3;
}

.pttcoach-actions {
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:27px;
}

.pttcoach-btn {
    min-height:50px;
    padding:0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid var(--pttcoach-red);
    border-radius:999px;
    background:var(--pttcoach-red);
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
    transition:.3s ease;
}

.pttcoach-btn:hover {
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(251,0,1,.18);
}

.pttcoach-btn-light {
    border-color:#d7d5d0;
    background:#fff;
    color:var(--pttcoach-navy);
}

.pttcoach-btn-light:hover {
    color:var(--pttcoach-red);
    box-shadow:none;
}

.pttcoach-bus-reverse .pttcoach-bus-image {
    order:2;
}

.pttcoach-bus-reverse .pttcoach-bus-content {
    order:1;
}


/* =========================================================
   TRAVEL ACROSS RAJASTHAN
========================================================= */

.pttcoach-rajasthan {
    padding:90px 0;
    background:var(--pttcoach-navy);
}

.pttcoach-rajasthan-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) 440px;
    gap:70px;
    align-items:end;
    margin-bottom:42px;
}

.pttcoach-rajasthan .pttcoach-eyebrow {
    color:var(--pttcoach-red);
}

.pttcoach-rajasthan-head h2 {
    margin:0;
    color:#fff;
    font-size:clamp(44px,4vw,64px);
    line-height:.96;
    letter-spacing:-1.8px;
}

.pttcoach-rajasthan-head h2 span {
    display:block;
    color:var(--pttcoach-red);
    font-size:inherit;
    line-height:inherit;
}

.pttcoach-rajasthan-head > p {
    margin:0;
    color:#fff;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-route-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.pttcoach-route-grid > article {
    position:relative;
    min-height:250px;
    padding:24px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.055);
    transition:.3s ease;
}

.pttcoach-route-grid > article:hover {
    background:#fff;
    transform:translateY(-5px);
}

.pttcoach-route-grid > article > span {
    position:absolute;
    top:17px;
    right:17px;
    color:#fff;
    font-size:15px;
    font-weight:700;
    line-height:1.4;
}

.pttcoach-route-grid > article > i {
    width:44px;
    height:44px;
    margin-bottom:45px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--pttcoach-red);
    color:#fff;
    font-size:17px;
}

.pttcoach-route-grid h3 {
    margin:0 0 8px;
    color:#fff;
    font-size:20px;
    line-height:1.3;
}

.pttcoach-route-grid p {
    margin:0;
    color:#fff;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-route-grid > article:hover h3 {
    color:var(--pttcoach-navy);
}

.pttcoach-route-grid > article:hover p,
.pttcoach-route-grid > article:hover > span {
    color:#000;
}

.pttcoach-route-last {
    grid-column:1/-1;
    min-height:150px !important;
    display:flex;
    align-items:center;
    gap:22px;
}

.pttcoach-route-last > i {
    flex:0 0 54px;
    width:54px !important;
    height:54px !important;
    margin:0 !important;
}

.pttcoach-route-last > div {
    flex:1;
}

.pttcoach-route-last small {
    display:block;
    margin-bottom:4px;
    color:#fff;
    font-size:15px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.5px;
}

.pttcoach-route-last h3 {
    margin-bottom:4px;
}

.pttcoach-route-last > a {
    flex:0 0 50px;
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#fff;
    color:var(--pttcoach-navy);
    text-decoration:none;
    transition:.3s;
}

.pttcoach-route-last > a:hover {
    background:var(--pttcoach-red);
    color:#fff;
}


/* =========================================================
   WHY PTT
========================================================= */

.pttcoach-why {
    padding:90px 0;
    background:#fff;
}

.pttcoach-why-box {
    padding:60px;
    border-radius:28px;
    background:var(--pttcoach-cream);
}

.pttcoach-why-title {
    max-width:700px;
    margin-bottom:38px;
}

.pttcoach-why-title h2 {
    margin:0 0 18px;
    color:var(--pttcoach-navy);
    font-size:clamp(42px,4vw,60px);
    line-height:.98;
    letter-spacing:-1.5px;
}

.pttcoach-why-title h2 span {
    display:block;
    color:var(--pttcoach-red);
    font-size:inherit;
    line-height:inherit;
}

.pttcoach-why-title p {
    max-width:650px;
    margin:0;
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-why-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}

.pttcoach-why-grid article {
    min-height:225px;
    padding:25px;
    border-radius:17px;
    background:#fff;
    border:1px solid #ebe7df;
}

.pttcoach-why-grid i {
    width:44px;
    height:44px;
    margin-bottom:30px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:var(--pttcoach-navy);
    color:#fff;
    font-size:17px;
}

.pttcoach-why-grid h3 {
    margin:0 0 8px;
    color:var(--pttcoach-navy);
    font-size:19px;
    line-height:1.3;
}

.pttcoach-why-grid p {
    margin:0;
    color:#000;
    font-size:17px;
    line-height:1.4;
}


/* =========================================================
   CTA
========================================================= */

.pttcoach-cta {
    padding:0 0 90px;
    background:#fff;
}

.pttcoach-cta-box {
    min-height:265px;
    padding:45px 50px;
    display:grid;
    grid-template-columns:80px minmax(0,1fr) auto;
    gap:32px;
    align-items:center;
    border-radius:28px;
    background:var(--pttcoach-navy);
    color:#fff;
}

.pttcoach-cta-icon {
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:var(--pttcoach-red);
    color:#fff;
    font-size:28px;
}

.pttcoach-cta-copy > span {
    display:block;
    margin-bottom:8px;
    color:#fff;
    font-size:15px;
    font-weight:700;
    line-height:1.4;
    letter-spacing:1.6px;
}

.pttcoach-cta-copy h2 {
    margin:0 0 10px;
    color:#fff;
    font-size:clamp(34px,3.2vw,50px);
    line-height:.98;
    letter-spacing:-1px;
}

.pttcoach-cta-copy h2 em {
    color:var(--pttcoach-red);
    font-style:normal;
}

.pttcoach-cta-copy p {
    max-width:670px;
    margin:0;
    color:#fff;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-cta-actions {
    display:flex;
    align-items:center;
    gap:14px;
}

.pttcoach-cta-call {
    display:flex;
    align-items:center;
    gap:10px;
    color:#fff;
    text-decoration:none;
}

.pttcoach-cta-call > i {
    width:45px;
    height:45px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:rgba(255,255,255,.1);
}

.pttcoach-cta-call span {
    color:#fff;
    font-size:15px;
    line-height:1.4;
}

.pttcoach-cta-call strong {
    display:block;
    margin-top:2px;
    color:#fff;
    font-size:15px;
}

.pttcoach-cta-btn {
    min-height:50px;
    padding:0 21px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    border-radius:999px;
    background:var(--pttcoach-red);
    color:#fff;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
}


/* =========================================================
   FAQ
========================================================= */

.pttcoach-faq {
    padding:0 0 100px;
    background:#fff;
}

.pttcoach-faq-layout {
    display:grid;
    grid-template-columns:380px minmax(0,1fr);
    gap:80px;
    align-items:start;
}

.pttcoach-faq-intro {
    position:sticky;
    top:115px;
}

.pttcoach-faq-intro h2 {
    margin:0 0 18px;
    color:var(--pttcoach-navy);
    font-size:clamp(40px,3.5vw,54px);
    line-height:.98;
    letter-spacing:-1.4px;
}

.pttcoach-faq-intro h2 span {
    display:block;
    color:var(--pttcoach-red);
    font-size:inherit;
    line-height:inherit;
}

.pttcoach-faq-intro p {
    margin:0 0 23px;
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-faq-intro > a {
    min-height:46px;
    padding:0 18px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border:1px solid var(--pttcoach-line);
    border-radius:999px;
    color:#000;
    text-decoration:none;
    font-size:15px;
    font-weight:600;
}

.pttcoach-faq-intro > a i {
    color:#1fa855;
    font-size:17px;
}

.pttcoach-faq-list {
    border-top:1px solid var(--pttcoach-line);
}

.pttcoach-faq-item {
    border-bottom:1px solid var(--pttcoach-line);
}

.pttcoach-faq-item button {
    width:100%;
    min-height:82px;
    padding:18px 5px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    border:0;
    background:transparent;
    color:var(--pttcoach-navy);
    text-align:left;
    cursor:pointer;
    font-family:"Outfit",sans-serif;
    font-size:18px;
    font-weight:600;
}

.pttcoach-faq-item button span {
    font-size:18px;
    line-height:1.4;
}

.pttcoach-faq-item button i {
    flex:0 0 36px;
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--pttcoach-soft);
    color:var(--pttcoach-navy);
    font-size:13px;
    transition:.3s;
}

.pttcoach-faq-answer {
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
}

.pttcoach-faq-answer p {
    max-width:800px;
    margin:0;
    padding:0 55px 24px 5px;
    color:#000;
    font-size:17px;
    line-height:1.4;
}

.pttcoach-faq-item.active .pttcoach-faq-answer {
    max-height:260px;
}

.pttcoach-faq-item.active button i {
    background:var(--pttcoach-red);
    color:#fff;
    transform:rotate(45deg);
}


/* =========================================================
   1280px
========================================================= */

@media (min-width:1200px) and (max-width:1280px) {

    .pttcoach-container {
        width:94%;
        max-width:1140px;
    }

    .pttcoach-intro-grid {
        gap:50px;
    }

    .pttcoach-bus-content {
        padding:48px 40px;
    }

    .pttcoach-bus,
    .pttcoach-bus-image {
        min-height:600px;
    }

    .pttcoach-route-grid > article {
        padding:20px;
    }

    .pttcoach-why-box {
        padding:50px 40px;
    }

    .pttcoach-cta-box {
        padding:40px;
    }

    .pttcoach-faq-layout {
        gap:55px;
    }
}


/* =========================================================
   <= 1100px
========================================================= */

@media (max-width:1100px) {

    .pttcoach-intro-grid {
        grid-template-columns:minmax(0,1fr) 290px;
        gap:40px;
    }

    .pttcoach-bus-content {
        padding:45px 32px;
    }

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

    .pttcoach-route-grid > article {
        min-height:240px;
    }

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

    .pttcoach-cta-box {
        grid-template-columns:65px minmax(0,1fr);
    }

    .pttcoach-cta-actions {
        grid-column:2;
    }
}


/* =========================================================
   <= 850px
========================================================= */

@media (max-width:850px) {

    .pttcoach-container {
        width:calc(100% - 32px);
    }

    .pttcoach-intro {
        padding:60px 0 40px;
    }

    .pttcoach-intro-grid {
        grid-template-columns:1fr;
    }

    .pttcoach-intro-note {
        max-width:440px;
    }

    .pttcoach-bus {
        grid-template-columns:1fr;
        min-height:0;
        border-radius:22px;
    }

    .pttcoach-bus-image,
    .pttcoach-bus-reverse .pttcoach-bus-image {
        order:1;
        min-height:0;
        height:470px;
    }

    .pttcoach-bus-content,
    .pttcoach-bus-reverse .pttcoach-bus-content {
        order:2;
        padding:42px 30px;
    }

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

    .pttcoach-rajasthan-head {
        grid-template-columns:1fr;
        gap:20px;
    }

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

    .pttcoach-why-box {
        padding:40px 30px;
    }

    .pttcoach-cta-box {
        grid-template-columns:1fr;
    }

    .pttcoach-cta-icon {
        width:60px;
        height:60px;
    }

    .pttcoach-cta-actions {
        grid-column:auto;
    }

    .pttcoach-faq-layout {
        grid-template-columns:1fr;
        gap:40px;
    }

    .pttcoach-faq-intro {
        position:relative;
        top:auto;
    }
}


/* =========================================================
   MOBILE <= 600px
========================================================= */

@media (max-width:600px) {

    .pttcoach-container {
        width:calc(100% - 28px);
    }

    .pttcoach-intro {
        padding:50px 0 30px;
    }

    .pttcoach-intro-copy h2 {
        font-size:40px;
        letter-spacing:-1px;
    }

    /*
       IMPORTANT:
       Paragraphs stay 17px.
       Small/span stay minimum 15px even on mobile.
    */

    .pttcoach-intro-copy > p,
    .pttcoach-intro-note p,
    .pttcoach-bus-content > p,
    .pttcoach-rajasthan-head > p,
    .pttcoach-route-grid p,
    .pttcoach-why-title p,
    .pttcoach-why-grid p,
    .pttcoach-cta-copy p,
    .pttcoach-faq-intro p,
    .pttcoach-faq-answer p {
        font-size:17px;
        line-height:1.4;
    }

    .pttcoach-intro-points {
        gap:7px;
    }

    .pttcoach-intro-points span {
        min-height:42px;
        padding:0 13px;
        font-size:15px;
    }

    .pttcoach-intro-note {
        padding:22px;
        border-radius:18px;
    }

    .pttcoach-intro-note > strong {
        font-size:52px;
    }

    .pttcoach-intro-note > span,
    .pttcoach-intro-note small {
        font-size:15px;
    }


    /* COACHES */

    .pttcoach-fleet {
        padding:20px 0 65px;
    }

    .pttcoach-bus {
        margin-bottom:22px;
        border-radius:18px;
    }

    .pttcoach-bus-image,
    .pttcoach-bus-reverse .pttcoach-bus-image {
        height:300px;
    }

    .pttcoach-capacity {
        left:14px;
        bottom:14px;
        min-width:170px;
        padding:10px 12px;
    }

    .pttcoach-capacity span,
    .pttcoach-capacity strong {
        font-size:15px;
    }

    .pttcoach-bus-content,
    .pttcoach-bus-reverse .pttcoach-bus-content {
        padding:30px 18px 25px;
    }

    .pttcoach-number {
        top:20px;
        right:18px;
        font-size:60px !important;
    }

    .pttcoach-label {
        font-size:15px;
        padding-right:55px;
    }

    .pttcoach-bus-content h2 {
        font-size:40px;
    }

    .pttcoach-features {
        grid-template-columns:1fr;
        gap:8px;
    }

    .pttcoach-features > div {
        min-height:78px;
        padding:11px;
        gap:10px;
    }

    .pttcoach-features > div > i {
        flex-basis:38px;
        width:38px;
        height:38px;
        font-size:15px;
    }

    .pttcoach-features b,
    .pttcoach-features span {
        font-size:15px;
        line-height:1.4;
    }

    .pttcoach-actions {
        margin-top:20px;
        gap:7px;
    }

    .pttcoach-btn {
        min-height:46px;
        padding:0 15px;
        font-size:15px;
    }


    /* RAJASTHAN */

    .pttcoach-rajasthan {
        padding:60px 0;
    }

    .pttcoach-rajasthan-head {
        margin-bottom:28px;
    }

    .pttcoach-rajasthan-head h2 {
        font-size:40px;
    }

    .pttcoach-route-grid {
        grid-template-columns:1fr;
        gap:9px;
    }

    .pttcoach-route-grid > article {
        min-height:210px;
        padding:20px;
        border-radius:14px;
    }

    .pttcoach-route-grid > article > i {
        width:42px;
        height:42px;
        margin-bottom:28px;
    }

    .pttcoach-route-grid > article > span {
        font-size:15px;
    }

    .pttcoach-route-grid h3 {
        font-size:20px;
    }

    .pttcoach-route-grid p {
        font-size:17px;
        line-height:1.4;
    }

    .pttcoach-route-last {
        min-height:145px !important;
        padding:20px !important;
        gap:12px !important;
    }

    .pttcoach-route-last > i {
        display:none !important;
    }

    .pttcoach-route-last small {
        font-size:15px;
    }


    /* WHY */

    .pttcoach-why {
        padding:60px 0;
    }

    .pttcoach-why-box {
        padding:28px 17px;
        border-radius:20px;
    }

    .pttcoach-why-title h2 {
        font-size:39px;
    }

    .pttcoach-why-grid {
        grid-template-columns:1fr;
        gap:9px;
    }

    .pttcoach-why-grid article {
        min-height:200px;
        padding:20px;
    }

    .pttcoach-why-grid i {
        margin-bottom:22px;
    }

    .pttcoach-why-grid h3 {
        font-size:19px;
    }

    .pttcoach-why-grid p {
        font-size:17px;
        line-height:1.4;
    }


    /* CTA */

    .pttcoach-cta {
        padding-bottom:60px;
    }

    .pttcoach-cta-box {
        min-height:0;
        padding:28px 20px;
        gap:20px;
        border-radius:20px;
    }

    .pttcoach-cta-copy > span {
        font-size:15px;
    }

    .pttcoach-cta-copy h2 {
        font-size:36px;
    }

    .pttcoach-cta-copy p {
        font-size:17px;
        line-height:1.4;
    }

    .pttcoach-cta-actions {
        align-items:flex-start;
        flex-direction:column;
    }

    .pttcoach-cta-call span,
    .pttcoach-cta-call strong,
    .pttcoach-cta-btn {
        font-size:15px;
    }


    /* FAQ */

    .pttcoach-faq {
        padding-bottom:70px;
    }

    .pttcoach-faq-layout {
        gap:28px;
    }

    .pttcoach-faq-intro h2 {
        font-size:39px;
    }

    .pttcoach-faq-intro > a {
        font-size:15px;
    }

    .pttcoach-faq-item button,
    .pttcoach-faq-item button span {
        font-size:17px;
        line-height:1.4;
    }

    .pttcoach-faq-item button {
        min-height:76px;
        padding:15px 2px;
    }

    .pttcoach-faq-answer p {
        padding:0 42px 20px 2px;
        font-size:17px;
        line-height:1.4;
    }
}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:390px) {

    .pttcoach-container {
        width:calc(100% - 24px);
    }

    .pttcoach-intro-copy h2,
    .pttcoach-bus-content h2,
    .pttcoach-rajasthan-head h2,
    .pttcoach-why-title h2,
    .pttcoach-faq-intro h2 {
        font-size:36px;
    }

    .pttcoach-route-grid,
    .pttcoach-why-grid,
    .pttcoach-features {
        grid-template-columns:1fr;
    }

    .pttcoach-route-last {
        grid-column:auto;
    }

    /*
       Never shrink body/supporting typography
       below requested sizes.
    */
    .pttcoach-page p {
        font-size:17px;
        line-height:1.4;
    }

    .pttcoach-page small,
    .pttcoach-page span {
        font-size:15px;
    }
}

/* =========================================================
   PTT QUICK CONTACT BAR + FLOATING WHATSAPP
   Namespace: pttquick-
========================================================= */


/* =========================================================
   TOP QUICK CONTACT BAR
   DEFAULT: HIDDEN ON DESKTOP
========================================================= */

.pttquick-mobile-bar {
    display:none;
}


/* =========================================================
   TABLET + MOBILE ONLY
========================================================= */

@media (max-width:1100px) {

    .pttquick-mobile-bar {
        position:relative;
        z-index:10001;
        display:block;
        width:100%;
        background:#061c2c;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .pttquick-mobile-inner {
        width:100%;
        height:44px;
        margin:0 auto;

        display:grid;
        grid-template-columns:repeat(5,1fr);

        align-items:center;
    }

    .pttquick-item {
        position:relative;

        width:100%;
        height:44px;

        display:flex;
        align-items:center;
        justify-content:center;

        padding:0;
        margin:0;

        color:#fff !important;
        background:transparent;

        text-decoration:none !important;

        font-size:16px;
        line-height:1;

        transition:
            background .25s ease,
            color .25s ease;
    }

    .pttquick-item i {
        display:block;

        margin:0;
        padding:0;

        color:#fff;
        font-size:16px;
        line-height:1;
    }

    .pttquick-item:not(:last-child)::after {
        content:"";

        position:absolute;
        top:50%;
        right:0;

        width:1px;
        height:20px;

        background:rgba(255,255,255,.14);

        transform:translateY(-50%);
    }

    .pttquick-item:hover,
    .pttquick-item:active {
        background:#fb0001;
        color:#fff !important;
    }
}


/* =========================================================
   MOBILE TOP BAR
========================================================= */

@media (max-width:600px) {

    .pttquick-mobile-inner {
        height:40px;
    }

    .pttquick-item {
        height:40px;
        font-size:15px;
    }

    .pttquick-item i {
        font-size:15px;
    }

    .pttquick-item:not(:last-child)::after {
        height:18px;
    }
}


/* =========================================================
   WHATSAPP FLOATING CTA
   DESKTOP
========================================================= */

.pttquick-whatsapp {
    position:fixed;

    left:24px;
    bottom:24px;

    z-index:9999;

    width:auto;
    min-width:175px;
    height:58px;

    padding:6px 17px 6px 6px;
    margin:0;

    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;

    border:0;
    border-radius:999px;

    background:#25d366;

    color:#fff !important;
    text-decoration:none !important;

    box-shadow:
        0 10px 30px rgba(0,0,0,.18),
        0 5px 15px rgba(37,211,102,.20);

    isolation:isolate;

    transition:
        transform .3s ease,
        box-shadow .3s ease;
}


/* =========================================================
   CONTROLLED PULSE
   IMPORTANT: FIXES HUGE GREEN OVAL
========================================================= */

.pttquick-wa-pulse {
    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:100%;

    border-radius:999px;

    background:#25d366;

    opacity:.35;

    z-index:-1;

    pointer-events:none;

    transform:scale(1);

    animation:pttquickWaPulse 2s ease-out infinite;
}


@keyframes pttquickWaPulse {

    0% {
        transform:scale(1);
        opacity:.35;
    }

    55% {
        transform:scale(1.06);
        opacity:.16;
    }

    100% {
        transform:scale(1.10);
        opacity:0;
    }
}


/* =========================================================
   WHATSAPP ICON
========================================================= */

.pttquick-wa-icon {
    position:relative;
    z-index:2;

    flex:0 0 46px;

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0;
    margin:0;

    border-radius:50%;

    background:#fff;
    color:#25d366;

    box-shadow:0 4px 13px rgba(0,0,0,.12);
}

.pttquick-wa-icon i {
    display:block;

    margin:0;
    padding:0;

    color:#25d366;

    font-size:26px;
    line-height:1;
}


/* =========================================================
   WHATSAPP TEXT
========================================================= */

.pttquick-wa-text {
    position:relative;
    z-index:2;

    display:flex;
    flex-direction:column;
    justify-content:center;

    margin:0;
    padding:0;

    color:#fff;

    white-space:nowrap;
}

.pttquick-wa-text small {
    display:block;

    margin:0 0 1px;
    padding:0;

    color:#fff !important;

    font-family:"Outfit",sans-serif;
    font-size:11px !important;
    font-weight:400;

    line-height:1.15;

    opacity:.9;
}

.pttquick-wa-text strong {
    display:block;

    margin:0;
    padding:0;

    color:#fff !important;

    font-family:"Outfit",sans-serif;
    font-size:14px;
    font-weight:700;

    line-height:1.2;
}


/* =========================================================
   SUBTLE ICON ATTENTION
========================================================= */

.pttquick-wa-icon i {
    animation:pttquickWaIcon 4s ease-in-out infinite;
}

@keyframes pttquickWaIcon {

    0%,
    84%,
    100% {
        transform:rotate(0deg);
    }

    88% {
        transform:rotate(-9deg);
    }

    92% {
        transform:rotate(9deg);
    }

    96% {
        transform:rotate(-5deg);
    }
}


/* =========================================================
   DESKTOP HOVER
========================================================= */

@media (hover:hover) {

    .pttquick-whatsapp:hover {
        transform:translateY(-3px);

        color:#fff !important;

        box-shadow:
            0 15px 35px rgba(0,0,0,.20),
            0 7px 18px rgba(37,211,102,.24);
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px) {

    .pttquick-whatsapp {
        left:18px;
        bottom:18px;

        min-width:165px;
        height:56px;

        padding:5px 15px 5px 5px;
    }

    .pttquick-wa-icon {
        flex-basis:46px;

        width:46px;
        height:46px;
    }
}


/* =========================================================
   MOBILE
   CIRCULAR WHATSAPP BUTTON
========================================================= */

@media (max-width:600px) {

    .pttquick-whatsapp {
        left:15px;
        bottom:18px;

        width:54px !important;
        min-width:54px !important;
        max-width:54px !important;

        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;

        padding:0 !important;
        margin:0 !important;

        display:flex;
        align-items:center;
        justify-content:center;

        gap:0;

        border-radius:50% !important;

        background:#25d366;

        overflow:visible;
    }


    /* Hide desktop text */

    .pttquick-wa-text {
        display:none !important;
    }


    /* Icon */

    .pttquick-wa-icon {
        position:relative;

        flex:0 0 44px !important;

        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;

        height:44px !important;
        min-height:44px !important;
        max-height:44px !important;

        margin:0 !important;
        padding:0 !important;

        border-radius:50% !important;

        background:#fff;

        display:flex;
        align-items:center;
        justify-content:center;
    }

    .pttquick-wa-icon i {
        margin:0 !important;
        padding:0 !important;

        color:#25d366;

        font-size:25px;
        line-height:1;
    }


    /* CRITICAL FIX:
       pulse gets explicit circular dimensions */

    .pttquick-wa-pulse {
        position:absolute !important;

        left:50% !important;
        top:50% !important;
        right:auto !important;
        bottom:auto !important;

        width:54px !important;
        min-width:54px !important;
        max-width:54px !important;

        height:54px !important;
        min-height:54px !important;
        max-height:54px !important;

        border-radius:50% !important;

        background:#25d366 !important;

        transform:translate(-50%,-50%) scale(1);

        animation:pttquickMobilePulse 1.8s ease-out infinite;
    }


    @keyframes pttquickMobilePulse {

        0% {
            transform:translate(-50%,-50%) scale(1);
            opacity:.40;
        }

        60% {
            transform:translate(-50%,-50%) scale(1.20);
            opacity:.14;
        }

        100% {
            transform:translate(-50%,-50%) scale(1.32);
            opacity:0;
        }
    }
}


/* =========================================================
   430px
========================================================= */

@media (max-width:430px) {

    .pttquick-whatsapp {
        left:13px;
        bottom:15px;

        width:52px !important;
        min-width:52px !important;
        max-width:52px !important;

        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;
    }

    .pttquick-wa-icon {
        flex-basis:42px !important;

        width:42px !important;
        min-width:42px !important;
        max-width:42px !important;

        height:42px !important;
        min-height:42px !important;
        max-height:42px !important;
    }

    .pttquick-wa-icon i {
        font-size:24px;
    }

    .pttquick-wa-pulse {
        width:52px !important;
        min-width:52px !important;
        max-width:52px !important;

        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;
    }
}


/* =========================================================
   390px
========================================================= */

@media (max-width:390px) {

    .pttquick-item,
    .pttquick-item i {
        font-size:15px;
    }

    .pttquick-whatsapp {
        right:12px;
        bottom:14px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

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

    .pttquick-wa-pulse,
    .pttquick-wa-icon i {
        animation:none !important;
    }
}
/* =========================================================
   PTT FINAL TYPOGRAPHY + COLOR OVERRIDES — 06 OCT 2026
   ========================================================= */
:root{
  --ptt-orange:#fb0001;
  --ptt-navy:#000;
  --ptt-navy2:#000;
  --ptt-ink:#000;
  --ptt-cream:#fff;
}

.ptt-home h2{font-size:clamp(46px,4.5vw,68px);line-height:1.02;}
.ptt-home h3{	line-height:1.18}
.ptt-home p{font-size:17px;line-height:1.75}
.ptt-eyebrow{color:#fb0001}
.ptt-site-nav a{color:#000}
.ptt-site-nav>ul>li:hover>a,.ptt-site-nav>ul>li:focus-within>a{color:#fb0001}
.ptt-site-dropdown a:hover{background:rgba(251,0,1,.07);color:#fb0001}
.ptt-site-book,.ptt-pill{background:#fb0001;border-color:#fb0001}
.ptt-site-book:hover,.ptt-pill:hover{box-shadow:0 12px 28px rgba(251,0,1,.24)}
.ptt-orange{color:#fb0001}
.ptt-carousel-arrow:hover{background:#fb0001;border-color:#fb0001}
.ptt-carousel-dot.active{background:#fb0001}

@media(max-width:767px){
  .ptt-home h2{font-size:clamp(36px,9vw,50px)}
  .ptt-home h3{font-size:22px}
  .ptt-home p{font-size:14px!important;line-height:1.7}
  
    .ptt-hero-actions .ptt-pill {
    height:35px !important;
    padding:0 12px !important;
    font-size:14px !important;
  }
  
  
}


/* =========================================================
   PTT GOOGLE REVIEWS - ELEGANT TRUST SECTION
   UNIQUE NAMESPACE: pttReviewProX
========================================================= */


.pttReviewProX{
    position:relative;
    width:100%;
    padding:clamp(70px, 7vw, 110px) 0;
    background:#fff;
    overflow:hidden;
}

.pttReviewProX::before{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border-radius:50%;
    right:-140px;
    top:-150px;
    background:rgba(251,0,1,.035);
    pointer-events:none;
}

.pttReviewProX__shell{
    width:min(1380px, 92%);
    margin:0 auto;
    position:relative;
    z-index:2;
}

.pttReviewProX__grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:clamp(45px, 6vw, 90px);
    align-items:center;
}

/* LEFT CONTENT */

.pttReviewProX__intro{
    max-width:620px;
}

.pttReviewProX__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:16px;

    color:#fb0001;
    font-family:'Outfit',sans-serif;
    font-size:14px;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.pttReviewProX__eyebrow i{
    font-size:17px;
}

.pttReviewProX__intro h2{
    margin:0 0 20px;

    color:#000;
    font-family:'Outfit',sans-serif;
    font-size:clamp(38px, 4.4vw, 62px);
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.035em;
}

.pttReviewProX__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttReviewProX__intro p{
    max-width:590px;
    margin:0;

    color:#555;
    font-family:'Outfit',sans-serif;
    font-size:18px;
    font-weight:400;
    line-height:1.75;
}

/* RIGHT PANEL */

.pttReviewProX__panel{
    background:#fff;
    border:1px solid rgba(0,0,0,.09);
    border-radius:28px;
    padding:clamp(26px, 3vw, 38px);

    box-shadow:
        0 20px 60px rgba(0,0,0,.07);

    position:relative;
}

.pttReviewProX__panel::before{
    content:"";
    position:absolute;
    left:30px;
    top:0;
    width:72px;
    height:3px;
    background:#fb0001;
    border-radius:0 0 10px 10px;
}

/* RATING */

.pttReviewProX__rating{
    display:flex;
    align-items:center;
    gap:18px;
}

.pttReviewProX__google{
    width:64px;
    height:64px;
    flex:0 0 64px;

    display:grid;
    place-items:center;

    border-radius:18px;

    background:#000;
    color:#fff;

    font-size:28px;
}

.pttReviewProX__ratingContent{
    min-width:0;
}

.pttReviewProX__ratingContent strong{
    display:block;
    margin-bottom:6px;

    color:#000;
    font-family:'Outfit',sans-serif;
    font-size:20px;
    font-weight:700;
}

.pttReviewProX__stars{
    display:flex;
    align-items:center;
    gap:4px;
    margin-bottom:7px;
}

.pttReviewProX__stars i{
    color:#fb0001;
    font-size:15px;
}

.pttReviewProX__ratingContent span{
    display:block;
    color:#6a6a6a;
    font-family:'Outfit',sans-serif;
    font-size:14px;
    line-height:1.5;
}

/* DIVIDER */

.pttReviewProX__divider{
    height:1px;
    margin:28px 0 8px;
    background:rgba(0,0,0,.08);
}

/* ACTIONS */

.pttReviewProX__actions{
    display:flex;
    flex-direction:column;
}

.pttReviewProX__link{
    position:relative;

    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:15px;

    padding:20px 4px;

    color:#000 !important;
    text-decoration:none !important;

    border-bottom:1px solid rgba(0,0,0,.07);

    transition:
        transform .25s ease,
        color .25s ease;
}

.pttReviewProX__link:last-child{
    border-bottom:0;
}

.pttReviewProX__link:hover{
    color:#fb0001 !important;
    transform:translateX(4px);
}

.pttReviewProX__linkIcon{
    width:46px;
    height:46px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#f8f8f8;
    color:#000;

    font-size:17px;

    transition:.25s ease;
}

.pttReviewProX__link:hover .pttReviewProX__linkIcon{
    background:#fb0001;
    color:#fff;
}

.pttReviewProX__link strong{
    display:block;
    margin-bottom:3px;

    font-family:'Outfit',sans-serif;
    font-size:16px;
    font-weight:700;
}

.pttReviewProX__link small{
    display:block;

    color:#777;
    font-family:'Outfit',sans-serif;
    font-size:13.5px;
    line-height:1.45;
}

.pttReviewProX__arrow{
    color:#000;
    font-size:14px;
    transition:.25s ease;
}

.pttReviewProX__link:hover .pttReviewProX__arrow{
    color:#fb0001;
    transform:translateX(4px);
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px){

    .pttReviewProX__grid{
        grid-template-columns:1fr;
        gap:38px;
    }

    .pttReviewProX__intro{
        max-width:760px;
    }

    .pttReviewProX__intro h2{
        font-size:clamp(36px, 6vw, 54px);
    }

    .pttReviewProX__panel{
        max-width:760px;
    }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width:600px){

    .pttReviewProX{
        padding:62px 0;
    }

    .pttReviewProX__shell{
        width:min(92%, 520px);
    }

    .pttReviewProX__grid{
        gap:30px;
    }

    .pttReviewProX__eyebrow{
        font-size:12px;
        margin-bottom:13px;
    }

    .pttReviewProX__intro h2{
        font-size:36px;
        line-height:1.06;
        margin-bottom:15px;
    }

    .pttReviewProX__intro p{
        font-size:16.5px;
        line-height:1.7;
    }

    .pttReviewProX__panel{
        border-radius:22px;
        padding:25px 20px 12px;
    }

    .pttReviewProX__rating{
        gap:14px;
    }

    .pttReviewProX__google{
        width:54px;
        height:54px;
        flex-basis:54px;
        font-size:23px;
        border-radius:15px;
    }

    .pttReviewProX__ratingContent strong{
        font-size:18px;
    }

    .pttReviewProX__divider{
        margin:23px 0 6px;
    }

    .pttReviewProX__link{
        grid-template-columns:auto 1fr auto;
        gap:12px;
        padding:17px 0;
    }

    .pttReviewProX__linkIcon{
        width:42px;
        height:42px;
        font-size:15px;
    }

    .pttReviewProX__link strong{
        font-size:15px;
    }

    .pttReviewProX__link small{
        font-size:12.5px;
    }
}

/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:380px){

    .pttReviewProX__intro h2{
        font-size:32px;
    }

    .pttReviewProX__intro p{
        font-size:16px;
    }

    .pttReviewProX__panel{
        padding-left:17px;
        padding-right:17px;
    }

    .pttReviewProX__ratingContent span{
        font-size:13px;
    }

    .pttReviewProX__arrow{
        display:none;
    }

    .pttReviewProX__link{
        grid-template-columns:auto 1fr;
    }
}

/* =========================================================
   FOOTER INSTAGRAM BUTTON
========================================================= */

.ptt-newfooter-instagram{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    margin-top:18px;
    padding:11px 18px;

    border-radius:999px;

    color:#fff !important;
    text-decoration:none !important;

    font-size:14px;
    font-weight:700;
    line-height:1;

    background:linear-gradient(
        45deg,
        #FEDA75 0%,
        #FA7E1E 25%,
        #D62976 50%,
        #962FBF 75%,
        #4F5BD5 100%
    );

    box-shadow:0 8px 22px rgba(214,41,118,.24);

    transition:
        transform .28s ease,
        box-shadow .28s ease,
        filter .28s ease;
}

.ptt-newfooter-instagram i{
    font-size:18px;
    color:#fff;
}

.ptt-newfooter-instagram:hover{
    color:#fff !important;
    transform:translateY(-2px);

    box-shadow:0 12px 28px rgba(214,41,118,.34);

    filter:brightness(1.06);
}

/* TABLET */
@media (max-width:991px){

    .ptt-newfooter-instagram{
        margin-top:16px;
        padding:10px 16px;
        font-size:13.5px;
    }

}

/* MOBILE */
@media (max-width:600px){

    .ptt-newfooter-instagram{
        margin-top:14px;
        padding:10px 15px;
        font-size:13px;
    }

    .ptt-newfooter-instagram i{
        font-size:17px;
    }

}


/* =========================================================
   PTT AIRPORT + RAILWAY TRANSFER SECTION
   UNIQUE NAMESPACE: pttTransferPrime
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttTransferPrime{
    position:relative;
    width:100%;
    padding:clamp(72px,7vw,115px) 0;
    background:#fff;
    overflow:hidden;
}

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

.pttTransferPrime__shell{
    width:min(1420px,92%);
    margin:0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.pttTransferPrime__head{
    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:clamp(40px,6vw,90px);
    align-items:end;
    margin-bottom:42px;
}

.pttTransferPrime__heading{
    min-width:0;
}

.pttTransferPrime__kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-bottom:14px;

    color:#fb0001;

    font-family:'Outfit',sans-serif;
    font-size:13px;
    font-weight:700;
    line-height:1.2;

    text-transform:uppercase;
    letter-spacing:.13em;
}

.pttTransferPrime__kicker i{
    font-size:14px;
}


.pttTransferPrime__heading h2{
    margin:0;

    color:#000;

    font-family:'Outfit',sans-serif;
    font-size:clamp(42px,4.7vw,70px);
    font-weight:700;
    line-height:.98;
    letter-spacing:-.04em;
}

.pttTransferPrime__heading h2 span{
    display:block;
    color:#fb0001;
}


/* INTRO */

.pttTransferPrime__intro{
    max-width:620px;
    justify-self:end;
}

.pttTransferPrime__intro p{
    margin:0 0 20px;

    color:#4d4d4d;

    font-family:'Outfit',sans-serif;
    font-size:18px;
    font-weight:400;
    line-height:1.7;
}

.pttTransferPrime__trust{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:9px 18px;
}

.pttTransferPrime__trust span{
    display:inline-flex;
    align-items:center;
    gap:7px;

    color:#000;

    font-family:'Outfit',sans-serif;
    font-size:13px;
    font-weight:600;
}

.pttTransferPrime__trust i{
    color:#fb0001;
}


/* =========================================================
   GRID
========================================================= */

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


/* =========================================================
   CARD
========================================================= */

.pttTransferPrime__card{
    min-width:0;

    background:#fff;

    border:1px solid rgba(0,0,0,.09);
    border-radius:28px;

    overflow:hidden;

    box-shadow:
        0 18px 55px rgba(0,0,0,.08);

    transition:
        transform .32s ease,
        box-shadow .32s ease;
}

.pttTransferPrime__card:hover{
    transform:translateY(-5px);

    box-shadow:
        0 26px 65px rgba(0,0,0,.12);
}


/* =========================================================
   IMAGE
========================================================= */

.pttTransferPrime__media{
    position:relative;
height: clamp(570px,31vw,450px);
    overflow:hidden;
    background:#000;
}

.pttTransferPrime__media img{
    width:100%;
    height:100%;

    display:block;
    object-fit:cover;

    transition:transform .55s ease;
}

.pttTransferPrime__card:hover .pttTransferPrime__media img{
    transform:scale(1.035);
}

.pttTransferPrime__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 25%,
            rgba(0,0,0,.18) 70%,
            rgba(0,0,0,.45) 100%
        );

    pointer-events:none;
}


/* IMAGE BADGE */

.pttTransferPrime__type{
    position:absolute;
    left:22px;
    bottom:20px;

    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:10px 14px;

    border-radius:50px;

    background:rgba(0,0,0,.72);
    color:#fff;

    border:1px solid rgba(255,255,255,.18);

    backdrop-filter:blur(8px);

    font-family:'Outfit',sans-serif;
    font-size:13px;
    font-weight:600;
}

.pttTransferPrime__type i{
    color:#fb0001;
}


/* =========================================================
   CONTENT
========================================================= */

.pttTransferPrime__body{
    padding:30px;
}

.pttTransferPrime__titleRow{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.pttTransferPrime__titleRow > div{
    min-width:0;
}

.pttTransferPrime__titleRow > div > span{
    display:block;
    margin-bottom:7px;

    color:#fb0001;

    font-family:'Outfit',sans-serif;
    font-size:12px;
    font-weight:700;

    text-transform:uppercase;
    letter-spacing:.09em;
}

.pttTransferPrime__titleRow h3{
    margin:0;

    color:#000;

    font-family:'Outfit',sans-serif;
    font-size:clamp(27px,2.5vw,38px);
    font-weight:700;
    line-height:1.08;
    letter-spacing:-.025em;
}


/* ROUND ICON */

.pttTransferPrime__roundIcon{
    width:52px;
    height:52px;

    flex:0 0 52px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;
    background:#fb0001;

    font-size:18px;
}


.pttTransferPrime__body > p{
margin: 8px 0 0;

    color:#616161;

    font-family:'Outfit',sans-serif;
    font-size:16.5px;
    line-height:1.7;
}


/* =========================================================
   FEATURES
========================================================= */

.pttTransferPrime__features{
    display:flex;
    flex-wrap:wrap;
    gap:9px;

    margin-top:22px;
}

.pttTransferPrime__features span{
    display:inline-flex;
    align-items:center;
    gap:7px;

    padding:9px 12px;

    border-radius:50px;

    background:#f7f7f7;
    color:#000;

    border:1px solid rgba(0,0,0,.07);

    font-family:'Outfit',sans-serif;
    font-size:18px;
    font-weight:600;
}

.pttTransferPrime__features i{
    color:#fb0001;
    font-size:11px;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttTransferPrime__actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;

    margin-top:25px;
}

.pttTransferPrime__btn{
    min-height:48px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;

    padding:0 19px;

    border-radius:50px;

    text-decoration:none !important;

    font-family:'Outfit',sans-serif;
    font-size:18px;
    font-weight:700;

    transition:
        transform .25s ease,
        background .25s ease,
        color .25s ease,
        box-shadow .25s ease;
}


/* PRIMARY */

.pttTransferPrime__btn--primary{
    background:#fb0001;
    color:#fff !important;

    box-shadow:
        0 10px 24px rgba(251,0,1,.18);
}

.pttTransferPrime__btn--primary:hover{
    transform:translateY(-2px);

    background:#000;

    color:#fff !important;

    box-shadow:
        0 12px 26px rgba(0,0,0,.18);
}


/* WHATSAPP */

.pttTransferPrime__btn--whatsapp{
    background:#fff;

    color:#000 !important;

    border:1px solid rgba(0,0,0,.15);
}

.pttTransferPrime__btn--whatsapp i{
    font-size:17px;
}

.pttTransferPrime__btn--whatsapp:hover{
    transform:translateY(-2px);

    background:#000;

    color:#fff !important;

    border-color:#000;
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width:1200px){

    .pttTransferPrime__head{
        gap:45px;
    }

    .pttTransferPrime__body{
        padding:26px;
    }

    .pttTransferPrime__heading h2{
        font-size:clamp(40px,5vw,60px);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width:991px){

    .pttTransferPrime{
        padding:75px 0;
    }

    .pttTransferPrime__head{
        grid-template-columns:1fr;
        gap:20px;

        margin-bottom:32px;
    }

    .pttTransferPrime__intro{
        justify-self:start;
        max-width:720px;
    }

    .pttTransferPrime__grid{
        gap:18px;
    }

    .pttTransferPrime__media{
        height:330px;
    }

    .pttTransferPrime__body{
        padding:24px;
    }

    .pttTransferPrime__titleRow h3{
        font-size:28px;
    }

}


/* =========================================================
   SMALL TABLET / LARGE MOBILE
========================================================= */

@media (max-width:767px){

    .pttTransferPrime{
        padding:62px 0;
    }

    .pttTransferPrime__shell{
        width:min(92%,600px);
    }

    .pttTransferPrime__grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .pttTransferPrime__heading h2{
        font-size:clamp(38px,9vw,52px);
    }

    .pttTransferPrime__intro p{
        font-size:16.5px;
    }

    .pttTransferPrime__media{
        height:360px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width:520px){

    .pttTransferPrime{
        padding:55px 0;
    }

    .pttTransferPrime__head{
        margin-bottom:27px;
    }

    .pttTransferPrime__kicker{
        font-size:11px;
    }

    .pttTransferPrime__heading h2{
        font-size:37px;
        line-height:1.02;
    }

    .pttTransferPrime__intro p{
        font-size:16px;
        line-height:1.65;
    }

    .pttTransferPrime__trust{
        gap:8px 14px;
    }

    .pttTransferPrime__trust span{
        font-size:12px;
    }

    .pttTransferPrime__card{
        border-radius:22px;
    }

    .pttTransferPrime__media{
        height:300px;
    }

    .pttTransferPrime__type{
        left:15px;
        bottom:15px;

        padding:8px 11px;

        font-size:11.5px;
    }

    .pttTransferPrime__body{
        padding:21px 18px 20px;
    }

    .pttTransferPrime__titleRow{
        gap:12px;
    }

    .pttTransferPrime__titleRow h3{
        font-size:26px;
    }

    .pttTransferPrime__roundIcon{
        width:45px;
        height:45px;
        flex-basis:45px;

        font-size:15px;
    }

    .pttTransferPrime__body > p{
        margin-top:14px;

        font-size:15.5px;
        line-height:1.65;
    }

    .pttTransferPrime__features{
        margin-top:18px;
        gap:7px;
    }

    .pttTransferPrime__features span{
        padding:8px 10px;
        font-size:11.5px;
    }

    .pttTransferPrime__actions{
        display:grid;
        grid-template-columns:1fr;
        gap:9px;

        margin-top:20px;
    }

    .pttTransferPrime__btn{
        width:100%;
        min-height:48px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width:380px){

    .pttTransferPrime__heading h2{
        font-size:33px;
    }

    .pttTransferPrime__media{
        height:270px;
    }

    .pttTransferPrime__titleRow h3{
        font-size:23px;
    }

    .pttTransferPrime__roundIcon{
        width:41px;
        height:41px;
        flex-basis:41px;
    }

}

/* ==========================================
   PTT WELCOME BANNER V2
   Independent, premium styling
========================================== */

.ptt-welcome-banner-v2,
.ptt-welcome-banner-v2 * {
  box-sizing: border-box;
}

.ptt-welcome-banner-v2 {
  width: 100%;
  margin: 0;
  padding: 21px 18px;
  background: #fffdfa;
  border-top: 1px solid #f3ece6;
  border-bottom: 1px solid #f3ece6;
}

.ptt-welcome-banner-v2__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
}

.ptt-welcome-banner-v2__icon {
  display: block;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  margin: 0;
  object-fit: contain;
  opacity: 0.7;
}

.ptt-welcome-banner-v2__title {
  color: #a77d75;
  font-family: "Outfit", sans-serif;
  font-size: clamp(17px, 1.45vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.45px;
  text-align: center;
  white-space: nowrap;
}

.ptt-welcome-banner-v2__line {
  display: block;
  width: clamp(20px, 5vw, 68px);
  height: 1px;
  flex: 0 1 68px;
  background: #e9d9d2;
}

/* Tablet and mobile */
@media (max-width: 600px) {
  .ptt-welcome-banner-v2 {
    padding: 17px 12px;
  }

  .ptt-welcome-banner-v2__content {
    gap: 10px;
  }

  .ptt-welcome-banner-v2__icon {
    flex-basis: 25px;
    width: 25px;
    height: 25px;
  }

  .ptt-welcome-banner-v2__title {
    font-size: 16px;
    letter-spacing: 0.15px;
  }

  .ptt-welcome-banner-v2__line {
    width: 18px;
    flex-basis: 18px;
  }
}

@media (max-width: 360px) {
  .ptt-welcome-banner-v2__content {
    gap: 7px;
  }

  .ptt-welcome-banner-v2__title {
    font-size: 14px;
  }

  .ptt-welcome-banner-v2__icon {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }

  .ptt-welcome-banner-v2__line {
    width: 12px;
    flex-basis: 12px;
  }
}


.ptt-padharo-exact,
.ptt-padharo-exact * {
  box-sizing: border-box;
}

.ptt-padharo-exact {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 200px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #f8efe0;
  display: grid;
  place-items: center;
}

/* Background image */
.ptt-padharo-exact__image {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: cover;
  object-position: center;
  border: 0;
}

/* Centered content */
.ptt-padharo-exact__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1000px;
  margin: auto;
  padding: 30px 24px 25px;
  text-align: center;
  color: #63351f;
}

.ptt-padharo-exact__eyebrow {
  display: block;
  margin: 0 0 7px;
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 3px;
  color: #a45e28;
}

.ptt-padharo-exact__content h2 {
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(27px, 3.2vw, 46px);
  font-weight: 700;
  line-height: 1.12;
  color: #63351f;
}

.ptt-padharo-exact__content p {
  max-width: 620px;
  margin: 10px auto 0;
  font-family: "Poppins", sans-serif;
  font-size: clamp(12px, 1.05vw, 15px);
  font-weight: 400;
  line-height: 1.6;
  color: #674a37;
}

/* Bottom decorative line */
.ptt-padharo-exact__ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 145px;
  margin: 12px auto 0;
  color: #b87537;
}

.ptt-padharo-exact__ornament span {
  display: block;
  flex: 1;
  height: 1px;
  background: #b87537;
}

.ptt-padharo-exact__ornament i {
  font-size: 13px;
  font-style: normal;
  line-height: 1;
}

/* Large desktop */
@media (min-width: 1200px) {
  .ptt-padharo-exact {
    min-height: 240px;
  }

  .ptt-padharo-exact__content {
    padding: 32px 30px;
  }
}

/* Tablet */
@media (max-width: 768px) {
  .ptt-padharo-exact {
    min-height: 210px;
  }

  .ptt-padharo-exact__content {
    padding: 24px 20px;
  }

  .ptt-padharo-exact__eyebrow {
    font-size: 9px;
    letter-spacing: 2px;
  }

  .ptt-padharo-exact__content h2 {
    font-size: clamp(27px, 5vw, 36px);
  }

  .ptt-padharo-exact__content p {
    max-width: 500px;
    font-size: 12px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .ptt-padharo-exact {
    min-height: 220px;
  }

  .ptt-padharo-exact__image {
    object-position: center;
  }

  .ptt-padharo-exact__content {
    padding: 24px 16px;
  }

  .ptt-padharo-exact__eyebrow {
    margin-bottom: 6px;
    font-size: 8px;
    letter-spacing: 1.6px;
  }

  .ptt-padharo-exact__content h2 {
    font-size: clamp(25px, 7vw, 32px);
    line-height: 1.15;
  }

  .ptt-padharo-exact__content p {
    max-width: 340px;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.55;
  }

  .ptt-padharo-exact__ornament {
    width: 115px;
    margin-top: 9px;
    gap: 8px;
  }

  .ptt-padharo-exact__ornament i {
    font-size: 11px;
  }
}

/* Extra-small mobile */
@media (max-width: 360px) {
  .ptt-padharo-exact {
    min-height: 230px;
  }

  .ptt-padharo-exact__content {
    padding: 22px 12px;
  }

  .ptt-padharo-exact__content h2 {
    font-size: 25px;
  }

  .ptt-padharo-exact__content p {
    font-size: 10px;
  }
}



/* =====================================================
   Patel Tours & TRAVELS
   PREMIUM DARK FLEET — BOLD & ELEGANT EDITION
   Scoped CSS | Responsive | Existing theme compatible
===================================================== */

.ptt-home-fleet.ptt-fleet-dark {
  --ptt-dark-bg: #0b0e12;
  --ptt-dark-card: #141920;
  --ptt-dark-card-hover: #1a212a;
  --ptt-dark-text: #ffffff;
  --ptt-dark-muted: #b8c1cc;
  --ptt-dark-border: rgba(255, 255, 255, 0.10);
  --ptt-dark-accent: var(--ptt-orange, #f47721);

  /* Official WhatsApp brand green */
  --ptt-wa-green: #25D366;
  --ptt-wa-hover: #128C7E;
  --ptt-wa-text: #062d17;

  position: relative;
  isolation: isolate;
  overflow: hidden;

  color: var(--ptt-dark-text);

  background:
    radial-gradient(
      ellipse at 4% 0%,
      rgba(244, 119, 33, 0.10),
      transparent 32%
    ),
    radial-gradient(
      ellipse at 100% 100%,
      rgba(37, 211, 102, 0.035),
      transparent 32%
    ),
    linear-gradient(145deg, #0b0e12 0%, #10151b 55%, #0b0e12 100%);
}

.ptt-home-fleet.ptt-fleet-dark .ptt-container {
  position: relative;
  z-index: 1;
}

/* =========================
   SECTION HEADER
========================= */

.ptt-home-fleet.ptt-fleet-dark .ptt-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 46px;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 17px;
  color: var(--ptt-dark-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  line-height: 1.4;
  text-transform: uppercase;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-eyebrow::before {
  content: "";
  width: 30px;
  height: 2px;
  border-radius: 10px;
  background: currentColor;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-section-head h2 {
	font-size: clamp(45px,5vw,70px);
  margin: 0 0 16px;
  color: #fff;
  font-family: inherit;
  font-weight: 850;
  line-height: 1.1;
  letter-spacing: -1.7px;
  text-wrap: balance;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-orange {
  color: var(--ptt-dark-accent);
}

.ptt-home-fleet.ptt-fleet-dark .ptt-section-head p {
  max-width: 620px;
  margin: 0;
  color: #fff;
  font-size: 17px;
  font-weight: 450;
  line-height: 1.85;
}

/* View all vehicles button */

.ptt-home-fleet.ptt-fleet-dark .ptt-section-head > a.ptt-pill {
  flex-shrink: 0;
  padding: 13px 21px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 8px;
  color: #fff;
  background: rgba(255, 255, 255, 0.035);
  font-size: 16px;
  font-weight: 750;
  transition: all 0.25s ease;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-section-head > a.ptt-pill:hover {
  border-color: var(--ptt-dark-accent);
  background: rgba(244, 119, 33, 0.12);
  transform: translateY(-3px);
}

/* =========================
   RESPONSIVE GRID
========================= */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 26px;
}

/* =========================
   PREMIUM VEHICLE CARD
========================= */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;

  border: 1px solid var(--ptt-dark-border);
  border-radius: 16px;

  background: linear-gradient(
    150deg,
    #1a2028 0%,
    #141920 58%,
    #11161c 100%
  );

  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);

  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-card:hover {
  transform: translateY(-7px);
  border-color: rgba(244, 119, 33, 0.52);

  background: linear-gradient(
    150deg,
    #202833 0%,
    #171d25 100%
  );

  box-shadow:
    0 24px 55px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(244, 119, 33, 0.045);
}

/* =========================
   VEHICLE IMAGE
========================= */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-image {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #202730;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;

  transition:
    transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.4s ease;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 45% 0 0;
  pointer-events: none;

  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(5, 8, 12, 0.32) 100%
  );
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-card:hover .ptt-dark-image img {
  transform: scale(1.055);
  filter: saturate(1.06);
}

/* Premium image category label */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-tag {
  position: absolute;
  z-index: 2;
  top: 16px;
  left: 16px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: calc(100% - 32px);

  padding: 8px 12px;
  overflow: hidden;

  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 5px;

  color: #fff;
  background: rgba(12, 16, 21, 0.82);
  backdrop-filter: blur(10px);

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.35px;
  line-height: 1.4;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

/* =========================
   CARD CONTENT
========================= */

.ptt-home-fleet.ptt-fleet-dark
.ptt-dark-card .ptt-fleet-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;

  padding: 25px 23px 23px;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-card h3 {
  margin: 0 0 11px;

  color: #fff;
  font-family: inherit;
  font-size: clamp(21px, 1.8vw, 25px);
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -0.65px;
  overflow-wrap: anywhere;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-card p {
  margin: 0 0 20px;

  color: #fff;
font-family: var(--ptt-font-main);
    font-weight: 400;
font-size: 17px;
    line-height: 1.75;
}

/* Seating and AC information */

.ptt-home-fleet.ptt-fleet-dark
.ptt-dark-card .ptt-specs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 11px 17px;

  margin: 0 0 22px;
  padding: 15px 0;

  border-top: 1px solid rgba(255, 255, 255, 0.09);
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.ptt-home-fleet.ptt-fleet-dark
.ptt-dark-card .ptt-specs span {
  display: inline-flex;
  align-items: center;
  gap: 8px;

  color: #e1e6ec;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.5;
}

.ptt-home-fleet.ptt-fleet-dark
.ptt-dark-card .ptt-specs i {
  color: var(--ptt-dark-accent);
  font-size: 14px;
}

/* =========================
   CARD ACTION BUTTONS
========================= */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr);
  align-items: stretch;
  gap: 10px;
  margin-top: auto;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn {
  display: inline-flex;
  min-width: 0;
  min-height: 47px;

  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 12px 11px;
  border: 1px solid transparent;
  border-radius: 7px;

  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;

  transition:
    color 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease,
    transform 0.22s ease;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn i {
  flex-shrink: 0;
  font-size: 14px;
}

/* View Details / Book Now */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.035);
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-outline:hover {
  color: #fff;
  border-color: var(--ptt-dark-accent);
  background: rgba(244, 119, 33, 0.13);
  transform: translateY(-2px);
}

/* Official WhatsApp green button */

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-wa {
  color: var(--ptt-wa-text);
  border-color: #25D366;
  background: #25D366;

  box-shadow: 0 4px 13px rgba(37, 211, 102, 0.10);
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-wa i {
  color: #075e35;
  font-size: 16px;
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-wa:hover {
  color: #fff;
  border-color: #128C7E;
  background: #128C7E;

  box-shadow: 0 6px 18px rgba(18, 140, 126, 0.24);
  transform: translateY(-2px);
}

.ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn-wa:hover i {
  color: #fff;
}

/* Keyboard accessibility */

.ptt-home-fleet.ptt-fleet-dark a:focus-visible {
  outline: 3px solid var(--ptt-dark-accent);
  outline-offset: 4px;
}

/* =========================
   TABLET
========================= */

@media (max-width: 1024px) {
  .ptt-home-fleet.ptt-fleet-dark {
    padding: 72px 0;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-section-head h2 {
    font-size: clamp(34px, 4.5vw, 45px);
  }

  .ptt-home-fleet.ptt-fleet-dark
  .ptt-dark-card .ptt-fleet-card-body {
    padding: 22px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-card h3 {
    font-size: 23px;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {
  .ptt-home-fleet.ptt-fleet-dark {
    padding: 58px 0;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 23px;
    margin-bottom: 30px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 2.4px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-section-head h2 {
    margin-bottom: 13px;
    font-size: clamp(32px, 8vw, 40px);
    line-height: 1.14;
    letter-spacing: -1px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-section-head p {
    font-size: 14px;
    line-height: 1.8;
  }

  .ptt-home-fleet.ptt-fleet-dark
  .ptt-section-head > a.ptt-pill {
    padding: 12px 17px;
    font-size: 12px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-image {
    aspect-ratio: 4 / 3;
  }

  .ptt-home-fleet.ptt-fleet-dark
  .ptt-dark-card .ptt-fleet-card-body {
    padding: 22px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-card h3 {
    font-size: 24px;
    letter-spacing: -0.45px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-card p {
    font-size: 14px;
    line-height: 1.75;
  }

  .ptt-home-fleet.ptt-fleet-dark
  .ptt-dark-card .ptt-specs {
    gap: 12px 17px;
    padding: 15px 0;
  }

  .ptt-home-fleet.ptt-fleet-dark
  .ptt-dark-card .ptt-specs span {
    font-size: 12px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn {
    min-height: 48px;
    padding: 12px 9px;
    font-size: 12px;
  }
}

/* Extra-small screens */

@media (max-width: 360px) {
  .ptt-home-fleet.ptt-fleet-dark
  .ptt-dark-card .ptt-fleet-card-body {
    padding: 18px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-card h3 {
    font-size: 22px;
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .ptt-home-fleet.ptt-fleet-dark .ptt-dark-btn {
    min-height: 46px;
    font-size: 13px;
  }
}

/* Reduced motion accessibility */

@media (prefers-reduced-motion: reduce) {
  .ptt-home-fleet.ptt-fleet-dark *,
  .ptt-home-fleet.ptt-fleet-dark *::before,
  .ptt-home-fleet.ptt-fleet-dark *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}



/* =====================================================
   Patel Tours & TRAVELS
   WEDDING & EVENTS — LIGHT LUXURY EDITION
   Ivory • Warm White • Elegant Typography • Responsive
===================================================== */

.ptt-wedding-transport {
  --wedding-bg: #faf9f6;
  --wedding-card: #ffffff;
  --wedding-text: #20252b;
  --wedding-muted: #707781;
  --wedding-border: #eae6df;
  --wedding-orange: var(--ptt-orange, #e97827);
  --wedding-soft: #f6f0e8;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(70px, 8vw, 110px) 0;

  color: var(--wedding-text);

  background:
    radial-gradient(
      ellipse at 0% 0%,
      rgba(225, 169, 108, 0.11),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      #fcfbf8 0%,
      #f8f7f3 55%,
      #fdfcf9 100%
    );
}

.ptt-wedding-transport .ptt-container {
  position: relative;
  z-index: 1;
}

/* =========================
   SECTION HEADER
========================= */

.ptt-wedding-transport .ptt-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 44px;
}

.ptt-wedding-transport .ptt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 17px;

  color: var(--wedding-orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2.8px;
  line-height: 1.5;
  text-transform: uppercase;
}

.ptt-wedding-transport .ptt-eyebrow::before {
  content: "";
  width: 30px;
  height: 2px;
  border-radius: 10px;
  background: currentColor;
}

.ptt-wedding-transport .ptt-section-head h2 {
  max-width: 800px;
  margin: 0 0 16px;

  color: #20252b;
  font-family: inherit;
  font-size: clamp(35px, 4.2vw, 53px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -1.5px;
  text-wrap: balance;
}

.ptt-wedding-transport .ptt-orange {
  color: var(--wedding-orange);
}

.ptt-wedding-transport .ptt-section-head p {
  max-width: 650px;
  margin: 0;

  color: #000;
font-family: var(--ptt-font-main);
    font-weight: 400;
font-size: 17px;
    line-height: 1.75;
}

/* Main CTA */

.ptt-wedding-transport .ptt-wedding-main-btn {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 11px;

  padding: 14px 22px;
  border: 1px solid var(--wedding-orange);
  border-radius: 6px;

  color: #fff;
  background: var(--wedding-orange);

  font-family: inherit;
  font-size: 16px;
  font-weight: 750;
  letter-spacing: 0.15px;
  text-decoration: none;

  box-shadow: 0 5px 14px rgba(211, 111, 40, 0.10);
  transition: all 0.25s ease;
}

.ptt-wedding-transport .ptt-wedding-main-btn:hover {
  color: #fff;
  background: #c9611e;
  border-color: #c9611e;
  box-shadow: 0 9px 23px rgba(211, 111, 40, 0.20);
  transform: translateY(-2px);
}

/* =========================
   RESPONSIVE CARD GRID
========================= */

.ptt-wedding-transport .ptt-wedding-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 23px;
}

/* =========================
   LIGHT LUXURY CARD
========================= */

.ptt-wedding-transport .ptt-wedding-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;

  border: 1px solid var(--wedding-border);
  border-radius: 10px;

  background: var(--wedding-card);

  box-shadow:
    0 4px 16px rgba(34, 30, 23, 0.025),
    0 14px 34px rgba(34, 30, 23, 0.035);

  transition:
    transform 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.ptt-wedding-transport .ptt-wedding-card:hover {
  transform: translateY(-6px);
  border-color: #e4c6a8;

  box-shadow:
    0 8px 20px rgba(34, 30, 23, 0.045),
    0 22px 45px rgba(34, 30, 23, 0.075);
}

/* =========================
   CARD IMAGE
========================= */

.ptt-wedding-transport .ptt-wedding-image {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #f0eee9;
}

.ptt-wedding-transport .ptt-wedding-image img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition:
    transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.35s ease;
}

.ptt-wedding-transport .ptt-wedding-image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 40% 0 0;
  pointer-events: none;

  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(19, 25, 31, 0.23) 100%
  );
}

.ptt-wedding-transport
.ptt-wedding-card:hover
.ptt-wedding-image img {
  transform: scale(1.045);
  filter: saturate(1.04);
}

/* Image label */

.ptt-wedding-transport .ptt-wedding-tag {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;

  display: inline-block;
  max-width: calc(100% - 28px);
  padding: 8px 11px;
  overflow: hidden;

  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 4px;

  color: #34312d;
  background: rgba(255, 253, 249, 0.94);
  backdrop-filter: blur(8px);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.1px;
  line-height: 1.5;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

/* =========================
   CARD CONTENT
========================= */

.ptt-wedding-transport .ptt-wedding-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;

  padding: 23px 21px 24px;
}

.ptt-wedding-transport .ptt-wedding-number {
  display: inline-block;
  margin-bottom: 12px;

  color: var(--wedding-orange);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
}

.ptt-wedding-transport .ptt-wedding-body h3 {
  margin: 0 0 12px;

  color: #252a30;
  font-family: inherit;
  font-size: clamp(19px, 1.45vw, 23px);
  font-weight: 800;
  line-height: 1.32;
  letter-spacing: -0.45px;
  overflow-wrap: anywhere;
}

.ptt-wedding-transport .ptt-wedding-body p {
  margin: 0 0 24px;

  color: #000;
font-family: var(--ptt-font-main);
    font-weight: 400;
font-size: 17px;
    line-height: 1.75;
}

/* Elegant underlined CTA */

.ptt-wedding-transport .ptt-wedding-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-top: auto;
  padding: 0 0 6px;

  border-bottom: 1px solid #e6b18a;

  color: #000;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.7;
  text-decoration: none;

  transition:
    color 0.25s ease,
    gap 0.25s ease,
    border-color 0.25s ease;
}

.ptt-wedding-transport .ptt-wedding-link i {
  color: var(--wedding-orange);
  font-size: 12px;
  transition: transform 0.25s ease;
}

.ptt-wedding-transport .ptt-wedding-link:hover {
  gap: 15px;
  color: var(--wedding-orange);
  border-color: var(--wedding-orange);
}

.ptt-wedding-transport .ptt-wedding-link:hover i {
  transform: translateX(3px);
}

/* Accessibility */

.ptt-wedding-transport a:focus-visible {
  outline: 3px solid var(--wedding-orange);
  outline-offset: 4px;
}

/* =========================
   TABLET
========================= */

@media (max-width: 1100px) {
  .ptt-wedding-transport .ptt-wedding-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .ptt-wedding-transport .ptt-wedding-body h3 {
    font-size: 23px;
  }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {
  .ptt-wedding-transport {
    padding: 58px 0;
  }

  .ptt-wedding-transport .ptt-section-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 22px;
    margin-bottom: 30px;
  }

  .ptt-wedding-transport .ptt-eyebrow {
    margin-bottom: 13px;
    font-size: 10px;
    letter-spacing: 2.3px;
  }

  .ptt-wedding-transport .ptt-section-head h2 {
    font-size: clamp(31px, 8vw, 39px);
    line-height: 1.16;
    letter-spacing: -0.9px;
  }

  .ptt-wedding-transport .ptt-section-head p {
    font-size: 14px;
    line-height: 1.85;
  }

  .ptt-wedding-transport .ptt-wedding-main-btn {
    padding: 13px 18px;
    font-size: 12px;
  }

  .ptt-wedding-transport .ptt-wedding-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .ptt-wedding-transport .ptt-wedding-image {
    aspect-ratio: 4 / 3;
  }

  .ptt-wedding-transport .ptt-wedding-body {
    padding: 22px;
  }

  .ptt-wedding-transport .ptt-wedding-body h3 {
    font-size: 23px;
  }

  .ptt-wedding-transport .ptt-wedding-body p {
    font-size: 14px;
    line-height: 1.85;
  }
}

/* Small phones */

@media (max-width: 360px) {
  .ptt-wedding-transport .ptt-wedding-body {
    padding: 18px;
  }

  .ptt-wedding-transport .ptt-wedding-body h3 {
    font-size: 21px;
  }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
  .ptt-wedding-transport *,
  .ptt-wedding-transport *::before,
  .ptt-wedding-transport *::after {
    animation: none !important;
    transition: none !important;
  }
}



.ptttaxi-fleet {
  --fleet-bg: #111718;
  --fleet-card: #1b2223;
  --fleet-card-hover: #222b2c;
  --fleet-line: rgba(255,255,255,.12);
  --fleet-text: #f7f8f8;
  --fleet-muted: #b9c3c5;
  --fleet-red: #ff1018;
  --fleet-navy: #142e40;
  --fleet-wa: #25d366;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(54px, 6vw, 88px) 0;
  color: var(--fleet-text);
  background:
    radial-gradient(ellipse at 12% 0%, rgba(255,16,24,.09), transparent 32%),
    radial-gradient(ellipse at 100% 75%, rgba(74,111,115,.10), transparent 30%),
    var(--fleet-bg);
}

.ptttaxi-fleet,
.ptttaxi-fleet * {
  box-sizing: border-box;
}

.ptttaxi-fleet .ptttaxi-container {
  width: min(1440px, calc(100% - 48px));
  margin-inline: auto;
}

.ptttaxi-fleet .ptttaxi-fleet-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}

.ptttaxi-fleet .ptttaxi-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: #ff555b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.ptttaxi-fleet .ptttaxi-eyebrow::before {
  content: "";
  width: 27px;
  height: 2px;
  background: var(--fleet-red);
}

.ptttaxi-fleet .ptttaxi-fleet-heading h2 {
  margin: 0;
  color: var(--fleet-text);
font-size: clamp(46px,4.5vw,68px);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1.12;
}

.ptttaxi-fleet .ptttaxi-fleet-heading h2 span {
  color: var(--fleet-red);
}

.ptttaxi-fleet .ptttaxi-fleet-head > p {
  max-width: 460px;
  margin: 0 0 4px;
  color: var(--fleet-muted);
  font-size: 15px;
  line-height: 1.75;
}

.ptttaxi-fleet .ptttaxi-fleet-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 22px;
}

.ptttaxi-fleet .ptttaxi-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--fleet-line);
  border-radius: 17px;
  background: linear-gradient(155deg, #222929 0%, var(--fleet-card) 70%);
  box-shadow: 0 12px 30px rgba(0,0,0,.17);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease;
}

.ptttaxi-fleet .ptttaxi-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,255,255,.25);
  background: var(--fleet-card-hover);
  box-shadow: 0 20px 42px rgba(0,0,0,.28);
}

.ptttaxi-fleet .ptttaxi-card-link {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}

.ptttaxi-fleet .ptttaxi-card-image {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #293031;
}

.ptttaxi-fleet .ptttaxi-card-image::after {
  position: absolute;
  z-index: 1;
  inset: 45% 0 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.34));
}

.ptttaxi-fleet .ptttaxi-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.ptttaxi-fleet .ptttaxi-card:hover .ptttaxi-card-image img {
  transform: scale(1.045);
}

.ptttaxi-fleet .ptttaxi-card-tag {
  position: absolute;
  z-index: 2;
  left: 14px;
  bottom: 13px;
  max-width: calc(100% - 28px);
  padding: 7px 10px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(14,20,21,.78);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .075em;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  backdrop-filter: blur(8px);
}

.ptttaxi-fleet .ptttaxi-card-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: 18px 18px 14px;
}

.ptttaxi-fleet .ptttaxi-card-body h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(18px, 1.15vw, 19px);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.ptttaxi-fleet .ptttaxi-card-body p {
  margin: 0 0 18px;
  color: var(--fleet-muted);
  font-size: 13.5px;
  line-height: 1.6;
}

.ptttaxi-fleet .ptttaxi-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.ptttaxi-fleet .ptttaxi-card-meta {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 9px;
  color: #e1e7e7;
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}

.ptttaxi-fleet .ptttaxi-card-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
}

.ptttaxi-fleet .ptttaxi-card-meta i {
  color: #fff;
  font-size: 13px;
}

.ptttaxi-fleet .ptttaxi-card-meta b {
  width: 3px;
  height: 3px;
  flex: 0 0 3px;
  border-radius: 50%;
  background: #657173;
}

.ptttaxi-fleet .ptttaxi-card-arrow {
  display: inline-flex;
  flex: 0 0 35px;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  background: var(--fleet-red);
  color: #fff;
  font-size: 13px;
  transition: transform .25s ease, background .25s ease;
}

.ptttaxi-fleet .ptttaxi-card:hover .ptttaxi-card-arrow {
  transform: translateX(3px);
  background: #e60008;
}

/* Action buttons */
.ptttaxi-fleet .ptttaxi-card-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 9px;
  padding: 0 14px 14px;
  margin-top: auto;
}

.ptttaxi-fleet .ptttaxi-card-book,
.ptttaxi-fleet .ptttaxi-card-whatsapp {
  display: inline-flex;
  min-width: 0;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  white-space: normal;
  transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.ptttaxi-fleet .ptttaxi-card-book {
  background: var(--fleet-navy);
  border-color: rgba(255,255,255,.06);
}

.ptttaxi-fleet .ptttaxi-card-book:hover {
  transform: translateY(-2px);
  background: var(--fleet-red);
  border-color: var(--fleet-red);
  box-shadow: 0 7px 16px rgba(255,16,24,.2);
}

.ptttaxi-fleet .ptttaxi-card-whatsapp {
  background: var(--fleet-wa);
  border-color: var(--fleet-wa);
}

.ptttaxi-fleet .ptttaxi-card-whatsapp:hover {
  transform: translateY(-2px);
  background: #128c7e;
  border-color: #128c7e;
  box-shadow: 0 7px 16px rgba(37,211,102,.18);
}

.ptttaxi-fleet .ptttaxi-card-actions i {
  flex: 0 0 auto;
  font-size: 14px;
}

.ptttaxi-fleet .ptttaxi-card-book:focus-visible,
.ptttaxi-fleet .ptttaxi-card-whatsapp:focus-visible,
.ptttaxi-fleet .ptttaxi-card-link:focus-visible {
  outline: 3px solid #ffb347;
  outline-offset: 3px;
}

/* Tablet: 2 cards per row */
@media (max-width: 1050px) {
  .ptttaxi-fleet .ptttaxi-fleet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .ptttaxi-fleet .ptttaxi-fleet-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .ptttaxi-fleet .ptttaxi-fleet-head > p {
    max-width: 620px;
  }
}

/* Mobile */
@media (max-width: 560px) {
  .ptttaxi-fleet {
    padding: 44px 0;
  }

  .ptttaxi-fleet .ptttaxi-container {
    width: min(100% - 28px, 440px);
  }

  .ptttaxi-fleet .ptttaxi-fleet-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 17px;
  }

  .ptttaxi-fleet .ptttaxi-fleet-head {
    margin-bottom: 24px;
  }

  .ptttaxi-fleet .ptttaxi-fleet-head > p {
    font-size: 14px;
    line-height: 1.65;
  }

  .ptttaxi-fleet .ptttaxi-card-image {
    aspect-ratio: 16 / 10;
  }

  .ptttaxi-fleet .ptttaxi-card-body {
    padding: 16px 16px 13px;
  }

  .ptttaxi-fleet .ptttaxi-card-body h3 {
    font-size: 18px;
  }

  .ptttaxi-fleet .ptttaxi-card-body p {
    font-size: 13.5px;
  }

  .ptttaxi-fleet .ptttaxi-card-actions {
    gap: 8px;
    padding: 0 12px 12px;
  }

  .ptttaxi-fleet .ptttaxi-card-book,
  .ptttaxi-fleet .ptttaxi-card-whatsapp {
    min-height: 43px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ptttaxi-fleet *,
  .ptttaxi-fleet *::before,
  .ptttaxi-fleet *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}


/* Scroll-controlled floating contact widget */

.ptt-contact-float {
    position: fixed;
    left: 22px;
    bottom: 24px;
    z-index: 9999;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;

    width: 190px;
    max-width: calc(100vw - 28px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px);

    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease;
}

/* Visible only after scrolling */
.ptt-contact-float.ptt-contact-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* Hide near footer */
.ptt-contact-float.ptt-contact-footer-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(14px);
}

/* Need Help header */
.ptt-contact-float .ptt-help-float {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 9px 12px;

    background: #172122;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 14px;
    color: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.22);
}

.ptt-contact-float .ptt-help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    color: #172e40;
}

.ptt-contact-float .ptt-help-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.ptt-contact-float .ptt-help-copy small {
    color: #c4cecf;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}

.ptt-contact-float .ptt-help-copy strong {
    color: #fff;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

/* Shared button layout */
.ptt-contact-float .ptt-call-float,
.ptt-contact-float .ptt-whatsapp-float {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    min-height: 48px;
    padding: 11px 14px;
    box-sizing: border-box;

    border: 1px solid transparent;
    border-radius: 12px;
    color: #fff !important;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;

    transition: background .2s ease, transform .2s ease;
}

.ptt-contact-float .ptt-call-float {
    background: #17384b;
    border-color: #29495a;
}

.ptt-contact-float .ptt-call-float:hover {
    background: #ff1018;
    transform: translateY(-2px);
}

/* Exact WhatsApp green */
.ptt-contact-float .ptt-whatsapp-float {
    background: #25D366;
    border-color: #25D366;
    box-shadow: 0 7px 20px rgba(37,211,102,.22);
}

.ptt-contact-float .ptt-whatsapp-float:hover {
    background: #128C7E;
    border-color: #128C7E;
    transform: translateY(-2px);
}

.ptt-contact-float .ptt-whatsapp-float i {
    font-size: 20px;
}

/* Tablet */
@media (max-width: 768px) {
    .ptt-contact-float {
        left: 14px;
        bottom: 16px;
        width: 175px;
        gap: 8px;
    }

    .ptt-contact-float .ptt-help-float {
        min-height: 52px;
        padding: 8px 10px;
    }

    .ptt-contact-float .ptt-call-float,
    .ptt-contact-float .ptt-whatsapp-float {
        min-height: 45px;
        font-size: 12px;
    }
}

/* Small mobile */
@media (max-width: 420px) {
    .ptt-contact-float {
        left: 10px;
        bottom: 12px;
        width: 158px;
        gap: 7px;
    }

    .ptt-contact-float .ptt-help-float {
        min-height: 48px;
        gap: 7px;
        padding: 7px 8px;
    }

    .ptt-contact-float .ptt-help-icon {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .ptt-contact-float .ptt-help-copy small {
        font-size: 8px;
    }

    .ptt-contact-float .ptt-help-copy strong {
        font-size: 10px;
    }

    .ptt-contact-float .ptt-call-float,
    .ptt-contact-float .ptt-whatsapp-float {
        min-height: 42px;
        padding: 9px 8px;
        gap: 7px;
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ptt-contact-float {
        transition: none;
    }
}


/* Patel Tours & TRAVELS — Gallery v3. Entirely scoped. Replace the previous gallery CSS; do not append both versions. */
.pttGEPro {
--ptt-red:#ef1824;
--ptt-ink:#151719;
--ptt-muted:#6b7076;
--ptt-line:#e8e9eb;
--ptt-paper:#f7f7f6;
--ptt-white:#fff;
	position:relative;
	isolation:isolate;
	background:var(--ptt-paper);
	color:var(--ptt-ink);
	font-family:inherit;
	overflow:clip
}
.pttGEPro, .pttGEPro * {
	box-sizing:border-box
}
.pttGEPro img, .pttGEPro video {
	display:block;
	max-width:100%
}
.pttGEPro button, .pttGEPro a {
	font:inherit
}
.pttGEPro button {
	cursor:pointer
}
.pttGEContainer {
	width:min(1240px, calc(100% - 64px));
	margin-inline:auto
}
.pttGEHeroX {
	position:relative;
	min-height:390px;
	display:flex;
	align-items:center;
	overflow:hidden;
	background:#111416;
	color:#fff;
	padding:76px 0 48px
}
.pttGEHeroX:before {
	content:"";
	position:absolute;
	inset:0;
	background:radial-gradient(ellipse at 82% 10%, rgba(239, 24, 36, .22), transparent 34%), radial-gradient(ellipse at 0 100%, rgba(239, 24, 36, .12), transparent 42%), linear-gradient(110deg, #111416 0%, #171a1d 65%, #101214 100%)
}
.pttGEHeroX:after {
	content:"";
	position:absolute;
	right:-4%;
	top:-35%;
	width:46%;
	height:155%;
	border:1px solid rgba(255, 255, 255, .07);
	border-radius:50%;
	transform:rotate(-24deg);
	box-shadow:0 0 0 50px rgba(255, 255, 255, .018), 0 0 0 100px rgba(255, 255, 255, .014)
}
.pttGEHeroX__shade, .pttGEHeroX__glow {
	display:none
}
.pttGEHeroX__shell {
	position:relative;
	z-index:1;
	width:min(1240px, calc(100% - 64px));
	margin:auto;
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:40px
}
.pttGEHeroX__content {
	max-width:690px
}
.pttGEHeroX__eyebrow, .pttGEProEyebrow {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font-size:10px;
	letter-spacing:.2em;
	text-transform:uppercase;
	font-weight:800;
	color:var(--ptt-red);
	margin-bottom:17px
}
.pttGEHeroX__eyebrow:before, .pttGEProEyebrow:before {
	content:"";
	display:inline-block;
	width:24px;
	height:2px;
	background:currentColor
}
.pttGEHeroX h1 {
	margin:0;
	font-size:clamp(42px, 6vw, 76px);
	line-height:.98;
	letter-spacing:-.055em;
	font-weight:850;
	color:#fff
}
.pttGEHeroX h1 span {
	display:block;
	color:var(--ptt-red)
}
.pttGEHeroX__content p {
	max-width:560px;
	color:#c5c8ca;
	font-size:15px;
	line-height:1.8;
	margin:22px 0 26px
}
.pttGEHeroX__actions {
	display:flex;
	gap:12px;
	flex-wrap:wrap
}
.pttGEHeroX__btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:46px;
	padding:0 19px;
	border-radius:5px;
	text-decoration:none;
	font-size:12px;
	font-weight:800;
transition:transform .2s, background .2s
}
.pttGEHeroX__btn:hover {
	transform:translateY(-2px)
}
.pttGEHeroX__btn--red {
	background:var(--ptt-red);
	color:#fff;
	border:1px solid var(--ptt-red)
}
.pttGEHeroX__btn--glass {
	color:#fff;
	border:1px solid #555b60;
	background:rgba(255, 255, 255, .04)
}
.pttGEHeroX__statline {
	display:flex;
	flex-direction:column;
	gap:13px;
	color:#d5d7d8;
	font-size:11px;
	white-space:nowrap
}
.pttGEHeroX__statline span {
	display:flex;
	align-items:center;
	gap:10px
}
.pttGEHeroX__statline i {
	color:var(--ptt-red)
}
.pttGEProGallery {
	padding:76px 0 88px;
	background:var(--ptt-paper)
}
.pttGEProHead {
	display:grid;
grid-template-columns:minmax(0, 1fr) minmax(260px, .65fr);
	align-items:end;
	gap:50px;
	margin-bottom:32px
}
.pttGEProEyebrow {
	margin-bottom:12px
}
.pttGEProHead h2, .pttGEProEventsHead h2 {
	margin:0;
	color:#151719;
	font-size:clamp(32px, 4vw, 49px);
	line-height:1.04;
	letter-spacing:-.05em;
	font-weight:850
}
.pttGEProHead h2 span, .pttGEProEventsHead h2 span {
	color:var(--ptt-red)
}
.pttGEProHead>p {
	margin:0 0 4px;
	color:var(--ptt-muted);
	font-size:13px;
	line-height:1.85;
	max-width:440px;
	justify-self:end
}
.pttGEProTabsWrap {
	margin:0 0 22px;
	overflow:visible
}
.pttGEProTabs {
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap
}
.pttGEProTabs__btn {
	appearance:none;
	border:1px solid #dedfe1;
	background:#fff;
	color:#000;
	border-radius:4px;
	padding:10px 13px;
	font-size:16px;
	font-weight:750;
	line-height:1.2;
	white-space:nowrap;
transition:background .2s, color .2s, border-color .2s, transform .2s;
border-radius:30px;
}
.pttGEProTabs__btn:hover {
	border-color:#999;
}
.pttGEProTabs__btn.is-active {
	background:var(--ptt-red);
	border-color:var(--ptt-red);
	color:#fff
}
.pttGEProGallery__meta {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:15px;
	margin:0 0 16px;
	color:#858a8e;
	font-size:10px
}
.pttGEProGallery__count {
	font-weight:800;
	color:#4a4f53
}
.pttGEProGallery__hint {
	display:flex;
	align-items:center;
	gap:7px
}
.pttGEProGallery__hint i {
	color:var(--ptt-red)
}
.pttGEProGallery__grid {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	gap:17px
}
.pttGEProGallery__item {
	min-width:0;
animation:pttGEFadeIn .35s ease both
}
.pttGEProGallery__item[hidden] {
	display:none!important
}
.pttGEProGallery__open {
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:1.16/1;
	padding:0;
	border:0;
	border-radius:8px;
	overflow:hidden;
	background:#e4e5e6;
	text-align:left;
	box-shadow:0 2px 7px rgba(18, 20, 22, .07);
	isolation:isolate
}
.pttGEProGallery__open:before {
	content:"";
	position:absolute;
	z-index:1;
	inset:35% 0 0;
	background:linear-gradient(transparent, rgba(0, 0, 0, .68));
	opacity:.85;
transition:opacity .25s
}
.pttGEProGallery__open img {
	width:100%;
	height:100%;
	object-fit:cover;
transition:transform .55s cubic-bezier(.2, .7, .2, 1), filter .3s
}
.pttGEProGallery__open:hover img {
	transform:scale(1.055)
}
.pttGEPhotoOverlay {
	position:absolute;
	z-index:2;
	inset:auto 13px 13px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:8px;
	color:#fff
}
.pttGEPhotoOverlay b {
	font-size:17px;
	line-height:1.3;
	font-weight:800;
	text-shadow:0 1px 4px #0006
}
.pttGEPhotoOverlay i {
	display:grid;
	place-items:center;
	width:29px;
	height:29px;
	border-radius:50%;
	border:1px solid #ffffff80;
	background:#ffffff18;
	font-size:10px;
	flex:0 0 auto
}
.pttGEProGallery__open:focus-visible, .pttGEProTabs__btn:focus-visible, .pttGEPro button:focus-visible {
outline:3px solid #ff6570;
outline-offset:3px
}
.pttGEProLightbox, .pttGEProVideoModal {
	position:fixed;
	z-index:99999;
	inset:0;
	display:none;
	align-items:center;
	justify-content:center;
	padding:28px;
	background:rgba(7, 9, 11, .94);
	backdrop-filter:blur(10px)
}
.pttGEProLightbox.is-open, .pttGEProVideoModal.is-open {
	display:flex
}
.pttGEProLightbox__stage {
	width:min(100%, 1100px);
	max-height:88vh;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:12px
}
.pttGEProLightbox__stage img {
	max-width:100%;
	max-height:78vh;
	object-fit:contain;
	border-radius:5px
}
.pttGEProLightbox__caption {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	width:100%;
	color:#fff;
	font-size:12px
}
.pttGEProLightbox__caption span {
	color:#b8bdc0
}
.pttGEProLightbox__close, .pttGEProVideoModal__close {
	position:absolute;
	right:22px;
	top:18px;
	width:44px;
	height:44px;
	border:1px solid #ffffff55;
	border-radius:50%;
	background:#ffffff12;
	color:#fff;
	font-size:20px
}
.pttGEProLightbox__arrow {
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:44px;
	height:44px;
	border:1px solid #ffffff55;
	border-radius:50%;
	background:#ffffff12;
	color:#fff
}
.pttGEProLightbox__arrow--prev {
	left:22px
}
.pttGEProLightbox__arrow--next {
	right:22px
}
.pttGE-modal-open {
	overflow:hidden!important
}
.pttGEProEvents {
	padding:70px 0 76px;
	background:#101214;
	color:#fff
}
.pttGEProEvents .pttGEContainer {
	width:min(1240px, calc(100% - 64px))
}
.pttGEProEventsHead {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:24px;
	margin-bottom:28px
}
.pttGEProEventsHead h2 {
	color:#fff
}
.pttGEProEventsHead p {
	max-width:390px;
	margin:0;
	color:#aeb3b6;
	font-size:13px;
	line-height:1.8
}
.pttGEProVideos {
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:13px
}
.pttGEProVideo {
	position:relative;
	min-width:0;
	aspect-ratio:9/12;
	border-radius:7px;
	overflow:hidden;
	background:#272a2d;
	border:1px solid #ffffff15
}
.pttGEProVideo video {
	width:100%;
	height:100%;
	object-fit:cover;
	opacity:.86;
transition:transform .5s, opacity .3s
}
.pttGEProVideo:hover video {
	transform:scale(1.04);
	opacity:1
}
.pttGEProVideo:after {
	content:"";
	position:absolute;
	inset:40% 0 0;
	background:linear-gradient(transparent, #0009);
	pointer-events:none
}
.pttGEProVideo__play {
	position:absolute;
	z-index:2;
	left:12px;
	bottom:13px;
	display:flex;
	align-items:center;
	gap:9px;
	padding:0;
	border:0;
	background:transparent;
	color:#fff;
	font-size:11px;
	font-weight:800
}
.pttGEProVideo__play i {
	width:34px;
	height:34px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--ptt-red);
	font-size:11px;
	padding-left:2px
}
.pttGEProVideo__index {
	position:absolute;
	z-index:2;
	right:12px;
	top:12px;
	color:#fff;
	font-size:10px;
	font-weight:800;
	letter-spacing:.12em
}
.pttGEProEventsFoot {
	display:flex;
	justify-content:center;
	margin-top:28px
}
.pttGEProEventsFoot a {
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:13px 20px;
	background:var(--ptt-red);
	color:#fff;
	border-radius:4px;
	text-decoration:none;
	font-size:12px;
	font-weight:800
}
.pttGEProMobileControls {
	display:none
}
.pttGEProVideoModal__stage {
	width:min(100%, 960px)
}
.pttGEProVideoModal__stage video {
	width:100%;
	max-height:85vh;
	background:#000;
	border-radius:6px
}
@keyframes pttGEFadeIn {
from {
opacity:0;
transform:translateY(7px)
}
to {
	opacity:1;
	transform:translateY(0)
}
}
@media(max-width:1000px) {
.pttGEContainer, .pttGEHeroX__shell, .pttGEProEvents .pttGEContainer {
width:calc(100% - 44px)
}
.pttGEProGallery__grid {
grid-template-columns:repeat(3, minmax(0, 1fr));
gap:14px
}
.pttGEProHead {
gap:28px
}
.pttGEProVideos {
grid-template-columns:repeat(5, minmax(0, 1fr));
gap:9px
}
.pttGEHeroX__statline {
font-size:10px
}
}
@media(max-width:700px) {
.pttGEContainer, .pttGEHeroX__shell, .pttGEProEvents .pttGEContainer {
width:calc(100% - 34px)
}
.pttGEHeroX {
min-height:350px;
padding:62px 0 35px
}
.pttGEHeroX__shell {
display:block
}
.pttGEHeroX h1 {
font-size:clamp(42px, 11vw, 62px)
}
.pttGEHeroX__content p {
font-size:13px;
line-height:1.75;
margin:17px 0 22px
}
.pttGEHeroX__statline {
display:flex;
flex-direction:row;
flex-wrap:wrap;
gap:12px 17px;
margin-top:31px;
white-space:normal
}
.pttGEHeroX__statline span {
font-size:10px
}
.pttGEProGallery {
padding:49px 0 56px
}
.pttGEProHead {
grid-template-columns:1fr;
gap:14px;
margin-bottom:24px
}
.pttGEProHead h2, .pttGEProEventsHead h2 {
font-size:clamp(31px, 8vw, 42px)
}
.pttGEProHead>p {
justify-self:start;
font-size:12px;
max-width:560px
}
.pttGEProTabsWrap {
margin-right:-17px;
margin-bottom:17px;
overflow-x:auto;
scrollbar-width:thin;
padding:2px 17px 8px 0
}
.pttGEProTabs {
flex-wrap:nowrap;
width:max-content;
max-width:none;
gap:7px
}
.pttGEProTabs__btn {
padding:10px 12px;
font-size:10px
}
.pttGEProGallery__meta {
align-items:flex-start;
font-size:9px
}
.pttGEProGallery__grid {
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px
}
.pttGEProGallery__open {
aspect-ratio:1/1.04;
border-radius:6px
}
.pttGEPhotoOverlay {
inset:auto 9px 9px
}
.pttGEPhotoOverlay b {
font-size:10px
}
.pttGEPhotoOverlay i {
width:25px;
height:25px
}
.pttGEProEvents {
padding:48px 0 52px
}
.pttGEProEventsHead {
display:block;
margin-bottom:22px
}
.pttGEProEventsHead p {
margin-top:12px;
font-size:12px
}
.pttGEProVideos {
grid-template-columns:repeat(2, minmax(0, 1fr));
gap:10px
}
.pttGEProVideo {
aspect-ratio:9/12
}
.pttGEProVideo__play {
left:9px;
bottom:10px;
font-size:10px
}
.pttGEProVideo__play i {
width:30px;
height:30px
}
.pttGEProMobileControls {
display:flex;
align-items:center;
justify-content:center;
gap:18px;
margin-top:17px;
color:#fff
}
.pttGEProMobileControls button {
width:34px;
height:34px;
border:1px solid #ffffff44;
border-radius:50%;
background:#ffffff0c;
color:#fff
}
.pttGEProMobileControls__counter {
font-size:11px;
color:#c4c7c9
}
.pttGEProLightbox, .pttGEProVideoModal {
padding:16px
}
.pttGEProLightbox__arrow {
top:auto;
bottom:20px;
transform:none
}
.pttGEProLightbox__arrow--prev {
left:calc(50% - 54px)
}
.pttGEProLightbox__arrow--next {
right:calc(50% - 54px)
}
.pttGEProLightbox__stage {
max-height:78vh
}
.pttGEProLightbox__stage img {
max-height:68vh
}
.pttGEProLightbox__close, .pttGEProVideoModal__close {
right:12px;
top:12px;
width:39px;
height:39px
}
}
@media(max-width:380px) {
.pttGEContainer, .pttGEHeroX__shell, .pttGEProEvents .pttGEContainer {
width:calc(100% - 26px)
}
.pttGEProGallery__grid {
gap:8px
}
.pttGEPhotoOverlay {
inset:auto 7px 7px
}
.pttGEPhotoOverlay b {
font-size:9px
}
.pttGEProGallery__hint {
max-width:110px;
text-align:right
}
.pttGEHeroX__actions {
gap:8px
}
.pttGEHeroX__btn {
padding:0 12px;
font-size:11px
}
}
@media(prefers-reduced-motion:reduce) {
.pttGEPro * {
animation:none!important;
scroll-behavior:auto!important;
transition:none!important
}
}
/* Patel Tours & Travels — Gallery & Events Hero
   All styles are namespaced to prevent collisions with the rest of the site. */

.pttGalleryHero, .pttGalleryHero * { box-sizing: border-box; }
.pttGalleryHero {
  --pttgh-accent: #f3292f;
  --pttgh-font: "Outfit", sans-serif;
  position: relative; isolation: isolate; display: flex; align-items: center;
  min-height: clamp(540px, 46vw, 720px); width: 100%; overflow: hidden;
  color: #fff; background: #111820; font-family: var(--pttgh-font);
}
.pttGalleryHero__backdrop {
  position: absolute; z-index: -3; inset: 0;
  background: url("../images/header-11.webp") center 58% / cover no-repeat;
  transform: scale(1.015);
}
.pttGalleryHero__overlay {
  position: absolute; z-index: -2; inset: 0;
  background: linear-gradient(90deg, rgba(5,12,19,.94) 0%, rgba(5,12,19,.83) 28%, rgba(5,12,19,.48) 51%, rgba(5,12,19,.12) 78%, rgba(5,12,19,.10) 100%),
              linear-gradient(0deg, rgba(4,8,12,.66) 0%, transparent 38%, rgba(4,8,12,.12) 100%);
}
.pttGalleryHero__inner { width: min(100% - 9vw, 1440px); margin-inline: auto; padding-block: clamp(84px,9vw,132px) clamp(76px,8vw,112px); position: relative; }
.pttGalleryHero__copy { max-width: 700px; }
.pttGalleryHero__eyebrow { display: inline-flex; align-items: center; gap: 11px; margin: 0 0 22px; color: rgba(255,255,255,.9); font-size: 11px; font-weight: 600; letter-spacing: .19em; line-height: 1.5; }
.pttGalleryHero__eyebrowLine { width: 28px; height: 2px; flex: 0 0 auto; background: var(--pttgh-accent); }
.pttGalleryHero__dot { color: var(--pttgh-accent); }
.pttGalleryHero h1 { max-width: 760px; margin: 0; color: #fff; font-family: var(--pttgh-font); font-size: clamp(46px,6.1vw,88px); font-weight: 800; letter-spacing: -.055em; line-height: .98; text-wrap: balance; }
.pttGalleryHero h1 span { color: var(--pttgh-accent); }
.pttGalleryHero__description { max-width: 590px; margin: 25px 0 0; color: rgba(255,255,255,.78); font-size: clamp(15px,1.25vw,18px); font-weight: 400; line-height: 1.75; }
.pttGalleryHero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; margin-top: 31px; }
.pttGalleryHero__button { min-height: 51px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; padding: 0 23px; border: 1px solid transparent; border-radius: 999px; color: #fff; font-family: var(--pttgh-font); font-size: 14px; font-weight: 650; line-height: 1.2; text-decoration: none; transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease; }
.pttGalleryHero__button:hover { color: #fff; transform: translateY(-2px); }
.pttGalleryHero__button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.pttGalleryHero__button--primary { background: var(--pttgh-accent); box-shadow: 0 10px 28px rgba(243,41,47,.24); }
.pttGalleryHero__button--primary:hover { background: #d91820; box-shadow: 0 13px 32px rgba(243,41,47,.35); }
.pttGalleryHero__button--primary span { font-size: 21px; font-weight: 400; }
.pttGalleryHero__button--secondary { border-color: rgba(255,255,255,.43); background: rgba(255,255,255,.075); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.pttGalleryHero__button--secondary:hover { border-color: rgba(255,255,255,.78); background: rgba(255,255,255,.15); }
.pttGalleryHero__play { display: inline-grid; place-items: center; width: 23px; height: 23px; padding-left: 2px; border-radius: 50%; background: #fff; color: #15191d; font-size: 9px; }
.pttGalleryHero__features { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 43px; }
.pttGalleryHero__features span { display: inline-flex; align-items: center; gap: 10px; min-height: 25px; padding: 0 19px; color: #fff; font-size: 17px; font-weight: 500; line-height: 1.4; }
.pttGalleryHero__features span:first-child { padding-left: 0; }
.pttGalleryHero__features span + span { border-left: 1px solid rgba(255,255,255,.34); }
.pttGalleryHero__features i { color: #ff555a; font-size: 15px; }
.pttGalleryHero__scroll { position: absolute; right: 0; bottom: 33px; display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.62); font-size: 9px; font-weight: 600; letter-spacing: .16em; }
.pttGalleryHero__scroll span { display: block; width: 31px; height: 1px; background: var(--pttgh-accent); }

@media (max-width: 1100px) {
  .pttGalleryHero { min-height: 590px; }
  .pttGalleryHero__inner { width: min(100% - 7vw, 1440px); }
  .pttGalleryHero__copy { max-width: 620px; }
  .pttGalleryHero__overlay { background: linear-gradient(90deg, rgba(5,12,19,.94) 0%, rgba(5,12,19,.79) 43%, rgba(5,12,19,.3) 100%), linear-gradient(0deg, rgba(4,8,12,.68) 0%, transparent 48%); }
}
@media (max-width: 767px) {
  .pttGalleryHero { min-height: 650px; align-items: flex-end; }
  .pttGalleryHero__backdrop { background-position: 58% center; }
  .pttGalleryHero__overlay { background: linear-gradient(0deg, rgba(4,9,14,.97) 0%, rgba(4,9,14,.88) 35%, rgba(4,9,14,.45) 72%, rgba(4,9,14,.22) 100%), linear-gradient(90deg, rgba(4,9,14,.28), transparent); }
  .pttGalleryHero__inner { width: calc(100% - 40px); padding-block: 190px 75px; }
  .pttGalleryHero__copy { max-width: 100%; }
  .pttGalleryHero__eyebrow { margin-bottom: 17px; font-size: 9px; letter-spacing: .15em; }
  .pttGalleryHero h1 { font-size: clamp(43px,9vw,66px); line-height: 1.02; letter-spacing: -.05em; }
  .pttGalleryHero__description { max-width: 510px; margin-top: 18px; font-size: 15px; line-height: 1.65; }
  .pttGalleryHero__actions { gap: 10px; margin-top: 24px; }
  .pttGalleryHero__button { min-height: 47px; padding-inline: 18px; gap: 13px; font-size: 13px; }
  .pttGalleryHero__features { gap: 12px 18px; margin-top: 30px; }
  .pttGalleryHero__features span, .pttGalleryHero__features span:first-child { padding: 0; font-size: 11px; }
  .pttGalleryHero__features span + span { border-left: 0; }
  .pttGalleryHero__scroll { display: none; }
}
@media (max-width: 480px) {
  .pttGalleryHero { min-height: 630px; }
  .pttGalleryHero__inner { width: calc(100% - 32px); padding-block: 165px 58px; }
  .pttGalleryHero__backdrop { background-position: 60% center; }
  .pttGalleryHero__eyebrow { gap: 8px; font-size: 8px; letter-spacing: .12em; }
  .pttGalleryHero__eyebrowLine { width: 20px; }
  .pttGalleryHero h1 { font-size: clamp(39px,11vw,52px); }
  .pttGalleryHero__description { font-size: 14px; line-height: 1.6; }
  .pttGalleryHero__actions { align-items: stretch; flex-direction: column; }
  .pttGalleryHero__button { width: 100%; min-height: 48px; }
  .pttGalleryHero__features { display: grid; grid-template-columns: 1fr; gap: 13px; margin-top: 27px; }
  .pttGalleryHero__features span { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .pttGalleryHero__button { transition: none; } }


/* =========================================================
   Patel Tours & TRAVELS — LUXURY CAR RENTAL
   Bright premium theme: white / warm ivory / Patel red.
   Fully scoped. No fixed-width global container; sections use
   fluid full-width layouts with responsive side gutters.
   ========================================================= */
.pttLuxury, .pttLuxury * { box-sizing:border-box; }
.pttLuxury {
  --pl-red:#ed1c24; --pl-red-dark:#c91018; --pl-ink:#17191c;
  --pl-muted:#000; --pl-paper:#fff8f3; --pl-white:#fff;
  --pl-line:rgba(23,25,28,.13); --pl-font:"Outfit",sans-serif;
  color:var(--pl-ink); background:#fff; font-family:var(--pl-font);
  overflow:hidden; line-height:1.6; font-size:16px;
}
.pttLuxury img { display:block; width:100%; max-width:100%; }
.pttLuxury a { color:inherit; text-decoration:none; }
.pttLuxury button, .pttLuxury input, .pttLuxury textarea, .pttLuxury select { font:inherit; }
.pttLuxury .pl-container { width:100%; max-width:none; margin:0; padding-inline:clamp(22px,5.2vw,90px); }
.pttLuxury .pl-kicker { display:inline-flex; align-items:center; gap:11px; color:var(--pl-red); font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.pttLuxury .pl-kicker:before { content:""; width:31px; height:3px; border-radius:4px; background:currentColor; }
.pttLuxury .pl-section-head { display:flex; align-items:end; justify-content:space-between; gap:34px; margin-bottom:42px; }
.pttLuxury .pl-section-head h2 { margin:13px 0 0; font-size:clamp(40px,4.5vw,68px); line-height:.99; letter-spacing:-.055em; font-weight:800; }
.pttLuxury .pl-section-head h2 em { color:var(--pl-red); font-style:normal; }
.pttLuxury .pl-section-head p { max-width:540px; margin:0; color:var(--pl-muted); font-size:17px; line-height:1.8; }
.pttLuxury .pl-btn { display:inline-flex; justify-content:center; align-items:center; gap:13px; min-height:60px; padding:0 30px; border:2px solid transparent; border-radius:999px; background:var(--pl-red); color:#fff; font-size:16px; font-weight:800; box-shadow:0 9px 22px rgba(237,28,36,.18); transition:transform .2s ease,background .2s ease,box-shadow .2s ease; cursor:pointer; }
.pttLuxury .pl-btn:hover { background:var(--pl-red-dark); color:#fff; transform:translateY(-3px); box-shadow:0 15px 30px rgba(237,28,36,.25); }
.pttLuxury .pl-btn--outline { color:var(--pl-ink); background:#fff; border-color:rgba(255,255,255,.8); box-shadow:none; }
.pttLuxury .pl-btn--outline:hover { color:var(--pl-red); background:#fff; border-color:#fff; }
.pttLuxury .pl-btn--dark { color:#fff; background:var(--pl-ink); box-shadow:none; }
.pttLuxury .pl-btn--dark:hover { background:var(--pl-red); }

/* HERO */
.pttLuxury .pl-hero { position:relative; isolation:isolate; min-height:730px; display:flex; align-items:center; color:#fff; background:#242629; }
.pttLuxury .pl-hero__image { position:absolute; z-index:-3; inset:0; background:url("../images/luxury-car-rental-header.webp") center 57%/cover no-repeat; }
.pttLuxury .pl-hero__shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(8,11,15,.88) 0%,rgba(8,11,15,.69) 34%,rgba(8,11,15,.25) 65%,rgba(8,11,15,.04) 100%),linear-gradient(0deg,rgba(8,11,15,.42),transparent 50%); }
.pttLuxury .pl-hero__inner { width:100%; margin:0; padding:145px clamp(22px,5.2vw,90px) 150px; }
.pttLuxury .pl-hero__copy { max-width:820px; }
.pttLuxury .pl-hero__eyebrow { display:inline-flex; align-items:center; gap:11px; color:#fff; font-size:13px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.pttLuxury .pl-hero__eyebrow i { color:#ff4249; }
.pttLuxury .pl-hero h1 { margin:25px 0 24px; font-size:clamp(58px,8vw,112px); line-height:.9; letter-spacing:-.07em; font-weight:800; }
.pttLuxury .pl-hero h1 span { display:block; color:#ff343c; }
.pttLuxury .pl-hero__lead { max-width:680px; margin:0; color:rgba(255,255,255,.94); font-size:clamp(18px,1.55vw,23px); line-height:1.75; }
.pttLuxury .pl-hero__actions { display:flex; flex-wrap:wrap; gap:15px; margin-top:37px; }
.pttLuxury .pl-hero__trust { display:flex; flex-wrap:wrap; gap:25px; margin-top:42px; color:#fff; font-size:14px; font-weight:600; }
.pttLuxury .pl-hero__trust span { display:flex; align-items:center; gap:10px; }
.pttLuxury .pl-hero__trust i { color:#ff454b; font-size:17px; }
.pttLuxury .pl-hero__bottom { position:absolute; bottom:0; left:0; right:0; border-top:1px solid rgba(255,255,255,.26); background:rgba(18,20,23,.35); backdrop-filter:blur(12px); }
.pttLuxury .pl-hero__bottom-inner { display:flex; justify-content:space-between; gap:18px; width:100%; margin:0; padding:20px clamp(22px,5.2vw,90px); color:#fff; font-size:13px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.pttLuxury .pl-hero__bottom-inner span { display:flex; align-items:center; gap:10px; }
.pttLuxury .pl-hero__bottom-inner i { color:#ff454b; font-size:16px; }

/* INTRO STRIP */
.pttLuxury .pl-intro { padding:31px 0; background:var(--pl-red); color:#fff; }
.pttLuxury .pl-intro__inner { display:flex; align-items:center; justify-content:space-between; gap:28px; }
.pttLuxury .pl-intro strong { font-size:clamp(21px,2.2vw,30px); font-weight:800; letter-spacing:-.025em; line-height:1.2; }
.pttLuxury .pl-intro p { margin:0; max-width:590px; color:rgba(255,255,255,.94); font-size:16px; }

/* FLEET — 4 cards per row on desktop */
.pttLuxury .pl-fleet { padding:115px 0 110px; background:#fff; }
.pttLuxury .pl-fleet-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:23px; }
.pttLuxury .pl-car-card { min-width:0; border:1px solid rgba(23,25,28,.1); border-radius:19px; overflow:hidden; background:#fff; box-shadow:0 7px 24px rgba(18,22,26,.045); transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; }
.pttLuxury .pl-car-card:hover { transform:translateY(-6px); border-color:rgba(237,28,36,.28); box-shadow:0 20px 44px rgba(18,22,26,.12); }
.pttLuxury .pl-car-card__media { position:relative; aspect-ratio:1.18/1; overflow:hidden; background:#eee; }
.pttLuxury .pl-car-card__media img { height:100%; object-fit:cover; transition:transform .5s ease; }
.pttLuxury .pl-car-card:hover .pl-car-card__media img { transform:scale(1.055); }
.pttLuxury .pl-car-card__tag { position:absolute; top:13px; left:13px; padding:8px 11px; border-radius:999px; color:#fff; background:var(--pl-red); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; box-shadow:0 5px 15px rgba(0,0,0,.15); }
.pttLuxury .pl-car-card__body { padding:23px 20px 22px; }
.pttLuxury .pl-car-card h3 { margin:0; font-size:clamp(20px,1.6vw,25px); line-height:1.12; letter-spacing:-.04em; font-weight:800; }
.pttLuxury .pl-car-card p { margin:12px 0 21px; color:#000; font-size:14px; line-height:1.75; min-height:73px; }
.pttLuxury .pl-car-card__foot { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:16px; border-top:1px solid var(--pl-line); }
.pttLuxury .pl-car-card__foot span { color:#555c63; font-size:12px; }
.pttLuxury .pl-car-card__foot a { color:var(--pl-red); font-size:17px; font-weight:800; white-space:nowrap; }
.pttLuxury .pl-car-card__foot a i { margin-left:5px; }

/* FEATURE BAND */
.pttLuxury .pl-experience { padding:0 0 110px; background:#fff; }
.pttLuxury .pl-experience__panel { display:grid; grid-template-columns:1fr 1fr; min-height:470px; border-radius:25px; overflow:hidden; background:#fff2ee; border:1px solid rgba(237,28,36,.13); }
.pttLuxury .pl-experience__visual { min-height:390px; background:url("../images/airport-transfer.webp") center/cover no-repeat; }
.pttLuxury .pl-experience__content { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(35px,5vw,78px); }
.pttLuxury .pl-experience__content .pl-kicker { color:var(--pl-red); }
.pttLuxury .pl-experience h2 { margin:20px 0; font-size:clamp(40px,4.8vw,65px); line-height:.98; letter-spacing:-.06em; }
.pttLuxury .pl-experience h2 span { color:var(--pl-red); }
.pttLuxury .pl-experience p { max-width:500px; margin:0 0 28px; color:#51575d; font-size:16px; line-height:1.85; }


/* OCCASIONS */
.pttLuxury .pl-occasions { padding:110px 0; background:#fff6f2; }
.pttLuxury .pl-occasion-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.pttLuxury .pl-occasion { position:relative; min-height:290px; display:flex; flex-direction:column; justify-content:flex-end; padding:25px; overflow:hidden; border-radius:18px; isolation:isolate; color:#fff; background:#24272a; box-shadow:0 10px 28px rgba(15,17,20,.09); }
.pttLuxury .pl-occasion:before { content:""; position:absolute; z-index:-2; inset:0; background:var(--occasion-image) center/cover no-repeat; transition:transform .45s ease; }
.pttLuxury .pl-occasion:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(7,9,12,.91),rgba(7,9,12,.02) 90%); }
.pttLuxury .pl-occasion:hover:before { transform:scale(1.06); }
.pttLuxury .pl-occasion i { margin-bottom:auto; color:#ff454b; font-size:27px; }
.pttLuxury .pl-occasion h3 { margin:30px 0 8px; font-size:25px; line-height:1.08; letter-spacing:-.035em; }
.pttLuxury .pl-occasion p { margin:0; color:rgba(255,255,255,.9); font-size:14px; line-height:1.7; }

/* UDAIPUR */
.pttLuxury .pl-udaipur { padding:115px 0; background:#fff; }
.pttLuxury .pl-udaipur__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(35px,6vw,100px); align-items:center; }
.pttLuxury .pl-udaipur__photo { position:relative; min-height:590px; border-radius:24px; overflow:hidden; background:url("../images/jodhpur-trip-urbania.webp") center/cover no-repeat; box-shadow:0 20px 50px rgba(18,22,26,.12); }
.pttLuxury .pl-udaipur__photo:after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.3); border-radius:inherit; }
.pttLuxury .pl-udaipur__stamp { position:absolute; left:24px; bottom:24px; padding:19px 23px; border-radius:14px; color:#fff; background:rgba(18,20,23,.86); backdrop-filter:blur(12px); }
.pttLuxury .pl-udaipur__stamp strong { display:block; font-size:23px; }
.pttLuxury .pl-udaipur__stamp span { color:rgba(255,255,255,.85); font-size:13px; }
.pttLuxury .pl-udaipur__copy h2 { margin:18px 0 23px; font-size:clamp(43px,5vw,68px); line-height:.96; letter-spacing:-.065em; }
.pttLuxury .pl-udaipur__copy h2 span { color:var(--pl-red); }
.pttLuxury .pl-udaipur__copy > p { color:#51575d; font-size:16px; line-height:1.9; }
.pttLuxury .pl-udaipur__list { display:grid; grid-template-columns:1fr 1fr; gap:16px 22px; margin:30px 0 34px; padding:0; list-style:none; }
.pttLuxury .pl-udaipur__list li { display:flex; gap:10px; align-items:flex-start; color:#282c30; font-size:14px; font-weight:700; }
.pttLuxury .pl-udaipur__list i { margin-top:4px; color:var(--pl-red); }

/* WEDDING */
.pttLuxury .pl-wedding { position:relative; isolation:isolate; padding:115px 0; color:var(--pl-ink); background:#fff0ec; }
.pttLuxury .pl-wedding:before { content:""; position:absolute; z-index:-2; inset:0; background:url("images/antic-car.webp") center 53%/cover no-repeat; opacity:.13; }
.pttLuxury .pl-wedding:after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(255,246,242,.97),rgba(255,246,242,.91) 60%,rgba(255,246,242,.74)); }
.pttLuxury .pl-wedding__inner { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(35px,6vw,90px); align-items:center; }
.pttLuxury .pl-wedding .pl-kicker { color:var(--pl-red); }
.pttLuxury .pl-wedding h2 { margin:18px 0 23px; max-width:700px; font-size:clamp(43px,5.2vw,70px); line-height:.96; letter-spacing:-.065em; }
.pttLuxury .pl-wedding h2 span { color:var(--pl-red); }
.pttLuxury .pl-wedding__copy p { max-width:630px; margin:0 0 30px; color:#51575d; font-size:16px; line-height:1.9; }
.pttLuxury .pl-wedding__perks { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.pttLuxury .pl-wedding__perk { padding:23px; border:1px solid rgba(237,28,36,.16); border-radius:16px; background:rgba(255,255,255,.85); box-shadow:0 8px 25px rgba(30,20,20,.04); }
.pttLuxury .pl-wedding__perk i { color:var(--pl-red); font-size:24px; }
.pttLuxury .pl-wedding__perk h3 { margin:15px 0 7px; font-size:18px; }
.pttLuxury .pl-wedding__perk p { margin:0; color:#555c63; font-size:13px; line-height:1.7; }

/* BENEFITS */
.pttLuxury .pl-benefits { padding:110px 0; background:#fff; }
.pttLuxury .pl-benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.pttLuxury .pl-benefit { padding:30px 25px; border:1px solid rgba(23,25,28,.1); border-radius:18px; background:linear-gradient(180deg,#fff,#fffaf7); box-shadow:0 8px 25px rgba(18,22,26,.04); }
.pttLuxury .pl-benefit__icon { width:56px; height:56px; display:grid; place-items:center; border-radius:16px; color:#fff; background:var(--pl-red); font-size:22px; box-shadow:0 8px 18px rgba(237,28,36,.2); }
.pttLuxury .pl-benefit h3 { margin:22px 0 10px; font-size:21px; letter-spacing:-.03em; }
.pttLuxury .pl-benefit p { margin:0; color:#555c63; font-size:14px; line-height:1.8; }

/* CTA */
.pttLuxury .pl-cta { padding:0 0 100px; background:#fff; }
.pttLuxury .pl-cta__box { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(35px,5vw,70px); border-radius:25px; color:#fff; background:linear-gradient(115deg,#ed1c24,#c91119); box-shadow:0 18px 42px rgba(237,28,36,.19); }
.pttLuxury .pl-cta h2 { max-width:750px; margin:0; font-size:clamp(37px,4.4vw,59px); line-height:.98; letter-spacing:-.06em; }
.pttLuxury .pl-cta p { margin:17px 0 0; color:rgba(255,255,255,.92); font-size:16px; line-height:1.7; }
.pttLuxury .pl-cta .pl-btn { flex:0 0 auto; min-height:62px; color:var(--pl-red); background:#fff; box-shadow:none; }
.pttLuxury .pl-cta .pl-btn:hover { color:var(--pl-red-dark); background:#fff6f3; }
.pttLuxury .pl-note { padding:22px clamp(22px,5.2vw,90px); color:#555c63; background:#fff6f2; font-size:13px; text-align:center; }
.pttLuxury .pl-note a { color:var(--pl-red); font-weight:800; }

@media (min-width:1600px) {
  .pttLuxury .pl-fleet-grid { gap:28px; }
  .pttLuxury .pl-car-card__body { padding:26px 24px; }
}
@media (max-width:1200px) {
  .pttLuxury .pl-fleet-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pttLuxury .pl-occasion-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pttLuxury .pl-benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pttLuxury .pl-udaipur__grid { gap:38px; }
  .pttLuxury .pl-udaipur__photo { min-height:490px; }
}
@media (max-width:800px) {
  .pttLuxury .pl-container { padding-inline:25px; }
  .pttLuxury .pl-section-head { align-items:flex-start; flex-direction:column; gap:18px; }
  .pttLuxury .pl-fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
  .pttLuxury .pl-experience__panel { grid-template-columns:1fr; }
  .pttLuxury .pl-experience__visual { min-height:330px; }
  .pttLuxury .pl-udaipur__grid, .pttLuxury .pl-wedding__inner { grid-template-columns:1fr; gap:35px; }
  .pttLuxury .pl-udaipur__photo { min-height:420px; order:2; }
  .pttLuxury .pl-udaipur__copy { order:1; }
  .pttLuxury .pl-wedding__perks { max-width:700px; }
  .pttLuxury .pl-cta__box { align-items:flex-start; flex-direction:column; }
}
@media (max-width:560px) {
  .pttLuxury .pl-container { padding-inline:17px; }
  .pttLuxury .pl-hero { min-height:760px; align-items:flex-end; }
  .pttLuxury .pl-hero__image { background-position:62% center; }
  .pttLuxury .pl-hero__shade { background:linear-gradient(0deg,rgba(8,11,15,.94) 0%,rgba(8,11,15,.82) 40%,rgba(8,11,15,.28) 100%); }
  .pttLuxury .pl-hero__inner { padding:175px 17px 165px; }
  .pttLuxury .pl-hero h1 { font-size:clamp(53px,13vw,76px); }
  .pttLuxury .pl-hero__eyebrow { font-size:10px; letter-spacing:.14em; }
  .pttLuxury .pl-hero__lead { font-size:17px; }
  .pttLuxury .pl-hero__actions { align-items:stretch; flex-direction:column; }
  .pttLuxury .pl-hero__actions .pl-btn { width:100%; }
  .pttLuxury .pl-hero__trust { display:grid; gap:13px; font-size:13px; margin-top:29px; }
  .pttLuxury .pl-hero__bottom-inner { padding:16px 17px; display:grid; grid-template-columns:1fr 1fr; font-size:9px; gap:12px; }
  .pttLuxury .pl-hero__bottom-inner span:last-child { display:none; }
  .pttLuxury .pl-intro { padding:26px 0; }
  .pttLuxury .pl-intro__inner { align-items:flex-start; flex-direction:column; gap:9px; }
  .pttLuxury .pl-intro p { font-size:14px; }
  .pttLuxury .pl-fleet, .pttLuxury .pl-occasions, .pttLuxury .pl-udaipur, .pttLuxury .pl-benefits { padding:75px 0; }
  .pttLuxury .pl-section-head h2 { font-size:clamp(38px,10vw,51px); }
  .pttLuxury .pl-section-head p { font-size:15px; }
  .pttLuxury .pl-fleet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  .pttLuxury .pl-car-card { border-radius:13px; }
  .pttLuxury .pl-car-card__media { aspect-ratio:1/1; }
  .pttLuxury .pl-car-card__tag { top:7px; left:7px; padding:6px 8px; font-size:8px; letter-spacing:.02em; }
  .pttLuxury .pl-car-card__body { padding:13px 12px 14px; }
  .pttLuxury .pl-car-card h3 { font-size:18px; line-height:1.15; }
  .pttLuxury .pl-car-card p { font-size:12px; line-height:1.65; min-height:94px; margin:9px 0 14px; }
  .pttLuxury .pl-car-card__foot { align-items:flex-start; flex-direction:column; gap:8px; padding-top:11px; }
  .pttLuxury .pl-car-card__foot span { font-size:10px; }
  .pttLuxury .pl-car-card__foot a { font-size:12px; }
  .pttLuxury .pl-experience { padding-bottom:75px; }
  .pttLuxury .pl-experience__panel { border-radius:18px; }
  .pttLuxury .pl-experience__visual { min-height:270px; }
  .pttLuxury .pl-experience__content { padding:30px 22px 34px; }
  .pttLuxury .pl-experience h2 { font-size:clamp(39px,10vw,52px); }
  .pttLuxury .pl-experience p { font-size:15px; }
  .pttLuxury .pl-occasion-grid { gap:11px; }
  .pttLuxury .pl-occasion { min-height:220px; padding:15px; border-radius:13px; }
  .pttLuxury .pl-occasion i { font-size:22px; }
  .pttLuxury .pl-occasion h3 { font-size:19px; }
  .pttLuxury .pl-occasion p { font-size:12px; }
  .pttLuxury .pl-udaipur__photo { min-height:360px; }
  .pttLuxury .pl-udaipur__copy h2, .pttLuxury .pl-wedding h2 { font-size:clamp(42px,11vw,58px); }
  .pttLuxury .pl-udaipur__copy > p, .pttLuxury .pl-wedding__copy p { font-size:15px; }
  .pttLuxury .pl-udaipur__list { gap:14px 12px; }
  .pttLuxury .pl-udaipur__list li { font-size:12px; }
  .pttLuxury .pl-wedding { padding:75px 0; }
  .pttLuxury .pl-wedding__perks { gap:10px; }
  .pttLuxury .pl-wedding__perk { padding:15px; border-radius:13px; }
  .pttLuxury .pl-wedding__perk h3 { font-size:16px; }
  .pttLuxury .pl-wedding__perk p { font-size:12px; }
  .pttLuxury .pl-benefit-grid { gap:11px; }
  .pttLuxury .pl-benefit { padding:17px 14px; border-radius:13px; }
  .pttLuxury .pl-benefit__icon { width:46px; height:46px; font-size:18px; }
  .pttLuxury .pl-benefit h3 { font-size:17px; }
  .pttLuxury .pl-benefit p { font-size:12px; }
  .pttLuxury .pl-cta { padding-bottom:70px; }
  .pttLuxury .pl-cta__box { padding:30px 23px; border-radius:18px; }
  .pttLuxury .pl-cta h2 { font-size:clamp(37px,10vw,50px); }
  .pttLuxury .pl-cta p { font-size:14px; }
  .pttLuxury .pl-cta .pl-btn { width:100%; padding-inline:17px; font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .pttLuxury *, .pttLuxury *:before, .pttLuxury *:after { scroll-behavior:auto!important; transition:none!important; }
}

.ptt-padharo-exact__ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 20px auto;
  max-width: 180px;
}

.ptt-padharo-exact__ornament span {
  display: block;
  height: 1px;
  flex: 1;
  background: currentColor;
  opacity: 0.65;
}

.ptt-padharo-exact__ornament i {
  font-size: 10px;
  transform: rotate(45deg);
}


/* =========================================
   PTT FLOATING CONTACT BUTTONS
   Desktop: Full CTA Buttons
   Mobile: Circular Icons Only
========================================= */

.ptt-mini-contact {
    position: fixed !important;
    left: 18px !important;
    bottom: 22px !important;
    z-index: 999999 !important;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 9px;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);

    transition:
        opacity .3s ease,
        transform .3s ease,
        visibility .3s ease;
}

/* SHOW AFTER SCROLL */
.ptt-mini-contact.ptt-mini-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0);
}

/* =========================================
   DESKTOP CTA BUTTONS
========================================= */

.ptt-mini-contact .ptt-mini-btn {
    box-sizing: border-box !important;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    min-height: 42px;
    padding: 0 17px;
    border: 1px solid transparent;
    border-radius: 30px;

    font-family: inherit;
    font-size: 18px;
    font-weight: 750;
    line-height: 1;
    text-decoration: none !important;
    white-space: nowrap;

    box-shadow: 0 4px 16px rgba(0, 0, 0, .15);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.ptt-mini-contact .ptt-mini-btn i {
    display: inline-block;
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1;
}

/* CALL NOW */
.ptt-mini-contact .ptt-mini-call {
    color: #fff !important;
    background: #fb0001 !important;
    border-color: #fb0001 !important;
}

/* WHATSAPP */
.ptt-mini-contact .ptt-mini-whatsapp {
    color: #fff !important;
    background: #25D366 !important;
    border-color: #25D366 !important;
}

/* DESKTOP HOVER */
.ptt-mini-contact .ptt-mini-call:hover {
    color: #fff !important;
    background: #000 !important;
    border-color: #000 !important;
    transform: translateY(-2px);
}

.ptt-mini-contact .ptt-mini-whatsapp:hover {
    color: #fff !important;
    background: #1ebe5d !important;
    border-color: #1ebe5d !important;
    transform: translateY(-2px);
}

/* KEYBOARD ACCESSIBILITY */
.ptt-mini-contact .ptt-mini-btn:focus-visible {
    outline: 3px solid #d5a85b;
    outline-offset: 3px;
}

/* =========================================
   MOBILE — ICONS ONLY
========================================= */

@media (max-width: 600px) {

    .ptt-mini-contact {
        left: auto !important;
        left: 12px !important;

        /* Leave room for the scroll-to-top button */
        bottom: calc(75px + env(safe-area-inset-bottom, 0px)) !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 10px !important;
    }

    /* CIRCULAR BUTTONS */
    .ptt-mini-contact .ptt-mini-btn {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;

        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        border-radius: 50% !important;
        font-size: 0 !important;
        line-height: 1 !important;

        box-shadow: 0 4px 14px rgba(0, 0, 0, .20) !important;
    }

    /* HIDE BUTTON LABELS */
    .ptt-mini-contact .ptt-mini-btn span {
        display: none !important;
    }

    /* KEEP ICONS VISIBLE */
    .ptt-mini-contact .ptt-mini-btn i {
        display: inline-block !important;
        flex-shrink: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #fff !important;
        font-size: 20px !important;
        line-height: 1 !important;
    }

    /* RED CALL ICON */
    .ptt-mini-contact .ptt-mini-call {
        background: #fb0001 !important;
        border: 1px solid #fb0001 !important;
        color: #fff !important;
    }

    /* GREEN WHATSAPP ICON */
    .ptt-mini-contact .ptt-mini-whatsapp {
        background: #25D366 !important;
        border: 1px solid #25D366 !important;
        color: #fff !important;
    }

    /* MOBILE INTERACTION */
    .ptt-mini-contact .ptt-mini-btn:hover,
    .ptt-mini-contact .ptt-mini-btn:active {
        transform: scale(1.04);
    }
}

/* =========================================
   EXTRA SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .ptt-mini-contact {
        right: 9px !important;
        bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important;
        gap: 8px !important;
    }

    .ptt-mini-contact .ptt-mini-btn {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
    }

    .ptt-mini-contact .ptt-mini-btn i {
        font-size: 18px !important;
    }
}

/* =========================================
   REDUCED MOTION
========================================= */

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

    .ptt-mini-contact,
    .ptt-mini-contact .ptt-mini-btn {
        transition: none !important;
    }
}



/* SOCIAL MEDIA BUTTONS */
.ptt26-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 19px;
    border-radius: 8px;

    color: #fff !important;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;

    transition: transform .25s ease, box-shadow .25s ease;
}

.ptt26-social-btn i {
    font-size: 17px;
}

/* INSTAGRAM — BRAND GRADIENT */
.ptt26-instagram-btn {
    background: linear-gradient(
        45deg,
        #feda75 0%,
        #fa7e1e 25%,
        #d62976 55%,
        #962fbf 78%,
        #4f5bd5 100%
    );
}

/* FACEBOOK — BRAND BLUE */
.ptt26-facebook-btn {
    background: #1877F2;
}

/* HOVER */
.ptt26-social-btn:hover {
    color: #fff !important;
    transform: translateY(-3px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, .18);
}

.ptt26-instagram-btn:hover {
    background: linear-gradient(45deg, #f58529, #dd2a7b, #8134af);
}

.ptt26-facebook-btn:hover {
    background: #0866FF;
}

/* MOBILE */
@media (max-width: 480px) {
    .ptt26-social-btn {
        padding: 10px 14px;
        gap: 7px;
        font-size: 13px;
    }
}

/* FACEBOOK BUTTON — ISOLATED STYLING */
.ptt26-fb-custom,
.ptt26-fb-custom:link,
.ptt26-fb-custom:visited {
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;

    width: auto !important;
    min-width: 105px !important;
    max-width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;

    padding: 0 12px !important;
    margin: 0 !important;
    gap: 8px !important;

    background: linear-gradient(
        135deg,
        #1877F2 0%,
        #0866FF 55%,
        #0554C7 100%
    ) !important;

    color: #ffffff !important;
    border: 1px solid #1877F2 !important;
    border-radius: 9px !important;

    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;

    box-shadow: 0 3px 9px rgba(24, 119, 242, .20) !important;
    cursor: pointer !important;

    transition:
        background .25s ease,
        box-shadow .25s ease,
        transform .25s ease !important;
}

/* FACEBOOK ICON */
.ptt26-fb-custom > i {
    display: inline-block !important;
    flex: 0 0 auto !important;
    position: static !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 16px !important;
    line-height: 1 !important;
    transform: none !important;
}

/* FACEBOOK TEXT */
.ptt26-fb-custom > span {
    display: inline-block !important;
    flex: 0 0 auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: inherit !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* HOVER EFFECT */
.ptt26-fb-custom:hover {
    background: linear-gradient(
        135deg,
        #0866FF 0%,
        #1877F2 100%
    ) !important;

    color: #ffffff !important;
    border-color: #0866FF !important;

    box-shadow: 0 5px 13px rgba(24, 119, 242, .30) !important;
    transform: translateY(-1px) !important;
}

/* KEYBOARD ACCESSIBILITY */
.ptt26-fb-custom:focus-visible {
    outline: 2px solid #1877F2 !important;
    outline-offset: 3px !important;
}

/* MOBILE RESPONSIVE */
@media (max-width: 480px) {
    .ptt26-fb-custom,
    .ptt26-fb-custom:link,
    .ptt26-fb-custom:visited {
        min-width: 0 !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        gap: 6px !important;
        font-size: 12px !important;
    }

    .ptt26-fb-custom > i {
        font-size: 14px !important;
    }
}


/* =====================================================
   Patel ToursS — PAYMENT ASSISTANCE
   Bold Typography | Black & White | Red Accents
===================================================== */

.pttPayAssist,
.pttPayAssist * {
  box-sizing: border-box;
}

.pttPayAssist {
  --ptt-red: #ff1018;
  --ptt-black: #050505;
  --ptt-muted: #333333;
  --ptt-line: #dedede;

  width: 100%;
  padding: 75px 0 85px;
  overflow: hidden;
  background: #f5f5f5;
  color: var(--ptt-black);
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
}

.pttPayAssist__container {
  width: min(1320px, calc(100% - 64px));
  margin: 0 auto;
}

.pttPayAssist__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(370px, .9fr);
  align-items: stretch;
  gap: 58px;
}

/* LEFT CONTENT */

.pttPayAssist__content {
  min-width: 0;
  padding: 4px 0;
}

.pttPayAssist__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 22px;
  color: var(--ptt-red);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 2px;
}

.pttPayAssist__eyebrow > span {
  width: 28px;
  height: 3px;
  background: var(--ptt-red);
  border-radius: 4px;
}

.pttPayAssist__content > h2 {
  max-width: 720px;
  margin: 0 0 23px;
  color: #000;
  font-size: clamp(44px, 4.5vw, 66px);
  font-weight: 950;
  letter-spacing: -3px;
  line-height: 1.04;
}

.pttPayAssist__content > h2 span {
  display: block;
  color: var(--ptt-red);
  font-weight: 950;
}

.pttPayAssist__lead {
  max-width: 680px;
  margin: 0;
  color: #202020;
  font-size: 19px;
  font-weight: 550;
  line-height: 1.9;
}

/* BOOKING STEPS */

.pttPayAssist__steps {
  margin-top: 36px;
  border-top: 1px solid #d5d5d5;
}

.pttPayAssist__step {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 19px;
  padding: 24px 0;
  border-bottom: 1px solid #d5d5d5;
}

.pttPayAssist__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}

.pttPayAssist__stepContent {
  min-width: 0;
}

.pttPayAssist__stepContent h3 {
  margin: 0 0 8px;
  color: #000;
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -.5px;
  line-height: 1.35;
}

.pttPayAssist__stepContent p {
  margin: 0;
  color: #303030;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
}

.pttPayAssist__stepArrow {
  color: #777;
  font-size: 15px;
  text-align: center;
  transition: color .2s ease, transform .2s ease;
}

.pttPayAssist__step:hover .pttPayAssist__stepArrow {
  color: var(--ptt-red);
  transform: translateX(4px);
}

/* SECURITY NOTICE */

.pttPayAssist__notice {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 27px;
  padding: 21px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 13px;
}

.pttPayAssist__noticeIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  background: #fff0f0;
  color: var(--ptt-red);
  border-radius: 10px;
  font-size: 19px;
}

.pttPayAssist__notice strong {
  display: block;
  margin: 0 0 7px;
  color: #000;
  font-size: 16px;
  font-weight: 900;
}

.pttPayAssist__notice p {
  margin: 0;
  color: #303030;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

/* RIGHT CARD */

.pttPayAssist__card {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  color: #000;
  border: 1px solid #e1e1e1;
  border-radius: 23px;
  box-shadow: 0 18px 55px rgba(0, 0, 0, .065);
}

/* CARD HEADER */

.pttPayAssist__cardHeader {
  padding: 32px 30px 28px;
  border-bottom: 1px solid #e6e6e6;
}

.pttPayAssist__status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 25px;
  padding: 11px 15px;
  background: #fff0f0;
  color: #d90008;
  border-radius: 30px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
}

.pttPayAssist__status > span {
  width: 8px;
  height: 8px;
  background: var(--ptt-red);
  border-radius: 50%;
}

.pttPayAssist__cardTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.pttPayAssist__cardEyebrow {
  display: block;
  margin-bottom: 11px;
  color: #333;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.pttPayAssist__cardTitle h3 {
  margin: 0;
  color: #000;
  font-size: clamp(27px, 2.5vw, 35px);
  font-weight: 950;
  letter-spacing: -1px;
  line-height: 1.2;
}

.pttPayAssist__cardTitle h3 span {
  display: block;
  color: var(--ptt-red);
  font-weight: 950;
}

.pttPayAssist__brandIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  background: #000;
  color: #fff;
  border-radius: 15px;
  font-size: 24px;
}

.pttPayAssist__cardHeader > p {
  margin: 19px 0 0;
  color: #222;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.85;
}

/* SERVICE LIST */

.pttPayAssist__services {
  padding: 5px 30px;
}

.pttPayAssist__service {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 14px;
  padding: 21px 0;
  border-bottom: 1px solid #e8e8e8;
}

.pttPayAssist__service:last-child {
  border-bottom: 0;
}

.pttPayAssist__serviceIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  background: #f4f4f4;
  color: var(--ptt-red);
  border-radius: 12px;
  font-size: 19px;
}

.pttPayAssist__service h4 {
  margin: 0 0 5px;
  color: #000;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
}

.pttPayAssist__service p {
  margin: 0;
  color: #333;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
}

.pttPayAssist__check {
  color: #111;
  font-size: 14px;
}

/* CONTACT PANEL */

.pttPayAssist__contact {
  margin: auto 20px 20px;
  padding: 25px;
  color: #fff;
  background: #050505;
  border: 1px solid #050505;
  border-radius: 16px;
}

.pttPayAssist__contactTop {
  display: flex;
  align-items: center;
  gap: 13px;
}

.pttPayAssist__contactIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  background: #fff;
  color: #111;
  border-radius: 12px;
  font-size: 24px;
}

.pttPayAssist__contactTop span {
  display: block;
  margin-bottom: 5px;
  color: #ff555a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.pttPayAssist__contactTop h4 {
  margin: 0;
  color: #fff;
  font-size: 22px;
  font-weight: 900;
}

.pttPayAssist__contact > p {
  margin: 16px 0 20px;
  color: #f0f0f0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}

/* WHATSAPP CTA */

.pttPayAssist__whatsapp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 51px;
  padding: 0 16px;
  color: #fff !important;
  background: var(--ptt-red);
  border: 1px solid var(--ptt-red);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none !important;
  transition: background .2s ease, transform .2s ease;
}

.pttPayAssist__whatsapp i {
  font-size: 15px;
}

.pttPayAssist__whatsapp:hover {
  color: #fff !important;
  background: #d90008;
  transform: translateY(-2px);
}

/* CALL LINK */

.pttPayAssist__call {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 16px;
  padding: 8px 0;
  color: #fff !important;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none !important;
  transition: opacity .2s ease;
}

.pttPayAssist__call:hover {
  color: #fff !important;
  opacity: .75;
}

/* CARD FOOTER */

.pttPayAssist__cardFooter {

  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 17px 25px;
  background: #f7f7f7;
  border-top: 1px solid #e5e5e5;
  color: #292929;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.75;
}

.pttPayAssist__cardFooter i {
  margin-top: 3px;
  color: var(--ptt-red);
}

/* TABLET */

@media (max-width: 1050px) {
  .pttPayAssist {
    padding: 60px 0;
  }

  .pttPayAssist__container {
    width: calc(100% - 44px);
  }

  .pttPayAssist__grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    gap: 30px;
  }

  .pttPayAssist__content > h2 {
    font-size: clamp(40px, 4.5vw, 55px);
  }

  .pttPayAssist__lead {
    font-size: 17px;
  }

  .pttPayAssist__cardHeader {
    padding: 26px 22px;
  }

  .pttPayAssist__services {
    padding: 5px 22px;
  }

  .pttPayAssist__contact {
    margin: auto 14px 14px;
    padding: 20px;
  }

  .pttPayAssist__service {
    gap: 10px;
  }
}

/* MOBILE */

@media (max-width: 760px) {
  .pttPayAssist {
    padding: 48px 0;
  }

  .pttPayAssist__container {
    width: calc(100% - 32px);
  }

  .pttPayAssist__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 35px;
  }

  .pttPayAssist__content > h2 {
    font-size: clamp(38px, 8vw, 52px);
    letter-spacing: -2px;
  }

  .pttPayAssist__lead {
    font-size: 16px;
  }

  .pttPayAssist__step {
    grid-template-columns: 44px minmax(0, 1fr) 16px;
    gap: 13px;
    padding: 21px 0;
  }

  .pttPayAssist__number {
    width: 42px;
    height: 42px;
  }

  .pttPayAssist__stepContent h3 {
    font-size: 18px;
  }

  .pttPayAssist__stepContent p {
    font-size: 14px;
  }

  .pttPayAssist__card {
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
  }

  .pttPayAssist__cardTitle h3 {
    font-size: 30px;
  }
}

/* SMALL MOBILE */

@media (max-width: 420px) {
  .pttPayAssist__container {
    width: calc(100% - 26px);
  }

  .pttPayAssist__content > h2 {
    font-size: 36px;
    letter-spacing: -1.6px;
  }

  .pttPayAssist__eyebrow {
    font-size: 12px;
  }

  .pttPayAssist__notice {
    padding: 15px;
    gap: 11px;
  }

  .pttPayAssist__noticeIcon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }

  .pttPayAssist__card {
    border-radius: 17px;
  }

  .pttPayAssist__cardHeader {
    padding: 22px 18px;
  }

  .pttPayAssist__cardTitle h3 {
    font-size: 25px;
  }

  .pttPayAssist__brandIcon {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    font-size: 19px;
  }

  .pttPayAssist__services {
    padding: 5px 18px;
  }

  .pttPayAssist__service {
    grid-template-columns: 39px minmax(0, 1fr) 14px;
    gap: 10px;
    padding: 17px 0;
  }

  .pttPayAssist__serviceIcon {
    width: 39px;
    height: 39px;
    font-size: 16px;
  }

  .pttPayAssist__service h4 {
    font-size: 14px;
  }

  .pttPayAssist__service p {
    font-size: 12px;
  }

  .pttPayAssist__contact {
    margin: auto 10px 12px;
    padding: 18px;
  }

  .pttPayAssist__contactTop h4 {
    font-size: 19px;
  }

  .pttPayAssist__cardFooter {
    padding: 14px 17px;
  }
}

