/* Base Shared Variables */
:root {
    --mhr-heading-primary: 'Cinzel', serif;
    --mhr-body-font: 'Open Sans', sans-serif;
    --mhr-text-light: rgba(255, 255, 255, 0.9);
    --mhr-text-muted: rgba(255, 255, 255, 0.65);
    --mhr-border-color: rgba(255, 255, 255, 0.4);
}

body {
    font-family: var(--mhr-body-font);
}
/* ==========================================
   HEADER & NAVBAR ARCHITECTURE
=========================================== */
.mhr-site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.mhr-navbar {
    background-color: transparent !important;
    padding-top: 0px;
    padding-bottom: 0px;
}

.mhr-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.mhr-brand img {
   width: 100px;
   height: auto;
   aspect-ratio: 366 / 396;
   object-fit: contain;
}
.mhr-absolute-header.is-sticky .mhr-brand img {
    width: 40px;
    height: auto;
}
.mhr-brand-text {
    display: flex;
    flex-direction: column;
}

.mhr-main-title {
    font-size: 1.15rem;
    font-weight: 500;
    line-height: 1.2;
}

.mhr-sub-title {
    color: var(--mhr-text-muted);
    font-size: 0.6rem;
    font-weight: 400;
}

.mhr-nav-links .nav-item {
    margin: 0 4px;
}

.mhr-nav-links .nav-link {
    color: #fff !important;
    font-size: 0.95rem;
    font-weight: 600;
    
    padding: 8px 12px !important;
    transition: color 0.3s ease;
}

.mhr-nav-links .nav-link:hover,
.mhr-nav-links .nav-link.active {
    color: #222 !important;
}

/* Dropdown Menu Style Engine */
.mhr-dropdown-menu {
    background-color: rgba(255, 255, 255, 0.9) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 0;
    margin-top: 10px !important;
}

.mhr-dropdown-menu .dropdown-item {
    color: #222;
    font-size: 0.9rem;
    padding: 8px 20px;
}

.mhr-dropdown-menu .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #000000;
}
.is-sticky .mhr-btn-book{
      color: #222!important;
    border: 1px solid #222 !important;
}
.is-sticky .mhr-nav-links .nav-link {
    color: #222 !important;
}
.mhr-absolute-header.position-relative .mhr-btn-book{
      color: #222!important;
    border: 1px solid #222 !important;
}
.mhr-absolute-header.position-relative .mhr-nav-links .nav-link {
    color: #222 !important;
}
.mhr-btn-book {
    color: #ffffff!important;
    border: 1px solid #ffffff !important;
    border-radius: 0 !important;
    font-size: 1rem;
    font-weight: 500;
    padding: 10px 24px !important;
    transition: all 0.3s ease-in-out;
    background: transparent;
}

.mhr-btn-book:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: #fff !important;
}

.mhr-toggler {
    border: 1px solid var(--mhr-border-color) !important;
    padding: 6px 10px;
}

.mhr-toggler:focus {
    box-shadow: none !important;
}

.mhr-toggler-icon {
    filter: invert(1);
}

/* ==========================================
   OFFCANVAS OVERRIDES (MOBILE SIDEBAR)
=========================================== */
@media (max-width: 991.98px) {
    .mhr-offcanvas {
        background-color: rgba(255, 255, 255, 0.95) !important;
        backdrop-filter: blur(15px);
        width: 280px !important;
    }

    .mhr-nav-links {
        width: 100%;
        padding-top: 20px;
    }

    .mhr-nav-links .nav-item {
        margin: 10px 0;
        width: 100%;
        text-align: left;
    }

    .section-title{
      font-size: 2rem !important;
    }
    .mhr-nav-links .nav-link {
        font-size: 0.85rem;
        padding: 10px 0 !important;
    }

    .mhr-dropdown-menu {
        background-color: transparent !important;
        border: none;
        padding-left: 15px;
        margin-top: 0 !important;
    }

    .mhr-cta-wrapper {
        width: 100%;
        justify-content: flex-start;
    }
    .mhr-btn-book {
        width: 100%;
        text-align: center;
    }
    .mhr-absolute-header{
      backdrop-filter: none !important;
      mask-image: none !important;
    }
    .element.topl:before {
    background-image: url(../images/element-1.png);
    background-size: cover;
    top: 0;
    content: "";
    height: 80px !important;
    left:auto !important;
    right: 0px!important;
    position: absolute;
    width: 100px !important;
}
.element.topr:before {
    background-image: url(../images/element-2.png);
    background-size: cover;
    top: 0;
    content: "";
    height: 120px !important;
    left:auto !important;
    right: 0px!important;
    position: absolute;
    width: 140px !important;
}
}
/* 1. Initial State: Absolute at the top of the page */
.mhr-absolute-header {
        position: absolute;
    top: 0;
    /* backdrop-filter: blur(5px); */
    left: 0;
    width: 100%;
    z-index: 1020;
    background-color: transparent; /* Sitting transparently over your hero image */
    transition: all 0.3s ease-in-out;
}

/* 2. Sticky State: Automatically gets applied by JavaScript on scroll */
/* position needs !important to beat Bootstrap's .position-relative utility on subpages */
.mhr-absolute-header.is-sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    mask-image: none;
    background-color: #ffffff; /* Turns solid white (change to match your theme) */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Adds a premium subtle drop shadow */
    animation: slideDown 0.4s ease-out; /* Smooth pop-in effect */
}

@keyframes slideDown {
    from { transform: translateY(-100%); }
    to { transform: translateY(0); }
}
/* ==========================================
   DESKTOP HOVER DROPDOWN ENGINE 
=========================================== */
@media (min-width: 992px) {
    /* Triggers dropdown reveal on parent item hover */
    .mhr-nav-links .nav-item.dropdown:hover .mhr-dropdown-menu {
        display: block;
        margin-top: 0 !important; /* Smooth placement transition */
        opacity: 1;
        visibility: visible;
        animation: mhrFadeInUp 0.25s ease forwards;
    }

    /* Optional micro-interaction: Subtle premium fade-up animation */
    @keyframes mhrFadeInUp {
        from {
            opacity: 0;
            transform: translateY(8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

/* ==========================================
   MOBILE BEHAVIOR PRESERVATION
=========================================== */
@media (max-width: 991.98px) {
    /* Keeps standard touch-to-open mechanics on mobile/tablets */
    .mhr-dropdown-menu {
        display: none;
    }
    .mhr-dropdown-menu.show {
        display: block;
    }
}



/* ==========================================
   BANNER VIDEO ENGINE & ACTIONS
=========================================== */
.mhr-hero-banner {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: 1;
}

.mhr-bg-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -2;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

.mhr-video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 40%); */
    z-index: -1;
}

.mhr-floating-actions {
    position: absolute;
    right: 20px;
    bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    z-index: 10;
}

.mhr-action-circle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 0.75rem;
    transition: all 0.3s ease;
}

.mhr-action-circle:hover {
    background-color: rgba(255, 255, 255, 0.2);
    color: #fff;
    transform: translateY(-2px);
}

.mhr-action-circle.mhr-whatsapp {
    background-color: #25D366;
    border: none;
}

.mhr-action-circle.mhr-whatsapp:hover {
    background-color: #20ba5a;
}


/* ==========================================
   PURE EDITORIAL NO-BOX ARCHITECTURE
=========================================== */
.mhr-modern-experience-light {
    position: relative;
    background-color: #fcfbfa; /* Pure gallery architectural warm light gray */
    color: #111213;
    overflow: hidden;
    padding: 70px 0 120px;
}

/* Luxury Monolithic Background Watermark Graphic */
.mhr-bg-canvas-text-light {
    position: absolute;
    bottom: -30%;
    right: -5%;
    transform: translateY(-50%);
    font-size: 15vw;
    font-weight: 600;
    color: rgba(17, 18, 19, 0.025);
    line-height: 1;
    pointer-events: none;
    user-select: none;
    z-index: 0;
}

/* Positioning for the Line-Art Cable car */
.mhr-cablecar-trace {
    position: absolute;
    top: 60px;
    left: 60px;
    z-index: 1;
    opacity: 0.85;
}

/* Asymmetric Interactive Media Canvas Layout */
.mhr-media-composition-light {
    position: relative;
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    z-index: 2;
}

.mhr-window-main-light {
    position: relative;
    width: 100%;
    aspect-ratio: 4/5;
    overflow: hidden;
    background-color: #e5e4e0;
    z-index: 2;
    clip-path: inset(0% 0% 0% 0% round 4px);
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.04);
}

.mhr-fluid-image-light {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Abstract Offset Geometric Framing accent */
.mhr-window-accent-light {
    position: absolute;
    top: -25px;
    left: -25px;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(197, 168, 128, 0.4); /* Elegant gold trace tone */
    pointer-events: none;
    z-index: 1;
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Infinite Rotating Text Ribbon Stamp */
.mhr-circular-badge-stamp-light {
    position: absolute;
    right: -45px;
    bottom: -45px;
    z-index: 3;
    pointer-events: none;
    animation: mhrModernRotation 28s linear infinite;
}

@keyframes mhrModernRotation {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Modern Light Typography Elements */
.mhr-narrative-wrapper-light {
    position: relative;
    z-index: 3;
}

.mhr-line-bracket-light {
    width: 35px;
    height: 2px;
    background-color: #c5a880;
    margin-bottom: 25px;
}

.mhr-meta-tag-light {
    display: block;
    font-size: 0.7rem;
    color: #c5a880;
    font-weight: 500;
    margin-bottom: 20px;
}

.mhr-modern-title-light {
    font-family: 'Cinzel', serif;
    font-size: 2.5rem;
    font-weight: 600;
    line-height: 1.05;
    margin-bottom: 45px;
}

/* Modern Text Outline Style Rule */
.mhr-text-outline-light {
    color: transparent;
    -webkit-text-stroke: 1px #111213;
    font-weight: 400;
}

/* Interactive Text Paragraph Styles */
.mhr-interactive-paragraphs-light .mhr-para-item-light {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
    color: #111213;
    margin-bottom: 30px;
    border-left: 2px solid #c5a880;
    padding-left: 20px;
    transition: all 0.4s ease;
}

/* Clean UI Phone Action Link Interface */
.mhr-action-footer-light {
    margin-top: 50px;
}

.mhr-btn-minimal-action-light {
    display: inline-flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    position: relative;
    padding-bottom: 15px;
}

.mhr-action-lbl-light {
    font-size: 0.7em;
        color: rgb(197 168 128);
    margin-bottom: 6px;
}

.mhr-action-num-light {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
}

.mhr-sliding-line-light {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 45px;
    height: 1px;
    background-color: rgba(197, 168, 128, 0.4);
    transition: width 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Dynamic Hover Shifting Animations */
.mhr-narrative-wrapper-light:hover ~ .col-lg-6 .mhr-window-accent-light {
    transform: translate(12px, 12px);
    border-color: #111213;
}

.mhr-media-composition-light:hover .mhr-fluid-image-light {
    transform: scale(1.04);
}

.mhr-btn-minimal-action-light:hover .mhr-sliding-line-light {
    width: 100%;
    background-color: #c5a880;
}

/* ==========================================
   ADVANCED RESPONSIVE SYSTEM
=========================================== */
@media (max-width: 1400px) {
    .mhr-modern-title-light { font-size: 3.6rem; }
}

@media (max-width: 1199.98px) {
    .mhr-modern-title-light { font-size: 3rem; }
    .mhr-action-num-light { font-size: 1.4rem; }
}

@media (max-width: 991.98px) {
    .mhr-modern-experience-light { padding: 40px 0; }
    .mhr-modern-title-light { font-size: 2.6rem; margin-bottom: 30px; }
    .mhr-media-composition-light { margin-top: 40px; max-width: 100%; }
    .mhr-window-accent-light { display: none; } 
    .mhr-circular-badge-stamp-light { right: -15px; bottom: -15px; transform: scale(0.85); }
}

@media (max-width: 575.98px) {
    .mhr-modern-title-light { font-size: 2.1rem; }
    .mhr-interactive-paragraphs-light .mhr-para-item-light { font-size: 0.92rem; line-height: 1.7; }
    .mhr-action-num-light { font-size: 1.25rem; }
    .mhr-circular-badge-stamp-light { display: none; } /* Hides stamp on mobile to optimize viewspace */
}

/* Update your editorial-tabs container with drag-specific properties */
.editorial-tabs {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    margin: 60px 0 50px 0;
    padding: 0 0 10px 0;
    
    overflow-x: auto; 
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch; 

    /* NEW: Drag indicators & Selection safety */
    cursor: grab;
    user-select: none; /* Prevents text highlighting while dragging */
}

/* Cursor when active holding/dragging */
.editorial-tabs.grabbing {
    cursor: grabbing;
}

/* Hide scrollbars completely for visual polish */
.editorial-tabs::-webkit-scrollbar {
    display: none;
}
.editorial-tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* ==========================================
  Things to do
=========================================== */

.mhr-minimal-showcase {
    background-color: #faf9f6; /* Premium warm gallery white */
    padding: 70px 0;
}

/* Minimal Header Styles */
.mhr-clean-header {
    margin-bottom: 60px;
}

.mhr-clean-tag {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    color: #c5a880; /* Elegant champagne gold accent */
    margin-bottom: 8px;
}

.mhr-clean-title {
    font-size: 2.2rem;
    font-weight: 400;
    color: #111111;
}

/* Perfectly Balanced Flex Strip Container */
.mhr-flex-strip-container {
    display: flex;
    width: 100%;
    height: 600px;
    overflow: hidden;
}

/* Base Strip Item Alignment */
.mhr-strip-item {
    position: relative;
    flex: 1; /* Gives all 5 columns exact equal widths initially */
    height: 100%;
    display: flex;
    align-items: flex-end;
    padding: 40px 30px;
    overflow: hidden;
    transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* High-Performance Hardware Accelerated Background Engine */
.mhr-strip-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 0;
}

/* Gradient Mask for Micro-Contrast Legibility */
.mhr-strip-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0) 100%);
    z-index: 1;
    opacity: 0.85;
    transition: opacity 0.4s ease;
}

/* Content Layout Blocks */
.mhr-strip-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.mhr-strip-num {
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
    color: #c5a880;
    margin-bottom: 10px;
}

.mhr-strip-title {
    font-size: 1.4rem;
    font-weight: 400;
    color: #ffffff;
    margin-bottom: 15px;
    white-space: nowrap; /* Keeps single-line structure clean */
}

.mhr-strip-link {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    color: #ffffff;
    text-decoration: none;
    opacity: 0;
    transform: translateY(10px);
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

.mhr-strip-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ffffff;
}

/* ==========================================
   DESKTOP INTERACTIVE HOVER BEHAVIORS
=========================================== */
@media (min-width: 992px) {
    /* Smooth column widening interaction */
    .mhr-strip-item:hover {
        flex: 1.6;
    }
    
    .mhr-strip-item:hover .mhr-strip-bg {
        transform: scale(1.05);
    }

    .mhr-strip-item:hover .mhr-strip-overlay {
        opacity: 0.95;
    }

    /* Reveals Link cleanly only during active column hover */
    .mhr-strip-item:hover .mhr-strip-link {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0.1s;
    }
}

/* ==========================================
   FLUID RESPONSIVE MOBILE STACK ENGINE
=========================================== */
@media (max-width: 991.98px) {
    .mhr-minimal-showcase { padding-top: 60px; }
    .mhr-clean-title { font-size: 1.8rem; }
    
    /* Converts to a perfectly aligned vertical container block on tablets/mobile */
    .mhr-flex-strip-container {
        flex-direction: column;
        height: auto;
    }
    
    .mhr-strip-item {
        width: 100%;
        height: 240px; /* Uniform clean block heights */
        padding: 30px 20px;
    }
    
    .mhr-strip-link {
        opacity: 1;
        transform: translateY(0);
    }
    
    .mhr-strip-title {
        font-size: 1.25rem;
    }
}


/* ═══════════════════════════════════════════
   Rates — title + toggle
   ═══════════════════════════════════════════ */
.vdo-rates {
  background: #fff;
  color: #1a1a1a;
  padding: 70px 0;
}

.vdo-rates__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-bottom: 1.75rem;
}

.vdo-rates__head {
  flex: 1;
  min-width: 0;
}

.vdo-rates__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.45rem 1rem 0.45rem 0.75rem;
  margin-bottom: 1.5rem;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #666;
  border: 1px solid #e8e8e8;
  border-radius: 999px;
  background: #fafafa;
}

.vdo-rates__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vdo-pill-primary);
  box-shadow: 0 0 0 3px rgba(237, 28, 36, 0.15);
}

.vdo-rates__title {
  margin: 0 0 1rem;
  font-size: clamp(2.75rem, 5vw, 3.75rem);
  font-weight: 600;
  line-height: 0.95;
}

.vdo-rates__title-top {
  display: block;
  color: #1a1a1a;
}

.vdo-rates__title-accent {
  display: inline-block;
  margin-top: 0.1em;
  padding: 0.08em 0.28em 0.12em;
  color: var(--vdo-pill-primary);
  border-radius: 0.15em;
}

.vdo-rates__lead {
  margin: 0;
  max-width: 36ch;
  font-size: 0.92rem;
  line-height: 1.65;
  color: #888;
}

.vdo-rates__toggle-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.vdo-rates__toggle-label {
  display: block;
  width: 100%;
  margin-bottom: 0.65rem;
  font-size: 0.62rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #aaa;
  text-align: right;
}

.vdo-rates__toggle {
  position: relative;
  display: flex;
  width: min(280px, 38vw);
  padding: 0.3rem;
  background: #ebebeb;
  border-radius: 999px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
}

.vdo-rates__toggle-btn {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.65rem 0.75rem;
  border: none;
  background: transparent;
  color: #777;
  font-family: inherit;
  cursor: pointer;
  border-radius: 999px;
  transition: color 0.35s ease;
}

.vdo-rates__toggle-text {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}

.vdo-rates__toggle-btn.is-active {
  color: #fff;
}

.vdo-rates__toggle-glider {
  position: absolute;
  top: 0.3rem;
  left: 0.3rem;
  width: calc(50% - 0.3rem);
  height: calc(100% - 0.6rem);
  background: var(--vdo-pill-primary);
  border-radius: 999px;
  transition: transform 0.45s var(--vdo-ease);
  box-shadow:
    0 2px 8px rgba(237, 28, 36, 0.35),
    0 0 0 1px rgba(237, 28, 36, 0.1);
}

.vdo-rates__toggle.is-twoway .vdo-rates__toggle-glider {
  transform: translateX(100%);
}

.vdo-rates__cta {
  width: auto;
  margin: 1.35rem auto 0.1rem;
  align-self: center;
  flex-shrink: 0;
}

.vdo-rates__stub-col .vdo-rates__cta .vdo-btn__cap {
  overflow: hidden;
}

.vdo-rates__stub-col .vdo-rates__cta .vdo-btn__img {
  width: 1.65rem;
  height: 1.65rem;
  object-fit: contain;
}

.vdo-rates__stub-col .vdo-btn--pill {
  display: inline-flex;
  width: auto;
}

.vdo-rates__board {
  min-width: 0;
  min-height: 1px;
}

@media (max-width: 991px) {
  .vdo-rates__top {
    flex-direction: column;
    align-items: stretch;
  }

  .vdo-rates__toggle-wrap {
    align-items: stretch;
  }

  .vdo-rates__toggle-label {
    text-align: left;
  }

  .vdo-rates__toggle {
    width: 100%;
  }

  .vdo-rates__lead {
    max-width: none;
  }
}

.vdo-rates__line-row {
  --vdo-rates-sticky-top: clamp(1.25rem, 3vw, 2.5rem);
  margin-top: 0.5rem;
  align-items: stretch;
}

.vdo-rates__stub-col {
  display: flex;
  flex-direction: column;
}


/* ---------- CABLE LINE ---------- */
.line-section{
  position:relative;
  width:100%;
  margin:0;
}

.line-section.is-visible .station {
  opacity: 1;
  transform: translateY(0);
}

.line-section .station {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.65s var(--vdo-ease),
    transform 0.65s var(--vdo-ease);
}

.line-section.is-visible .station:nth-child(2) { transition-delay: 0.05s; }
.line-section.is-visible .station:nth-child(3) { transition-delay: 0.12s; }
.line-section.is-visible .station:nth-child(4) { transition-delay: 0.19s; }
.line-section.is-visible .station:nth-child(5) { transition-delay: 0.26s; }
.line-section.is-visible .station:nth-child(6) { transition-delay: 0.33s; }
.line-section.is-visible .station:nth-child(7) { transition-delay: 0.4s; }
.line-section.is-visible .station:nth-child(8) { transition-delay: 0.47s; }
.line-section.is-visible .station:nth-child(9) { transition-delay: 0.54s; }
#cableSvg{
  position:absolute;
  left:0; top:0;
  width:100%; height:100%;
  z-index:1;
  overflow:visible;
  pointer-events:none;
}
.rope-strand{
  fill:none;
  stroke:#E4002B;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.rope-strand.back{
  stroke-width:3.5;
  stroke-dasharray:1 13;
  opacity:0.3;
  stroke:#0A0A0A;
}
.rope-strand.front{
  stroke-width:3;
  stroke-dasharray:1 13;
  stroke-dashoffset:7;
  opacity:0.9;
}
.cabin-rider {
  pointer-events: none;
}

.cabin-rider image {
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.18));
}

.node.is-active {
  border-color: #E4002B;
  box-shadow: 0 0 0 5px rgba(228, 0, 43, 0.18);
  transform: translate(-50%, -50%) scale(1.15);
}

@media (min-width: 720px) {
  .station.left .node.is-active {
    transform: translate(50%, -50%) scale(1.15);
  }

  .station.right .node.is-active {
    transform: translate(-50%, -50%) scale(1.15);
  }
}

.station{
  position:relative;
  padding-left:76px;
  margin-bottom:34px;
}
@media (min-width:720px){
  .station{
    width:50%;
    padding-left:0;
    margin-bottom:46px;
  }
  .station.left{ padding-right:56px;}
  .station.right{ margin-left:50%; padding-left:56px; }
}

.node{
  position:absolute;
  left:32px; top:8px;
  transform:translate(-50%,-50%);
  width:16px; height:16px;
  border-radius:50%;
  background:#FFFFFF;
  border:3px solid #E4002B;
  z-index:4;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
@media (min-width:720px){
  .station.left .node{ left:auto; right:-8px; top:8px; transform:translate(50%,-50%); }
  .station.right .node{ left:-8px; top:8px; transform:translate(-50%,-50%); }
}

.card{
  background:linear-gradient(165deg, #FFFFFF, #F4F3F0);
  border:1px solid rgba(10,10,10,0.14);
  border-radius:14px;
  padding:22px 22px 18px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  box-shadow:0 1px 3px rgba(10,10,10,0.04);
}
.card:hover{
  transform:translateY(-3px);
  border-color:#E4002B;
  box-shadow:0 16px 30px -18px rgba(10,10,10,0.35);
}
.card.cargo{
  border-style:dashed;
  border-color:rgba(10,10,10,0.3);
}
.card.cargo:hover{ border-color:#E4002B; }
.card-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:14px;
}
.letter{
  font-weight:700;
  font-size:15px;
  color:#FFFFFF;
  background:#E4002B;
  width:26px; height:26px;
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.card-title{
  font-weight:700;
  font-size:22px;
  text-transform:uppercase;
  color:#0A0A0A;
}
.card-sub{
  font-size:12px;
  color:rgba(10,10,10,0.45);
  margin:0 0 14px;
}

.fare-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 0;
  border-top:1px solid rgba(10,10,10,0.12);
}
.fare-row:first-of-type{ border-top:none; }
.nat{
  font-size:13.5px;
  color:rgba(10,10,10,0.7);
}
.price{
  font-size:14.5px;
  font-weight:600;
  color:#000;
  white-space:nowrap;
  display:grid;
}
.price .p{
  grid-area:1/1;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .25s ease, transform .25s ease;
}
.price .p.show{ opacity:1; transform:translateY(0); }

.cargo-price{
  font-size:26px;
  font-weight:600;
  color:#0A0A0A;
  margin-top:2px;
}
.cargo-price span{ font-size:13px; color:rgba(10,10,10,0.45); font-weight:500; }
.cargo-note{ font-size:12px; color:rgba(10,10,10,0.45); margin-top:8px; }

/* ---------- FOOTER STUB ---------- */
.stub {
  position: sticky;
  top: var(--vdo-rates-sticky-top, 1.5rem);
  width: 100%;
  margin: 0;
  padding: 0;
}

.stub-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

.stub-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  background: #fff;
  border: 1px solid #ebebeb;
  border-radius: 0.85rem;
  padding: 1.5rem 1.35rem 1.5rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
}

.stub-card::before,
.stub-card::after {
  display: none;
}

.stub-title {
  margin: 0 0 1rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.4;
  color: var(--vdo-pill-primary);
}

.stub ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.85rem;
}

.stub li {
  font-size: 0.82rem;
  line-height: 1.6;
  color: #666;
  padding-left: 1rem;
  position: relative;
}

.stub li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  background: var(--vdo-pill-primary);
  border-radius: 1px;
  transform: rotate(45deg);
}

@media (max-width: 991.98px) {
  .stub {
    position: static;
    margin-top: 0.5rem;
  }

  .stub-inner {
    gap: 1.25rem;
  }
}
.image-bg-absolute {
  opacity: 0.5;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}
/* Outer pinning container for GSAP ScrollTrigger */
.scroll-pin-container {
  position: relative;
  overflow: hidden;
}

#cable-car-section {
  background-image: radial-gradient(#e2e8f0 1.2px, transparent 1.2px);
  background-size: 24px 24px;
  width: 100%;
  height: 100vh; /* Viewport height for desktop horizontal mode */
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.text-rose { color: #f43f5e; }
.bg-rose-light { background-color: #fff1f2; }
.fw-extrabold { font-weight: 600; }

.pulse-dot {
  width: 8px;
  height: 8px;
  background-color: #f43f5e;
  border-radius: 50%;
  display: inline-block;
  animation: pulse-glow 1.5s infinite ease-in-out;
}
@keyframes pulse-glow {
  0%, 100% { opacity: 0.4; transform: scale(0.9); }
  50% { opacity: 1; transform: scale(1.1); }
}

.segmented-toggle-container {
  background: rgba(241, 245, 249, 0.8);
  backdrop-filter: blur(8px);
  padding: 4px;
  display: flex;
  gap: 4px;
  border: 1px solid rgba(226, 232, 240, 0.8);
  z-index: 40;
}
.btn-toggle-active {
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  border: none;
  font-size: 11px;
  padding: 6px 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.btn-toggle-inactive {
  background: transparent !important;
  color: #64748b !important;
  font-weight: 600 !important;
  border: none;
  font-size: 11px;
  padding: 6px 16px;
}

.horizontal-slider-wrapper {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 30px;
}

.track-container {
  position: relative;
  height: 40px;
  width: 100%;
  margin-bottom: 25px;
}

.cable-car-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

#cable-car {
  position: absolute; 
  width: 32px; 
  height: 32px; 
  top: 18px; 
  left: 0px; 
  z-index: 30; 
  pointer-events: none; 
  will-change: transform;
}

.track-node {
  position: absolute;
  width: 14px;
  height: 14px;
  background-color: #ffffff;
  border: 2px solid #cbd5e1;
  border-radius: 50%;
  top: 20px;
  transform: translate(-7px, -7px);
  z-index: 15;
  transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.track-node.active {
  border-color: #f43f5e;
  background-color: #f43f5e;
  box-shadow: 0 0 0 5px rgba(244, 63, 94, 0.25);
}

.parallel-row-container {
  display: flex;
  gap: 32px;
  width: max-content;
  padding: 10px 0;
  z-index: 20;
  will-change: transform;
}

.rate-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  padding: 24px 18px;
  /* box-shadow: 0 4px 20px -2px rgba(50, 50, 93, 0.04), 0 2px 8px -1px rgba(0, 0, 0, 0.02); */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 280px;
  width: 400px; 
  transition: opacity 0.3s, transform 0.3s, border-color 0.3s;
  opacity: 0.8;
  transform: scale(0.92);
}
.rate-card.active-node {
  border-color: #cfd5de;
  opacity: 1;
  transform: scale(1);
}

.badge-icon {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
}

.rate-card h3{
  font-size:16px;
}

.rate-card p {
  font-size: 12px;
  color: #64748b;
  margin-top: 6px;
}

.price-rows {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-grow: 1;
  margin-top: 12px;
}
.price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0;
  border-bottom: 1px solid #f8fafc;
  font-size: 15px;
}
.price-row:last-child { border-bottom: none; }

.price-val { transition: opacity 0.2s, transform 0.2s; }
.price-val.changing { opacity: 0; transform: translateY(-2px); }

/* Tablet: shrink rate cards before full mobile stack */
@media (max-width: 991.98px) and (min-width: 768px) {
  #cable-car-section {
    height: auto;
    min-height: 100vh;
    padding: 48px 0;
  }

  .rate-card {
    width: min(340px, 70vw);
    height: auto;
    min-height: 240px;
  }
}

/* --- RESPONSIVE MOBILE OVERRIDES (< 768px) --- */
@media (max-width: 767.98px) {
  #cable-car-section {
    height: auto !important; /* Force unlock the fixed viewport size constraint */
    padding-top: 40px;
    padding-bottom: 50px;
    overflow: visible !important;
  }

  .horizontal-slider-wrapper {
    display: flex;
    gap: 16px;
    padding-left: 15px !important;
    padding-right: 15px !important;
    overflow: visible !important;
  }

  /* Flip horizontal line architecture into a flexible column layout path on the left */
  .track-container {
    width: 32px !important;
    height: auto !important;
    margin-bottom: 0;
    flex-shrink: 0;
    position: relative;
  }

  .cable-car-svg {
    height: 100% !important;
    width: 32px !important;
  }

  .track-node {
    left: 16px !important; /* Center directly under the new vertical wire layout alignment */
    top: 0 !important;
    transform: translate(-7px, -7px) !important;
  }
  
  .track-node.active {
    transform: translate(-7px, -7px) scale(1.15) !important;
  }

  #cable-car {
    left: 0px !important; /* Align exactly to the 32px tracking block */
  }

  /* Structural Flex Re-alignment to stack cards clean on the right side of the timeline line */
  .parallel-row-container {
    flex-direction: column !important;
    width: 100% !important;
    max-width: calc(100% - 32px) !important;
    gap: 24px !important; 
    transform: none !important; 
    padding: 0 !important;
  }

  .rate-card {
    width: 100% !important;
    height: auto !important; /* Let content breathe if needed */
    min-height: 260px;
    transform: scale(0.96) !important;
    opacity: 0.55 !important;
    margin: 0 !important;
  }

  .rate-card.active-node {
    opacity: 1 !important;
    transform: scale(1) !important;
  }
}

    .guidelines-box {
      background-color: #ffffff;
      border-left: 4px solid #f43f5e;
      border-top: 1px solid #e2e8f0;
      border-right: 1px solid #e2e8f0;
      border-bottom: 1px solid #e2e8f0;
      padding: 20px 24px;
      margin-top: 30px;
      position: relative;
    }
    .guideline-item {
      font-size: 12px;
      color: #64748b;
      margin-bottom: 6px;
      position: relative;
      padding-left: 18px;
    }
    .guideline-item::before {
      content: "•";
      color: #f43f5e;
      font-weight: bold;
      font-size: 16px;
      position: absolute;
      left: 0;
      top: -2px;
    }
    .guideline-item strong { color: #334155; }
    .guideline-item:last-child { margin-bottom: 0; }

   :root {
  --color-dark: #1a1e21;
  --color-muted: #e9ecef;
  --color-accent: #c5a880; 
}

.minimal-slider-section {
  padding: 0;
  width: 100%;
}

.slider-viewport {
  position: relative;
  width: 100%;
  height: 100vh;
  background: #000000;
  overflow: hidden;
}

/* Background Slider Engine Container */
.slides-bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.slide-bg-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide-bg-item.active {
  opacity: 1;
}

/* Fixed Static Overlay Layer */
.slide-content-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(141deg,rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.69) 100%);
  pointer-events: none;
}

.content-cell {
  margin-right: 4rem;
  pointer-events: auto; /* Restores link/button interactions */
  background-color: #fcfbfa;
}

.slide-content-pane {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-align: left;
  padding: 30px;
}

/* Pure Static Elements (No Animations) */
.resort-meta {
  font-size: 0.85rem;
  text-transform: uppercase;
  color: #8a6540;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.resort-title {
  font-family:'Cinzel' , serif;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.2;
  color: #222;
  margin-bottom: 1.2rem;
}

.resort-description {
  color:#000;
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 2rem;
  /* max-width: 440px; */
}

.resort-action-btn {
  align-self: flex-start;
  font-size: 0.85rem;
  font-weight: 500;
  color: #000000;
  text-decoration: underline;
  text-transform: uppercase;
  background: transparent;
  transition: all 0.3s ease;
}

.resort-action-btn:hover {
  background: #ffffff;
  color: var(--color-dark);
}

/* Controls Layer Placement */
.slider-controls {
  position: absolute;
  bottom: 2.5rem;
  left: 4rem;
  display: flex;
  gap: 0.75rem;
  z-index: 10;
}

.control-btn {
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.25);
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.control-btn:hover {
  border-color: #ffffff;
  background-color: #ffffff;
}

.control-btn:hover svg {
  stroke: var(--color-dark);
}

.control-btn svg {
  stroke: #ffffff;
  transition: stroke 0.3s ease;
}

/* Responsive Scaling Layout breakpoints */
@media (max-width: 991.98px) {
  .content-cell { margin-right: 2rem; margin-bottom: 6rem; }
  .resort-title { font-size: 1.8rem; }
  .slider-controls { bottom: 2rem; left: 2rem; }
}

@media (max-width: 767.98px) {
  .content-cell {
        margin-right: 0;
        margin-bottom: 0;
        width: 70%;
        padding: 0;
    }
    .resort-meta {
    font-size: 0.6rem;
    }
    .resort-action-btn {
    align-self: flex-start;
    font-size: 0.6rem;
    margin-bottom: 10px;
    }

    .resort-description {
    color: #222;
    font-size: 0.7rem;
    }
    .resort-title {
        font-size: 0.8rem;
    }
  .slide-content-pane { align-items: center; text-align: center; padding:10px}
  .resort-action-btn { align-self: center; }
  .slider-controls { left: 14%; transform: translateX(-50%); bottom: 2rem; }
}
    .curated-slider-section {
      background-color: #fcfbfa; /* Immersive light neutral gray base from your reference */
      padding: 120px 0;
      position: relative;
      overflow: hidden;
    }

    /* Elegant Technical Layout Elements */
    .structural-axis {
      width: 1px;
      height: 60px;
      background-color: #111111;
      margin: 0 auto 20px auto;
      opacity: 0.8;
    }

    .section-meta-tag {
      font-size: 0.7rem;
      text-transform: uppercase;
      color: #666666;
      display: block;
      margin-bottom: 10px;
    }

    .main-section-title {
      font-family: 'Cinzel', serif;
      font-size: 2.5rem;
            font-weight: 600;
      color: #222;
    }

    /* Creative Tab Controls */
    .editorial-tabs {
      display: flex;
      justify-content: flex-start;
      gap: 0;
      border-bottom: 1px solid rgba(0, 0, 0, 0.15);
      margin: 60px 0 50px 0;
      padding: 0;
      overflow-x: auto;
      white-space: nowrap;
    }
    .editorial-tabs::-webkit-scrollbar {
      display: none;
    }

    .tab-item-btn {
      background: transparent;
      border: none;
      padding: 18px 32px;
      font-size: 0.85rem;
      font-weight: 500;
      text-transform: uppercase;
      color: #666666;
      cursor: pointer;
      position: relative;
      transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    }

    /* The Creative Interaction Shift */
    .tab-item-btn.active {
      color: #ffffff;
      background-color: #111111;
      transform: translateY(-2px);
    }
    
    .tab-item-btn::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #111111;
      transform: scaleX(0);
      transform-origin: right;
      transition: transform 0.4s ease;
    }

    .tab-item-btn.active::after {
      transform: scaleX(0);
    }

    .tab-item-btn:not(.active):hover::after {
      transform: scaleX(1);
      transform-origin: left;
    }

    /* Slider Display Frame Panels */
    .editorial-panel {
      display: none;
      opacity: 0;
      transform: translateY(15px);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .editorial-panel.active {
      display: flex;
      opacity: 1;
      transform: translateY(0);
    }

    /* Typographic Content Side Layout */
    .display-metrics {
      display: flex;
      align-items: center;
      gap: 15px;
      margin-bottom: 15px;
    }

    .metric-line {
      width: 30px;
      height: 1px;
      background-color: #111111;
    }

    .metric-text {
      font-size: 0.8rem;
      text-transform: uppercase;
      color: #333333;
      font-weight: 600;
    }

    .resort-display-title {
      font-family: 'Cinzel', serif;
      font-size: 2rem;
      font-weight: 500;
      line-height: 1.15;
      color: #111111;
      margin-bottom: 6px;
    }

    .resort-display-sub {
      font-size: 1rem;
      font-weight: 300;
      color: #555555;
      margin-bottom: 25px;
      display: block;
    }

    .clean-break-rule {
      border: none;
      border-top: 1px solid rgba(0, 0, 0, 0.15);
      margin-bottom: 30px;
    }

    .resort-display-desc {
      font-size: 1.05rem;
      font-weight: 300;
      line-height: 1.8;
      color: #333333;
      margin-bottom: 35px;
      max-width: 500px;
    }

    /* Creative Line-Interaction Button */
    .creative-action-link {
      font-size: 0.8rem;
      font-weight: 600;
      text-transform: uppercase;
      color: #111111;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      position: relative;
      padding-bottom: 6px;
    }

    .creative-action-link::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: #111111;
      transform: scaleX(0.3);
      transform-origin: left;
      transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .creative-action-link:hover::before {
      transform: scaleX(1);
    }

    /* Premium Gallery Display Frame (Right Side) */
    .gallery-frame-box {
      background: #ffffff;
      padding: 16px;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.07);
      position: relative;
      transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    }

    .gallery-frame-box:hover {
      transform: scale(1.01) rotate(0.5deg);
    }

    .canvas-aspect-ratio {
      width: 100%;
      aspect-ratio: 16 / 11;
      overflow: hidden;
      position: relative;
      background-color: #fcfcfc;
    }

    .canvas-aspect-ratio img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: grayscale(15%);
      transition: filter 0.5s ease, transform 0.8s ease;
    }

    .gallery-frame-box:hover .canvas-aspect-ratio img {
      filter: grayscale(0%);
      transform: scale(1.03);
    }

    /* Background Structural Watermark Accent */
    .bg-watermark-stamp {
      position: absolute;
      bottom: -30px;
      right: -20px;
      font-family: 'Cinzel', serif;
      font-size: 10rem;
      color: rgba(0,0,0,0.02);
      pointer-events: none;
      user-select: none;
      font-weight: 600;
    }

    /* Responsive Adapters */
    @media (max-width: 991.98px) {
      .curated-slider-section {
        padding: 80px 0;
      }
      .main-section-title {
        font-size: 1.8rem;
      }
      .resort-display-title {
        font-size: 1.4rem;
      }
      .gallery-frame-box {
        margin-top: 50px;
      }
    }

.vdo-buy{
  position:relative;
}
.element{
  position:relative;
}
    .element.topl:before {
    background-image: url(../images/element-1.png);
    background-size: cover;
    top: 0;
    content: "";
    height: 200px;
    left: 0;
    position: absolute;
    width: 235px;
}
.element.topr:before {
    background-image: url(../images/element-2.png);
    background-size: cover;
    top: 0;
    content: "";
    height: 200px;
    right: 0;
    position: absolute;
    width: 235px;
}
.element.topb:before {
    background-image: url(../images/element-3.png);
    background-size: cover;
    bottom: 0;
    content: "";
    height: 200px;
    right: 0;
    position: absolute;
    width: 235px;
}
    /* Badge Label */
.ticket-desk-section .badge-ticket {
  border: 1px solid #eaeaea;
  background-color: #ffffff;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 600;
  color: #71717a;
}

.ticket-desk-section .badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #a1a1aa;
}

/* Typography elements */
.ticket-desk-section .italic-highlight {
  font-style: italic;
  font-weight: 300;
}

/* Clean Cards styling */
.ticket-desk-section .custom-card {
  background-color: #fafafa;
  border: 1px solid #eaeaea;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ticket-desk-section .card-num {
  font-size: 11px;
  font-weight: 500;
  color: #71717a;
}

.ticket-desk-section .card-tag {
  font-size: 10px;
  font-weight: 600;
  color: #71717a;
}

/* Operational Hours Display */
.ticket-desk-section .time-num {
  font-size: 3.5rem;
  font-weight: 400;
  color: #2a2a2a;
  line-height: 1;
}

.ticket-desk-section .time-period {
  font-size: 0.9rem;
  color: #71717a;
  font-weight: 500;
}

/* Custom Interactive Cable Car Timeline */
.ticket-desk-section .timeline-slider {
  height: 24px;
}

.ticket-desk-section .timeline-line {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #eaeaea;
  transform: translateY(-50%);
}

.ticket-desk-section .gondola-node {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: #ffffff;
  border: 1.5px solid #eaeaea;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);
  transition: left 0.3s ease-out;
}

/* Midday Break Area */
.ticket-desk-section .break-bar {
  background-color: #f1f1f1;
  font-size: 12px;
  font-weight: 500;
}

.ticket-desk-section .break-title {
  color: #71717a;
}

.ticket-desk-section .break-time {
  color: #2a2a2a;
}

/* Action Button */
.ticket-desk-section .btn-minimal-action {
  background-color: #e2e2e2;
  border: 1px solid transparent;
  color: #2a2a2a;
  font-size: 12px;
  font-weight: 600;
  transition: all 0.2s ease;
}

.ticket-desk-section .btn-minimal-action:hover {
  background-color: #d8d8d8;
  cursor: pointer;
}

.ticket-desk-section .btn-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
}

/* Partners Area */
.ticket-desk-section .partners-panel {
  background-color: #fafafa;
  border: 1px solid #eaeaea;
}

.ticket-desk-section .border-bottom-dashed {
  border-bottom: 1px dashed #eaeaea;
}

.ticket-desk-section .partner-label {
  font-size: 13px;
  color: #71717a;
  font-weight: 500;
}

.ticket-desk-section .partner-text-logo {
  font-size: 14px;
  font-weight: 600;
  color: #8a8a8e;
}

.ticket-desk-section .font-sewa { 
  font-weight: 600; 
  font-size: 15px;
}

.ticket-desk-section .font-khalti { 
  font-weight: 600; 
  text-transform: lowercase;
}

.ticket-desk-section .font-generic { 
  text-transform: uppercase; 
  font-size: 11px; 
  font-weight: 600;
}


/* ═══════════════════════════════════════════
   Where & How to Buy — ticket desk / bento
   ═══════════════════════════════════════════ */
.vdo-buy {
  --vdo-buy-ink: #141414;
  --vdo-buy-muted: #5c5c5c;
  --vdo-buy-line: rgba(20, 20, 20, 0.1);
  --vdo-buy-sand: #f4f1ea;
  --vdo-buy-night: #1c1a18;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--vdo-buy-ink);
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
}

.vdo-buy__aura {
  position: absolute;
  inset: auto -10% -20% auto;
  width: min(42vw, 28rem);
  height: min(42vw, 28rem);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(237, 28, 36, 0.12), transparent 68%);
  filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}

.vdo-buy__shell {
  position: relative;
  z-index: 1;
}

.vdo-buy__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 2.5rem;
  align-items: end;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.vdo-buy__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.45rem 1rem 0.45rem 0.75rem;
  margin-bottom: 1.25rem;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #555;
  border: 1px solid #e5e5e5;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
}

.vdo-buy__badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--vdo-pill-primary);
  flex-shrink: 0;
}

.vdo-buy__title {
  margin: 0 0 0.85rem;
  font-size: clamp(2.4rem, 5.5vw, 4.25rem);
  font-weight: 600;
  line-height: 0.98;
  color: var(--vdo-buy-ink);
}



.vdo-buy__title em {
  font-style: italic;
  font-weight: 500;
  color: var(--vdo-pill-primary);
}

.vdo-buy__lede {
  margin: 0;
  max-width: 28rem;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  line-height: 1.6;
  color: var(--vdo-buy-muted);
}

.vdo-buy__head-stamp {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border: 1.5px dashed rgba(237, 28, 36, 0.45);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.65);
  transform: rotate(4deg);
}

.vdo-buy__stamp-ring {
  display: grid;
  place-items: center;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  border: 2px solid var(--vdo-pill-primary);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--vdo-pill-primary);
}

.vdo-buy__stamp-meta {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1.35;
  color: #777;
}

.vdo-buy__bento {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-areas: "hours ops";
  gap: 1rem;
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.vdo-buy__tile {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  padding: clamp(1.35rem, 2.5vw, 1.85rem);
  display: flex;
  flex-direction: column;
}

.vdo-buy__tile--hours {
  grid-area: hours;
  background:
    #fafafa;
  color: #222;
     border: 1px solid #eaeaea;
}

.vdo-buy__tile--ops {
  grid-area: ops;
  background:
    linear-gradient(160deg, #fff 0%, var(--vdo-buy-sand) 100%);
  border: 1px solid rgba(20, 20, 20, 0.08);
  box-shadow: 0 16px 40px rgba(20, 20, 20, 0.06);
}

.vdo-buy__tile--ops .vdo-btn {
  align-self: flex-start;
  width: auto;
}

.vdo-buy__tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1.35rem;
}

.vdo-buy__index {
  font-size: 0.72rem;
  font-weight: 600;
  color: #555;
}

.vdo-buy__tile--ops .vdo-buy__index {
  color: #555;
}


.vdo-buy__tag {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #8a6540;
}

.vdo-buy__timeboard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(4.5rem, 1.35fr) minmax(0, 1fr);
  align-items: center;
  align-content: center;
  gap: 0.5rem 0.75rem;
  flex: 1;
  margin-bottom: 0.75rem;
}

.vdo-buy__clock {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.1rem;
}

.vdo-buy__clock--close {
  justify-content: flex-end;
  text-align: right;
}

.vdo-buy__clock--close .vdo-buy__clock-ampm {
  text-align: right;
}

.vdo-buy__clock-num {
  font-size: clamp(3rem, 6.5vw, 4rem);
  font-weight: 600;
  line-height: 0.9;
  font-variant-numeric: tabular-nums;
}

.vdo-buy__clock-sep {
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 500;
  opacity: 0.55;
  animation: vdoBuyBlink 1.4s steps(1) infinite;
}

.vdo-buy__clock-ampm {
  width: 100%;
  margin-top: 0.5rem;
  font-size: clamp(1.15rem, 2.2vw, 1.6rem);
  font-weight: 600;
  color: rgba(0, 0, 0, 0.6);
}

.vdo-buy__rope {
  position: relative;
  width: 100%;
  min-width: 0;
  height: 2.75rem;
  align-self: center;
  pointer-events: none;
}

.vdo-buy__rope-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 18%;
  transform: translateY(-50%);
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 0, 0, 0.35) 8%,
    rgba(0, 0, 0, 0.75) 22%,
    rgba(0, 0, 0, 0.75) 78%,
    rgba(0, 0, 0, 0.35) 92%,
    transparent 100%
  );
}

.vdo-buy__rope-cabin {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.75rem;
  height: auto;
  transform: translate(-50%, -58%);
  filter: brightness(1) invert(0);
  opacity: 0.95;
  z-index: 2;
  animation: vdoBuyCabinTravel 14s ease-in-out infinite;
}

@keyframes vdoBuyCabinTravel {
  0% {
    left: 0%;
    transform: translate(-50%, -58%);
  }

  50% {
    left: 100%;
    transform: translate(-50%, -58%);
  }

  100% {
    left: 0%;
    transform: translate(-50%, -58%);
  }
}

@keyframes vdoBuyBlink {
  50% { opacity: 0.15; }
}

.vdo-buy__break {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1rem;
  background: rgb(241 241 241);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.vdo-buy__break-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
}

.vdo-buy__break-time {
  font-size: 0.95rem;
  font-weight: 600;
  color: #000000;
}

.vdo-buy__ops-title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 600;
  line-height: 1.15;
}

.vdo-buy__ops-text {
  margin: 0 0 1.5rem;
  max-width: 22rem;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--vdo-buy-muted);
  flex: 1;
}

/* Route map — contacts */
.vdo-buy__route {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-bottom: 1rem;
  padding: clamp(2rem, 4vw, 3rem) 0 clamp(1rem, 2vw, 1.5rem);
}

.vdo-buy__route-svg {
  position: absolute;
  left: 8%;
  right: 8%;
  top: 2.75rem;
  width: 84%;
  height: 5rem;
  pointer-events: none;
  z-index: 0;
}

.vdo-buy__route-path {
  fill: none;
  stroke: var(--vdo-pill-primary);
  stroke-width: 2;
  stroke-dasharray: 8 10;
  opacity: 0.35;
}

.vdo-buy__route-cabin {
  position: absolute;
  left: 50%;
  top: 2.1rem;
  width: 1.75rem;
  height: auto;
  transform: translateX(-50%);
  z-index: 1;
  filter: drop-shadow(0 4px 12px rgba(237, 28, 36, 0.35));
  animation: vdoBuyRouteCabin 5s var(--vdo-ease) infinite alternate;
}

@keyframes vdoBuyRouteCabin {
  from { transform: translateX(calc(-50% - 4rem)) translateY(0.35rem); }
  to { transform: translateX(calc(-50% + 4rem)) translateY(-0.35rem); }
}

.vdo-buy__stop {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.vdo-buy__stop--ktm {
  align-items: flex-end;
  text-align: right;
}

.vdo-buy__pin {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.vdo-buy__stop--ktm .vdo-buy__pin {
  flex-direction: row-reverse;
}

.vdo-buy__pin-dot {
  width: 0.85rem;
  height: 0.85rem;
  border-radius: 50%;
  background: var(--vdo-pill-primary);
  box-shadow: 0 0 0 6px rgba(237, 28, 36, 0.15);
}

.vdo-buy__pin-label {
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--vdo-pill-primary);
}

.vdo-buy__stop-card {
  padding: 1.35rem 1.4rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(20, 20, 20, 0.08);
  box-shadow: 0 12px 36px rgba(20, 20, 20, 0.06);
  transition: transform 0.35s var(--vdo-ease), box-shadow 0.35s var(--vdo-ease);
}

.vdo-buy__stop-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(20, 20, 20, 0.1);
}

.vdo-buy__stop--kurintar .vdo-buy__stop-card {
  border-top: 3px solid var(--vdo-pill-primary);
}

.vdo-buy__stop--ktm .vdo-buy__stop-card {
  border-top: 3px solid #1a1a1a;
}

.vdo-buy__stop-type {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #999;
}

.vdo-buy__stop-name {
  margin: 0 0 0.35rem;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--vdo-buy-ink);
}

.vdo-buy__stop-addr {
  margin: 0 0 0.85rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--vdo-buy-muted);
}

.vdo-buy__stop-phones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.vdo-buy__stop--ktm .vdo-buy__stop-phones {
  justify-content: flex-end;
}

.vdo-buy__stop-phones a {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--vdo-buy-ink);
  text-decoration: none;
  border-bottom: 1.5px solid rgba(237, 28, 36, 0.35);
  padding-bottom: 0.1rem;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.vdo-buy__stop-phones a:hover {
  color: var(--vdo-pill-primary);
  border-color: var(--vdo-pill-primary);
}

/* Checkout — payments */
.vdo-buy__checkout {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  margin-top: clamp(0.5rem, 2vw, 1rem);
  padding: clamp(1.75rem, 3.5vw, 2.25rem) clamp(1.25rem, 3vw, 2rem);
  background: linear-gradient(160deg, #fff 0%, var(--vdo-buy-sand) 100%);
    border: 1px solid rgba(20, 20, 20, 0.08);
    box-shadow: 0 16px 40px rgba(20, 20, 20, 0.06);
}

.vdo-buy__checkout-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 2.5rem;
}

.vdo-buy__checkout-label {
  flex: 0 0 auto;
  min-width: 11.5rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: #2a2a2a;
}

.vdo-buy__checkout-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem 2.25rem;
  flex: 1;
}

.vdo-buy__checkout-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  line-height: 0;
  transition: opacity 0.2s ease;
}

a.vdo-buy__checkout-logo:hover {
  opacity: 0.7;
}

.vdo-buy__checkout-logo img {
  display: block;
  height: 2.65rem;
  width: auto;
  max-width: 10rem;
  object-fit: contain;
}

@media (max-width: 991.98px) {
  .vdo-buy__head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .vdo-buy__bento {
    grid-template-columns: 1fr;
    grid-template-areas:
      "hours"
      "ops";
  }

  .vdo-buy__route {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-top: 1rem;
  }

  .vdo-buy__route-svg,
  .vdo-buy__route-cabin {
    display: none;
  }

  .vdo-buy__stop--ktm {
    align-items: flex-start;
    text-align: left;
  }

  .vdo-buy__stop--ktm .vdo-buy__pin {
    flex-direction: row;
  }

  .vdo-buy__stop--ktm .vdo-buy__stop-phones {
    justify-content: flex-start;
  }
}

@media (max-width: 575.98px) {
  .vdo-buy__timeboard {
    gap: 0.4rem;
  }

  .vdo-buy__clock-num {
    font-size:1.9rem;
  }

  .vdo-buy__checkout {
    padding: 1.35rem 1rem;
    gap: 1.15rem;
  }

  .vdo-buy__checkout-row {
    gap: 0.75rem 1rem;
  }

  .vdo-buy__checkout-label {
    min-width: 0;
    width: 100%;
  }

  .vdo-buy__checkout-logos {
    gap: 1.1rem 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vdo-buy__clock-sep,
  .vdo-buy__rope-cabin,
  .vdo-buy__route-cabin {
    animation: none;
  }

  .vdo-buy__rope-cabin {
    left: 50%;
    transform: translate(-50%, -58%);
  }
}

/* --- MODERN MINIMAL TESTIMONIAL SYSTEM --- */
.modern-minimal-testimonials {
  background-color: #ffffff;
  color: #111111;
  position: relative;
}

/* Dynamic Ambient Glow Element */
.modern-minimal-testimonials .ambient-glow-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0.75;
  mix-blend-mode: multiply;
  background: radial-gradient(
    600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), 
    rgba(240, 240, 245, 0.85), 
    transparent 80%
  );
}

.modern-minimal-testimonials .z-1 {
  z-index: 1;
}

.modern-minimal-testimonials .eyebrow-text {
  font-size: 11px;
  font-weight: 600;
  color: #8e8e93;
  display: block;
}

.modern-minimal-testimonials .slider-counter {
  font-size: 1.5rem;
  font-weight: 400;
  color: #c7c7cc;
}

.modern-minimal-testimonials .slider-counter .active-num {
  color: #111111;
  font-weight: 600;
}

.modern-minimal-testimonials .fluid-quote {
  font-size: 1.5rem;
  font-weight: 350;
  line-height: 1.35;
  color: #1c1c1e;
  border: none;
  padding: 0;
  margin: 0;
}

.modern-minimal-testimonials .author-details {
  border-left: 2px solid #e5e5ea;
  padding-left: 20px;
}

.modern-minimal-testimonials .author-name {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 2px;
  color: #111111;
}

.modern-minimal-testimonials .author-sub {
  font-size: 0.85rem;
  color: #8e8e93;
  margin-bottom: 0;
}

/* Progress track line */
.modern-minimal-testimonials .minimal-progress-bar {
  width: 100%;
  height: 2px;
  background-color: #f2f2f7;
  position: relative;
  overflow: hidden;
}

.modern-minimal-testimonials .progress-fill-line {
  height: 100%;
  background-color: #111111;
  position: absolute;
  left: 0;
  top: 0;
  transition: width 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Minimal navigation controls */
.modern-minimal-testimonials .nav-arrow-buttons {
  display: inline-flex;
  gap: 16px;
}

.modern-minimal-testimonials .nav-arrow-link {
  background: none;
  border: none;
  padding: 4px;
  color: #8e8e93;
  cursor: pointer;
  transition: color 0.25s ease, transform 0.2s ease;
}

.modern-minimal-testimonials .nav-arrow-link:hover {
  color: #111111;
  transform: translateX(2px);
}

.modern-minimal-testimonials .nav-arrow-link:first-child:hover {
  transform: translateX(-2px);
}

/* Structural CSS slide animations */
.modern-minimal-testimonials .testimonial-slide-content {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.modern-minimal-testimonials .testimonial-slide-content.active {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 991px) {
  .modern-minimal-testimonials .fluid-quote {
    font-size: 1.85rem;
  }
}


/* ═══════════════════════════════════════════
   Blog slider
   ═══════════════════════════════════════════ */
.vdo-blog {
  position: relative;
  background: #fff;
  color: #1a1a1a;
  padding: clamp(4rem, 8vw, 6.5rem) 0;
  overflow: hidden;
}

.vdo-blog__head {
  max-width: 40rem;
  margin: 0 auto clamp(2.5rem, 5vw, 3.5rem);
  text-align: center;
}

.vdo-blog__head .vdo-nearby__badge {
  display: flex;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.vdo-blog__title {
  margin: 0 0 0.85rem;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 600;
  line-height: 1.15;
  color: #1a1a1a;
}

.vdo-blog__lede {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
  color: #666;
}

.vdo-blog .container {
  overflow: hidden;
}

.vdo-blog-swiper {
  overflow: hidden;
  padding-bottom: 0.25rem;
}

.vdo-blog-swiper .swiper-wrapper {
  align-items: stretch;
}

.vdo-blog-swiper .swiper-slide {
  height: auto;
  display: flex;
  transition: transform 0.55s ease;
}

.vdo-blog-swiper .swiper-slide > .vdo-blog__card {
  width: 100%;
  height: 100%;
}

.vdo-blog__card {
  --vdo-blog-card-h: 30rem;
  position: relative;
  display: flex;
  flex-direction: column;
  height: var(--vdo-blog-card-h);
  min-height: var(--vdo-blog-card-h);
  max-height: var(--vdo-blog-card-h);
  background: #f4f4f4;
  overflow: hidden;
  transition: background 0.45s ease, box-shadow 0.45s ease;
}

.vdo-blog__media {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  height: 0;
  overflow: hidden;
  transition: border-radius 0.45s ease;
}

.vdo-blog__media > a {
  display: block;
  width: 100%;
  height: 100%;
}

.vdo-blog__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.vdo-blog__cat {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: #c4a484;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 600;
  text-transform: capitalize;
}

.vdo-blog__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 0 0 auto;
  min-height: 9.5rem;
  padding: 1.15rem 1.15rem 1.35rem;
  transition: color 0.45s ease, padding 0.45s ease, min-height 0.45s ease;
}

.vdo-blog__meta {
  margin: 0;
  font-size: 0.82rem;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.vdo-blog__author {
  color: #c4a484;
  font-weight: 600;
}

.vdo-blog__card-title {
  margin: 0;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 600;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.vdo-blog__card-title a {
  color: inherit;
  text-decoration: none;
}

.vdo-blog__card-title a:hover {
  color: var(--vdo-pill-primary);
}

.vdo-blog__excerpt {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.55;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: opacity 0.35s ease, max-height 0.45s ease, margin 0.45s ease;
  max-height: 3.2em;
}

/* Active (center) slide — overlay layout */
.vdo-blog-swiper .swiper-slide-active .vdo-blog__card {
  background: #1a1a1a;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__media {
  position: absolute;
  inset: 0;
  height: 100%;
  flex: none;
  z-index: 0;
  min-height: 0;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.82) 0%,
    rgba(0, 0, 0, 0.42) 40%,
    rgba(0, 0, 0, 0.1) 68%,
    transparent 100%
  );
  pointer-events: none;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__media img {
  transform: scale(1.04);
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__body {
  position: relative;
  z-index: 1;
  margin-top: auto;
  min-height: 0;
  padding: 1.35rem 1.35rem 1.5rem;
  color: #fff;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__meta {
  color: rgba(255, 255, 255, 0.85);
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__author {
  color: #e2b996;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__card-title,
.vdo-blog-swiper .swiper-slide-active .vdo-blog__card-title a {
  color: #fff;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__card-title a:hover {
  color: #fff;
  opacity: 0.9;
}

.vdo-blog-swiper .swiper-slide-active .vdo-blog__excerpt {
  opacity: 0;
  max-height: 0;
  margin: 0;
  pointer-events: none;
  overflow: hidden;
}

.vdo-blog__card.inner:hover{
  background: #1a1a1a;
}
.vdo-blog__card.inner:hover .vdo-blog__media {
    position: absolute;
    inset: 0;
    height: 100%;
    flex: none;
    z-index: 0;
    min-height: 0;
}

.vdo-blog__card.inner:hover  .vdo-blog__media img {
    transform: scale(1.04);
}

.vdo-blog__card.inner:hover  .vdo-blog__media::after
 {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.42) 40%, rgba(0, 0, 0, 0.1) 68%, transparent 100%);
    pointer-events: none;
}
.vdo-blog__card.inner:hover  .vdo-blog__meta {
    color: rgba(255, 255, 255, 0.85);
}
.vdo-blog__card.inner:hover  .vdo-blog__card-title, .vdo-blog__card.inner:hover  .vdo-blog__card-title a {
    color: #fff;
}
.vdo-blog__card.inner:hover  .vdo-blog__excerpt {
    opacity: 0;
    max-height: 0;
    margin: 0;
    pointer-events: none;
    overflow: hidden;
}
.vdo-blog__card.inner:hover .vdo-blog__body {
    position: relative;
    z-index: 1;
    margin-top: auto;
    min-height: 0;
    padding: 1.35rem 1.35rem 1.5rem;
    color: #fff;
}

.vdo-blog__nav {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

.vdo-blog__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  background: transparent;
  color: #444;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.vdo-blog__arrow:hover {
  border-color: #999;
  color: #1a1a1a;
  background: rgba(0, 0, 0, 0.03);
}

.vdo-blog__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 991.98px) {
  .vdo-blog__card {
    --vdo-blog-card-h: 28rem;
  }
}

@media (max-width: 767.98px) {
  .vdo-blog__card {
    --vdo-blog-card-h: 24rem;
  }

  .vdo-blog {
    padding: clamp(2.5rem, 8vw, 4rem) 0;
  }
}

@media (max-width: 575.98px) {
  .vdo-blog__card {
    --vdo-blog-card-h: 22rem;
  }
}

.vdo-footer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:#2b3033;
  color: #fff;
  padding-top: clamp(3.5rem, 7vw, 5rem);
}



.vdo-footer__main {
  position: relative;
  z-index: 2;
  padding-bottom: clamp(2rem, 4vw, 3rem);
}

.vdo-footer__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(2rem, 4vw, 3rem);
}

.vdo-footer__brand {
  flex: 0 1 auto;
  max-width: min(100%, 38rem);
}

.vdo-footer__nav {
  flex: 0 0 auto;
  width: min(100%, 19rem);
  /* margin-left: auto; */
}

.vdo-footer__logo {
  display: inline-block;
  margin-bottom: 1rem;
}

.vdo-footer__logo img {
  display: block;
  height: clamp(2rem, 6vw, 4.65rem);
  width: auto;
}

.vdo-footer__tagline {
  max-width: 22rem;
  font-size: 0.92rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.62);
}

.vdo-footer__contacts {
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(0.5rem, 1.2vw, 1rem);
}

.vdo-footer__contact-block {
  flex: 1 1 min(100%, 16rem);
  min-width: 300px;
}

.vdo-footer__contact-title {
  margin: 0 0 0.65rem;
  font-size: 16px;
  font-weight: 700;
  text-transform: capitalize;
  color: var(--vdo-pill-primary);
}

.vdo-footer__contact-text {
  margin: 0 0 0.25rem;
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.vdo-footer__contact-rows {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-top: 1rem;
}

.vdo-footer__contact-row {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 0;
  padding: 0.2rem 0;
  text-decoration: none;
  color: #fff;
  transition: opacity 0.25s ease;
}

.vdo-footer__contact-row:hover {
  opacity: 0.78;
}

.vdo-footer__contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
}

.vdo-footer__contact-icon i {
  display: block;
  font-size: 1em;
  line-height: 1;
  color: #fff;
}

.vdo-footer__contact-value {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  color: #fff;
}

.vdo-footer__nav-label {
  margin: 0 0 0.65rem;
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
  color: var(--vdo-pill-primary);

}

.vdo-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}


.vdo-footer__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0;
  text-decoration: none;
  transition: color 0.25s ease, padding-left 0.3s var(--vdo-ease);
    font-weight: 400;
    font-size: 0.88rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.82);
}


.vdo-footer__links a:hover {
  color: rgba(255, 255, 255, 0.78);
  padding-left: 0.35rem;
}


.vdo-footer__watermark-wrap {
  --wm-x: 50%;
  --wm-y: 50%;
  --wm-size: clamp(7rem, 15vw, 13rem);
  position: relative;
  z-index: 1;
  margin: 0;
  padding: clamp(1rem, 3vw, 2rem) 0 clamp(0.5rem, 2vw, 1rem);
  overflow: hidden;
  cursor: default;
}

.vdo-footer__watermark {
  margin: 0;
  font-size: clamp(5.5rem, 18vw, 13.5rem);
  font-weight: 600;
  line-height: 0.88;
  text-transform: lowercase;
  text-align: center;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
}

.vdo-footer__watermark--base {
  color: rgba(255, 255, 255, 0.06);
}

.vdo-footer__watermark--shine {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: inherit 0;
  background: linear-gradient(
    115deg,
    #ffffff 0%,
    #ffffff 38%,
    var(--vdo-pill-primary) 58%,
    #ffffff 78%,
    #ffffff 100%
  );
  background-size: 220% 100%;
  background-position: var(--wm-x) 50%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-mask-image: radial-gradient(
    circle var(--wm-size) at var(--wm-x) var(--wm-y),
    #000 0%,
    #000 34%,
    transparent 72%
  );
  mask-image: radial-gradient(
    circle var(--wm-size) at var(--wm-x) var(--wm-y),
    #000 0%,
    #000 34%,
    transparent 72%
  );
  opacity: 0;
  transition: opacity 0.35s ease;
}

.vdo-footer__watermark-wrap.is-active .vdo-footer__watermark--shine {
  opacity: 1;
}

.vdo-footer__bar {
  position: relative;
  z-index: 2;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.vdo-footer__bar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1.15rem 0 1.35rem;
}

.vdo-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.75rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.45);
}

.vdo-footer__legal a {
  color: rgb(255, 255, 255);
  text-decoration: none;
  transition: color 0.2s ease;
}

.vdo-footer__legal a:hover {
  color: #fff;
}

.vdo-footer__copy {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
  color: #fff;
  text-align: left;
}

.vdo-footer__copy a{
  color: #fff;
}
@media (max-width: 991.98px) {
  .vdo-footer__grid {
    flex-direction: column;
    gap: 2.5rem;
  }

  .vdo-footer__nav {
    width: 100%;
    margin-left: 0;
  }
}

.mhr-toggler{
border: 1px solid #000 !important;
border-radius:0;
}

.is-sticky .navbar-toggler-icon{
  filter: none;
}

@media (max-width: 575.98px) {
  .vdo-footer__contacts {
    flex-direction: column;
    gap: 1rem;
  }

  /* .vdo-footer__links a {
    font-size: 1.35rem;
    padding: 0.85rem 0;
  } */

  .vdo-footer__bar-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .vdo-footer__copy {
    text-align: left;
  }

}



/* HOME 2 */

.minimal-swiper-section {
            position: relative;
            width: 100%;
            height: 100vh;
            background-color: #080808;
            overflow: hidden;
        }

        .minimal-swiper-section .swiper {
            width: 100%;
            height: 100%;
        }

        .minimal-swiper-section .swiper-slide {
            overflow: hidden;
            position: relative;
            background-color: #080808;
        }
/* The Gradient Overlay */
.minimal-swiper-section .slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Create the top-to-bottom black-to-transparent gradient */
    background: linear-gradient(
        to bottom,                     /* Gradient direction */
        rgba(255, 255, 255, 0.39) 0%,           /* Start: Solid Black at the top */
        rgba(255, 255, 255, 0.1) 30%,        /* Mid-point: Sem-transparent black */
        rgba(255, 255, 255, 0) 100%          /* End: Fully transparent at the bottom */
    );
    z-index: 1; /* Ensure overlay is above the image but below content (if any) */
}
        /* --- CREATIVE ASYMMETRIC MASK SPLIT ENGINE WITH SCALE INTERPOLATION --- */
        .minimal-swiper-section .swiper-slide-inner {
            width: 100%;
            height: 100%;
            overflow: hidden;
            position: relative;
            
            /* The structural mask entry point bias */
            transform: translateX(12%); 
            transition: transform 1.6s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .minimal-swiper-section .swiper-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            
            /* The deep spatial zoom layer: scale down slowly as it enters */
            transform: scale(1.35) translateX(-6%);
            transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
        }

        /* --- ACTIVE STATE RESOLUTION --- */
        .minimal-swiper-section .swiper-slide-active .swiper-slide-inner {
            transform: translateX(0%);
        }

        .minimal-swiper-section .swiper-slide-active img {
            transform: scale(1) translateX(0%);
        }

        /* --- OUTGOING CELL DISPLACEMENT --- */
        .minimal-swiper-section .swiper-slide-prev .swiper-slide-inner {
            transform: translateX(-12%);
        }

        .minimal-swiper-section .swiper-slide-prev img {
            transform: scale(1.15) translateX(4%);
        }

        /* --- CONTROLS & NAVIGATION ARROWS --- */
        .minimal-swiper-section .nav-btn {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: none;
            border: none;
            cursor: pointer;
            z-index: 20;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0.35;
            transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .minimal-swiper-section .nav-btn:hover {
            opacity: 1;
        }

        .minimal-swiper-section .nav-btn.prev { left: 50px; }
        .minimal-swiper-section .nav-btn.next { right: 50px; }

        .minimal-swiper-section .nav-btn svg {
            width: 32px;
            height: 32px;
            stroke: #ffffff;
            fill: none;
            stroke-width: 1;
            stroke-linecap: round;
            stroke-linejoin: round;
            transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .minimal-swiper-section .nav-btn.prev:hover svg { transform: translateX(-6px) scaleX(1.25); }
        .minimal-swiper-section .nav-btn.next:hover svg { transform: translateX(6px) scaleX(1.25); }

        /* --- RADIAL PAGINATION CONTAINER WIDGET --- */
        .minimal-swiper-section .creative-pagination-widget {
            position: absolute;
            bottom: 50px;
            right: 60px;
            display: flex;
            align-items: center;
            gap: 20px;
            z-index: 30;
            background: rgba(10, 10, 10, 0.45);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);
            padding: 12px 24px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 100px;
        }

        .minimal-swiper-section .index-counter-wrapper {
            font-family: 'Cinzel', serif;
            font-size: 14px;
            font-weight: 400;
            color: rgba(255, 255, 255, 0.4);
            display: flex;
            align-items: center;
        }

        .minimal-swiper-section .index-counter-wrapper .current-num {
            color: #ffffff;
            font-weight: 600;
        }

        .minimal-swiper-section .index-counter-wrapper .divider-line {
            margin: 0 6px;
            opacity: 0.4;
        }

        .minimal-swiper-section .radial-loader-box {
            position: relative;
            width: 36px;
            height: 36px;
        }

        .minimal-swiper-section .radial-loader-box svg {
            transform: rotate(-90deg);
            width: 100%;
            height: 100%;
        }

        .minimal-swiper-section .radial-loader-box circle {
            fill: none;
            stroke-width: 2;
        }

        .minimal-swiper-section .radial-bg-track {
            stroke: rgba(255, 255, 255, 0.12);
        }

        .minimal-swiper-section .radial-progress-bar {
            stroke: #ffffff;
            stroke-dasharray: 100;
            stroke-dashoffset: 100;
            transition: stroke-dashoffset 0s linear;
        }

        /* --- RESPONSIVE MEDIA UTILITIES --- */
        @media (max-width: 992px) {
            .minimal-swiper-section .nav-btn { display: none; }
            .minimal-swiper-section .creative-pagination-widget {
                right: 50%;
                transform: translateX(50%);
                bottom: 30px;
            }
        }
        
        @media (max-width: 768px) {
            .minimal-swiper-section { height: 70vh; }
        }

        .vdo-blog.inner{
          background-color: #fcfbfa;
        }


        /*  */
        .adventure-section {
            padding: 70px 0;
            background-color: #fcfbfa;
        }

        .section-subtitle {
            font-size: 0.75rem;
            text-transform: uppercase;
            color: #777777;
            margin-bottom: 12px;
            display: block;
        }

        .section-title {
            font-family: 'Cinzel', serif;
            font-size: 2.5rem;
            font-weight: 600;
            margin-bottom: 60px;
        }

        /* Compact Block Row Formats */
        .card-row-landscape {
            margin-bottom: 30px;
        }

        .adventure-block {
            text-decoration: none;
            display: block;
            color: #111111;
            width: 100%;
            border-bottom: 2px solid #111111;
            padding-bottom: 20px;
            margin-bottom: 20px;
        }

        /* Geometric Frame - Completely sharp edges */
        .img-frame {
            position: relative;
            width: 100%;
            overflow: hidden;
            background-color: #f7f7f7;
            margin-bottom: 20px;
        }

        /* Landscape heights for the top row */
        .card-row-landscape .img-frame {
            height: 320px;
        }

        /* Portrait heights for the bottom row */
        .card-row-portrait .img-frame {
            height: 380px;
        }

        .img-frame img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
        }

        /* Minimal overlay tint on hover */
        .img-frame::before {
            content: '';
            position: absolute;
            inset: 0;
            background-color: rgba(0, 0, 0, 0.15);
            opacity: 0;
            z-index: 2;
            transition: opacity 0.4s ease;
        }

        /* Micro Interactive Animations */
        .adventure-block:hover .img-frame img {
            transform: scale(1.03);
        }

        .adventure-block:hover .img-frame::before {
            opacity: 1;
        }

        /* Typography & Layout Detail Separators */
        .block-meta {
            display: flex;
            justify-content: space-between;
            align-items: baseline;
            margin-bottom: 6px;
        }

        .block-number {
            font-family: 'Cinzel', serif;
            font-size: 0.85rem;
            color: #777777;
        }

        .block-title {
            font-size: 1.2rem;
            font-weight: 500;
            margin: 0;
        }

        .block-cta {
            font-size: 0.7rem;
            text-transform: uppercase;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            opacity: 0.5;
            transition: opacity 0.3s ease, transform 0.3s ease;
        }

        .adventure-block:hover .block-cta {
            opacity: 1;
        }

        /* Responsive Resets */
        @media(max-width: 991px) {
            .adventure-section .section-title {
                font-size: clamp(1.6rem, 5vw, 2rem) !important;
                margin-bottom: 2rem;
            }

            .card-row-landscape .img-frame,
            .card-row-portrait .img-frame {
                height: clamp(14rem, 42vw, 18.75rem);
            }
            .card-row-landscape {
                margin-bottom: 0;
            }
        }

        @media (max-width: 575.98px) {
            .adventure-section {
                padding: 48px 0;
            }

            .adventure-section .section-title {
                font-size: 1.55rem !important;
                margin-bottom: 1.5rem;
                line-height: 1.25;
            }

            .card-row-landscape .img-frame,
            .card-row-portrait .img-frame {
                height: 13.5rem;
            }

            .block-title {
                font-size: 1.05rem;
            }
        }


        /* Technical Border Layout Frame */
        .terminal-frame {
            border: 2px solid #000000;
            background-color: #ffffff;
            padding: 40px;
        }

        /* Top Technical Meta Bar */
        .system-meta-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            border-bottom: 2px solid #000000;
            padding-bottom: 20px;
            margin-bottom: 40px;
        }

        .meta-title-block h1 {
            font-family: var(--mhr-body-font);
            font-size: 1.5rem;
            font-weight: 600;
            text-transform: uppercase;
            margin: 0;
        }

        .meta-tag {
            font-size: 0.75rem;
            background: #000000;
            color: #ffffff;
            padding: 4px 8px;
            font-weight: 600;
        }

        /* 3-Column Modern Grid Matrix */
        .matrix-grid-layout {
            display: grid;
            grid-template-columns: 1.2fr 1.2fr 1fr;
            gap: 40px;
        }

        .matrix-column {
            display: flex;
            flex-direction: column;
        }

        /* Distinct Section Label blocks */
        .column-node-header {
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            background-color: #eaeaea;
            padding: 8px 12px;
            border-left: 4px solid #000000;
            margin-bottom: 20px;
        }

        /* Technical Data Grid Blocks */
        .data-block-row {
            display: flex;
            flex-direction: column;
            padding: 14px 12px;
            border-bottom: 1px solid #e0e0e0;
            transition: background 0.15s ease;
            cursor: pointer;
        }

        .data-block-row:hover {
            background-color: #000000;
            color: #ffffff !important;
        }

        .data-block-row:hover .row-prices,
        .data-block-row:hover .unit-label {
            color: #ffffff;
        }

        .row-meta-desc {
            font-weight: 600;
            margin-bottom: 6px;
        }

        .row-prices {
            display: flex;
            justify-content: space-between;
            font-size: 0.8rem;
            color: #555555;
        }

        .unit-label {
            font-size: 0.7rem;
            color: #999999;
        }

        /* Rule Card Node Structuring */
        .rule-node-box {
            padding: 0 0 20px 0;
            margin-bottom: 20px;
            border-bottom: 1px dashed #cccccc;
        }

        .rule-node-box:last-child {
            border-bottom: none;
        }

        .rule-id {
            font-weight: 600;
            display: block;
            margin-bottom: 4px;
        }

        .rule-body {
            color: #444444;
            line-height: 1.5;
            font-size: 0.8rem;
        }

        /* Responsive Breakpoints */
        @media (max-width: 1199px) {
            .matrix-grid-layout {
                grid-template-columns: 1fr 1fr;
            }
            .matrix-column.rules-column {
                grid-column: 1 / -1;
                border-top: 2px solid #000000;
                padding-top: 30px;
            }
        }

        @media (max-width: 767px) {
            .matrix-grid-layout {
                grid-template-columns: 1fr;
            }
        }
        
        /* Master Structural Workspace Layout Split */
.master-flex-layout {
    display: flex;
    flex-direction: row;
    gap: 40px;
    align-items: flex-start;
}

/* Fares Engine (Left Column) */
.flex-fare-pane {
    flex: 1;
    display: flex;
    flex-direction: column;
}
/* Container Box Custom Styles */
.terms-conditions-card {
    max-width: 650px;
    margin: 0 auto;
    border-color: #d1d5db;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.terms-card-body {
    padding: 1.5rem;
}

/* Heading Style */
.notes-heading {
    font-size: 1.25rem;
    color: #212529;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #dee2e6;
}

/* List Formatting */
.rules-list {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}

.flex-rule-node {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.flex-rule-node:last-child {
    margin-bottom: 0;
}


.booking-row {
    align-items: center;
    margin-bottom: 2.5rem;
}

.payment-row {
    margin-top: 1rem;
}
.flex-fare-pane .vdo-buy__clock-num{
      font-size: clamp(1.8rem, 4vw, 2.6rem);

}

.flex-fare-pane .vdo-buy__break-label {
  font-size: 1rem;

}

.flex-fare-pane .vdo-buy__tag{
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
  color:var(--color-dark);
}
/* Typography */
.title {
    font-size: 1rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0;
}

.text-block {
    margin-bottom: 1.5rem;
}

/* Alignment Grid Layouts */
.logo-grid-col {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

.vertical-partners {
    align-items: flex-start;
    gap: 1.25rem;
    margin-top: 1rem;
}

.method-grid-top {
    padding-left: 1rem;
}

.method-grid-bottom {
    padding-left: 0.5rem;
}

/* Global Logo Component Constraints */
.partner-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.partner-logo {
    display: block;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

/* Distinct Logo Sizing Contexts */
.logo-esewa {
    height: 36px;
}

.logo-khalti {
    height: 32px;
}

.logo-card {
    height: 40px;
}

.logo-gateway {
    height: 34px;
}

/* Text & Meta Stylings */
.rule-meta-tag {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 0.25rem;
}

.rule-body-text {
    font-size: 0.95rem;
    line-height: 1.5;
    color: #495057;
    margin-bottom: 0;
}

/* Flex Table Header Row */
.matrix-th-row {
    display: flex;
    justify-content: space-between;
    padding: 16px 20px;
    background-color: #111111;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.col-main {
    flex: 2;
    text-align: left;
}

.col-side {
    flex: 1;
    text-align: right;
}

/* Flex Category Section Break Styling */
.flex-category-break {
    background-color: #f4f4f4;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    padding: 12px 20px;
    color: #111111;
    border-bottom: 1px solid #111111;
}

/* Interactive Pricing Flex Row Nodes */
.flex-data-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #eaeaea;
    transition: background-color 0.2s ease;
}

.flex-data-row:hover {
    background-color: #fafafa;
}

/* Regulatory Engine (Right Column Container) */
.flex-rules-pane {
    flex: 1.4;
    display: flex;
    flex-direction: column;
    /* gap: 20px; */
    position: -webkit-sticky;
    position: sticky;
    top: 20px; /* Locked viewport boundary value */
    background: #ffffff;
    border: 1px solid #eaeaea;
    padding: 25px;
}

/* Modern Dynamic Flex Rule Nodes */
.flex-rule-node {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-bottom: 15px;
    border-bottom: 1px dashed #eaeaea;
}

.flex-rule-node:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rule-meta-tag {
    font-size: 0.7rem;
    font-weight: 600;
    color: #111111;
    text-transform: uppercase;
}

.rule-body-text {
    font-size: 0.8rem;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

/* Responsive Structural Breakpoints */
@media (max-width: 991px) {
    .master-flex-layout {
        flex-direction: column;
        gap: 50px;
    }
    .flex-fare-pane, 
    .flex-rules-pane {
        width: 100%;
        flex: none;
    }
    .flex-rules-pane {
        position: relative;
        top: 0;
        border-top: 2px solid #111111;
        padding-top: 25px;
        padding-left: 0;
        padding-right: 0;
        border-left: none;
        border-right: none;
        border-bottom: none;
    }
}

@media (max-width: 768px) {
    .matrix-th-row {
        display: none; /* Collapses standard headers on small viewports */
    }
    .flex-data-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 14px 20px;
    }
    .col-side {
        text-align: left;
        width: 100%;
        display: flex;
        justify-content: space-between;
        font-size: 0.85rem;
    }
    .col-side::before {
        content: attr(data-label);
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #777777;
        font-weight: 600;
    }
}


/* --- WRAPPER FOR NAVIGATION CONTROLS --- */
    .am-slider-outer {
        position: relative;
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 50px; /* Gives padding space for the nav arrows on flanks */
        display: flex;
        align-items: center;
    }

    /* --- PURE SLIDER ENGINE --- */
    .am-swiper-container {
        width: 100%;
        overflow: hidden !important;
        height: 560px;
    }

    .am-swiper-container .swiper-wrapper {
        display: flex;
        align-items: center;
        height: 100%;
    }

    /* --- BASE SLIDE CELL LAYOUT --- */
    .am-swiper-container .swiper-slide {
        position: relative;
        height: 460px; /* Small cards on side */
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        overflow: hidden;
        transition: height 0.4s ease-in-out;
    }

    /* Image Frame */
    .am-card-media {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        transition: height 0.4s ease-in-out;
    }

    .am-card-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    /* Text Layer */
    .am-card-details {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 2;
        padding: 25px 20px;
        color: #ffffff;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.3) 70%, transparent 100%);
        transition: all 0.4s ease-in-out;
    }
.am-card-link {
        font-size: 0.85rem;
        font-weight: 500;
        color: #ffffff;
        text-decoration: underline;
        text-underline-offset: 4px;
        text-transform: uppercase;
        display: inline-block;
        transition: opacity 0.2s ease;
    }
    /* --- SWIPER ACTIVE CENTER CARD TRANSFORMS --- */
    .am-swiper-container .swiper-slide-active {
        height: 560px !important; /* Center active card is bigger */
    }

    .am-swiper-container .swiper-slide-active .am-card-media {
        height: 78%;
    }

    .am-swiper-container .swiper-slide-active .am-card-details {
        position: relative !important;
        height: 22%;
        background: #c5a880 !important; /* Rich solid gold block */
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 10px 20px;
        color: #1a1a1a;
    }

    .am-swiper-container .swiper-slide-active .am-card-title,
    .am-swiper-container .swiper-slide-active .am-card-link {
        color: #1a1a1a;
    }

    /* Typography */
    .am-card-title {
        font-size: 1.25rem;
        font-weight: 600;
        margin-bottom: 4px;
        line-height: 1.3;
    }

    .am-card-text {
        font-size: 0.88rem;
        font-weight: 400;
        margin: 0;
        opacity: 0.95;
    }

    /* --- MINIMALIST NAV CONTROLS --- */
    .am-slider-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: transparent;
        border: none;
        cursor: pointer;
        z-index: 10;
        padding: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.2s ease;
    }

    .am-slider-arrow:hover {
        opacity: 0.5;
    }

    .am-slider-arrow svg {
        width: 16px;
        height: 28px;
        stroke: #c5a880;
        stroke-width: 1.5;
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .am-arrow-left { left: 10px; }
    .am-arrow-right { right: 10px; }

    /* --- RESPONSIVENESS TWEAKS --- */
    @media (max-width: 991px) {
        .am-slider-outer { padding: 0 15px; }
        .am-slider-arrow { display: none; } /* Hide layout arrows on mobile, rely on touch swipe */
        .am-swiper-container { height: 500px; }
        .am-swiper-container .swiper-slide { height: 400px; }
        .am-swiper-container .swiper-slide-active { height: 500px !important; }
    }

    .contact-info-section-container {
    padding-top: 40px;
}

.contact-card {
    text-align: left;
}

/* Header Titles (Cable Car Station / Head Office) */
.contact-card .contact-header {
    font-size: 0.95rem;
    font-weight: 600;
    color: #282828; /* Matches white high-contrast text on dark background */
    margin-bottom: 8px;
}

/* Sub-address texts */
.contact-card .contact-company,
.contact-card .contact-address {
    font-size: 0.8rem;
    color: #000000; /* Clean muted silver-gray */
    margin-bottom: 4px;
    line-height: 1.4;
}

/* Contact lists with icons */
.contact-card .contact-details-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.contact-card .contact-details-list li {
    display: flex;
    align-items: center;
    font-size: 0.95rem;
    color: #000000;
}

/* Uniform spacing and alignment for icons */
.contact-card .detail-icon {
    width: 20px;
    font-size: 0.8rem;
    margin-right: 12px;
    color: #000000;
    flex-shrink: 0;
}

/* Ensure WhatsApp maintains its distinctive color */
.contact-card .detail-icon.fa-whatsapp {
    color: #25D366 !important;
}

/* Links behavior */
.contact-card .detail-link {
    color: #000000;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}


/* Handles inline separation for side-by-side telephone numbers */
.contact-card .multi-phone {
    display: inline-block;
    color: #ffffff;
}

/* Core Styling & Light Premium Base */
.premium-editorial-section {
  background-color: #faf9f6; /* High-end off-white/warm gray background */
  color: #1a1a1a;
  padding: 70px 0px;
  line-height: 1.7;
}

.premium-editorial-section .editorial-container {
  max-width: 1200px;
  margin: 0 auto;
}

.premium-editorial-section .step-indicator {
  display: block;
  font-family: var(--mhr-body-font);
  font-size: 0.75rem;
  font-weight: 600;
  color: #c92a2a; /* Sophisticated red accent code line */
  margin-bottom: 20px;
}

/* 1. Hero Block Layout */
.premium-editorial-section .hero-block-wrapper {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 60px;
  align-items: flex-end;
  margin-bottom: 120px;
}

.premium-editorial-section .editorial-eyebrow {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  color: #888888;
  margin-bottom: 20px;
}

.premium-editorial-section .editorial-display-title {
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1.05;
  margin: 0 0 24px 0;
  color: #121212;
}

.premium-editorial-section .editorial-lead-in {
  font-size: 1.35rem;
  line-height: 1.5;
  color: #555555;
  font-weight: 300;
  margin: 0;
}

.premium-editorial-section .main-image-frame {
  width: 100%;
  height: 480px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.04);
}

.premium-editorial-section .hero-editorial-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 2. Asymmetrical Row 1 Layout */
.premium-editorial-section .editorial-split-row {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  align-items: center;
  border-top: 1px solid #e8e6e1;
  margin-bottom: 60px;
  padding-top:60px;
}

.premium-editorial-section .split-col-left h3 {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 24px 0;
  line-height: 1.2;
}

.premium-editorial-section .split-col-left p {
  font-size: 1.05rem;
  color: #444444;
  margin-bottom: 20px;
}

.premium-editorial-section .framed-image-aside {
  position: relative;
  padding-left: 30px;
  border-left: 2px solid #121212;
}

.premium-editorial-section .secondary-editorial-img {
  width: 100%;
  height: 380px;
  object-fit: cover;
}

.premium-editorial-section .frame-caption {
  display: block;
  font-size: 0.7rem;
  font-family: var(--mhr-body-font);
  color: #888888;
  margin-top: 12px;
}

/* 3. Community / Social Impact Block */
.premium-editorial-section .impact-editorial-block {
  border-top: 1px solid #e8e6e1;
  padding-top: 60px;
}

.premium-editorial-section .impact-header-row h3 {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 40px 0;
}

.premium-editorial-section .impact-details-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
}

.premium-editorial-section .impact-text-col p {
  font-size: 1.1rem;
  color: #444444;
  margin: 0;
}

.premium-editorial-section .stat-context {
  font-size: 1.05rem;
  color: #444444;
  margin: 0 0 30px 0;
}

/* Minimal Stat Rows instead of cards */
.premium-editorial-section .minimalist-data-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 35px;
  border-top: 1px solid #e8e6e1;
  padding-top: 24px;
}

.premium-editorial-section .data-cell {
  display: flex;
  flex-direction: column;
}

.premium-editorial-section .data-value {
  font-size: 2.75rem;
  font-weight: 600;
  color: #121212;
  line-height: 1;
  margin-bottom: 8px;
}

.premium-editorial-section .data-label {
  font-size: 0.85rem;
  color: #666666;
  line-height: 1.4;
}

/* Fine text button transition */
.premium-editorial-section .editorial-text-btn {
  color: #121212;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #121212;
  padding-bottom: 4px;
}

.premium-editorial-section .arrow-glyph {
  transition: transform 0.2s cubic-bezier(0.25, 1, 0.5, 1);
}

.premium-editorial-section .editorial-text-btn:hover .arrow-glyph {
  transform: translateX(6px);
}

/* High-End Responsive Breakpoints */
@media (max-width: 991px) {
  .premium-editorial-section {
    padding: 80px 24px;
  }
  
  .premium-editorial-section .hero-block-wrapper,
  .premium-editorial-section .editorial-split-row,
  .premium-editorial-section .impact-details-columns {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .premium-editorial-section .editorial-display-title {
    font-size: clamp(1.85rem, 5vw, 2.75rem);
  }

  .premium-editorial-section .main-image-frame {
    height: clamp(14rem, 48vw, 21.875rem);
    order: -1; /* Pushes image to display first on small screens */
  }

  .premium-editorial-section .framed-image-aside {
    border-left: none;
    border-top: 2px solid #121212;
    padding-left: 0;
    padding-top: 20px;
  }
}

@media (max-width: 575.98px) {
  .premium-editorial-section {
    padding: 56px 16px;
  }

  .premium-editorial-section .editorial-display-title {
    font-size: 1.7rem;
  }

  .premium-editorial-section .impact-details-columns {
    gap: 1.75rem;
  }
}

/* Layout Settings & Global Variable Elimination */
.sacred-heritage-layout {
  background-color: #fcfbfa; /* Luxury milk-white texture */
  color: #1a1a1a;
  padding: 70px 0px;
  line-height: 1.8;
}

.sacred-heritage-layout .canvas-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}

/* 1. Split Hero & Floating Typography Layout */
.sacred-heritage-layout .heritage-hero-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 60px;
}

.sacred-heritage-layout .kicker {
  font-size: 0.75rem;
  font-weight: 600;
  color: #c84b31; /* Earthy terracota premium tone */
  margin-bottom: 24px;
}

.sacred-heritage-layout .main-display-title {
  font-size: 4.5rem;
  font-weight: 600;
  line-height: 0.95;
  margin: 0 0 45px 0;
  color: #111111;
}

.sacred-heritage-layout .serif-accent {
  font-weight: 400;
  font-style: italic;
  color: #c84b31;
}

.sacred-heritage-layout .myth-floating-lead {
  border-left: 3px solid #c4a484;
  padding-left: 30px;
  max-width: 580px;
}

.sacred-heritage-layout .myth-floating-lead p {
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 400;
  color: #2c2c2c;
  margin: 0;
}

.sacred-heritage-layout .hero-right-visual {
  width: 100%;
  /* padding-top: 40px; */
}

.sacred-heritage-layout .image-mask-box {
  width: 100%;
  height: 540px;
  overflow: hidden;
  border-radius: 4px;
}

.sacred-heritage-layout .cinematic-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 2. Asymmetrical Matrix List Instead of Plain Lines */
.sacred-heritage-layout .narrative-matrix {
  border-top: 2px solid #111111;
  margin-bottom: 60px;
}

.sacred-heritage-layout .matrix-row {
  display: grid;
  grid-template-columns: 3fr 7fr;
  padding: 45px 0;
  border-bottom: 1px solid #e6e3de;
}

.sacred-heritage-layout .matrix-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sacred-heritage-layout .index-num {
  font-family: var(--mhr-body-font);
  font-size: 0.9rem;
  font-weight: 600;
  color: #c84b31;
}

.sacred-heritage-layout .label-txt {
  font-size: 1.1rem;
  font-weight: 600;
  color: #111111;
}

.sacred-heritage-layout .matrix-content p {
  font-size: 1rem;
  color: #444444;
  margin: 0 0 20px 0;
}

.sacred-heritage-layout .matrix-content p:last-child {
  margin-bottom: 0;
}

.sacred-heritage-layout .text-highlight p {
  font-size: 1rem;
  color: #222222;
}

/* 3. Structural Premium Action Bar */
.sacred-heritage-layout .resource-action-panel {
  background-color: #ffffff;
  border: 1px solid #111111;
  padding: 50px 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  position: relative;
}

.sacred-heritage-layout .panel-eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-weight: 600;
  color: #888888;
  margin-bottom: 10px;
}

.sacred-heritage-layout .resource-action-panel h3 {
  font-size: 1.4rem;
  font-weight: 600;
  margin: 0 0 6px 0;
  color: #111111;
}

.sacred-heritage-layout .author-subtext {
  font-size: 0.95rem;
  color: #666666;
  margin: 0;
}

/* Premium Graphic Trigger Button */
.sacred-heritage-layout .action-download-trigger {
  background-color: #111111;
  color: #ffffff;
  text-decoration: none;
  padding: 20px 40px;
  font-size: 1rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  transition: background-color 0.2s ease, padding-right 0.2s ease;
  white-space: nowrap;
}

.sacred-heritage-layout .action-download-trigger:hover {
  background-color: #c84b31;
  padding-right: 46px;
}

.sacred-heritage-layout .btn-arrow {
  font-size: 1.2rem;
  line-height: 1;
}

/* Responsive Structural Collapse */
@media (max-width: 991px) {
  .sacred-heritage-layout {
    padding: 64px 20px;
  }
  
  .sacred-heritage-layout .heritage-hero-split {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 56px;
  }
  
  .sacred-heritage-layout .main-display-title {
    font-size: clamp(2rem, 7vw, 3.25rem);
  }
  
  .sacred-heritage-layout .image-mask-box {
    height: clamp(14rem, 50vw, 23.75rem);
  }

  .sacred-heritage-layout .matrix-row {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 35px 0;
  }
  
  .sacred-heritage-layout .resource-action-panel {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 20px;
    gap: 1.5rem;
  }

  .sacred-heritage-layout .action-download-trigger {
    width: 100%;
    justify-content: space-between;
    box-sizing: border-box;
    white-space: normal;
  }
}

@media (max-width: 575.98px) {
  .sacred-heritage-layout {
    padding: 48px 16px;
  }

  .sacred-heritage-layout .main-display-title {
    font-size: 1.85rem;
  }

  .sacred-heritage-layout .resource-action-panel h3 {
    font-size: 1.15rem;
  }
}


.editorial-section {
  font-family: var(--mhr-body-font);
  background-color: #fafafa;
  color: #111111;
  padding: 100px 40px;
}

.editorial-container-detail {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 80px;
}

/* Left Column Styling */
.editorial-header {
  position: sticky;
  top: 60px;
  height: max-content;
}

.editorial-tag {
  display: inline-block;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 20px;
  font-weight: 600;
}

.editorial-header h2 {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 24px 0;
  color: #111111;
}

.editorial-header img{
  max-width: 500px;
  width: 100%;
  height: auto;
  display: block;
}

.editorial-lead {
  font-size: 1.15rem;
  line-height: 1.6;
  color: #666666;
  margin: 0;
}

/* Right Column Content Blocks */
.editorial-content {
  display: flex;
  flex-direction: column;
  gap: 70px;
}

.content-block {
  display: flex;
  flex-direction: column;
}

.block-meta {
  font-size: 0.8rem;
  color: #666666;
  text-transform: uppercase;
  margin-bottom: 12px;
  font-weight: 500;
}

.content-block h3 {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 16px 0;
  color: #111111;
}

.content-block p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #666666;
  margin: 0 0 20px 0;
}

/* Minimal Table-Like Stats */
.minimal-stats {
  margin: 20px 0 30px 0;
  border-top: 1px solid #eaeaea;
}

.stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid #eaeaea;
}

.stat-label {
  font-size: 1rem;
  color: #111111;
}

.stat-value {
  font-size: 1.2rem;
  font-weight: 600;
  color: #111111;
}

/* Fine-line Call to Action */
.minimal-link {
  font-size: 0.95rem;
  font-weight: 600;
  color: #111111;
  text-decoration: none;
  border-bottom: 1px solid #111111;
  width: max-content;
  padding-bottom: 2px;
  transition: opacity 0.2s ease;
}

.minimal-link:hover {
  opacity: 0.6;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .editorial-section {
    padding: 60px 24px;
  }
  
  .editorial-container,
  .editorial-container-detail {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  
  .editorial-header {
    position: relative;
    top: 0;
  }
  
  .editorial-header h2 {
    font-size: clamp(1.6rem, 5vw, 2rem);
  }

  .editorial-header img {
    max-width: 100%;
  }
  
  .editorial-content {
    gap: 40px;
  }
}

@media (max-width: 575.98px) {
  .editorial-section {
    padding: 48px 16px;
  }

  .content-block h3 {
    font-size: 1.3rem;
  }

  .editorial-lead {
    font-size: 1.05rem;
  }
}

/* ═══════════════════════════════════════════
   Blog detail
   ═══════════════════════════════════════════ */
.vdo-blog-detail {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 45% at 50% -10%, rgba(196, 164, 132, 0.14), transparent 55%),
    linear-gradient(180deg, #faf9f7 0%, #ffffff 42%, #ffffff 100%);
  color: #1a1a1a;
  padding: clamp(3rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.vdo-blog-detail__glow {
  position: absolute;
  inset: auto -10% 20% -10%;
  height: 40%;
  background: radial-gradient(ellipse at center, rgba(196, 164, 132, 0.08), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

.vdo-blog-detail__header {
  position: relative;
  z-index: 1;
  margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
  /* text-align: center; */
}

.vdo-blog-detail__back {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.5rem;
  padding: 0.45rem 0.9rem;
  border: 1px solid rgba(0, 0, 0, 0.12);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  color: #555;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(6px);
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.vdo-blog-detail__back:hover {
  color: #111;
  border-color: #c4a484;
  background: #fff;
  transform: translateX(-2px);
}

.vdo-blog-detail__tag {
  display: block;
  margin-bottom: 0.85rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #c4a484;
}

.vdo-blog-detail__title {
  margin: 0 auto 1.15rem;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(1.85rem, 4.2vw, 3rem);
  font-weight: 600;
  line-height: 1.2;
  color: #111;
}

.vdo-blog-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: start;
  gap: 0.65rem 0.85rem;
}

.vdo-blog-detail__date,
.vdo-blog-detail__read {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.88rem;
  color: #777;
}

.vdo-blog-detail__date i {
  color: #c4a484;
  font-size: 0.85rem;
}

.vdo-blog-detail__meta-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #c4a484;
  opacity: 0.7;
}

.vdo-blog-detail__featured {
  position: relative;
  z-index: 1;
  margin: 0 0 clamp(2.25rem, 4.5vw, 3.25rem);
  overflow: hidden;
  background: #1a1a1a;
  box-shadow:
    0 18px 50px rgba(20, 20, 20, 0.12),
    0 2px 0 rgba(196, 164, 132, 0.35);
}

.vdo-blog-detail__featured img {
  display: block;
  width: 100%;
  height: clamp(16rem, 48vw, 32rem);
  object-fit: cover;
  transition: transform 1.1s ease;
}

.vdo-blog-detail__featured:hover img {
  transform: scale(1.03);
}

.vdo-blog-detail__caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 1.5rem 1.25rem 1rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.88);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), transparent);
}

.vdo-blog--related {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  background:
    linear-gradient(180deg, #f7f5f2 0%, #ffffff 35%);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* Post body — scoped typography */
.vdo-post-body {
  position: relative;
  z-index: 1;
  padding: clamp(0.5rem, 2vw, 1rem) 0 0;
}

.vdo-post-body > p:first-of-type {
  font-size: clamp(1.1rem, 2vw, 1.22rem);
  line-height: 1.85;
  color: #333;
}

.vdo-post-body > p:first-of-type::first-letter {
  float: left;
  margin: 0.12em 0.12em 0 0;
  font-family: var(--mhr-heading-primary);
  font-size: 3.4em;
  font-weight: 600;
  line-height: 0.8;
  color: #c4a484;
}

.vdo-post-body p {
  margin: 0 0 1.4rem;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #444;
}

.vdo-post-body h2 {
  position: relative;
  margin: 2.75rem 0 1.1rem;
  padding-bottom: 0.65rem;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(1.45rem, 2.6vw, 1.9rem);
  font-weight: 600;
  line-height: 1.3;
  color: #111;
}

.vdo-post-body h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3rem;
  height: 2px;
  background: #c4a484;
}

.vdo-post-body h3 {
  margin: 2.1rem 0 0.9rem;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  font-weight: 600;
  line-height: 1.35;
  color: #111;
}

.vdo-post-body ul,
.vdo-post-body ol {
  margin: 0 0 1.75rem;
  padding: 1.15rem 1.25rem 1.15rem 1.1rem;
  list-style: none;
  color: #444;
  background: linear-gradient(135deg, rgba(247, 244, 240, 0.9) 0%, rgba(255, 255, 255, 0.95) 100%);
  border: 1px solid rgba(196, 164, 132, 0.22);
}

.vdo-post-body ul li,
.vdo-post-body ol li {
  position: relative;
  margin-bottom: 0.75rem;
  padding-left: 1.75rem;
  font-size: 1.02rem;
  line-height: 1.7;
}

.vdo-post-body ul li:last-child,
.vdo-post-body ol li:last-child {
  margin-bottom: 0;
}

.vdo-post-body ul li::before {
  content: "";
  position: absolute;
  left: 0.2rem;
  top: 0.65rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #c4a484;
  box-shadow: 0 0 0 3px rgba(196, 164, 132, 0.18);
}

.vdo-post-body ol {
  counter-reset: vdo-post-step;
}

.vdo-post-body ol li {
  counter-increment: vdo-post-step;
}

.vdo-post-body ol li::before {
  content: counter(vdo-post-step);
  position: absolute;
  left: 0;
  top: 0.15rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: #c4a484;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
}

.vdo-post-body blockquote {
  position: relative;
  margin: 2.5rem 0;
  padding: 2rem 1.75rem 1.85rem 2rem;
  border: none;
  border-left: 4px solid #c4a484;
  background:
    linear-gradient(135deg, #f3ebe2 0%, #faf7f3 55%, #ffffff 100%);
  box-shadow: 0 12px 36px rgba(20, 20, 20, 0.06);
}

.vdo-post-body blockquote::before {
  content: "“";
  position: absolute;
  top: 0.15rem;
  left: 1rem;
  font-family: var(--mhr-heading-primary);
  font-size: 4.5rem;
  line-height: 1;
  color: rgba(196, 164, 132, 0.35);
  pointer-events: none;
}

.vdo-post-body blockquote p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(1.15rem, 2.1vw, 1.4rem);
  font-style: italic;
  line-height: 1.7;
  color: #2a2a2a;
}

@media (max-width: 767.98px) {
  .vdo-blog-detail__featured img {
    height: 14.5rem;
  }

  .vdo-post-body > p:first-of-type::first-letter {
    font-size: 2.8em;
  }

  .vdo-post-body ul,
  .vdo-post-body ol {
    padding: 1rem 0.95rem 1rem 0.85rem;
  }

  .vdo-post-body blockquote {
    padding: 1.5rem 1.15rem 1.35rem 1.25rem;
  }

  .vdo-post-body blockquote::before {
    left: 0.65rem;
    font-size: 3.5rem;
  }
}

/* ═══════════════════════════════════════════
   Contact page
   ═══════════════════════════════════════════ */
.vdo-contact {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #fcfbfa;
  color: #1a1a1a;
  padding: clamp(3.5rem, 7vw, 6rem) 0 0;
}

.vdo-contact__bg {
  position: absolute;
  inset: 0 0 auto 0;
  height: min(70vh, 40rem);
  /* background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.2) 0%, transparent 42%),
    radial-gradient(ellipse 80% 70% at 0% 0%, rgba(196, 164, 132, 0.18), transparent 55%),
    radial-gradient(ellipse 60% 50% at 100% 20%, rgba(43, 48, 51, 0.05), transparent 50%); */
  pointer-events: none;
  z-index: 0;
  animation: vdoContactBg 12s ease-in-out infinite alternate;
}

@keyframes vdoContactBg {
  from { opacity: 0.85; transform: scale(1); }
  to { opacity: 1; transform: scale(1.03); }
}

.vdo-contact__eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #c4a484;
}

.vdo-contact__brand {
  margin: 0 0 1rem;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(2.4rem, 9vw, 6.5rem);
  font-weight: 500;
  line-height: 0.95;
  color: #111;
}

.vdo-contact__lede {
  margin: 0 0 clamp(2.5rem, 5vw, 3.5rem);
  max-width: 22rem;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #666;
}

.vdo-contact__places {
  padding-top: 0.25rem;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.vdo-contact__place-label {
  margin: 1.35rem 0 0.85rem;
  font-family: var(--mhr-heading-primary);
  font-size: 1.05rem;
  font-weight: 600;
  color: #111;
}

.vdo-contact__place-line {
  margin: 0 0 0.15rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #666;
}

.vdo-contact__link {
  display: block;
  width: fit-content;
  margin-top: 0.55rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: #111;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.vdo-contact__link:hover {
  color: #c4a484;
  border-bottom-color: rgba(196, 164, 132, 0.55);
}

.vdo-contact__form {
  padding-top: 0.35rem;
}

.vdo-contact__field {
  position: relative;
  margin-bottom: 0.15rem;
  padding: 1.15rem 0 0.85rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  transition: border-color 0.3s ease;
}

.vdo-contact__field--half {
  padding-right: 1rem;
}

.vdo-contact__field--half + .vdo-contact__field--half,
.col-md-6 + .col-md-6 .vdo-contact__field--half {
  padding-right: 0;
  padding-left: 0;
}

@media (min-width: 768px) {
  .col-md-6 + .col-md-6 .vdo-contact__field--half {
    padding-left: 1rem;
    border-left: 1px solid rgba(0, 0, 0, 0.08);
  }
}

.vdo-contact__field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #888;
  transition: color 0.25s ease;
}

.vdo-contact__field input,
.vdo-contact__field textarea {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: var(--mhr-body-font);
  font-size: 1.05rem;
  line-height: 1.5;
  color: #111;
  outline: none;
  resize: none;
}

.vdo-contact__field textarea {
  min-height: 6.5rem;
}

.vdo-contact__field:focus-within {
  border-bottom-color: #c4a484;
}

.vdo-contact__field:focus-within label {
  color: #c4a484;
}

.vdo-contact__submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  padding: 0;
  border: 0;
  background: none;
  font-family: var(--mhr-heading-primary);
  font-size: 1.15rem;
  font-weight: 600;
  color: #111;
  cursor: pointer;
  transition: color 0.25s ease;
}

.vdo-contact__submit-line {
  display: block;
  width: 3.5rem;
  height: 1px;
  background: #111;
  transition: width 0.35s ease, background 0.25s ease;
}

.vdo-contact__submit:hover {
  color: #c4a484;
}

.vdo-contact__submit:hover .vdo-contact__submit-line {
  width: 5rem;
  background: #c4a484;
}

.vdo-contact__map-wrap {
  position: relative;
  z-index: 1;
  margin-top: clamp(3.5rem, 8vw, 6rem);
}

.vdo-contact__map-label {
  margin: 0 0 0.35rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #c4a484;
}

.vdo-contact__map-title {
  margin: 0 0 1rem;
  font-family: var(--mhr-heading-primary);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 500;
  color: #111;
}

.vdo-contact__map-link {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  color: #111;
  border-bottom: 1px solid #111;
  padding-bottom: 2px;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.vdo-contact__map-link:hover {
  color: #c4a484;
  border-bottom-color: #c4a484;
}

.vdo-contact__map {
  position: relative;
  width: 100%;
  height: clamp(18rem, 48vw, 28rem);
  overflow: hidden;
  filter: grayscale(0.35) contrast(1.05);
  transition: filter 0.6s ease;
}

.vdo-contact__map:hover {
  filter: grayscale(0) contrast(1);
}

.vdo-contact__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767.98px) {
  .vdo-contact__field--half {
    padding-right: 0;
  }

  .vdo-contact {
    padding-top: clamp(2.5rem, 8vw, 4rem);
  }

  .vdo-contact__lede {
    margin-bottom: 2rem;
    font-size: 0.98rem;
  }

  .vdo-contact__map {
    height: 15rem;
  }

  .vdo-contact__map-title {
    font-size: 1.35rem;
  }
}

/* ═══════════════════════════════════════════
   Global responsive polish (all pages)
   ═══════════════════════════════════════════ */
img,
iframe,
video:not(.mhr-bg-video) {
  max-width: 100%;
}

.container-fluid.px-4.px-md-5 {
  padding-left: clamp(0.75rem, 2.5vw, 1.5rem) !important;
  padding-right: clamp(0.75rem, 2.5vw, 1.5rem) !important;
}

@media (max-width: 1199.98px) {
  .mhr-nav-links .nav-link {
    font-size: 0.88rem;
    padding: 8px 8px !important;
  }

  .mhr-btn-book {
    padding: 8px 16px !important;
    font-size: 0.85rem;
  }
}

@media (max-width: 991.98px) {
  .main-section-title {
    font-size: clamp(1.6rem, 5vw, 2.1rem);
  }

  .vdo-blog-detail {
    padding-top: clamp(2.5rem, 6vw, 4rem);
  }

  .vdo-blog-detail__title {
    font-size: clamp(1.6rem, 5vw, 2.4rem);
  }

  .vdo-post-body p,
  .vdo-post-body ul li,
  .vdo-post-body ol li {
    font-size: 1rem;
  }
}

@media (max-width: 767.98px) {
  .mhr-hero-banner {
    height: 100svh;
    min-height: 28rem;
  }

  .mhr-brand img {
    width: 72px;
    height: auto;
  }

  .vdo-blog-detail__featured img {
    height: 13.5rem;
  }

  .vdo-post-body h2 {
    font-size: 1.35rem;
  }

  .vdo-post-body h3 {
    font-size: 1.15rem;
  }

  .vdo-post-body ul,
  .vdo-post-body ol {
    padding: 0.9rem 0.75rem;
  }

  .vdo-buy__timeboard {
    gap: 0.5rem;
  }
}

@media (max-width: 575.98px) {
  body {
    overflow-x: hidden;
  }

  .main-section-title {
    font-size: 1.55rem;
  }

  .vdo-contact__submit {
    font-size: 1.05rem;
  }
}

/* ==========================================
   CAFE PAGE
=========================================== */
.cafe-hero {
  padding: 70px 0;
  background: #fdfcfa;
}

.cafe-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}


.cafe-hero__lead {
  font-size: 1.08rem;
  line-height: 1.8;
  color: #555;
  max-width: 34rem;
  margin-bottom: 2rem;
}

.cafe-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.cafe-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.8rem 1.6rem;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.25s ease;
}

.cafe-btn--solid {
  background: #c0392b;
  color: #fff;
}

.cafe-btn--solid:hover {
  background: #a53125;
  color: #fff;
  transform: translateY(-2px);
}

.cafe-btn--ghost {
  border: 1px solid #222;
  color: #222;
}

.cafe-btn--ghost:hover {
  background: #222;
  color: #fff;
}

.cafe-hero__media {
  position: relative;
}

.cafe-hero__media img {
  width: 100%;
  height: clamp(20rem, 40vw, 30rem);
  object-fit: cover;
  display: block;
}

.cafe-hero__badge {
  position: absolute;
  left: -1.25rem;
  bottom: -1.25rem;
  background: #fff;
  border: 1px solid #eee;
  box-shadow: 0 16px 40px rgba(20, 20, 20, 0.1);
  padding: 1rem 1.5rem;
  display: flex;
  flex-direction: column;
}

.cafe-hero__badge-num {
  font-family: 'Cinzel', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #c0392b;
  line-height: 1;
}

.cafe-hero__badge-label {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #777;
  margin-top: 0.35rem;
}

.cafe-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: clamp(3rem, 6vw, 4.5rem);
  border-top: 1px solid #eee;
  padding-top: clamp(1.75rem, 4vw, 2.75rem);
}

.cafe-stat {
  text-align: center;
}

.cafe-stat__num {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  color: #222;
  line-height: 1.1;
}

.cafe-stat__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #888;
  margin-top: 0.4rem;
}

/* --- Story --- */
.cafe-story {
  padding: 70px 0;
  background: #fff;
}

.cafe-story__grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.cafe-story__media img {
  width: 100%;
  height: clamp(20rem, 38vw, 28rem);
  object-fit: cover;
  display: block;
}

.cafe-story__content p {
  color: #555;
  line-height: 1.8;
  margin-bottom: 1.1rem;
}

.cafe-story__content .main-section-title {
  margin-bottom: 1.25rem;
}

.cafe-story__points {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cafe-story__points li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: #333;
}

.cafe-story__points li i {
  color: #c0392b;
  width: 1.2rem;
  text-align: center;
}

/* --- Menu --- */
.cafe-menu {
  padding: clamp(3rem, 7vw, 5.5rem) 0;
  background: #faf7f2;
}

.cafe-menu__note {
  color: #888;
  font-size: 0.9rem;
  margin-top: 0.75rem;
}

.cafe-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.cafe-menu__card {
  background: #fff;
  border: 1px solid #eee6d9;
  padding: 1.75rem 1.5rem;
}

.cafe-menu__cat {
  font-family: 'Cinzel', serif;
  font-size: 1.15rem;
  font-weight: 700;
  color: #222;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #eee6d9;
}

.cafe-menu__cat i {
  color: #c0392b;
  font-size: 1rem;
}

.cafe-menu__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.cafe-menu__list li {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
}

.cafe-menu__dish {
  font-size: 0.92rem;
  color: #333;
}

.cafe-menu__dish small {
  display: block;
  color: #999;
  font-size: 0.75rem;
}

.cafe-menu__dots {
  flex: 1;
  border-bottom: 1px dotted #ccc;
  transform: translateY(-0.25rem);
  min-width: 1rem;
}

.cafe-menu__price {
  font-size: 0.88rem;
  font-weight: 700;
  color: #c0392b;
  white-space: nowrap;
}

.cafe-menu__card--cta {
  background: #222;
  border-color: #222;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0.75rem;
}

.cafe-menu__cta-title {
  font-family: 'Cinzel', serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
}

.cafe-menu__card--cta p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.92rem;
  line-height: 1.7;
  margin: 0 0 0.5rem;
}

/* --- Activities --- */
.cafe-activities {
  padding: 70px 0;
}

.cafe-activities__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.cafe-activity {
  position: relative;
  display: block;
  overflow: hidden;
  text-decoration: none;
}

.cafe-activity img {
  width: 100%;
  height: 16rem;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.cafe-activity:hover img {
  transform: scale(1.06);
}

.cafe-activity::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.65) 100%);
}

.cafe-activity__label {
  position: absolute;
  left: 1.1rem;
  bottom: 1rem;
  z-index: 2;
  color: #fff;
  font-family: 'Cinzel', serif;
  font-size: 1.05rem;
  font-weight: 700;
}

/* --- Cafe page responsive --- */
@media (max-width: 991.98px) {
  .cafe-hero__grid,
  .cafe-story__grid {
    grid-template-columns: 1fr;
  }

  .cafe-story__media {
    order: -1;
  }

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

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

  .cafe-stats {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 1.75rem;
  }

  .cafe-hero__badge {
    left: 1rem;
    bottom: 1rem;
  }
}

@media (max-width: 575.98px) {
  .cafe-menu__grid,
  .cafe-activities__grid {
    grid-template-columns: 1fr;
  }

  .cafe-activity img {
    height: 13rem;
  }
}

/* ==========================================
   TEAM PAGE — split-panel layout
=========================================== */
.team-duo {
  padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(4rem, 9vw, 7rem);
  background: #fcfbfa;
}

.team-duo__head {
  display: grid;
  grid-template-columns: 1fr minmax(0, 24rem);
  align-items: end;
  gap: 2rem;
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.team-duo__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
  color: #222;
  margin: 0.5rem 0 0;
}

.team-duo__text {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #888;
  margin: 0 0 0.5rem;
}

.team-group {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  border-top: 1px solid #ebebeb;
}

.team-group__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem 2rem;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.team-group__heading {
  display: flex;
  align-items: baseline;
  gap: 1.1rem;
}

.team-group__index {
  font-size: 1rem;
  font-weight: 600;
  color: #c0392b;
}

.team-group__name {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.4rem, 2.8vw, 1.6rem);
  font-weight: 600;
  color: #222;
  margin: 0;
}

.team-group__role {
  font-size: 0.85rem;
  color: #999;
  margin: 0;
}

.team-group__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1rem, 2.5vw, 1.75rem);
  align-items: start;
}

.team-group--flip .team-group__gallery {
  grid-template-columns: 1fr 1fr;
}

.team-group--flip .team-shot--lead {
  order: 2;
}

.team-group--flip .team-shot--offset {
  order: 1;
}

.team-shot {
  margin: 0;
  overflow: hidden;
}

.team-shot--offset {
  margin-top: clamp(1.75rem, 5vw, 3.5rem);
}

.team-shot img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.team-shot:hover img {
  transform: scale(1.035);
}

.team-shot__placeholder {
  aspect-ratio: 4 / 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: #f6f5f3;
  border: 1px dashed #ddd8cf;
  color: #b5aea2;
}

.team-shot__placeholder i {
  font-size: 1.6rem;
}

.team-shot__placeholder span {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
}

@media (max-width: 991.98px) {
  .team-duo__head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1rem;
  }
}

@media (max-width: 767.98px) {
  .team-group__gallery,
  .team-group--flip .team-group__gallery {
    grid-template-columns: 1fr;
  }

  .team-group--flip .team-shot--lead {
    order: 0;
  }

  .team-group--flip .team-shot--offset {
    order: 1;
  }

  .team-shot--offset {
    margin-top: 0;
  }
}

/* ==========================================
   HISTORY PAGE — minimal biography layout
=========================================== */
.history-section {
  padding: 70px 0;
  background: #fcfbfa;
}

.history-head {
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  border-bottom: 1px solid #ebebeb;
}

.history-head__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
  color: #222;
  margin: 0.5rem 0 0;
}

.history-layout {
  display: grid;
  grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: start;
}

.history-figure__inner {
  position: sticky;
  top: 2.5rem;
}

.history-figure__frame {
  position: relative;
  margin-bottom: 1.4rem;
}

.history-figure__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  transform: translate(0.85rem, 0.85rem);
  border: 1px solid #c0392b;
  z-index: 0;
}

.history-figure__frame img {
  position: relative;
  z-index: 1;
  width: 100%;
  display: block;
  filter: saturate(0.95);
}

.history-figure__name {
  font-family: 'Cinzel', serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #222;
  margin: 0 0 0.2rem;
}

.history-figure__years {
  font-size: 0.82rem;
  color: #999;
  margin: 0;
}

.history-story {
  /* max-width: 46rem; */
}

.history-story p {
  font-size: 0.96rem;
  line-height: 1.9;
  color: #444;
  margin-bottom: 1.5rem;
}

.history-story__lead {
  font-size: 1.15rem !important;
  line-height: 1.85 !important;
  font-weight: 600;
  color: #c0392b !important;
  margin-bottom: 2.25rem !important;
}

.history-story__drop::first-letter {
  font-family: 'Cinzel', serif;
  font-size: 3.4em;
  font-weight: 600;
  float: left;
  line-height: 0.82;
  padding: 0.06em 0.12em 0 0;
  color: #222;
}

.history-story__closing {
  margin-top: 2.25rem;
  padding-top: 1.75rem;
  border-top: 1px solid #ebebeb;
  font-family: 'Cinzel', serif;
  font-size: 1.05rem !important;
  color: #222 !important;
}

@media (max-width: 991.98px) {
  .history-layout {
    grid-template-columns: 1fr;
  }

  .history-figure__inner {
    position: static;
    display: grid;
    grid-template-columns: minmax(0, 11rem) 1fr;
    align-items: end;
    column-gap: 1.75rem;
  }

  .history-figure__frame {
    grid-row: 1 / 3;
    margin-bottom: 0;
  }

  .history-figure__name {
    align-self: end;
  }
}

/* ==========================================
   CSR PAGE — minimal initiative ledger
=========================================== */
.csr-section {
  padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(4rem, 9vw, 7rem);
  background: #fcfbfa;
}

.csr-head {
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  border-bottom: 1px solid #ebebeb;
}

.csr-head__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
  color: #222;
  margin: 0.5rem 0 0;
}

.csr-quote {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.csr-quote__text {
  position: relative;
  margin: 0;
  padding-left: clamp(1.5rem, 3vw, 2.5rem);
}

.csr-quote__mark {
  position: absolute;
  left: 0;
  top: -0.5rem;
  font-family: 'Cinzel', serif;
  font-size: 3rem;
  line-height: 1;
  color: #c0392b;
}

.csr-quote__text p {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 600;
  line-height: 1.5;
  color: #222;
  margin-bottom: 1.25rem;
}

.csr-quote__cite {
  font-style: normal;
  font-size: 0.85rem;
  font-weight: 600;
  color: #c0392b;
}

.csr-quote__media {
  margin: 0;
}

.csr-quote__media img {
  width: 100%;
  aspect-ratio: 5 / 4;
  object-fit: cover;
  display: block;
}

.csr-intro {
  /* max-width: 52rem; */
  font-size: 1.02rem;
  line-height: 1.9;
  color: #555;
  margin-bottom: clamp(2rem, 5vw, 3rem);
}

.csr-row {
  
}

.csr-row__index {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: #c0392b;
  margin-bottom: 0.85rem;
}

.csr-row__index::after {
  content: "";
  display: block;
  width: 2.25rem;
  height: 1px;
  background: #c0392b;
  margin-top: 0.6rem;
}

.csr-row__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 600;
  line-height: 1.35;
  color: #222;
  margin: 0;
}

.csr-row__content p {
  font-size: 0.96rem;
    border-top: 1px solid #ebebeb;
    line-height: 1.9;
    color: #444;
    padding-top: 20px;
    margin-bottom: 1.4rem;
}

.csr-row__content p:last-child {
  margin-bottom: 0;
}

.csr-row__content h3{
  font-weight: 600;
  color: #222 !important;
}

.csr-row__content ol {
  list-style: none;
  counter-reset: benef;
  padding: 0;
  margin-bottom: 1.4rem;
}


.csr-row__content ol li {
  counter-increment: benef;
  display: flex;
  align-items: baseline;
  gap: 0.85rem;
  padding: 0.8rem 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 0.92rem;
  color: #444;
}
.csr-row__content ol li:last-child{
  border-bottom: none;
}

.csr-row__content ol li::before {
  content: counter(benef, decimal-leading-zero);
  font-size: 0.75rem;
  font-weight: 600;
  color: #c0392b;
}

.csr-row__content ol.li span {
  margin-left: auto;
  font-size: 0.8rem;
  font-weight: 600;
  color: #222;
  white-space: nowrap;
}

@media (max-width: 991.98px) {
  .csr-quote {
    grid-template-columns: 1fr;
  }

  .csr-quote__media {
    order: -1;
    max-width: 26rem;
  }

  .csr-row {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

/* ==========================================
   TOUR OPERATORS PAGE — minimal directory
=========================================== */
.ops-section {
  padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(4rem, 9vw, 7rem);
  background: #fcfbfa;
}

.ops-head {
  display: grid;
  grid-template-columns: 1fr minmax(0, 22rem);
  align-items: end;
  gap: 1.5rem 2rem;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}

.ops-head__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2.4rem, 5.5vw, 4rem);
  font-weight: 600;
  line-height: 1.02;
  color: #222;
  margin: 0.5rem 0 0;
}

.ops-head__text {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #888;
  margin: 0 0 0.5rem;
}

.ops-directory__cols {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) minmax(0, 12rem) minmax(0, 14rem);
  gap: 1rem 1.5rem;
  padding-bottom: 0.9rem;
  border-bottom: 2px solid #222;
}

.ops-directory__cols span {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #999;
}

.ops-directory__cols span:first-child {
  grid-column: 2;
}

.ops-entry {
  position: relative;
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr) minmax(0, 12rem) minmax(0, 14rem);
  gap: 0.35rem 1.5rem;
  align-items: baseline;
  padding: 1.6rem 0;
  border-bottom: 1px solid #ececec;
  transition: padding-left 0.35s ease;
}

.ops-entry::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 2rem;
  background: #c0392b;
  transition: width 0.35s ease;
}

.ops-entry:hover {
  padding-left: 1rem;
}

.ops-entry:hover::before {
  width: 3px;
}

.ops-entry__index {
  font-size: 0.78rem;
  font-weight: 600;
  color: #c9c4bb;
  transition: color 0.3s ease;
}

.ops-entry:hover .ops-entry__index {
  color: #c0392b;
}

.ops-entry__company {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.05rem, 1.9vw, 1.35rem);
  font-weight: 600;
  line-height: 1.35;
  color: #222;
  margin: 0;
}

.ops-entry__place {
  display: block;
  font-family: var(--mhr-body-font);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #a9a396;
  margin-top: 0.3rem;
}

.ops-entry__phones {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ops-entry__phones a {
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
  color: #444;
  text-decoration: none;
  transition: color 0.25s ease;
}

.ops-entry__phones a:hover {
  color: #c0392b;
}

.ops-entry__person {
  font-size: 0.92rem;
  color: #666;
  margin: 0;
}

@media (max-width: 991.98px) {
  .ops-head {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 0.75rem;
  }

  .ops-directory__cols {
    display: none;
  }

  .ops-entry {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    padding: 1.35rem 0;
  }

  .ops-entry__company {
    grid-column: 2;
  }

  .ops-entry__phones,
  .ops-entry__person {
    grid-column: 2;
  }

  .ops-entry__phones {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.35rem 1.25rem;
    margin-top: 0.35rem;
  }

  .ops-entry__person {
    font-size: 0.85rem;
    color: #999;
  }
}

/* ==========================================
   THINGS TO DO — editorial activity modal
=========================================== */
.activity-modal .activity-modal__dialog {
  max-width: min(85rem, calc(100vw - 3rem));
  margin-left: auto;
  margin-right: auto;
}

.activity-modal__content {
  position: relative;
  border: none;
  border-radius: 0;
  overflow: hidden;
  background: #fff;
  color: #222;
  max-height: min(44rem, 90vh);
}

/* oversized watermark number behind the text */
.activity-modal__ghost {
  position: absolute;
  top: -0.12em;
  left: -0.04em;
  z-index: 1;
  font-family: 'Cinzel', serif;
  font-size: clamp(9rem, 24vw, 18rem);
  font-weight: 700;
  line-height: 1;
  color: transparent;
  -webkit-text-stroke: 1px rgba(0, 0, 0, 0.07);
  pointer-events: none;
  user-select: none;
}

.is-animating .activity-modal__ghost {
  animation: activityModalFade 0.9s ease both;
}

.activity-modal__close {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 6;
  width: 2.6rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #fff;
  color: #222;
  font-size: 0.95rem;
  border-radius: 50%;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.activity-modal__close:hover {
  background: #222;
  border-color: #222;
  color: #fff;
}

/* text column dominates, image is a slim accent */
.activity-modal__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(0, 1.5fr);
  align-items: stretch;
  min-height: min(38rem, 88vh);
  max-height: min(44rem, 90vh);
}

.activity-modal__body {
  padding: clamp(2.25rem, 5vw, 3.75rem) clamp(1.75rem, 4vw, 3.5rem) clamp(1.75rem, 4vw, 2.75rem) clamp(1.75rem, 5vw, 4rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 0;
  overflow: hidden;
}

.is-animating .activity-modal__body {
  animation: activityModalRise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes activityModalRise {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes activityModalFade {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.activity-modal__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 1.1rem;
}

.activity-modal__eyebrow::before {
  content: "";
  width: 2.25rem;
  height: 1px;
  background: #c0392b;
}

.activity-modal__eyebrow em {
  font-style: normal;
  color: #c0392b;
}

.activity-modal__title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  font-weight: 600;
  color: #222;
  margin-bottom: 1.5rem;
  flex-shrink: 0;
}

.activity-modal__desc {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  /* max-width: 36rem; */
  margin: 0 0 1.75rem;
  padding-right: 0.5rem;
}

.activity-modal__desc p {
  font-size: clamp(0.96rem, 1.4vw, 1.05rem);
  line-height: 1.5;
  color: #555;
  margin: 0 0 1.15rem;
}

.activity-modal__desc p:last-child {
  margin-bottom: 0;
}

/* prev / next controls under the text */
.activity-modal__nav {
  display: flex;
  gap: 0.6rem;
  margin-top: auto;
  flex-shrink: 0;
  padding-top: 0.25rem;
}

.activity-modal__arrow {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: transparent;
  color: #222;
  font-size: 1rem;
  border-radius: 50%;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.activity-modal__arrow:hover {
  background: #222;
  border-color: #222;
  color: #fff;
}

/* slim image column */
.activity-modal__media {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.activity-modal__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92);
}

.is-animating .activity-modal__media img {
  animation: activityModalReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes activityModalReveal {
  from {
    opacity: 0;
    transform: scale(1.05);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 767.98px) {
  .activity-modal .activity-modal__dialog {
    max-width: calc(100vw - 1.5rem);
  }

  .activity-modal__content {
    height: 88vh;
    height: 88dvh;
    max-height: none;
  }

  /* flex column so image + text + arrows share the fixed height */
  .activity-modal__inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    max-height: none;
  }

  .activity-modal__media {
    order: -1;
    height: clamp(9rem, 32vw, 11rem);
    flex-shrink: 0;
  }

  .activity-modal__body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    padding: 1.35rem 1.35rem 1.25rem;
  }

  .activity-modal__title {
    margin-bottom: 1rem;
  }

  /* only the description scrolls */
  .activity-modal__desc {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1rem;
  }

  /* arrows always pinned below the text */
  .activity-modal__nav {
    flex-shrink: 0;
    margin-top: 0;
    padding-top: 0.25rem;
  }

  .activity-modal__arrow {
    width: 2.6rem;
    height: 2.6rem;
  }

  .activity-modal__ghost {
    font-size: 8rem;
    top: auto;
    bottom: -0.15em;
    left: auto;
    right: -0.05em;
  }
}

/* ==========================================
   SCROLL TO TOP BUTTON
=========================================== */
.scroll-top-btn {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1050;
  width: 2.9rem;
  height: 2.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #c0392b;
  border-radius: 50%;
  background: #c0392b;
  color: #fff;
  font-size: 0.95rem;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease,
    background 0.25s ease, color 0.25s ease;
  box-shadow: 0 6px 18px rgba(192, 57, 43, 0.3);
}

.scroll-top-btn.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.scroll-top-btn:hover {
  background: #fff;
  color: #c0392b;
}

@media (max-width: 575.98px) {
  .scroll-top-btn {
    right: 1rem;
    bottom: 1rem;
    width: 2.6rem;
    height: 2.6rem;
  }
}

/* ==========================================
   CABLE CAR PAGE
=========================================== */
.ccar-intro {
  padding: 70px 0;
  background: #fcfbfa;
}

.ccar-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.ccar-intro__lead {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.85;
  color: #333;
  font-weight: 500;
  margin: 1.25rem 0 1.5rem;
}

.ccar-intro__content p:not(.ccar-intro__lead) {
  font-size: 0.97rem;
  line-height: 1.95;
  color: #555;
  margin-bottom: 1.15rem;
}

.ccar-intro__media {
  margin: 0;
}

.ccar-intro__media .img-new {
  width: 100%;
  aspect-ratio: 4 / 4.6;
  object-fit: cover;
  display: block;
}

.ccar-intro__elev {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 1.1rem;
}

.ccar-intro__elev-item {
  font-size: 0.78rem;
  text-transform: uppercase;
  color: #999;
  white-space: nowrap;
}

.ccar-intro__elev-item em {
  display: block;
  font-style: normal;
  font-family: 'Cinzel', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #222;
}

.ccar-intro__elev-line {
  flex: 1;
  height: 1px;
  background: repeating-linear-gradient(to right, #c0392b 0 6px, transparent 6px 14px);
  position: relative;
}

.ccar-intro__elev-line::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #c0392b;
  transform: translateY(-50%);
}

/* journey facts strip */
.ccar-facts {
  padding: clamp(2.5rem, 6vw, 4rem) 0;
  background: #fafafa;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}

.ccar-facts__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.ccar-facts__item {
  padding: 0 clamp(1.25rem, 3vw, 2.5rem);
}

.ccar-facts__item+.ccar-facts__item {
  border-left: 1px solid #e5e5e5;
}

.ccar-facts__num {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
  font-weight: 600;
  color: #222;
  line-height: 1;
  margin-bottom: 0.75rem;
}

.ccar-facts__num i {
  font-size: 0.85em;
  color: #c0392b;
}

.ccar-facts__item p {
  font-size: 0.9rem;
  line-height: 1.75;
  color: #666;
  margin: 0;
}

@media (max-width: 991.98px) {
  .ccar-facts__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 0;
  }

  .ccar-facts__item:nth-child(3) {
    border-left: none;
  }
}

@media (max-width: 767.98px) {
  .ccar-intro__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .ccar-intro__media .img-new {
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 575.98px) {
  .ccar-facts__grid {
    grid-template-columns: 1fr;
  }

  .ccar-facts__item {
    border-left: none !important;
    padding: 0;
  }

  .ccar-facts__item+.ccar-facts__item {
    border-top: 1px solid #e5e5e5;
    padding-top: 2rem;
  }
}

@media (max-width: 991.98px) {
    .mhr-nav-links .nav-link {
    color: #000 !important;
    }


.mhr-btn-book {
    color: #000 !important;
    border: 1px solid #000 !important;
}


}
