.wpcf7 .screen-reader-response {
position: absolute;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
clip-path: inset(50%);
height: 1px;
width: 1px;
margin: -1px;
padding: 0;
border: 0;
word-wrap: normal !important;
word-break: normal !important;
}
.wpcf7 .hidden-fields-container {
display: none;
}
.wpcf7 form .wpcf7-response-output {
margin: 2em 0.5em 1em;
padding: 0.2em 1em;
border: 2px solid #00a0d2; }
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
border-color: #46b450; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
border-color: #dc3232; }
.wpcf7 form.spam .wpcf7-response-output {
border-color: #f56e28; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
border-color: #ffb900; }
.wpcf7-form-control-wrap {
position: relative;
}
.wpcf7-not-valid-tip {
color: #dc3232; font-size: 1em;
font-weight: normal;
display: block;
}
.use-floating-validation-tip .wpcf7-not-valid-tip {
position: relative;
top: -2ex;
left: 1em;
z-index: 100;
border: 1px solid #dc3232;
background: #fff;
padding: .2em .8em;
width: 24em;
}
.wpcf7-list-item {
display: inline-block;
margin: 0 0 0 1em;
}
.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
content: " ";
}
.wpcf7-spinner {
visibility: hidden;
display: inline-block;
background-color: #23282d; opacity: 0.75;
width: 24px;
height: 24px;
border: none;
border-radius: 100%;
padding: 0;
margin: 0 24px;
position: relative;
}
form.submitting .wpcf7-spinner {
visibility: visible;
}
.wpcf7-spinner::before {
content: '';
position: absolute;
background-color: #fbfbfc; top: 4px;
left: 4px;
width: 6px;
height: 6px;
border: none;
border-radius: 100%;
transform-origin: 8px 8px;
animation-name: spin;
animation-duration: 1000ms;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
.wpcf7-spinner::before {
animation-name: blink;
animation-duration: 2000ms;
}
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes blink {
from {
opacity: 0;
}
50% {
opacity: 1;
}
to {
opacity: 0;
}
}
.wpcf7 [inert] {
opacity: 0.5;
}
.wpcf7 input[type="file"] {
cursor: pointer;
}
.wpcf7 input[type="file"]:disabled {
cursor: default;
}
.wpcf7 .wpcf7-submit:disabled {
cursor: not-allowed;
}
.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
direction: ltr;
}
.wpcf7-reflection > output {
display: list-item;
list-style: none;
}
.wpcf7-reflection > output[hidden] {
display: none;
}:root { --ps-clay: #b85533; --ps-blue: #2b4488; --ps-gold: #f6c612; --ps-black: #1a1a1a;
--ps-clay-50: #f9f1ee;
--ps-clay-100: #efd9d2;
--ps-clay-200: #ddb1a2;
--ps-clay-300: #d1856c;
--ps-clay-400: #b85533;
--ps-clay-500: #9e492c;
--ps-clay-600: #823b23;
--ps-clay-700: #652d1a;
--ps-clay-800: #472012;
--ps-blue-50: #edf1fa;
--ps-blue-100: #d1d9f0;
--ps-blue-400: #2b4488;
--ps-blue-500: #253a75;
--ps-blue-600: #1d2f60;
--ps-blue-700: #16244a;
--ps-gold-400: #f6c612;
--ps-gold-700: #8c6f03; --ps-body: #3d3d3a;
--ps-muted: #6b6a65;
--ps-faint: #9c9a93;
--ps-line: #e7e3da;
--ps-line-strong: #d2cdc1;
--ps-line-muted: rgba(34, 25, 18, 0.08);
--ps-paper: #fbfaf6;
--ps-surface: #ffffff;
--ps-surface-2: #f4f1e9;
--ps-bg-canvas: #fbfaf6;
--ps-text-dark: #1c1815;
--ps-bg-dark: #221912;
--ps-surface-dark: #2b1f17;
--ps-on-dark-mute: #a89e92; --ps-font-display: 'Bricolage Grotesque', system-ui, sans-serif;
--ps-font-body: 'Hanken Grotesk', system-ui, sans-serif;
--ps-font-mono: 'Space Mono', monospace;
--ps-text-xs: 0.8125rem;
--ps-text-sm: 0.9375rem;
--ps-text-base: 1.0625rem;
--ps-text-lg: 1.1875rem;
--ps-text-xl: 1.375rem; --ps-radius-sm: 8px;
--ps-radius-md: 16px;
--ps-radius-lg: 16px;
--ps-radius-pill: 999px;
--ps-ease: cubic-bezier(0.4, 0, 0.2, 1);
--ps-transition:
color 0.2s var(--ps-ease), background-color 0.2s var(--ps-ease),
border-color 0.2s var(--ps-ease), box-shadow 0.2s var(--ps-ease),
transform 0.2s var(--ps-ease), opacity 0.2s var(--ps-ease);
}
html {
scroll-behavior: smooth;
}
body {
background-color: var(--ps-bg-canvas);
font-family: var(--ps-font-body);
color: var(--ps-text-dark);
-webkit-font-smoothing: antialiased;
} .ps-hero-wrapper {
position: relative;
min-height: 100vh;
width: 100%;
background:
linear-gradient(to bottom, rgba(28, 24, 21, 0.5), rgba(28, 24, 21, 0.7)),
url(//www.peoplesafaris.com/wp-content/themes/pts/images/home.jpg) no-repeat center center;
background-size: cover;
display: flex;
flex-direction: column;
justify-content: center;
overflow: hidden;
} .ps-header-wrapper {
width: 100%;
z-index: 1050;
background-color: rgba(246, 244, 240, 0.88) !important; border-bottom: 1px solid var(--ps-line-muted);
} .ps-top-utility-bar {
background: #2d403d;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
padding: 0.45rem 0;
font-size: 0.82rem;
font-weight: 500;
}
.ps-utility-trust {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: rgba(255, 255, 255, 0.75);
}
.ps-utility-trust i {
color: var(--ps-clay-100);
}
.ps-utility-link {
color: rgba(255, 255, 255, 0.8) !important;
text-decoration: none !important;
transition: var(--ps-transition);
}
.ps-utility-link:hover {
color: #ffffff !important;
}
.ps-social-track {
display: flex;
align-items: center;
gap: 0.85rem;
}
.ps-social-link {
color: rgba(255, 255, 255, 0.6) !important;
transition: var(--ps-transition);
font-size: 0.9rem;
}
.ps-social-link:hover {
color: #ffffff !important;
transform: scale(1.1);
} .ps-header-navbar {
padding: 0.85rem 0;
}
.ps-nav-link {
font-family: var(--ps-font-body);
font-weight: 500;
font-size: 0.95rem;
color: rgba(255, 255, 255, 0.85) !important;
transition: var(--ps-transition);
padding: 0.5rem 0.75rem !important;
}
.ps-nav-link:hover,
.ps-nav-link.active {
color: #ffffff !important;
} .btn-nav-phone {
font-family: var(--ps-font-mono);
font-size: 0.8rem;
font-weight: 700;
color: #ffffff;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: var(--ps-radius-pill);
padding: 0.5rem 1.25rem;
text-decoration: none !important;
transition: var(--ps-transition);
}
.btn-nav-phone:hover {
background-color: rgba(255, 255, 255, 0.1);
border-color: #ffffff;
}
.btn-nav-inquire {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.04em;
color: #ffffff;
background-color: var(--ps-clay-500);
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.55rem 1.5rem;
text-decoration: none !important;
transition: var(--ps-transition);
}
.btn-nav-inquire:hover {
background-color: var(--ps-clay-600);
transform: translateY(-1px);
} .ps-hero-content-box {
padding-top: 10rem; }
.ps-hero-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.85rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.15em;
color: #ffffff;
background-color: rgba(184, 85, 51, 0.22);
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 0.4rem 1rem;
border-radius: var(--ps-radius-sm);
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.ps-hero-title {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 4.25rem;
line-height: 1.1;
color: #ffffff;
letter-spacing: -0.03em;
}
@media (max-width: 768px) {
.ps-hero-title {
font-size: 2.75rem;
}
}
.ps-hero-desc {
font-size: 1.2rem;
color: rgba(255, 255, 255, 0.85);
max-width: 580px;
line-height: 1.6;
}
.btn-hero-primary {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 1.1rem;
color: #ffffff;
background-color: var(--ps-clay-500);
border: none;
border-radius: var(--ps-radius-pill);
padding: 1rem 2.5rem;
transition: var(--ps-transition);
display: inline-flex;
align-items: center;
gap: 0.5rem;
text-decoration: none !important;
box-shadow: 0 8px 30px rgba(158, 73, 44, 0.3);
}
.btn-hero-primary:hover {
background-color: var(--ps-clay-600);
transform: translateY(-2px);
box-shadow: 0 12px 35px rgba(158, 73, 44, 0.45);
}
.ps-hero-trust-metrics {
display: flex;
align-items: center;
gap: 1.5rem;
}
.ps-metric-item {
display: flex;
align-items: center;
gap: 0.5rem;
color: rgba(255, 255, 255, 0.9);
font-size: 0.9rem;
font-weight: 500;
}
.ps-metric-item i {
color: var(--ps-gold);
} .ps-intro-section {
background-color: var(--ps-bg-canvas);
} .ps-section-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--ps-clay-500);
}
.ps-intro-title {
font-family: var(--ps-font-display);
font-weight: 800;
color: var(--ps-text-dark);
letter-spacing: -0.02em;
line-height: 1.15;
}
.ps-intro-desc {
font-size: 1.05rem;
color: rgba(34, 25, 18, 0.75);
line-height: 1.6;
} .ps-intro-media-frame {
position: relative;
width: 100%;
border-radius: var(--ps-radius-md);
overflow: hidden;
box-shadow: 0 12px 40px rgba(34, 25, 18, 0.05);
}
.ps-intro-img {
width: 100%;
height: 100%;
object-fit: cover;
min-height: 480px;
} .ps-video-badge-trigger {
position: absolute;
top: 1.5rem;
left: 1.5rem;
right: 1.5rem;
background-color: rgba(255, 255, 255, 0.75);
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: var(--ps-radius-md);
padding: 1rem 1.25rem;
display: flex;
align-items: center;
gap: 1rem;
cursor: pointer;
text-decoration: none !important;
color: var(--ps-text-dark);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
transition: var(--ps-transition);
}
.ps-video-badge-trigger:hover {
background-color: rgba(255, 255, 255, 0.9);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}
.ps-video-play-btn {
width: 3.25rem;
height: 3.25rem;
border-radius: 50%;
background-color: var(--ps-text-dark);
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
transition: var(--ps-transition);
flex-shrink: 0;
}
.ps-video-badge-trigger:hover .ps-video-play-btn {
background-color: var(--ps-clay-500);
transform: scale(1.05);
}
.ps-video-text h4 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1rem;
margin-bottom: 0.15rem;
}
.ps-video-text p {
font-size: 0.82rem;
color: rgba(34, 25, 18, 0.6);
margin-bottom: 0;
} .btn-explore-tours {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
background-color: transparent;
border: 2px solid var(--ps-text-dark);
border-radius: var(--ps-radius-pill);
padding: 0.85rem 2.5rem;
transition: var(--ps-transition);
display: inline-flex;
align-items: center;
gap: 0.5rem;
text-decoration: none !important;
}
.btn-explore-tours:hover {
background-color: var(--ps-clay-500);
border-color: var(--ps-clay-500);
color: #ffffff;
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(158, 73, 44, 0.15);
} .ps-trust-wrapper {
display: inline-flex;
align-items: center;
gap: 0.75rem;
background-color: rgba(34, 25, 18, 0.03);
padding: 0.5rem 1rem;
border-radius: var(--ps-radius-sm);
border: 1px solid var(--ps-line-muted);
}
.ps-trust-stars {
color: var(--ps-gold);
font-size: 0.9rem;
letter-spacing: -0.02em;
}
.ps-trust-label {
font-size: 0.85rem;
font-weight: 600;
color: rgba(34, 25, 18, 0.8);
}
.ps-trust-label span {
color: var(--ps-clay-500);
} .ps-section-title {
font-family: var(--ps-font-display);
font-weight: 800;
color: var(--ps-black);
letter-spacing: -0.02em;
} .ps-country-pill {
font-family: var(--ps-font-mono);
font-size: 0.85rem;
font-weight: 700;
color: var(--ps-body);
background-color: var(--ps-surface);
border: 1px solid var(--ps-line-strong);
padding: 0.5rem 1.25rem;
border-radius: var(--ps-radius-sm);
transition: var(--ps-transition);
}
.ps-country-pill:hover {
color: var(--ps-black);
border-color: var(--ps-black);
background-color: var(--ps-surface);
}
.ps-country-pill.active {
color: #ffffff !important;
background-color: var(--ps-clay-500) !important;
border-color: var(--ps-clay-500) !important;
} .ps-showcase-card {
border-radius: var(--ps-radius-lg);
overflow: hidden;
border: 1px solid var(--ps-line-strong);
box-shadow: 0 16px 40px rgba(34, 25, 18, 0.06);
} .btn-primary {
background-color: var(--ps-clay-500);
border-color: var(--ps-clay-500);
font-family: var(--ps-font-body);
font-weight: 700;
border-radius: var(--ps-radius-sm);
transition: var(--ps-transition);
}
.btn-primary:hover {
background-color: var(--ps-clay-600);
border-color: var(--ps-clay-600);
}
.btn-outline-custom {
color: #ffffff;
border: 1px solid rgba(255, 255, 255, 0.4);
background-color: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(4px);
font-family: var(--ps-font-body);
font-weight: 600;
border-radius: var(--ps-radius-sm);
transition: var(--ps-transition);
}
.btn-outline-custom:hover {
color: #ffffff;
border-color: #ffffff;
background-color: rgba(255, 255, 255, 0.2);
}
.font-mono {
font-family: var(--ps-font-mono) !important;
} .ps-packages-section {
background-color: var(--ps-bg-canvas);
} .ps-section-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--ps-clay-500);
}
.ps-section-title {
font-family: var(--ps-font-display);
font-weight: 800;
color: var(--ps-text-dark);
letter-spacing: -0.02em;
}
.ps-section-desc {
font-size: 1.1rem;
color: rgba(34, 25, 18, 0.65);
max-width: 650px;
line-height: 1.5;
} .ps-package-card {
background-color: var(--ps-surface);
border-radius: var(--ps-radius-md);
border: 1px solid var(--ps-line-muted);
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
box-shadow: 0 8px 32px rgba(34, 25, 18, 0.03);
transition: var(--ps-transition);
}
.ps-package-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(34, 25, 18, 0.08);
border-color: rgba(158, 73, 44, 0.25);
} .ps-card-media-wrapper {
position: relative;
width: 100%;
aspect-ratio: 5 / 2.6;
overflow: hidden;
background-color: #e6e1da;
}
.ps-package-img {
width: 100%;
height: 100%;
object-fit: cover;
transition: var(--ps-transition);
}
.ps-package-card:hover .ps-package-img {
transform: scale(1.05);
} .ps-floating-badge {
position: absolute;
top: 1rem;
left: 1rem;
background-color: rgba(28, 24, 21, 0.85);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
color: #ffffff;
font-family: var(--ps-font-mono);
font-size: 0.7rem;
font-weight: 700;
padding: 0.4rem 0.8rem;
border-radius: var(--ps-radius-sm);
letter-spacing: 0.04em;
} .ps-card-content-body {
padding: 1.75rem 1.5rem;
display: flex;
flex-direction: column;
flex-grow: 1;
}
.ps-trip-meta-row {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--ps-clay-500);
} .ps-package-title {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.35rem;
line-height: 1.25;
color: var(--ps-text-dark);
letter-spacing: -0.01em;
transition: var(--ps-transition);
}
.ps-package-card:hover .ps-package-title {
color: var(--ps-clay-500);
} .ps-location-route {
font-size: 0.85rem;
color: rgba(34, 25, 18, 0.55);
}
.ps-amenity-pill-box {
background-color: rgba(34, 25, 18, 0.03);
border-radius: var(--ps-radius-sm);
padding: 0.6rem 0.85rem;
font-size: 0.85rem;
color: rgba(34, 25, 18, 0.75);
}
.ps-price-label {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: rgba(34, 25, 18, 0.4);
display: block;
margin-bottom: -0.15rem;
}
.ps-price-amount {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 1.4rem;
color: var(--ps-text-dark);
}
.ps-price-unit {
font-size: 0.8rem;
font-weight: 400;
font-family: var(--ps-font-body);
color: rgba(34, 25, 18, 0.5);
} .btn-view-package {
font-family: var(--ps-font-mono);
font-size: 0.78rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ps-clay-500);
background-color: transparent;
border: 2px solid var(--ps-clay-500);
border-radius: var(--ps-radius-sm);
padding: 0.6rem 1.2rem;
transition: var(--ps-transition);
display: inline-flex;
align-items: center;
gap: 0.35rem;
text-decoration: none !important;
}
.ps-package-card:hover .btn-view-package {
background-color: var(--ps-clay-500);
color: #ffffff;
} .ps-carousel-control-btn {
width: 2.75rem;
height: 2.75rem;
border-radius: 50%;
background-color: #ffffff;
border: 1px solid var(--ps-line-muted);
color: var(--ps-text-dark);
display: inline-flex;
align-items: center;
justify-content: center;
transition: var(--ps-transition);
box-shadow: 0 4px 12px rgba(34, 25, 18, 0.04);
}
.ps-carousel-control-btn:hover {
background-color: var(--ps-clay-500);
border-color: var(--ps-clay-500);
color: #ffffff;
} .btn-view-all-safaris {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 0.95rem;
color: #ffffff;
background-color: var(--ps-text-dark);
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.8rem 2rem;
box-shadow: 0 4px 14px rgba(28, 24, 21, 0.12);
transition: var(--ps-transition);
text-decoration: none !important;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.btn-view-all-safaris:hover {
background-color: var(--ps-clay-500);
color: #ffffff;
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(158, 73, 44, 0.22);
}  .ps-offerings-canvas {
background-color: var(--ps-clay-500);
color: #ffffff;
}
.ps-eyebrow-light {
font-family: var(--ps-font-mono);
font-size: 0.85rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--ps-clay-100);
} .btn-create-now {
background-color: transparent;
color: #ffffff;
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 1.05rem;
border: 2px solid rgba(255, 255, 255, 0.6);
border-radius: var(--ps-radius-pill);
padding: 0.65rem 2.25rem;
transition: var(--ps-transition);
}
.btn-create-now:hover {
background-color: rgba(255, 255, 255, 0.1);
border-color: #ffffff;
color: #ffffff;
} .ps-nav-circle {
width: 3.25rem;
height: 3.25rem;
border-radius: 50%;
background-color: #ffffff;
color: var(--ps-clay-500);
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none !important;
transition: var(--ps-transition);
}
.ps-nav-circle:hover {
background-color: var(--ps-clay-100);
color: var(--ps-clay-500);
} .ps-interactive-holiday-card {
position: relative;
width: 100%;
aspect-ratio: 3 / 4.3;
border-radius: var(--ps-radius-md);
overflow: hidden;
box-shadow: 0 12px 32px rgba(34, 25, 18, 0.18);
display: flex;
align-items: flex-end;
text-decoration: none !important;
background-color: var(--ps-clay-600);
}
.ps-card-img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 1;
transition: var(--ps-transition);
} .ps-card-shroud {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
to top,
rgba(26, 19, 14, 0.95) 0%,
rgba(26, 19, 14, 0.6) 45%,
rgba(26, 19, 14, 0.1) 100%
);
z-index: 2;
transition: var(--ps-transition);
} .ps-card-body-content {
position: relative;
z-index: 3;
padding: 1.5rem 1.25rem;
width: 100%;
}
.ps-card-meta-title {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.35rem;
color: #ffffff;
margin-bottom: 0.35rem;
letter-spacing: -0.01em;
}
.ps-card-meta-desc {
font-size: 0.85rem;
color: rgba(255, 255, 255, 0.8);
line-height: 1.4;
margin-bottom: 1rem; display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ps-card-action-trigger {
font-family: var(--ps-font-mono);
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--ps-clay-100);
display: inline-flex;
align-items: center;
gap: 0.35rem;
transition: var(--ps-transition);
} .ps-interactive-holiday-card:hover .ps-card-img {
transform: scale(1.06);
}
.ps-interactive-holiday-card:hover .ps-card-shroud {
background: linear-gradient(
to top,
rgba(26, 19, 14, 0.98) 0%,
rgba(26, 19, 14, 0.75) 60%,
rgba(26, 19, 14, 0.2) 100%
);
}
.ps-interactive-holiday-card:hover .ps-card-action-trigger {
color: #ffffff;
transform: translateX(4px);
} .ps-measure {
max-width: 68ch;
}
.ps-eyebrow {
font-family: var(--ps-font-mono);
font-size: var(--ps-text-xs);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.16em;
color: var(--ps-clay-100);
display: inline-block;
}
.btn-primary {
background-color: var(--ps-clay-500);
border-color: var(--ps-clay-500);
transition: var(--ps-transition);
}
.btn-primary:hover {
background-color: var(--ps-clay-600);
border-color: var(--ps-clay-600);
}
.ps-footer {
background: var(--ps-bg-dark);
color: var(--ps-on-dark-mute);
}
.font-mono {
font-family: var(--ps-font-mono) !important;
}
.font-body {
font-family: var(--ps-font-body) !important;
}
.tracking-wide {
letter-spacing: 0.05em;
}
.tracking-wider {
letter-spacing: 0.1em;
}
.backdrop-blur {
backdrop-filter: blur(12px);
-webkit-backdrop-filter: blur(12px);
} footer {
background-color: var(--ps-bg-dark);
font-family: var(--ps-font-body);
color: #e6e1da;
-webkit-font-smoothing: antialiased;
} .ps-footer-heading {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.15rem;
letter-spacing: -0.01em;
color: #ffffff;
}
.ps-footer-subheading {
font-family: var(--ps-font-mono);
font-weight: 700;
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: rgba(255, 255, 255, 0.4);
} .ps-footer-links {
list-style: none;
padding: 0;
margin: 0;
}
.ps-footer-links li {
margin-bottom: 0.6rem;
}
.ps-footer-links a,
.ps-footer-contact-item {
color: #e6e1da;
text-decoration: none;
opacity: 0.75;
font-size: 0.95rem;
transition: var(--ps-transition);
}
.ps-footer-links a:hover {
opacity: 1;
color: var(--ps-clay-400);
transform: translateX(3px);
} a.ps-footer-contact-item:hover {
opacity: 1;
color: #ffffff;
}
.ps-footer-about-text {
font-size: 0.95rem;
line-height: 1.6;
opacity: 0.8;
} .ps-trust-badge {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: rgba(255, 255, 255, 0.7);
background-color: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.1);
padding: 0.35rem 0.7rem;
border-radius: var(--ps-radius-sm);
}
.ps-trust-badge.payment-badge {
color: #ffffff;
background-color: var(--ps-surface-dark);
border-color: var(--ps-line-muted);
} .ps-social-circle {
width: 2.35rem;
height: 2.35rem;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
color: #e6e1da;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none !important;
transition: var(--ps-transition);
}
.ps-social-circle:hover {
background-color: var(--ps-clay-500);
border-color: var(--ps-clay-500);
color: #ffffff;
transform: translateY(-2px);
}
.font-mono {
font-family: var(--ps-font-mono) !important;
} .ps-fi {
color: var(--ps-clay-400);
}
.ps-rating {
color: var(--ps-gold);
}
:where(
a,
button,
.nav-link,
input,
textarea,
select,
[tabindex]
):focus-visible {
outline: 3px solid var(--ps-clay-500);
outline-offset: 2px;
border-radius: var(--ps-radius-sm);
}
@keyframes psFadeIn {
from {
opacity: 0;
transform: translateY(12px);
}
to {
opacity: 1;
transform: none;
}
}
.animate-fade-in {
animation: psFadeIn 0.7s var(--ps-ease) both;
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
scroll-behavior: auto !important;
}
.animate-fade-in {
animation: none !important;
}
}  .ps-section-eyebrow,
.ps-eyebrow,
.ps-eyebrow-light {
display: inline-flex;
align-items: center;
gap: 0.6rem;
}
.ps-section-eyebrow::before,
.ps-eyebrow::before,
.ps-eyebrow-light::before {
content: '';
width: 0.6rem;
height: 0.6rem;
border-radius: 50%;
background: var(--ps-gold);
box-shadow: 0 0 0 0.18rem rgba(246, 198, 18, 0.22);
flex-shrink: 0;
} .btn-hero-ghost {
font-family: var(--ps-font-body);
font-weight: 600;
font-size: 1.05rem;
color: #fff;
text-decoration: none !important;
display: inline-flex;
align-items: center;
gap: 0.35rem;
padding: 0.5rem 0.25rem;
border-bottom: 2px solid transparent;
transition: var(--ps-transition);
}
.btn-hero-ghost:hover {
color: var(--ps-clay-100);
border-bottom-color: var(--ps-clay-100);
}
.ps-scroll-cue {
position: absolute;
left: 50%;
bottom: 1.5rem;
transform: translateX(-50%);
width: 2.6rem;
height: 2.6rem;
border-radius: 50%;
border: 1px solid rgba(255, 255, 255, 0.35);
display: flex;
align-items: center;
justify-content: center;
color: rgba(255, 255, 255, 0.85);
font-size: 1.1rem;
animation: psCue 2.2s var(--ps-ease) infinite;
}
@keyframes psCue {
0%,
100% {
transform: translate(-50%, 0);
opacity: 0.7;
}
50% {
transform: translate(-50%, 6px);
opacity: 1;
}
} .ps-offerings-canvas {
background-color: var(--ps-surface-2) !important;
color: var(--ps-text-dark) !important;
border-top: 1px solid var(--ps-line);
border-bottom: 1px solid var(--ps-line);
}
.ps-offerings-canvas .ps-eyebrow-light {
color: var(--ps-clay-500);
}
.ps-offerings-canvas h2 {
color: var(--ps-text-dark) !important;
}
.ps-offerings-canvas .opacity-90 {
color: var(--ps-muted);
opacity: 1 !important;
}
.ps-offerings-canvas .btn-create-now {
background-color: var(--ps-clay-500);
color: #fff;
border: 2px solid var(--ps-clay-500);
}
.ps-offerings-canvas .btn-create-now:hover {
background-color: var(--ps-clay-600);
border-color: var(--ps-clay-600);
color: #fff;
}
.ps-offerings-canvas .ps-nav-circle {
background-color: #fff;
color: var(--ps-clay-500);
border: 1px solid var(--ps-line-strong);
}
.ps-offerings-canvas .ps-nav-circle:hover {
background-color: var(--ps-clay-500);
color: #fff;
border-color: var(--ps-clay-500);
} .reveal {
opacity: 0;
transform: translateY(18px);
transition:
opacity 0.6s var(--ps-ease),
transform 0.6s var(--ps-ease);
}
.reveal.is-visible {
opacity: 1;
transform: none;
}
@media (prefers-reduced-motion: reduce) {
.reveal {
opacity: 1 !important;
transform: none !important;
}
.ps-scroll-cue {
animation: none !important;
}
} footer.ps-site-footer { background: linear-gradient(180deg, #221d17 0%, #14110c 100%);
color: var(--ps-on-dark-mute);
}
.ps-footer-brand {
display: inline-flex;
align-items: center;
gap: 0.6rem;
}
.ps-footer-brand-name {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 1.35rem;
color: #fff;
letter-spacing: -0.02em;
}
.ps-footer-tagline {
color: var(--ps-on-dark-mute);
font-size: 0.95rem;
line-height: 1.6;
max-width: 36ch;
}
.ps-footer-divider {
border: 0;
border-top: 1px solid rgba(255, 255, 255, 0.09);
margin: 0;
}
.ps-footer-cta {
display: inline-flex;
align-items: center;
gap: 0.45rem;
background: var(--ps-clay-500);
color: #fff;
font-family: var(--ps-font-body);
font-weight: 700;
border-radius: var(--ps-radius-pill);
padding: 0.7rem 1.6rem;
text-decoration: none;
transition: var(--ps-transition);
}
.ps-footer-cta:hover {
background: var(--ps-clay-600);
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(158, 73, 44, 0.28);
}
.ps-footer-stars {
color: var(--ps-gold);
font-size: 0.9rem;
letter-spacing: -0.02em;
}
.ps-footer-rating {
color: var(--ps-on-dark-mute);
font-size: 0.85rem;
}
.ps-footer-rating strong {
color: #fff;
}
.ps-footer-copy {
color: var(--ps-on-dark-mute);
font-family: var(--ps-font-mono);
font-size: 0.78rem;
letter-spacing: 0.02em;
}
.ps-legal-link {
color: var(--ps-on-dark-mute);
text-decoration: none;
font-family: var(--ps-font-mono);
font-size: 0.76rem;
transition: var(--ps-transition);
}
.ps-legal-link:hover {
color: #fff;
}
.ps-backtotop {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ps-on-dark-mute);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.4rem;
transition: var(--ps-transition);
}
.ps-backtotop:hover {
color: #fff;
}
.ps-backtotop i {
transition: var(--ps-transition);
}
.ps-backtotop:hover i {
transform: translateY(-2px);
} .ps-header-wrapper { background-color: rgba(20, 16, 11, 0.18);
transition:
background-color 0.3s var(--ps-ease),
box-shadow 0.3s var(--ps-ease);
}
.ps-header-wrapper.is-scrolled {
background-color: rgba(20, 16, 11, 0.94);
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
border-bottom-color: rgba(255, 255, 255, 0.06);
}
.ps-top-utility-bar { background: #2d403d url(//www.peoplesafaris.com/wp-content/themes/pts/images/pattern-two.png) !important;
overflow: hidden;
max-height: 60px;
transition:
max-height 0.35s var(--ps-ease),
opacity 0.25s var(--ps-ease),
padding 0.35s var(--ps-ease);
}
.ps-header-wrapper.is-scrolled .ps-top-utility-bar {
max-height: 0;
opacity: 0;
padding-top: 0 !important;
padding-bottom: 0 !important;
border-bottom-color: transparent;
}
.ps-header-wrapper.is-scrolled .ps-header-navbar {
padding: 0.5rem 0;
}
.ps-utility-trust i {
color: var(--ps-clay-300);
}
.ps-header-navbar .nav-link {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 0.95rem;
color: var(--ps-body);
padding: 0.5rem 0.9rem;
position: relative;
transition: color 0.2s var(--ps-ease);
text-transform: uppercase;
}
.ps-header-navbar .nav-link::after {
content: '';
position: absolute;
left: 0.9rem;
right: 0.9rem;
bottom: 0.2rem;
height: 2px;
border-radius: 2px;
background: var(--ps-clay-400);
transform: scaleX(0);
transform-origin: left;
transition: transform 0.25s var(--ps-ease);
}
.ps-header-navbar .nav-link:hover,
.ps-header-navbar .nav-link.active {
color: var(--ps-body);
}
.ps-header-navbar .nav-link:hover::after,
.ps-header-navbar .nav-link.active::after {
transform: scaleX(1);
}
@media (max-width: 991.98px) {
.ps-header-navbar .navbar-collapse {
background: #2d403d url(//www.peoplesafaris.com/wp-content/themes/pts/images/pattern-two.png) !important;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: var(--ps-radius-md);
padding: 0.75rem 1rem 1rem;
margin-top: 0.75rem;
}
.ps-header-navbar .nav-link {
padding: 0.6rem 0.25rem;
color: #fff !important;
}
.ps-header-navbar .nav-link::after {
display: none;
}
}
@media (prefers-reduced-motion: reduce) {
.ps-header-wrapper,
.ps-top-utility-bar {
transition: none;
}
} .navbar .dropdown-menu {
border: 0;
border-radius: 8px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}
.navbar .dropdown-menu .nav-link,
.navbar .dropdown-menu .dropdown-item {
padding: 10px 16px;
}
.dropdown-menu .dropdown-menu {
left: 100%;
top: 0;
}  .ps-affil-logo {
background: rgba(255, 255, 255, 0.92);
border-radius: var(--ps-radius-sm);
padding: 0.4rem 0.55rem;
height: 40px;
display: inline-flex;
align-items: center;
justify-content: center;
transition: var(--ps-transition);
}
.ps-affil-logo:hover {
background: #fff;
transform: translateY(-2px);
}
.ps-affil-logo img {
max-height: 24px;
max-width: 76px;
width: auto;
height: auto;
display: block;
object-fit: contain;
}
.ps-affil-logo.ps-affil-lg {
height: 54px;
min-width: 116px;
padding: 0.55rem 0.95rem;
}
.ps-affil-logo.ps-affil-lg img {
max-height: 30px;
max-width: 96px;
} .ps-hero-wrapper {
min-height: 100vh;
height: auto;
}
.ps-hero-content-box {
padding-top: 8.5rem;
padding-bottom: 3rem;
}
@media (max-width: 991.98px) {
.ps-hero-content-box {
padding-top: 7rem;
}
}
.ps-hero-booking {
background: rgba(20, 16, 11, 0.58);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.14);
border-radius: var(--ps-radius-lg);
padding: 1.75rem;
box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
}
.ps-hero-booking h3 {
font-family: var(--ps-font-display);
color: #fff;
font-weight: 700;
font-size: 1.4rem;
}
.ps-bk-sub {
color: rgba(255, 255, 255, 0.7);
font-size: 0.9rem;
line-height: 1.5;
}
.ps-bk-label {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: rgba(255, 255, 255, 0.6);
margin-bottom: 0.3rem;
display: block;
}
.ps-bk-field {
width: 100%;
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(255, 255, 255, 0.18);
color: #fff;
border-radius: var(--ps-radius-sm);
padding: 0.6rem 0.8rem;
font-size: 0.95rem;
font-family: var(--ps-font-body);
transition: var(--ps-transition);
}
.ps-bk-field::placeholder {
color: rgba(255, 255, 255, 0.4);
}
.ps-bk-field:focus {
outline: none;
border-color: var(--ps-clay-400);
background: rgba(255, 255, 255, 0.12);
box-shadow: 0 0 0 3px rgba(184, 85, 51, 0.28);
}
.ps-bk-field option {
color: #1a1a1a;
}
.ps-bk-submit {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.3rem;
background: var(--ps-clay-500);
color: #fff;
border: none;
border-radius: var(--ps-radius-sm);
padding: 0.8rem;
font-weight: 700;
font-family: var(--ps-font-body);
transition: var(--ps-transition);
}
.ps-bk-submit:hover {
background: var(--ps-clay-600);
transform: translateY(-1px);
box-shadow: 0 10px 24px rgba(158, 73, 44, 0.3);
}
.ps-bk-note {
color: rgba(255, 255, 255, 0.5);
font-size: 0.75rem;
text-align: center;
}
@media (max-width: 991.98px) {
.ps-hero-booking {
max-width: 460px;
}
} .ps-faq .accordion-item {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md) !important;
margin-bottom: 0.75rem;
overflow: hidden;
}
.ps-faq .accordion-button {
font-family: var(--ps-font-display);
font-weight: 600;
font-size: 1.08rem;
color: var(--ps-text-dark);
background: var(--ps-surface);
padding: 1.1rem 1.25rem;
}
.ps-faq .accordion-button:not(.collapsed) {
color: var(--ps-clay-600);
background: var(--ps-clay-50);
box-shadow: none;
}
.ps-faq .accordion-button:focus {
box-shadow: 0 0 0 3px rgba(184, 85, 51, 0.3);
border-color: transparent;
}
.ps-faq .accordion-button::after {
background-size: 1.1rem;
}
.ps-faq .accordion-body {
color: var(--ps-body);
padding: 0 1.25rem 1.25rem;
line-height: 1.65;
} .ps-bk-or {
display: flex;
align-items: center;
gap: 0.6rem;
margin: 0.85rem 0 0.25rem;
color: rgba(255, 255, 255, 0.45);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.1em;
font-family: var(--ps-font-mono);
}
.ps-bk-or::before,
.ps-bk-or::after {
content: '';
flex: 1;
height: 1px;
background: rgba(255, 255, 255, 0.14);
}
.ps-bk-whatsapp {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
background: transparent;
color: #fff;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: var(--ps-radius-sm);
padding: 0.7rem;
font-weight: 600;
font-family: var(--ps-font-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-bk-whatsapp i {
color: #25d366;
font-size: 1.15rem;
}
.ps-bk-whatsapp:hover {
background: #25d366;
border-color: #25d366;
color: #fff;
}
.ps-bk-whatsapp:hover i {
color: #fff;
}  .ps-about-hero {
position: relative;
display: flex;
align-items: center;
overflow: hidden;
min-height: 60vh;
}
.ps-about-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.ps-about-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(20, 16, 11, 0.55) 0%,
rgba(20, 16, 11, 0.82) 100%
);
}
.ps-about-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 5rem;
}
.ps-about-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.5rem, 1.5rem + 3.4vw, 4rem);
line-height: 1.04;
}
.ps-about-lead {
color: rgba(255, 255, 255, 0.88);
font-size: 1.2rem;
line-height: 1.6;
max-width: 62ch;
}
.ps-byline {
font-family: var(--ps-font-mono);
font-size: 0.74rem;
letter-spacing: 0.04em;
color: rgba(255, 255, 255, 0.6);
}
.ps-keyfacts {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
box-shadow: 0 24px 60px rgba(26, 26, 26, 0.12);
}
.ps-fact {
padding: 1.25rem 1.4rem;
border-bottom: 1px solid var(--ps-line);
}
.ps-fact dt {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--ps-muted);
margin-bottom: 0.3rem;
}
.ps-fact dd {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
margin: 0;
line-height: 1.3;
}
.ps-fact dd span {
font-family: var(--ps-font-body);
font-weight: 400;
font-size: 0.9rem;
color: var(--ps-muted);
display: block;
} .ps-story-img {
border-radius: var(--ps-radius-lg);
overflow: hidden;
box-shadow: 0 20px 50px rgba(26, 26, 26, 0.14);
}
.ps-story-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.ps-story-acc .accordion-item {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md) !important;
margin-bottom: 0.75rem;
overflow: hidden;
}
.ps-story-acc .accordion-button {
font-family: var(--ps-font-display);
font-weight: 600;
color: var(--ps-text-dark);
background: var(--ps-surface);
padding: 0.95rem 1.4rem;
border-radius: var(--ps-radius-md);
}
.ps-story-acc .accordion-button:not(.collapsed) {
color: var(--ps-clay-600);
background: var(--ps-surface);
box-shadow: none;
}
.ps-story-acc .accordion-button:focus {
box-shadow: 0 0 0 3px rgba(184, 85, 51, 0.18);
}
.ps-story-acc .accordion-body {
padding: 0.1rem 1.4rem 1.2rem 3.7rem;
color: var(--ps-body);
line-height: 1.6;
}
.ps-story-num {
width: 28px;
height: 28px;
border-radius: 50%;
border: 1px solid var(--ps-line-strong);
color: var(--ps-clay-600);
font-family: var(--ps-font-mono);
font-size: 0.8rem;
display: inline-flex;
align-items: center;
justify-content: center;
margin-right: 0.85rem;
flex-shrink: 0;
} .ps-vm-card {
position: relative;
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
padding: clamp(1.75rem, 4vw, 3rem);
}
.ps-vm-badge {
position: absolute;
top: 0;
right: 2.5rem;
width: 62px;
height: 84px;
border-radius: 0 0 var(--ps-radius-pill) var(--ps-radius-pill);
background: linear-gradient(165deg, var(--ps-clay-500), var(--ps-gold));
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 1.45rem;
box-shadow: 0 12px 26px rgba(158, 73, 44, 0.3);
}
.ps-vm-img {
width: 100%;
aspect-ratio: 16/9;
object-fit: cover;
border-radius: var(--ps-radius-md);
background: var(--ps-surface-2);
margin-bottom: 1.25rem;
display: block;
}
.ps-vm-col h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.5rem;
color: var(--ps-text-dark);
margin-bottom: 0.5rem;
}
.ps-vm-col p {
color: var(--ps-body);
margin: 0;
line-height: 1.6;
} .ps-step-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-md);
padding: 1.85rem;
height: 100%;
transition: var(--ps-transition);
}
.ps-step-card:hover {
border-color: var(--ps-clay-400);
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.08);
transform: translateY(-3px);
}
.ps-step-badge {
display: inline-flex;
align-items: center;
gap: 0.45rem;
background: var(--ps-text-dark);
color: #fff;
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 0.35rem 0.85rem;
border-radius: var(--ps-radius-sm);
margin-bottom: 1.1rem;
}
.ps-step-card h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.3rem;
color: var(--ps-text-dark);
margin-bottom: 0.6rem;
}
.ps-step-card p {
color: var(--ps-body);
margin: 0;
line-height: 1.6;
} .ps-team2-photo {
width: 100%;
aspect-ratio: 3/4;
object-fit: cover;
border-radius: var(--ps-radius-md);
background: var(--ps-surface-2);
display: block;
margin-bottom: 1rem;
transition: var(--ps-transition);
}
.ps-team2:hover .ps-team2-photo {
filter: brightness(0.97);
transform: translateY(-3px);
}
.ps-team2 h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.08rem;
color: var(--ps-text-dark);
margin-bottom: 0.1rem;
}
.ps-team2-role {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--ps-muted);
}
.ps-team2-cred {
font-size: 0.82rem;
color: var(--ps-muted);
margin-top: 0.3rem;
}
.ps-readmore {
font-family: var(--ps-font-body);
font-weight: 600;
color: var(--ps-clay-600);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.3rem;
transition: var(--ps-transition);
}
.ps-readmore:hover {
gap: 0.6rem;
color: var(--ps-clay-700);
} .ps-partner-cell {
display: flex;
align-items: center;
justify-content: center;
min-height: 118px;
padding: 1.4rem;
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
transition: var(--ps-transition);
}
.ps-partner-cell:hover {
border-color: var(--ps-line-strong);
box-shadow: 0 10px 26px rgba(26, 26, 26, 0.06);
}
.ps-partner-cell img {
max-height: 104px;
max-width: 200px;
width: auto;
object-fit: contain;
} .ps-rating-badge {
display: inline-flex;
align-items: center;
gap: 0.6rem;
font-family: var(--ps-font-body);
color: var(--ps-body);
}
.ps-rating-badge .ps-stars {
color: var(--ps-gold);
font-size: 1.05rem;
letter-spacing: -0.02em;
}
.ps-rating-badge strong {
color: var(--ps-text-dark);
}
.ps-review-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
padding: 1.6rem;
box-shadow: 0 10px 30px rgba(26, 26, 26, 0.06);
height: 100%;
}
.ps-review-stars {
color: var(--ps-gold);
font-size: 0.9rem;
margin-bottom: 0.75rem;
}
.ps-review-text {
color: var(--ps-body);
line-height: 1.6;
margin-bottom: 1.25rem;
}
.ps-review-author {
display: flex;
align-items: center;
gap: 0.75rem;
}
.ps-review-avatar {
width: 42px;
height: 42px;
border-radius: 50%;
object-fit: cover;
background: var(--ps-surface-2);
flex-shrink: 0;
}
.ps-review-name {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
font-size: 0.95rem;
line-height: 1.1;
}
.ps-review-time {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
color: var(--ps-muted);
}
.ps-quote-mark {
font-family: var(--ps-font-display);
font-size: 4rem;
line-height: 0.5;
color: var(--ps-clay-300);
}
.ps-tctrl {
width: 44px;
height: 44px;
border-radius: 50%;
border: 1px solid var(--ps-line-strong);
background: var(--ps-surface);
color: var(--ps-text-dark);
display: inline-flex;
align-items: center;
justify-content: center;
transition: var(--ps-transition);
}
.ps-tctrl:hover {
background: var(--ps-clay-500);
border-color: var(--ps-clay-500);
color: #fff;
} .ps-guarantee {
display: flex;
gap: 1rem;
align-items: flex-start;
}
.ps-guarantee i {
color: var(--ps-clay-500);
font-size: 1.5rem;
margin-top: 0.1rem;
}
.ps-guarantee h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
margin-bottom: 0.25rem;
}
.ps-guarantee p {
color: var(--ps-body);
font-size: 0.92rem;
margin: 0;
line-height: 1.55;
}
.ps-band-dark {
background: var(--ps-bg-dark);
color: #fff;
}
.ps-band-dark .ps-section-title {
color: #fff;
}
.ps-band-dark .ps-cred-text {
color: rgba(255, 255, 255, 0.85);
} .ps-faq-call {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
padding: 1.85rem;
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.08);
}
.ps-faq-call-avatar {
width: 56px;
height: 56px;
border-radius: 50%;
object-fit: cover;
background: var(--ps-surface-2);
}
.btn-contact-submit {
background: var(--ps-clay-500);
color: #fff;
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.8rem 2rem;
font-weight: 700;
font-family: var(--ps-font-body);
display: inline-flex;
align-items: center;
gap: 0.5rem;
transition: var(--ps-transition);
text-decoration: none;
}
.btn-contact-submit:hover {
background: var(--ps-clay-600);
transform: translateY(-2px);
} .ps-keyfacts {
overflow: hidden;
}
.ps-keyfacts-head {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 1rem;
flex-wrap: wrap;
padding: 1.85rem 2rem 1.35rem;
border-bottom: 1px solid var(--ps-line);
}
.ps-keyfacts-title {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.45rem;
color: var(--ps-text-dark);
margin: 0.35rem 0 0;
}
.ps-fact-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
margin: 0;
}
@media (max-width: 575.98px) {
.ps-fact-grid {
grid-template-columns: 1fr;
}
}
@media (min-width: 576px) and (max-width: 991.98px) {
.ps-fact-grid {
grid-template-columns: repeat(2, 1fr);
}
}
.ps-fact {
display: flex;
gap: 1rem;
align-items: flex-start;
padding: 1.5rem 1.85rem;
border-right: 1px solid var(--ps-line);
border-bottom: 1px solid var(--ps-line);
}
.ps-fact-ico {
width: 44px;
height: 44px;
border-radius: var(--ps-radius-sm);
background: var(--ps-clay-50);
color: var(--ps-clay-600);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
flex-shrink: 0;
}
.ps-fact dt {
font-family: var(--ps-font-mono);
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--ps-muted);
margin-bottom: 0.3rem;
}
.ps-fact dd {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
margin: 0;
line-height: 1.25;
}
.ps-fact dd span {
font-family: var(--ps-font-body);
font-weight: 400;
font-size: 0.85rem;
color: var(--ps-muted);
display: block;
margin-top: 0.1rem;
}
.ps-commit {
display: flex;
gap: 0.85rem;
align-items: flex-start;
padding: 0.35rem 0;
}
.ps-commit-ico {
width: 38px;
height: 38px;
border-radius: 50%;
background: var(--ps-clay-50);
color: var(--ps-clay-600);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.05rem;
flex-shrink: 0;
}
.ps-commit span.t {
color: var(--ps-text-dark);
font-weight: 600;
font-size: 0.95rem;
line-height: 1.4;
display: block;
}
.ps-commit span.d {
color: var(--ps-muted);
font-size: 0.85rem;
line-height: 1.4;
}
.ps-resp-band {
background: var(--ps-surface-2);
}
section[id] {
scroll-margin-top: 100px;
}  .ps-dest-hero {
position: relative;
display: flex;
align-items: center;
overflow: hidden;
min-height: 78vh;
}
.ps-dest-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.ps-dest-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(20, 16, 11, 0.45) 0%,
rgba(20, 16, 11, 0.82) 100%
);
}
.ps-dest-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 4.5rem;
}
.ps-dest-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.5rem, 1.5rem + 3.4vw, 4rem);
line-height: 1.04;
}
.ps-dest-lead {
color: rgba(255, 255, 255, 0.9);
font-size: 1.15rem;
line-height: 1.65;
max-width: 60ch;
}
.ps-hl-chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.ps-hl-chip {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.04em;
color: #fff;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: var(--ps-radius-pill);
padding: 0.4rem 0.9rem;
display: inline-flex;
align-items: center;
gap: 0.4rem;
}
.ps-hl-chip i {
color: var(--ps-clay-300);
}
.ps-cta-card {
background: var(--ps-surface);
border-radius: var(--ps-radius-lg);
box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
padding: 1.85rem;
}
.ps-cta-card h3 {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
font-size: 1.35rem;
}
.ps-cta-card p {
color: var(--ps-body);
font-size: 0.95rem;
line-height: 1.55;
}
.ps-cta-btn {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
background: var(--ps-clay-500);
color: #fff;
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.85rem;
font-weight: 700;
font-family: var(--ps-font-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-cta-btn:hover {
background: var(--ps-clay-600);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(158, 73, 44, 0.3);
}
.ps-cta-wa {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
background: transparent;
color: var(--ps-text-dark);
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-pill);
padding: 0.8rem;
font-weight: 600;
font-family: var(--ps-font-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-cta-wa i {
color: #25d366;
font-size: 1.15rem;
}
.ps-cta-wa:hover {
border-color: #25d366;
}
.ps-cta-meta {
font-family: var(--ps-font-mono);
font-size: 0.74rem;
color: var(--ps-muted);
}
.ps-cta-meta a {
color: var(--ps-text-dark);
text-decoration: none;
}
.ps-do-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
padding: 1.6rem;
height: 100%;
transition: var(--ps-transition);
}
.ps-do-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.1);
}
.ps-do-ico {
width: 50px;
height: 50px;
border-radius: var(--ps-radius-sm);
background: var(--ps-clay-50);
color: var(--ps-clay-600);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.35rem;
margin-bottom: 1rem;
}
.ps-do-card h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.12rem;
color: var(--ps-text-dark);
margin-bottom: 0.4rem;
}
.ps-do-card p {
color: var(--ps-body);
font-size: 0.92rem;
line-height: 1.55;
margin: 0;
}
.ps-dcard {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
overflow: hidden;
height: 100%;
transition: var(--ps-transition);
display: flex;
flex-direction: column;
}
.ps-dcard:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.12);
}
.ps-dcard-img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
background: var(--ps-surface-2);
display: block;
}
.ps-dcard-body {
padding: 1.25rem 1.35rem 1.4rem;
display: flex;
flex-direction: column;
flex-grow: 1;
}
.ps-dcard-body h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.15rem;
color: var(--ps-text-dark);
margin-bottom: 0.4rem;
}
.ps-dcard-body p {
color: var(--ps-body);
font-size: 0.92rem;
line-height: 1.55;
margin: 0 0 1rem;
flex-grow: 1;
}
.ps-dcard-link {
font-family: var(--ps-font-body);
font-weight: 600;
color: var(--ps-clay-600);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.3rem;
transition: var(--ps-transition);
}
.ps-dcard-link:hover {
gap: 0.6rem;
color: var(--ps-clay-700);
}
.ps-month-scroll {
overflow-x: auto;
}
.ps-month-table {
width: 100%;
border-collapse: collapse;
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
overflow: hidden;
font-size: 0.94rem;
}
.ps-month-table th,
.ps-month-table td {
text-align: left;
padding: 0.85rem 1rem;
border-bottom: 1px solid var(--ps-line);
vertical-align: top;
}
.ps-month-table thead th {
font-family: var(--ps-font-mono);
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ps-muted);
background: var(--ps-surface-2);
}
.ps-month-table tbody tr:last-child td {
border-bottom: 0;
}
.ps-month-table .m {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
white-space: nowrap;
}
.ps-month-table tr.peak {
background: var(--ps-clay-50);
}
.ps-season {
display: inline-block;
font-family: var(--ps-font-mono);
font-size: 0.64rem;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0.2rem 0.55rem;
border-radius: var(--ps-radius-pill);
white-space: nowrap;
}
.ps-season.dry {
background: rgba(184, 85, 51, 0.12);
color: var(--ps-clay-700);
}
.ps-season.green {
background: rgba(0, 144, 72, 0.12);
color: #0a7c43;
}
.ps-season.shoulder {
background: rgba(246, 198, 18, 0.2);
color: #8a6d00;
}
@media (max-width: 767.98px) {
.ps-month-table {
min-width: 660px;
}
}
.ps-best-callout {
background: var(--ps-clay-50);
border: 1px solid var(--ps-line);
border-left: 4px solid var(--ps-clay-500);
border-radius: var(--ps-radius-md);
padding: 1.25rem 1.5rem;
}
.ps-info-item {
display: flex;
gap: 1rem;
align-items: flex-start;
}
.ps-info-item i {
color: var(--ps-clay-500);
font-size: 1.4rem;
margin-top: 0.1rem;
flex-shrink: 0;
}
.ps-info-item h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
margin-bottom: 0.25rem;
}
.ps-info-item p {
color: var(--ps-body);
font-size: 0.92rem;
margin: 0;
line-height: 1.55;
} .ps-reason {
display: flex;
gap: 1.1rem;
align-items: flex-start;
}
.ps-reason-num {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 1.7rem;
color: var(--ps-clay-400);
line-height: 1;
flex-shrink: 0;
width: 2.4rem;
}
.ps-reason h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.15rem;
color: var(--ps-text-dark);
margin-bottom: 0.35rem;
}
.ps-reason p {
color: var(--ps-body);
font-size: 0.93rem;
line-height: 1.55;
margin: 0;
}
.ps-statband {
background: linear-gradient(180deg, #221d17 0%, #14110c 100%);
border-top: 3px solid var(--ps-clay-500);
}
.ps-stat-num {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem);
color: #fff;
line-height: 1;
}
.ps-stat-num span {
color: var(--ps-clay-400);
}
.ps-stat-label {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: rgba(255, 255, 255, 0.6);
margin-top: 0.5rem;
}
.ps-month-cell {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
padding: 1rem 1.1rem;
height: 100%;
transition: var(--ps-transition);
}
.ps-month-cell.peak {
border-color: var(--ps-clay-300);
background: var(--ps-clay-50);
}
.ps-month-cell .mh {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
margin-bottom: 0.45rem;
}
.ps-month-cell .mn {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
}
.ps-month-cell p {
color: var(--ps-body);
font-size: 0.83rem;
line-height: 1.45;
margin: 0;
}
.ps-tour-badge {
position: absolute;
top: 0.85rem;
left: 0.85rem;
background: rgba(20, 16, 11, 0.82);
color: #fff;
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0.32rem 0.7rem;
border-radius: var(--ps-radius-pill);
}
.ps-tour-price {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
}
.ps-tour-price span {
font-family: var(--ps-font-body);
font-weight: 400;
font-size: 0.8rem;
color: var(--ps-muted);
} .ps-reason-row {
position: relative;
}
.ps-reason-imgcol {
position: relative;
}
.ps-reason-img {
position: relative;
border-radius: var(--ps-radius-lg);
overflow: hidden;
background: var(--ps-surface-2);
aspect-ratio: 5 / 4;
}
.ps-reason-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.ps-reason-bignum {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: clamp(4rem, 3rem + 4vw, 7rem);
line-height: 0.8;
color: transparent;
-webkit-text-stroke: 2px var(--ps-clay-400);
position: absolute;
top: -1.4rem;
z-index: 3;
pointer-events: none;
}
.ps-reason-bignum.l {
left: 0.4rem;
}
.ps-reason-bignum.r {
right: 0.4rem;
}
.ps-reason-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--ps-blue-600);
font-weight: 700;
}
.ps-reason-h {
font-family: var(--ps-font-display);
font-weight: 800;
letter-spacing: -0.01em;
font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.1rem);
color: var(--ps-text-dark);
line-height: 1.1;
}
.ps-reason-text p {
color: var(--ps-body);
line-height: 1.7;
}
.ps-tag {
display: inline-block;
font-family: var(--ps-font-body);
font-size: 0.82rem;
color: var(--ps-text-dark);
background: var(--ps-surface);
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-pill);
padding: 0.4rem 0.95rem;
} .ps-when-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--ps-blue-600);
font-weight: 700;
}
.ps-when-title {
font-family: var(--ps-font-display);
font-weight: 800;
letter-spacing: -0.01em;
font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.4rem);
color: var(--ps-text-dark);
}
.ps-monthbar {
display: grid;
grid-template-columns: repeat(12, 1fr);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
overflow: hidden;
background: var(--ps-surface);
}
@media (max-width: 767.98px) {
.ps-monthbar {
grid-template-columns: repeat(6, 1fr);
}
}
.ps-mb-cell {
padding: 1.1rem 0.25rem;
text-align: center;
border-right: 1px solid var(--ps-line);
}
.ps-mb-cell:last-child {
border-right: 0;
}
@media (max-width: 767.98px) {
.ps-mb-cell:nth-child(6) {
border-right: 0;
}
.ps-mb-cell:nth-child(n + 7) {
border-top: 1px solid var(--ps-line);
}
}
.ps-mb-cell .dot {
display: block;
width: 10px;
height: 10px;
border-radius: 50%;
margin: 0 auto 0.6rem;
background: var(--ps-faint);
}
.ps-mb-cell .lbl {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
letter-spacing: 0.04em;
color: var(--ps-muted);
}
.ps-mb-cell.prime {
background: rgba(46, 122, 78, 0.09);
}
.ps-mb-cell.prime .dot {
background: #2e7a4e;
}
.ps-mb-cell.prime .lbl {
color: var(--ps-text-dark);
}
.ps-mb-cell.good .dot {
background: #d99a2c;
}
.ps-mb-cell.quiet .dot {
background: var(--ps-faint);
}
.ps-month-legend {
display: flex;
flex-wrap: wrap;
gap: 1.25rem 1.75rem;
}
.ps-leg {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.88rem;
color: var(--ps-body);
}
.ps-leg .dot {
width: 10px;
height: 10px;
border-radius: 50%;
}
.ps-leg.prime .dot {
background: #2e7a4e;
}
.ps-leg.good .dot {
background: #d99a2c;
}
.ps-leg.quiet .dot {
background: var(--ps-faint);
}
.ps-month-note {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
color: var(--ps-faint);
} .ps-glance {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
overflow: hidden;
box-shadow: 0 1px 2px var(--ps-line-muted);
}
.ps-glance-head {
background: var(--ps-blue-400);
color: #fff;
padding: 0.9rem 1.25rem;
font-family: var(--ps-font-display);
font-size: 1.05rem;
font-weight: 700;
}
.ps-glance-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
}
.ps-glance-item {
padding: 0.95rem 1.25rem;
border-top: 1px solid var(--ps-line);
border-right: 1px solid var(--ps-line);
}
.ps-glance-item:nth-child(2n) {
border-right: 0;
}
.ps-glance-k {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ps-clay-500);
margin-bottom: 0.25rem;
}
.ps-glance-v {
font-size: var(--ps-text-sm);
color: var(--ps-text-dark);
line-height: 1.45;
}
@media (max-width: 575.98px) {
.ps-glance-grid {
grid-template-columns: 1fr;
}
.ps-glance-item {
border-right: 0;
}
}  .ps-dl-hero {
position: relative;
display: flex;
align-items: center;
overflow: hidden;
min-height: 56vh;
}
.ps-dl-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.8) brightness(0.9);
}
.ps-dl-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(34, 24, 16, 0.55) 0%,
rgba(20, 16, 11, 0.88) 100%
);
}
.ps-dl-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 4rem;
}
.ps-dl-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.4rem, 1.5rem + 3vw, 3.75rem);
line-height: 1.04;
}
.ps-dl-lead {
color: rgba(255, 255, 255, 0.9);
font-size: 1.15rem;
line-height: 1.65;
max-width: 62ch;
}
.ps-country-item {
padding: 3rem 0;
border-bottom: 1px solid var(--ps-line);
}
.ps-country-item:last-child {
border-bottom: 0;
}
.ps-country-img {
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
border-radius: var(--ps-radius-lg);
background: var(--ps-surface-2);
display: block;
}
.ps-country-num {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: clamp(2rem, 1.4rem + 1.6vw, 2.9rem);
line-height: 0.9;
color: var(--ps-clay-500);
flex-shrink: 0;
}
.ps-country-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--ps-blue-600);
font-weight: 700;
}
.ps-country-name {
font-family: var(--ps-font-display);
font-weight: 800;
letter-spacing: -0.01em;
font-size: clamp(1.8rem, 1.4rem + 1.3vw, 2.3rem);
color: var(--ps-text-dark);
margin: 0;
line-height: 1.05;
}
.ps-country-desc {
color: var(--ps-body);
line-height: 1.7;
}
.ps-cfacts {
display: flex;
flex-wrap: wrap;
gap: 1rem 2.25rem;
}
.ps-cfact .k {
font-family: var(--ps-font-mono);
font-size: 0.62rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--ps-muted);
display: block;
margin-bottom: 0.15rem;
}
.ps-cfact .v {
font-family: var(--ps-font-body);
font-weight: 600;
color: var(--ps-text-dark);
font-size: 0.92rem;
}
.ps-country-link {
font-family: var(--ps-font-body);
font-weight: 700;
color: var(--ps-clay-600);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.35rem;
transition: var(--ps-transition);
}
.ps-country-link:hover {
gap: 0.65rem;
color: var(--ps-clay-700);
}  .ps-ht-hero {
position: relative;
display: flex;
align-items: center;
overflow: hidden;
min-height: 52vh;
}
.ps-ht-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.8) brightness(0.9);
}
.ps-ht-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(34, 24, 16, 0.55) 0%,
rgba(20, 16, 11, 0.88) 100%
);
}
.ps-ht-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 3.5rem;
}
.ps-ht-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.4rem, 1.5rem + 3vw, 3.6rem);
line-height: 1.04;
}
.ps-ht-lead {
color: rgba(255, 255, 255, 0.9);
font-size: 1.12rem;
line-height: 1.65;
max-width: 60ch;
}
.ps-ht-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
height: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
transition: var(--ps-transition);
}
.ps-ht-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.12);
border-color: var(--ps-line-strong);
}
.ps-ht-imgwrap {
position: relative;
}
.ps-ht-img {
width: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
background: var(--ps-surface-2);
display: block;
}
.ps-ht-ico {
position: absolute;
bottom: 0.85rem;
left: 0.85rem;
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--ps-clay-500);
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 1.15rem;
box-shadow: 0 6px 16px rgba(20, 16, 11, 0.32);
}
.ps-ht-body {
padding: 1.35rem 1.4rem 1.5rem;
display: flex;
flex-direction: column;
flex-grow: 1;
}
.ps-ht-card h2 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.12rem;
color: var(--ps-text-dark);
margin-bottom: 0.45rem;
}
.ps-ht-card p {
color: var(--ps-body);
font-size: 0.92rem;
line-height: 1.55;
margin: 0 0 1rem;
flex-grow: 1;
}
.ps-ht-link {
font-family: var(--ps-font-body);
font-weight: 600;
font-size: 0.88rem;
color: var(--ps-clay-600);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.3rem;
transition: var(--ps-transition);
}
.ps-ht-link:hover {
gap: 0.6rem;
color: var(--ps-clay-700);
}  .ps-legal-hero {
border-top: 0px solid var(--ps-clay-500);
padding-top: 8.5rem;
padding-bottom: 2.75rem;
background: #2d403d url(//www.peoplesafaris.com/wp-content/themes/pts/images/pattern-two.png) !important;
}
.ps-crumb {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: rgba(255, 255, 255, 0.5);
}
.ps-crumb a {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
}
.ps-crumb a:hover {
color: #fff;
}
.ps-legal-hero h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2rem, 1.4rem + 2vw, 3rem);
margin: 0.6rem 0 0;
}
.ps-legal-wrap {
padding: 3.5rem 0 5rem;
}
.ps-legal-nav {
position: sticky;
top: 100px;
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
padding: 0.6rem;
box-shadow: 0 14px 40px rgba(26, 26, 26, 0.06);
}
.ps-legal-nav-title {
font-family: var(--ps-font-mono);
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--ps-muted);
padding: 0.85rem 0.9rem 0.6rem;
}
.ps-legal-nav a {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
padding: 0.8rem 0.95rem;
border-radius: var(--ps-radius-sm);
color: var(--ps-text-dark);
text-decoration: none;
font-weight: 600;
font-family: var(--ps-font-body);
transition: var(--ps-transition);
}
.ps-legal-nav a:hover {
background: var(--ps-surface-2);
color: var(--ps-clay-600);
}
.ps-legal-nav a.active {
background: var(--ps-clay-50);
color: var(--ps-clay-700);
}
.ps-legal-nav a i {
font-size: 1rem;
opacity: 0;
transform: translateX(-4px);
transition: var(--ps-transition);
}
.ps-legal-nav a.active i,
.ps-legal-nav a:hover i {
opacity: 1;
transform: translateX(0);
}
@media (max-width: 991.98px) {
.ps-legal-nav {
position: static;
margin-bottom: 2rem;
}
}
.ps-legal-content {
max-width: 72ch;
}
.ps-legal-updated {
display: inline-flex;
align-items: center;
gap: 0.5rem;
color: var(--ps-clay-600);
font-weight: 700;
font-family: var(--ps-font-body);
margin-bottom: 0.5rem;
}
.ps-legal-intro {
color: var(--ps-muted);
font-size: 1.05rem;
line-height: 1.7;
margin-bottom: 2.5rem;
padding-bottom: 2rem;
border-bottom: 1px solid var(--ps-line);
}
.ps-legal-content h2 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.45rem;
color: var(--ps-text-dark);
margin: 2.75rem 0 1rem;
scroll-margin-top: 100px;
}
.ps-legal-content h2:first-of-type {
margin-top: 0;
}
.ps-legal-content h3 {
font-family: var(--ps-font-display);
font-weight: 600;
font-size: 1.12rem;
color: var(--ps-text-dark);
margin: 1.6rem 0 0.7rem;
}
.ps-legal-content p,
.ps-legal-content li {
color: var(--ps-body);
line-height: 1.75;
}
.ps-legal-content p {
margin-bottom: 1.15rem;
}
.ps-legal-content ul {
padding-left: 1.25rem;
margin-bottom: 1.25rem;
}
.ps-legal-content li {
margin-bottom: 0.5rem;
}
.ps-legal-content li::marker {
color: var(--ps-clay-500);
}
.ps-legal-content a {
color: var(--ps-blue-600);
text-decoration: underline;
}
.ps-legal-content a:hover {
color: var(--ps-blue-700);
}
.ps-legal-content table {
width: 100%;
border-collapse: collapse;
margin: 1.5rem 0;
font-size: 0.95rem;
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
overflow: hidden;
}
.ps-legal-content th,
.ps-legal-content td {
text-align: left;
padding: 0.8rem 1rem;
border-bottom: 1px solid var(--ps-line);
}
.ps-legal-content thead th {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ps-muted);
background: var(--ps-surface-2);
}
.ps-legal-content tbody tr:last-child td {
border-bottom: 0;
}
.ps-legal-cta {
margin-top: 3rem;
padding: 1.75rem;
background: var(--ps-surface-2);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
}   .ps-contact-hero {
position: relative;
display: flex;
align-items: center;
overflow: hidden;
min-height: 52vh;
}
.ps-contact-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(0.62) sepia(0.18) brightness(0.86);
}
.ps-contact-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(34, 24, 16, 0.62) 0%,
rgba(20, 16, 11, 0.92) 100%
);
}
.ps-contact-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 6rem;
}
.ps-contact-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.5rem, 1.6rem + 3vw, 3.75rem);
line-height: 1.05;
}
.ps-contact-lead {
color: rgba(255, 255, 255, 0.85);
font-size: 1.15rem;
line-height: 1.6;
max-width: 56ch;
}
.ps-card-shift {
margin-top: -5.5rem;
position: relative;
z-index: 3;
}
.ps-contact-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
box-shadow: 0 30px 70px rgba(26, 26, 26, 0.16);
overflow: hidden;
}
.ps-form-pane {
padding: clamp(1.75rem, 4vw, 3rem);
}
.ps-pane-title {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
}
.ps-form-label {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ps-muted);
margin-bottom: 0.4rem;
display: block;
}
.ps-input {
width: 100%;
background: var(--ps-paper);
border: 1px solid var(--ps-line-strong);
color: var(--ps-text-dark);
border-radius: var(--ps-radius-sm);
padding: 0.7rem 0.9rem;
font-size: 0.98rem;
font-family: var(--ps-font-body);
transition: var(--ps-transition);
}
.ps-input::placeholder {
color: var(--ps-faint);
}
.ps-input:focus {
outline: none;
border-color: var(--ps-clay-400);
background: #fff;
box-shadow: 0 0 0 3px rgba(184, 85, 51, 0.18);
}
.ps-input option {
color: var(--ps-text-dark);
}
.btn-contact-submit {
background: var(--ps-clay-500);
color: #fff;
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.8rem 2.2rem;
font-weight: 700;
font-family: var(--ps-font-body);
display: inline-flex;
align-items: center;
gap: 0.5rem;
transition: var(--ps-transition);
}
.btn-contact-submit:hover {
background: var(--ps-clay-600);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(158, 73, 44, 0.3);
}
.ps-contact-sidebar {
background: var(--ps-surface-2);
color: var(--ps-body);
padding: clamp(1.75rem, 4vw, 2.75rem);
height: 100%;
display: flex;
flex-direction: column;
border-left: 1px solid var(--ps-line);
}
.ps-detail-item {
display: flex;
gap: 1rem;
margin-bottom: 1.4rem;
}
.ps-detail-icon {
color: var(--ps-clay-600);
font-size: 1.2rem;
margin-top: 0.15rem;
flex-shrink: 0;
}
.ps-detail-item h5 {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ps-muted);
margin-bottom: 0.25rem;
}
.ps-detail-item p,
.ps-detail-item a {
color: var(--ps-body);
margin: 0;
text-decoration: none;
line-height: 1.5;
}
.ps-detail-item a:hover {
color: var(--ps-clay-600);
}
.ps-wa-link {
display: flex;
align-items: center;
gap: 1rem;
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
padding: 1rem 1.2rem;
text-decoration: none;
transition: var(--ps-transition);
}
.ps-wa-link:hover {
border-color: var(--ps-clay-300);
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(26, 26, 26, 0.07);
}
.ps-wa-badge {
width: 44px;
height: 44px;
border-radius: 50%;
background: #25d366;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.3rem;
flex-shrink: 0;
}
.ps-sidebar-social {
width: 40px;
height: 40px;
border-radius: 50%;
border: 1px solid var(--ps-line-strong);
color: var(--ps-muted);
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
transition: var(--ps-transition);
}
.ps-sidebar-social:hover {
background: var(--ps-clay-500);
border-color: var(--ps-clay-500);
color: #fff;
transform: translateY(-2px);
}
.ps-map-frame {
border: 0;
width: 100%;
height: 440px;
display: block;
}
.fancy-header {
font-family: var(--ps-font-display);
}
.p-section { background: var(--ps-surface-2) url(//www.peoplesafaris.com/wp-content/themes/pts/images/pattern-two.png);
}
.z-4 {
z-index: 4;
}
.z-5 {
z-index: 5;
}
.z-6 {
z-index: 6;
}
.icon-user {
display: inline-block;
width: 42px;
height: 42px;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 90 90'%3E%3Cpath fill='%23d6d6d6' d='M45 88c-11.049 0-21.18-2.003-29.021-8.634C6.212 71.105 0 58.764 0 45C0 20.187 20.187 0 45 0s45 20.187 45 45c0 13.765-6.212 26.105-15.979 34.366C66.181 85.998 56.049 88 45 88z'/%3E%3Cpath fill='%23a5a4a4' d='M45 60.71c-11.479 0-20.818-9.339-20.818-20.817 0-11.479 9.339-20.818 20.818-20.818 11.479 0 20.817 9.339 20.817 20.818C65.817 51.371 56.479 60.71 45 60.71z'/%3E%3Cpath fill='%23a5a4a4' d='M45 90c-10.613 0-20.922-3.773-29.028-10.625-.648-.548-.88-1.444-.579-2.237C20.034 64.919 31.933 56.71 45 56.71s24.966 8.209 29.607 20.428c.301.793.069 1.689-.579 2.237C65.922 86.227 55.613 90 45 90z'/%3E%3C/svg%3E");
}
.ps-footer-subheading::before {
content: '';
width: 0.45rem;
height: 0.45rem;
border-radius: 50%;
background: var(--ps-gold);
box-shadow: 0 0 0 0.14rem rgba(246, 198, 18, 0.2);
flex-shrink: 0;
}
.ps-footer-subheading {
display: inline-flex !important;
align-items: center;
gap: 0.5rem;
} .ps-breadcrumb {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
}
.ps-breadcrumb ol {
list-style: none;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
margin: 0;
padding: 0;
}
.ps-breadcrumb li {
display: inline-flex;
align-items: center;
gap: 0.5rem;
color: var(--ps-muted);
}
.ps-breadcrumb li:not(:last-child)::after {
content: '/';
color: var(--ps-faint);
}
.ps-breadcrumb a {
color: var(--ps-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-breadcrumb a:hover {
color: var(--ps-clay-600);
}
.ps-breadcrumb [aria-current='page'] {
color: var(--ps-clay-600);
}
.ps-breadcrumb--on-dark li {
color: rgba(255, 255, 255, 0.55);
}
.ps-breadcrumb--on-dark a {
color: rgba(255, 255, 255, 0.85);
}
.ps-breadcrumb--on-dark a:hover {
color: #fff;
}
.ps-breadcrumb--on-dark li:not(:last-child)::after {
color: rgba(255, 255, 255, 0.4);
}
.ps-breadcrumb--on-dark [aria-current='page'] {
color: var(--ps-clay-300);
}
#hero-form .wpcf7 form.invalid .wpcf7-response-output,
#hero-form .wpcf7 form.unaccepted .wpcf7-response-output,
#hero-form .wpcf7 form.payment-required .wpcf7-response-output {
color: white;
}
#hero-form .wpcf7-spinner {
display: none !important;
} .ps-check-group {
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
padding: 1rem 1.1rem 0.5rem;
background: var(--ps-surface);
}
.ps-check-group .form-check {
display: inline-flex;
align-items: center;
gap: 0.4rem;
margin-right: 1.5rem;
margin-bottom: 0.6rem;
}
.ps-check-group .form-check-input {
border: 0px;
margin-top: 0;
cursor: pointer;
}
.ps-check-group .form-check-input:checked {
background-color: var(--ps-clay);
border-color: var(--ps-clay);
}
.ps-check-group .form-check-label {
color: var(--ps-text-dark);
font-size: 0.95rem;
cursor: pointer;
}
.navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}  .ps-tour-hero {
position: relative;
display: flex;
align-items: flex-end;
overflow: hidden; min-height: 62vh;
}
.ps-tour-bg {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
.ps-tour-overlay {
position: absolute;
inset: 0;
background: linear-gradient(
180deg,
rgba(20, 16, 11, 0.2) 0%,
rgba(20, 16, 11, 0.85) 100%
);
}
.ps-tour-hero .container {
position: relative;
z-index: 2;
padding-top: 9.5rem;
padding-bottom: 2.75rem;
}
.ps-tour-eyebrow {
font-family: var(--ps-font-mono);
font-size: 0.74rem;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--ps-clay-300);
font-weight: 700;
}
.ps-tour-h1 {
font-family: var(--ps-font-display);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem);
line-height: 1.05;
}
.ps-tour-sub {
color: rgba(255, 255, 255, 0.9);
font-size: 1.1rem;
max-width: 62ch;
}
.ps-tour-rating {
font-family: var(--ps-font-body);
color: #fff;
font-weight: 600;
}
.ps-tourfacts {
background: var(--ps-surface);
border-bottom: 1px solid var(--ps-line);
}
.ps-tour-fact {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1.15rem 0;
}
.ps-tour-fact i {
font-size: 1.5rem;
color: var(--ps-clay-500);
}
.ps-tour-fact .k {
font-family: var(--ps-font-mono);
font-size: 0.64rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--ps-muted);
}
.ps-tour-fact .v {
font-family: var(--ps-font-display);
font-weight: 700;
color: var(--ps-text-dark);
}
.ps-content-h {
font-family: var(--ps-font-display);
font-weight: 800;
letter-spacing: -0.01em;
font-size: clamp(1.5rem, 1.2rem + 1vw, 1.9rem);
color: var(--ps-text-dark);
}
.ps-prose p {
color: var(--ps-body);
line-height: 1.75;
}
.ps-hl-list {
list-style: none;
padding: 0;
margin: 0;
}
.ps-hl-list li {
display: flex;
gap: 0.7rem;
align-items: flex-start;
margin-bottom: 0.7rem;
color: var(--ps-body);
}
.ps-hl-list li i {
color: var(--ps-clay-500);
margin-top: 0.15rem;
flex-shrink: 0;
}
.ps-itin-item {
position: relative;
padding-left: 4.25rem;
padding-bottom: 2rem;
}
.ps-itin-item:last-child {
padding-bottom: 0;
}
.ps-itin-item::before {
content: '';
position: absolute;
left: 1.4rem;
top: 3.2rem;
bottom: -0.2rem;
width: 2px;
background: var(--ps-line-strong);
}
.ps-itin-item:last-child::before {
display: none;
}
.ps-itin-badge {
position: absolute;
left: 0;
top: 0;
width: 2.9rem;
height: 2.9rem;
border-radius: 50%;
background: var(--ps-clay-500);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 1.05rem;
}
.ps-itin-item h3,
#itinerary h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.15rem;
color: var(--ps-text-dark);
margin-bottom: 0.4rem;
}
.ps-itin-item p,
#itinerary p {
color: var(--ps-body);
line-height: 1.65;
margin-bottom: 0.5rem;
}
#itinerary h3 {
margin-bottom: 1.2rem;
}
#itinerary p {
margin-bottom: 1.2rem;
}
.ps-itin-meta {
font-family: var(--ps-font-mono);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--ps-muted);
display: flex;
flex-wrap: wrap;
gap: 0.4rem 1.25rem;
}
.ps-itin-meta i {
color: var(--ps-clay-400);
}
.ps-ie-list {
list-style: none;
padding: 0;
margin: 0;
}
.ps-ie-list li {
display: flex;
gap: 0.6rem;
align-items: flex-start;
margin-bottom: 0.6rem;
color: var(--ps-body);
font-size: 0.95rem;
}
.ps-ie-list.inc li i {
color: #0a7c43;
margin-top: 0.15rem;
flex-shrink: 0;
}
.ps-ie-list.exc li i {
color: var(--ps-faint);
margin-top: 0.15rem;
flex-shrink: 0;
}
.ps-route {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem 0.3rem;
}
.ps-route-step {
font-family: var(--ps-font-body);
font-weight: 600;
color: var(--ps-text-dark);
background: var(--ps-surface-2);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-pill);
padding: 0.45rem 1rem;
}
.ps-route i {
color: var(--ps-clay-400);
}
.ps-gallery-img {
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
border-radius: var(--ps-radius-md);
background: var(--ps-surface-2);
display: block;
}
.ps-book-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-lg);
box-shadow: 0 20px 50px rgba(26, 26, 26, 0.08);
padding: 1.6rem;
position: sticky;
top: 140px;
}
.ps-book-from {
font-family: var(--ps-font-mono);
font-size: 0.68rem;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--ps-muted);
}
.ps-book-price {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: 2rem;
color: var(--ps-text-dark);
line-height: 1;
}
.ps-book-price span {
font-family: var(--ps-font-body);
font-weight: 400;
font-size: 0.85rem;
color: var(--ps-muted);
}
.ps-book-row {
display: flex;
align-items: center;
gap: 0.65rem;
color: var(--ps-body);
font-size: 0.92rem;
}
.ps-book-row i {
color: var(--ps-clay-500);
font-size: 1.05rem;
}
.ps-book-btn {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.4rem;
background: var(--ps-clay-500);
color: #fff;
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.85rem;
font-weight: 700;
font-family: var(--ps-font-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-book-btn:hover {
background: var(--ps-clay-600);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(158, 73, 44, 0.3);
}
.ps-book-wa {
width: 100%;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
background: transparent;
color: var(--ps-text-dark);
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-pill);
padding: 0.8rem;
font-weight: 600;
font-family: var(--ps-font-body);
text-decoration: none;
transition: var(--ps-transition);
}
.ps-book-wa i {
color: #25d366;
font-size: 1.15rem;
}
.ps-book-wa:hover {
border-color: #25d366;
}
@media (max-width: 991.98px) {
.ps-book-card {
position: static;
}
}
.ps-rt-card {
background: var(--ps-surface);
border: 1px solid var(--ps-line);
border-radius: var(--ps-radius-md);
overflow: hidden;
height: 100%;
display: flex;
flex-direction: column;
transition: var(--ps-transition);
}
.ps-rt-card:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(26, 26, 26, 0.12);
}
.ps-rt-imgwrap {
position: relative;
}
.ps-rt-img {
width: 100%;
aspect-ratio: 16 / 10;
object-fit: cover;
background: var(--ps-surface-2);
display: block;
}
.ps-rt-badge {
position: absolute;
top: 0.8rem;
left: 0.8rem;
background: rgba(20, 16, 11, 0.82);
color: #fff;
font-family: var(--ps-font-mono);
font-size: 0.66rem;
text-transform: uppercase;
letter-spacing: 0.05em;
padding: 0.3rem 0.7rem;
border-radius: var(--ps-radius-pill);
}
.ps-rt-body {
padding: 1.1rem 1.25rem 1.3rem;
display: flex;
flex-direction: column;
flex-grow: 1;
}
.ps-rt-body h3 {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 1.1rem;
color: var(--ps-text-dark);
margin-bottom: 0.35rem;
}
.ps-rt-body p {
color: var(--ps-body);
font-size: 0.9rem;
line-height: 1.5;
margin: 0 0 1rem;
flex-grow: 1;
}
.ps-rt-link {
font-family: var(--ps-font-body);
font-weight: 600;
color: var(--ps-clay-600);
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.3rem;
transition: var(--ps-transition);
}
.ps-rt-link:hover {
gap: 0.6rem;
} .ps-subnav {
position: sticky;
top: 64px;
z-index: 20;
background: var(--ps-surface);
border-bottom: 1px solid var(--ps-line);
box-shadow: 0 4px 16px rgba(26, 26, 26, 0.04);
}
.ps-subnav-inner {
display: flex;
gap: 0.25rem;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.ps-subnav-inner::-webkit-scrollbar {
display: none;
}
.ps-subnav a {
white-space: nowrap;
font-family: var(--ps-font-body);
font-weight: 600;
font-size: 0.9rem;
color: var(--ps-muted);
text-decoration: none;
padding: 1rem 0.9rem;
border-bottom: 2px solid transparent;
transition: var(--ps-transition);
}
.ps-subnav a:hover {
color: var(--ps-text-dark);
}
.ps-subnav a.active {
color: var(--ps-clay-700);
border-bottom-color: var(--ps-clay-500);
}
.ps-anchor {
scroll-margin-top: 130px;
}
.ps-meal-chip {
display: inline-flex;
align-items: center;
justify-content: center;
width: 1.35rem;
height: 1.35rem;
border-radius: 50%;
background: var(--ps-clay-50);
color: var(--ps-clay-700);
font-family: var(--ps-font-mono);
font-size: 0.62rem;
font-weight: 700;
margin-left: 0.25rem;
}
.ps-meal-none {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
color: var(--ps-faint);
}
.ps-meal-legend {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
color: var(--ps-muted);
}
.ps-map {
width: 100%;
max-width: 340px;
margin: 0 auto;
}
.ps-map svg {
width: 100%;
height: auto;
display: block;
}
.ps-routenum {
list-style: none;
padding: 0;
margin: 0;
}
.ps-routenum li {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.4rem 0;
color: var(--ps-text-dark);
font-weight: 600;
}
.ps-routenum li .n {
width: 1.7rem;
height: 1.7rem;
border-radius: 50%;
background: var(--ps-clay-500);
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: var(--ps-font-display);
font-weight: 700;
font-size: 0.82rem;
flex-shrink: 0;
}
.ps-maplegend {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
color: var(--ps-muted);
}
.ps-reassure {
list-style: none;
padding: 0;
margin: 1.1rem 0 0;
}
.ps-reassure li {
display: flex;
gap: 0.5rem;
align-items: flex-start;
font-size: 0.86rem;
color: var(--ps-body);
margin-bottom: 0.45rem;
}
.ps-reassure li i {
color: #0a7c43;
margin-top: 0.1rem;
flex-shrink: 0;
}
.ps-mobile-book {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 40;
background: var(--ps-surface);
border-top: 1px solid var(--ps-line);
box-shadow: 0 -6px 20px rgba(26, 26, 26, 0.1);
padding: 0.7rem 1rem;
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
}
.ps-mobile-book .pr {
font-family: var(--ps-font-display);
font-weight: 800;
color: var(--ps-text-dark);
line-height: 1.05;
}
.ps-mobile-book .pr small {
font-family: var(--ps-font-body);
font-weight: 400;
font-size: 0.68rem;
color: var(--ps-muted);
display: block;
}
@media (min-width: 992px) {
.ps-mobile-book {
display: none;
}
}
@media (max-width: 991.98px) {
body {
padding-bottom: 4.75rem;
}
}
.ps-mobile-wa {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 1.1rem;
color: #ffffff;
background-color: #25d366;
border: none;
border-radius: var(--ps-radius-pill);
padding: 0.6rem 0.95rem;
display: inline-flex;
align-items: center;
gap: 0.5rem;
text-decoration: none;
flex-shrink: 0;
box-shadow: 0 8px 30px rgba(37, 211, 102, 0.3);
transition: var(--ps-transition);
}
.ps-mobile-wa:hover {
background-color: #1da851;
color: #ffffff;
} .ps-404 {
min-height: 100vh;
display: flex;
flex-direction: column;
padding-top: 9.5rem;
background: var(--ps-paper);
overflow: hidden;
}
.ps-404-inner {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 2.5rem 1rem;
}
.ps-404-num {
font-family: var(--ps-font-display);
font-weight: 800;
font-size: clamp(4.5rem, 16vw, 9.5rem);
line-height: 1;
color: var(--ps-clay-500);
display: inline-flex;
align-items: center;
gap: 0.06em;
letter-spacing: -0.03em;
margin-bottom: 0.5rem;
}
.ps-404-sun {
width: 0.66em;
height: 0.66em;
border-radius: 50%;
display: inline-block;
background: radial-gradient(circle at 38% 34%, #ffe071, var(--ps-gold) 68%);
box-shadow:
0 0 0 0.05em rgba(246, 198, 18, 0.25),
0 12px 34px rgba(246, 198, 18, 0.38);
}
.ps-404-title {
font-family: var(--ps-font-display);
font-weight: 700;
font-size: clamp(1.9rem, 4.5vw, 3rem);
color: var(--ps-text-dark);
letter-spacing: -0.01em;
margin-bottom: 0.9rem;
}
.ps-404-lead {
font-size: 1.12rem;
line-height: 1.7;
color: var(--ps-muted);
max-width: 54ch;
margin: 0 auto 2rem;
}
.ps-404-actions {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 3rem;
}
.ps-404-btn-ghost {
font-family: var(--ps-font-body);
font-weight: 700;
font-size: 1.05rem;
color: var(--ps-text-dark);
background: transparent;
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-pill);
padding: 0.9rem 1.8rem;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 0.4rem;
transition: var(--ps-transition);
}
.ps-404-btn-ghost:hover {
border-color: var(--ps-clay-400);
color: var(--ps-clay-700);
}
.ps-404-links-label {
font-family: var(--ps-font-mono);
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--ps-faint);
display: block;
margin-bottom: 1rem;
}
.ps-404-links-grid {
display: flex;
flex-wrap: wrap;
gap: 0.6rem;
justify-content: center;
}
.ps-404-links-grid a {
display: inline-flex;
align-items: center;
gap: 0.45rem;
padding: 0.5rem 1.05rem;
border: 1px solid var(--ps-line-strong);
border-radius: var(--ps-radius-pill);
background: var(--ps-surface);
color: var(--ps-text-dark);
text-decoration: none;
font-weight: 600;
font-size: 0.92rem;
transition: var(--ps-transition);
}
.ps-404-links-grid a i {
color: var(--ps-clay-600);
}
.ps-404-links-grid a:hover {
border-color: var(--ps-clay-400);
color: var(--ps-clay-700);
transform: translateY(-1px);
}
.ps-404-dunes {
margin-top: auto;
line-height: 0;
}
.ps-404-dunes svg {
width: 100%;
height: auto;
display: block;
}
#hero-form .wpcf7 form.sent .wpcf7-response-output {
color: #fff!important;
}