/* =========================================================
   PTT 2026 CLIENT CORRECTIONS — ISOLATED MODULES
   Namespace: ptt26-
   ========================================================= */
:root {
--ptt26-orange:#ef7d00;
--ptt26-orange-dark:#d86600;
--ptt26-ink:#121820;
--ptt26-navy:#17212d;
--ptt26-cream:#fff8ef;
--ptt26-soft:#f4f6f8;
--ptt26-line:rgba(18, 24, 32, .12);
--ptt26-white:#fff
}
.ptt26-shell {
	width:min(1320px, 92vw);
	margin-inline:auto
}
.ptt26-kicker {
	display:inline-flex;
	align-items:center;
	gap:10px;
	font:700 12px/1.2 'Poppins', sans-serif;
	letter-spacing:.18em;
	text-transform:uppercase;
	color:var(--ptt26-orange)
}
.ptt26-kicker:before {
	content:"";
	width:30px;
	height:2px;
	background:currentColor;
	border-radius:9px
}
.ptt26-title {
	margin:14px 0 16px;
	font:700 clamp(32px, 4.5vw, 64px)/1.02 'Open Sans', sans-serif;
	letter-spacing:-.045em;
	color:var(--ptt26-ink)
}
.ptt26-title em {
	font-family:'Cormorant Garamond', serif;
	font-weight:600;
	color:var(--ptt26-orange)
}
.ptt26-copy {
	font:400 17px/1.8 'Roboto', Arial, sans-serif;
	color:#5b626b;
	max-width:720px
}
.ptt26-btns {
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	margin-top:26px
}
.ptt26-btn {
	min-height:50px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:0 22px;
	border-radius:999px;
	text-decoration:none!important;
	font:700 14px/1 'Poppins', sans-serif;
transition:.25s ease;
	border:1px solid transparent
}
.ptt26-btn--primary {
	background:linear-gradient(135deg, var(--ptt26-orange), #ff9d2f);
	color:#fff!important;
	box-shadow:0 12px 30px rgba(239, 125, 0, .22)
}
.ptt26-btn--primary:hover {
	transform:translateY(-2px);
	box-shadow:0 16px 34px rgba(239, 125, 0, .28)
}
.ptt26-btn--dark {
	background:var(--ptt26-ink);
	color:#fff!important
}
.ptt26-btn--ghost {
	border-color:rgba(255, 255, 255, .35);
	color:#fff!important;
	background:rgba(255, 255, 255, .08);
	backdrop-filter:blur(8px)
}
.ptt26-btn--outline {
	border-color:var(--ptt26-line);
	color:var(--ptt26-ink)!important;
	background:#fff
}
/* GLOBAL UTILITY ACTIONS */
.ptt26-global-actions {
	display:flex;
	gap:8px;
	align-items:center
}
.ptt26-global-link {
	display:inline-flex;
	align-items:center;
	gap:7px;
	padding:4px 12px;
	border-radius:999px;
	text-decoration:none!important;
	font-size:12px;
	font-weight:700;
	letter-spacing:.02em
}
.ptt26-global-link--pay {
	background:#fff3e4;
	color:#b45400!important
}
.ptt26-global-link--gallery {
	background:#eef2f5;
	color:#1d2937!important
}
@media(max-width:1100px) {
.ptt26-global-actions {
display:none
}
}
/* HOME — TRANSFERS */
.ptt26-transfer {
	position:relative;
	padding:clamp(72px, 8vw, 118px) 0;
	background:linear-gradient(180deg, #fff 0%, #fff8ef 100%);
	overflow:hidden
}
.ptt26-transfer:before {
	content:"";
	position:absolute;
	right:-160px;
	top:-160px;
	width:480px;
	height:480px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(239, 125, 0, .15), transparent 68%)
}
.ptt26-transfer__head {
	display:grid;
grid-template-columns:1.15fr .85fr;
	gap:60px;
	align-items:end;
	margin-bottom:36px
}
.ptt26-transfer__lead {
	justify-self:end
}
.ptt26-transfer__grid {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:22px
}
.ptt26-transfer__card {
	position:relative;
	min-height:580px;
	border-radius:30px;
	overflow:hidden;
	isolation:isolate;
	background:#111;
	box-shadow:0 22px 55px rgba(22, 27, 34, .16)
}
.ptt26-transfer__card img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
transition:transform .55s ease
}
.ptt26-transfer__card:hover img {
	transform:scale(1.04)
}
.ptt26-transfer__card:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(7, 12, 18, .08) 20%, rgba(7, 12, 18, .88) 100%);
	z-index:-0
}
.ptt26-transfer__content {
	position:absolute;
	inset:auto 0 0;
	padding:34px;
	color:#fff;
	z-index:2
}
.ptt26-transfer__icon {
	width:54px;
	height:54px;
	border-radius:16px;
	display:grid;
	place-items:center;
	background:rgba(255, 255, 255, .14);
	backdrop-filter:blur(8px);
	font-size:21px;
	margin-bottom:18px;
	border:1px solid rgba(255, 255, 255, .2)
}
.ptt26-transfer__content h3 {
	font:700 clamp(24px, 3vw, 38px)/1.08 'Open Sans', sans-serif;
	margin:0 0 9px;
	color:#fff
}
.ptt26-transfer__content p {
	font:400 16px/1.65 'Roboto', sans-serif;
	color:rgba(255, 255, 255, .82);
	margin:0
}
.ptt26-transfer__meta {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-top:18px
}
.ptt26-transfer__meta span {
	font:600 12px/1 'Poppins', sans-serif;
	padding:9px 11px;
	border-radius:999px;
	background:rgba(255, 255, 255, .12);
	border:1px solid rgba(255, 255, 255, .18)
}
/* HOME — CORPORATE */
.ptt26-corporate {
	padding:clamp(72px, 8vw, 118px) 0;
	background:var(--ptt26-ink);
	color:#fff;
	overflow:hidden
}
.ptt26-corporate__grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:56px;
	align-items:center
}
.ptt26-corporate__media {
	position:relative;
	min-height:520px;
	border-radius:30px;
	overflow:hidden
}
.ptt26-corporate__media img {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover
}
.ptt26-corporate__media:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, transparent 45%, rgba(8, 13, 19, .72))
}
.ptt26-corporate__badge {
	position:absolute;
	left:24px;
	bottom:24px;
	z-index:2;
	background:#fff;
	color:var(--ptt26-ink);
	border-radius:18px;
	padding:16px 18px;
	max-width:260px;
	font:700 14px/1.4 'Poppins', sans-serif;
	box-shadow:0 16px 30px rgba(0, 0, 0, .22)
}
.ptt26-corporate .ptt26-title {
	color:#fff
}
.ptt26-corporate .ptt26-copy {
	color:rgba(255, 255, 255, .68)
}
.ptt26-corporate__features {
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:12px;
	margin-top:28px
}
.ptt26-corporate__feature {
	display:flex;
	gap:12px;
	align-items:flex-start;
	padding:16px;
	border:1px solid rgba(255, 255, 255, .12);
	border-radius:16px;
	background:rgba(255, 255, 255, .04)
}
.ptt26-corporate__feature i {
	color:var(--ptt26-orange);
	margin-top:3px
}
.ptt26-corporate__feature span {
	font:600 14px/1.45 'Poppins', sans-serif
}
/* HOME — BRAND STRIP */
.ptt26-brandline {
	padding:22px 0;
	background:linear-gradient(90deg, #e66e00, #ff9c2e);
	color:#fff;
	overflow:hidden
}
.ptt26-brandline__inner {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:18px;
	text-align:center;
	font:700 clamp(18px, 2.4vw, 30px)/1.2 'Open Sans', sans-serif;
	letter-spacing:-.02em
}
.ptt26-brandline__inner i {
	font-size:.6em;
	opacity:.65
}
.ptt26-brandline__inner em {
	font-family:'Cormorant Garamond', serif;
	font-size:1.15em
}
/* HOME — REVIEWS ACTIONS */
.ptt26-reviews {
	padding:56px 0;
	background:#f5f7f9
}
.ptt26-reviews__box {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	padding:30px 34px;
	border:1px solid #e4e8ec;
	background:#fff;
	border-radius:24px;
	box-shadow:0 14px 35px rgba(14, 24, 34, .06)
}
.ptt26-reviews__copy h3 {
	margin:0 0 7px;
	font:700 clamp(22px, 3vw, 34px)/1.15 'Open Sans', sans-serif;
	color:var(--ptt26-ink)
}
.ptt26-reviews__copy p {
	margin:0;
	color:#67707a;
	font:400 15px/1.65 'Roboto', sans-serif
}
/* FAQ */
.ptt26-faq {
	padding:clamp(70px, 8vw, 112px) 0;
	background:#fff
}
.ptt26-faq__head {
	text-align:center;
	max-width:760px;
	margin:0 auto 34px
}
.ptt26-faq__head .ptt26-kicker {
	justify-content:center
}
.ptt26-faq__head .ptt26-title {
	font-size:clamp(32px, 4vw, 52px)
}
.ptt26-faq__list {
	max-width:980px;
	margin:0 auto;
	display:grid;
	gap:12px
}
.ptt26-faq__item {
	border:1px solid #e7eaed;
	border-radius:18px;
	background:#fff;
	overflow:hidden;
	box-shadow:0 8px 22px rgba(16, 27, 38, .04)
}
.ptt26-faq__question {
	width:100%;
	border:0;
	background:transparent;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	text-align:left;
	padding:21px 24px;
	font:700 16px/1.4 'Poppins', sans-serif;
	color:var(--ptt26-ink);
	cursor:pointer
}
.ptt26-faq__question span:last-child {
	width:32px;
	height:32px;
	flex:0 0 32px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#fff3e6;
	color:var(--ptt26-orange);
transition:.25s
}
.ptt26-faq__question[aria-expanded="true"] span:last-child {
	transform:rotate(45deg);
	background:var(--ptt26-orange);
	color:#fff
}
.ptt26-faq__answer {
	display:grid;
	grid-template-rows:0fr;
transition:grid-template-rows .28s ease
}
.ptt26-faq__answer>div {
	overflow:hidden
}
.ptt26-faq__item.is-open .ptt26-faq__answer {
	grid-template-rows:1fr
}
.ptt26-faq__answer p {
	margin:0;
	padding:0 24px 22px;
	color:#66707b;
	font:400 15.5px/1.75 'Roboto', sans-serif
}
/* FLEET SPECS */
.ptt26-fleet-specs {
	padding:42px 0 74px;
	background:linear-gradient(180deg, #f7f8fa, #fff)
}
.ptt26-fleet-specs__panel {
	border-radius:26px;
	padding:28px;
	background:#fff;
	border:1px solid #e5e8eb;
	box-shadow:0 18px 44px rgba(16, 27, 38, .07)
}
.ptt26-fleet-specs__head {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:24px
}
.ptt26-fleet-specs__head h2 {
	margin:0;
	font:700 clamp(26px, 3vw, 38px)/1.1 'Open Sans', sans-serif;
	color:var(--ptt26-ink)
}
.ptt26-fleet-specs__grid {
	display:grid;
	grid-template-columns:repeat(5, minmax(0, 1fr));
	gap:10px
}
.ptt26-fleet-specs__item {
	padding:18px 16px;
	border-radius:16px;
	background:#f7f8fa;
	border:1px solid #ebedf0
}
.ptt26-fleet-specs__item i {
	font-size:20px;
	color:var(--ptt26-orange);
	margin-bottom:12px
}
.ptt26-fleet-specs__item small {
	display:block;
	font:600 11px/1.2 'Poppins', sans-serif;
	text-transform:uppercase;
	letter-spacing:.09em;
	color:#88909a;
	margin-bottom:6px
}
.ptt26-fleet-specs__item strong {
	font:700 15px/1.4 'Open Sans', sans-serif;
	color:#212832
}
.ptt26-fleet-specs__note {
	font:400 12px/1.55 'Roboto', sans-serif;
	color:#7d858f;
	margin:14px 0 0
}
/* TOUR SUMMARY */
.ptt26-tour-summary {
	padding:32px 0 64px;
	background:#fff
}
.ptt26-tour-summary__card {
	display:grid;
	grid-template-columns:repeat(4, minmax(0, 1fr)) auto;
	gap:10px;
	align-items:stretch;
	background:#141c26;
	border-radius:24px;
	padding:14px;
	box-shadow:0 18px 44px rgba(14, 22, 31, .15)
}
.ptt26-tour-summary__item {
	padding:18px 16px;
	border-radius:16px;
	background:rgba(255, 255, 255, .06);
	border:1px solid rgba(255, 255, 255, .08)
}
.ptt26-tour-summary__item small {
	display:block;
	color:#ffad55;
	font:700 10px/1.2 'Poppins', sans-serif;
	text-transform:uppercase;
	letter-spacing:.11em;
	margin-bottom:7px
}
.ptt26-tour-summary__item strong {
	display:block;
	color:#fff;
	font:600 14px/1.45 'Open Sans', sans-serif
}
.ptt26-tour-summary__cta {
	display:flex;
	align-items:center;
	padding:0 8px
}
/* GALLERY */
.ptt26-gallery-page {
	background:#f7f8fa
}
.ptt26-gallery-hero {
	padding:clamp(90px, 11vw, 150px) 0 70px;
	background:linear-gradient(135deg, #111923, #253446);
	color:#fff;
	position:relative;
	overflow:hidden
}
.ptt26-gallery-hero:after {
	content:"";
	position:absolute;
	width:420px;
	height:420px;
	border-radius:50%;
	right:-90px;
	bottom:-210px;
	background:radial-gradient(circle, rgba(239, 125, 0, .5), transparent 68%)
}
.ptt26-gallery-hero .ptt26-title {
	color:#fff;
	max-width:900px
}
.ptt26-gallery-hero .ptt26-copy {
	color:rgba(255, 255, 255, .7)
}
.ptt26-gallery {
	padding:64px 0 110px
}
.ptt26-gallery__filters {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:28px
}
.ptt26-gallery__filter {
	border:1px solid #dfe3e7;
	background:#fff;
	color:#303944;
	padding:11px 15px;
	border-radius:999px;
	font:700 12px/1 'Poppins', sans-serif;
	cursor:pointer
}
.ptt26-gallery__filter.is-active {
	background:var(--ptt26-orange);
	border-color:var(--ptt26-orange);
	color:#fff
}
.ptt26-gallery__grid {
	display:grid;
	grid-template-columns:repeat(12, 1fr);
	gap:16px
}
.ptt26-gallery__item {
	grid-column:span 4;
	position:relative;
	border-radius:20px;
	overflow:hidden;
	background:#ddd;
	min-height:300px;
	cursor:pointer
}
.ptt26-gallery__item:nth-child(5n+1) {
grid-column:span 8;
min-height:420px
}
.ptt26-gallery__item img {
	width:100%;
	height:100%;
	position:absolute;
	inset:0;
	object-fit:cover;
transition:.35s ease
}
.ptt26-gallery__item:hover img {
	transform:scale(1.035)
}
.ptt26-gallery__item:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, transparent 50%, rgba(4, 10, 16, .8))
}
.ptt26-gallery__caption {
	position:absolute;
	left:20px;
	right:20px;
	bottom:18px;
	z-index:2;
	color:#fff
}
.ptt26-gallery__caption small {
	display:block;
	color:#ffaf58;
	font:700 10px/1.2 'Poppins', sans-serif;
	text-transform:uppercase;
	letter-spacing:.12em;
	margin-bottom:5px
}
.ptt26-gallery__caption strong {
	font:700 18px/1.3 'Open Sans', sans-serif
}
.ptt26-gallery__empty {
	padding:40px;
	border-radius:20px;
	background:#fff;
	border:1px dashed #ccd3da;
	text-align:center;
	color:#65707a
}
/* PAYMENT PAGE */
.ptt26-pay-page {
	background:#f7f8fa
}
.ptt26-pay-hero {
	padding:clamp(85px, 10vw, 130px) 0 60px;
	background:#15202b;
	color:#fff
}
.ptt26-pay-hero .ptt26-title {
	color:#fff
}
.ptt26-pay-hero .ptt26-copy {
	color:rgba(255, 255, 255, .7)
}
.ptt26-pay {
	padding:56px 0 100px
}
.ptt26-pay__grid {
	display:grid;
grid-template-columns:1.1fr .9fr;
	gap:24px
}
.ptt26-pay__card {
	background:#fff;
	border:1px solid #e5e8eb;
	border-radius:24px;
	padding:28px;
	box-shadow:0 14px 34px rgba(18, 28, 38, .06)
}
.ptt26-pay__card h2, .ptt26-pay__card h3 {
	margin:0 0 12px;
	color:#19212b;
	font-family:'Open Sans', sans-serif
}
.ptt26-pay__card p {
	color:#68717b;
	line-height:1.75
}
.ptt26-pay__steps {
	display:grid;
	gap:12px;
	margin-top:18px
}
.ptt26-pay__step {
	display:flex;
	gap:14px;
	align-items:flex-start;
	padding:14px;
	border-radius:14px;
	background:#f7f8fa
}
.ptt26-pay__step b {
	width:32px;
	height:32px;
	flex:0 0 32px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:#fff0de;
	color:#c25b00
}
.ptt26-pay__notice {
	border-left:4px solid var(--ptt26-orange);
	padding:14px 16px;
	background:#fff7ee;
	border-radius:0 12px 12px 0;
	color:#5c4a3a
}
/* ABOUT CORPORATE ADDITION */
.ptt26-about-services {
	padding:70px 0;
	background:#f7f8fa
}
.ptt26-about-services__grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:16px;
	margin-top:28px
}
.ptt26-about-services__card {
	background:#fff;
	border:1px solid #e5e8eb;
	padding:24px;
	border-radius:20px
}
.ptt26-about-services__card i {
	font-size:24px;
	color:var(--ptt26-orange);
	margin-bottom:14px
}
.ptt26-about-services__card h3 {
	font:700 19px/1.3 'Open Sans', sans-serif;
	margin:0 0 9px;
	color:#1a222c
}
.ptt26-about-services__card p {
	font:400 16px/1.7 'Roboto', sans-serif;
	color:#000;
	margin:0
}

/* RESPONSIVE */
@media(max-width:991px) {
.ptt26-transfer__head, .ptt26-corporate__grid, .ptt26-pay__grid {
grid-template-columns:1fr
}
.ptt26-transfer__lead {
justify-self:start
}
.ptt26-corporate__media {
min-height:420px
}
.ptt26-fleet-specs__grid {
grid-template-columns:repeat(3, minmax(0, 1fr))
}
.ptt26-tour-summary__card {
grid-template-columns:repeat(2, minmax(0, 1fr))
}
.ptt26-tour-summary__cta {
grid-column:1/-1;
padding:8px 0 0
}
.ptt26-about-services__grid {
grid-template-columns:1fr 1fr
}
.ptt26-gallery__item, .ptt26-gallery__item:nth-child(5n+1) {
grid-column:span 6;
min-height:320px
}
}
@media(max-width:767px) {
.ptt26-title {
letter-spacing:-.03em
}
.ptt26-transfer__grid {
grid-template-columns:1fr
}
.ptt26-transfer__card {
min-height:390px
}
.ptt26-corporate__features {
grid-template-columns:1fr
}
.ptt26-reviews__box {
align-items:flex-start;
flex-direction:column
}
.ptt26-fleet-specs__head {
align-items:flex-start;
flex-direction:column
}
.ptt26-fleet-specs__grid {
grid-template-columns:1fr 1fr
}
.ptt26-tour-summary__card {
grid-template-columns:1fr
}
.ptt26-tour-summary__cta {
grid-column:auto
}
.ptt26-about-services__grid {
grid-template-columns:1fr
}
.ptt26-gallery__item, .ptt26-gallery__item:nth-child(5n+1) {
grid-column:1/-1;
min-height:290px
}
.ptt26-corporate__media {
min-height:340px
}
}
@media(max-width:480px) {
.ptt26-shell {
width:min(94vw, 1320px)
}
.ptt26-transfer__content {
padding:24px
}
.ptt26-fleet-specs__grid {
grid-template-columns:1fr
}
.ptt26-btn {
width:100%
}
.ptt26-btns {
width:100%


}
.ptt26-gallery__filters {
gap:6px
}
.ptt26-gallery__filter {
padding:10px 12px
}
.ptt26-reviews__box {
padding:22px
}
}

.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    padding:7px 14px !important;
    margin-left:4px;

    border-radius:30px !important;
    border:0 !important;

    color:#fff !important;
    font-size:13px;
    font-weight:700;
    line-height:1.2;
min-height:30px !important;
height: 30px !important;
    text-decoration:none !important;

    background:linear-gradient(
        45deg,
        #FEDA75 0%,
        #FA7E1E 25%,
        #D62976 50%,
        #962FBF 75%,
        #4F5BD5 100%
    ) !important;

    box-shadow:0 4px 12px rgba(214,41,118,.28);
    transition:all .25s ease;
}

.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn i{
    color:#fff !important;
    font-size:16px;
    margin:0 !important;
}

.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn:hover{
    color:#fff !important;
    background:linear-gradient(
        45deg,
        #FEDA75 0%,
        #FA7E1E 25%,
        #D62976 50%,
        #962FBF 75%,
        #4F5BD5 100%
    ) !important;

    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(214,41,118,.38);
}


/* =========================================================
   PTT 2026 PHASE 2 - TRANSFERS / GALLERY LIGHTBOX / REELS / PAYMENTS
   ========================================================= */
.ptt26-service-hero{position:relative;min-height:590px;display:flex;align-items:center;background:#101820;color:#fff;overflow:hidden;isolation:isolate}
.ptt26-service-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,13,19,.92) 0%,rgba(8,13,19,.68) 46%,rgba(8,13,19,.2) 100%),var(--ptt26-hero-image);background-size:cover;background-position:center;z-index:-2}
.ptt26-service-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(239,125,0,.14));z-index:-1}
.ptt26-service-hero__inner{padding:110px 0 90px}
.ptt26-service-hero h1{max-width:850px;margin:14px 0 18px;font:700 clamp(44px,6vw,82px)/.98 'Open Sans',sans-serif;letter-spacing:-.055em;color:#fff}
.ptt26-service-hero h1 em{font-family:'Cormorant Garamond',serif;font-weight:600;color:#ffff}
.ptt26-service-hero p{max-width:720px;margin:0;color:rgba(255,255,255,.82);font:400 18px/1.75 'Roboto',sans-serif}
.ptt26-service-intro{padding:clamp(72px,8vw,112px) 0;background:#fff}
.ptt26-service-intro__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.ptt26-service-intro__image{min-height:440px;border-radius:30px;overflow:hidden;box-shadow:0 24px 60px rgba(18,24,32,.12)}
.ptt26-service-intro__image img{width:100%;height:100%;min-height:440px;object-fit:cover;display:block}
.ptt26-service-grid{padding:clamp(72px,8vw,112px) 0;background:#f5f7f8}
.ptt26-service-grid--warm{background:#fff8ef}
.ptt26-service-grid__head{max-width:800px;margin-bottom:34px}
.ptt26-service-grid__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ptt26-service-grid__cards article{background:#fff;border:1px solid rgba(18,24,32,.09);border-radius:24px;padding:28px;box-shadow:0 14px 34px rgba(18,24,32,.05);transition:.25s ease}
.ptt26-service-grid__cards article:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(18,24,32,.09)}
.ptt26-service-grid__cards i{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:#fff1e0;color:var(--ptt26-orange);font-size:21px;margin-bottom:19px}
.ptt26-service-grid__cards h3{font:700 20px/1.3 'Open Sans',sans-serif;color:#17212b;margin:0 0 9px}
.ptt26-service-grid__cards p{font:400 15px/1.7 'Roboto',sans-serif;color:#68717b;margin:0}
.ptt26-service-benefits{padding:clamp(72px,8vw,112px) 0;background:#17212d;color:#fff}
.ptt26-service-benefits .ptt26-title{color:#fff}
.ptt26-service-benefits__head{max-width:780px;margin-bottom:32px}
.ptt26-service-benefits__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ptt26-service-benefits__grid>div{padding:26px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.045)}
.ptt26-service-benefits__grid i{font-size:24px;color:#ff9b30;margin-bottom:22px}
.ptt26-service-benefits__grid strong{display:block;font:700 18px/1.3 'Open Sans',sans-serif;margin-bottom:8px;color:#fff}
.ptt26-service-benefits__grid span{display:block;font:400 14.5px/1.65 'Roboto',sans-serif;color:rgba(255,255,255,.7)}
.ptt26-vehicle-links{padding:clamp(70px,8vw,105px) 0;background:#fff}
.ptt26-vehicle-links__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.ptt26-vehicle-links__grid a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 22px;border:1px solid #e4e7ea;border-radius:18px;color:#17212d!important;text-decoration:none!important;font:700 15px/1.35 'Open Sans',sans-serif;background:#fff;transition:.25s ease}
.ptt26-vehicle-links__grid a i{color:var(--ptt26-orange)}
.ptt26-vehicle-links__grid a:hover{border-color:rgba(239,125,0,.35);box-shadow:0 12px 28px rgba(18,24,32,.07);transform:translateY(-2px)}
.ptt26-service-cta{padding:42px 0;background:#fff}
.ptt26-service-cta__box{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:38px 42px;border-radius:28px;background:linear-gradient(135deg,#17212d,#0d141c);color:#fff;box-shadow:0 24px 60px rgba(13,20,28,.15)}
.ptt26-service-cta__box h2{margin:7px 0 8px;font:700 clamp(26px,3vw,42px)/1.1 'Open Sans',sans-serif;color:#fff}
.ptt26-service-cta__box p{margin:0;color:rgba(255,255,255,.7);font:400 15.5px/1.7 'Roboto',sans-serif;max-width:680px}

/* Gallery image controls + lightbox */
.ptt26-gallery__open{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.ptt26-gallery__open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.ptt26-gallery__item:hover .ptt26-gallery__open img{transform:scale(1.035)}
.ptt26-gallery__zoom{position:absolute;right:16px;top:16px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:rgba(15,22,30,.72);backdrop-filter:blur(7px);color:#fff;font-size:15px;opacity:0;transform:translateY(-4px);transition:.25s ease}
.ptt26-gallery__item:hover .ptt26-gallery__zoom{opacity:1;transform:none}
.ptt26-gallery__caption{pointer-events:none}
.ptt26-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(4,8,12,.94);padding:34px 86px;backdrop-filter:blur(9px)}
.ptt26-lightbox.is-open{display:flex}
.ptt26-lightbox figure{margin:0;max-width:min(1180px,88vw);max-height:88vh;text-align:center}
.ptt26-lightbox figure img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:auto;border-radius:14px;box-shadow:0 24px 80px rgba(0,0,0,.45)}
.ptt26-lightbox figcaption{margin-top:12px;color:rgba(255,255,255,.78);font:600 14px/1.4 'Poppins',sans-serif}
.ptt26-lightbox__close,.ptt26-lightbox__nav{position:absolute;border:0;color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(8px);cursor:pointer;display:grid;place-items:center;transition:.2s ease}
.ptt26-lightbox__close{top:22px;right:22px;width:48px;height:48px;border-radius:50%;font-size:21px}
.ptt26-lightbox__nav{top:50%;width:52px;height:68px;border-radius:18px;transform:translateY(-50%);font-size:20px}
.ptt26-lightbox__prev{left:20px}.ptt26-lightbox__next{right:20px}
.ptt26-lightbox__close:hover,.ptt26-lightbox__nav:hover{background:var(--ptt26-orange)}
body.ptt26-lightbox-open{overflow:hidden}

/* Event reel cards */
.ptt26-reels{padding:clamp(74px,8vw,112px) 0;background:#111a23;color:#fff}
.ptt26-reels .ptt26-title{color:#fff}.ptt26-reels .ptt26-copy{color:rgba(255,255,255,.68)}
.ptt26-reels__head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:32px}
.ptt26-reels__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ptt26-reel-card{position:relative;aspect-ratio:9/16;border-radius:24px;overflow:hidden;background:#0a0f14;border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 42px rgba(0,0,0,.22)}
.ptt26-reel-card>img,.ptt26-reel-card>video{width:100%;height:100%;object-fit:cover;display:block}
.ptt26-reel-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,12,.06),rgba(5,8,12,.78));pointer-events:none}
.ptt26-reel-card__overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#fff;display:grid;gap:6px}
.ptt26-reel-card__overlay i{font-size:32px;margin-bottom:8px}.ptt26-reel-card__overlay strong{font:700 16px/1.3 'Open Sans',sans-serif}.ptt26-reel-card__overlay span{font:500 12px/1.4 'Poppins',sans-serif;color:rgba(255,255,255,.68)}
.ptt26-media-note{display:flex;gap:14px;align-items:flex-start;margin-top:24px;padding:18px 20px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.75)}
.ptt26-media-note>i{color:#ff9828;margin-top:3px}.ptt26-media-note strong{color:#fff}.ptt26-media-note p{margin:3px 0 0;font:400 13px/1.55 'Roboto',sans-serif}.ptt26-media-note code{color:#ffb35e}

/* Payments phase 2 */
.ptt26-pay-services{padding:70px 0 24px;background:#f7f8fa}
.ptt26-pay-services__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.ptt26-pay-services__grid span{display:flex;align-items:center;gap:10px;padding:15px 17px;border-radius:14px;background:#fff;border:1px solid #e4e8eb;color:#303944;font:600 13.5px/1.35 'Poppins',sans-serif}
.ptt26-pay-services__grid span:before{content:"\f058";font-family:"Font Awesome 6 Free";font-weight:900;color:var(--ptt26-orange)}
.ptt26-qr-card{background:#17212d;color:#fff;border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(17,26,35,.16)}
.ptt26-qr-card__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font:600 11px/1 'Poppins',sans-serif;color:#ffd3a0;margin-bottom:18px}
.ptt26-qr-card__placeholder{min-height:310px;border:1px dashed rgba(255,255,255,.25);border-radius:22px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.ptt26-qr-card__placeholder i{font-size:74px;color:#fff;margin-bottom:14px}.ptt26-qr-card__placeholder strong{font:700 22px/1.25 'Open Sans',sans-serif}.ptt26-qr-card__placeholder span{font:500 12px/1.45 'Poppins',sans-serif;color:rgba(255,255,255,.58);margin-top:6px}
.ptt26-qr-card h3{font:700 22px/1.3 'Open Sans',sans-serif;color:#fff;margin:20px 0 8px}.ptt26-qr-card p{color:rgba(255,255,255,.68);font:400 14px/1.7 'Roboto',sans-serif}
.ptt26-qr-card__contacts{display:grid;gap:9px;margin-top:18px}.ptt26-qr-card__contacts a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;border-radius:12px;background:#fff;color:#17212d!important;text-decoration:none!important;font:700 13px/1 'Poppins',sans-serif}.ptt26-qr-card__contacts a:first-child{background:#25d366;color:#fff!important}
.ptt26-pay-confirm{padding:0 0 68px;background:#f7f8fa}.ptt26-pay-confirm__box{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;background:#fff;border:1px solid #e3e7ea;border-radius:22px;padding:24px 28px}.ptt26-pay-confirm__box>i{font-size:34px;color:#25d366}.ptt26-pay-confirm h2{margin:0 0 5px;font:700 21px/1.3 'Open Sans',sans-serif;color:#17212d}.ptt26-pay-confirm p{margin:0;color:#68717b;font:400 14.5px/1.65 'Roboto',sans-serif}

/* Global topbar/mobile polish */
.ptt26-global-link{min-height:30px;transition:.2s ease}.ptt26-global-link:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(18,24,32,.09)}
.ptt-mobile-nav>li>a[href="gallery.html"],.ptt-mobile-nav>li>a[href="payments.html"]{font-weight:700}
.ptt-mobile-nav>li>a[href="payments.html"]{color:var(--ptt26-orange)}

@media(max-width:1100px){
.ptt26-service-grid__cards,.ptt26-service-benefits__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptt26-reels__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:991px){
.ptt26-service-intro__grid{grid-template-columns:1fr;gap:34px}.ptt26-service-intro__image{min-height:360px}.ptt26-service-intro__image img{min-height:360px}
.ptt26-vehicle-links__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptt26-service-cta__box{align-items:flex-start;flex-direction:column}.ptt26-pay-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ptt26-pay-confirm__box{grid-template-columns:auto 1fr}.ptt26-pay-confirm__box .ptt26-btn{grid-column:1/-1;width:max-content}
}
@media(max-width:767px){
.ptt26-service-hero{min-height:520px}.ptt26-service-hero__inner{padding:84px 0 70px}.ptt26-service-hero h1{font-size:clamp(38px,12vw,58px)}
.ptt26-service-grid__cards,.ptt26-service-benefits__grid{grid-template-columns:1fr}.ptt26-reels__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ptt26-lightbox{padding:65px 14px 28px}.ptt26-lightbox__nav{top:auto;bottom:20px;width:48px;height:48px;border-radius:50%;transform:none}.ptt26-lightbox__prev{left:calc(50% - 58px)}.ptt26-lightbox__next{right:calc(50% - 58px)}.ptt26-lightbox figure img{max-height:72vh}
.ptt26-pay-confirm__box{grid-template-columns:1fr}.ptt26-pay-confirm__box .ptt26-btn{width:100%}.ptt26-service-cta__box{padding:30px 24px}
}
@media(max-width:480px){
.ptt26-vehicle-links__grid,.ptt26-pay-services__grid{grid-template-columns:1fr}.ptt26-reels__grid{grid-template-columns:1fr 1fr;gap:10px}.ptt26-reel-card{border-radius:18px}.ptt26-reel-card__overlay{padding:15px}.ptt26-reel-card__overlay i{font-size:25px}.ptt26-reel-card__overlay strong{font-size:13px}.ptt26-reel-card__overlay span{font-size:10px}
.ptt26-gallery__zoom{opacity:1;width:36px;height:36px}.ptt26-service-hero p{font-size:16px}.ptt26-service-intro__image,.ptt26-service-intro__image img{min-height:290px}
}

/* =========================================================
   PTT FINAL VISUAL POLISH — 06 OCT 2026
   Palette locked to #fb0001 / #000 / #fff
   ========================================================= */
:root{
  --ptt26-orange:#fb0001;
  --ptt26-orange-dark:#d70001;
  --ptt26-ink:#000;
  --ptt26-navy:#000;
  --ptt26-cream:#fff;
  --ptt26-soft:#fff;
  --ptt26-line:rgba(0,0,0,.12);
  --ptt26-white:#fff;
}

.ptt26-title{
  font-size:clamp(38px,5vw,70px);
  line-height:1.04;
  color:#000;
}
.ptt26-title em{color:#fb0001}
.ptt26-copy{
  font-size:18px;
  line-height:1.8;
  color:#333;
  max-width:780px;
}
.ptt26-kicker{font-size:13px;color:#fb0001}
.ptt26-btn{min-height:54px;font-size:15px;padding:0 24px}
.ptt26-btn--primary{background:#fb0001;color:#fff!important;box-shadow:0 12px 28px rgba(251,0,1,.22)}
.ptt26-btn--primary:hover{background:#000;box-shadow:0 14px 30px rgba(0,0,0,.2)}
.ptt26-btn--dark{background:#000}
.ptt26-btn--outline{background:#fff;color:#000!important;border-color:rgba(0,0,0,.16)}

/* Top bar: robust against DWT/page wrapper variations */
.ptt-topbar{
  background:#000!important;
  color:#fff!important;
  min-height:48px!important;
  height:auto!important;
  padding:0 28px!important;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ptt-topbar > .ptt-topbar-inner,
.ptt-topbar .ptt-container.ptt-topbar-inner{
  min-height:48px!important;
  height:auto!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:5px 0!important;
}
.ptt-topbar-contact{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  min-width:0!important;
  height:auto!important;
}

.ptt-topbar-contact > a::after,
.ptt-topbar-links > a::after{display:none!important}

.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 14px!important;
  margin-left:2px!important;
  border:0!important;
  border-radius:10px!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  text-decoration:none!important;
  background:linear-gradient(45deg,#feda75 0%,#fa7e1e 24%,#d62976 48%,#962fbf 72%,#4f5bd5 100%)!important;
  box-shadow:0 6px 18px rgba(214,41,118,.26)!important;
  transition:.25s ease!important;
}
.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn i{color:#fff!important;font-size:16px!important;width:auto!important;height:auto!important}
.ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 8px 22px rgba(214,41,118,.34)!important}

.ptt26-global-actions{display:flex!important;align-items:center!important;gap:8px!important}
.ptt26-global-link{
  min-height:36px;
  padding:0 13px;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  border:1px solid rgba(255,255,255,.18);
  transition:.25s ease;
}
.ptt26-global-link--gallery{background:#fff;color:#000!important}
.ptt26-global-link--pay{background:#fb0001;color:#fff!important;border-color:#fb0001}
.ptt26-global-link:hover{transform:translateY(-1px)}
.ptt26-global-link--gallery:hover{background:#fb0001;color:#fff!important;border-color:#fb0001}
.ptt26-global-link--pay:hover{background:#fff;color:#000!important;border-color:#fff}

.ptt-topbar-links{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;height:auto!important;margin:0!important}
.ptt-topbar-links>a{
  min-height:36px!important;
  height:36px!important;
  padding:0 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:600!important;
  border-radius:9px!important;
}
.ptt-topbar-links>a:hover{background:#fff!important;color:#000!important}

/* Gallery polish */
.ptt26-gallery-hero{background:#000}
.ptt26-gallery-hero:after{background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.52),rgba(0,0,0,.15))}
.ptt26-gallery-hero .ptt26-title,.ptt26-gallery-hero .ptt26-copy{color:#fff}
.ptt26-gallery{background:#fff}
.ptt26-gallery__filter{
  font-size:14px;
  min-height:44px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#000;
}
.ptt26-gallery__filter:hover,.ptt26-gallery__filter.is-active{background:#fb0001;color:#fff;border-color:#fb0001}
.ptt26-gallery__item{border-radius:22px;box-shadow:0 15px 34px rgba(0,0,0,.10)}
.ptt26-gallery__item:after{background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.82) 100%)}
.ptt26-gallery__caption small{color:#fff;font-size:12px}
.ptt26-gallery__caption strong{color:#fff;font-size:19px}
.ptt26-gallery__zoom{background:#fb0001;color:#fff}

/* Premium fullscreen lightbox */
.ptt26-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:72px 92px 56px;
  background:rgba(0,0,0,.96);
  backdrop-filter:blur(12px);
}
.ptt26-lightbox.is-open{display:flex}
.ptt26-lightbox figure{margin:0;max-width:min(1320px,88vw);max-height:88vh;text-align:center}
.ptt26-lightbox figure img{
  display:block;
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  margin:auto;
  object-fit:contain;
  border-radius:14px;
  background:#000;
  box-shadow:0 26px 90px rgba(0,0,0,.5);
}
.ptt26-lightbox figcaption{margin-top:14px;color:#fff;font:600 15px/1.45 'Poppins',sans-serif}
.ptt26-lightbox__close,.ptt26-lightbox__nav{
  position:absolute;
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(10px);
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:.22s ease;
}
.ptt26-lightbox__close{top:22px;right:22px;width:50px;height:50px;border-radius:50%;font-size:21px}
.ptt26-lightbox__nav{top:50%;width:58px;height:72px;border-radius:16px;transform:translateY(-50%);font-size:22px}
.ptt26-lightbox__prev{left:22px}.ptt26-lightbox__next{right:22px}
.ptt26-lightbox__close:hover,.ptt26-lightbox__nav:hover{background:#fb0001;border-color:#fb0001}
body.ptt26-lightbox-open{overflow:hidden}

/* New modules: red / black / white only */
.ptt26-transfer{background:#fff}
.ptt26-transfer:before{background:radial-gradient(circle,rgba(251,0,1,.10),transparent 68%)}
.ptt26-corporate{background:#000}
.ptt26-corporate__feature i{color:#fb0001}
.ptt26-brandline{background:#fb0001}
.ptt26-reviews{background:#fff}
.ptt26-reviews__box{border-color:rgba(0,0,0,.10)}
.ptt26-faq{background:#fff}
.ptt26-faq__question{font-size:17px;color:#000}
.ptt26-faq__question span:last-child{background:#fb0001;color:#fff}

@media (max-width:1280px){
  .ptt-topbar{padding:0 16px!important}
  .ptt-topbar > .ptt-topbar-inner,.ptt-topbar .ptt-container.ptt-topbar-inner{width:100%!important;gap:10px!important}
  .ptt-topbar-contact>a:not(.ptt26-instagram-btn){font-size:12.5px!important;padding:0 7px!important}
  .ptt-topbar .ptt-topbar-contact a.ptt26-instagram-btn{font-size:12.5px!important;padding:0 10px!important}
  .ptt26-global-link{font-size:12px;padding:0 10px}
  .ptt-topbar-links>a{font-size:12px!important;padding:0 7px!important}
}

@media (max-width:1100px){
  .ptt26-global-actions{display:none!important}
}

@media (max-width:991px){
  .ptt-topbar{display:none!important}
  .pttquick-mobile-bar{display:block!important;background:#000!important;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .pttquick-item:hover,.pttquick-item:active{background:#fb0001!important}
  .ptt-mobile-panel{background:#fff!important}
  .ptt-mobile-nav>li>a[href="gallery.html"],
  .ptt-mobile-nav>li>a[href="payments.html"]{
    display:flex!important;
    align-items:center!important;
    min-height:48px;
    margin:6px 0;
    padding:0 14px!important;
    border-radius:12px;
    font-weight:700!important;
  }
  .ptt-mobile-nav>li>a[href="gallery.html"]{background:#000!important;color:#fff!important}
  .ptt-mobile-nav>li>a[href="payments.html"]{background:#fb0001!important;color:#fff!important}
  .ptt26-title{font-size:clamp(34px,7vw,54px)}
  .ptt26-copy{font-size:17px;line-height:1.75}
}

@media (max-width:640px){
  .ptt26-lightbox{padding:64px 12px 92px}
  .ptt26-lightbox figure{max-width:96vw}
  .ptt26-lightbox figure img{max-height:70vh;border-radius:10px}
  .ptt26-lightbox__close{top:12px;right:12px;width:44px;height:44px}
  .ptt26-lightbox__nav{top:auto;bottom:20px;width:50px;height:50px;border-radius:50%;transform:none}
  .ptt26-lightbox__prev{left:calc(50% - 62px)}
  .ptt26-lightbox__next{right:calc(50% - 62px)}
  .ptt26-gallery__filters{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:5px;scrollbar-width:none}
  .ptt26-gallery__filters::-webkit-scrollbar{display:none}
  .ptt26-gallery__filter{flex:0 0 auto;white-space:nowrap}
  .ptt26-copy{font-size:16.5px}
}


/* =========================================================
   PTT PADHARO BRAND STRIP
   UNIQUE NAMESPACE: pttPadharoX
========================================================= */

.pttPadharoX{
    width:100%;
    position:relative;
    overflow:hidden;
    background:#fb0001;
    padding:18px 20px;
}

.pttPadharoX__wrap{
    width:min(1400px, 94%);
    margin:0 auto;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;

    text-align:center;
}

/* ICON */
.pttPadharoX__icon{
    display:block;
    width:56px;
    height:56px;
    object-fit:contain;
    flex:0 0 auto;

    opacity:0;
    transform:translate3d(-24px,0,0) scale(.78);
}

/* TEXT */
.pttPadharoX__text{
    display:block;
    margin:0;

    color:#fff;
    font-family:'Caveat', cursive;
    font-size:clamp(30px, 3.2vw, 48px);
    font-weight:600;
    line-height:1;
    letter-spacing:.01em;

    opacity:0;
    transform:translate3d(0,18px,0);
}

/* =========================================
   ANIMATION ACTIVE STATE
========================================= */

.pttPadharoX.pttPadharoX--show .pttPadharoX__icon{
    animation:
        pttPadharoXIconIn
        .9s
        cubic-bezier(.22,.61,.36,1)
        forwards;
}

.pttPadharoX.pttPadharoX--show .pttPadharoX__text{
    animation:
        pttPadharoXTextIn
        .95s
        cubic-bezier(.22,.61,.36,1)
        .18s
        forwards;
}

/* ICON ENTRY */
@keyframes pttPadharoXIconIn{

    0%{
        opacity:0;
        transform:translate3d(-24px,0,0) scale(.78);
    }

    65%{
        opacity:1;
        transform:translate3d(4px,0,0) scale(1.04);
    }

    100%{
        opacity:1;
        transform:translate3d(0,0,0) scale(1);
    }
}

/* TEXT ENTRY */
@keyframes pttPadharoXTextIn{

    0%{
        opacity:0;
        transform:translate3d(0,18px,0);
    }

    100%{
        opacity:1;
        transform:translate3d(0,0,0);
    }
}

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

@media (max-width:768px){

    .pttPadharoX{
        padding:15px 16px;
    }

    .pttPadharoX__wrap{
        width:100%;
        gap:11px;
    }

    .pttPadharoX__icon{
        width:46px;
        height:46px;
    }

    .pttPadharoX__text{
        font-size:clamp(28px, 6vw, 38px);
    }
}

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

@media (max-width:480px){

    .pttPadharoX{
        padding:13px 12px;
    }

    .pttPadharoX__wrap{
        gap:9px;
    }

    .pttPadharoX__icon{
        width:40px;
        height:40px;
    }

    .pttPadharoX__text{
        font-size:27px;
        line-height:1.05;
    }
}

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

@media (max-width:360px){

    .pttPadharoX{
        padding:12px 10px;
    }

    .pttPadharoX__icon{
        width:35px;
        height:35px;
    }

    .pttPadharoX__text{
        font-size:24px;
    }
}

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

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

    .pttPadharoX__icon,
    .pttPadharoX__text{
        opacity:1 !important;
        transform:none !important;
        animation:none !important;
    }
}

/* =========================================================
   PTT WHY CHOOSE US - PREMIUM HERITAGE SECTION
   UNIQUE NAMESPACE: pttWhyPrime
========================================================= */

.pttWhyPrime{
    position:relative;
    width:100%;
    min-height:680px;

    display:flex;
    align-items:center;

padding: 90px 0;

    background:
        url("../images/why-choose-bg.webp")
        center center / cover
        no-repeat;

    overflow:hidden;
}

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


/* DARK OVERLAY */

.pttWhyPrime__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.93) 0%,
            rgba(0,0,0,.82) 40%,
            rgba(0,0,0,.68) 100%
        );

    pointer-events:none;
}


/* RED AMBIENT GLOW */

.pttWhyPrime::after{
    content:"";

    position:absolute;
    width:500px;
    height:500px;

    right:-220px;
    bottom:-260px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(251,0,1,.22),
            transparent 68%
        );

    pointer-events:none;
}


/* CONTAINER */

.pttWhyPrime__shell{
    width:min(1450px,92%);
    margin:0 auto;

    position:relative;
    z-index:2;
}


/* =========================================================
   HEADER
========================================================= */

.pttWhyPrime__head{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);

    gap:clamp(45px,7vw,100px);

    align-items:end;

    margin-bottom:55px;
}


.pttWhyPrime__eyebrow{
    display:inline-block;

    margin-bottom:15px;

    color:#fb0001;

    font-family:'Caveat',cursive;
    font-size:clamp(24px,2vw,32px);
    font-weight:600;

    letter-spacing:.02em;
}


.pttWhyPrime__titleWrap h2{
    margin:0;

    max-width:760px;

    color:#fff;

    font-family:'Outfit',sans-serif;
    font-size:clamp(46px,5vw,74px);
    font-weight:700;

    line-height:.98;
    letter-spacing:-.04em;
}


.pttWhyPrime__titleWrap h2 span{
    display:block;

    margin-top:6px;

    color:#fff;
}


.pttWhyPrime__lead{
    max-width:560px;
    justify-self:end;
}


.pttWhyPrime__lead p{
    margin:0;

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

    font-family:'Outfit',sans-serif;
    font-size:18px;
    font-weight:400;

    line-height:1.75;
}


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

.pttWhyPrime__grid{
    display:grid;

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

    gap:0;

    border-top:
        1px solid rgba(255,255,255,.15);

    border-bottom:
        1px solid rgba(255,255,255,.15);
}


/* ITEM */

.pttWhyPrime__item{
    position:relative;

    min-height:290px;

    padding:
        38px 34px 34px;

    border-right:
        1px solid rgba(255,255,255,.15);

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


.pttWhyPrime__item:last-child{
    border-right:0;
}


.pttWhyPrime__item:hover{
    background:
        rgba(255,255,255,.055);
}


/* NUMBER */

.pttWhyPrime__number{
    position:absolute;

    top:24px;
    right:24px;

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

    font-family:'Outfit',sans-serif;
    font-size:40px;
    font-weight:700;

    line-height:1;
}


/* ICON */

.pttWhyPrime__icon{
    width:66px;
    height:66px;

    display:grid;
    place-items:center;

    margin-bottom:25px;

    border-radius:50%;

    border:
        1px solid
        rgba(251,0,1,.55);

    background:
        rgba(0,0,0,.35);

    color:#fb0001;

    font-size:23px;

    box-shadow:
        0 0 0 7px
        rgba(251,0,1,.06);

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


.pttWhyPrime__item:hover
.pttWhyPrime__icon{

    background:#fb0001;

    color:#fff;

    transform:translateY(-4px);
}


/* TITLE */

.pttWhyPrime__item h3{
    margin:
        0 0 12px;

    color:#fff;

    font-family:'Outfit',sans-serif;
    font-size:24px;
    font-weight:700;

    line-height:1.2;
}


/* PARAGRAPH */

.pttWhyPrime__item p{
    margin:0;

    max-width:270px;

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

    font-family:'Outfit',sans-serif;
    font-size:16px;

    line-height:1.7;
}


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

@media (max-width:1200px){

    .pttWhyPrime{
        min-height:auto;
    }

    .pttWhyPrime__item{
        padding:
            34px 26px 30px;
    }

    .pttWhyPrime__item h3{
        font-size:21px;
    }

    .pttWhyPrime__item p{
        font-size:15px;
    }

}


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

@media (max-width:991px){

    .pttWhyPrime{
        padding:
            80px 0;
    }

    .pttWhyPrime__head{
        grid-template-columns:1fr;

        gap:24px;

        margin-bottom:40px;
    }

    .pttWhyPrime__lead{
        justify-self:start;
        max-width:700px;
    }

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

    .pttWhyPrime__item{
        border-bottom:
            1px solid
            rgba(255,255,255,.15);
    }

    .pttWhyPrime__item:nth-child(2){
        border-right:0;
    }

    .pttWhyPrime__item:nth-child(3),
    .pttWhyPrime__item:nth-child(4){
        border-bottom:0;
    }

}


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

@media (max-width:600px){

    .pttWhyPrime{
        padding:
            66px 0;
    }

    .pttWhyPrime__shell{
        width:min(92%,520px);
    }

    .pttWhyPrime__eyebrow{
        font-size:24px;
    }

    .pttWhyPrime__titleWrap h2{
        font-size:
            clamp(38px,10vw,48px);
    }

    .pttWhyPrime__lead p{
        font-size:16px;
        line-height:1.7;
    }

    .pttWhyPrime__grid{
        grid-template-columns:1fr;
    }

    .pttWhyPrime__item{
        min-height:auto;

        padding:
            28px 6px;

        border-right:0;

        border-bottom:
            1px solid
            rgba(255,255,255,.15);
    }

    .pttWhyPrime__item:nth-child(3){
        border-bottom:
            1px solid
            rgba(255,255,255,.15);
    }

    .pttWhyPrime__item:last-child{
        border-bottom:0;
    }

    .pttWhyPrime__number{
        top:28px;
        right:6px;

        font-size:34px;
    }

    .pttWhyPrime__icon{
        width:58px;
        height:58px;

        margin-bottom:19px;

        font-size:20px;
    }

    .pttWhyPrime__item h3{
        font-size:22px;
    }

    .pttWhyPrime__item p{
        max-width:90%;

        font-size:15.5px;
    }

}


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

@media (max-width:380px){

    .pttWhyPrime__titleWrap h2{
        font-size:35px;
    }

    .pttWhyPrime__lead p{
        font-size:15.5px;
    }

}


/* =========================================================
   PTT PROFESSIONAL DRIVERS
   UNIQUE NAMESPACE: pttDriverPrime
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttDriverPrime{
    position:relative;
    width:100%;
padding: 90px 0;
    background:#fff;
    overflow:hidden;
}

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


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

.pttDriverPrime__shell{
    width:min(1420px,92%);
    margin:0 auto;
}


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

.pttDriverPrime__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.95fr)
        minmax(0,1.05fr);

    gap:clamp(50px,6vw,95px);

    align-items:center;
}


/* =========================================================
   IMAGE
========================================================= */

.pttDriverPrime__media{
    position:relative;

    min-height:620px;

    border-radius:32px;
    overflow:hidden;

    background:#000;

    box-shadow:
        0 28px 70px rgba(0,0,0,.12);
}


.pttDriverPrime__media::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 48%,
            rgba(0,0,0,.12) 68%,
            rgba(0,0,0,.72) 100%
        );

    pointer-events:none;
}


.pttDriverPrime__media img{
    width:100%;
    height:100%;

    position:absolute;
    inset:0;

    object-fit:cover;
    object-position:center;

    display:block;

    transition:
        transform .7s ease;
}


.pttDriverPrime__media:hover img{
    transform:scale(1.025);
}


/* IMAGE LABEL */

.pttDriverPrime__imageLabel{
    position:absolute;

    left:26px;
    right:26px;
    bottom:25px;

    z-index:3;

    display:flex;
    align-items:center;

    gap:14px;

    padding:16px 18px;

    border-radius:18px;

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

    box-shadow:
        0 15px 35px
        rgba(0,0,0,.15);

    backdrop-filter:blur(8px);
}


.pttDriverPrime__imageIcon{
    width:48px;
    height:48px;

    flex:0 0 48px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fb0001;
    color:#fff;

    font-size:18px;
}


.pttDriverPrime__imageLabel strong{
    display:block;

    margin-bottom:3px;

    color:#000;

    font-family:'Outfit',sans-serif;
    font-size:16px;
    font-weight:700;
}


.pttDriverPrime__imageLabel div > span{
    display:block;

    color:#666;

    font-family:'Outfit',sans-serif;
    font-size:13px;
    line-height:1.4;
}


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

.pttDriverPrime__content{
    min-width:0;
}


.pttDriverPrime__eyebrow{
    display:inline-flex;

    align-items:center;
    gap:9px;

    margin-bottom:15px;

    color:#fb0001;

    font-family:'Outfit',sans-serif;
    font-size:13px;
    font-weight:700;

    letter-spacing:.13em;
    text-transform:uppercase;
}


.pttDriverPrime__eyebrow i{
    font-size:14px;
}


.pttDriverPrime__content > h2{
    max-width:720px;

    margin:0 0 21px;

    color:#000;

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

    font-size:
        clamp(44px,4.7vw,70px);

    font-weight:700;

    line-height:.98;

    letter-spacing:-.04em;
}


.pttDriverPrime__content > h2 span{
    display:block;

    color:#fb0001;
}


.pttDriverPrime__lead{
    max-width:680px;

    margin:
        0 0 32px;

    color:#000;

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

    font-size:18px;

    line-height:1.75;
}


/* =========================================================
   FEATURES
========================================================= */

.pttDriverPrime__features{
    display:grid;

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

    gap:13px;
}


.pttDriverPrime__feature{
    display:grid;

    grid-template-columns:
        auto 1fr;

    gap:13px;

    align-items:start;

    padding:18px;

    border:
        1px solid
        rgba(0,0,0,.09);

    border-radius:18px;

    background:#fff;

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


.pttDriverPrime__feature:hover{
    transform:
        translateY(-3px);

    border-color:
        rgba(251,0,1,.3);

    box-shadow:
        0 12px 30px
        rgba(0,0,0,.06);
}


.pttDriverPrime__featureIcon{
    width:45px;
    height:45px;

    display:grid;
    place-items:center;

    border-radius:14px;

    background:
        rgba(251,0,1,.08);

    color:#fb0001;

    font-size:17px;
}


.pttDriverPrime__feature h3{
    margin:
        0 0 5px;

    color:#000;

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

    font-size:17px;
    font-weight:700;
}


.pttDriverPrime__feature p{
    margin:0;

    color:#000;

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

    font-size:14px;

    line-height:1.4;
}


/* =========================================================
   BOTTOM AREA
========================================================= */

.pttDriverPrime__bottom{
    margin-top:28px;

    padding-top:24px;

    border-top:
        1px solid
        rgba(0,0,0,.09);
}


.pttDriverPrime__promise{
    display:flex;

    align-items:flex-start;
    gap:9px;

    margin-bottom:19px;

    color:#333;

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

    font-size:14px;
    line-height:1.55;
}


.pttDriverPrime__promise i{
    color:#fb0001;
    margin-top:3px;
}


/* BUTTONS */

.pttDriverPrime__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;
}


.pttDriverPrime__btn{
    min-height:50px;

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

    gap:9px;

    padding:0 21px;

    border-radius:50px;

    text-decoration:none !important;

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

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

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


.pttDriverPrime__btn--red{
    background:#fb0001;

    color:#fff !important;

    box-shadow:
        0 10px 25px
        rgba(251,0,1,.18);
}


.pttDriverPrime__btn--red:hover{
    background:#000;

    color:#fff !important;

    transform:
        translateY(-2px);
}


.pttDriverPrime__btn--outline{
    background:#fff;

    color:#000 !important;

    border:
        1px solid
        rgba(0,0,0,.16);
}


.pttDriverPrime__btn--outline:hover{
    background:#000;

    color:#fff !important;

    border-color:#000;

    transform:
        translateY(-2px);
}


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

@media (max-width:1200px){

    .pttDriverPrime__grid{
        gap:50px;
    }

    .pttDriverPrime__media{
        min-height:560px;
    }

    .pttDriverPrime__lead{
        font-size:17px;
    }

}


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

@media (max-width:991px){

    .pttDriverPrime{
        padding:75px 0;
    }

    .pttDriverPrime__grid{
        grid-template-columns:1fr;
        gap:45px;
    }

    .pttDriverPrime__media{
        min-height:550px;
    }

    .pttDriverPrime__content{
        max-width:850px;
    }

}


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

@media (max-width:600px){

    .pttDriverPrime{
        padding:62px 0;
    }

    .pttDriverPrime__shell{
        width:min(92%,520px);
    }

    .pttDriverPrime__grid{
        gap:32px;
    }

    .pttDriverPrime__media{
        min-height:460px;

        border-radius:23px;
    }

    .pttDriverPrime__imageLabel{
        left:15px;
        right:15px;
        bottom:15px;

        padding:13px 14px;

        border-radius:15px;
    }

    .pttDriverPrime__imageIcon{
        width:42px;
        height:42px;

        flex-basis:42px;

        font-size:15px;
    }

    .pttDriverPrime__imageLabel strong{
        font-size:14px;
    }

    .pttDriverPrime__imageLabel div > span{
        font-size:11.5px;
    }

    .pttDriverPrime__eyebrow{
        font-size:11px;
    }

    .pttDriverPrime__content > h2{
        font-size:
            clamp(37px,10vw,48px);

        margin-bottom:16px;
    }

    .pttDriverPrime__lead{
        font-size:16px;

        line-height:1.7;

        margin-bottom:25px;
    }

    .pttDriverPrime__features{
        grid-template-columns:1fr;

        gap:10px;
    }

    .pttDriverPrime__feature{
        padding:16px;
    }

    .pttDriverPrime__feature h3{
        font-size:16px;
    }

    .pttDriverPrime__feature p{
        font-size:13.5px;
    }

    .pttDriverPrime__actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .pttDriverPrime__btn{
        width:100%;
    }

}


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

@media (max-width:380px){

    .pttDriverPrime__media{
        min-height:400px;
    }

    .pttDriverPrime__content > h2{
        font-size:34px;
    }

}



/* =========================================================
   PTT Toyota Rumion PAGE
   UNIQUE NAMESPACE: pttErtigaX
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttErtigaX{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:'Outfit',sans-serif;
}

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

.pttErtigaXShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttErtigaXEyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttErtigaXBtn{
    min-height:52px;

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

    gap:9px;

    padding:0 23px;

    border-radius:999px;

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

    text-decoration:none !important;

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

.pttErtigaXBtn--red{
    background:#fb0001;
    color:#fff !important;

    box-shadow:
        0 12px 26px rgba(251,0,1,.18);
}

.pttErtigaXBtn--red:hover{
    background:#000;
    color:#fff !important;
    transform:translateY(-2px);
}

.pttErtigaXBtn--dark{
    background:#000;
    color:#fff !important;
}

.pttErtigaXBtn--dark:hover{
    background:#fb0001;
    color:#fff !important;
    transform:translateY(-2px);
}


/* =========================================================
   01 INTRO
========================================================= */

.pttErtigaXIntro{
    padding:90px 0;
    background:#fff;
}

.pttErtigaXIntro__grid{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    gap:70px;
    align-items:center;
}

.pttErtigaXIntro__content h1{
    margin:0 0 22px;

    color:#000;

    font-size:clamp(48px,5vw,76px);
    line-height:.98;
    letter-spacing:-.045em;
    font-weight:700;
}

.pttErtigaXIntro__content h1 span{
    display:block;
    color:#fb0001;
}

.pttErtigaXIntro__lead{
    max-width:680px;
    margin:0;

    color:#222;

    font-size:19px;
    line-height:1.75;
    font-weight:500;
}

.pttErtigaXIntro__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;

    margin-top:28px;
}


/* INTRO SPECS */

.pttErtigaXIntro__specs{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:12px;

    margin-top:36px;
}

.pttErtigaXIntro__spec{
    display:flex;
    align-items:center;
    gap:13px;

    padding:18px 14px;

    border-top:1px solid rgba(0,0,0,.16);
}

.pttErtigaXIntro__spec i{
    color:#fb0001;
    font-size:22px;
}

.pttErtigaXIntro__spec small{
    display:block;
    margin-bottom:4px;

    color:#333;

    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
}

.pttErtigaXIntro__spec strong{
    display:block;

    color:#111;

    font-size:16px;
    font-weight:700;
    line-height:1.35;
}


/* INTRO IMAGE */

.pttErtigaXIntro__media{
    position:relative;

    height:620px;

    border-radius:30px;

    overflow:hidden;

    background:#000;

    box-shadow:
        0 28px 65px rgba(0,0,0,.12);
}

.pttErtigaXIntro__media img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;
}

.pttErtigaXIntro__media::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(0,0,0,.72) 100%
        );
}

.pttErtigaXIntro__number{
    position:absolute;

    top:25px;
    right:28px;

    z-index:3;


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

    font-size:42px;
    font-weight:700;
}

.pttErtigaXIntro__caption{
    position:absolute;

    left:28px;
    right:28px;
    bottom:27px;

    z-index:3;

    color:#fff;
}

.pttErtigaXIntro__caption small{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:12px;
    font-weight:700;
    letter-spacing:.13em;
}

.pttErtigaXIntro__caption strong{
    display:block;

    color:#fff;

    font-size:23px;
    line-height:1.3;
    font-weight:700;
}


/* =========================================================
   02 VEHICLE SPECS
========================================================= */

.pttErtigaXSpecs{
    padding:70px 0;
    background:#f7f7f7;
}

.pttErtigaXSpecs__top{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:32px;
}

.pttErtigaXSpecs__top h2{
    margin:0;

    color:#000;

    font-size:46px;
    line-height:1;
    font-weight:700;
    letter-spacing:-.03em;
}

.pttErtigaXSpecs__top h2 span{
    color:#fb0001;
}

.pttErtigaXSpecs__grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));

    border-top:1px solid rgba(0,0,0,.15);
    border-bottom:1px solid rgba(0,0,0,.15);
}

.pttErtigaXSpecs__item{
    min-height:160px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:25px;

    border-right:1px solid rgba(0,0,0,.12);
}

.pttErtigaXSpecs__item:last-child{
    border-right:0;
}

.pttErtigaXSpecs__item i{
    margin-bottom:18px;

    color:#fb0001;

    font-size:24px;
}

.pttErtigaXSpecs__item small{
    color:#333;

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

    text-transform:uppercase;
    letter-spacing:.09em;
}

.pttErtigaXSpecs__item strong{
    margin-top:7px;

    color:#111;

    font-size:18px;
    line-height:1.35;
    font-weight:700;
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.pttErtigaXSectionHead{
    max-width:880px;

    margin:0 auto 48px;

    text-align:center;
}

.pttErtigaXSectionHead h2{
    margin:0 0 18px;

    color:#000;

    font-size:clamp(43px,4.6vw,68px);
    line-height:1;
    letter-spacing:-.04em;
    font-weight:700;
}

.pttErtigaXSectionHead h2 span{
    display:block;
    color:#fb0001;
}

.pttErtigaXSectionHead p{
    margin:0 auto;

    max-width:760px;

    color:#222;

    font-size:19px;
    line-height:1.75;
    font-weight:500;
}

.pttErtigaXSectionHead--left{
    margin-left:0;
    text-align:left;
}

.pttErtigaXSectionHead--left p{
    margin-left:0;
}


/* =========================================================
   03 SERVICES
========================================================= */

.pttErtigaXServices{
    padding:90px 0;
    background:#fff;
}

.pttErtigaXServices__grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:17px;
}

.pttErtigaXService{
    position:relative;

    min-height:310px;

    padding:34px 27px;

    border:1px solid rgba(0,0,0,.1);
    border-radius:22px;

    background:#fff;

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

.pttErtigaXService:hover{
    transform:translateY(-5px);

    border-color:rgba(251,0,1,.3);

    box-shadow:
        0 18px 40px rgba(0,0,0,.08);
}

.pttErtigaXService__number{
    position:absolute;

    top:21px;
    right:22px;

    color:#c6c6c6;

    font-size:31px;
    font-weight:700;
}

.pttErtigaXService__icon{
    width:60px;
    height:60px;

    display:grid;
    place-items:center;

    margin-bottom:30px;

    border-radius:50%;

    background:#000;
    color:#fff;

    font-size:21px;

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

.pttErtigaXService:hover .pttErtigaXService__icon{
    background:#fb0001;
    transform:translateY(-3px);
}

.pttErtigaXService h3{
    margin:0 0 12px;

    color:#000;

    font-size:24px;
    line-height:1.25;
    font-weight:700;
}

.pttErtigaXService p{
    margin:0;

    color:#222;

    font-size:17px;
    line-height:1.7;
    font-weight:500;
}


/* =========================================================
   04 FEATURES / IMAGE GALLERY
========================================================= */

.pttErtigaXFeatures{
    padding:90px 0;

    background:#000;

    color:#fff;
}

.pttErtigaXFeatures .pttErtigaXEyebrow{
    color:#fb0001;
}

.pttErtigaXFeatures__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.72fr);

    align-items:end;

    gap:60px;

    margin-bottom:42px;
}

.pttErtigaXFeatures__head h2{
    margin:0;

    max-width:720px;

    color:#fff;

    font-size:clamp(44px,5vw,70px);
    line-height:.98;
    letter-spacing:-.04em;
    font-weight:700;
}

.pttErtigaXFeatures__head h2 span{
    display:block;
    color:#fb0001;
}

.pttErtigaXFeatures__head > p{
    margin:0;

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

    font-size:19px;
    line-height:1.75;
    font-weight:500;
}


/* GALLERY */

.pttErtigaXFeatures__gallery{
    display:grid;

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

    grid-auto-rows:245px;

    gap:13px;
}

.pttErtigaXFeatures__photo{
    position:relative;

    margin:0;

    overflow:hidden;

    border-radius:18px;

    background:#111;
}

.pttErtigaXFeatures__photo--large{
    grid-column:span 2;
    grid-row:span 2;
}

.pttErtigaXFeatures__photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:transform .5s ease;
}

.pttErtigaXFeatures__photo:hover img{
    transform:scale(1.04);
}

.pttErtigaXFeatures__photo::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 38%,
            rgba(0,0,0,.82) 100%
        );

    pointer-events:none;
}

.pttErtigaXFeatures__photo figcaption{
    position:absolute;

    left:20px;
    right:20px;
    bottom:18px;

    z-index:3;

    display:flex;
    align-items:flex-end;
    gap:13px;
}

.pttErtigaXFeatures__photo figcaption > span{
    color:#fb0001;

    font-size:15px;
    font-weight:700;
}

.pttErtigaXFeatures__photo figcaption small{
    display:block;

    margin-bottom:4px;

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

    font-size:11px;
    font-weight:700;
    letter-spacing:.1em;
}

.pttErtigaXFeatures__photo figcaption strong{
    display:block;

    color:#fff;

    font-size:18px;
    line-height:1.3;
    font-weight:700;
}


/* =========================================================
   05 WHY ERTIGA
========================================================= */

.pttErtigaXWhy{
    padding:95px 0;

    background:#fff;
}

.pttErtigaXWhy__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.78fr)
        minmax(0,1.22fr);

    gap:80px;
}

.pttErtigaXWhy__intro h2{
    margin:0 0 20px;

    color:#000;

    font-size:clamp(44px,4.5vw,64px);
    line-height:1;
    letter-spacing:-.035em;
    font-weight:700;
}

.pttErtigaXWhy__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttErtigaXWhy__intro p{
    margin:0;

    color:#222;

    font-size:19px;
    line-height:1.75;
    font-weight:500;
}

.pttErtigaXWhy__link{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-top:27px;

    color:#000 !important;

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

    text-decoration:none !important;
}

.pttErtigaXWhy__link i{
    color:#fb0001;

    transition:.25s;
}

.pttErtigaXWhy__link:hover i{
    transform:translateX(5px);
}


/* WHY LIST */

.pttErtigaXWhy__list{
    display:grid;

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

    gap:0;

    border-top:1px solid rgba(0,0,0,.13);
}

.pttErtigaXWhy__list article{
    display:grid;

    grid-template-columns:auto 1fr;

    gap:18px;

    padding:31px 26px;

    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);
}

.pttErtigaXWhy__list article:nth-child(2n){
    border-right:0;
}

.pttErtigaXWhy__icon{
    width:54px;
    height:54px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fb0001;

    border:1px solid rgba(251,0,1,.3);

    font-size:19px;
}

.pttErtigaXWhy__list article > div:last-child > span{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:13px;
    font-weight:700;
}

.pttErtigaXWhy__list h3{
    margin:0 0 8px;

    color:#000;

    font-size:20px;
    line-height:1.3;
    font-weight:700;
}

.pttErtigaXWhy__list p{
    margin:0;

    color:#222;

    font-size:16.5px;
    line-height:1.65;
    font-weight:500;
}


/* =========================================================
   06 JODHPUR
========================================================= */

.pttErtigaXJodhpur{
    padding:90px 0;

    background:#f7f7f7;
}

.pttErtigaXJodhpur__head{
    display:grid;

    grid-template-columns:auto 1fr .75fr;

    align-items:end;

    gap:36px;

    margin-bottom:42px;
}

.pttErtigaXJodhpur__mark{
    color:#fb0001;

    font-size:72px;
    line-height:.8;
    font-weight:800;
    letter-spacing:-.08em;
}

.pttErtigaXJodhpur__head h2{
    margin:0;

    color:#000;

    font-size:50px;
    line-height:1;
    font-weight:700;
    letter-spacing:-.035em;
}

.pttErtigaXJodhpur__head h2 span{
    display:block;
    color:#fb0001;
}

.pttErtigaXJodhpur__head > p{
    margin:0;

    color:#222;

    font-size:18px;
    line-height:1.7;
    font-weight:500;
}


/* JODHPUR ATTRACTIONS */

.pttErtigaXJodhpur__grid{
    display:grid;

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

    border-top:1px solid rgba(0,0,0,.14);
}

.pttErtigaXJodhpur__grid > div{
    min-height:155px;

    display:flex;
    flex-direction:column;

    justify-content:center;

    padding:24px;

    border-right:1px solid rgba(0,0,0,.12);
    border-bottom:1px solid rgba(0,0,0,.12);

    transition:
        background .25s ease,
        transform .25s ease;
}

.pttErtigaXJodhpur__grid > div:hover{
    background:#fff;
}

.pttErtigaXJodhpur__grid span{
    color:#444;

    font-size:13px;
    font-weight:700;
}

.pttErtigaXJodhpur__grid i{
    margin:15px 0 12px;

    color:#fb0001;

    font-size:22px;
}

.pttErtigaXJodhpur__grid strong{
    color:#111;

    font-size:18px;
    line-height:1.35;
    font-weight:700;
}


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

.pttErtigaXRoutes{
    padding:90px 0;

    background:#fff;
}

.pttErtigaXRoutes__list{
    border-top:1px solid rgba(0,0,0,.15);
}

.pttErtigaXRoutes__list > a{
    display:grid;

    grid-template-columns:
        50px 1fr 180px 48px;

    align-items:center;

    gap:22px;

    min-height:100px;

    padding:0 6px;

    border-bottom:1px solid rgba(0,0,0,.14);

    color:#000 !important;

    text-decoration:none !important;

    transition:
        padding .25s ease,
        color .25s ease,
        background .25s ease;
}

.pttErtigaXRoutes__list > a:hover{
    padding-left:15px;

    color:#fb0001 !important;

    background:#fafafa;
}

.pttErtigaXRoutes__list > a > span{
    color:#444;

    font-size:14px;
    font-weight:700;
}

.pttErtigaXRoutes__list h3{
    margin:0;

    color:inherit;

    font-size:27px;
    line-height:1.3;
    font-weight:700;
}

.pttErtigaXRoutes__list h3 i{
    margin:0 12px;

    color:#fb0001;

    font-size:14px;
}

.pttErtigaXRoutes__list small{
    color:#222;

    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
}

.pttErtigaXRoutes__list b{
    width:44px;
    height:44px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#000;
    color:#fff;

    font-size:14px;

    transition:
        background .25s ease,
        transform .25s ease;
}

.pttErtigaXRoutes__list > a:hover b{
    background:#fb0001;
    transform:translateX(3px);
}


/* =========================================================
   08 FINAL BOOKING
========================================================= */

.pttErtigaXBooking{
    padding:78px 0;

    background:#000;
}

.pttErtigaXBooking__inner{
    display:flex;

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

    gap:50px;
}

.pttErtigaXBooking__eyebrow{
    display:block;

    margin-bottom:11px;

    color:#fb0001;

    font-size:13px;
    font-weight:700;
    letter-spacing:.13em;
}

.pttErtigaXBooking h2{
    margin:0 0 15px;

    color:#fff;

    font-size:clamp(38px,4vw,60px);
    line-height:1;
    font-weight:700;
}

.pttErtigaXBooking h2 strong{
    display:block;

    color:#fb0001;
}

.pttErtigaXBooking p{
    margin:0;

    max-width:660px;

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

    font-size:18px;
    line-height:1.7;
    font-weight:500;
}

.pttErtigaXBooking__actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.pttErtigaXBooking__phone{
    min-height:68px;

    display:flex;
    align-items:center;
    gap:14px;

    padding:0 22px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;

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

.pttErtigaXBooking__phone:hover{
    transform:translateY(-2px);

    box-shadow:
        0 12px 30px rgba(255,255,255,.12);
}

.pttErtigaXBooking__phone > i{
    color:#fb0001;
    font-size:20px;
}

.pttErtigaXBooking__phone small{
    display:block;

    margin-bottom:3px;

    color:#444;

    font-size:11px;
    font-weight:700;
    letter-spacing:.09em;
}

.pttErtigaXBooking__phone strong{
    display:block;

    color:#000;

    font-size:18px;
    line-height:1.2;
    font-weight:700;
}

.pttErtigaXBooking__whatsapp{
    width:68px;
    height:68px;

    display:grid;
    place-items:center;

    flex:0 0 68px;

    border-radius:50%;

    background:#fb0001;

    color:#fff !important;

    font-size:27px;

    text-decoration:none !important;

    transition:
        transform .25s ease,
        background .25s ease;
}

.pttErtigaXBooking__whatsapp:hover{
    background:#fff;
    color:#000 !important;

    transform:translateY(-3px);
}


/* =========================================================
   RESPONSIVE - LAPTOP
========================================================= */

@media(max-width:1100px){

    .pttErtigaXIntro__grid,
    .pttErtigaXWhy__grid{
        gap:45px;
    }

    .pttErtigaXIntro__media{
        height:540px;
    }

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

    .pttErtigaXSpecs__grid{
        grid-template-columns:repeat(3,1fr);
    }

    .pttErtigaXSpecs__item{
        border-bottom:1px solid rgba(0,0,0,.12);
    }

    .pttErtigaXJodhpur__head h2{
        font-size:44px;
    }

    .pttErtigaXJodhpur__head > p{
        font-size:17px;
    }
}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media(max-width:900px){

    .pttErtigaXIntro,
    .pttErtigaXServices,
    .pttErtigaXFeatures,
    .pttErtigaXWhy,
    .pttErtigaXJodhpur,
    .pttErtigaXRoutes{
        padding:70px 0;
    }

    .pttErtigaXIntro__grid{
        grid-template-columns:1fr;
    }

    .pttErtigaXIntro__media{
        height:520px;
    }

    .pttErtigaXSpecs__top{
        align-items:flex-start;
    }

    .pttErtigaXFeatures__head{
        grid-template-columns:1fr;

        gap:21px;
    }

    .pttErtigaXFeatures__head > p{
        max-width:760px;
    }

    .pttErtigaXFeatures__gallery{
        grid-template-columns:repeat(2,1fr);

        grid-auto-rows:260px;
    }

    .pttErtigaXWhy__grid{
        grid-template-columns:1fr;

        gap:45px;
    }

    .pttErtigaXJodhpur__head{
        grid-template-columns:1fr;

        gap:16px;
    }

    .pttErtigaXJodhpur__head > p{
        max-width:700px;
    }

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

    .pttErtigaXBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }
}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media(max-width:600px){

    .pttErtigaXShell{
        width:min(92%,520px);
    }

    .pttErtigaXIntro,
    .pttErtigaXServices,
    .pttErtigaXFeatures,
    .pttErtigaXWhy,
    .pttErtigaXJodhpur,
    .pttErtigaXRoutes{
        padding:58px 0;
    }


    /* EYEBROW */

    .pttErtigaXEyebrow{
        margin-bottom:11px;

        font-size:11.5px;
    }


    /* BUTTON */

    .pttErtigaXBtn{
        width:100%;

        min-height:50px;

        font-size:14px;
    }


    /* INTRO */

    .pttErtigaXIntro__grid{
        gap:32px;
    }

    .pttErtigaXIntro__content h1{
        margin-bottom:17px;

        font-size:39px;
        line-height:1.02;
    }

    .pttErtigaXIntro__lead{
        font-size:16.5px;
        line-height:1.7;
    }

    .pttErtigaXIntro__actions{
        display:grid;

        grid-template-columns:1fr;

        margin-top:22px;
    }

    .pttErtigaXIntro__specs{
        grid-template-columns:1fr;

        gap:0;

        margin-top:26px;
    }

    .pttErtigaXIntro__spec{
        padding:15px 5px;

        border-bottom:1px solid rgba(0,0,0,.1);
    }

    .pttErtigaXIntro__spec small{
        font-size:11px;
    }

    .pttErtigaXIntro__spec strong{
        font-size:15px;
    }

    .pttErtigaXIntro__media{
        height:420px;

        border-radius:22px;
    }

    .pttErtigaXIntro__number{
        top:18px;
        right:19px;

        font-size:34px;
    }

    .pttErtigaXIntro__caption{
        left:20px;
        right:20px;
        bottom:20px;
    }

    .pttErtigaXIntro__caption strong{
        font-size:19px;
    }


    /* SPECS */

    .pttErtigaXSpecs{
        padding:52px 0;
    }

    .pttErtigaXSpecs__top{
        align-items:flex-start;

        flex-direction:column;

        gap:20px;
    }

    .pttErtigaXSpecs__top h2{
        font-size:37px;
    }

    .pttErtigaXSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttErtigaXSpecs__item{
        min-height:auto;

        padding:19px 6px;

        border-right:0;
    }

    .pttErtigaXSpecs__item i{
        margin-bottom:11px;

        font-size:21px;
    }

    .pttErtigaXSpecs__item small{
        font-size:11.5px;
    }

    .pttErtigaXSpecs__item strong{
        font-size:16px;
    }


    /* COMMON HEADINGS */

    .pttErtigaXSectionHead{
        margin-bottom:32px;
    }

    .pttErtigaXSectionHead h2{
        font-size:38px;
        line-height:1.03;
    }

    .pttErtigaXSectionHead p{
        font-size:16.5px;
        line-height:1.7;
    }


    /* SERVICES */

    .pttErtigaXServices__grid{
        grid-template-columns:1fr;
    }

    .pttErtigaXService{
        min-height:auto;

        padding:27px 22px;
    }

    .pttErtigaXService__number{
        font-size:27px;
    }

    .pttErtigaXService__icon{
        width:54px;
        height:54px;

        margin-bottom:22px;

        font-size:19px;
    }

    .pttErtigaXService h3{
        font-size:21px;
    }

    .pttErtigaXService p{
        font-size:16px;
        line-height:1.65;
    }


    /* FEATURE GALLERY */

    .pttErtigaXFeatures__head{
        margin-bottom:30px;
    }

    .pttErtigaXFeatures__head h2{
        font-size:38px;
    }

    .pttErtigaXFeatures__head > p{
        font-size:16.5px;
        line-height:1.7;
    }

    .pttErtigaXFeatures__gallery{
        grid-template-columns:1fr;

        grid-auto-rows:290px;
    }

    .pttErtigaXFeatures__photo--large{
        grid-column:auto;
        grid-row:auto;
    }

    .pttErtigaXFeatures__photo figcaption strong{
        font-size:17px;
    }


    /* WHY */

    .pttErtigaXWhy__intro h2{
        font-size:38px;
    }

    .pttErtigaXWhy__intro p{
        font-size:16.5px;
        line-height:1.7;
    }

    .pttErtigaXWhy__list{
        grid-template-columns:1fr;
    }

    .pttErtigaXWhy__list article{
        padding:24px 5px;

        border-right:0;
    }

    .pttErtigaXWhy__icon{
        width:48px;
        height:48px;
    }

    .pttErtigaXWhy__list h3{
        font-size:18px;
    }

    .pttErtigaXWhy__list p{
        font-size:15.5px;
        line-height:1.65;
    }


    /* JODHPUR */

    .pttErtigaXJodhpur__mark{
        font-size:54px;
    }

    .pttErtigaXJodhpur__head h2{
        font-size:38px;
    }

    .pttErtigaXJodhpur__head > p{
        font-size:16.5px;
    }

    .pttErtigaXJodhpur__grid{
        grid-template-columns:1fr;
    }

    .pttErtigaXJodhpur__grid > div{
        min-height:auto;

        padding:20px 5px;
    }

    .pttErtigaXJodhpur__grid span{
        font-size:12px;
    }

    .pttErtigaXJodhpur__grid i{
        margin:11px 0;

        font-size:20px;
    }

    .pttErtigaXJodhpur__grid strong{
        font-size:17px;
    }


    /* ROUTES */

    .pttErtigaXRoutes__list > a{
        grid-template-columns:35px 1fr 42px;

        gap:10px;

        min-height:86px;
    }

    .pttErtigaXRoutes__list small{
        display:none;
    }

    .pttErtigaXRoutes__list > a > span{
        font-size:12px;
    }

    .pttErtigaXRoutes__list h3{
        font-size:18px;
    }

    .pttErtigaXRoutes__list h3 i{
        margin:0 5px;

        font-size:11px;
    }

    .pttErtigaXRoutes__list b{
        width:39px;
        height:39px;
    }


    /* BOOKING */

    .pttErtigaXBooking{
        padding:58px 0;
    }

    .pttErtigaXBooking h2{
        font-size:37px;
    }

    .pttErtigaXBooking p{
        font-size:16.5px;
        line-height:1.7;
    }

    .pttErtigaXBooking__actions{
        width:100%;

        display:grid;
        grid-template-columns:minmax(0,1fr) 62px;
    }

    .pttErtigaXBooking__phone{
        min-width:0;
        min-height:62px;

        padding:0 17px;
    }

    .pttErtigaXBooking__phone small{
        font-size:9.5px;
    }

    .pttErtigaXBooking__phone strong{
        font-size:15px;
    }

    .pttErtigaXBooking__whatsapp{
        width:62px;
        height:62px;

        flex-basis:62px;

        font-size:24px;
    }
}


/* =========================================================
   RESPONSIVE - SMALL MOBILE
========================================================= */

@media(max-width:380px){

    .pttErtigaXIntro__content h1{
        font-size:35px;
    }

    .pttErtigaXIntro__lead{
        font-size:16px;
    }

    .pttErtigaXIntro__media{
        height:380px;
    }

    .pttErtigaXSpecs__top h2,
    .pttErtigaXSectionHead h2,
    .pttErtigaXFeatures__head h2,
    .pttErtigaXWhy__intro h2,
    .pttErtigaXJodhpur__head h2{
        font-size:34px;
    }

    .pttErtigaXFeatures__gallery{
        grid-auto-rows:255px;
    }

    .pttErtigaXWhy__list article{
        grid-template-columns:45px 1fr;

        gap:13px;
    }

    .pttErtigaXWhy__icon{
        width:44px;
        height:44px;


        font-size:16px;
    }

    .pttErtigaXRoutes__list h3{
        font-size:16.5px;
    }

    .pttErtigaXBooking h2{
        font-size:34px;
    }

    .pttErtigaXBooking__phone{
        padding:0 13px;
    }

    .pttErtigaXBooking__phone strong{
        font-size:14px;
    }
}

/* =========================================================
   PTT INNOVA CRYSTA
   UNIQUE NAMESPACE: pttCrystaPro
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttCrystaPro{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:'Outfit',sans-serif;
}

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

.pttCrystaProShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttCrystaProEyebrow{
    display:inline-flex;
    align-items:center;

    margin-bottom:14px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;
    font-weight:800;

    letter-spacing:.13em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttCrystaProBtn{
    min-height:52px;

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

    gap:9px;

    padding:0 23px;

    border-radius:50px;

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

    text-decoration:none !important;

    transition:.28s ease;
}

.pttCrystaProBtn--red{
    color:#fff !important;
    background:#fb0001;

    box-shadow:
        0 12px 25px rgba(251,0,1,.18);
}

.pttCrystaProBtn--red:hover{
    color:#fff !important;
    background:#000;
    transform:translateY(-2px);
}

.pttCrystaProBtn--black{
    color:#fff !important;
    background:#000;
}

.pttCrystaProBtn--black:hover{
    color:#fff !important;
    background:#fb0001;
    transform:translateY(-2px);
}


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

.pttCrystaProIntro{
    padding:90px 0;
    background:#fff;
}

.pttCrystaProIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:70px;

    align-items:center;
}

.pttCrystaProIntro__content h1{
    margin:0 0 22px;

    color:#000;

    font-size:clamp(50px,5.1vw,78px);

    line-height:.97;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttCrystaProIntro__content h1 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProIntro__lead{
    max-width:680px;

    margin:0 0 16px;

    color:#161616;

    font-size:20px;

    line-height:1.72;

    font-weight:600;
}

.pttCrystaProIntro__copy{
    max-width:680px;

    margin:0;

    color:#303030;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttCrystaProIntro__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}


/* MINI SPECS */

.pttCrystaProIntro__miniSpecs{
    display:grid;

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

    gap:12px;

    margin-top:36px;
}

.pttCrystaProIntro__miniSpecs > div{
    display:flex;

    align-items:center;

    gap:12px;

    padding:17px 10px;

    border-top:
        1px solid rgba(0,0,0,.15);
}

.pttCrystaProIntro__miniSpecs i{
    color:#fb0001;

    font-size:22px;
}

.pttCrystaProIntro__miniSpecs small{
    display:block;

    margin-bottom:4px;

    color:#333;

    font-size:11px;

    font-weight:800;

    letter-spacing:.09em;
}

.pttCrystaProIntro__miniSpecs strong{
    display:block;

    color:#000;

    font-size:16px;

    font-weight:800;
}


/* INTRO IMAGE */

.pttCrystaProIntro__media{
    position:relative;

    height:620px;

    overflow:hidden;

    border-radius:30px;

    background:#000;

    box-shadow:
        0 25px 65px rgba(0,0,0,.12);
}

.pttCrystaProIntro__media img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:
        transform .6s ease;
}

.pttCrystaProIntro__media:hover img{
    transform:scale(1.025);
}

.pttCrystaProIntro__media::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 42%,
            rgba(0,0,0,.72) 100%
        );
}

.pttCrystaProIntro__number{
    position:absolute;

    top:24px;
    right:27px;

    z-index:3;

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

    font-size:44px;

    font-weight:800;
}

.pttCrystaProIntro__caption{
    position:absolute;

    left:28px;
    right:28px;
    bottom:26px;

    z-index:3;
}

.pttCrystaProIntro__caption small{
    display:block;

    margin-bottom:5px;

    color:#fb0001;

    font-size:12px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttCrystaProIntro__caption strong{
    display:block;

    color:#fff;

    font-size:23px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttCrystaProSpecs{
    padding:70px 0;

    background:#f7f7f7;
}

.pttCrystaProSpecs__head{
    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:32px;
}

.pttCrystaProSpecs__head h2{
    margin:0;

    color:#000;

    font-size:48px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttCrystaProSpecs__head h2 span{
    color:#fb0001;
}

.pttCrystaProSpecs__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);

    border-bottom:
        1px solid rgba(0,0,0,.14);
}

.pttCrystaProSpecs__item{
    min-height:165px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:25px;

    border-right:
        1px solid rgba(0,0,0,.11);
}

.pttCrystaProSpecs__item:last-child{
    border-right:0;
}

.pttCrystaProSpecs__item i{
    margin-bottom:17px;

    color:#fb0001;

    font-size:25px;
}

.pttCrystaProSpecs__item small{
    color:#333;

    font-size:12px;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.08em;
}

.pttCrystaProSpecs__item strong{
    margin-top:7px;

    color:#000;

    font-size:18px;

    line-height:1.35;

    font-weight:800;
}


/* =========================================================
   COMMON HEAD
========================================================= */

.pttCrystaProSectionHead{
    max-width:880px;

    margin:0 auto 48px;

    text-align:center;
}

.pttCrystaProSectionHead h2{
    margin:0 0 18px;

    color:#000;

    font-size:
        clamp(45px,4.8vw,70px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttCrystaProSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProSectionHead p{
    max-width:760px;

    margin:0 auto;

    color:#222;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}

.pttCrystaProSectionHead--left{
    margin-left:0;

    text-align:left;
}

.pttCrystaProSectionHead--left p{
    margin-left:0;
}


/* =========================================================
   SERVICES
========================================================= */

.pttCrystaProServices{
    padding:90px 0;

    background:#fff;
}

.pttCrystaProServices__grid{
    display:grid;

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

    gap:17px;
}

.pttCrystaProService{
    position:relative;

    min-height:310px;

    padding:34px 27px;

    border:
        1px solid rgba(0,0,0,.09);

    border-radius:22px;

    background:#fff;

    transition:.3s ease;
}

.pttCrystaProService:hover{
    transform:
        translateY(-5px);

    border-color:
        rgba(251,0,1,.28);

    box-shadow:
        0 18px 40px rgba(0,0,0,.07);
}

.pttCrystaProService__number{
    position:absolute;

    top:20px;
    right:22px;

    color:#c4c4c4;

    font-size:31px;

    font-weight:800;
}

.pttCrystaProService__icon{
    width:60px;
    height:60px;

    display:grid;

    place-items:center;

    margin-bottom:29px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:21px;

    transition:.3s ease;
}

.pttCrystaProService:hover
.pttCrystaProService__icon{
    background:#fb0001;

    transform:
        translateY(-3px);
}

.pttCrystaProService h3{
    margin:0 0 12px;

    color:#000;

    font-size:24px;

    line-height:1.25;

    font-weight:800;
}

.pttCrystaProService p{
    margin:0;

    color:#222;

    font-size:17px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   WHITE / SILVER GALLERY
========================================================= */

.pttCrystaProGallery{
    padding:90px 0;

    background:#000;
}

.pttCrystaProGallery__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.72fr);

    gap:60px;

    align-items:end;

    margin-bottom:35px;
}

.pttCrystaProGallery__head h2{
    margin:0;

    color:#fff;

    font-size:
        clamp(45px,5vw,72px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttCrystaProGallery__head h2 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProGallery__head > p{
    margin:0;

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

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}


/* TABS */

.pttCrystaProGallery__tabs{
    display:flex;

    align-items:center;

    gap:9px;

    margin-bottom:28px;
}

.pttCrystaProGallery__tab{
    min-height:48px;

    display:inline-flex;

    align-items:center;

    gap:9px;

    padding:0 18px;

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

    border-radius:50px;

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

    color:#fff;

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

    font-size:14px;

    font-weight:800;

    cursor:pointer;

    transition:.25s ease;
}

.pttCrystaProGallery__tab:hover,
.pttCrystaProGallery__tab.is-active{
    border-color:#fb0001;

    background:#fb0001;
}

.pttCrystaProGallery__dot{
    width:14px;
    height:14px;

    border-radius:50%;

    display:block;
}

.pttCrystaProGallery__dot--white{
    background:#fff;

    border:1px solid #ccc;
}

.pttCrystaProGallery__dot--silver{
    background:
        linear-gradient(
            135deg,
            #eee,
            #8f8f8f
        );
}


/* SET */

.pttCrystaProGallery__set{
    display:none;

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

    grid-auto-rows:245px;

    gap:13px;
}

.pttCrystaProGallery__set.is-active{
    display:grid;
}

.pttCrystaProGallery__photo{
    position:relative;

    margin:0;

    overflow:hidden;

    border-radius:18px;

    background:#111;
}

.pttCrystaProGallery__photo--hero{
    grid-column:span 2;

    grid-row:span 2;
}

.pttCrystaProGallery__photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.pttCrystaProGallery__photo:hover img{
    transform:scale(1.04);
}

.pttCrystaProGallery__photo::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 38%,
            rgba(0,0,0,.82) 100%
        );

    pointer-events:none;
}

.pttCrystaProGallery__photo figcaption{
    position:absolute;

    left:20px;
    right:20px;
    bottom:18px;

    z-index:3;

    display:flex;

    align-items:flex-end;

    gap:13px;
}

.pttCrystaProGallery__photo figcaption > span{
    color:#fb0001;

    font-size:15px;

    font-weight:800;
}

.pttCrystaProGallery__photo small{
    display:block;

    margin-bottom:4px;

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

    font-size:11px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttCrystaProGallery__photo strong{
    color:#fff;

    font-size:18px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   FEATURES
========================================================= */

.pttCrystaProFeatures{
    padding:95px 0;

    background:#fff;
}

.pttCrystaProFeatures__intro{
    max-width:820px;

    margin-bottom:42px;
}

.pttCrystaProFeatures__intro h2{
    margin:0 0 18px;

    color:#000;

    font-size:
        clamp(46px,5vw,70px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttCrystaProFeatures__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProFeatures__intro p{
    margin:0;

    color:#222;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}


/* FEATURE GRID */

.pttCrystaProFeatures__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttCrystaProFeatures__grid article{
    position:relative;

    min-height:260px;

    padding:34px 30px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);

    transition:.3s ease;
}

.pttCrystaProFeatures__grid article:nth-child(3n){
    border-right:0;
}

.pttCrystaProFeatures__grid article:hover{
    background:#fafafa;
}

.pttCrystaProFeatures__number{
    position:absolute;

    top:21px;
    right:23px;

    color:#d3d3d3;

    font-size:28px;

    font-weight:800;
}

.pttCrystaProFeatures__grid article > i{
    margin-bottom:27px;

    color:#fb0001;

    font-size:27px;
}

.pttCrystaProFeatures__grid h3{
    margin:0 0 11px;

    color:#000;

    font-size:22px;

    font-weight:800;
}

.pttCrystaProFeatures__grid p{
    margin:0;

    color:#222;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   JODHPUR
========================================================= */

.pttCrystaProJodhpur{
    padding:90px 0;

    background:#f7f7f7;
}

.pttCrystaProJodhpur__head{
    display:grid;

    grid-template-columns:
        auto 1fr .75fr;

    gap:36px;

    align-items:end;

    margin-bottom:42px;
}

.pttCrystaProJodhpur__mark{
    color:#fb0001;

    font-size:72px;

    line-height:.8;

    font-weight:900;

    letter-spacing:-.08em;
}

.pttCrystaProJodhpur__head h2{
    margin:0;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttCrystaProJodhpur__head h2 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProJodhpur__head > p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttCrystaProJodhpur__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttCrystaProJodhpur__grid > div{
    min-height:155px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:24px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);
}

.pttCrystaProJodhpur__grid span{
    color:#444;

    font-size:13px;

    font-weight:800;
}

.pttCrystaProJodhpur__grid i{
    margin:15px 0 12px;

    color:#fb0001;

    font-size:22px;
}

.pttCrystaProJodhpur__grid strong{
    color:#000;

    font-size:18px;

    font-weight:800;
}


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

.pttCrystaProRoutes{
    padding:90px 0;

    background:#fff;
}

.pttCrystaProRoutes__list{
    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttCrystaProRoutes__list > a{
    min-height:100px;

    display:grid;

    grid-template-columns:
        50px 1fr 170px 48px;

    align-items:center;

    gap:22px;

    padding:0 6px;

    border-bottom:
        1px solid rgba(0,0,0,.13);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttCrystaProRoutes__list > a:hover{
    padding-left:15px;

    color:#fb0001 !important;

    background:#fafafa;
}

.pttCrystaProRoutes__list > a > span{
    color:#444;

    font-size:14px;

    font-weight:800;
}

.pttCrystaProRoutes__list h3{
    margin:0;

    font-size:27px;

    line-height:1.3;

    font-weight:800;
}

.pttCrystaProRoutes__list h3 i{
    margin:0 11px;

    color:#fb0001;

    font-size:13px;
}

.pttCrystaProRoutes__list small{
    color:#222;

    font-size:12px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttCrystaProRoutes__list b{
    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    transition:.25s ease;
}

.pttCrystaProRoutes__list > a:hover b{
    background:#fb0001;

    transform:
        translateX(3px);
}


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

.pttCrystaProFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttCrystaProFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.7fr)
        minmax(0,1.3fr);

    gap:70px;
}

.pttCrystaProFaq__intro h2{
    margin:0 0 18px;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;
}

.pttCrystaProFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttCrystaProFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttCrystaProFaq__intro > a{
    display:inline-flex;

    align-items:center;

    gap:9px;

    margin-top:25px;

    color:#000 !important;

    font-size:16px;

    font-weight:800;

    text-decoration:none !important;
}

.pttCrystaProFaq__intro > a i{
    color:#fb0001;
}


/* FAQ ITEM */

.pttCrystaProFaq__item{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttCrystaProFaq__item summary{
    min-height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    font-weight:800;
}

.pttCrystaProFaq__item summary::-webkit-details-marker{
    display:none;
}

.pttCrystaProFaq__item summary i{
    color:#fb0001;

    transition:
        transform .25s ease;
}

.pttCrystaProFaq__item[open] summary i{
    transform:
        rotate(45deg);
}

.pttCrystaProFaq__item p{
    max-width:800px;

    margin:
        -5px 0 22px;

    color:#333;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   BOOKING
========================================================= */

.pttCrystaProBooking{
    padding:78px 0;

    background:#000;
}

.pttCrystaProBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;
}

.pttCrystaProBooking__inner > div:first-child > span{
    display:block;

    margin-bottom:10px;

    color:#fb0001;

    font-size:13px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttCrystaProBooking h2{
    margin:0 0 14px;

    color:#fff;

    font-size:
        clamp(40px,4.2vw,62px);

    line-height:1;

    font-weight:800;
}

.pttCrystaProBooking h2 strong{
    display:block;

    color:#fb0001;
}

.pttCrystaProBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttCrystaProBooking__actions{
    display:flex;

    align-items:center;

    gap:10px;
}

.pttCrystaProBooking__phone{
    min-height:68px;

    display:flex;

    align-items:center;

    gap:14px;

    padding:0 22px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttCrystaProBooking__phone > i{
    color:#fb0001;

    font-size:20px;
}

.pttCrystaProBooking__phone small{
    display:block;

    margin-bottom:3px;

    color:#444;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttCrystaProBooking__phone strong{
    display:block;

    color:#000;

    font-size:18px;

    font-weight:800;
}

.pttCrystaProBooking__wa{
    width:68px;
    height:68px;

    flex:0 0 68px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#fb0001;

    color:#fff !important;

    font-size:27px;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttCrystaProBooking__wa:hover{
    background:#fff;

    color:#000 !important;

    transform:
        translateY(-3px);
}


/* =========================================================
   RESPONSIVE - LAPTOP
========================================================= */

@media(max-width:1100px){

    .pttCrystaProIntro__grid{
        gap:45px;
    }

    .pttCrystaProIntro__media{
        height:540px;
    }

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

    .pttCrystaProSpecs__grid{
        grid-template-columns:
            repeat(3,1fr);
    }

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

    .pttCrystaProFeatures__grid article:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.11);
    }

    .pttCrystaProFeatures__grid article:nth-child(2n){
        border-right:0;
    }

}


/* =========================================================
   RESPONSIVE - TABLET
========================================================= */

@media(max-width:900px){

    .pttCrystaProIntro,
    .pttCrystaProServices,
    .pttCrystaProGallery,
    .pttCrystaProFeatures,
    .pttCrystaProJodhpur,
    .pttCrystaProRoutes,
    .pttCrystaProFaq{
        padding:70px 0;
    }


    .pttCrystaProIntro__grid{
        grid-template-columns:1fr;
    }

    .pttCrystaProIntro__media{
        height:520px;
    }


    .pttCrystaProGallery__head{
        grid-template-columns:1fr;

        gap:20px;
    }

    .pttCrystaProGallery__set{
        grid-template-columns:
            repeat(2,1fr);

        grid-auto-rows:260px;
    }


    .pttCrystaProJodhpur__head{
        grid-template-columns:1fr;

        gap:16px;
    }

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


    .pttCrystaProFaq__grid{
        grid-template-columns:1fr;

        gap:35px;
    }


    .pttCrystaProBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }

}


/* =========================================================
   RESPONSIVE - MOBILE
========================================================= */

@media(max-width:600px){

    .pttCrystaProShell{
        width:min(92%,520px);
    }


    .pttCrystaProIntro,
    .pttCrystaProServices,
    .pttCrystaProGallery,
    .pttCrystaProFeatures,
    .pttCrystaProJodhpur,
    .pttCrystaProRoutes,
    .pttCrystaProFaq{
        padding:58px 0;
    }


    .pttCrystaProEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttCrystaProIntro__content h1{
        font-size:40px;
    }

    .pttCrystaProIntro__lead{
        font-size:17px;
    }

    .pttCrystaProIntro__copy{
        font-size:16px;
    }

    .pttCrystaProIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttCrystaProBtn{
        width:100%;
    }

    .pttCrystaProIntro__miniSpecs{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttCrystaProIntro__media{
        height:420px;

        border-radius:22px;
    }


    /* SPECS */

    .pttCrystaProSpecs{
        padding:52px 0;
    }

    .pttCrystaProSpecs__head{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttCrystaProSpecs__head h2{
        font-size:38px;
    }

    .pttCrystaProSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttCrystaProSpecs__item{
        min-height:auto;

        padding:19px 6px;

        border-right:0;
    }


    /* COMMON */

    .pttCrystaProSectionHead{
        margin-bottom:32px;
    }

    .pttCrystaProSectionHead h2{
        font-size:39px;
    }

    .pttCrystaProSectionHead p{
        font-size:16.5px;
    }


    /* SERVICES */

    .pttCrystaProServices__grid{
        grid-template-columns:1fr;
    }

    .pttCrystaProService{
        min-height:auto;

        padding:27px 22px;
    }

    .pttCrystaProService h3{
        font-size:21px;
    }

    .pttCrystaProService p{
        font-size:16px;
    }


    /* GALLERY */

    .pttCrystaProGallery__head h2{
        font-size:39px;
    }

    .pttCrystaProGallery__head > p{
        font-size:16.5px;
    }

    .pttCrystaProGallery__tabs{
        display:grid;

        grid-template-columns:1fr 1fr;
    }

    .pttCrystaProGallery__tab{
        justify-content:center;

        padding:0 12px;

        font-size:12.5px;
    }

    .pttCrystaProGallery__set{
        grid-template-columns:1fr;

        grid-auto-rows:290px;
    }

    .pttCrystaProGallery__photo--hero{
        grid-column:auto;

        grid-row:auto;
    }


    /* FEATURES */

    .pttCrystaProFeatures__intro h2{
        font-size:39px;
    }

    .pttCrystaProFeatures__intro p{
        font-size:16.5px;
    }

    .pttCrystaProFeatures__grid{
        grid-template-columns:1fr;
    }

    .pttCrystaProFeatures__grid article{
        min-height:auto;

        padding:27px 5px;

        border-right:0 !important;
    }

    .pttCrystaProFeatures__grid h3{
        font-size:20px;
    }

    .pttCrystaProFeatures__grid p{
        font-size:15.5px;
    }


    /* JODHPUR */

    .pttCrystaProJodhpur__mark{
        font-size:54px;
    }

    .pttCrystaProJodhpur__head h2{
        font-size:38px;
    }

    .pttCrystaProJodhpur__head > p{
        font-size:16.5px;
    }

    .pttCrystaProJodhpur__grid{
        grid-template-columns:1fr;
    }

    .pttCrystaProJodhpur__grid > div{
        min-height:auto;

        padding:20px 5px;
    }


    /* ROUTES */

    .pttCrystaProRoutes__list > a{
        grid-template-columns:
            35px 1fr 42px;

        gap:10px;

        min-height:86px;
    }

    .pttCrystaProRoutes__list small{
        display:none;
    }

    .pttCrystaProRoutes__list h3{
        font-size:18px;
    }

    .pttCrystaProRoutes__list h3 i{
        margin:0 5px;
    }


    /* FAQ */

    .pttCrystaProFaq__intro h2{
        font-size:38px;
    }

    .pttCrystaProFaq__intro p{
        font-size:16.5px;
    }

    .pttCrystaProFaq__item summary{
        min-height:72px;

        font-size:16px;
    }

    .pttCrystaProFaq__item p{
        font-size:15.5px;
    }


    /* BOOKING */

    .pttCrystaProBooking{
        padding:58px 0;
    }

    .pttCrystaProBooking h2{
        font-size:37px;
    }

    .pttCrystaProBooking p{
        font-size:16.5px;
    }

    .pttCrystaProBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:
            minmax(0,1fr) 62px;
    }

    .pttCrystaProBooking__phone{
        min-width:0;

        min-height:62px;

        padding:0 16px;
    }

    .pttCrystaProBooking__phone strong{
        font-size:15px;
    }

    .pttCrystaProBooking__wa{
        width:62px;
        height:62px;

        flex-basis:62px;
    }

}


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

@media(max-width:380px){

    .pttCrystaProIntro__content h1{
        font-size:35px;
    }

    .pttCrystaProIntro__media{
        height:380px;
    }

    .pttCrystaProSpecs__head h2,
    .pttCrystaProSectionHead h2,
    .pttCrystaProGallery__head h2,
    .pttCrystaProFeatures__intro h2,
    .pttCrystaProJodhpur__head h2,
    .pttCrystaProFaq__intro h2{
        font-size:34px;
    }

    .pttCrystaProGallery__set{
        grid-auto-rows:255px;
    }

    .pttCrystaProRoutes__list h3{
        font-size:16.5px;
    }

    .pttCrystaProBooking h2{
        font-size:34px;
    }

}


/* =========================================================
   PTT INNOVA HYCROSS
   UNIQUE NAMESPACE: pttHycrossPro
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttHycrossPro{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:'Outfit',sans-serif;
}

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

.pttHycrossProShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttHycrossProEyebrow{
    display:inline-flex;
    align-items:center;

    margin-bottom:14px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;
    font-weight:800;

    letter-spacing:.13em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttHycrossProBtn{
    min-height:52px;

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

    gap:9px;

    padding:0 23px;

    border-radius:50px;

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

    text-decoration:none !important;

    transition:.28s ease;
}

.pttHycrossProBtn--red{
    color:#fff !important;
    background:#fb0001;

    box-shadow:
        0 12px 25px rgba(251,0,1,.18);
}

.pttHycrossProBtn--red:hover{
    background:#000;
    color:#fff !important;

    transform:translateY(-2px);
}

.pttHycrossProBtn--black{
    color:#fff !important;
    background:#000;
}

.pttHycrossProBtn--black:hover{
    background:#fb0001;
    color:#fff !important;

    transform:translateY(-2px);
}


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

.pttHycrossProIntro{
    padding:90px 0;
    background:#fff;
}

.pttHycrossProIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:70px;

    align-items:center;
}

.pttHycrossProIntro__content h1{
    margin:0 0 22px;

    color:#000;

    font-size:clamp(50px,5.1vw,78px);

    line-height:.97;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttHycrossProIntro__content h1 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProIntro__lead{
    max-width:690px;

    margin:0 0 16px;

    color:#151515;

    font-size:20px;

    line-height:1.72;

    font-weight:600;
}

.pttHycrossProIntro__copy{
    max-width:690px;

    margin:0;

    color:#303030;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttHycrossProIntro__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}


/* MINI SPECS */

.pttHycrossProIntro__miniSpecs{
    display:grid;

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

    gap:12px;

    margin-top:36px;
}

.pttHycrossProIntro__miniSpecs > div{
    display:flex;

    align-items:center;

    gap:12px;

    padding:17px 10px;

    border-top:
        1px solid rgba(0,0,0,.15);
}

.pttHycrossProIntro__miniSpecs i{
    color:#fb0001;

    font-size:22px;
}

.pttHycrossProIntro__miniSpecs small{
    display:block;

    margin-bottom:4px;

    color:#333;

    font-size:11px;

    font-weight:800;

    letter-spacing:.09em;
}

.pttHycrossProIntro__miniSpecs strong{
    display:block;

    color:#000;

    font-size:16px;

    line-height:1.35;

    font-weight:800;
}


/* INTRO IMAGE */

.pttHycrossProIntro__media{
    position:relative;

    height:620px;

    overflow:hidden;

    border-radius:30px;

    background:#000;

    box-shadow:
        0 25px 65px rgba(0,0,0,.12);
}

.pttHycrossProIntro__media img{
    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

    transition:
        transform .6s ease;
}

.pttHycrossProIntro__media:hover img{
    transform:scale(1.025);
}

.pttHycrossProIntro__media::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 42%,
            rgba(0,0,0,.72) 100%
        );
}

.pttHycrossProIntro__number{
    position:absolute;

    top:24px;
    right:27px;

    z-index:3;

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

    font-size:44px;

    font-weight:800;
}

.pttHycrossProIntro__caption{
    position:absolute;

    left:28px;
    right:28px;
    bottom:26px;

    z-index:3;
}

.pttHycrossProIntro__caption small{
    display:block;

    margin-bottom:5px;

    color:#fb0001;

    font-size:12px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttHycrossProIntro__caption strong{
    display:block;

    color:#fff;

    font-size:23px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttHycrossProSpecs{
    padding:70px 0;

    background:#f7f7f7;
}

.pttHycrossProSpecs__head{
    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:32px;
}

.pttHycrossProSpecs__head h2{
    margin:0;

    color:#000;

    font-size:48px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttHycrossProSpecs__head h2 span{
    color:#fb0001;
}

.pttHycrossProSpecs__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);

    border-bottom:
        1px solid rgba(0,0,0,.14);
}

.pttHycrossProSpecs__item{
    min-height:165px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:25px;

    border-right:
        1px solid rgba(0,0,0,.11);
}

.pttHycrossProSpecs__item:last-child{
    border-right:0;
}

.pttHycrossProSpecs__item i{
    margin-bottom:17px;

    color:#fb0001;

    font-size:25px;
}

.pttHycrossProSpecs__item small{
    color:#333;

    font-size:12px;

    font-weight:800;

    text-transform:uppercase;

    letter-spacing:.08em;
}

.pttHycrossProSpecs__item strong{
    margin-top:7px;

    color:#000;

    font-size:18px;

    line-height:1.35;

    font-weight:800;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.pttHycrossProSectionHead{
    max-width:890px;

    margin:0 auto 48px;

    text-align:center;
}

.pttHycrossProSectionHead h2{
    margin:0 0 18px;

    color:#000;

    font-size:
        clamp(45px,4.8vw,70px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttHycrossProSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProSectionHead p{
    max-width:780px;

    margin:0 auto;

    color:#222;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}

.pttHycrossProSectionHead--left{
    margin-left:0;

    text-align:left;
}

.pttHycrossProSectionHead--left p{
    margin-left:0;
}


/* =========================================================
   SERVICES
========================================================= */

.pttHycrossProServices{
    padding:90px 0;

    background:#fff;
}

.pttHycrossProServices__grid{
    display:grid;

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

    gap:17px;
}

.pttHycrossProService{
    position:relative;

    min-height:310px;

    padding:34px 27px;

    border:
        1px solid rgba(0,0,0,.09);

    border-radius:22px;

    background:#fff;

    transition:.3s ease;
}

.pttHycrossProService:hover{
    transform:
        translateY(-5px);

    border-color:
        rgba(251,0,1,.3);

    box-shadow:
        0 18px 40px rgba(0,0,0,.07);
}

.pttHycrossProService__number{
    position:absolute;

    top:20px;
    right:22px;

    color:#c5c5c5;

    font-size:31px;

    font-weight:800;
}

.pttHycrossProService__icon{
    width:60px;
    height:60px;

    display:grid;

    place-items:center;

    margin-bottom:29px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:21px;

    transition:.3s ease;
}

.pttHycrossProService:hover
.pttHycrossProService__icon{
    background:#fb0001;

    transform:
        translateY(-3px);
}

.pttHycrossProService h3{
    margin:0 0 12px;

    color:#000;

    font-size:24px;

    line-height:1.25;

    font-weight:800;
}

.pttHycrossProService p{
    margin:0;

    color:#222;

    font-size:17px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   FEATURE GALLERY
========================================================= */

.pttHycrossProGallery{
    padding:90px 0;

    background:#000;
}

.pttHycrossProGallery__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.72fr);

    gap:60px;

    align-items:end;

    margin-bottom:38px;
}

.pttHycrossProGallery__head h2{
    margin:0;

    color:#fff;

    font-size:
        clamp(45px,5vw,72px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttHycrossProGallery__head h2 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProGallery__head > p{
    margin:0;

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

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}


/* GALLERY */

.pttHycrossProGallery__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-auto-rows:300px;
    gap:16px;
}

.pttHycrossProGallery__photo{
    position:relative;

    margin:0;

    overflow:hidden;

    border-radius:18px;

    background:#111;
}

.pttHycrossProGallery__photo--hero{
    grid-column:auto;
    grid-row:auto;
}

.pttHycrossProGallery__photo img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}


@media(max-width:900px){

    .pttHycrossProGallery__grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:280px;
    }

}

@media(max-width:600px){

    .pttHycrossProGallery__grid{
        grid-template-columns:1fr;
        grid-auto-rows:290px;
        gap:12px;
    }

}

@media(max-width:380px){

    .pttHycrossProGallery__grid{
        grid-auto-rows:250px;
    }

}


.pttHycrossProGallery__photo:hover img{
    transform:scale(1.04);
}

.pttHycrossProGallery__photo::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 38%,
            rgba(0,0,0,.82) 100%
        );

    pointer-events:none;
}

.pttHycrossProGallery__photo figcaption{
    position:absolute;

    left:20px;
    right:20px;
    bottom:18px;

    z-index:3;

    display:flex;

    align-items:flex-end;

    gap:13px;
}

.pttHycrossProGallery__photo figcaption > span{
    color:#fb0001;

    font-size:15px;

    font-weight:800;
}

.pttHycrossProGallery__photo small{
    display:block;

    margin-bottom:4px;

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

    font-size:11px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttHycrossProGallery__photo strong{
    color:#fff;

    font-size:18px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   WHY HYCROSS
========================================================= */

.pttHycrossProWhy{
    padding:95px 0;

    background:#fff;
}

.pttHycrossProWhy__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.78fr)
        minmax(0,1.22fr);

    gap:80px;
}

.pttHycrossProWhy__intro h2{
    margin:0 0 20px;

    color:#000;

    font-size:
        clamp(45px,4.6vw,66px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttHycrossProWhy__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProWhy__intro p{
    margin:0;

    color:#222;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}

.pttHycrossProWhy__link{
    display:inline-flex;

    align-items:center;

    gap:9px;

    margin-top:27px;

    color:#000 !important;

    font-size:16px;

    font-weight:800;

    text-decoration:none !important;
}

.pttHycrossProWhy__link i{
    color:#fb0001;

    transition:.25s ease;
}

.pttHycrossProWhy__link:hover i{
    transform:
        translateX(5px);
}


/* WHY LIST */

.pttHycrossProWhy__list{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttHycrossProWhy__list article{
    display:grid;

    grid-template-columns:
        auto 1fr;

    gap:18px;

    padding:31px 26px;

    border-right:
        1px solid rgba(0,0,0,.12);

    border-bottom:
        1px solid rgba(0,0,0,.12);
}

.pttHycrossProWhy__list article:nth-child(2n){
    border-right:0;
}

.pttHycrossProWhy__icon{
    width:54px;
    height:54px;

    display:grid;

    place-items:center;

    border-radius:50%;

    color:#fb0001;

    border:
        1px solid rgba(251,0,1,.3);

    font-size:19px;
}

.pttHycrossProWhy__list article > div:last-child > span{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:13px;

    font-weight:800;
}

.pttHycrossProWhy__list h3{
    margin:0 0 8px;

    color:#000;

    font-size:20px;

    line-height:1.3;

    font-weight:800;
}

.pttHycrossProWhy__list p{
    margin:0;

    color:#222;

    font-size:16.5px;

    line-height:1.65;

    font-weight:500;
}


/* =========================================================
   JODHPUR
========================================================= */

.pttHycrossProJodhpur{
    padding:90px 0;

    background:#f7f7f7;
}

.pttHycrossProJodhpur__head{
    display:grid;

    grid-template-columns:
        auto 1fr .75fr;

    gap:36px;

    align-items:end;

    margin-bottom:42px;
}

.pttHycrossProJodhpur__mark{
    color:#fb0001;

    font-size:72px;

    line-height:.8;

    font-weight:900;

    letter-spacing:-.08em;
}

.pttHycrossProJodhpur__head h2{
    margin:0;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttHycrossProJodhpur__head h2 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProJodhpur__head > p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttHycrossProJodhpur__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttHycrossProJodhpur__grid > div{
    min-height:155px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:24px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);
}

.pttHycrossProJodhpur__grid span{
    color:#444;

    font-size:13px;

    font-weight:800;
}

.pttHycrossProJodhpur__grid i{
    margin:15px 0 12px;

    color:#fb0001;

    font-size:22px;
}

.pttHycrossProJodhpur__grid strong{
    color:#000;

    font-size:18px;

    font-weight:800;
}


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

.pttHycrossProRoutes{
    padding:90px 0;

    background:#fff;
}

.pttHycrossProRoutes__list{
    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttHycrossProRoutes__list > a{
    min-height:100px;

    display:grid;

    grid-template-columns:
        50px 1fr 170px 48px;

    align-items:center;

    gap:22px;

    padding:0 6px;

    border-bottom:
        1px solid rgba(0,0,0,.13);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttHycrossProRoutes__list > a:hover{
    padding-left:15px;

    color:#fb0001 !important;

    background:#fafafa;
}

.pttHycrossProRoutes__list > a > span{
    color:#444;

    font-size:14px;

    font-weight:800;
}

.pttHycrossProRoutes__list h3{
    margin:0;

    color:inherit;

    font-size:27px;

    line-height:1.3;

    font-weight:800;
}

.pttHycrossProRoutes__list h3 i{
    margin:0 11px;

    color:#fb0001;

    font-size:13px;
}

.pttHycrossProRoutes__list small{
    color:#222;

    font-size:12px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttHycrossProRoutes__list b{
    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    transition:.25s ease;
}

.pttHycrossProRoutes__list > a:hover b{
    background:#fb0001;

    transform:
        translateX(3px);
}


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

.pttHycrossProFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttHycrossProFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.7fr)
        minmax(0,1.3fr);

    gap:70px;
}

.pttHycrossProFaq__intro h2{
    margin:0 0 18px;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;
}

.pttHycrossProFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttHycrossProFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttHycrossProFaq__intro > a{
    display:inline-flex;

    align-items:center;

    gap:9px;

    margin-top:25px;

    color:#000 !important;

    font-size:16px;

    font-weight:800;

    text-decoration:none !important;
}

.pttHycrossProFaq__intro > a i{
    color:#fb0001;
}


/* FAQ ITEMS */

.pttHycrossProFaq__item{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttHycrossProFaq__item summary{
    min-height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    font-weight:800;
}

.pttHycrossProFaq__item summary::-webkit-details-marker{
    display:none;
}

.pttHycrossProFaq__item summary i{
    color:#fb0001;

    transition:
        transform .25s ease;
}

.pttHycrossProFaq__item[open] summary i{
    transform:
        rotate(45deg);
}

.pttHycrossProFaq__item p{
    max-width:800px;

    margin:
        -5px 0 22px;

    color:#333;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   FINAL BOOKING
========================================================= */

.pttHycrossProBooking{
    padding:78px 0;

    background:#000;
}

.pttHycrossProBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;
}

.pttHycrossProBooking__inner > div:first-child > span{
    display:block;

    margin-bottom:10px;

    color:#fb0001;

    font-size:13px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttHycrossProBooking h2{
    margin:0 0 14px;

    color:#fff;

    font-size:
        clamp(40px,4.2vw,62px);

    line-height:1;

    font-weight:800;
}

.pttHycrossProBooking h2 strong{
    display:block;

    color:#fb0001;
}

.pttHycrossProBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttHycrossProBooking__actions{
    display:flex;

    align-items:center;

    gap:10px;
}

.pttHycrossProBooking__phone{
    min-height:68px;

    display:flex;

    align-items:center;

    gap:14px;

    padding:0 22px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttHycrossProBooking__phone > i{
    color:#fb0001;

    font-size:20px;
}

.pttHycrossProBooking__phone small{
    display:block;

    margin-bottom:3px;

    color:#444;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttHycrossProBooking__phone strong{
    display:block;

    color:#000;

    font-size:18px;

    font-weight:800;
}

.pttHycrossProBooking__wa{
    width:68px;
    height:68px;

    flex:0 0 68px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#fb0001;

    color:#fff !important;

    font-size:27px;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttHycrossProBooking__wa:hover{
    background:#fff;

    color:#000 !important;

    transform:
        translateY(-3px);
}


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

@media(max-width:1100px){

    .pttHycrossProIntro__grid{
        gap:45px;
    }

    .pttHycrossProIntro__media{
        height:540px;
    }

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

    .pttHycrossProSpecs__grid{
        grid-template-columns:
            repeat(3,1fr);
    }

}


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

@media(max-width:900px){

    .pttHycrossProIntro,
    .pttHycrossProServices,
    .pttHycrossProGallery,
    .pttHycrossProWhy,
    .pttHycrossProJodhpur,
    .pttHycrossProRoutes,
    .pttHycrossProFaq{
        padding:70px 0;
    }


    .pttHycrossProIntro__grid{
        grid-template-columns:1fr;
    }

    .pttHycrossProIntro__media{
        height:520px;
    }


    .pttHycrossProGallery__head{
        grid-template-columns:1fr;

        gap:20px;
    }

    .pttHycrossProGallery__grid{
        grid-template-columns:
            repeat(2,1fr);

        grid-auto-rows:260px;
    }


    .pttHycrossProWhy__grid{
        grid-template-columns:1fr;

        gap:45px;
    }


    .pttHycrossProJodhpur__head{
        grid-template-columns:1fr;

        gap:16px;
    }

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


    .pttHycrossProFaq__grid{
        grid-template-columns:1fr;

        gap:35px;
    }


    .pttHycrossProBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }

}


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

@media(max-width:600px){

    .pttHycrossProShell{
        width:min(92%,520px);
    }


    .pttHycrossProIntro,
    .pttHycrossProServices,
    .pttHycrossProGallery,
    .pttHycrossProWhy,
    .pttHycrossProJodhpur,
    .pttHycrossProRoutes,
    .pttHycrossProFaq{
        padding:58px 0;
    }


    .pttHycrossProEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttHycrossProIntro__content h1{
        font-size:40px;
    }

    .pttHycrossProIntro__lead{
        font-size:17px;
    }

    .pttHycrossProIntro__copy{
        font-size:16px;
    }

    .pttHycrossProIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttHycrossProBtn{
        width:100%;
    }

    .pttHycrossProIntro__miniSpecs{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttHycrossProIntro__media{
        height:420px;

        border-radius:22px;
    }


    /* SPECS */

    .pttHycrossProSpecs{
        padding:52px 0;
    }

    .pttHycrossProSpecs__head{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttHycrossProSpecs__head h2{
        font-size:38px;
    }

    .pttHycrossProSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttHycrossProSpecs__item{
        min-height:auto;

        padding:19px 6px;

        border-right:0;
    }


    /* SECTION HEAD */

    .pttHycrossProSectionHead{
        margin-bottom:32px;
    }

    .pttHycrossProSectionHead h2{
        font-size:39px;
    }

    .pttHycrossProSectionHead p{
        font-size:16.5px;
    }


    /* SERVICES */

    .pttHycrossProServices__grid{
        grid-template-columns:1fr;
    }

    .pttHycrossProService{
        min-height:auto;

        padding:27px 22px;
    }

    .pttHycrossProService h3{
        font-size:21px;
    }

    .pttHycrossProService p{
        font-size:16px;
    }


    /* GALLERY */

    .pttHycrossProGallery__head h2{
        font-size:39px;
    }

    .pttHycrossProGallery__head > p{
        font-size:16.5px;
    }

    .pttHycrossProGallery__grid{
        grid-template-columns:1fr;

        grid-auto-rows:290px;
    }

    .pttHycrossProGallery__photo--hero{
        grid-column:auto;

        grid-row:auto;
    }


    /* WHY */

    .pttHycrossProWhy__intro h2{
        font-size:39px;
    }

    .pttHycrossProWhy__intro p{
        font-size:16.5px;
    }

    .pttHycrossProWhy__list{
        grid-template-columns:1fr;
    }

    .pttHycrossProWhy__list article{
        padding:24px 5px;

        border-right:0;
    }

    .pttHycrossProWhy__list h3{
        font-size:18px;
    }

    .pttHycrossProWhy__list p{
        font-size:15.5px;
    }


    /* JODHPUR */

    .pttHycrossProJodhpur__mark{
        font-size:54px;
    }

    .pttHycrossProJodhpur__head h2{
        font-size:38px;
    }

    .pttHycrossProJodhpur__head > p{
        font-size:16.5px;
    }

    .pttHycrossProJodhpur__grid{
        grid-template-columns:1fr;
    }

    .pttHycrossProJodhpur__grid > div{
        min-height:auto;

        padding:20px 5px;
    }


    /* ROUTES */

    .pttHycrossProRoutes__list > a{
        grid-template-columns:
            35px 1fr 42px;

        gap:10px;

        min-height:86px;
    }

    .pttHycrossProRoutes__list small{
        display:none;
    }

    .pttHycrossProRoutes__list h3{
        font-size:18px;
    }

    .pttHycrossProRoutes__list h3 i{
        margin:0 5px;
    }


    /* FAQ */

    .pttHycrossProFaq__intro h2{
        font-size:38px;
    }

    .pttHycrossProFaq__intro p{
        font-size:16.5px;
    }

    .pttHycrossProFaq__item summary{
        min-height:72px;

        font-size:16px;
    }

    .pttHycrossProFaq__item p{
        font-size:15.5px;
    }


    /* BOOKING */

    .pttHycrossProBooking{
        padding:58px 0;
    }

    .pttHycrossProBooking h2{
        font-size:37px;
    }

    .pttHycrossProBooking p{
        font-size:16.5px;
    }

    .pttHycrossProBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:
            minmax(0,1fr) 62px;
    }

    .pttHycrossProBooking__phone{
        min-width:0;

        min-height:62px;

        padding:0 16px;
    }

    .pttHycrossProBooking__phone strong{
        font-size:15px;
    }

    .pttHycrossProBooking__wa{
        width:62px;
        height:62px;

        flex-basis:62px;
    }

}


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

@media(max-width:380px){

    .pttHycrossProIntro__content h1{
        font-size:35px;
    }

    .pttHycrossProIntro__media{
        height:380px;
    }

    .pttHycrossProSpecs__head h2,
    .pttHycrossProSectionHead h2,
    .pttHycrossProGallery__head h2,
    .pttHycrossProWhy__intro h2,
    .pttHycrossProJodhpur__head h2,
    .pttHycrossProFaq__intro h2{
        font-size:34px;
    }

    .pttHycrossProGallery__grid{
        grid-auto-rows:255px;
    }

    .pttHycrossProRoutes__list h3{
        font-size:16.5px;
    }

    .pttHycrossProBooking h2{
        font-size:34px;
    }

}

/* =========================================================
   PTT JODHPUR AIRPORT TRANSFER
   UNIQUE NAMESPACE: pttAirportPro
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttAirportPro{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:'Outfit',sans-serif;
}

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

.pttAirportProShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttAirportProEyebrow{
    display:inline-flex;
    align-items:center;

    margin-bottom:14px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.13em;
    text-transform:uppercase;
}


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

.pttAirportProIntro{
    padding:90px 0;

    background:#fff;
}

.pttAirportProIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:70px;

    align-items:center;
}

.pttAirportProIntro__content h2{
    margin:0 0 22px;

    color:#000;

    font-size:
        clamp(48px,5vw,74px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttAirportProIntro__content h2 span{
    display:block;

    color:#fb0001;
}

.pttAirportProIntro__content > p{
    max-width:700px;

    margin:0;

    color:#202020;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}


/* POINTS */

.pttAirportProIntro__points{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}

.pttAirportProIntro__points > div{
    display:flex;

    align-items:center;

    gap:9px;

    min-height:46px;

    padding:0 15px;

    border:
        1px solid rgba(0,0,0,.12);

    border-radius:50px;

    background:#fff;
}

.pttAirportProIntro__points i{
    color:#fb0001;

    font-size:15px;
}

.pttAirportProIntro__points span{
    color:#111;

    font-size:14px;

    font-weight:700;
}


/* IMAGE */

.pttAirportProIntro__image{
    position:relative;

    height:560px;

    overflow:hidden;

    border-radius:28px;

    background:#000;

    box-shadow:
        0 25px 60px rgba(0,0,0,.12);
}

.pttAirportProIntro__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.pttAirportProIntro__image:hover img{
    transform:scale(1.025);
}

.pttAirportProIntro__image::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(0,0,0,.72) 100%
        );
}

.pttAirportProIntro__imageLabel{
    position:absolute;

    left:27px;
    right:27px;
    bottom:25px;

    z-index:3;
}

.pttAirportProIntro__imageLabel small{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:11px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttAirportProIntro__imageLabel strong{
    display:block;

    color:#fff;

    font-size:22px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.pttAirportProSectionHead{
    max-width:880px;

    margin:0 auto 48px;

    text-align:center;
}

.pttAirportProSectionHead h2{
    margin:0 0 17px;

    color:#000;

    font-size:
        clamp(44px,4.8vw,68px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttAirportProSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttAirportProSectionHead p{
    max-width:750px;

    margin:0 auto;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttAirportProSectionHead--left{
    margin-left:0;

    text-align:left;
}

.pttAirportProSectionHead--left p{
    margin-left:0;
}


/* =========================================================
   SERVICES
========================================================= */

.pttAirportProServices{
    padding:90px 0;

    background:#f7f7f7;
}

.pttAirportProServices__grid{
    display:grid;

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

    gap:16px;
}

.pttAirportProService{
    position:relative;

    min-height:315px;

    padding:34px 27px;

    border:
        1px solid rgba(0,0,0,.08);

    border-radius:22px;

    background:#fff;

    transition:.3s ease;
}

.pttAirportProService:hover{
    transform:
        translateY(-5px);

    border-color:
        rgba(251,0,1,.28);

    box-shadow:
        0 18px 38px rgba(0,0,0,.07);
}

.pttAirportProService__number{
    position:absolute;

    top:20px;
    right:22px;

    color:#c7c7c7;

    font-size:30px;

    font-weight:800;
}

.pttAirportProService__icon{
    width:60px;
    height:60px;

    display:grid;

    place-items:center;

    margin-bottom:29px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:21px;

    transition:.3s ease;
}

.pttAirportProService:hover
.pttAirportProService__icon{
    background:#fb0001;

    transform:
        translateY(-3px);
}

.pttAirportProService h3{
    margin:0 0 12px;

    color:#000;

    font-size:24px;

    line-height:1.25;

    font-weight:800;
}

.pttAirportProService p{
    margin:0;

    color:#222;

    font-size:17px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   BENEFITS
========================================================= */

.pttAirportProBenefits{
    padding:90px 0;

    background:#000;
}

.pttAirportProBenefits__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.7fr);

    gap:60px;

    align-items:end;

    margin-bottom:42px;
}

.pttAirportProBenefits__head h2{
    margin:0;

    color:#fff;

    font-size:
        clamp(45px,5vw,70px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttAirportProBenefits__head h2 span{
    display:block;

    color:#fb0001;
}

.pttAirportProBenefits__head > p{
    margin:0;

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

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* BENEFIT GRID */

.pttAirportProBenefits__grid{
    display:grid;

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

    border-top:
        1px solid rgba(255,255,255,.15);
}

.pttAirportProBenefits__grid article{
    position:relative;

    min-height:245px;

    padding:32px 26px;

    border-right:
        1px solid rgba(255,255,255,.13);

    border-bottom:
        1px solid rgba(255,255,255,.13);
}

.pttAirportProBenefits__grid article:last-child{
    border-right:0;
}

.pttAirportProBenefits__no{
    position:absolute;

    top:20px;
    right:22px;

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

    font-size:28px;

    font-weight:800;
}

.pttAirportProBenefits__grid i{
    margin-bottom:27px;

    color:#fb0001;

    font-size:26px;
}

.pttAirportProBenefits__grid strong{
    display:block;

    margin-bottom:10px;

    color:#fff;

    font-size:21px;

    font-weight:800;
}

.pttAirportProBenefits__grid p{
    margin:0;

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

    font-size:16px;

    line-height:1.65;

    font-weight:500;
}


/* =========================================================
   VEHICLES
========================================================= */

.pttAirportProVehicles{
    padding:90px 0;

    background:#fff;
}

.pttAirportProVehicles__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttAirportProVehicles__grid > a{
    min-height:125px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:25px 23px;

    border-right:
        1px solid rgba(0,0,0,.12);

    border-bottom:
        1px solid rgba(0,0,0,.12);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttAirportProVehicles__grid > a:nth-child(3n){
    border-right:0;
}

.pttAirportProVehicles__grid > a:hover{
    color:#fb0001 !important;

    background:#fafafa;
}

.pttAirportProVehicles__grid span{
    display:block;
}

.pttAirportProVehicles__grid small{
    display:block;

    margin-bottom:6px;

    color:#555;

    font-size:12px;

    font-weight:800;
}

.pttAirportProVehicles__grid strong{
    display:block;

    color:inherit;

    font-size:20px;

    line-height:1.3;

    font-weight:800;
}

.pttAirportProVehicles__grid i{
    width:42px;
    height:42px;

    display:grid;

    place-items:center;

    flex:0 0 42px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:13px;

    transition:.25s ease;
}

.pttAirportProVehicles__grid > a:hover i{
    background:#fb0001;

    transform:
        translateX(3px);
}


/* =========================================================
   BOOKING
========================================================= */

.pttAirportProBooking{
    padding:78px 0;

    background:#fb0001;
}

.pttAirportProBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;
}

.pttAirportProBooking__eyebrow{
    display:block;

    margin-bottom:10px;

    color:#fff;

    font-size:13px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttAirportProBooking h2{
    margin:0 0 14px;

    color:#fff;

    font-size:
        clamp(40px,4.2vw,62px);

    line-height:1;

    font-weight:800;
}

.pttAirportProBooking h2 strong{
    display:block;

    color:#000;
}

.pttAirportProBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttAirportProBooking__actions{
    display:flex;

    align-items:center;

    gap:10px;
}

.pttAirportProBooking__primary,
.pttAirportProBooking__wa{
    min-height:58px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    padding:0 22px;

    border-radius:50px;

    text-decoration:none !important;

    font-size:15px;

    font-weight:800;

    transition:.25s ease;
}

.pttAirportProBooking__primary{
    background:#000;

    color:#fff !important;
}

.pttAirportProBooking__primary:hover{
    background:#fff;

    color:#000 !important;

    transform:
        translateY(-2px);
}

.pttAirportProBooking__wa{
    background:#fff;

    color:#000 !important;
}

.pttAirportProBooking__wa:hover{
    background:#000;

    color:#fff !important;

    transform:
        translateY(-2px);
}


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

.pttAirportProFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttAirportProFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttAirportProFaq__intro h2{
    margin:0 0 18px;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttAirportProFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttAirportProFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* FAQ ITEM */

.pttAirportProFaq__item{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttAirportProFaq__item summary{
    min-height:84px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    line-height:1.45;

    font-weight:800;
}

.pttAirportProFaq__item summary::-webkit-details-marker{
    display:none;
}

.pttAirportProFaq__item summary i{
    color:#fb0001;

    transition:
        transform .25s ease;
}

.pttAirportProFaq__item[open] summary i{
    transform:
        rotate(45deg);
}

.pttAirportProFaq__item p{
    max-width:820px;

    margin:
        -4px 0 23px;

    color:#333;

    font-size:16.5px;

    line-height:1.72;

    font-weight:500;
}


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

@media(max-width:1100px){

    .pttAirportProIntro__grid{
        gap:45px;
    }

    .pttAirportProIntro__image{
        height:520px;
    }

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

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

    .pttAirportProBenefits__grid article:nth-child(2n){
        border-right:0;
    }

}


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

@media(max-width:900px){

    .pttAirportProIntro,
    .pttAirportProServices,
    .pttAirportProBenefits,
    .pttAirportProVehicles,
    .pttAirportProFaq{
        padding:70px 0;
    }


    .pttAirportProIntro__grid{
        grid-template-columns:1fr;
    }

    .pttAirportProIntro__image{
        height:500px;
    }


    .pttAirportProBenefits__head{
        grid-template-columns:1fr;

        gap:20px;
    }


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

    .pttAirportProVehicles__grid > a:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.12);
    }

    .pttAirportProVehicles__grid > a:nth-child(2n){
        border-right:0;
    }


    .pttAirportProBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }


    .pttAirportProFaq__grid{
        grid-template-columns:1fr;

        gap:35px;
    }

}


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

@media(max-width:600px){

    .pttAirportProShell{
        width:min(92%,520px);
    }


    .pttAirportProIntro,
    .pttAirportProServices,
    .pttAirportProBenefits,
    .pttAirportProVehicles,
    .pttAirportProFaq{
        padding:58px 0;
    }


    .pttAirportProEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttAirportProIntro__content h2{
        font-size:39px;
    }

    .pttAirportProIntro__content > p{
        font-size:16.5px;
    }

    .pttAirportProIntro__points{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttAirportProIntro__image{
        height:400px;

        border-radius:22px;
    }

    .pttAirportProIntro__imageLabel strong{
        font-size:19px;
    }


    /* SECTION HEAD */

    .pttAirportProSectionHead{
        margin-bottom:32px;
    }

    .pttAirportProSectionHead h2{
        font-size:38px;
    }

    .pttAirportProSectionHead p{
        font-size:16.5px;
    }


    /* SERVICES */

    .pttAirportProServices__grid{
        grid-template-columns:1fr;
    }

    .pttAirportProService{
        min-height:auto;

        padding:27px 22px;
    }

    .pttAirportProService h3{
        font-size:21px;
    }

    .pttAirportProService p{
        font-size:16px;
    }


    /* BENEFITS */

    .pttAirportProBenefits__head h2{
        font-size:39px;
    }

    .pttAirportProBenefits__head > p{
        font-size:16.5px;
    }

    .pttAirportProBenefits__grid{
        grid-template-columns:1fr;
    }

    .pttAirportProBenefits__grid article{
        min-height:auto;

        padding:27px 5px;

        border-right:0;
    }


    /* VEHICLES */

    .pttAirportProVehicles__grid{
        grid-template-columns:1fr;
    }

    .pttAirportProVehicles__grid > a{
        min-height:92px;

        padding:20px 5px;

        border-right:0 !important;
    }

    .pttAirportProVehicles__grid strong{
        font-size:18px;
    }


    /* BOOKING */

    .pttAirportProBooking{
        padding:58px 0;
    }

    .pttAirportProBooking h2{
        font-size:37px;
    }

    .pttAirportProBooking p{
        font-size:16.5px;
    }

    .pttAirportProBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttAirportProBooking__primary,
    .pttAirportProBooking__wa{
        width:100%;
    }


    /* FAQ */

    .pttAirportProFaq__intro h2{
        font-size:38px;
    }

    .pttAirportProFaq__intro p{
        font-size:16.5px;
    }

    .pttAirportProFaq__item summary{
        min-height:72px;

        font-size:16px;
    }

    .pttAirportProFaq__item p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttAirportProIntro__content h2,
    .pttAirportProSectionHead h2,
    .pttAirportProBenefits__head h2,
    .pttAirportProFaq__intro h2{
        font-size:34px;
    }

    .pttAirportProIntro__image{
        height:360px;
    }

    .pttAirportProBooking h2{
        font-size:34px;
    }

}


/* =========================================================
   PTT JODHPUR RAILWAY STATION TRANSFER
   UNIQUE NAMESPACE: pttRailPro
   COLORS: #fb0001 / #000 / #fff
========================================================= */

.pttRailPro{
    width:100%;
    overflow:hidden;

    background:#fff;
    color:#000;

    font-family:'Outfit',sans-serif;
}

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

.pttRailProShell{
    width:min(1420px,92%);

    margin:0 auto;
}

.pttRailProEyebrow{
    display:inline-flex;

    align-items:center;

    margin-bottom:14px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.13em;

    text-transform:uppercase;
}


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

.pttRailProIntro{
    padding:90px 0;

    background:#fff;
}

.pttRailProIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.9fr)
        minmax(0,1.1fr);

    gap:70px;

    align-items:center;
}

.pttRailProIntro__content h2{
    margin:0 0 22px;

    color:#000;

    font-size:
        clamp(48px,5vw,74px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttRailProIntro__content h2 span{
    display:block;

    color:#fb0001;
}

.pttRailProIntro__content > p{
    max-width:700px;

    margin:0;

    color:#202020;

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}


/* INTRO POINTS */

.pttRailProIntro__points{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}

.pttRailProIntro__points > div{
    min-height:46px;

    display:flex;

    align-items:center;

    gap:9px;

    padding:0 15px;

    border:
        1px solid rgba(0,0,0,.12);

    border-radius:50px;

    background:#fff;
}

.pttRailProIntro__points i{
    color:#fb0001;

    font-size:15px;
}

.pttRailProIntro__points span{
    color:#111;

    font-size:14px;

    font-weight:700;
}


/* IMAGE */

.pttRailProIntro__image{
    position:relative;

    height:560px;

    overflow:hidden;

    border-radius:28px;

    background:#000;

    box-shadow:
        0 25px 60px rgba(0,0,0,.12);
}

.pttRailProIntro__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.pttRailProIntro__image:hover img{
    transform:
        scale(1.025);
}

.pttRailProIntro__image::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(0,0,0,.72) 100%
        );
}

.pttRailProIntro__imageLabel{
    position:absolute;

    left:27px;
    right:27px;
    bottom:25px;

    z-index:3;
}

.pttRailProIntro__imageLabel small{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:11px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttRailProIntro__imageLabel strong{
    display:block;

    color:#fff;

    font-size:22px;

    line-height:1.3;

    font-weight:800;
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.pttRailProSectionHead{
    max-width:880px;

    margin:
        0 auto 48px;

    text-align:center;
}

.pttRailProSectionHead h2{
    margin:0 0 17px;

    color:#000;

    font-size:
        clamp(44px,4.8vw,68px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttRailProSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttRailProSectionHead p{
    max-width:750px;

    margin:0 auto;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttRailProSectionHead--left{
    margin-left:0;

    text-align:left;
}

.pttRailProSectionHead--left p{
    margin-left:0;
}


/* =========================================================
   SERVICES
========================================================= */

.pttRailProServices{
    padding:90px 0;

    background:#f7f7f7;
}

.pttRailProServices__grid{
    display:grid;

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

    gap:16px;
}

.pttRailProService{
    position:relative;

    min-height:315px;

    padding:34px 27px;

    border:
        1px solid rgba(0,0,0,.08);

    border-radius:22px;

    background:#fff;

    transition:.3s ease;
}

.pttRailProService:hover{
    transform:
        translateY(-5px);

    border-color:
        rgba(251,0,1,.28);

    box-shadow:
        0 18px 38px rgba(0,0,0,.07);
}

.pttRailProService__number{
    position:absolute;

    top:20px;
    right:22px;

    color:#c7c7c7;

    font-size:30px;

    font-weight:800;
}

.pttRailProService__icon{
    width:60px;
    height:60px;

    display:grid;

    place-items:center;

    margin-bottom:29px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:21px;

    transition:.3s ease;
}

.pttRailProService:hover
.pttRailProService__icon{
    background:#fb0001;

    transform:
        translateY(-3px);
}

.pttRailProService h3{
    margin:0 0 12px;

    color:#000;

    font-size:24px;

    line-height:1.25;

    font-weight:800;
}

.pttRailProService p{
    margin:0;

    color:#222;

    font-size:17px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   BENEFITS / DARK SECTION
========================================================= */

.pttRailProBenefits{
    padding:90px 0;

    background:#000;
}

.pttRailProBenefits__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.7fr);

    gap:60px;

    align-items:end;

    margin-bottom:42px;
}

.pttRailProBenefits__head h2{
    margin:0;

    color:#fff;

    font-size:
        clamp(45px,5vw,70px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttRailProBenefits__head h2 span{
    display:block;

    color:#fb0001;
}

.pttRailProBenefits__head > p{
    margin:0;

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

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* BENEFIT GRID */

.pttRailProBenefits__grid{
    display:grid;

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

    border-top:
        1px solid rgba(255,255,255,.15);
}

.pttRailProBenefits__grid article{
    position:relative;

    min-height:245px;

    padding:32px 26px;

    border-right:
        1px solid rgba(255,255,255,.13);

    border-bottom:
        1px solid rgba(255,255,255,.13);
}

.pttRailProBenefits__grid article:last-child{
    border-right:0;
}

.pttRailProBenefits__no{
    position:absolute;

    top:20px;
    right:22px;

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

    font-size:28px;

    font-weight:800;
}

.pttRailProBenefits__grid i{
    margin-bottom:27px;

    color:#fb0001;

    font-size:26px;
}

.pttRailProBenefits__grid strong{
    display:block;

    margin-bottom:10px;

    color:#fff;

    font-size:21px;

    font-weight:800;
}

.pttRailProBenefits__grid p{
    margin:0;

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

    font-size:16px;

    line-height:1.65;

    font-weight:500;
}


/* =========================================================
   VEHICLES
========================================================= */

.pttRailProVehicles{
    padding:90px 0;

    background:#fff;
}

.pttRailProVehicles__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttRailProVehicles__grid > a{
    min-height:125px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:25px 23px;

    border-right:
        1px solid rgba(0,0,0,.12);

    border-bottom:
        1px solid rgba(0,0,0,.12);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttRailProVehicles__grid > a:nth-child(3n){
    border-right:0;
}

.pttRailProVehicles__grid > a:hover{
    color:#fb0001 !important;

    background:#fafafa;
}

.pttRailProVehicles__grid span{
    display:block;
}

.pttRailProVehicles__grid small{
    display:block;

    margin-bottom:6px;

    color:#555;

    font-size:12px;

    font-weight:800;
}

.pttRailProVehicles__grid strong{
    display:block;

    color:inherit;

    font-size:20px;

    line-height:1.3;

    font-weight:800;
}

.pttRailProVehicles__grid i{
    width:42px;
    height:42px;

    flex:0 0 42px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:13px;

    transition:.25s ease;
}

.pttRailProVehicles__grid > a:hover i{
    background:#fb0001;

    transform:
        translateX(3px);
}


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

.pttRailProBooking{
    padding:78px 0;

    background:#fb0001;
}

.pttRailProBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;
}

.pttRailProBooking__eyebrow{
    display:block;

    margin-bottom:10px;

    color:#fff;

    font-size:13px;

    font-weight:800;

    letter-spacing:.12em;
}

.pttRailProBooking h2{
    margin:0 0 14px;

    color:#fff;

    font-size:
        clamp(40px,4.2vw,62px);

    line-height:1;

    font-weight:800;
}

.pttRailProBooking h2 strong{
    display:block;

    color:#000;
}

.pttRailProBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttRailProBooking__actions{
    display:flex;

    align-items:center;

    gap:10px;
}

.pttRailProBooking__primary,
.pttRailProBooking__wa{
    min-height:58px;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:9px;

    padding:0 22px;

    border-radius:50px;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttRailProBooking__primary{
    background:#000;

    color:#fff !important;
}

.pttRailProBooking__primary:hover{
    background:#fff;

    color:#000 !important;

    transform:
        translateY(-2px);
}

.pttRailProBooking__wa{
    background:#fff;

    color:#000 !important;
}

.pttRailProBooking__wa:hover{
    background:#000;

    color:#fff !important;

    transform:
        translateY(-2px);
}


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

.pttRailProFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttRailProFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttRailProFaq__intro h2{
    margin:0 0 18px;

    color:#000;

    font-size:50px;

    line-height:1;

    font-weight:800;

    letter-spacing:-.035em;
}

.pttRailProFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttRailProFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* FAQ ITEM */

.pttRailProFaq__item{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttRailProFaq__item summary{
    min-height:84px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    line-height:1.45;

    font-weight:800;
}

.pttRailProFaq__item summary::-webkit-details-marker{
    display:none;
}

.pttRailProFaq__item summary i{
    color:#fb0001;

    transition:
        transform .25s ease;
}

.pttRailProFaq__item[open] summary i{
    transform:
        rotate(45deg);
}

.pttRailProFaq__item p{
    max-width:820px;

    margin:
        -4px 0 23px;

    color:#333;

    font-size:16.5px;

    line-height:1.72;

    font-weight:500;
}


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

@media(max-width:1100px){

    .pttRailProIntro__grid{
        gap:45px;
    }

    .pttRailProIntro__image{
        height:520px;
    }

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

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

    .pttRailProBenefits__grid article:nth-child(2n){
        border-right:0;
    }

}


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

@media(max-width:900px){

    .pttRailProIntro,
    .pttRailProServices,
    .pttRailProBenefits,
    .pttRailProVehicles,
    .pttRailProFaq{
        padding:70px 0;
    }


    .pttRailProIntro__grid{
        grid-template-columns:1fr;
    }

    .pttRailProIntro__image{
        height:500px;
    }


    .pttRailProBenefits__head{
        grid-template-columns:1fr;

        gap:20px;
    }


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

    .pttRailProVehicles__grid > a:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.12);
    }

    .pttRailProVehicles__grid > a:nth-child(2n){
        border-right:0;
    }


    .pttRailProBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }


    .pttRailProFaq__grid{
        grid-template-columns:1fr;

        gap:35px;
    }

}


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

@media(max-width:600px){

    .pttRailProShell{
        width:min(92%,520px);
    }


    .pttRailProIntro,
    .pttRailProServices,
    .pttRailProBenefits,
    .pttRailProVehicles,
    .pttRailProFaq{
        padding:58px 0;
    }


    .pttRailProEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttRailProIntro__content h2{
        font-size:39px;
    }

    .pttRailProIntro__content > p{
        font-size:16.5px;
    }

    .pttRailProIntro__points{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttRailProIntro__image{
        height:400px;

        border-radius:22px;
    }

    .pttRailProIntro__imageLabel strong{
        font-size:19px;
    }


    /* SECTION HEAD */

    .pttRailProSectionHead{
        margin-bottom:32px;
    }

    .pttRailProSectionHead h2{
        font-size:38px;
    }

    .pttRailProSectionHead p{
        font-size:16.5px;
    }


    /* SERVICES */

    .pttRailProServices__grid{
        grid-template-columns:1fr;
    }

    .pttRailProService{
        min-height:auto;

        padding:27px 22px;
    }

    .pttRailProService h3{
        font-size:21px;
    }

    .pttRailProService p{
        font-size:16px;
    }


    /* BENEFITS */

    .pttRailProBenefits__head h2{
        font-size:39px;
    }

    .pttRailProBenefits__head > p{
        font-size:16.5px;
    }

    .pttRailProBenefits__grid{
        grid-template-columns:1fr;
    }

    .pttRailProBenefits__grid article{
        min-height:auto;

        padding:27px 5px;

        border-right:0;
    }


    /* VEHICLES */

    .pttRailProVehicles__grid{
        grid-template-columns:1fr;
    }

    .pttRailProVehicles__grid > a{
        min-height:92px;

        padding:20px 5px;

        border-right:0 !important;
    }

    .pttRailProVehicles__grid strong{
        font-size:18px;
    }


    /* BOOKING */

    .pttRailProBooking{
        padding:58px 0;
    }

    .pttRailProBooking h2{
        font-size:37px;
    }

    .pttRailProBooking p{
        font-size:16.5px;
    }

    .pttRailProBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttRailProBooking__primary,
    .pttRailProBooking__wa{
        width:100%;
    }


    /* FAQ */

    .pttRailProFaq__intro h2{
        font-size:38px;
    }

    .pttRailProFaq__intro p{
        font-size:16.5px;
    }

    .pttRailProFaq__item summary{
        min-height:72px;

        font-size:16px;
    }

    .pttRailProFaq__item p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttRailProIntro__content h2,
    .pttRailProSectionHead h2,
    .pttRailProBenefits__head h2,
    .pttRailProFaq__intro h2{
        font-size:34px;
    }

    .pttRailProIntro__image{
        height:360px;
    }

    .pttRailProBooking h2{
        font-size:34px;
    }

}


@media (min-width:1700px) and (max-width:2000px){

.ptt-site-nav a {
    font-size: 17px;
    font-weight: 600;
}

.ptt-topbar-links>a {
    font-size: 15px!important;
}

.ptt-topbar-contact > a:not(.ptt26-instagram-btn) {
    font-size: 15px!important;
}


.ptt-site-book {
    font-size: 17px;
    font-weight: 800;
}

}


/* =========================================================
   PTT 8+1 TEMPO TRAVELLER
   CLEAN / MODERN / PROFESSIONAL
   UNIQUE PREFIX: pttT8Clean
========================================================= */

.pttT8Clean{
    width:100%;
    overflow:hidden;

    background:#fff;
    color:#000;

    font-family:'Outfit',sans-serif;
}

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

.pttT8CleanShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttT8CleanEyebrow{
    display:inline-block;

    margin-bottom:13px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTON
========================================================= */

.pttT8CleanBtn{
    min-height:52px;

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

    gap:9px;

    padding:0 23px;

    border-radius:50px;

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

    text-decoration:none !important;

    transition:.25s ease;
}

.pttT8CleanBtn--red{
    background:#fb0001;
    color:#fff !important;
}

.pttT8CleanBtn--red:hover{
    background:#000;
    transform:translateY(-2px);
}

.pttT8CleanBtn--dark{
    background:#000;
    color:#fff !important;
}

.pttT8CleanBtn--dark:hover{
    background:#fb0001;
    transform:translateY(-2px);
}


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

.pttT8CleanIntro{
    padding:90px 0;
    background:#fff;
}

.pttT8CleanIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.92fr)
        minmax(0,1.08fr);

    gap:70px;

    align-items:center;
}

.pttT8CleanIntro__content h1{
    margin:0 0 22px;

    color:#000;

    font-size:clamp(48px,5vw,74px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttT8CleanIntro__content h1 span{
    display:block;
    color:#fb0001;
}

.pttT8CleanIntro__lead{
    max-width:700px;

    margin:0 0 13px;

    color:#1c1c1c;

    font-size:20px;
    line-height:1.7;

    font-weight:600;
}

.pttT8CleanIntro__content > p:not(.pttT8CleanIntro__lead){
    max-width:700px;

    margin:0;

    color:#333;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttT8CleanIntro__actions{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:27px;
}


/* QUICK SPECS */

.pttT8CleanIntro__quick{
    display:grid;

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

    gap:10px;

    margin-top:34px;
}

.pttT8CleanIntro__quick > div{
    display:flex;
    align-items:center;

    gap:12px;

    padding:16px 10px;

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttT8CleanIntro__quick i{
    color:#fb0001;

    font-size:21px;
}

.pttT8CleanIntro__quick small{
    display:block;

    margin-bottom:3px;

    color:#444;

    font-size:10px;

    font-weight:800;
}

.pttT8CleanIntro__quick strong{
    display:block;

    color:#000;

    font-size:15px;

    font-weight:800;
}


/* INTRO IMAGE */

.pttT8CleanIntro__image{
    position:relative;

    height:560px;

    overflow:hidden;

    border-radius:25px;

    background:#f4f4f4;

    box-shadow:
        0 24px 55px rgba(0,0,0,.1);
}

.pttT8CleanIntro__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.pttT8CleanIntro__image:hover img{
    transform:scale(1.025);
}

.pttT8CleanIntro__image::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.68)
        );
}

.pttT8CleanIntro__imageLabel{
    position:absolute;

    left:25px;
    right:25px;
    bottom:24px;

    z-index:2;
}

.pttT8CleanIntro__imageLabel small{
    display:block;

    margin-bottom:5px;

    color:#fb0001;

    font-size:11px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT8CleanIntro__imageLabel strong{
    display:block;

    color:#fff;

    font-size:22px;

    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttT8CleanSpecs{
    padding:68px 0;

    background:#f7f7f7;
}

.pttT8CleanSpecs__head{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:30px;
}

.pttT8CleanSpecs__head h2{
    margin:0;

    color:#000;

    font-size:46px;

    line-height:1;

    font-weight:800;
}

.pttT8CleanSpecs__head h2 span{
    color:#fb0001;
}

.pttT8CleanSpecs__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);

    border-bottom:
        1px solid rgba(0,0,0,.14);
}

.pttT8CleanSpecs__grid > div{
    min-height:150px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);
}

.pttT8CleanSpecs__grid > div:last-child{
    border-right:0;
}

.pttT8CleanSpecs__grid i{
    margin-bottom:15px;

    color:#fb0001;

    font-size:23px;
}

.pttT8CleanSpecs__grid small{
    color:#444;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttT8CleanSpecs__grid strong{
    margin-top:6px;

    color:#000;

    font-size:17px;

    font-weight:800;
}


/* =========================================================
   COMMON HEAD
========================================================= */

.pttT8CleanSectionHead{
    max-width:850px;

    margin:0 auto 45px;

    text-align:center;
}

.pttT8CleanSectionHead h2{
    margin:0 0 17px;

    color:#000;

    font-size:clamp(44px,4.7vw,67px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT8CleanSectionHead h2 span{
    display:block;
    color:#fb0001;
}

.pttT8CleanSectionHead p{
    max-width:760px;

    margin:0 auto;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   FEATURES
========================================================= */

.pttT8CleanFeatures{
    padding:90px 0;

    background:#fff;
}

.pttT8CleanFeatures__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttT8CleanFeatures__grid article{
    position:relative;

    min-height:260px;

    padding:31px 28px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);

    background:#fff;

    transition:.25s ease;
}

.pttT8CleanFeatures__grid article:nth-child(3n){
    border-right:0;
}

.pttT8CleanFeatures__grid article:hover{
    background:#fafafa;
}

.pttT8CleanFeatures__no{
    position:absolute;

    top:19px;
    right:22px;

    color:#ccc;

    font-size:27px;

    font-weight:800;
}

.pttT8CleanFeatures__icon{
    width:52px;
    height:52px;

    display:grid;
    place-items:center;

    margin-bottom:24px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:18px;

    transition:.25s ease;
}

.pttT8CleanFeatures__grid article:hover
.pttT8CleanFeatures__icon{
    background:#fb0001;
}

.pttT8CleanFeatures__grid h3{
    margin:0 0 10px;

    color:#000;

    font-size:21px;

    line-height:1.3;

    font-weight:800;
}

.pttT8CleanFeatures__grid p{
    margin:0;

    color:#222;

    font-size:16.5px;

    line-height:1.68;

    font-weight:500;
}


/* =========================================================
   JOURNEY
========================================================= */

.pttT8CleanJourney{
    padding:90px 0;

    background:#000;
}

.pttT8CleanJourney__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.72fr)
        minmax(0,1.28fr);

    gap:75px;
}

.pttT8CleanJourney__intro h2{
    margin:0 0 18px;

    color:#fff;

    font-size:clamp(44px,4.5vw,64px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT8CleanJourney__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttT8CleanJourney__intro p{
    margin:0;

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

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT8CleanJourney__intro > a{
    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:26px;

    color:#fff !important;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;
}

.pttT8CleanJourney__intro > a i{
    color:#fb0001;
}


/* JOURNEY LIST */

.pttT8CleanJourney__list{
    border-top:
        1px solid rgba(255,255,255,.14);
}

.pttT8CleanJourney__list > a,
.pttT8CleanJourney__list > div{
    min-height:135px;

    display:grid;

    grid-template-columns:
        38px 1fr 45px;

    align-items:center;

    gap:20px;

    padding:22px 4px;

    border-bottom:
        1px solid rgba(255,255,255,.14);

    color:#fff !important;

    text-decoration:none !important;
}

.pttT8CleanJourney__list > a > span,
.pttT8CleanJourney__list > div > span{
    color:#fb0001;

    font-size:12px;

    font-weight:800;
}

.pttT8CleanJourney__list small{
    display:block;

    margin-bottom:4px;

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

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT8CleanJourney__list h3{
    margin:0 0 6px;

    color:#fff;

    font-size:21px;

    font-weight:800;
}

.pttT8CleanJourney__list p{
    margin:0;

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

    font-size:15px;

    line-height:1.6;

    font-weight:500;
}

.pttT8CleanJourney__list > a > i,
.pttT8CleanJourney__list > div > i{
    color:#fb0001;

    font-size:20px;
}


/* =========================================================
   RANGE
========================================================= */

.pttT8CleanRange{
    padding:90px 0;

    background:#f7f7f7;
}

.pttT8CleanRange__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.68fr);

    gap:55px;

    align-items:end;

    margin-bottom:38px;
}

.pttT8CleanRange__head h2{
    margin:0;

    color:#000;

    font-size:clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT8CleanRange__head h2 span{
    display:block;
    color:#fb0001;
}

.pttT8CleanRange__head > p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT8CleanRange__grid{
    display:grid;

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

    gap:15px;
}

.pttT8CleanRange__card{
    overflow:hidden;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.25s ease;
}

.pttT8CleanRange__card:hover{
    transform:translateY(-4px);

    box-shadow:
        0 17px 36px rgba(0,0,0,.08);
}

.pttT8CleanRange__card--active{
    border-color:
        rgba(251,0,1,.55);
}


/* IMAGE */

.pttT8CleanRange__image{
    position:relative;

    height:350px;

    overflow:hidden;

    background:#eee;
}

.pttT8CleanRange__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttT8CleanRange__card:hover
.pttT8CleanRange__image img{
    transform:scale(1.04);
}

.pttT8CleanRange__image > span{
    position:absolute;

    left:14px;
    top:14px;

    padding:7px 10px;

    border-radius:50px;

    background:#fb0001;

    color:#fff;

    font-size:9px;

    font-weight:800;

    letter-spacing:.08em;
}


/* BODY */

.pttT8CleanRange__body{
    padding:24px;
}

.pttT8CleanRange__body > small{
    display:block;

    margin-bottom:7px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT8CleanRange__body h3{
    margin:0 0 11px;

    color:#000;

    font-size:22px;

    line-height:1.15;

    font-weight:800;
}

.pttT8CleanRange__body h3 span{
    display:block;
}

.pttT8CleanRange__body p{
    margin:0 0 20px;

    color:#333;

    font-size:15.5px;

    line-height:1.65;

    font-weight:500;
}

.pttT8CleanRange__body > a{
    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#000 !important;

    font-size:14px;

    font-weight:800;

    text-decoration:none !important;
}

.pttT8CleanRange__body > a i{
    color:#fb0001;
}


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

.pttT8CleanRoutes{
    padding:90px 0;

    background:#fff;
}

.pttT8CleanRoutes__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttT8CleanRoutes__grid > a{
    min-height:155px;

    display:grid;

    grid-template-columns:
        34px 1fr 39px;

    align-items:center;

    gap:14px;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttT8CleanRoutes__grid > a:nth-child(3n){
    border-right:0;
}

.pttT8CleanRoutes__grid > a:hover{
    background:#fafafa;

    color:#fb0001 !important;
}

.pttT8CleanRoutes__grid > a > span{
    color:#999;

    font-size:12px;

    font-weight:800;
}

.pttT8CleanRoutes__grid small{
    color:#555;

    font-size:10px;

    font-weight:800;

    letter-spacing:.09em;
}

.pttT8CleanRoutes__grid h3{
    margin:5px 0;

    color:inherit;

    font-size:23px;

    font-weight:800;
}

.pttT8CleanRoutes__grid p{
    margin:0;

    color:#000;

    font-size:17px;

    font-weight:500;
}

.pttT8CleanRoutes__grid > a > i{
    width:38px;
    height:38px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;
}


/* =========================================================
   BOOKING
========================================================= */

.pttT8CleanBooking{
    padding:76px 0;

    background:#fb0001;
}

.pttT8CleanBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:45px;
}

.pttT8CleanBooking__inner > div:first-child > span{
    display:block;

    margin-bottom:9px;

    color:#fff;

    font-size:12px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttT8CleanBooking h2{
    margin:0 0 13px;

    color:#fff;

    font-size:clamp(39px,4vw,59px);

    line-height:1;

    font-weight:800;
}

.pttT8CleanBooking h2 strong{
    display:block;
    color:#000;
}

.pttT8CleanBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttT8CleanBooking__actions{
    display:flex;

    gap:10px;
}

.pttT8CleanBooking__actions > a{
    min-height:64px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 20px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttT8CleanBooking__actions > a:last-child{
    background:#000;

    color:#fff !important;
}

.pttT8CleanBooking__actions i{
    font-size:19px;
}

.pttT8CleanBooking__actions small{
    display:block;

    margin-bottom:2px;

    font-size:9px;

    font-weight:800;
}

.pttT8CleanBooking__actions strong{
    display:block;

    font-size:15px;

    font-weight:800;
}


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

.pttT8CleanFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttT8CleanFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttT8CleanFaq__intro h2{
    margin:0 0 17px;

    color:#000;

    font-size:48px;

    line-height:1;

    font-weight:800;
}

.pttT8CleanFaq__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttT8CleanFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* FAQ ITEM */

.pttT8CleanFaq__list details{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttT8CleanFaq__list summary{
    min-height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    line-height:1.45;

    font-weight:800;
}

.pttT8CleanFaq__list summary::-webkit-details-marker{
    display:none;
}

.pttT8CleanFaq__list summary i{
    color:#fb0001;

    transition:.25s ease;
}

.pttT8CleanFaq__list details[open] summary i{
    transform:rotate(45deg);
}

.pttT8CleanFaq__list details p{
    margin:-3px 0 23px;

    color:#333;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   LARGE DESKTOP 1700 - 2000
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttT8CleanShell{
        width:min(1580px,92%);
    }

    .pttT8CleanIntro__image{
        height:600px;
    }

    .pttT8CleanRange__image{
        height:370px;
    }

}


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

@media(max-width:1100px){

    .pttT8CleanIntro__grid{
        gap:45px;
    }

    .pttT8CleanSpecs__grid{
        grid-template-columns:
            repeat(3,1fr);
    }

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

}


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

@media(max-width:900px){

    .pttT8CleanIntro,
    .pttT8CleanFeatures,
    .pttT8CleanJourney,
    .pttT8CleanRange,
    .pttT8CleanRoutes,
    .pttT8CleanFaq{
        padding:70px 0;
    }

    .pttT8CleanIntro__grid{
        grid-template-columns:1fr;
    }

    .pttT8CleanIntro__image{
        height:500px;
    }

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

    .pttT8CleanFeatures__grid article:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.11);
    }

    .pttT8CleanFeatures__grid article:nth-child(2n){
        border-right:0;
    }

    .pttT8CleanJourney__grid{
        grid-template-columns:1fr;

        gap:42px;
    }

    .pttT8CleanRange__head{
        grid-template-columns:1fr;

        gap:18px;
    }

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

    .pttT8CleanRoutes__grid > a:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.11);
    }

    .pttT8CleanRoutes__grid > a:nth-child(2n){
        border-right:0;
    }

    .pttT8CleanBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttT8CleanFaq__grid{
        grid-template-columns:1fr;

        gap:34px;
    }

}


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

@media(max-width:600px){

    .pttT8CleanShell{
        width:min(92%,520px);
    }

    .pttT8CleanIntro,
    .pttT8CleanFeatures,
    .pttT8CleanJourney,
    .pttT8CleanRange,
    .pttT8CleanRoutes,
    .pttT8CleanFaq{
        padding:58px 0;
    }

    .pttT8CleanEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttT8CleanIntro__content h1{
        font-size:39px;
    }

    .pttT8CleanIntro__lead{
        font-size:17px;
    }

    .pttT8CleanIntro__content > p:not(.pttT8CleanIntro__lead){
        font-size:16px;
    }

    .pttT8CleanIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttT8CleanBtn{
        width:100%;
    }

    .pttT8CleanIntro__quick{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttT8CleanIntro__image{
        height:400px;

        border-radius:20px;
    }


    /* SPECS */

    .pttT8CleanSpecs{
        padding:50px 0;
    }

    .pttT8CleanSpecs__head{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttT8CleanSpecs__head h2{
        font-size:36px;
    }

    .pttT8CleanSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttT8CleanSpecs__grid > div{
        min-height:auto;

        padding:18px 5px;

        border-right:0;
    }


    /* FEATURES */

    .pttT8CleanSectionHead{
        margin-bottom:30px;
    }

    .pttT8CleanSectionHead h2{
        font-size:37px;
    }

    .pttT8CleanSectionHead p{
        font-size:16.5px;
    }

    .pttT8CleanFeatures__grid{
        grid-template-columns:1fr;
    }

    .pttT8CleanFeatures__grid article{
        min-height:auto;

        padding:26px 5px;

        border-right:0 !important;
    }

    .pttT8CleanFeatures__grid h3{
        font-size:20px;
    }

    .pttT8CleanFeatures__grid p{
        font-size:15.5px;
    }


    /* JOURNEY */

    .pttT8CleanJourney__intro h2{
        font-size:37px;
    }

    .pttT8CleanJourney__intro p{
        font-size:16.5px;
    }

    .pttT8CleanJourney__list > a,
    .pttT8CleanJourney__list > div{
        grid-template-columns:
            30px 1fr 28px;

        gap:10px;

        min-height:115px;
    }

    .pttT8CleanJourney__list h3{
        font-size:18px;
    }

    .pttT8CleanJourney__list p{
        font-size:14px;
    }


    /* RANGE */

    .pttT8CleanRange__head h2{
        font-size:37px;
    }

    .pttT8CleanRange__head > p{
        font-size:16.5px;
    }

    .pttT8CleanRange__grid{
        grid-template-columns:1fr;
    }

    .pttT8CleanRange__image{
        height:270px;
    }


    /* ROUTES */

    .pttT8CleanRoutes__grid{
        grid-template-columns:1fr;
    }

    .pttT8CleanRoutes__grid > a{
        min-height:125px;

        padding:20px 5px;

        border-right:0 !important;
    }

    .pttT8CleanRoutes__grid h3{
        font-size:20px;
    }


    /* BOOKING */

    .pttT8CleanBooking{
        padding:58px 0;
    }

    .pttT8CleanBooking h2{
        font-size:36px;
    }

    .pttT8CleanBooking p{
        font-size:16.5px;
    }

    .pttT8CleanBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttT8CleanBooking__actions > a{
        width:100%;
    }


    /* FAQ */

    .pttT8CleanFaq__intro h2{
        font-size:37px;
    }

    .pttT8CleanFaq__intro p{
        font-size:16.5px;
    }

    .pttT8CleanFaq__list summary{
        min-height:72px;

        font-size:16px;
    }

    .pttT8CleanFaq__list details p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttT8CleanIntro__content h1{
        font-size:35px;
    }

    .pttT8CleanSpecs__head h2,
    .pttT8CleanSectionHead h2,
    .pttT8CleanJourney__intro h2,
    .pttT8CleanRange__head h2,
    .pttT8CleanFaq__intro h2{
        font-size:33px;
    }

    .pttT8CleanIntro__image{
        height:360px;
    }

    .pttT8CleanRange__image{
        height:235px;
    }

    .pttT8CleanBooking h2{
        font-size:33px;
    }

}


/* =========================================================
   PTT 17+1 TEMPO TRAVELLER
   5 IMAGE FEATURES
   UNIQUE PREFIX: pttT17Five
========================================================= */

.pttT17Five{
    width:100%;
    overflow:hidden;

    background:#fff;
    color:#000;

    font-family:'Outfit',sans-serif;
}

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

.pttT17FiveShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttT17FiveEyebrow{
    display:inline-block;

    margin-bottom:13px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttT17FiveBtn{
    min-height:52px;

    display:inline-flex;

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

    gap:9px;

    padding:0 23px;

    border-radius:50px;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttT17FiveBtn--red{
    background:#fb0001;

    color:#fff !important;
}

.pttT17FiveBtn--red:hover{
    background:#000;

    transform:translateY(-2px);
}

.pttT17FiveBtn--dark{
    background:#000;

    color:#fff !important;
}

.pttT17FiveBtn--dark:hover{
    background:#fb0001;

    transform:translateY(-2px);
}


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

.pttT17FiveIntro{
    padding:90px 0;

    background:#fff;
}

.pttT17FiveIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.92fr)
        minmax(0,1.08fr);

    gap:70px;

    align-items:center;
}

.pttT17FiveIntro__content h1{
    margin:0 0 22px;

    color:#000;

    font-size:clamp(48px,5vw,74px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.045em;
}

.pttT17FiveIntro__content h1 span{
    display:block;

    color:#fb0001;
}

.pttT17FiveIntro__lead{
    max-width:700px;

    margin:0 0 13px;

    color:#1c1c1c;

    font-size:20px;

    line-height:1.7;

    font-weight:600;
}

.pttT17FiveIntro__content > p:not(.pttT17FiveIntro__lead){
    max-width:700px;

    margin:0;

    color:#333;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT17FiveIntro__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:27px;
}


/* QUICK */

.pttT17FiveIntro__quick{
    display:grid;

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

    gap:10px;

    margin-top:34px;
}

.pttT17FiveIntro__quick > div{
    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 10px;

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttT17FiveIntro__quick i{
    color:#fb0001;

    font-size:21px;
}

.pttT17FiveIntro__quick small{
    display:block;

    margin-bottom:3px;

    color:#444;

    font-size:10px;

    font-weight:800;
}

.pttT17FiveIntro__quick strong{
    display:block;

    color:#000;

    font-size:15px;

    font-weight:800;
}


/* INTRO IMAGE */

.pttT17FiveIntro__image{
    position:relative;

    height:560px;

    overflow:hidden;

    border-radius:25px;

    background:#eee;

    box-shadow:
        0 24px 55px rgba(0,0,0,.1);
}

.pttT17FiveIntro__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.pttT17FiveIntro__image:hover img{
    transform:scale(1.025);
}

.pttT17FiveIntro__image::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.7)
        );
}

.pttT17FiveIntro__imageLabel{
    position:absolute;

    left:25px;
    right:25px;
    bottom:24px;

    z-index:3;
}

.pttT17FiveIntro__imageLabel small{
    display:block;

    margin-bottom:5px;

    color:#fb0001;

    font-size:11px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT17FiveIntro__imageLabel strong{
    color:#fff;

    font-size:22px;

    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttT17FiveSpecs{
    padding:68px 0;

    background:#f7f7f7;
}

.pttT17FiveSpecs__head{
    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:30px;

    margin-bottom:30px;
}

.pttT17FiveSpecs__head h2{
    margin:0;

    color:#000;

    font-size:46px;

    line-height:1;

    font-weight:800;
}

.pttT17FiveSpecs__head h2 span{
    color:#fb0001;
}

.pttT17FiveSpecs__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);

    border-bottom:
        1px solid rgba(0,0,0,.14);
}

.pttT17FiveSpecs__grid > div{
    min-height:150px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);
}

.pttT17FiveSpecs__grid > div:last-child{
    border-right:0;
}

.pttT17FiveSpecs__grid i{
    margin-bottom:15px;

    color:#fb0001;

    font-size:23px;
}

.pttT17FiveSpecs__grid small{
    color:#444;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttT17FiveSpecs__grid strong{
    margin-top:6px;

    color:#000;

    font-size:17px;

    font-weight:800;
}


/* =========================================================
   COMMON SECTION HEADING
========================================================= */

.pttT17FiveSectionHead{
    max-width:880px;

    margin:0 auto 45px;

    text-align:center;
}

.pttT17FiveSectionHead h2{
    margin:0 0 17px;

    color:#000;

    font-size:
        clamp(44px,4.7vw,67px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT17FiveSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttT17FiveSectionHead p{
    max-width:760px;

    margin:0 auto;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   FEATURES
========================================================= */

.pttT17FiveFeatures{
    padding:90px 0;

    background:#fff;
}

.pttT17FiveFeatures__grid{
    display:grid;

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

    gap:16px;
}


/*
   First row = 3 cards
   Each card spans 2 columns
*/

.pttT17FiveFeature{
    grid-column:span 2;

    overflow:hidden;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.3s ease;
}

.pttT17FiveFeature:nth-child(4){
    grid-column:2 / span 2;
}

.pttT17FiveFeature:nth-child(5){
    grid-column:4 / span 2;
}

.pttT17FiveFeature:hover{
    transform:
        translateY(-5px);

    box-shadow:
        0 18px 38px rgba(0,0,0,.09);
}


/* FEATURE IMAGE */

.pttT17FiveFeature__image{
    position:relative;

    height:270px;

    overflow:hidden;

    background:#eee;
}

.pttT17FiveFeature__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttT17FiveFeature:hover
.pttT17FiveFeature__image img{
    transform:
        scale(1.045);
}

.pttT17FiveFeature__image > span{
    position:absolute;

    top:15px;
    left:15px;

    width:39px;
    height:39px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;

    font-weight:800;
}


/* FEATURE BODY */

.pttT17FiveFeature__body{
    position:relative;

    padding:28px;
}

.pttT17FiveFeature__icon{
    position:absolute;

    top:-28px;
    right:25px;

    width:56px;
    height:56px;

    display:grid;

    place-items:center;

    border:
        5px solid #fff;

    border-radius:50%;

    background:#fb0001;

    color:#fff;

    font-size:18px;
}

.pttT17FiveFeature__body > small{
    display:block;

    margin-bottom:8px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT17FiveFeature__body h3{
    margin:0 0 10px;

    color:#000;

    font-size:22px;

    line-height:1.25;

    font-weight:800;
}

.pttT17FiveFeature__body p{
    margin:0;

    color:#272727;

    font-size:16px;

    line-height:1.68;

    font-weight:500;
}


/* =========================================================
   JOURNEY
========================================================= */

.pttT17FiveJourney{
    padding:90px 0;

    background:#000;
}

.pttT17FiveJourney__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.72fr)
        minmax(0,1.28fr);

    gap:75px;
}

.pttT17FiveJourney__intro h2{
    margin:0 0 18px;

    color:#fff;

    font-size:
        clamp(44px,4.5vw,64px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT17FiveJourney__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttT17FiveJourney__intro p{
    margin:0;

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

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT17FiveJourney__intro > a{
    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:26px;

    color:#fff !important;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;
}

.pttT17FiveJourney__intro > a i{
    color:#fb0001;
}


/* JOURNEY LIST */

.pttT17FiveJourney__list{
    border-top:
        1px solid rgba(255,255,255,.14);
}

.pttT17FiveJourney__list > a,
.pttT17FiveJourney__list > div{
    min-height:135px;

    display:grid;

    grid-template-columns:
        38px 1fr 45px;

    align-items:center;

    gap:20px;

    padding:22px 4px;

    border-bottom:
        1px solid rgba(255,255,255,.14);

    color:#fff !important;

    text-decoration:none !important;
}

.pttT17FiveJourney__list > a > span,
.pttT17FiveJourney__list > div > span{
    color:#fb0001;

    font-size:12px;

    font-weight:800;
}

.pttT17FiveJourney__list small{
    display:block;

    margin-bottom:4px;

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

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT17FiveJourney__list h3{
    margin:0 0 6px;

    color:#fff;

    font-size:21px;

    font-weight:800;
}

.pttT17FiveJourney__list p{
    margin:0;

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

    font-size:15px;

    line-height:1.6;

    font-weight:500;
}

.pttT17FiveJourney__list > a > i,
.pttT17FiveJourney__list > div > i{
    color:#fb0001;

    font-size:20px;
}


/* =========================================================
   RANGE
========================================================= */

.pttT17FiveRange{
    padding:90px 0;

    background:#f7f7f7;
}

.pttT17FiveRange__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.68fr);

    gap:55px;

    align-items:end;

    margin-bottom:38px;
}

.pttT17FiveRange__head h2{
    margin:0;

    color:#000;

    font-size:
        clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttT17FiveRange__head h2 span{
    display:block;

    color:#fb0001;
}

.pttT17FiveRange__head > p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT17FiveRange__grid{
    display:grid;

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

    gap:15px;
}

.pttT17FiveRange__card{
    overflow:hidden;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.25s ease;
}

.pttT17FiveRange__card:hover{
    transform:
        translateY(-4px);

    box-shadow:
        0 17px 36px rgba(0,0,0,.08);
}

.pttT17FiveRange__card--active{
    border-color:
        rgba(251,0,1,.55);
}


/* RANGE IMAGE */

.pttT17FiveRange__image{
    position:relative;

    height:245px;

    overflow:hidden;

    background:#eee;
}

.pttT17FiveRange__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttT17FiveRange__card:hover
.pttT17FiveRange__image img{
    transform:
        scale(1.04);
}

.pttT17FiveRange__image > span{
    position:absolute;

    left:14px;
    top:14px;

    padding:7px 10px;

    border-radius:50px;

    background:#fb0001;

    color:#fff;

    font-size:9px;

    font-weight:800;

    letter-spacing:.08em;
}


/* RANGE BODY */

.pttT17FiveRange__body{
    padding:24px;
}

.pttT17FiveRange__body > small{
    display:block;

    margin-bottom:7px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT17FiveRange__body h3{
    margin:0 0 11px;

    color:#000;

    font-size:22px;

    line-height:1.15;

    font-weight:800;
}

.pttT17FiveRange__body h3 span{
    display:block;
}

.pttT17FiveRange__body p{
    margin:0 0 20px;

    color:#333;

    font-size:15.5px;

    line-height:1.65;

    font-weight:500;
}

.pttT17FiveRange__body > a{
    display:inline-flex;

    align-items:center;

    gap:8px;

    color:#000 !important;

    font-size:14px;

    font-weight:800;

    text-decoration:none !important;
}

.pttT17FiveRange__body > a i{
    color:#fb0001;
}


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

.pttT17FiveRoutes{
    padding:90px 0;

    background:#fff;
}

.pttT17FiveRoutes__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttT17FiveRoutes__grid > a{
    min-height:155px;

    display:grid;

    grid-template-columns:
        34px 1fr 39px;

    align-items:center;

    gap:14px;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttT17FiveRoutes__grid > a:nth-child(3n){
    border-right:0;
}

.pttT17FiveRoutes__grid > a:hover{
    background:#fafafa;

    color:#fb0001 !important;
}

.pttT17FiveRoutes__grid > a > span{
    color:#999;

    font-size:12px;

    font-weight:800;
}

.pttT17FiveRoutes__grid small{
    color:#555;

    font-size:10px;

    font-weight:800;

    letter-spacing:.09em;
}

.pttT17FiveRoutes__grid h3{
    margin:5px 0;

    color:inherit;

    font-size:23px;

    font-weight:800;
}

.pttT17FiveRoutes__grid p{
    margin:0;

    color:#333;

    font-size:14px;

    font-weight:500;
}

.pttT17FiveRoutes__grid > a > i{
    width:38px;
    height:38px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;
}


/* =========================================================
   BOOKING
========================================================= */

.pttT17FiveBooking{
    padding:76px 0;

    background:#fb0001;
}

.pttT17FiveBooking__inner{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:45px;
}

.pttT17FiveBooking__inner > div:first-child > span{
    display:block;

    margin-bottom:9px;

    color:#fff;

    font-size:12px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttT17FiveBooking h2{
    margin:0 0 13px;

    color:#fff;

    font-size:
        clamp(39px,4vw,59px);

    line-height:1;

    font-weight:800;
}

.pttT17FiveBooking h2 strong{
    display:block;

    color:#000;
}

.pttT17FiveBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttT17FiveBooking__actions{
    display:flex;

    gap:10px;
}

.pttT17FiveBooking__actions > a{
    min-height:64px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 20px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttT17FiveBooking__actions > a:last-child{
    background:#000;

    color:#fff !important;
}

.pttT17FiveBooking__actions i{
    font-size:19px;
}

.pttT17FiveBooking__actions small{
    display:block;

    margin-bottom:2px;

    font-size:9px;

    font-weight:800;
}

.pttT17FiveBooking__actions strong{
    display:block;

    font-size:15px;

    font-weight:800;
}


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

.pttT17FiveFaq{
    padding:90px 0;

    background:#f7f7f7;
}

.pttT17FiveFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttT17FiveFaq__intro h2{
    margin:0 0 17px;

    color:#000;

    font-size:48px;

    line-height:1;

    font-weight:800;
}

.pttT17FiveFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttT17FiveFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttT17FiveFaq__list details{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttT17FiveFaq__list summary{
    min-height:82px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    line-height:1.45;

    font-weight:800;
}

.pttT17FiveFaq__list summary::-webkit-details-marker{
    display:none;
}

.pttT17FiveFaq__list summary i{
    color:#fb0001;

    transition:.25s ease;
}

.pttT17FiveFaq__list details[open]
summary i{
    transform:
        rotate(45deg);
}

.pttT17FiveFaq__list details p{
    margin:-3px 0 23px;

    color:#333;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   LARGE SCREEN 1700 - 2000
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttT17FiveShell{
        width:min(1580px,92%);
    }

    .pttT17FiveIntro__image{
        height:600px;
    }

    .pttT17FiveFeature__image{
        height:405px;
    }

    .pttT17FiveRange__image{
        height:270px;
    }

}


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

@media(max-width:1100px){

    .pttT17FiveIntro__grid{
        gap:45px;
    }

    .pttT17FiveSpecs__grid{
        grid-template-columns:
            repeat(3,1fr);
    }

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

}


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

@media(max-width:900px){

    .pttT17FiveIntro,
    .pttT17FiveFeatures,
    .pttT17FiveJourney,
    .pttT17FiveRange,
    .pttT17FiveRoutes,
    .pttT17FiveFaq{
        padding:70px 0;
    }


    .pttT17FiveIntro__grid{
        grid-template-columns:1fr;
    }

    .pttT17FiveIntro__image{
        height:500px;
    }


    /* FEATURES 2 + 2 + 1 */

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

        gap:14px;
    }

    .pttT17FiveFeature,
    .pttT17FiveFeature:nth-child(4),
    .pttT17FiveFeature:nth-child(5){
        grid-column:auto;
    }

    .pttT17FiveFeature:nth-child(5){
        grid-column:1 / span 2;

        width:calc(50% - 7px);

        justify-self:center;
    }


    .pttT17FiveJourney__grid{
        grid-template-columns:1fr;

        gap:42px;
    }


    .pttT17FiveRange__head{
        grid-template-columns:1fr;

        gap:18px;
    }


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

    .pttT17FiveRoutes__grid > a:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.11);
    }

    .pttT17FiveRoutes__grid > a:nth-child(2n){
        border-right:0;
    }


    .pttT17FiveBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }


    .pttT17FiveFaq__grid{
        grid-template-columns:1fr;

        gap:34px;
    }

}


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

@media(max-width:600px){

    .pttT17FiveShell{
        width:min(92%,520px);
    }


    .pttT17FiveIntro,
    .pttT17FiveFeatures,
    .pttT17FiveJourney,
    .pttT17FiveRange,
    .pttT17FiveRoutes,
    .pttT17FiveFaq{
        padding:58px 0;
    }


    .pttT17FiveEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttT17FiveIntro__content h1{
        font-size:39px;
    }

    .pttT17FiveIntro__lead{
        font-size:17px;
    }

    .pttT17FiveIntro__content > p:not(.pttT17FiveIntro__lead){
        font-size:16px;
    }

    .pttT17FiveIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttT17FiveBtn{
        width:100%;
    }

    .pttT17FiveIntro__quick{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttT17FiveIntro__image{
        height:400px;

        border-radius:20px;
    }


    /* SPECS */

    .pttT17FiveSpecs{
        padding:50px 0;
    }

    .pttT17FiveSpecs__head{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttT17FiveSpecs__head h2{
        font-size:36px;
    }

    .pttT17FiveSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttT17FiveSpecs__grid > div{
        min-height:auto;

        padding:18px 5px;

        border-right:0;
    }


    /* FEATURES */

    .pttT17FiveSectionHead{
        margin-bottom:30px;
    }

    .pttT17FiveSectionHead h2{
        font-size:37px;
    }

    .pttT17FiveSectionHead p{
        font-size:16.5px;
    }

    .pttT17FiveFeatures__grid{
        grid-template-columns:1fr;

        gap:13px;
    }

    .pttT17FiveFeature,
    .pttT17FiveFeature:nth-child(4),
    .pttT17FiveFeature:nth-child(5){
        width:100%;

        grid-column:auto;

        justify-self:stretch;
    }

    .pttT17FiveFeature__image{
        height:270px;
    }

    .pttT17FiveFeature__body{
        padding:24px;
    }

    .pttT17FiveFeature__body h3{
        font-size:20px;
    }

    .pttT17FiveFeature__body p{
        font-size:15.5px;
    }


    /* JOURNEY */

    .pttT17FiveJourney__intro h2{
        font-size:37px;
    }

    .pttT17FiveJourney__intro p{
        font-size:16.5px;
    }

    .pttT17FiveJourney__list > a,
    .pttT17FiveJourney__list > div{
        grid-template-columns:
            30px 1fr 28px;

        gap:10px;

        min-height:115px;
    }

    .pttT17FiveJourney__list h3{
        font-size:18px;
    }

    .pttT17FiveJourney__list p{
        font-size:14px;
    }


    /* RANGE */

    .pttT17FiveRange__head h2{
        font-size:37px;
    }

    .pttT17FiveRange__head > p{
        font-size:16.5px;
    }

    .pttT17FiveRange__grid{
        grid-template-columns:1fr;
    }

    .pttT17FiveRange__image{
        height:270px;
    }


    /* ROUTES */

    .pttT17FiveRoutes__grid{
        grid-template-columns:1fr;
    }

    .pttT17FiveRoutes__grid > a{
        min-height:125px;

        padding:20px 5px;

        border-right:0 !important;
    }


    /* BOOKING */

    .pttT17FiveBooking{
        padding:58px 0;
    }

    .pttT17FiveBooking h2{
        font-size:36px;
    }

    .pttT17FiveBooking p{
        font-size:16.5px;
    }

    .pttT17FiveBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttT17FiveBooking__actions > a{
        width:100%;
    }


    /* FAQ */

    .pttT17FiveFaq__intro h2{
        font-size:37px;
    }

    .pttT17FiveFaq__intro p{
        font-size:16.5px;
    }

    .pttT17FiveFaq__list summary{
        min-height:72px;

        font-size:16px;
    }

    .pttT17FiveFaq__list details p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttT17FiveIntro__content h1{
        font-size:35px;
    }

    .pttT17FiveSpecs__head h2,
    .pttT17FiveSectionHead h2,
    .pttT17FiveJourney__intro h2,
    .pttT17FiveRange__head h2,
    .pttT17FiveFaq__intro h2{
        font-size:33px;
    }

    .pttT17FiveIntro__image{
        height:350px;
    }

    .pttT17FiveFeature__image{
        height:235px;
    }

    .pttT17FiveRange__image{
        height:235px;
    }

    .pttT17FiveBooking h2{
        font-size:33px;
    }

}




/* =========================================================
   PTT 25+1 TEMPO TRAVELLER
   SAME DESIGN PATTERN AS 17+1 PAGE
========================================================= */

.pttT25Five{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:'Outfit',sans-serif;
}

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

.pttT25FiveShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttT25FiveEyebrow{
    display:inline-block;
    margin-bottom:13px;
    color:#fb0001;
    font-size:14px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttT25FiveBtn{
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:0 23px;
    border-radius:50px;
    font-size:15px;
    font-weight:800;
    text-decoration:none !important;
    transition:.25s ease;
}

.pttT25FiveBtn--red{
    background:#fb0001;
    color:#fff !important;
}

.pttT25FiveBtn--red:hover{
    background:#000;
    transform:translateY(-2px);
}

.pttT25FiveBtn--dark{
    background:#000;
    color:#fff !important;
}

.pttT25FiveBtn--dark:hover{
    background:#fb0001;
    transform:translateY(-2px);
}


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

.pttT25FiveIntro{
    padding:90px 0;
    background:#fff;
}

.pttT25FiveIntro__grid{
    display:grid;
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    gap:70px;
    align-items:center;
}

.pttT25FiveIntro__content h1{
    margin:0 0 22px;
    color:#000;
    font-size:clamp(48px,5vw,74px);
    line-height:.98;
    font-weight:800;
    letter-spacing:-.045em;
}

.pttT25FiveIntro__content h1 span{
    display:block;
    color:#fb0001;
}

.pttT25FiveIntro__lead{
    max-width:700px;
    margin:0 0 13px;
    color:#1c1c1c;
    font-size:20px;
    line-height:1.7;
    font-weight:600;
}

.pttT25FiveIntro__content > p:not(.pttT25FiveIntro__lead){
    max-width:700px;
    margin:0;
    color:#333;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

.pttT25FiveIntro__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:27px;
}


/* QUICK */

.pttT25FiveIntro__quick{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:34px;
}

.pttT25FiveIntro__quick > div{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 10px;
    border-top:1px solid rgba(0,0,0,.14);
}

.pttT25FiveIntro__quick i{
    color:#fb0001;
    font-size:21px;
}

.pttT25FiveIntro__quick small{
    display:block;
    margin-bottom:3px;
    color:#444;
    font-size:10px;
    font-weight:800;
}

.pttT25FiveIntro__quick strong{
    display:block;
    color:#000;
    font-size:15px;
    font-weight:800;
}


/* INTRO IMAGE */

.pttT25FiveIntro__image{
    position:relative;
    height:560px;
    overflow:hidden;
    border-radius:25px;
    background:#eee;
    box-shadow:0 24px 55px rgba(0,0,0,.1);
}

.pttT25FiveIntro__image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.5s ease;
}

.pttT25FiveIntro__image:hover img{
    transform:scale(1.025);
}

.pttT25FiveIntro__image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        180deg,
        transparent 55%,
        rgba(0,0,0,.7)
    );
}

.pttT25FiveIntro__imageLabel{
    position:absolute;
    left:25px;
    right:25px;
    bottom:24px;
    z-index:3;
}

.pttT25FiveIntro__imageLabel small{
    display:block;
    margin-bottom:5px;
    color:#fb0001;
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
}

.pttT25FiveIntro__imageLabel strong{
    color:#fff;
    font-size:22px;
    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttT25FiveSpecs{
    padding:68px 0;
    background:#f7f7f7;
}

.pttT25FiveSpecs__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:30px;
}

.pttT25FiveSpecs__head h2{
    margin:0;
    color:#000;
    font-size:46px;
    line-height:1;
    font-weight:800;
}

.pttT25FiveSpecs__head h2 span{
    color:#fb0001;
}

.pttT25FiveSpecs__grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.14);
    border-bottom:1px solid rgba(0,0,0,.14);
}

.pttT25FiveSpecs__grid > div{
    min-height:150px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:23px;
    border-right:1px solid rgba(0,0,0,.11);
}

.pttT25FiveSpecs__grid > div:last-child{
    border-right:0;
}

.pttT25FiveSpecs__grid i{
    margin-bottom:15px;
    color:#fb0001;
    font-size:23px;
}

.pttT25FiveSpecs__grid small{
    color:#444;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
}

.pttT25FiveSpecs__grid strong{
    margin-top:6px;
    color:#000;
    font-size:17px;
    font-weight:800;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.pttT25FiveSectionHead{
    max-width:880px;
    margin:0 auto 45px;
    text-align:center;
}

.pttT25FiveSectionHead h2{
    margin:0 0 17px;
    color:#000;
    font-size:clamp(44px,4.7vw,67px);
    line-height:1;
    font-weight:800;
    letter-spacing:-.04em;
}

.pttT25FiveSectionHead h2 span{
    display:block;
    color:#fb0001;
}

.pttT25FiveSectionHead p{
    max-width:760px;
    margin:0 auto;
    color:#222;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}


/* =========================================================
   5 IMAGE FEATURES
========================================================= */

/* =========================================================
   6 IMAGE FEATURES
========================================================= */

.pttT25FiveFeatures{
    padding:90px 0;
    background:#fff;
}

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

.pttT25FiveFeature{
    overflow:hidden;

    border:1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.3s ease;
}

.pttT25FiveFeature:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 38px rgba(0,0,0,.09);
}


/* IMAGE */

.pttT25FiveFeature__image{
    position:relative;

    height:320px;

    overflow:hidden;

    background:#eee;
}

.pttT25FiveFeature__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttT25FiveFeature:hover
.pttT25FiveFeature__image img{
    transform:scale(1.045);
}

.pttT25FiveFeature__image > span{
    position:absolute;

    top:15px;
    left:15px;

    width:39px;
    height:39px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;

    font-weight:800;
}


/* BODY */

.pttT25FiveFeature__body{
    position:relative;

    padding:28px;
}

.pttT25FiveFeature__icon{
    position:absolute;

    top:-28px;
    right:25px;

    width:56px;
    height:56px;

    display:grid;
    place-items:center;

    border:5px solid #fff;

    border-radius:50%;

    background:#fb0001;

    color:#fff;

    font-size:18px;
}

.pttT25FiveFeature__body > small{
    display:block;

    margin-bottom:8px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttT25FiveFeature__body h3{
    margin:0 0 10px;

    color:#000;

    font-size:22px;

    line-height:1.25;

    font-weight:800;
}

.pttT25FiveFeature__body p{
    margin:0;

    color:#272727;

    font-size:16px;

    line-height:1.68;

    font-weight:500;
}


/* LARGE SCREEN */

@media (min-width:1700px) and (max-width:2000px){

    .pttT25FiveFeature__image{
        height:295px;
    }

}


/* TABLET - 2 + 2 + 2 */

@media(max-width:900px){

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

        gap:14px;
    }

}


/* MOBILE */

@media(max-width:600px){

    .pttT25FiveFeatures{
        padding:58px 0;
    }

    .pttT25FiveFeatures__grid{
        grid-template-columns:1fr;

        gap:13px;
    }

    .pttT25FiveFeature__image{
        height:270px;
    }

    .pttT25FiveFeature__body{
        padding:24px;
    }

    .pttT25FiveFeature__body h3{
        font-size:20px;
    }

    .pttT25FiveFeature__body p{
        font-size:15.5px;
    }

}


@media(max-width:380px){

    .pttT25FiveFeature__image{
        height:235px;
    }

}

/* =========================================================
   JOURNEY
========================================================= */

.pttT25FiveJourney{
    padding:90px 0;
    background:#000;
}

.pttT25FiveJourney__grid{
    display:grid;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    gap:75px;
}

.pttT25FiveJourney__intro h2{
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(44px,4.5vw,64px);
    line-height:1;
    font-weight:800;
    letter-spacing:-.04em;
}

.pttT25FiveJourney__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttT25FiveJourney__intro p{
    margin:0;
    color:rgba(255,255,255,.8);
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

.pttT25FiveJourney__intro > a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:26px;
    color:#fff !important;
    font-size:15px;
    font-weight:800;
    text-decoration:none !important;
}

.pttT25FiveJourney__intro > a i{
    color:#fb0001;
}

.pttT25FiveJourney__list{
    border-top:1px solid rgba(255,255,255,.14);
}

.pttT25FiveJourney__list > a,
.pttT25FiveJourney__list > div{
    min-height:135px;
    display:grid;
    grid-template-columns:38px 1fr 45px;
    align-items:center;
    gap:20px;
    padding:22px 4px;
    border-bottom:1px solid rgba(255,255,255,.14);
    color:#fff !important;
    text-decoration:none !important;
}

.pttT25FiveJourney__list > a > span,
.pttT25FiveJourney__list > div > span{
    color:#fb0001;
    font-size:12px;
    font-weight:800;
}

.pttT25FiveJourney__list small{
    display:block;
    margin-bottom:4px;
    color:rgba(255,255,255,.52);
    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
}

.pttT25FiveJourney__list h3{
    margin:0 0 6px;
    color:#fff;
    font-size:21px;
    font-weight:800;
}

.pttT25FiveJourney__list p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:15px;
    line-height:1.6;
    font-weight:500;
}

.pttT25FiveJourney__list > a > i,
.pttT25FiveJourney__list > div > i{
    color:#fb0001;
    font-size:20px;
}


/* =========================================================
   RANGE
========================================================= */

.pttT25FiveRange{
    padding:90px 0;
    background:#f7f7f7;
}

.pttT25FiveRange__head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,.68fr);
    gap:55px;
    align-items:end;
    margin-bottom:38px;
}

.pttT25FiveRange__head h2{
    margin:0;
    color:#000;
    font-size:clamp(44px,4.7vw,67px);
    line-height:.98;
    font-weight:800;
    letter-spacing:-.04em;
}

.pttT25FiveRange__head h2 span{
    display:block;
    color:#fb0001;
}

.pttT25FiveRange__head > p{
    margin:0;
    color:#222;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

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

.pttT25FiveRange__card{
    overflow:hidden;
    border:1px solid rgba(0,0,0,.1);
    border-radius:20px;
    background:#fff;
    transition:.25s ease;
}

.pttT25FiveRange__card:hover{
    transform:translateY(-4px);
    box-shadow:0 17px 36px rgba(0,0,0,.08);
}

.pttT25FiveRange__card--active{
    border-color:rgba(251,0,1,.55);
}

.pttT25FiveRange__image{
    position:relative;
    height:245px;
    overflow:hidden;
    background:#eee;
}

.pttT25FiveRange__image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.45s ease;
}

.pttT25FiveRange__card:hover
.pttT25FiveRange__image img{
    transform:scale(1.04);
}

.pttT25FiveRange__image > span{
    position:absolute;
    left:14px;
    top:14px;
    padding:7px 10px;
    border-radius:50px;
    background:#fb0001;
    color:#fff;
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
}

.pttT25FiveRange__body{
    padding:24px;
}

.pttT25FiveRange__body > small{
    display:block;
    margin-bottom:7px;
    color:#fb0001;
    font-size:10px;
    font-weight:800;
    letter-spacing:.1em;
}

.pttT25FiveRange__body h3{
    margin:0 0 11px;
    color:#000;
    font-size:22px;
    line-height:1.15;
    font-weight:800;
}

.pttT25FiveRange__body h3 span{
    display:block;
}

.pttT25FiveRange__body p{
    margin:0 0 20px;
    color:#333;
    font-size:15.5px;
    line-height:1.65;
    font-weight:500;
}

.pttT25FiveRange__body > a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#000 !important;
    font-size:14px;
    font-weight:800;
    text-decoration:none !important;
}

.pttT25FiveRange__body > a i{
    color:#fb0001;
}


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

.pttT25FiveRoutes{
    padding:90px 0;
    background:#fff;
}

.pttT25FiveRoutes__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid rgba(0,0,0,.13);
}

.pttT25FiveRoutes__grid > a{
    min-height:155px;
    display:grid;
    grid-template-columns:34px 1fr 39px;
    align-items:center;
    gap:14px;
    padding:23px;
    border-right:1px solid rgba(0,0,0,.11);
    border-bottom:1px solid rgba(0,0,0,.11);
    color:#000 !important;
    text-decoration:none !important;
    transition:.25s ease;
}

.pttT25FiveRoutes__grid > a:nth-child(3n){
    border-right:0;
}

.pttT25FiveRoutes__grid > a:hover{
    background:#fafafa;
    color:#fb0001 !important;
}

.pttT25FiveRoutes__grid > a > span{
    color:#999;
    font-size:12px;
    font-weight:800;
}

.pttT25FiveRoutes__grid small{
    color:#555;
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
}

.pttT25FiveRoutes__grid h3{
    margin:5px 0;
    color:inherit;
    font-size:23px;
    font-weight:800;
}

.pttT25FiveRoutes__grid p{
    margin:0;
    color:#333;
    font-size:14px;
    font-weight:500;
}

.pttT25FiveRoutes__grid > a > i{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#000;
    color:#fff;
    font-size:12px;
}


/* =========================================================
   BOOKING
========================================================= */

.pttT25FiveBooking{
    padding:76px 0;
    background:#fb0001;
}

.pttT25FiveBooking__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
}

.pttT25FiveBooking__inner > div:first-child > span{
    display:block;
    margin-bottom:9px;
    color:#fff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.11em;
}

.pttT25FiveBooking h2{
    margin:0 0 13px;
    color:#fff;
    font-size:clamp(39px,4vw,59px);
    line-height:1;
    font-weight:800;
}

.pttT25FiveBooking h2 strong{
    display:block;
    color:#000;
}

.pttT25FiveBooking p{
    max-width:650px;
    margin:0;
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.7;
    font-weight:500;
}

.pttT25FiveBooking__actions{
    display:flex;
    gap:10px;
}

.pttT25FiveBooking__actions > a{
    min-height:64px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 20px;
    border-radius:50px;
    background:#fff;
    color:#000 !important;
    text-decoration:none !important;
}

.pttT25FiveBooking__actions > a:last-child{
    background:#000;
    color:#fff !important;
}

.pttT25FiveBooking__actions i{
    font-size:19px;
}

.pttT25FiveBooking__actions small{
    display:block;
    margin-bottom:2px;
    font-size:9px;
    font-weight:800;
}

.pttT25FiveBooking__actions strong{
    display:block;
    font-size:15px;
    font-weight:800;
}


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

.pttT25FiveFaq{
    padding:90px 0;
    background:#f7f7f7;
}

.pttT25FiveFaq__grid{
    display:grid;
    grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);
    gap:70px;
}

.pttT25FiveFaq__intro h2{
    margin:0 0 17px;
    color:#000;
    font-size:48px;
    line-height:1;
    font-weight:800;
}

.pttT25FiveFaq__intro h2 span{
    display:block;
    color:#fb0001;
}

.pttT25FiveFaq__intro p{
    margin:0;
    color:#222;
    font-size:18px;
    line-height:1.75;
    font-weight:500;
}

.pttT25FiveFaq__list details{
    border-bottom:1px solid rgba(0,0,0,.13);
}

.pttT25FiveFaq__list summary{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    cursor:pointer;
    list-style:none;
    color:#000;
    font-size:18px;
    line-height:1.45;
    font-weight:800;
}

.pttT25FiveFaq__list summary::-webkit-details-marker{
    display:none;
}

.pttT25FiveFaq__list summary i{
    color:#fb0001;
    transition:.25s ease;
}

.pttT25FiveFaq__list details[open] summary i{
    transform:rotate(45deg);
}

.pttT25FiveFaq__list details p{
    margin:-3px 0 23px;
    color:#333;
    font-size:16.5px;
    line-height:1.7;
    font-weight:500;
}


/* =========================================================
   1700px - 2000px
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttT25FiveShell{
        width:min(1580px,92%);
    }

    .pttT25FiveIntro__image{
        height:600px;
    }

    .pttT25FiveFeature__image{
        height:295px;
    }

    .pttT25FiveRange__image{
        height:380px;
    }

}


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

@media(max-width:1100px){

    .pttT25FiveIntro__grid{
        gap:45px;
    }

    .pttT25FiveSpecs__grid{
        grid-template-columns:repeat(3,1fr);
    }

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

}


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

@media(max-width:900px){

    .pttT25FiveIntro,
    .pttT25FiveFeatures,
    .pttT25FiveJourney,
    .pttT25FiveRange,
    .pttT25FiveRoutes,
    .pttT25FiveFaq{
        padding:70px 0;
    }

    .pttT25FiveIntro__grid{
        grid-template-columns:1fr;
    }

    .pttT25FiveIntro__image{
        height:500px;
    }

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

    .pttT25FiveFeature,
    .pttT25FiveFeature:nth-child(4),
    .pttT25FiveFeature:nth-child(5){
        grid-column:auto;
    }

    .pttT25FiveFeature:nth-child(5){
        grid-column:1 / span 2;
        width:calc(50% - 7px);
        justify-self:center;
    }

    .pttT25FiveJourney__grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .pttT25FiveRange__head{
        grid-template-columns:1fr;
        gap:18px;
    }

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

    .pttT25FiveRoutes__grid > a:nth-child(3n){
        border-right:1px solid rgba(0,0,0,.11);
    }

    .pttT25FiveRoutes__grid > a:nth-child(2n){
        border-right:0;
    }

    .pttT25FiveBooking__inner{
        flex-direction:column;
        align-items:flex-start;
    }

    .pttT25FiveFaq__grid{
        grid-template-columns:1fr;
        gap:34px;
    }

}


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

@media(max-width:600px){

    .pttT25FiveShell{
        width:min(92%,520px);
    }

    .pttT25FiveIntro,
    .pttT25FiveFeatures,
    .pttT25FiveJourney,
    .pttT25FiveRange,
    .pttT25FiveRoutes,
    .pttT25FiveFaq{
        padding:58px 0;
    }

    .pttT25FiveEyebrow{
        font-size:11.5px;
    }

    .pttT25FiveIntro__content h1{
        font-size:39px;
    }

    .pttT25FiveIntro__lead{
        font-size:17px;
    }

    .pttT25FiveIntro__content > p:not(.pttT25FiveIntro__lead){
        font-size:16px;
    }

    .pttT25FiveIntro__actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .pttT25FiveBtn{
        width:100%;
    }

    .pttT25FiveIntro__quick{
        grid-template-columns:1fr;
        gap:0;
    }

    .pttT25FiveIntro__image{
        height:400px;
        border-radius:20px;
    }


    /* SPECS */

    .pttT25FiveSpecs{
        padding:50px 0;
    }

    .pttT25FiveSpecs__head{
        flex-direction:column;
        align-items:flex-start;
    }

    .pttT25FiveSpecs__head h2{
        font-size:36px;
    }

    .pttT25FiveSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttT25FiveSpecs__grid > div{
        min-height:auto;
        padding:18px 5px;
        border-right:0;
    }


    /* FEATURES */

    .pttT25FiveSectionHead{
        margin-bottom:30px;
    }

    .pttT25FiveSectionHead h2{
        font-size:37px;
    }

    .pttT25FiveSectionHead p{
        font-size:16.5px;
    }

    .pttT25FiveFeatures__grid{
        grid-template-columns:1fr;
        gap:13px;
    }

    .pttT25FiveFeature,
    .pttT25FiveFeature:nth-child(4),
    .pttT25FiveFeature:nth-child(5){
        width:100%;
        grid-column:auto;
        justify-self:stretch;
    }

    .pttT25FiveFeature__image{
        height:270px;
    }

    .pttT25FiveFeature__body{
        padding:24px;
    }

    .pttT25FiveFeature__body h3{
        font-size:20px;
    }

    .pttT25FiveFeature__body p{
        font-size:15.5px;
    }


    /* JOURNEY */

    .pttT25FiveJourney__intro h2{
        font-size:37px;
    }

    .pttT25FiveJourney__intro p{
        font-size:16.5px;
    }

    .pttT25FiveJourney__list > a,
    .pttT25FiveJourney__list > div{
        grid-template-columns:30px 1fr 28px;
        gap:10px;
        min-height:115px;
    }

    .pttT25FiveJourney__list h3{
        font-size:18px;
    }

    .pttT25FiveJourney__list p{
        font-size:14px;
    }


    /* RANGE */

    .pttT25FiveRange__head h2{
        font-size:37px;
    }

    .pttT25FiveRange__head > p{
        font-size:16.5px;
    }

    .pttT25FiveRange__grid{
        grid-template-columns:1fr;
    }

    .pttT25FiveRange__image{
        height:270px;
    }


    /* ROUTES */

    .pttT25FiveRoutes__grid{
        grid-template-columns:1fr;
    }

    .pttT25FiveRoutes__grid > a{
        min-height:125px;
        padding:20px 5px;
        border-right:0 !important;
    }


    /* BOOKING */

    .pttT25FiveBooking{
        padding:58px 0;
    }

    .pttT25FiveBooking h2{
        font-size:36px;
    }

    .pttT25FiveBooking p{
        font-size:16.5px;
    }

    .pttT25FiveBooking__actions{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }

    .pttT25FiveBooking__actions > a{
        width:100%;
    }


    /* FAQ */

    .pttT25FiveFaq__intro h2{
        font-size:37px;
    }

    .pttT25FiveFaq__intro p{
        font-size:16.5px;
    }

    .pttT25FiveFaq__list summary{
        min-height:72px;
        font-size:16px;
    }

    .pttT25FiveFaq__list details p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttT25FiveIntro__content h1{
        font-size:35px;
    }

    .pttT25FiveSpecs__head h2,
    .pttT25FiveSectionHead h2,
    .pttT25FiveJourney__intro h2,
    .pttT25FiveRange__head h2,
    .pttT25FiveFaq__intro h2{
        font-size:33px;
    }

    .pttT25FiveIntro__image{
        height:350px;
    }

    .pttT25FiveFeature__image{
        height:235px;
    }

    .pttT25FiveRange__image{
        height:235px;
    }

    .pttT25FiveBooking h2{
        font-size:33px;
    }

}



/* =========================================================
   PTT TEMPO TRAVELLER URBANIA
   PREMIUM / CLEAN / MODERN
   UNIQUE NAMESPACE: pttUrbaniaPrime
========================================================= */

.pttUrbaniaPrime{
    width:100%;
    overflow:hidden;

    background:#fff;
    color:#000;

    font-family:'Outfit',sans-serif;
}

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

.pttUrbaniaPrimeShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttUrbaniaPrimeEyebrow{
    display:inline-block;

    margin-bottom:13px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttUrbaniaPrimeBtn{
    min-height:54px;

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

    gap:9px;

    padding:0 24px;

    border-radius:50px;

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

    text-decoration:none !important;

    transition:.25s ease;
}

.pttUrbaniaPrimeBtn--red{
    background:#fb0001;
    color:#fff !important;
}

.pttUrbaniaPrimeBtn--red:hover{
    background:#000;
    transform:translateY(-2px);
}

.pttUrbaniaPrimeBtn--black{
    background:#000;
    color:#fff !important;
}

.pttUrbaniaPrimeBtn--black:hover{
    background:#fb0001;
    transform:translateY(-2px);
}


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

.pttUrbaniaPrimeIntro{
    padding:95px 0;

    background:#fff;
}

.pttUrbaniaPrimeIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.92fr)
        minmax(0,1.08fr);

    align-items:center;

    gap:70px;
}

.pttUrbaniaPrimeIntro__content h1{
    margin:0 0 17px;

    color:#000;

    font-size:clamp(52px,5.4vw,80px);
    line-height:.94;

    font-weight:800;

    letter-spacing:-.05em;
}

.pttUrbaniaPrimeIntro__content h1 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeIntro__content h2{
    max-width:680px;

    margin:0 0 18px;

    color:#111;

    font-size:26px;
    line-height:1.35;

    font-weight:800;
}

.pttUrbaniaPrimeIntro__lead{
    max-width:700px;

    margin:0 0 12px;

    color:#202020;

    font-size:20px;
    line-height:1.7;

    font-weight:600;
}

.pttUrbaniaPrimeIntro__content > p:not(.pttUrbaniaPrimeIntro__lead){
    max-width:700px;

    margin:0;

    color:#333;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeIntro__actions{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}


/* QUICK */

.pttUrbaniaPrimeIntro__quick{
    display:grid;

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

    gap:10px;

    margin-top:35px;
}

.pttUrbaniaPrimeIntro__quick > div{
    display:flex;
    align-items:center;

    gap:12px;

    padding:16px 8px;

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttUrbaniaPrimeIntro__quick i{
    color:#fb0001;

    font-size:21px;
}

.pttUrbaniaPrimeIntro__quick small{
    display:block;

    margin-bottom:3px;

    color:#555;

    font-size:10px;

    font-weight:800;
}

.pttUrbaniaPrimeIntro__quick strong{
    display:block;

    color:#000;

    font-size:15px;

    font-weight:800;
}


/* INTRO IMAGE */

.pttUrbaniaPrimeIntro__visual{
    position:relative;

    height:580px;

    overflow:hidden;

    border-radius:26px;

    background:#eee;

    box-shadow:
        0 24px 55px rgba(0,0,0,.1);
}

.pttUrbaniaPrimeIntro__visual img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.pttUrbaniaPrimeIntro__visual:hover img{
    transform:scale(1.025);
}

.pttUrbaniaPrimeIntro__visual::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.72)
        );
}

.pttUrbaniaPrimeIntro__label{
    position:absolute;

    left:27px;
    right:27px;
    bottom:25px;

    z-index:2;
}

.pttUrbaniaPrimeIntro__label small{
    display:block;

    margin-bottom:5px;

    color:#fb0001;

    font-size:11px;
    font-weight:800;

    letter-spacing:.11em;
}

.pttUrbaniaPrimeIntro__label strong{
    display:block;

    color:#fff;

    font-size:23px;

    font-weight:800;
}


/* =========================================================
   WHY CHOOSE
========================================================= */

.pttUrbaniaPrimeWhy{
    padding:85px 0;

    background:#f7f7f7;
}

.pttUrbaniaPrimeWhy__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);

    gap:70px;

    align-items:center;
}

.pttUrbaniaPrimeWhy__content h2{
    margin:0 0 20px;

    color:#000;

    font-size:clamp(45px,4.7vw,68px);
    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeWhy__content h2 span{
    display:block;
    color:#fb0001;
}

.pttUrbaniaPrimeWhy__content p{
    margin:0 0 12px;

    color:#292929;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeWhy__link{
    display:inline-flex;
    align-items:center;

    gap:9px;

    margin-top:16px;

    color:#000 !important;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;
}

.pttUrbaniaPrimeWhy__link i{
    color:#fb0001;
}


/* STATS */

.pttUrbaniaPrimeWhy__stats{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttUrbaniaPrimeWhy__stats article{
    min-height:190px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:27px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);
}

.pttUrbaniaPrimeWhy__stats article:nth-child(2n){
    border-right:0;
}

.pttUrbaniaPrimeWhy__stats i{
    margin-bottom:20px;

    color:#fb0001;

    font-size:25px;
}

.pttUrbaniaPrimeWhy__stats strong{
    color:#000;

    font-size:24px;
    line-height:1.1;

    font-weight:800;
}

.pttUrbaniaPrimeWhy__stats span{
    margin-top:5px;

    color:#444;

    font-size:15px;

    font-weight:600;
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.pttUrbaniaPrimeSectionHead{
    max-width:850px;

    margin:0 auto 45px;

    text-align:center;
}

.pttUrbaniaPrimeSectionHead h2{
    margin:0 0 17px;

    color:#000;

    font-size:clamp(46px,4.8vw,68px);
    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeSectionHead p{
    max-width:730px;

    margin:0 auto;

    color:#222;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   6 FEATURES
========================================================= */

.pttUrbaniaPrimeFeatures{
    padding:95px 0;

    background:#fff;
}

.pttUrbaniaPrimeFeatures__grid{
    display:grid;

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

    gap:15px;
}

.pttUrbaniaPrimeFeature{
    min-height:310px;

    display:flex;
    flex-direction:column;

    padding:30px;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.28s ease;
}

.pttUrbaniaPrimeFeature:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 40px rgba(0,0,0,.08);
}

.pttUrbaniaPrimeFeature__top{
    display:flex;

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

    margin-bottom:38px;
}

.pttUrbaniaPrimeFeature__top > span{
    color:#bbb;

    font-size:30px;

    font-weight:800;
}

.pttUrbaniaPrimeFeature__top > div{
    width:55px;
    height:55px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:19px;

    transition:.25s ease;
}

.pttUrbaniaPrimeFeature:hover
.pttUrbaniaPrimeFeature__top > div{
    background:#fb0001;
}

.pttUrbaniaPrimeFeature > small{
    margin-top:auto;

    margin-bottom:8px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttUrbaniaPrimeFeature h3{
    margin:0 0 11px;

    color:#000;

    font-size:23px;
    line-height:1.2;

    font-weight:800;
}

.pttUrbaniaPrimeFeature p{
    margin:0;

    color:#2c2c2c;

    font-size:16px;
    line-height:1.68;

    font-weight:500;
}


/* =========================================================
   INTERIOR
========================================================= */

.pttUrbaniaPrimeInterior{
    padding:95px 0;

    background:#000;
}

.pttUrbaniaPrimeInterior__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.08fr)
        minmax(0,.92fr);

    gap:70px;

    align-items:center;
}

.pttUrbaniaPrimeInterior__image{
    height:600px;

    overflow:hidden;

    border-radius:24px;
}

.pttUrbaniaPrimeInterior__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.pttUrbaniaPrimeInterior__content h2{
    margin:0 0 19px;

    color:#fff;

    font-size:clamp(45px,4.5vw,65px);
    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeInterior__content h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeInterior__content > p{
    margin:0;

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

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeInterior__points{
    margin-top:28px;

    border-top:
        1px solid rgba(255,255,255,.14);
}

.pttUrbaniaPrimeInterior__points > div{
    display:flex;
    align-items:center;

    gap:12px;

    min-height:58px;

    border-bottom:
        1px solid rgba(255,255,255,.14);

    color:#fff;

    font-size:16px;

    font-weight:600;
}

.pttUrbaniaPrimeInterior__points i{
    color:#fb0001;
}

.pttUrbaniaPrimeInterior__content > a{
    display:inline-flex;
    align-items:center;

    gap:9px;

    margin-top:28px;

    padding:14px 22px;

    border-radius:50px;

    background:#fb0001;

    color:#fff !important;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;
}


/* =========================================================
   VIEWS
========================================================= */

.pttUrbaniaPrimeViews{
    padding:95px 0;

    background:#f7f7f7;
}

.pttUrbaniaPrimeViews__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.68fr);

    gap:55px;

    align-items:end;

    margin-bottom:38px;
}

.pttUrbaniaPrimeViews__head h2{
    margin:0;

    color:#000;

    font-size:clamp(45px,4.7vw,67px);
    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeViews__head h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeViews__head > p{
    margin:0;

    color:#222;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeViews__grid{
    display:grid;

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

    grid-auto-rows:250px;

    gap:14px;
}

.pttUrbaniaPrimeViews__item{
    margin:0;

    overflow:hidden;

    border-radius:18px;

    background:#ddd;
}

.pttUrbaniaPrimeViews__item--large{
    grid-column:span 2;
    grid-row:span 2;
}

.pttUrbaniaPrimeViews__item--wide{
    grid-column:span 2;
}

.pttUrbaniaPrimeViews__item img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttUrbaniaPrimeViews__item:hover img{
    transform:scale(1.04);
}


/* =========================================================
   OCCASIONS
========================================================= */

.pttUrbaniaPrimeOccasions{
    padding:95px 0;

    background:#fff;
}

.pttUrbaniaPrimeOccasions__head{
    max-width:810px;

    margin-bottom:40px;
}

.pttUrbaniaPrimeOccasions__head h2{
    margin:0 0 16px;

    color:#000;

    font-size:clamp(45px,4.8vw,68px);
    line-height:.98;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeOccasions__head h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeOccasions__head p{
    margin:0;

    color:#222;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeOccasions__grid{
    display:grid;

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

    gap:15px;
}

.pttUrbaniaPrimeOccasions__grid article{
    overflow:hidden;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:19px;

    background:#fff;

    transition:.28s ease;
}

.pttUrbaniaPrimeOccasions__grid article:hover{
    transform:translateY(-4px);

    box-shadow:
        0 16px 34px rgba(0,0,0,.08);
}

.pttUrbaniaPrimeOccasions figure{
    height:250px;

    margin:0;

    overflow:hidden;
}

.pttUrbaniaPrimeOccasions figure img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.4s ease;
}

.pttUrbaniaPrimeOccasions article:hover img{
    transform:scale(1.04);
}

.pttUrbaniaPrimeOccasions article > div{
    padding:23px;
}

.pttUrbaniaPrimeOccasions small{
    color:#fb0001;

    font-size:10px;

    font-weight:800;
}

.pttUrbaniaPrimeOccasions h3{
    margin:6px 0 9px;

    color:#000;

    font-size:21px;

    font-weight:800;
}

.pttUrbaniaPrimeOccasions p{
    margin:0;

    color:#333;

    font-size:15px;
    line-height:1.6;

    font-weight:500;
}


/* =========================================================
   URBANIA DIFFERENCE
========================================================= */

.pttUrbaniaPrimeDifference{
    padding:95px 0;

    background:#f7f7f7;
}

.pttUrbaniaPrimeDifference__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.72fr)
        minmax(0,1.28fr);

    gap:75px;
}

.pttUrbaniaPrimeDifference__intro h2{
    margin:0 0 17px;

    color:#000;

    font-size:clamp(43px,4.5vw,63px);
    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaPrimeDifference__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeDifference__intro p{
    margin:0;

    color:#252525;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeDifference__list{
    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttUrbaniaPrimeDifference__list > div{
    min-height:125px;

    display:grid;

    grid-template-columns:
        40px 1fr;

    gap:20px;

    align-items:center;

    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttUrbaniaPrimeDifference__list > div > span{
    color:#fb0001;

    font-size:12px;

    font-weight:800;
}

.pttUrbaniaPrimeDifference__list h3{
    margin:0 0 5px;

    color:#000;

    font-size:21px;

    font-weight:800;
}

.pttUrbaniaPrimeDifference__list p{
    margin:0;

    color:#333;

    font-size:15.5px;
    line-height:1.6;

    font-weight:500;
}


/* =========================================================
   BOOKING
========================================================= */

.pttUrbaniaPrimeBooking{
    padding:78px 0;

    background:#fb0001;
}

.pttUrbaniaPrimeBooking__inner{
    display:flex;

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

    gap:50px;
}

.pttUrbaniaPrimeBooking__inner >
div:first-child > span{
    display:block;

    margin-bottom:9px;

    color:#fff;

    font-size:12px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttUrbaniaPrimeBooking h2{
    margin:0 0 13px;

    color:#fff;

    font-size:clamp(40px,4vw,59px);
    line-height:1;

    font-weight:800;
}

.pttUrbaniaPrimeBooking h2 strong{
    display:block;

    color:#000;
}

.pttUrbaniaPrimeBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;
    line-height:1.7;

    font-weight:500;
}

.pttUrbaniaPrimeBooking__actions{
    display:flex;

    gap:10px;
}

.pttUrbaniaPrimeBooking__actions > a{
    min-height:65px;

    display:flex;
    align-items:center;

    gap:12px;

    padding:0 20px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttUrbaniaPrimeBooking__actions >
a:last-child{
    background:#000;

    color:#fff !important;
}

.pttUrbaniaPrimeBooking__actions i{
    font-size:19px;
}

.pttUrbaniaPrimeBooking__actions small{
    display:block;

    margin-bottom:2px;

    font-size:9px;

    font-weight:800;
}

.pttUrbaniaPrimeBooking__actions strong{
    display:block;

    font-size:15px;

    font-weight:800;
}


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

.pttUrbaniaPrimeFaq{
    padding:95px 0;

    background:#fff;
}

.pttUrbaniaPrimeFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttUrbaniaPrimeFaq__intro h2{
    margin:0 0 17px;

    color:#000;

    font-size:49px;
    line-height:1;

    font-weight:800;
}

.pttUrbaniaPrimeFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaPrimeFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;
    line-height:1.75;

    font-weight:500;
}

.pttUrbaniaPrimeFaq__list details{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttUrbaniaPrimeFaq__list summary{
    min-height:82px;

    display:flex;

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

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;
    line-height:1.45;

    font-weight:800;
}

.pttUrbaniaPrimeFaq__list
summary::-webkit-details-marker{
    display:none;
}

.pttUrbaniaPrimeFaq__list summary i{
    color:#fb0001;

    transition:.25s ease;
}

.pttUrbaniaPrimeFaq__list
details[open] summary i{
    transform:rotate(45deg);
}

.pttUrbaniaPrimeFaq__list details p{
    margin:-3px 0 23px;

    color:#333;

    font-size:16.5px;
    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   1700 - 2000 PX
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttUrbaniaPrimeShell{
        width:min(1580px,92%);
    }

    .pttUrbaniaPrimeIntro__visual{
        height:620px;
    }

    .pttUrbaniaPrimeInterior__image{
        height:650px;
    }

    .pttUrbaniaPrimeViews__grid{
        grid-auto-rows:280px;
    }

    .pttUrbaniaPrimeOccasions figure{
        height:280px;
    }

}


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

@media(max-width:1100px){

    .pttUrbaniaPrimeIntro__grid{
        gap:45px;
    }

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

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

}


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

@media(max-width:900px){

    .pttUrbaniaPrimeIntro,
    .pttUrbaniaPrimeWhy,
    .pttUrbaniaPrimeFeatures,
    .pttUrbaniaPrimeInterior,
    .pttUrbaniaPrimeViews,
    .pttUrbaniaPrimeOccasions,
    .pttUrbaniaPrimeDifference,
    .pttUrbaniaPrimeFaq{
        padding:70px 0;
    }


    .pttUrbaniaPrimeIntro__grid,
    .pttUrbaniaPrimeWhy__grid,
    .pttUrbaniaPrimeInterior__grid,
    .pttUrbaniaPrimeDifference__grid,
    .pttUrbaniaPrimeFaq__grid{
        grid-template-columns:1fr;
    }

    .pttUrbaniaPrimeIntro__visual{
        height:500px;
    }

    .pttUrbaniaPrimeWhy__grid{
        gap:40px;
    }

    .pttUrbaniaPrimeInterior__grid{
        gap:42px;
    }

    .pttUrbaniaPrimeInterior__image{
        height:500px;
    }

    .pttUrbaniaPrimeViews__head{
        grid-template-columns:1fr;

        gap:18px;
    }

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

        grid-auto-rows:280px;
    }

    .pttUrbaniaPrimeViews__item--large{
        grid-column:span 2;
        grid-row:span 1;
    }

    .pttUrbaniaPrimeViews__item--wide{
        grid-column:span 2;
    }

    .pttUrbaniaPrimeBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }

}


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

@media(max-width:600px){

    .pttUrbaniaPrimeShell{
        width:min(92%,520px);
    }


    .pttUrbaniaPrimeIntro,
    .pttUrbaniaPrimeWhy,
    .pttUrbaniaPrimeFeatures,
    .pttUrbaniaPrimeInterior,
    .pttUrbaniaPrimeViews,
    .pttUrbaniaPrimeOccasions,
    .pttUrbaniaPrimeDifference,
    .pttUrbaniaPrimeFaq{
        padding:58px 0;
    }


    .pttUrbaniaPrimeEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttUrbaniaPrimeIntro__content h1{
        font-size:41px;
    }

    .pttUrbaniaPrimeIntro__content h2{
        font-size:20px;
    }

    .pttUrbaniaPrimeIntro__lead{
        font-size:17px;
    }

    .pttUrbaniaPrimeIntro__content >
    p:not(.pttUrbaniaPrimeIntro__lead){
        font-size:16px;
    }

    .pttUrbaniaPrimeIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttUrbaniaPrimeBtn{
        width:100%;
    }

    .pttUrbaniaPrimeIntro__quick{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttUrbaniaPrimeIntro__visual{
        height:390px;

        border-radius:20px;
    }


    /* WHY */

    .pttUrbaniaPrimeWhy__content h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeWhy__content p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeWhy__stats{
        grid-template-columns:1fr;
    }

    .pttUrbaniaPrimeWhy__stats article{
        min-height:auto;

        padding:22px 5px;

        border-right:0;
    }


    /* FEATURES */

    .pttUrbaniaPrimeSectionHead{
        margin-bottom:30px;
    }

    .pttUrbaniaPrimeSectionHead h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeSectionHead p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeFeatures__grid{
        grid-template-columns:1fr;

        gap:12px;
    }

    .pttUrbaniaPrimeFeature{
        min-height:275px;

        padding:25px;
    }

    .pttUrbaniaPrimeFeature h3{
        font-size:21px;
    }

    .pttUrbaniaPrimeFeature p{
        font-size:15.5px;
    }


    /* INTERIOR */

    .pttUrbaniaPrimeInterior__image{
        height:380px;

        border-radius:18px;
    }

    .pttUrbaniaPrimeInterior__content h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeInterior__content > p{
        font-size:16.5px;
    }


    /* VIEWS */

    .pttUrbaniaPrimeViews__head h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeViews__head > p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeViews__grid{
        grid-template-columns:1fr;

        grid-auto-rows:260px;

        gap:11px;
    }

    .pttUrbaniaPrimeViews__item--large,
    .pttUrbaniaPrimeViews__item--wide{
        grid-column:auto;
        grid-row:auto;
    }


    /* OCCASIONS */

    .pttUrbaniaPrimeOccasions__head h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeOccasions__head p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeOccasions__grid{
        grid-template-columns:1fr;

        gap:12px;
    }

    .pttUrbaniaPrimeOccasions figure{
        height:270px;
    }


    /* DIFFERENCE */

    .pttUrbaniaPrimeDifference__intro h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeDifference__intro p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeDifference__list > div{
        grid-template-columns:
            30px 1fr;

        gap:10px;

        min-height:110px;
    }

    .pttUrbaniaPrimeDifference__list h3{
        font-size:19px;
    }


    /* BOOKING */

    .pttUrbaniaPrimeBooking{
        padding:58px 0;
    }

    .pttUrbaniaPrimeBooking h2{
        font-size:36px;
    }

    .pttUrbaniaPrimeBooking p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttUrbaniaPrimeBooking__actions > a{
        width:100%;
    }


    /* FAQ */

    .pttUrbaniaPrimeFaq__grid{
        gap:32px;
    }

    .pttUrbaniaPrimeFaq__intro h2{
        font-size:37px;
    }

    .pttUrbaniaPrimeFaq__intro p{
        font-size:16.5px;
    }

    .pttUrbaniaPrimeFaq__list summary{
        min-height:72px;

        font-size:16px;
    }

    .pttUrbaniaPrimeFaq__list details p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttUrbaniaPrimeIntro__content h1{
        font-size:36px;
    }

    .pttUrbaniaPrimeWhy__content h2,
    .pttUrbaniaPrimeSectionHead h2,
    .pttUrbaniaPrimeInterior__content h2,
    .pttUrbaniaPrimeViews__head h2,
    .pttUrbaniaPrimeOccasions__head h2,
    .pttUrbaniaPrimeDifference__intro h2,
    .pttUrbaniaPrimeFaq__intro h2{
        font-size:33px;
    }

    .pttUrbaniaPrimeIntro__visual{
        height:350px;
    }

    .pttUrbaniaPrimeInterior__image{
        height:340px;
    }

    .pttUrbaniaPrimeViews__grid{
        grid-auto-rows:235px;
    }

    .pttUrbaniaPrimeOccasions figure{
        height:235px;
    }

    .pttUrbaniaPrimeBooking h2{
        font-size:33px;
    }

}


/* =========================================================
   URBANIA DRIVER SECTION
   FRESH CLASSES
========================================================= */

.pttUrbaniaDriver{
    padding:95px 0;
    background:#000;
}

.pttUrbaniaDriver__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.05fr)
        minmax(0,.95fr);

    gap:70px;

    align-items:center;
}


/* =========================================================
   IMAGE
========================================================= */

.pttUrbaniaDriver__image{
    position:relative;

    height:620px;

    overflow:hidden;

    border-radius:24px;

    background:#1a1a1a;
}

.pttUrbaniaDriver__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.pttUrbaniaDriver__image:hover img{
    transform:scale(1.025);
}


/* IMAGE BOTTOM OVERLAY */

.pttUrbaniaDriver__image::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 58%,
            rgba(0,0,0,.7) 100%
        );

    pointer-events:none;
}


/* DRIVER BADGE */

.pttUrbaniaDriver__badge{
    position:absolute;

    left:24px;
    bottom:24px;

    z-index:3;

    display:flex;

    align-items:center;

    gap:13px;

    min-width:260px;

    padding:15px 18px;

    border-radius:14px;

    background:rgba(0,0,0,.82);

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

    backdrop-filter:blur(8px);
}

.pttUrbaniaDriver__badge > i{
    width:42px;
    height:42px;

    display:grid;

    place-items:center;

    flex:0 0 42px;

    border-radius:50%;

    background:#fb0001;

    color:#fff;

    font-size:16px;
}

.pttUrbaniaDriver__badge small{
    display:block;

    margin-bottom:3px;

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

    font-size:9px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttUrbaniaDriver__badge strong{
    display:block;

    color:#fff;

    font-size:16px;

    font-weight:800;
}


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

.pttUrbaniaDriver__content h2{
    margin:0 0 20px;

    color:#fff;

    font-size:clamp(45px,4.5vw,65px);

    line-height:1;

    font-weight:800;

    letter-spacing:-.04em;
}

.pttUrbaniaDriver__content h2 span{
    display:block;

    color:#fb0001;
}

.pttUrbaniaDriver__lead{
    margin:0 0 12px;

    color:#fff;

    font-size:19px;

    line-height:1.7;

    font-weight:600;
}

.pttUrbaniaDriver__content > p:not(.pttUrbaniaDriver__lead){
    margin:0;

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

    font-size:17px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   DRIVER POINTS
========================================================= */

.pttUrbaniaDriver__points{
    margin-top:30px;

    display:grid;

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

    border-top:
        1px solid rgba(255,255,255,.14);
}

.pttUrbaniaDriver__points > div{
    min-height:120px;

    display:flex;

    align-items:center;

    gap:13px;

    padding:20px 15px 20px 0;

    border-right:
        1px solid rgba(255,255,255,.12);

    border-bottom:
        1px solid rgba(255,255,255,.12);
}

.pttUrbaniaDriver__points > div:nth-child(2n){
    border-right:0;
    padding-left:18px;
}

.pttUrbaniaDriver__points > div > i{
    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    flex:0 0 44px;

    border-radius:50%;

    background:rgba(251,0,1,.12);

    color:#fb0001;

    font-size:16px;
}

.pttUrbaniaDriver__points strong{
    display:block;

    margin-bottom:4px;

    color:#fff;

    font-size:16px;

    font-weight:800;
}

.pttUrbaniaDriver__points small{
    display:block;

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

    font-size:13.5px;

    line-height:1.5;

    font-weight:500;
}


/* =========================================================
   BUTTONS
========================================================= */

.pttUrbaniaDriver__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:29px;
}

.pttUrbaniaDriver__actions a{
    min-height:52px;

    display:inline-flex;

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

    gap:9px;

    padding:0 22px;

    border-radius:50px;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttUrbaniaDriver__call{
    background:#fb0001;

    color:#fff !important;
}

.pttUrbaniaDriver__call:hover{
    background:#fff;

    color:#000 !important;

    transform:translateY(-2px);
}

.pttUrbaniaDriver__wa{
    background:#fff;

    color:#000 !important;
}

.pttUrbaniaDriver__wa:hover{
    background:#fb0001;

    color:#fff !important;

    transform:translateY(-2px);
}


/* =========================================================
   1700 - 2000PX
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttUrbaniaDriver__image{
        height:680px;
    }

    .pttUrbaniaDriver__lead{
        font-size:20px;
    }

}


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

@media(max-width:900px){

    .pttUrbaniaDriver{
        padding:70px 0;
    }

    .pttUrbaniaDriver__grid{
        grid-template-columns:1fr;

        gap:42px;
    }

    .pttUrbaniaDriver__image{
        height:520px;
    }

}


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

@media(max-width:600px){

    .pttUrbaniaDriver{
        padding:58px 0;
    }

    .pttUrbaniaDriver__image{
        height:410px;

        border-radius:19px;
    }

    .pttUrbaniaDriver__badge{
        left:15px;
        right:15px;
        bottom:15px;

        min-width:0;

        padding:13px;
    }

    .pttUrbaniaDriver__content h2{
        font-size:37px;
    }

    .pttUrbaniaDriver__lead{
        font-size:17px;
    }

    .pttUrbaniaDriver__content > p:not(.pttUrbaniaDriver__lead){
        font-size:15.5px;
    }

    .pttUrbaniaDriver__points{
        grid-template-columns:1fr;
    }

    .pttUrbaniaDriver__points > div,
    .pttUrbaniaDriver__points > div:nth-child(2n){
        min-height:auto;

        padding:18px 0;

        border-right:0;
    }

    .pttUrbaniaDriver__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttUrbaniaDriver__actions a{
        width:100%;
    }

}


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

@media(max-width:380px){

    .pttUrbaniaDriver__image{
        height:360px;
    }

    .pttUrbaniaDriver__content h2{
        font-size:33px;
    }

}


/* =========================================================
   PTT LUXURY COACH
   CLEAN / MODERN / PROFESSIONAL
   UNIQUE PREFIX: pttLuxuryCoachPro
========================================================= */

.pttLuxuryCoachPro{
    width:100%;
    overflow:hidden;

    background:#fff;
    color:#000;

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

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

.pttLuxuryCoachProShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttLuxuryCoachProEyebrow{
    display:inline-block;

    margin-bottom:13px;

    color:#fb0001;

    font-size:14px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


/* =========================================================
   BUTTON
========================================================= */

.pttLuxuryCoachProBtn{
    min-height:54px;

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

    gap:9px;

    padding:0 24px;

    border-radius:50px;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttLuxuryCoachProBtn--red{
    background:#fb0001;
    color:#fff !important;
}

.pttLuxuryCoachProBtn--red:hover{
    background:#000;

    transform:translateY(-2px);
}

.pttLuxuryCoachProBtn--dark{
    background:#000;
    color:#fff !important;
}

.pttLuxuryCoachProBtn--dark:hover{
    background:#fb0001;

    transform:translateY(-2px);
}


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

.pttLuxuryCoachProIntro{
    padding:95px 0;

    background:#fff;
}

.pttLuxuryCoachProIntro__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.92fr)
        minmax(0,1.08fr);

    align-items:center;

    gap:70px;
}

.pttLuxuryCoachProIntro__content h1{
    margin:0 0 18px;

    color:#000;

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

    font-size:clamp(48px,4.6vw,72px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProIntro__content h1 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProIntro__content h2{
    max-width:680px;

    margin:0 0 18px;

    color:#111;

    font-size:25px;

    line-height:1.35;

    font-weight:700;
}

.pttLuxuryCoachProIntro__lead{
    max-width:700px;

    margin:0 0 12px;

    color:#1f1f1f;

    font-size:20px;

    line-height:1.7;

    font-weight:600;
}

.pttLuxuryCoachProIntro__content >
p:not(.pttLuxuryCoachProIntro__lead){
    max-width:700px;

    margin:0;

    color:#333;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttLuxuryCoachProIntro__actions{
    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}


/* QUICK INFO */

.pttLuxuryCoachProIntro__quick{
    display:grid;

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

    gap:10px;

    margin-top:35px;
}

.pttLuxuryCoachProIntro__quick > div{
    display:flex;

    align-items:center;

    gap:12px;

    padding:16px 8px;

    border-top:
        1px solid rgba(0,0,0,.14);
}

.pttLuxuryCoachProIntro__quick i{
    color:#fb0001;

    font-size:21px;
}

.pttLuxuryCoachProIntro__quick small{
    display:block;

    margin-bottom:3px;

    color:#555;

    font-size:10px;

    font-weight:800;
}

.pttLuxuryCoachProIntro__quick strong{
    display:block;

    color:#000;

    font-size:15px;

    font-weight:800;
}


/* INTRO IMAGE */

.pttLuxuryCoachProIntro__visual{
    position:relative;

    height:570px;

    overflow:hidden;

    border-radius:25px;

    background:#eee;

    box-shadow:
        0 24px 55px rgba(0,0,0,.1);
}

.pttLuxuryCoachProIntro__visual img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.pttLuxuryCoachProIntro__visual:hover img{
    transform:scale(1.025);
}

.pttLuxuryCoachProIntro__visual::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.72)
        );
}

.pttLuxuryCoachProIntro__label{
    position:absolute;

    left:26px;
    right:26px;
    bottom:24px;

    z-index:3;
}

.pttLuxuryCoachProIntro__label small{
    display:block;

    margin-bottom:4px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttLuxuryCoachProIntro__label strong{
    display:block;

    color:#fff;

    font-size:22px;

    font-weight:800;
}


/* =========================================================
   SPECS
========================================================= */

.pttLuxuryCoachProSpecs{
    padding:68px 0;

    background:#f7f7f7;
}

.pttLuxuryCoachProSpecs__head{
    display:flex;

    align-items:flex-end;
    justify-content:space-between;

    gap:30px;

    margin-bottom:30px;
}

.pttLuxuryCoachProSpecs__head h2{
    margin:0;

    color:#000;

    font-size:46px;

    line-height:1;

    font-weight:800;

    letter-spacing:-1.5px;
}

.pttLuxuryCoachProSpecs__head h2 span{
    color:#fb0001;
}

.pttLuxuryCoachProSpecs__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.14);

    border-bottom:
        1px solid rgba(0,0,0,.14);
}

.pttLuxuryCoachProSpecs__grid > div{
    min-height:150px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);
}

.pttLuxuryCoachProSpecs__grid > div:last-child{
    border-right:0;
}

.pttLuxuryCoachProSpecs__grid i{
    margin-bottom:15px;

    color:#fb0001;

    font-size:23px;
}

.pttLuxuryCoachProSpecs__grid small{
    color:#444;

    font-size:11px;

    font-weight:800;

    letter-spacing:.08em;
}

.pttLuxuryCoachProSpecs__grid strong{
    margin-top:6px;

    color:#000;

    font-size:17px;

    font-weight:800;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.pttLuxuryCoachProSectionHead{
    max-width:850px;

    margin:0 auto 44px;

    text-align:center;
}

.pttLuxuryCoachProSectionHead h2{
    margin:0 0 16px;

    color:#000;

    font-size:clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProSectionHead p{
    max-width:740px;

    margin:0 auto;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   FEATURES
========================================================= */

.pttLuxuryCoachProFeatures{
    padding:95px 0;

    background:#fff;
}

.pttLuxuryCoachProFeatures__grid{
    display:grid;

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

    gap:15px;
}

.pttLuxuryCoachProFeature{
    min-height:300px;

    display:flex;

    flex-direction:column;

    padding:30px;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    transition:.28s ease;
}

.pttLuxuryCoachProFeature:hover{
    transform:translateY(-5px);

    box-shadow:
        0 18px 38px rgba(0,0,0,.08);
}

.pttLuxuryCoachProFeature__top{
    display:flex;

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

    margin-bottom:38px;
}

.pttLuxuryCoachProFeature__top span{
    color:#bbb;

    font-size:30px;

    font-weight:800;
}


.pttLuxuryCoachProFeature__top i{
    width:55px;
    height:55px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:19px;

    transition:.25s ease;
}

.pttLuxuryCoachProFeature:hover
.pttLuxuryCoachProFeature__top i{
    background:#fb0001;
}

.pttLuxuryCoachProFeature > small{
    margin-top:auto;

    margin-bottom:8px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttLuxuryCoachProFeature h3{
    margin:0 0 10px;

    color:#000;

    font-size:22px;

    line-height:1.22;

    font-weight:800;
}

.pttLuxuryCoachProFeature p{
    margin:0;

    color:#2c2c2c;

    font-size:16px;

    line-height:1.68;

    font-weight:500;
}


/* =========================================================
   5 IMAGE GALLERY
========================================================= */

.pttLuxuryCoachProGallery{
    padding:95px 0;

    background:#000;
}

.pttLuxuryCoachProGallery__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.68fr);

    gap:55px;

    align-items:end;

    margin-bottom:38px;
}

.pttLuxuryCoachProGallery__head h2{
    margin:0;

    color:#fff;

    font-size:clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProGallery__head h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProGallery__head > p{
    margin:0;

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

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* GALLERY GRID */

.pttLuxuryCoachProGallery__grid{
    display:grid;

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

    grid-auto-rows:260px;

    gap:14px;
}

.pttLuxuryCoachProGallery__item{
    position:relative;

    margin:0;

    overflow:hidden;

    border-radius:18px;

    background:#222;
}

.pttLuxuryCoachProGallery__item--large{
    grid-column:span 2;

    grid-row:span 2;
}

.pttLuxuryCoachProGallery__item img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttLuxuryCoachProGallery__item:hover img{
    transform:scale(1.04);
}

.pttLuxuryCoachProGallery__item::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.75)
        );
}

.pttLuxuryCoachProGallery__item figcaption{
    position:absolute;

    left:18px;
    right:18px;
    bottom:17px;

    z-index:3;

    display:flex;

    align-items:center;

    gap:10px;
}

.pttLuxuryCoachProGallery__item figcaption small{
    color:#fb0001;

    font-size:11px;

    font-weight:800;
}

.pttLuxuryCoachProGallery__item figcaption strong{
    color:#fff;

    font-size:17px;

    font-weight:800;
}


/* =========================================================
   WHY CHOOSE
========================================================= */

.pttLuxuryCoachProWhy{
    padding:95px 0;

    background:#f7f7f7;
}

.pttLuxuryCoachProWhy__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.75fr)
        minmax(0,1.25fr);

    gap:75px;

    align-items:start;
}

.pttLuxuryCoachProWhy__content h2{
    margin:0 0 19px;

    color:#000;

    font-size:clamp(44px,4.5vw,64px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProWhy__content h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProWhy__content p{
    margin:0 0 12px;

    color:#292929;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttLuxuryCoachProWhy__content > a{
    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:16px;

    color:#000 !important;

    font-size:15px;


    font-weight:800;

    text-decoration:none !important;
}

.pttLuxuryCoachProWhy__content > a i{
    color:#fb0001;
}


/* WHY LIST */

.pttLuxuryCoachProWhy__list{
    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttLuxuryCoachProWhy__list article{
    min-height:130px;

    display:grid;

    grid-template-columns:
        35px 50px 1fr;

    align-items:center;

    gap:15px;

    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttLuxuryCoachProWhy__list article > span{
    color:#999;

    font-size:12px;

    font-weight:800;
}

.pttLuxuryCoachProWhy__list article > i{
    width:44px;
    height:44px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:16px;
}

.pttLuxuryCoachProWhy__list h3{
    margin:0 0 5px;

    color:#000;

    font-size:20px;

    font-weight:800;
}

.pttLuxuryCoachProWhy__list p{
    margin:0;

    color:#333;

    font-size:15.5px;

    line-height:1.6;

    font-weight:500;
}


/* =========================================================
   PERFECT FOR
========================================================= */

.pttLuxuryCoachProUse{
    padding:95px 0;

    background:#fff;
}

.pttLuxuryCoachProUse__head{
    max-width:800px;

    margin-bottom:39px;
}

.pttLuxuryCoachProUse__head h2{
    margin:0 0 16px;

    color:#000;

    font-size:clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProUse__head h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProUse__head p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttLuxuryCoachProUse__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttLuxuryCoachProUse__grid article{
    min-height:260px;

    position:relative;

    padding:30px 25px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);
}

.pttLuxuryCoachProUse__grid article:last-child{
    border-right:0;
}

.pttLuxuryCoachProUse__grid article > i{
    width:52px;
    height:52px;

    display:grid;

    place-items:center;

    margin-bottom:30px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:18px;
}

.pttLuxuryCoachProUse__grid article > small{
    position:absolute;

    top:25px;
    right:24px;

    color:#ccc;

    font-size:24px;

    font-weight:800;
}

.pttLuxuryCoachProUse__grid h3{
    margin:0 0 10px;

    color:#000;

    font-size:21px;

    font-weight:800;
}

.pttLuxuryCoachProUse__grid p{
    margin:0;

    color:#333;

    font-size:15.5px;

    line-height:1.65;

    font-weight:500;
}


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

.pttLuxuryCoachProRoutes{
    padding:95px 0;

    background:#f7f7f7;
}

.pttLuxuryCoachProRoutes__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.68fr);

    gap:55px;

    align-items:end;

    margin-bottom:38px;
}

.pttLuxuryCoachProRoutes__head h2{
    margin:0;

    color:#000;

    font-size:clamp(44px,4.7vw,67px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProRoutes__head h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProRoutes__head > p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttLuxuryCoachProRoutes__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttLuxuryCoachProRoutes__grid > a{
    min-height:155px;

    display:grid;

    grid-template-columns:
        34px 1fr 40px;

    align-items:center;

    gap:14px;

    padding:23px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);

    color:#000 !important;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttLuxuryCoachProRoutes__grid > a:nth-child(3n){
    border-right:0;
}

.pttLuxuryCoachProRoutes__grid > a:hover{
    background:#fff;

    color:#fb0001 !important;
}

.pttLuxuryCoachProRoutes__grid > a > span{
    color:#999;

    font-size:12px;

    font-weight:800;
}

.pttLuxuryCoachProRoutes__grid small{
    color:#555;

    font-size:10px;

    font-weight:800;

    letter-spacing:.09em;
}

.pttLuxuryCoachProRoutes__grid h3{
    margin:5px 0;

    color:inherit;

    font-size:22px;

    font-weight:800;
}

.pttLuxuryCoachProRoutes__grid p{
    margin:0;

    color:#333;

    font-size:14px;

    font-weight:500;
}

.pttLuxuryCoachProRoutes__grid > a > i{
    width:38px;
    height:38px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;
}

.pttLuxuryCoachProRoutes__custom{
    background:#000 !important;

    color:#fff !important;
}

.pttLuxuryCoachProRoutes__custom p,
.pttLuxuryCoachProRoutes__custom small{
    color:rgba(255,255,255,.7);
}

.pttLuxuryCoachProRoutes__custom > i{
    background:#fb0001 !important;
}


/* =========================================================
   BOOKING
========================================================= */

.pttLuxuryCoachProBooking{
    padding:78px 0;

    background:#fb0001;
}

.pttLuxuryCoachProBooking__inner{
    display:flex;

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

    gap:50px;
}

.pttLuxuryCoachProBooking__inner >
div:first-child > span{
    display:block;

    margin-bottom:9px;

    color:#fff;

    font-size:12px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttLuxuryCoachProBooking h2{
    margin:0 0 13px;

    color:#fff;

    font-size:clamp(40px,4vw,59px);

    line-height:1;

    font-weight:700;

    letter-spacing:-2px;
}

.pttLuxuryCoachProBooking h2 strong{
    display:block;

    color:#000;
}

.pttLuxuryCoachProBooking p{
    max-width:650px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}

.pttLuxuryCoachProBooking__actions{
    display:flex;

    gap:10px;
}

.pttLuxuryCoachProBooking__actions > a{
    min-height:65px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 20px;

    border-radius:50px;

    background:#fff;

    color:#000 !important;

    text-decoration:none !important;
}

.pttLuxuryCoachProBooking__actions >
a:last-child{
    background:#000;

    color:#fff !important;
}

.pttLuxuryCoachProBooking__actions i{
    font-size:19px;
}

.pttLuxuryCoachProBooking__actions small{
    display:block;

    margin-bottom:2px;

    font-size:9px;

    font-weight:800;
}

.pttLuxuryCoachProBooking__actions strong{
    display:block;

    font-size:15px;

    font-weight:800;
}


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

.pttLuxuryCoachProFaq{
    padding:95px 0;

    background:#fff;
}

.pttLuxuryCoachProFaq__grid{
    display:grid;

    grid-template-columns:
        minmax(0,.68fr)
        minmax(0,1.32fr);

    gap:70px;
}

.pttLuxuryCoachProFaq__intro h2{
    margin:0 0 17px;

    color:#000;

    font-size:48px;

    line-height:1;

    font-weight:700;

    letter-spacing:-1.5px;
}

.pttLuxuryCoachProFaq__intro h2 span{
    display:block;

    color:#fb0001;
}

.pttLuxuryCoachProFaq__intro p{
    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}

.pttLuxuryCoachProFaq__list details{
    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttLuxuryCoachProFaq__list summary{
    min-height:82px;

    display:flex;

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

    gap:20px;

    cursor:pointer;

    list-style:none;

    color:#000;

    font-size:18px;

    line-height:1.45;

    font-weight:800;
}

.pttLuxuryCoachProFaq__list
summary::-webkit-details-marker{
    display:none;
}

.pttLuxuryCoachProFaq__list summary i{
    color:#fb0001;

    transition:.25s ease;
}

.pttLuxuryCoachProFaq__list
details[open] summary i{
    transform:rotate(45deg);
}

.pttLuxuryCoachProFaq__list details p{
    margin:-3px 0 23px;

    color:#333;

    font-size:16.5px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   LARGE DESKTOP - ONLY 1700PX TO 2000PX
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttLuxuryCoachProShell{
        width:min(1580px,92%);
    }

    .pttLuxuryCoachProIntro__visual{
        height:620px;
    }

    .pttLuxuryCoachProGallery__grid{
        grid-auto-rows:290px;
    }

}


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

@media(max-width:1100px){

    .pttLuxuryCoachProIntro__grid{
        gap:45px;
    }

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

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

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

    .pttLuxuryCoachProUse__grid
    article:nth-child(2n){
        border-right:0;
    }

}


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

@media(max-width:900px){

    .pttLuxuryCoachProIntro,
    .pttLuxuryCoachProFeatures,
    .pttLuxuryCoachProGallery,
    .pttLuxuryCoachProWhy,
    .pttLuxuryCoachProUse,
    .pttLuxuryCoachProRoutes,
    .pttLuxuryCoachProFaq{
        padding:70px 0;
    }


    .pttLuxuryCoachProIntro__grid,
    .pttLuxuryCoachProWhy__grid,
    .pttLuxuryCoachProFaq__grid{
        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProIntro__visual{
        height:500px;
    }


    .pttLuxuryCoachProGallery__head,
    .pttLuxuryCoachProRoutes__head{
        grid-template-columns:1fr;

        gap:18px;
    }


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

        grid-auto-rows:280px;
    }

    .pttLuxuryCoachProGallery__item--large{
        grid-column:span 2;

        grid-row:span 1;
    }


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

    .pttLuxuryCoachProRoutes__grid >
    a:nth-child(3n){
        border-right:
            1px solid rgba(0,0,0,.11);
    }

    .pttLuxuryCoachProRoutes__grid >
    a:nth-child(2n){
        border-right:0;
    }


    .pttLuxuryCoachProBooking__inner{
        flex-direction:column;

        align-items:flex-start;
    }

}


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

@media(max-width:600px){

    .pttLuxuryCoachProShell{
        width:min(92%,520px);
    }


    .pttLuxuryCoachProIntro,
    .pttLuxuryCoachProFeatures,
    .pttLuxuryCoachProGallery,
    .pttLuxuryCoachProWhy,
    .pttLuxuryCoachProUse,
    .pttLuxuryCoachProRoutes,
    .pttLuxuryCoachProFaq{
        padding:58px 0;
    }


    .pttLuxuryCoachProEyebrow{
        font-size:11.5px;
    }


    /* INTRO */

    .pttLuxuryCoachProIntro__content h1{
        font-size:40px;

        letter-spacing:-1.3px;
    }

    .pttLuxuryCoachProIntro__content h2{
        font-size:20px;
    }

    .pttLuxuryCoachProIntro__lead{
        font-size:17px;
    }

    .pttLuxuryCoachProIntro__content >
    p:not(.pttLuxuryCoachProIntro__lead){
        font-size:16px;
    }

    .pttLuxuryCoachProIntro__actions{
        display:grid;

        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProBtn{
        width:100%;
    }

    .pttLuxuryCoachProIntro__quick{
        grid-template-columns:1fr;

        gap:0;
    }

    .pttLuxuryCoachProIntro__visual{
        height:390px;

        border-radius:20px;
    }


    /* SPECS */

    .pttLuxuryCoachProSpecs{
        padding:50px 0;
    }

    .pttLuxuryCoachProSpecs__head{
        flex-direction:column;

        align-items:flex-start;
    }

    .pttLuxuryCoachProSpecs__head h2{
        font-size:36px;
    }

    .pttLuxuryCoachProSpecs__grid{
        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProSpecs__grid > div{
        min-height:auto;

        padding:18px 5px;

        border-right:0;
    }


    /* FEATURES */

    .pttLuxuryCoachProSectionHead{
        margin-bottom:30px;
    }

    .pttLuxuryCoachProSectionHead h2{
        font-size:37px;

        letter-spacing:-1.3px;
    }

    .pttLuxuryCoachProSectionHead p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProFeatures__grid{
        grid-template-columns:1fr;

        gap:12px;
    }

    .pttLuxuryCoachProFeature{
        min-height:270px;

        padding:25px;
    }


    /* GALLERY */

    .pttLuxuryCoachProGallery__head h2{
        font-size:37px;
    }

    .pttLuxuryCoachProGallery__head > p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProGallery__grid{
        grid-template-columns:1fr;

        grid-auto-rows:270px;

        gap:11px;
    }

    .pttLuxuryCoachProGallery__item--large{
        grid-column:auto;

        grid-row:auto;
    }


    /* WHY */

    .pttLuxuryCoachProWhy__grid{
        gap:35px;
    }

    .pttLuxuryCoachProWhy__content h2{
        font-size:37px;
    }

    .pttLuxuryCoachProWhy__content p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProWhy__list article{
        grid-template-columns:
            27px 42px 1fr;

        gap:10px;

        min-height:115px;
    }


    /* USE */

    .pttLuxuryCoachProUse__head h2{
        font-size:37px;
    }

    .pttLuxuryCoachProUse__head p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProUse__grid{
        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProUse__grid article{
        min-height:auto;

        padding:26px 5px;

        border-right:0;
    }


    /* ROUTES */

    .pttLuxuryCoachProRoutes__head h2{
        font-size:37px;
    }

    .pttLuxuryCoachProRoutes__head > p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProRoutes__grid{
        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProRoutes__grid > a{
        min-height:125px;

        padding:20px 5px;

        border-right:0 !important;
    }


    /* BOOKING */

    .pttLuxuryCoachProBooking{
        padding:58px 0;
    }

    .pttLuxuryCoachProBooking h2{
        font-size:36px;
    }

    .pttLuxuryCoachProBooking p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProBooking__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttLuxuryCoachProBooking__actions > a{
        width:100%;
    }


    /* FAQ */

    .pttLuxuryCoachProFaq__grid{
        gap:32px;
    }

    .pttLuxuryCoachProFaq__intro h2{
        font-size:37px;
    }

    .pttLuxuryCoachProFaq__intro p{
        font-size:16.5px;
    }

    .pttLuxuryCoachProFaq__list summary{
        min-height:72px;

        font-size:16px;
    }

    .pttLuxuryCoachProFaq__list details p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttLuxuryCoachProIntro__content h1{
        font-size:35px;
    }

    .pttLuxuryCoachProSpecs__head h2,
    .pttLuxuryCoachProSectionHead h2,
    .pttLuxuryCoachProGallery__head h2,
    .pttLuxuryCoachProWhy__content h2,
    .pttLuxuryCoachProUse__head h2,
    .pttLuxuryCoachProRoutes__head h2,
    .pttLuxuryCoachProFaq__intro h2{
        font-size:33px;
    }

    .pttLuxuryCoachProIntro__visual{
        height:345px;
    }

    .pttLuxuryCoachProGallery__grid{
        grid-auto-rows:235px;
    }

    .pttLuxuryCoachProBooking h2{
        font-size:33px;
    }

}


/* =========================================================
   PTT - REUSABLE ALL VEHICLES SECTION
   UNIQUE PREFIX: pttAllFleetX
========================================================= */

.pttAllFleetX{
    padding:90px 0;
    background:#f7f7f7;
    font-family:"Outfit",sans-serif;
}

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

.pttAllFleetX__shell{
    width:min(1420px,92%);
    margin:0 auto;
}


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

.pttAllFleetX__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:35px;

    margin-bottom:38px;
}

.pttAllFleetX__headContent{
    max-width:780px;
}

.pttAllFleetX__eyebrow{
    display:block;

    margin-bottom:10px;

    color:#fb0001;

    font-size:13px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;
}

.pttAllFleetX__head h2{
    margin:0 0 14px;

    color:#000;

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

    font-size:clamp(44px,4.5vw,66px);

    line-height:.98;

    letter-spacing:-2px;

    font-weight:700;
}

.pttAllFleetX__head h2 span{
    color:#fb0001;
}

.pttAllFleetX__head p{
    max-width:650px;

    margin:0;

    color:#222;

    font-size:18px;
    line-height:1.7;

    font-weight:500;
}


/* VIEW ALL */

.pttAllFleetX__viewAll{
    min-height:52px;

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

    gap:9px;

    flex:0 0 auto;

    padding:0 23px;

    border:1px solid #000;

    border-radius:50px;

    color:#000 !important;
    background:transparent;

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

    text-decoration:none !important;

    transition:.25s ease;
}

.pttAllFleetX__viewAll:hover{
    background:#000;
    color:#fff !important;

    transform:translateY(-2px);
}


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

.pttAllFleetX__grid{
    display:grid;

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

    gap:16px;
}


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

.pttAllFleetX__card{
    min-width:0;

    overflow:hidden;

    display:flex;
    flex-direction:column;

    border:1px solid rgba(0,0,0,.1);

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 8px 24px rgba(0,0,0,.045);

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

.pttAllFleetX__card:hover{
    transform:translateY(-5px);

    border-color:rgba(251,0,1,.3);

    box-shadow:
        0 18px 42px rgba(0,0,0,.09);
}


/* =========================================================
   VEHICLE IMAGE
========================================================= */

.pttAllFleetX__image{
    position:relative;

    height:245px;

    display:block;

    overflow:hidden;

    background:#eee;

    text-decoration:none !important;
}

.pttAllFleetX__image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:transform .45s ease;
}

.pttAllFleetX__card:hover
.pttAllFleetX__image img{
    transform:scale(1.045);
}


/* LIGHT IMAGE GRADIENT */

.pttAllFleetX__image::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 60%,
            rgba(0,0,0,.18)
        );

    pointer-events:none;
}


/* SEATER BADGE */

.pttAllFleetX__badge{
    position:absolute;

    left:14px;
    top:14px;

    z-index:2;

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

    min-height:30px;

    padding:0 12px;

    border-radius:50px;

    background:#000;

    color:#fff;

    font-size:10px;

    line-height:1;

    font-weight:800;

    letter-spacing:.04em;

    box-shadow:
        0 4px 12px rgba(0,0,0,.15);
}


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

.pttAllFleetX__body{
    flex:1;

    display:flex;
    flex-direction:column;

    padding:23px;
}

.pttAllFleetX__body h3{
    margin:0 0 9px;

    color:#000;

    font-size:22px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:-.5px;
}

.pttAllFleetX__body p{
    margin:0 0 19px;

    color:#333;

    font-size:15.5px;
    line-height:1.6;

    font-weight:500;
}


/* =========================================================
   SPECS
========================================================= */

.pttAllFleetX__specs{
    display:flex;
    flex-wrap:wrap;

    gap:8px;

    margin-bottom:22px;
}

.pttAllFleetX__specs span{
    min-height:34px;

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

    gap:7px;

    padding:0 11px;

    border-radius:50px;

    background:#f5f5f5;

    color:#111;

    font-size:12px;

    font-weight:700;
}

.pttAllFleetX__specs i{
    color:#fb0001;

    font-size:11px;
}


/* =========================================================
   VIEW DETAILS
========================================================= */

.pttAllFleetX__link{
    min-height:45px;

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

    gap:10px;

    margin-top:auto;

    padding:0 16px;

    border-radius:11px;

    background:#000;

    color:#fff !important;

    font-size:13px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttAllFleetX__link i{
    color:#fb0001;

    transition:.25s ease;
}

.pttAllFleetX__link:hover{
    background:#fb0001;
}

.pttAllFleetX__link:hover i{
    color:#fff;

    transform:translateX(3px);
}


/* =========================================================
   LARGE DESKTOP 1700px - 2000px
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttAllFleetX__shell{
        width:min(1580px,92%);
    }

    .pttAllFleetX__image{
        height:275px;
    }

    .pttAllFleetX__body{
        padding:26px;
    }

    .pttAllFleetX__body h3{
        font-size:24px;
    }

    .pttAllFleetX__body p{
        font-size:16.5px;
    }

}


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

@media(max-width:1200px){

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

}


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

@media(max-width:900px){

    .pttAllFleetX{
        padding:70px 0;
    }

    .pttAllFleetX__head{
        align-items:flex-start;
        flex-direction:column;

        gap:20px;

        margin-bottom:32px;
    }

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

        gap:14px;
    }

    .pttAllFleetX__image{
        height:260px;
    }

}


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

@media(max-width:600px){

    .pttAllFleetX{
    padding: 65px 20px 55px;
    }

    .pttAllFleetX__shell{
        width:min(92%,520px);
    }

    .pttAllFleetX__eyebrow{
        font-size:11.5px;
    }

    .pttAllFleetX__head h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttAllFleetX__head p{
        font-size:16.5px;
    }

    .pttAllFleetX__viewAll{
        min-height:48px;

        padding:0 19px;


        font-size:13px;
    }

    .pttAllFleetX__grid{
        grid-template-columns:1fr;

        gap:13px;
    }

    .pttAllFleetX__image{
        height:280px;
    }

    .pttAllFleetX__body{
        padding:21px;
    }

    .pttAllFleetX__body h3{
        font-size:21px;
    }

    .pttAllFleetX__body p{
        font-size:15.5px;
    }

}


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

@media(max-width:380px){

    .pttAllFleetX__head h2{
        font-size:33px;
    }

    .pttAllFleetX__image{
        height:245px;
    }

    .pttAllFleetX__specs{
        gap:6px;
    }

    .pttAllFleetX__specs span{
        font-size:11px;
    }

}


/* =========================================================
   PTT GALLERY & EVENTS
   UNIQUE PREFIX: pttGEPro
========================================================= */

.pttGEPro{
    width:100%;
    overflow:hidden;
    background:#fff;
    color:#000;
    font-family:"Outfit",sans-serif;
}

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

.pttGEProShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttGEProEyebrow{
    display:block;
    margin-bottom:12px;

    color:#fb0001;

    font-size:13px;
    line-height:1.2;
    font-weight:800;

    letter-spacing:.12em;
    text-transform:uppercase;
}


/* =========================================================
   HERO
========================================================= */

.pttGEProHero{
    position:relative;

    min-height:500px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        radial-gradient(circle at 78% 20%, rgba(251,0,1,.18), transparent 28%),
        linear-gradient(110deg,#050505 0%,#111 55%,#242424 100%);
}

.pttGEProHero::before{
    content:"";

    position:absolute;

    width:520px;
    height:520px;

    right:-130px;
    bottom:-300px;

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

    border-radius:50%;
}

.pttGEProHero__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.3),
            transparent
        );
}

.pttGEProHero__content{
    position:relative;
    z-index:2;

    max-width:900px;

    padding:85px 0;
}

.pttGEProHero__eyebrow{
    display:block;

    margin-bottom:14px;

    color:#fb0001;

    font-size:13px;
    font-weight:800;

    letter-spacing:.13em;
}

.pttGEProHero h1{
    margin:0 0 20px;

    color:#fff;

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

    font-size:clamp(52px,5vw,78px);

    line-height:.98;

    letter-spacing:-2px;

    font-weight:700;
}

.pttGEProHero h1 span{
    display:block;
    color:#fb0001;
}

.pttGEProHero p{
    max-width:740px;

    margin:0;

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

    font-size:19px;

    line-height:1.75;

    font-weight:500;
}

.pttGEProHero__buttons{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:28px;
}

.pttGEProHero__btn{
    min-height:52px;

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

    gap:9px;

    padding:0 22px;

    border-radius:50px;

    font-size:14px;

    font-weight:800;

    text-decoration:none !important;

    transition:.25s ease;
}

.pttGEProHero__btn--red{
    background:#fb0001;

    color:#fff !important;
}

.pttGEProHero__btn--outline{
    border:
        1px solid rgba(255,255,255,.3);

    color:#fff !important;
}

.pttGEProHero__btn:hover{
    transform:translateY(-2px);
}


/* =========================================================
   GALLERY
========================================================= */

.pttGEProGallery{
    padding:90px 0;

    background:#f7f7f7;
}

.pttGEProHead{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.65fr);

    gap:55px;

    align-items:end;

    margin-bottom:34px;
}

.pttGEProHead h2{
    margin:0;

    color:#000;

    font-size:
        clamp(46px,4.6vw,70px);

    line-height:.98;

    letter-spacing:-2px;

    font-weight:700;
}

.pttGEProHead h2 span{
    display:block;
    color:#fb0001;
}

.pttGEProHead > p{
    margin:0;

    color:#262626;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   GALLERY TABS
========================================================= */

.pttGEProTabs{
    display:flex;
    align-items:center;

    gap:8px;

    margin-bottom:30px;

    padding-bottom:6px;

    overflow-x:auto;

    scrollbar-width:none;
}

.pttGEProTabs::-webkit-scrollbar{
    display:none;
}




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

.pttGEProGallery__grid{
    display:grid;

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

    gap:14px;
}

.pttGEProGallery__item{
    display:none;

    overflow:hidden;

    border-radius:17px;

    background:#ddd;

    box-shadow:
        0 6px 20px rgba(0,0,0,.05);
}

.pttGEProGallery__item.is-show{
    display:block;

    animation:
        pttGEFade .35s ease;
}

@keyframes pttGEFade{

    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

.pttGEProGallery__open{
    position:relative;

    width:100%;
    height:290px;

    display:block;

    padding:0;

    overflow:hidden;

    border:0;

    background:#ddd;

    cursor:pointer;
}

.pttGEProGallery__open img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:.45s ease;
}

.pttGEProGallery__item:hover img{
    transform:scale(1.045);
}

.pttGEProGallery__open::after{
    content:"";

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.25)
        );
}



/* =========================================================
   IMAGE LIGHTBOX
========================================================= */

.pttGEProLightbox{
    position:fixed;
    inset:0;

    z-index:999999;

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

    padding:30px;

    background:rgba(0,0,0,.95);

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    transition:.25s ease;
}

.pttGEProLightbox.is-open{
    opacity:1;
    visibility:visible;

    pointer-events:auto;
}

.pttGEProLightbox__stage{
    position:relative;

    width:min(1200px,84vw);
    height:min(780px,82vh);

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

.pttGEProLightbox__stage img{
    max-width:100%;
    max-height:100%;

    width:auto;
    height:auto;

    display:block;

    object-fit:contain;

    border-radius:12px;
}

.pttGEProLightbox__caption{
    position:absolute;

    bottom:-46px;
    left:50%;

    transform:translateX(-50%);

    text-align:center;
}

.pttGEProLightbox__caption strong{
    display:block;

    color:#fff;

    font-size:15px;

    font-weight:800;
}

.pttGEProLightbox__caption span{
    display:block;

    margin-top:4px;

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

    font-size:12px;
}

.pttGEProLightbox__close{
    position:absolute;

    top:24px;
    right:25px;

    width:48px;
    height:48px;

    display:grid;
    place-items:center;

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

    border-radius:50%;

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

    color:#fff;

    font-size:19px;

    cursor:pointer;
}

.pttGEProLightbox__close:hover{
    background:#fb0001;
}

.pttGEProLightbox__arrow{
    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:54px;
    height:54px;

    display:grid;
    place-items:center;

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

    border-radius:50%;

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

    color:#fff;

    cursor:pointer;

    transition:.25s ease;
}

.pttGEProLightbox__arrow:hover{
    background:#fb0001;
}

.pttGEProLightbox__arrow--prev{
    left:27px;
}

.pttGEProLightbox__arrow--next{
    right:27px;
}


/* =========================================================
   EVENTS
========================================================= */

.pttGEProEvents{
    padding:95px 0;

    background:#000;
}

.pttGEProEvents__head{
    max-width:850px;

    margin:0 auto 42px;

    text-align:center;
}

.pttGEProEvents__head h2{
    margin:0 0 15px;

    color:#fff;

    font-size:
        clamp(46px,4.7vw,68px);

    line-height:.98;

    letter-spacing:-2px;

    font-weight:700;
}

.pttGEProEvents__head h2 span{
    display:block;
    color:#fb0001;
}

.pttGEProEvents__head p{
    max-width:700px;

    margin:0 auto;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   VIDEOS 5 + 5
========================================================= */

.pttGEProVideos{
    display:grid;

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

    gap:12px;
}

.pttGEProVideo{
    position:relative;

    aspect-ratio:9 / 16;

    overflow:hidden;

    border-radius:17px;

    background:#151515;

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

.pttGEProVideo video{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.pttGEProVideo::after{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0,0,0,.28)
        );
}



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

.pttGEProMobileControls{
    display:none;
}


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

.pttGEProInstagram{
    display:flex;
    justify-content:center;

    margin-top:38px;
}

.pttGEProInstagram a{
    min-height:58px;

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

    gap:10px;

    padding:0 24px;

    border-radius:50px;

    background:
        linear-gradient(
            45deg,
            #feda75 0%,
            #fa7e1e 24%,
            #d62976 48%,
            #962fbf 72%,
            #4f5bd5 100%
        );

    color:#fff !important;

    font-size:15px;

    font-weight:800;

    text-decoration:none !important;

    box-shadow:
        0 14px 32px rgba(214,41,118,.25);

    transition:.25s ease;
}

.pttGEProInstagram a:hover{
    transform:translateY(-3px);
}

.pttGEProInstagram .fa-instagram{
    font-size:21px;
}


/* =========================================================
   VIDEO MODAL
========================================================= */

.pttGEProVideoModal{
    position:fixed;
    inset:0;

    z-index:9999999;

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

    padding:25px;

    background:
        rgba(0,0,0,.96);

    opacity:0;
    visibility:hidden;

    pointer-events:none;

    transition:.25s ease;
}

.pttGEProVideoModal.is-open{
    opacity:1;
    visibility:visible;

    pointer-events:auto;
}

.pttGEProVideoModal__stage{
    height:min(86vh,850px);

    aspect-ratio:9 / 16;

    overflow:hidden;

    border-radius:18px;

    background:#111;
}

.pttGEProVideoModal__stage video{
    width:100%;
    height:100%;

    display:block;

    object-fit:contain;

    background:#000;
}

.pttGEProVideoModal__close{
    position:absolute;

    top:23px;
    right:25px;

    width:48px;
    height:48px;

    display:grid;
    place-items:center;

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

    border-radius:50%;

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

    color:#fff;

    font-size:19px;

    cursor:pointer;

    z-index:3;
}

.pttGEProVideoModal__close:hover{
    background:#fb0001;
}


/* =========================================================
   1700px - 2000px
========================================================= */

@media(min-width:1700px) and (max-width:2000px){

    .pttGEProShell{
        width:min(1580px,92%);
    }

    .pttGEProGallery__open{
        height:320px;
    }

}


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

@media(max-width:1200px){

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

}


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

@media(max-width:900px){

    .pttGEProGallery,
    .pttGEProEvents{
        padding:70px 0;
    }

    .pttGEProHead{
        grid-template-columns:1fr;

        gap:17px;
    }

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

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

}


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

@media(max-width:600px){

    .pttGEProShell{
        width:min(92%,520px);
    }


    /* HEADER */

    .pttGEProHero{
        min-height:400px;
    }

    .pttGEProHero__content{
        padding:65px 0;
    }

    .pttGEProHero__eyebrow{
        font-size:10.5px;
    }

    .pttGEProHero h1{
        font-size:42px;

        letter-spacing:-1.3px;
    }

    .pttGEProHero p{
        font-size:16.5px;
    }

    .pttGEProHero__buttons{
        display:grid;

        grid-template-columns:1fr;
    }


    /* GALLERY */

    .pttGEProGallery{
    padding: 65px 20px 55px;
    }

    .pttGEProHead{
        margin-bottom:25px;
    }

    .pttGEProHead h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttGEProHead > p{
        font-size:16px;
    }

    .pttGEProTabs{
        margin-right:-4%;

        padding-right:4%;

        margin-bottom:23px;
    }

    .pttGEProTabs__btn{
        min-height:41px;

        padding:0 14px;

        font-size:12px;
    }

    .pttGEProGallery__grid{
        grid-template-columns:1fr;

        gap:11px;
    }

    .pttGEProGallery__open{
        height:290px;
    }


    /* IMAGE LIGHTBOX */

    .pttGEProLightbox{
        padding:14px;
    }

    .pttGEProLightbox__stage{
        width:100%;
        height:74vh;
    }

    .pttGEProLightbox__close{
        width:43px;
        height:43px;

        top:13px;
        right:13px;
    }

    .pttGEProLightbox__arrow{
        width:43px;
        height:43px;
    }

    .pttGEProLightbox__arrow--prev{
        left:8px;
    }

    .pttGEProLightbox__arrow--next{
        right:8px;
    }


    /* EVENTS */

    .pttGEProEvents{
        padding:58px 0;
    }

    .pttGEProEvents__head{
        margin-bottom:27px;
    }

    .pttGEProEvents__head h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttGEProEvents__head p{
        font-size:16px;
    }


    /*
       MOBILE = CAROUSEL
       ONLY ONE VIDEO VISIBLE
    */

    .pttGEProVideos{
        position:relative;

        display:block;

        max-width:360px;

        margin:0 auto;
    }

    .pttGEProVideo{
        display:none;

        width:100%;

        border-radius:20px;
    }

    .pttGEProVideo.is-mobile-active{
        display:block;

        animation:
            pttGEVideoSlide .3s ease;
    }

    @keyframes pttGEVideoSlide{

        from{
            opacity:.4;
            transform:translateX(12px);
        }

        to{
            opacity:1;
            transform:translateX(0);
        }

    }


    /* MOBILE ARROWS */

    .pttGEProMobileControls{
        display:flex;

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

        gap:18px;

        margin-top:17px;
    }

    .pttGEProMobileControls button{
        width:44px;
        height:44px;

        display:grid;
        place-items:center;

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

        border-radius:50%;

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

        color:#fff;

        font-size:14px;

        cursor:pointer;
    }

    .pttGEProMobileControls button:hover{
        background:#fb0001;
    }

    .pttGEProMobileControls__counter{
        min-width:55px;

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

        text-align:center;

        font-size:13px;

        font-weight:700;
    }


    /* INSTAGRAM CLOSE TO CAROUSEL */

    .pttGEProInstagram{
        margin-top:20px;
    }

    .pttGEProInstagram a{
        width:100%;

        min-height:54px;

        font-size:14px;
    }


    /* VIDEO MODAL */

    .pttGEProVideoModal{
        padding:14px;
    }

    .pttGEProVideoModal__stage{
        width:min(92vw,430px);
        height:auto;

        aspect-ratio:9 / 16;
    }

    .pttGEProVideoModal__close{
        width:43px;
        height:43px;

        top:13px;
        right:13px;
    }

}


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

@media(max-width:380px){

    .pttGEProHero h1,
    .pttGEProHead h2,
    .pttGEProEvents__head h2{
        font-size:33px;
    }

    .pttGEProGallery__open{
        height:250px;
    }

    .pttGEProVideos{
        max-width:315px;
    }

}

/* =========================================================
   GALLERY & EVENTS HERO
   UNIQUE PREFIX: pttGEHeroX
========================================================= */

.pttGEHeroX{
    position:relative;

    min-height:600px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background-image:
        url("../images/header-11.webp");

    background-size:cover;

    background-position:center center;

    background-repeat:no-repeat;

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


/* =========================================================
   DARK GRADIENT FOR TEXT READABILITY
========================================================= */

.pttGEHeroX__shade{
    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.82) 0%,
            rgba(0,0,0,.67) 30%,
            rgba(0,0,0,.28) 58%,
            rgba(0,0,0,.06) 100%
        );
}


/* =========================================================
   SUBTLE LOWER GRADIENT
========================================================= */

.pttGEHeroX::after{
    content:"";

    position:absolute;
    inset:auto 0 0 0;

    height:180px;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(0,0,0,.3)
        );

    pointer-events:none;
}


/* =========================================================
   SUBTLE RED AMBIENT GLOW
========================================================= */

.pttGEHeroX__glow{
    position:absolute;

    z-index:1;

    width:420px;
    height:420px;

    left:-220px;
    bottom:-220px;

    border-radius:50%;

    background:
        rgba(251,0,1,.17);

    filter:blur(35px);

    pointer-events:none;
}


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

.pttGEHeroX__shell{
    position:relative;

    z-index:3;

    width:min(1420px,92%);

    margin:0 auto;
}


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

.pttGEHeroX__content{
    max-width:760px;

    padding:100px 0;
}


/* EYEBROW */

.pttGEHeroX__eyebrow{
    position:relative;

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

    gap:11px;

    margin-bottom:17px;

    color:#fff;

    font-size:13px;
    line-height:1.2;

    font-weight:700;

    letter-spacing:.13em;

    text-transform:uppercase;
}

.pttGEHeroX__eyebrow::before{
    content:"";

    width:38px;
    height:2px;

    display:block;

    background:#fb0001;
}


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

.pttGEHeroX h1{
    margin:0 0 21px;

    color:#fff;

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

    font-weight:700;

    font-size:
        clamp(48px,4.6vw,72px);

    line-height:.98;

    letter-spacing:-2px;
}

.pttGEHeroX h1 span{
    display:block;

    color:#fb0001;
}


/* =========================================================
   PARAGRAPH
========================================================= */

.pttGEHeroX p{
    max-width:680px;

    margin:0;

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

    font-size:18px;

    line-height:1.72;

    font-weight:500;

    text-shadow:
        0 2px 12px rgba(0,0,0,.25);
}


/* =========================================================
   BUTTONS
========================================================= */

.pttGEHeroX__actions{
    display:flex;
    flex-wrap:wrap;

    gap:10px;

    margin-top:29px;
}

.pttGEHeroX__btn{
    min-height:54px;

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

    gap:9px;

    padding:0 23px;

    border-radius:50px;

    font-size:14px;

    font-weight:800;

    text-decoration:none !important;

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


/* RED BUTTON */

.pttGEHeroX__btn--red{
    background:#fb0001;

    color:#fff !important;

    border:1px solid #fb0001;
}

.pttGEHeroX__btn--red:hover{
    background:#fff;

    border-color:#fff;

    color:#000 !important;

    transform:translateY(-2px);
}


/* GLASS BUTTON */

.pttGEHeroX__btn--glass{
    background:
        rgba(255,255,255,.09);

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

    color:#fff !important;

    backdrop-filter:blur(9px);
}

.pttGEHeroX__btn--glass:hover{
    background:#fff;

    border-color:#fff;

    color:#000 !important;

    transform:translateY(-2px);
}


/* =========================================================
   LARGE SCREEN 1700 - 2000PX
========================================================= */

@media (min-width:1700px) and (max-width:2000px){

    .pttGEHeroX{
        min-height:650px;
    }

    .pttGEHeroX__shell{
        width:min(1580px,92%);
    }

    .pttGEHeroX__content{
        max-width:820px;
    }

}


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

@media(max-width:900px){

    .pttGEHeroX{
        min-height:540px;

        background-position:
            60% center;
    }

    .pttGEHeroX__shade{
        background:
            linear-gradient(
                90deg,
                rgba(0,0,0,.82),
                rgba(0,0,0,.45)
            );
    }

    .pttGEHeroX__content{
        max-width:670px;

        padding:80px 0;
    }

}


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

@media(max-width:600px){

    .pttGEHeroX{
        min-height:520px;

        align-items:flex-end;

        background-position:
            62% center;
    }

    .pttGEHeroX__shade{
        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.16) 0%,
                rgba(0,0,0,.48) 42%,
                rgba(0,0,0,.9) 100%
            );
    }

    .pttGEHeroX__shell{
        width:min(92%,520px);
    }

    .pttGEHeroX__content{
        width:100%;

        max-width:none;

        padding:100px 0 55px;
    }

    .pttGEHeroX__eyebrow{
        font-size:10.5px;

        letter-spacing:.1em;
    }

    .pttGEHeroX__eyebrow::before{
        width:27px;
    }

    .pttGEHeroX h1{
        font-size:41px;

        letter-spacing:-1.3px;
    }

    .pttGEHeroX p{
        font-size:16.5px;

        line-height:1.65;
    }

    .pttGEHeroX__actions{
        display:grid;

        grid-template-columns:1fr;

        width:100%;

        margin-top:24px;
    }

    .pttGEHeroX__btn{
        width:100%;

        min-height:51px;
    }

}


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

@media(max-width:380px){

    .pttGEHeroX{
        min-height:500px;
    }

    .pttGEHeroX h1{
        font-size:36px;
    }

    .pttGEHeroX p{
        font-size:15.5px;
    }

}


/* =========================================================
   PTT PAYMENTS PAGE
   CLEAN / TRUSTED / PROFESSIONAL
   UNIQUE PREFIX: pttPayPrime
========================================================= */

.pttPayPrime{
    width:100%;
    overflow:hidden;

    background:#fff;

    color:#000;

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

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

.pttPayPrimeShell{
    width:min(1420px,92%);
    margin:0 auto;
}

.pttPayPrimeEyebrow{
    display:block;

    margin-bottom:12px;

    color:#fb0001;

    font-size:13px;
    line-height:1.2;

    font-weight:800;

    letter-spacing:.12em;

    text-transform:uppercase;
}


/* =========================================================
   01 - SMALL LIGHT GREY HEADER
========================================================= */

.pttPayPrimeHero{
    padding:72px 0 68px;

   background: linear-gradient( 135deg, #d1d1d1 0%, #f3f3f3 100% );

    border-bottom:
        1px solid rgba(0,0,0,.08);
}

.pttPayPrimeHero__content{
    max-width:900px;
}

.pttPayPrimeHero h1{
    margin:0 0 13px;

    color:#000;

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

    font-size:clamp(46px,4.3vw,66px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttPayPrimeHero p{
    max-width:750px;

    margin:0;

    color:#252525;

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}


/* =========================================================
   COMMON SECTION HEAD
========================================================= */

.pttPayPrimeSectionHead{
    max-width:850px;

    margin-bottom:38px;
}

.pttPayPrimeSectionHead h2{
    margin:0 0 15px;

    color:#000;

    font-size:
        clamp(44px,4.4vw,66px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttPayPrimeSectionHead h2 span{
    display:block;

    color:#fb0001;
}

.pttPayPrimeSectionHead p{
    max-width:720px;

    margin:0;

    color:#222;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* =========================================================
   02 - SERVICES
========================================================= */

.pttPayPrimeServices{
    padding:85px 0;

    background:#fff;
}

.pttPayPrimeServices__grid{
    display:flex;

    flex-wrap:wrap;

    gap:10px;
}

.pttPayPrimeServices__grid span{
    min-height:47px;

    display:inline-flex;

    align-items:center;

    padding:0 17px;

    border:
        1px solid rgba(0,0,0,.11);

    border-radius:50px;

    background:#f8f8f8;

    color:#111;

    font-size:14px;

    font-weight:700;

    transition:.25s ease;
}

.pttPayPrimeServices__grid span:hover{
    border-color:
        rgba(251,0,1,.4);

    background:#fff;

    color:#fb0001;

    transform:translateY(-2px);
}


/* =========================================================
   03 - DETAILS
========================================================= */

.pttPayPrimeDetails{
    padding:70px 0;

    background:#f6f6f6;
}

.pttPayPrimeDetails__grid{
    display:grid;

    grid-template-columns:
        minmax(0,1.12fr)
        minmax(370px,.88fr);

    gap:70px;

    align-items:start;
}


/* LEFT CONTENT */

.pttPayPrimeDetails__content h2{
    margin:0 0 19px;

    color:#000;

    font-size:
        clamp(44px,4.5vw,65px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttPayPrimeDetails__content h2 span{
    display:block;

    color:#fb0001;
}

.pttPayPrimeDetails__lead{
    max-width:720px;

    margin:0;

    color:#252525;

    font-size:18px;

    line-height:1.75;

    font-weight:500;
}


/* STEPS */

.pttPayPrimeDetails__steps{
    margin-top:32px;

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttPayPrimeDetails__step{
    min-height:130px;

    display:grid;

    grid-template-columns:
        55px 1fr;

    gap:18px;

    align-items:center;

    padding:22px 0;

    border-bottom:
        1px solid rgba(0,0,0,.13);
}

.pttPayPrimeDetails__step > span{
    width:43px;
    height:43px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:12px;

    font-weight:800;
}

.pttPayPrimeDetails__step h3{
    margin:0 0 6px;

    color:#000;

    font-size:21px;

    line-height:1.3;

    font-weight:800;
}

.pttPayPrimeDetails__step p{
    margin:0;

    color:#333;

    font-size:16px;

    line-height:1.65;

    font-weight:500;
}


/* NOTICE */

.pttPayPrimeDetails__notice{
    display:flex;

    gap:14px;

    margin-top:27px;

    padding:20px;

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

    border-radius:16px;

    background:#fff;
}

.pttPayPrimeDetails__notice > i{
    width:45px;
    height:45px;

    display:grid;

    place-items:center;

    flex:0 0 45px;

    border-radius:50%;

    background:
        rgba(251,0,1,.08);

    color:#fb0001;

    font-size:17px;
}

.pttPayPrimeDetails__notice strong{
    display:block;

    margin-bottom:5px;

    color:#000;

    font-size:17px;

    font-weight:800;
}

.pttPayPrimeDetails__notice p{
    margin:0;

    color:#333;

    font-size:15px;

    line-height:1.6;

    font-weight:500;
}


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

.pttPayPrimeCard{
    position:sticky;

    top:25px;

    overflow:hidden;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:24px;

    background:#fff;

    box-shadow:
        0 20px 55px rgba(0,0,0,.08);
}

.pttPayPrimeCard__top{
    padding:27px 27px 21px;

    border-bottom:
        1px solid rgba(0,0,0,.08);
}

.pttPayPrimeCard__top > span{
    display:inline-flex;

    align-items:center;

    gap:7px;

    margin-bottom:15px;

    padding:7px 11px;

    border-radius:50px;

    background:
        rgba(251,0,1,.07);

    color:#fb0001;

    font-size:11px;

    font-weight:800;
}

.pttPayPrimeCard__top strong{
    display:block;

    margin-bottom:6px;

    color:#000;

    font-size:24px;

    font-weight:800;
}

.pttPayPrimeCard__top p{
    margin:0;

    color:#333;

    font-size:15.5px;

    line-height:1.6;

    font-weight:500;
}


/* QR */

.pttPayPrimeCard__qr{
    width:290px;
    max-width:calc(100% - 54px);

    aspect-ratio:1;

    display:grid;

    place-items:center;

    margin:28px auto 20px;

    padding:14px;

    border:
        1px solid rgba(0,0,0,.1);

    border-radius:18px;

    background:#fff;

    box-shadow:
        0 10px 30px rgba(0,0,0,.06);
}

.pttPayPrimeCard__qr img{
    width:100%;
    height:100%;

    display:block;

    object-fit:contain;
}


/* OPTIONAL QR PLACEHOLDER */

.pttPayPrimeCard__qrPlaceholder{
    width:100%;
    height:100%;

    display:flex;

    flex-direction:column;

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

    border:
        2px dashed rgba(0,0,0,.12);

    border-radius:13px;

    background:#fafafa;
}

.pttPayPrimeCard__qrPlaceholder i{
    margin-bottom:12px;

    color:#000;

    font-size:70px;
}

.pttPayPrimeCard__qrPlaceholder strong{
    color:#000;

    font-size:18px;

    font-weight:800;
}

.pttPayPrimeCard__qrPlaceholder span{
    margin-top:3px;

    color:#555;

    font-size:12px;

    font-weight:600;
}


/* SCAN TEXT */

.pttPayPrimeCard__payLabel{
    padding:0 25px 23px;

    text-align:center;
}

.pttPayPrimeCard__payLabel small{
    display:block;

    margin-bottom:4px;

    color:#fb0001;

    font-size:19px;

    font-weight:800;

    letter-spacing:.1em;
}

.pttPayPrimeCard__payLabel strong{
    color:#000;

    font-size:16px;

    font-weight:800;
}


/* PAYMENT METHOD MINI GRID */

.pttPayPrimeCard__methods{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.09);
}

.pttPayPrimeCard__methods > div{
    min-height:100px;

    display:flex;

    align-items:center;

    gap:10px;

    padding:16px;

    border-right:
        1px solid rgba(0,0,0,.08);

    border-bottom:
        1px solid rgba(0,0,0,.08);
}

.pttPayPrimeCard__methods > div:nth-child(2n){
    border-right:0;
}

.pttPayPrimeCard__methods i{
    width:38px;
    height:38px;

    display:grid;

    place-items:center;

    flex:0 0 38px;

    border-radius:50%;

    background:#f4f4f4;

    color:#fb0001;

    font-size:14px;
}

.pttPayPrimeCard__methods strong{
    display:block;

    color:#000;

    font-size:14px;

    font-weight:800;
}

.pttPayPrimeCard__methods small{
    display:block;

    margin-top:2px;

    color:#000;

    font-size:16px;

    line-height:1.4;

    font-weight:500;
}


/* =========================================================
   04 - PAYMENT METHODS
========================================================= */

.pttPayPrimeMethods{
    padding:90px 0;

    background:#fff;
}

.pttPayPrimeMethods__head{
    display:grid;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.65fr);

    gap:55px;

    align-items:end;

    margin-bottom:37px;
}

.pttPayPrimeMethods__head h2{
    margin:0;

    color:#000;

    font-size:
        clamp(44px,4.4vw,65px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttPayPrimeMethods__head h2 span{
    display:block;

    color:#fb0001;
}

.pttPayPrimeMethods__head > p{
    margin:0;

    color:#252525;

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}


/* GRID */

.pttPayPrimeMethods__grid{
    display:grid;

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

    border-top:
        1px solid rgba(0,0,0,.13);
}

.pttPayPrimeMethods__grid article{
    position:relative;

    min-height:270px;

    padding:30px 25px;

    border-right:
        1px solid rgba(0,0,0,.11);

    border-bottom:
        1px solid rgba(0,0,0,.11);
}

.pttPayPrimeMethods__grid article:last-child{
    border-right:0;
}

.pttPayPrimeMethods__icon{
    width:54px;
    height:54px;

    display:grid;

    place-items:center;

    margin-bottom:31px;

    border-radius:50%;

    background:#000;

    color:#fff;

    font-size:18px;
}

.pttPayPrimeMethods__grid article:hover
.pttPayPrimeMethods__icon{
    background:#fb0001;
}

.pttPayPrimeMethods__grid article > span{
    position:absolute;

    right:23px;
    top:27px;

    color:#ccc;

    font-size:24px;

    font-weight:800;
}

.pttPayPrimeMethods__grid h3{
    margin:0 0 10px;

    color:#000;

    font-size:21px;

    line-height:1.25;

    font-weight:800;
}

.pttPayPrimeMethods__grid p{
    margin:0;

    color:#333;

    font-size:15.5px;

    line-height:1.65;

    font-weight:500;
}


/* =========================================================
   05 - PAYMENT CONFIRMATION
========================================================= */

.pttPayPrimeConfirm{
    padding:70px 0;

    background:#f6f6f6;
}

.pttPayPrimeConfirm__box{
    display:grid;

    grid-template-columns:
        70px 1fr auto;

    align-items:center;

    gap:25px;

    padding:34px 38px;

    border-radius:22px;

    background:#000;
}

.pttPayPrimeConfirm__icon{
    width:64px;
    height:64px;

    display:grid;

    place-items:center;

    border-radius:50%;

    background:#25D366;

    color:#fff;

    font-size:27px;
}

.pttPayPrimeConfirm__content > span{
    display:block;

    margin-bottom:6px;

    color:#fb0001;

    font-size:10px;

    font-weight:800;

    letter-spacing:.11em;
}

.pttPayPrimeConfirm__content h2{
    margin:0 0 6px;

    color:#fff;

    font-size:29px;

    line-height:1.2;

    font-weight:800;
}

.pttPayPrimeConfirm__content p{
    max-width:720px;

    margin:0;

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

    font-size:15.5px;

    line-height:1.65;

    font-weight:500;
}

.pttPayPrimeConfirm__btn{
    min-height:54px;

    display:inline-flex;

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

    gap:9px;

    padding:0 21px;

    border-radius:50px;

    background:#25D366;

    color:#fff !important;

    font-size:14px;

    font-weight:800;

    text-decoration:none !important;

    white-space:nowrap;

    transition:.25s ease;
}

.pttPayPrimeConfirm__btn:hover{
    transform:translateY(-2px);

    background:#fff;

    color:#000 !important;
}


/* =========================================================
   06 - SUPPORT CTA
========================================================= */

.pttPayPrimeSupport{
    padding:82px 0;

    background:#fb0001;
}

.pttPayPrimeSupport__grid{
    display:flex;

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

    gap:50px;
}

.pttPayPrimeSupport__grid > div:first-child{
    max-width:760px;
}

.pttPayPrimeSupport .pttPayPrimeEyebrow{
    color:#fff;
}

.pttPayPrimeSupport h2{
    margin:0 0 14px;

    color:#fff;

    font-size:
        clamp(42px,4.2vw,61px);

    line-height:.98;

    font-weight:700;

    letter-spacing:-2px;
}

.pttPayPrimeSupport h2 span{
    display:block;

    color:#000;
}

.pttPayPrimeSupport p{
    max-width:680px;

    margin:0;

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

    font-size:18px;

    line-height:1.7;

    font-weight:500;
}


/* SUPPORT BUTTONS */

.pttPayPrimeSupport__actions{
    display:flex;

    gap:10px;

    flex:0 0 auto;
}

.pttPayPrimeSupport__actions > a{
    min-height:65px;

    display:flex;

    align-items:center;

    gap:12px;

    padding:0 20px;

    border-radius:50px;

    text-decoration:none !important;
}

.pttPayPrimeSupport__call{
    background:#fff;

    color:#000 !important;
}

.pttPayPrimeSupport__whatsapp{
    background:#000;

    color:#fff !important;
}

.pttPayPrimeSupport__actions i{
    font-size:19px;
}

.pttPayPrimeSupport__actions small{
    display:block;

    margin-bottom:2px;

    font-size:9px;

    font-weight:800;
}

.pttPayPrimeSupport__actions strong{
    display:block;

    font-size:15px;

    font-weight:800;
}


/* =========================================================
   LARGE DESKTOP 1700 - 2000PX
========================================================= */

@media(min-width:1700px) and (max-width:2000px){

    .pttPayPrimeShell{
        width:min(1580px,92%);
    }

    .pttPayPrimeCard__qr{
        width:320px;
    }

}


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

@media(max-width:1100px){

    .pttPayPrimeDetails__grid{
        gap:45px;

        grid-template-columns:
            minmax(0,1fr)
            minmax(340px,.8fr);
    }

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

    .pttPayPrimeMethods__grid article:nth-child(2n){
        border-right:0;
    }

}


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

@media(max-width:900px){

    .pttPayPrimeServices,
    .pttPayPrimeDetails,
    .pttPayPrimeMethods{
        padding:70px 0;
    }

    .pttPayPrimeDetails__grid{
        grid-template-columns:1fr;

        gap:40px;
    }

    .pttPayPrimeCard{
        position:relative;

        top:auto;

        max-width:560px;

        width:100%;

        margin:0 auto;
    }

    .pttPayPrimeMethods__head{
        grid-template-columns:1fr;

        gap:18px;
    }

    .pttPayPrimeConfirm__box{
        grid-template-columns:
            64px 1fr;

        padding:30px;
    }

    .pttPayPrimeConfirm__btn{
        grid-column:1 / -1;

        width:100%;
    }

    .pttPayPrimeSupport__grid{
        flex-direction:column;

        align-items:flex-start;
    }

}


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

@media(max-width:600px){

    .pttPayPrimeShell{
        width:min(92%,520px);
    }


    /* HEADER */

    .pttPayPrimeHero{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeHero h1{
        font-size:40px;

        letter-spacing:-1.3px;
    }

    .pttPayPrimeHero p{
        font-size:16.5px;
    }


    /* SERVICES */

    .pttPayPrimeServices{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeSectionHead{
        margin-bottom:28px;
    }

    .pttPayPrimeSectionHead h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttPayPrimeSectionHead p{
        font-size:16.5px;
    }

    .pttPayPrimeServices__grid{
        gap:7px;
    }

    .pttPayPrimeServices__grid span{
        min-height:42px;

        padding:0 13px;

        font-size:12.5px;
    }


    /* DETAILS */

    .pttPayPrimeDetails{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeDetails__content h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttPayPrimeDetails__lead{
        font-size:16.5px;
    }

    .pttPayPrimeDetails__step{
        min-height:auto;

        grid-template-columns:
            45px 1fr;

        gap:12px;

        padding:19px 0;
    }

    .pttPayPrimeDetails__step > span{
        width:38px;
        height:38px;
    }

    .pttPayPrimeDetails__step h3{
        font-size:18px;
    }

    .pttPayPrimeDetails__step p{
        font-size:14.5px;
    }

    .pttPayPrimeDetails__notice{
        padding:17px;
    }


    /* PAYMENT CARD */

    .pttPayPrimeCard{
        border-radius:19px;
    }

    .pttPayPrimeCard__top{
        padding:23px 21px 19px;
    }

    .pttPayPrimeCard__top strong{
        font-size:21px;
    }

    .pttPayPrimeCard__qr{
        width:260px;

        max-width:calc(100% - 42px);
    }

    .pttPayPrimeCard__methods{
        grid-template-columns:1fr;
    }

    .pttPayPrimeCard__methods > div{
        min-height:78px;

        border-right:0;
    }


    /* PAYMENT METHODS */

    .pttPayPrimeMethods{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeMethods__head h2{
        font-size:37px;

        letter-spacing:-1.2px;
    }

    .pttPayPrimeMethods__head > p{
        font-size:16.5px;
    }

    .pttPayPrimeMethods__grid{
        grid-template-columns:1fr;
    }

    .pttPayPrimeMethods__grid article{
        min-height:auto;

        padding:25px 5px;

        border-right:0;
    }


    /* CONFIRM */

    .pttPayPrimeConfirm{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeConfirm__box{
        grid-template-columns:1fr;

        gap:17px;

        padding:25px;

        text-align:left;
    }

    .pttPayPrimeConfirm__content h2{
        font-size:24px;
    }

    .pttPayPrimeConfirm__content p{
        font-size:15px;
    }


    /* SUPPORT */

    .pttPayPrimeSupport{
    padding: 65px 20px 55px;
    }

    .pttPayPrimeSupport h2{
        font-size:36px;

        letter-spacing:-1.2px;
    }

    .pttPayPrimeSupport p{
        font-size:16.5px;
    }

    .pttPayPrimeSupport__actions{
        width:100%;

        display:grid;

        grid-template-columns:1fr;
    }

    .pttPayPrimeSupport__actions > a{
        width:100%;
    }

}


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

@media(max-width:380px){

    .pttPayPrimeHero h1{
        font-size:35px;
    }

    .pttPayPrimeSectionHead h2,
    .pttPayPrimeDetails__content h2,
    .pttPayPrimeMethods__head h2{
        font-size:33px;
    }

    .pttPayPrimeSupport h2{
        font-size:32px;
    }

    .pttPayPrimeCard__qr{
        width:230px;
    }

}



/* PTT fleet and event transport additions — scoped, responsive styles */
.ptt-wedding-transport{padding-block:clamp(3rem,6vw,5rem)}
.ptt-wedding-transport .ptt-section-head{margin-bottom:1.75rem}
.ptt-wedding-grid{margin-top:1.5rem}
.pttquick-call{position:fixed;left:24px;right:auto;bottom:108px;z-index:9998;display:flex;align-items:center;gap:10px;padding:10px 17px 10px 10px;border-radius:999px;background:#fff;color:#202020;text-decoration:none;box-shadow:0 8px 28px rgba(0,0,0,.18);border:1px solid rgba(0,0,0,.08);transition:transform .2s ease,box-shadow .2s ease}
.pttquick-call:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.22);color:#202020}
.pttquick-call-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#b9252d;color:#fff;font-size:18px;flex:0 0 44px}
.pttquick-call-text{display:flex;flex-direction:column;line-height:1.25}.pttquick-call-text small{font-size:11px;opacity:.72}.pttquick-call-text strong{font-size:14px}
.pttGEFleetAdditions{padding:clamp(2.5rem,5vw,4rem) 0}
.pttGEFleetAdditions .pttGEProGallery__head{max-width:1200px;margin:0 auto 1.5rem;padding:0 22px}
.pttGEFleetAdditions .pttGEProGallery__grid{max-width:1200px;margin:0 auto;padding:0 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pttGEFleetAdditions figure{margin:0;overflow:hidden;border-radius:var(--ptt-radius,16px);background:#fff;box-shadow:0 8px 26px rgba(25,25,25,.09)}
.pttGEFleetAdditions figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.pttGEFleetAdditions figcaption{padding:14px 16px;font-weight:650;color:var(--ptt-text,#242424)}
@media(max-width:760px){.pttquick-call{left:14px;right:auto;bottom:104px;padding:8px}.pttquick-call-text{display:none}.pttquick-call-icon{width:46px;height:46px;flex-basis:46px}.pttGEFleetAdditions .pttGEProGallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 16px}}
@media(max-width:420px){.pttGEFleetAdditions .pttGEProGallery__grid{grid-template-columns:1fr}}


