 /* =====================================================
   DEEPAJAY DESIGN TOKENS
   Palette drawn from the Hotel Deepajay crest:
   — Ridge Pine (deep forest green, the mountain silhouette)
   — Trishul Gold (the crest's gold ring & emblem)
   Neutrals only: ivory, charcoal, white.
===================================================== */
 :root {
     --ridge-pine: #142E22;
     --ridge-pine-2: #1E4A36;
     --trishul-gold: #C39A3D;
     --trishul-gold-soft: #E4C876;
     --ivory: #F7F3EA;
     --ivory-2: #EFE8D8;
     --charcoal: #1B1B18;
     --grey: #6E6A60;
     --grey-soft: #A39D8F;
     --white: #FFFFFF;

     --font-display:   'Manrope', sans-serif;
     --font-body: 'DM Sans', sans-serif;

     --radius-sm: 4px;
     --radius-md: 10px;
     --radius-lg: 22px;
     --shadow-soft: 0 20px 60px -20px rgba(20, 46, 34, 0.35);
     --shadow-card: 0 14px 40px -18px rgba(27, 27, 24, 0.35);
     --ease: cubic-bezier(.22, 1, .36, 1);
 }

 * {
     box-sizing: border-box;
 }

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: var(--font-body);
     color: var(--charcoal);
     background: var(--ivory);
     overflow-x: hidden;
 }

 h1,
 h2,
 h3,
 h4,
 .dpj-serif {
     font-family: var(--font-display);
 }

 a {
     text-decoration: none;
 }

 img {
     max-width: 100%;
     display: block;
 }

 .dpj-container {
     width: 100%;
     max-width: 1280px;
     margin: 0 auto;
     padding: 0 24px;
 }

 ::selection {
     background: var(--trishul-gold);
     color: var(--ridge-pine);
 }

 @media (prefers-reduced-motion: reduce) {
     * {
         animation-duration: 0.001ms !important;
         animation-iteration-count: 1 !important;
         transition-duration: 0.001ms !important;
         scroll-behavior: auto !important;
     }
 }

 /* ---------- Eyebrow / labels ---------- */
 .dpj-eyebrow {
     display: inline-flex;
     align-items: center;
     gap: 10px;
     font-family: var(--font-body);
     font-weight: 700;
     font-size: .72rem;
     letter-spacing: .22em;
     text-transform: uppercase;
     color: var(--trishul-gold);
     margin-bottom: 14px;
 }

 .dpj-eyebrow::before {
     content: "";
     width: 26px;
     height: 1px;
     background: var(--trishul-gold);
 }

 .dpj-eyebrow.center {
     justify-content: center;
 }

 .dpj-eyebrow.center::before {
     display: none;
 }

 .dpj-eyebrow.center::after {
     content: "";
     width: 26px;
     height: 1px;
     background: var(--trishul-gold);
 }

 .dpj-section-title {
     font-size: 30px;
     font-weight: 700;
     color: var(--ridge-pine);
     line-height: 1.15;
     margin-bottom: 16px;
 }

 .dpj-section-sub {
     color: var(--grey);
     font-size: 1.02rem;
     max-width: 640px;
     line-height: 1.75;
 }

 .dpj-center {
     text-align: center;
     margin-left: auto;
     margin-right: auto;
 }

 /* ---------- Ridge-line divider (signature motif) ---------- */
 .dpj-ridge-divider {
     width: 100%;
     height: 64px;
     display: block;
 }

 .dpj-ridge-divider path {
     fill: var(--ivory);
 }

 .dpj-ridge-divider.into-pine path {
     fill: var(--ridge-pine);
 }

 .dpj-ridge-divider.into-ivory path {
     fill: #fff;
 }

 .dpj-ridge-divider.into-white path {
     fill: var(--white);
 }

 .dpj-ridge-divider.flip {
     transform: scaleY(-1);
 }

 /* =====================================================
   TOP INFO BAR
===================================================== */
 .dpj-topbar {
     background: var(--ridge-pine);
     color: var(--ivory-2);
     font-size: .82rem;
     padding: 9px 0;
     letter-spacing: .01em;
 }

 .dpj-topbar .dpj-container {
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-wrap: wrap;
     gap: 8px;
 }

 .dpj-topbar a {
     color: var(--ivory-2);
     opacity: .92;
     transition: color .25s var(--ease);
 }

 .dpj-topbar a:hover {
     color: var(--trishul-gold-soft);
 }

 .dpj-topbar-left {
     display: flex;
     gap: 22px;
     flex-wrap: wrap;
 }

 .dpj-topbar-left span,
 .dpj-topbar-left a {
     display: inline-flex;
     align-items: center;
     gap: 7px;
 }

 .dpj-rating-chip {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     color: var(--trishul-gold-soft);
     font-weight: 700;
 }

 /* =====================================================
   HEADER / NAV
===================================================== */
 .dpj-header {
     position: sticky;
     top: 0;
     z-index: 1000;
     background: #fff;
     backdrop-filter: blur(10px);
     -webkit-backdrop-filter: blur(10px);
     border-bottom: 1px solid rgba(196, 154, 61, 0.18);
     transition: padding .3s var(--ease), box-shadow .3s var(--ease);
 }

 .dpj-header.dpj-scrolled {
     box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .5);
 }

 .dpj-header .dpj-container {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 20px;
     padding-top: 5px;
     padding-bottom: 5px;
 }

 .dpj-brand {
     display: flex;
     align-items: center;
     gap: 12px;
     color: var(--ivory);
 }

 .dpj-brand-mark {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     border: 1.5px solid var(--trishul-gold);
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--trishul-gold);
     font-size: 1.25rem;
     flex-shrink: 0;
 }

 .dpj-brand-text {
     line-height: 1.15;
 }

 .dpj-brand-text .dpj-brand-name {
     font-family: var(--font-display);
     font-weight: 700;
     font-size: 1.18rem;
     color: var(--ivory);
     display: block;
 }

 .dpj-brand-text .dpj-brand-loc {
     font-size: .68rem;
     letter-spacing: .18em;
     text-transform: uppercase;
     color: var(--trishul-gold-soft);
 }

 .dpj-nav {
     display: flex;
     margin-top: 20px;
     align-items: center;
     gap: 2px;
 }

 .dpj-nav>li {
     position: relative;
     list-style: none;
 }

 .dpj-nav>li>a {
     display: block;
     padding: 10px 20px;
     color:  #000;
     font-weight: 550;
     font-size: .88rem;
     letter-spacing: .02em;
     position: relative;
     transition: color .25s var(--ease);
 }

 .dpj-nav>li>a::after {
     content: "";
     position: absolute;
     left: 16px;
     right: 16px;
     bottom: 6px;
     height: 1px;
     background: var(--trishul-gold);
     transform: scaleX(0);
     transform-origin: left;
     transition: transform .3s var(--ease);
 }

 .dpj-nav>li>a:hover {
     color: #142e22;
 }

 .dpj-nav>li>a:hover::after {
     transform: scaleX(1);
 }

 /* Rooms dropdown - desktop hover */
 .dpj-has-drop {
     position: relative;
 }

 .dpj-dropdown {
     position: absolute;
     top: calc(100% + 10px);
     left: 50%;
     transform: translateX(-50%) translateY(8px);
     background: var(--white);
     min-width: 230px;
     border-radius: var(--radius-md);
     box-shadow: var(--shadow-soft);
     padding: 10px;
     opacity: 0;
     visibility: hidden;
     transition: opacity .28s var(--ease), transform .28s var(--ease), visibility .28s;
     z-index: 50;
 }

 .dpj-dropdown::before {
     content: "";
     position: absolute;
     top: -6px;
     left: 50%;
     transform: translateX(-50%) rotate(45deg);
     width: 12px;
     height: 12px;
     background: var(--white);
 }

 .dpj-has-drop:hover .dpj-dropdown {
     opacity: 1;
     visibility: visible;
     transform: translateX(-50%) translateY(0);
 }

 .dpj-dropdown a {
     display: flex;
     align-items: center;
     gap: 10px;
     padding: 10px 12px;
     border-radius: var(--radius-sm);
     color: var(--charcoal);
     font-size: .86rem;
     font-weight: 600;
     transition: background .2s, color .2s;
 }

 .dpj-dropdown a i {
     color: var(--trishul-gold);
 }

 .dpj-dropdown a:hover {
     background: var(--ivory);
     color: var(--ridge-pine);
 }

 .dpj-header-cta {
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .dpj-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     padding: 11px 22px;
     border-radius: 100px;
     font-weight: 700;
     font-size: .83rem;
     letter-spacing: .03em;
     border: 1px solid transparent;
     transition: all .3s var(--ease);
     white-space: nowrap;
     cursor: pointer;
 }

 .dpj-btn-gold {
     background: var(--trishul-gold);
     color: var(--ridge-pine);
 }

 .dpj-btn-gold:hover {
     background: var(--trishul-gold-soft);
     transform: translateY(-2px);
     box-shadow: 0 12px 24px -10px rgba(196, 154, 61, .6);
 }

 .dpj-btn-outline {
     border-color: rgba(247, 243, 234, .4);
     color: var(--ivory);
 }

 .dpj-btn-outline:hover {
     border-color: var(--trishul-gold);
     color: var(--trishul-gold-soft);
 }

 .dpj-btn-icon-only {
     width: 42px;
     height: 42px;
     padding: 0;
     border-radius: 50%;
 }

 .dpj-btn-wa {
     background: #2FAE5B;
     color: #fff;
 }

 .dpj-btn-wa:hover {
     background: #279a4d;
     transform: translateY(-2px);
 }

 .dpj-burger {
     display: none;
     background: none;
     border: none;
     color: #000;
     font-size: 1.5rem;
 }

 /* Mobile nav */
 .dpj-mobile-nav {
     display: none;
     background: var(--ridge-pine);
     border-top: 1px solid rgba(196, 154, 61, .2);
 }

 .dpj-mobile-nav.open {
     display: block;
 }

 .dpj-mobile-nav ul {
     list-style: none;
     margin: 0;
     padding: 14px 20px 20px;
 }

 .dpj-mobile-nav>.dpj-container>ul>li {
     border-bottom: 1px solid rgba(255, 255, 255, .08);
 }

 .dpj-mobile-nav a {
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding: 14px 4px;
     color: var(--ivory-2);
     font-weight: 600;
 }

 .dpj-mobile-accordion-btn {
     width: 100%;
     background: none;
     border: none;
     text-align: left;
 }

 .dpj-mobile-sub {
     max-height: 0;
     overflow: hidden;
     transition: max-height .35s var(--ease);
     padding-left: 14px;
 }

 .dpj-mobile-sub.open {
     max-height: 300px;
 }

 .dpj-mobile-sub a {
     color: var(--trishul-gold-soft);
     font-weight: 500;
     padding: 10px 4px;
 }

 .dpj-mobile-cta {
     display: flex;
     gap: 10px;
     margin-top: 16px;
     flex-wrap: wrap;
 }

 @media (max-width:991.98px) {

     .dpj-nav,
     .dpj-header-cta .dpj-btn-outline,
     .dpj-header-cta .dpj-btn-gold {
         display: none;
     }

     .dpj-burger {
         display: block;
     }
 }

 /* =====================================================
   HERO SLIDER
===================================================== */
 .dpj-hero {
     position: relative;
     height: 85vh;
     min-height: 550px;
     overflow: hidden;
     color: var(--white);
 }

 .dpj-hero-slide {
     position: absolute;
     inset: 0;
     background-size: cover;
     background-position: center;
     opacity: 0;
     transition: opacity 1.4s ease;
 }

 .dpj-hero-slide.active {
     opacity: 1;
 }

 .dpj-hero-slide::after {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(180deg, rgba(10, 20, 15, .55) 0%, rgba(10, 20, 15, .35) 40%, rgba(10, 20, 15, .85) 100%);
 }

 .dpj-hero-content {
     position: relative;
     z-index: 5;
     height: 100%;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     text-align: center;
     padding: 0 20px;
 }

 .dpj-hero-rating {
     display: inline-flex;
     align-items: center;
     gap: 8px;
     background: rgba(247, 243, 234, .12);
     border: 1px solid rgba(228, 200, 118, .5);
     padding: 8px 18px;
     border-radius: 100px;
     font-size: .85rem;
     font-weight: 700;
     letter-spacing: .05em;
     margin-bottom: 26px;
     backdrop-filter: blur(6px);
 }

 .dpj-hero-rating i {
     color: var(--trishul-gold-soft);
 }

 .dpj-hero-title {
     font-size: 40px;
     font-weight: 700;
     line-height: 1.05;
     max-width: 920px;
     margin-bottom: 20px;
     text-shadow: 0 8px 40px rgba(0, 0, 0, .35);
 }

 .dpj-hero-title em {
     font-style: italic;
     color: var(--trishul-gold-soft);
 }

 .dpj-hero-desc {
     max-width: 800px;
     font-size: 1.08rem;
     color: rgba(247, 243, 234, .88);
     line-height: 1.7;
     margin-bottom: 36px;
 }

 .dpj-hero-ctas {
     display: flex;
     gap: 16px;
     flex-wrap: wrap;
     justify-content: center;
 }

 .dpj-btn-lg {
     padding: 16px 34px;
     font-size: .92rem;
 }

 .dpj-hero-nav {
     position: absolute;
     bottom: 36px;
     left: 0;
     right: 0;
     z-index: 6;
     display: flex;
     justify-content: center;
     gap: 10px;
 }

 .dpj-hero-dot {
     width: 34px;
     height: 4px;
     border-radius: 4px;
     background: rgba(255, 255, 255, .35);
     border: none;
     cursor: pointer;
     transition: background .3s;
 }

 .dpj-hero-dot.active {
     background: var(--trishul-gold);
 }

 .dpj-scroll-cue {
     position: absolute;
     bottom: 34px;
     right: 44px;
     z-index: 6;
     color: rgba(247, 243, 234, .75);
     writing-mode: vertical-rl;
     font-size: .72rem;
     letter-spacing: .2em;
     text-transform: uppercase;
     display: flex;
     align-items: center;
     gap: 10px;
 }

 .dpj-scroll-cue::after {
     content: "";
     width: 1px;
     height: 46px;
     background: linear-gradient(var(--trishul-gold-soft), transparent);
 }

 @media (max-width:767.98px) {
     .dpj-scroll-cue {
         display: none;
     }
 }

 /* =====================================================
   WELCOME SECTION
===================================================== */
 .dpj-welcome {
     padding: 50px 0 40px;
     background: var(--ivory);
 }

 .dpj-welcome-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 64px;
     align-items: center;
 }

 @media (max-width:991.98px) {
     .dpj-welcome-grid {
         grid-template-columns: 1fr;
         gap: 44px;
     }
 }

 .dpj-welcome-media {
     position: relative;
 }

 .dpj-welcome-media .dpj-img-main {
     border-radius: var(--radius-lg);
     overflow: hidden;
     box-shadow: var(--shadow-card);
     height: 480px;
 }

 .dpj-welcome-media .dpj-img-main img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .8s var(--ease);
 }

 .dpj-welcome-media:hover .dpj-img-main img {
     transform: scale(1.06);
 }

 .dpj-welcome-media .dpj-img-float {
     position: absolute;
     width: 46%;
     bottom: -40px;
     left: -36px;
     border-radius: var(--radius-md);
     overflow: hidden;
     border: 6px solid var(--ivory);
     box-shadow: var(--shadow-card);
 }

 .dpj-welcome-media .dpj-img-float img {
     height: 190px;
     object-fit: cover;
 }

 @media (max-width:575.98px) {
     .dpj-welcome-media .dpj-img-float {
         left: 0;
         width: 52%;
         bottom: -28px;
     }
 }

 .dpj-welcome-badge {
     position: absolute;
     top: -26px;
     right: 24px;
     background: var(--ridge-pine);
     color: var(--ivory);
     border-radius: 50%;
     width: 112px;
     height: 112px;
     display: flex;
     flex-direction: column;
     align-items: center;
     justify-content: center;
     text-align: center;
     box-shadow: var(--shadow-soft);
     border: 2px solid var(--trishul-gold);
 }

 .dpj-welcome-badge strong {
     font-family: var(--font-display);
     font-size: 1.5rem;
     color: var(--trishul-gold-soft);
     line-height: 1;
 }

 .dpj-welcome-badge span {
     font-size: .6rem;
     letter-spacing: .1em;
     text-transform: uppercase;
     margin-top: 4px;
 }

 .dpj-welcome-text p {
     color: var(--grey);
     line-height: 1.85;
     font-size: 1.02rem;
     margin-bottom: 20px;
 }

 .dpj-welcome-stats {
     display: flex;
     gap: 30px;
     margin-top: 36px;
     flex-wrap: wrap;
 }

 .dpj-welcome-stat strong {
     display: block;
     font-family: var(--font-display);
     font-size: 2rem;
     color: var(--ridge-pine);
 }

 .dpj-welcome-stat span {
     font-size: .78rem;
     color: var(--grey);
     letter-spacing: .03em;
 }

 /* =====================================================
   WHY CHOOSE US
===================================================== */
 .dpj-why {
     background: var(--ridge-pine);
     color: var(--ivory);
     padding: 0 0 50px;
     position: relative;
 }

 .dpj-why-head {
     padding-top: 20px;
     margin-bottom: 56px;
 }

 .dpj-why-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 28px;
 }

 @media (max-width:991.98px) {
     .dpj-why-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width:575.98px) {
     .dpj-why-grid {
         grid-template-columns: 1fr;
     }
 }

 .dpj-why-card {
     background: rgba(247, 243, 234, .04);
     border: 1px solid rgba(228, 200, 118, .18);
     border-radius: var(--radius-lg);
     padding: 34px 28px;
     transition: transform .35s var(--ease), background .35s var(--ease), border-color .35s;
 }

 .dpj-why-card:hover {
     transform: translateY(-8px);
     background: rgba(247, 243, 234, .08);
     border-color: var(--trishul-gold);
 }

 .dpj-why-icon {
     width: 56px;
     height: 56px;
     border-radius: 50%;
     background: rgba(196, 154, 61, .14);
     color: var(--trishul-gold-soft);
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.4rem;
     margin-bottom: 22px;
 }

 .dpj-why-card h3 {
     font-size: 1.18rem;
     margin-bottom: 10px;
     color: var(--white);
 }

 .dpj-why-card p {
     color: rgba(247, 243, 234, .72);
     font-size: .92rem;
     line-height: 1.7;
     margin: 0;
 }

 /* =====================================================
   ROOMS
===================================================== */
 .dpj-rooms {
     padding: 0px 0 50px;
     background: #fff;
 }

 .dpj-room-grid {
     display: grid;
     grid-template-columns: repeat(4, 1fr);
     gap: 26px;
     margin-top: 56px;
 }

 @media (max-width:1199.98px) {
     .dpj-room-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 @media (max-width:575.98px) {
     .dpj-room-grid {
         grid-template-columns: 1fr;
     }
 }

 .dpj-room-card {
     position: relative;
     border-radius: var(--radius-lg);
     overflow: hidden;
     box-shadow: var(--shadow-card);
     isolation: isolate;
 }

 .dpj-room-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transition: transform .8s var(--ease);
 }

 .dpj-room-card:hover img {
     transform: scale(1.1);
 }

 .dpj-room-card::after {
     content: "";
     position: absolute;
     inset: 0;
     z-index: 1;
     background: linear-gradient(180deg, rgba(20, 46, 34, 0) 30%, rgba(15, 26, 20, .94) 100%);
 }

 .dpj-room-tag {
     position: absolute;
     top: 18px;
     left: 18px;
     z-index: 2;
     background: var(--trishul-gold);
     color: var(--ridge-pine);
     font-size: .68rem;
     font-weight: 800;
     letter-spacing: .08em;
     text-transform: uppercase;
     padding: 6px 14px;
     border-radius: 100px;
 }

 .dpj-room-info {
     position: absolute;
     left: 0;
     right: 0;
     bottom: 0;
     z-index: 2;
     padding: 26px;
     color: var(--white);
 }

 .dpj-room-info h3 {
     font-size: 1.3rem;
     font-weight: 800;
     margin-bottom: 6px;
 }

 .dpj-room-info p {
     font-size: .85rem;
     color: rgba(247, 243, 234, .78);
     max-height: 0;
     overflow: hidden;
     opacity: 0;
     transition: max-height .4s var(--ease), opacity .4s var(--ease), margin .4s var(--ease);
     margin: 0;
 }

 .dpj-room-card:hover .dpj-room-info p {
     max-height: 80px;
     opacity: 1;
     margin-top: 8px;
 }

 .dpj-room-info .dpj-room-link {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     margin-top: 14px;
     font-size: .82rem;
     font-weight: 700;
     color: var(--trishul-gold-soft);
 }

 /* =====================================================
   FACILITIES
===================================================== */
 .dpj-facilities {
     padding: 50px 0;
     background: var(--ivory-2);
 }

 .dpj-fac-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 20px;
     margin-top: 50px;
 }

 @media (max-width:991.98px) {
     .dpj-fac-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 @media (max-width:575.98px) {
     .dpj-fac-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 .dpj-fac-card {
     background: var(--white);
     border-radius: var(--radius-md);
     padding: 30px 18px;
     text-align: center;
     box-shadow: 0 10px 26px -16px rgba(27, 27, 24, .2);
     transition: transform .3s var(--ease), box-shadow .3s var(--ease);
 }

 .dpj-fac-card:hover {
     transform: translateY(-6px);
     box-shadow: var(--shadow-card);
 }

 .dpj-fac-card i {
     font-size: 1.7rem;
     color: var(--trishul-gold);
     margin-bottom: 14px;
     display: block;
 }

 .dpj-fac-card span {
     font-size: .85rem;
     font-weight: 700;
     color: var(--ridge-pine);
 }

 /* =====================================================
   RESTAURANT
===================================================== */
 .dpj-restaurant {
     padding: 50px 0;
     background: var(--ridge-pine);
     color: var(--ivory);
 }

 .dpj-rest-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 60px;
     align-items: center;
 }

 @media (max-width:991.98px) {
     .dpj-rest-grid {
         grid-template-columns: 1fr;
         gap: 40px;
     }
 }

 .dpj-rest-media {
     position: relative;
     border-radius: var(--radius-lg);
     overflow: hidden;
     height: 520px;
     box-shadow: var(--shadow-soft);
 }

 .dpj-rest-media img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .dpj-rest-list {
     list-style: none;
     margin: 34px 0 0;
     padding: 0;
     display: grid;
     gap: 20px;
 }

 .dpj-rest-list li {
     display: flex;
     gap: 16px;
     align-items: flex-start;
 }

 .dpj-rest-list i {
     color: var(--trishul-gold-soft);
     font-size: 1.2rem;
     margin-top: 3px;
 }

 .dpj-rest-list h4 {
     font-size: 1.02rem;
     margin: 0 0 4px;
     color: var(--white);
 }

 .dpj-rest-list p {
     margin: 0;
     color: rgba(247, 243, 234, .7);
     font-size: .88rem;
     line-height: 1.6;
 }

 /* =====================================================
   ATTRACTIONS
===================================================== */
 .dpj-attractions {
     padding: 50px 0;
     background: var(--ivory);
 }

 .dpj-attr-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 20px;
     margin-top: 50px;
 }

 @media (max-width:1199.98px) {
     .dpj-attr-grid {
         grid-template-columns: repeat(3, 1fr);
     }
 }

 @media (max-width:575.98px) {
     .dpj-attr-grid {
         grid-template-columns: 1fr 1fr;
     }
 }

 .dpj-attr-card {
     position: relative;
     border-radius: var(--radius-md);
     overflow: hidden; 
     box-shadow: var(--shadow-card);
 }

 .dpj-attr-card img {
     width: 100%;
     height: 100%;
     object-fit: 100% 100%;
     transition: transform .7s var(--ease);
 }

 .dpj-attr-card:hover img {
     transform: scale(1.1);
 }

 .dpj-attr-card::after {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(180deg, transparent 40%, rgba(10, 20, 15, .9));
 }

 .dpj-attr-name {
     position: absolute;
     left: 16px;
     right: 16px;
     bottom: 16px;
     z-index: 2;
     color: var(--white);
     font-weight: 700;
     font-size: .95rem;
 }

 .dpj-attr-name small {
     display: block;
     font-weight: 500;
     color: var(--trishul-gold-soft);
     font-size: .72rem;
     margin-top: 3px;
 }

 /* =====================================================
   GALLERY (masonry)
===================================================== */
 .dpj-gallery {
     padding: 50px 0;
     background: var(--ivory-2);
 }

 .dpj-masonry {
     column-count: 4;
     column-gap: 18px;
     margin-top: 50px;
 }

 @media (max-width:991.98px) {
     .dpj-masonry {
         column-count: 3;
     }
 }

 @media (max-width:575.98px) {
     .dpj-masonry {
         column-count: 2;
     }
 }

 .dpj-masonry-item {
     break-inside: avoid;
     margin-bottom: 18px;
     border-radius: var(--radius-md);
     overflow: hidden;
     position: relative;
     cursor: pointer;
     box-shadow: 0 10px 26px -16px rgba(27, 27, 24, .25);
 }

 .dpj-masonry-item img {
     width: 100%;
     display: block;
     transition: transform .6s var(--ease), filter .6s var(--ease);
 }

 .dpj-masonry-item:hover img {
     transform: scale(1.08);
 }

 .dpj-masonry-item::after {
     content: "\f52a";
     font-family: "bootstrap-icons";
     position: absolute;
     inset: 0;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-size: 1.5rem;
     background: rgba(20, 46, 34, 0);
     opacity: 0;
     transition: all .35s var(--ease);
 }

 .dpj-masonry-item:hover::after {
     opacity: 1;
     background: rgba(20, 46, 34, .38);
 }

 .dpj-lightbox {
     position: fixed;
     inset: 0;
     z-index: 2000;
     background: rgba(10, 15, 12, .94);
     display: none;
     align-items: center;
     justify-content: center;
     padding: 30px;
 }

 .dpj-lightbox.open {
     display: flex;
 }

 .dpj-lightbox img {
     max-width: 90vw;
     max-height: 85vh;
     border-radius: var(--radius-md);
     box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
 }

 .dpj-lightbox-close,
 .dpj-lightbox-nav {
     position: absolute;
     background: rgba(247, 243, 234, .1);
     border: 1px solid rgba(247, 243, 234, .3);
     color: var(--white);
     width: 46px;
     height: 46px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     font-size: 1.1rem;
 }

 .dpj-lightbox-close {
     top: 26px;
     right: 26px;
 }

 .dpj-lightbox-nav.prev {
     left: 26px;
     top: 50%;
     transform: translateY(-50%);
 }

 .dpj-lightbox-nav.next {
     right: 26px;
     top: 50%;
     transform: translateY(-50%);
 }

 /* =====================================================
   REVIEWS
===================================================== */
 .dpj-reviews {
     padding: 50px 0;
     background: var(--ivory);
 }

 .dpj-review-score {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 24px;
     margin-bottom: 50px;
     flex-wrap: wrap;
 }

 .dpj-review-score-num {
     font-family: var(--font-display);
     font-size: 4rem;
     color: var(--ridge-pine);
     line-height: 1;
 }

 .dpj-review-stars {
     color: var(--trishul-gold);
     font-size: 1.3rem;
     letter-spacing: 4px;
 }

 .dpj-review-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 26px;
 }

 @media (max-width:991.98px) {
     .dpj-review-grid {
         grid-template-columns: 1fr;
     }
 }

 .dpj-review-card {
     background: var(--white);
     border-radius: var(--radius-lg);
     padding: 32px;
     box-shadow: 0 10px 30px -18px rgba(27, 27, 24, .2);
     border: 1px solid rgba(196, 154, 61, .14);
 }

 .dpj-review-card .stars {
     color: var(--trishul-gold);
     font-size: .9rem;
     margin-bottom: 14px;
 }

 .dpj-review-card p {
     color: var(--charcoal);
     font-size: .94rem;
     line-height: 1.75;
     margin-bottom: 20px;
 }

 .dpj-reviewer {
     display: flex;
     align-items: center;
     gap: 12px;
 }

 .dpj-reviewer-avatar {
     width: 44px;
     height: 44px;
     border-radius: 50%;
     background: var(--ridge-pine);
     color: var(--trishul-gold-soft);
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 700;
     font-family: var(--font-display);
 }

 .dpj-reviewer strong {
     display: block;
     font-size: .9rem;
     color: var(--ridge-pine);
 }

 .dpj-reviewer span {
     font-size: .75rem;
     color: var(--grey);
 }

 /* =====================================================
   BOOKING CTA BAND
===================================================== */
 .dpj-cta-band {
     position: relative;
     padding: 50px 0;
     background: linear-gradient(rgba(15, 26, 20, .86), rgba(15, 26, 20, .9)),
         url('https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=1600&q=80&auto=format&fit=crop') center/cover fixed;
     color: var(--white);
     text-align: center;
 }

 .dpj-cta-band h2 {
     font-size: clamp(1.8rem, 3.5vw, 2.8rem);
     max-width: 760px;
     margin: 0 auto 18px;
 }

 .dpj-cta-band p {
     color: rgba(247, 243, 234, .82);
     max-width: 560px;
     margin: 0 auto 40px;
 }

 .dpj-cta-buttons {
     display: flex;
     justify-content: center;
     gap: 16px;
     flex-wrap: wrap;
 }

 /* =====================================================
   FAQ
===================================================== */
 .dpj-faq {
     padding: 50px 0;
     background: var(--ivory);
 }

 .dpj-faq-wrap {
     max-width: 820px;
     margin: 50px auto 0;
 }

 .dpj-faq-item {
     border-bottom: 1px solid rgba(20, 46, 34, .14);
 }

 .dpj-faq-q {
     width: 100%;
     text-align: left;
     background: none;
     border: none;
     padding: 22px 4px;
     display: flex;
     justify-content: space-between;
     align-items: center;
     font-family: var(--font-display);
     font-size: 1.08rem;
     color: var(--ridge-pine);
     font-weight: 600;
     cursor: pointer;
 }

 .dpj-faq-q i {
     transition: transform .35s var(--ease);
     color: var(--trishul-gold);
 }

 .dpj-faq-item.open .dpj-faq-q i {
     transform: rotate(135deg);
 }

 .dpj-faq-a {
     max-height: 0;
     overflow: hidden;
     transition: max-height .4s var(--ease);
 }

 .dpj-faq-a p {
     color: var(--grey);
     padding: 0 4px 22px;
     line-height: 1.75;
     margin: 0;
 }

 /* =====================================================
   CONTACT
===================================================== */
 .dpj-contact {
     padding: 50px 0;
     background: var(--ridge-pine);
     color: var(--ivory);
 }

 .dpj-contact-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 56px;
 }

 @media (max-width:991.98px) {
     .dpj-contact-grid {
         grid-template-columns: 1fr;
     }
 }

 .dpj-contact-info-item {
     display: flex;
     gap: 16px;
     margin-bottom: 26px;
     align-items: flex-start;
 }

 .dpj-contact-info-item i {
     width: 44px;
     height: 44px;
     flex-shrink: 0;
     border-radius: 50%;
     background: rgba(196, 154, 61, .14);
     color: var(--trishul-gold-soft);
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .dpj-contact-info-item h4 {
     font-size: 1rem;
     margin: 0 0 4px;
     color: var(--white);
 }

 .dpj-contact-info-item p,
 .dpj-contact-info-item a {
     margin: 0;
     color: rgba(247, 243, 234, .75);
     font-size: .9rem;
     line-height: 1.6;
 }

 .dpj-contact-info-item a:hover {
     color: var(--trishul-gold-soft);
 }

 .dpj-map-embed {
     border-radius: var(--radius-md);
     overflow: hidden;
     height: 220px;
     margin-top: 8px;
     background: rgba(247, 243, 234, .06);
     border: 1px solid rgba(228, 200, 118, .2);
     display: flex;
     align-items: center;
     justify-content: center;
     color: rgba(247, 243, 234, .5);
     font-size: .85rem;
     flex-direction: column;
     gap: 10px;
 }

 .dpj-map-embed i {
     font-size: 1.6rem;
     color: var(--trishul-gold);
 }

 .dpj-form-card {
     background: var(--ivory);
     border-radius: var(--radius-lg);
     padding: 40px;
     box-shadow: var(--shadow-soft);
 }

 .dpj-form-card h3 {
     color: var(--ridge-pine);
     margin-bottom: 6px;
 }

 .dpj-form-card p.sub {
     color: var(--grey);
     font-size: .9rem;
     margin-bottom: 26px;
 }

 .dpj-form-group {
     margin-bottom: 18px;
 }

 .dpj-form-group label {
     display: block;
     font-size: .78rem;
     font-weight: 700;
     letter-spacing: .03em;
     text-transform: uppercase;
     color: var(--ridge-pine);
     margin-bottom: 8px;
 }

 .dpj-form-group input,
 .dpj-form-group select,
 .dpj-form-group textarea {
     width: 100%;
     border: 1px solid rgba(20, 46, 34, .18);
     border-radius: var(--radius-sm);
     padding: 13px 15px;
     font-family: var(--font-body);
     background: var(--white);
     font-size: .92rem;
     transition: border-color .25s;
 }

 .dpj-form-group input:focus,
 .dpj-form-group select:focus,
 .dpj-form-group textarea:focus {
     outline: none;
     border-color: var(--trishul-gold);
 }

 .dpj-form-row {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 16px;
 }

 @media (max-width:575.98px) {
     .dpj-form-row {
         grid-template-columns: 1fr;
     }
 }

 .dpj-form-submit {
     width: 100%;
     border: none;
     padding: 15px;
     border-radius: 100px;
     background: var(--ridge-pine);
     color: var(--white);
     font-weight: 700;
     letter-spacing: .03em;
     cursor: pointer;
     transition: all .3s var(--ease);
 }

 .dpj-form-submit:hover {
     background: var(--trishul-gold);
     color: var(--ridge-pine);
 }

 /* =====================================================
   FOOTER
===================================================== */
 .dpj-footer {
     background: #0E211A;
     color: rgba(247, 243, 234, .72);
     padding: 50px 0 0;
 }

 .dpj-footer-grid {
     display: grid;
     grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
     gap: 40px;
     padding-bottom: 56px;
     border-bottom: 1px solid rgba(247, 243, 234, .08);
 }

 @media (max-width:991.98px) {
     .dpj-footer-grid {
         grid-template-columns: 1fr 1fr;
     }
 }

 @media (max-width:575.98px) {
     .dpj-footer-grid {
         grid-template-columns: 1fr;
     }
 }

 .dpj-footer h5 {
     color: var(--white);
     font-family: var(--font-body);
     font-weight: 700;
     font-size: .86rem;
     letter-spacing: .08em;
     text-transform: uppercase;
     margin-bottom: 20px;
 }

 .dpj-footer-brand p {
     font-size: .9rem;
     line-height: 1.75;
     max-width: 320px;
 }

 .dpj-footer ul {
     list-style: none;
     padding: 0;
     margin: 0;
     display: grid;
     gap: 12px;
 }

 .dpj-footer ul a {
     color: rgba(247, 243, 234, .65);
     font-size: .88rem;
     transition: color .25s;
 }

 .dpj-footer ul a:hover {
     color: var(--trishul-gold-soft);
 }

 .dpj-footer-social {
     display: flex;
     gap: 10px;
     margin-top: 20px;
 }

 .dpj-footer-social a {
     width: 38px;
     height: 38px;
     border-radius: 50%;
     border: 1px solid rgba(247, 243, 234, .2);
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--ivory);
     transition: all .25s;
 }

 .dpj-footer-social a:hover {
     background: var(--trishul-gold);
     border-color: var(--trishul-gold);
     color: var(--ridge-pine);
 }

 .dpj-footer-bottom {
     display: flex;
     justify-content: space-between;
     align-items: center;
     padding: 26px 0;
     font-size: .8rem;
     flex-wrap: wrap;
     gap: 10px;
 }

 .dpj-footer-bottom a {
     color: rgba(247, 243, 234, .6);
 }

 /* Floating contact buttons (mobile) */
 .dpj-float-actions {
     position: fixed;
     bottom: 22px;
     right: 22px;
     z-index: 900;
     display: flex;
     flex-direction: column;
     gap: 12px;
 }

 .dpj-float-actions a {
     width: 52px;
     height: 52px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.3rem;
     box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .4);
     color: #fff;
 }

 .dpj-float-actions .wa {
     background: #2FAE5B;
 }

 .dpj-float-actions .call {
     background: var(--ridge-pine);
 }

 .dpj-reveal {
     opacity: 0;
     transform: translateY(28px);
     transition: opacity .8s var(--ease), transform .8s var(--ease);
 }

 .dpj-reveal.dpj-visible {
     opacity: 1;
     transform: translateY(0);
 }

 .dpj-brand img{
    width: 100px;
 }

 
 :root {
    --hdpi-bc-black: #080808;
    --hdpi-bc-dark: #111111;
    --hdpi-bc-white: #ffffff;
    --hdpi-bc-muted: #b7b7b7;

    /* Replace this colour with your logo primary colour */
    --hdpi-bc-accent: #c6a15b;
}

* {
    box-sizing: border-box;
}

.hdpi-breadcrumb-section {
    position: relative;
    display: flex;
    align-items: center; 
    padding: 50px 0 30px;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 1) 48%,
            rgba(0, 0, 0, 1) 100%
        ),
        url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1920&q=85")
        center center / cover no-repeat;
    color: var(--hdpi-bc-white);
    isolation: isolate;
} 

.hdpi-breadcrumb-section::after {
    content: "";
    position: absolute;
    top: 0;
    left: 7%;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.06);
}

.hdpi-breadcrumb-pattern {
    position: absolute;
    top: -140px;
    right: -90px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.hdpi-breadcrumb-pattern::before,
.hdpi-breadcrumb-pattern::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.hdpi-breadcrumb-pattern::before {
    inset: 50px;
}

.hdpi-breadcrumb-pattern::after {
    inset: 105px;
}

.hdpi-breadcrumb-content {
    position: relative;
    max-width: 820px;
    z-index: 2;
}

.hdpi-breadcrumb-nav {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 35px;
    padding: 11px 19px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-family: "Manrope", sans-serif;
}

.hdpi-breadcrumb-nav a,
.hdpi-breadcrumb-current {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--hdpi-bc-white);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 1.6px;
    text-decoration: none;
    text-transform: uppercase;
    transition: color 0.3s ease;
}

.hdpi-breadcrumb-nav a:hover {
    color: var(--hdpi-bc-accent);
}

.hdpi-breadcrumb-nav a i {
    font-size: 14px;
    color: var(--hdpi-bc-accent);
}

.hdpi-breadcrumb-separator {
    display: inline-flex;
    color: rgba(255, 255, 255, 0.45);
    font-size: 10px;
}

.hdpi-breadcrumb-current {
    color: var(--hdpi-bc-accent);
}

.hdpi-breadcrumb-subtitle {
    display: block;
    margin-bottom: 13px;
    color: var(--hdpi-bc-accent);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3.5px;
    text-transform: uppercase;
}

.hdpi-breadcrumb-title {
    max-width: 760px;
    margin: 0;
    color: var(--hdpi-bc-white); 
    font-size: 30px;
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -1px;
}

.hdpi-breadcrumb-divider {
    display: flex;
    align-items: center;
    width: 105px;
    height: 10px;
    margin: 26px 0 24px;
}

.hdpi-breadcrumb-divider::before {
    content: "";
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border: 2px solid var(--hdpi-bc-accent);
    transform: rotate(45deg);
}

.hdpi-breadcrumb-divider span {
    display: block;
    width: 88px;
    height: 1px;
    background: var(--hdpi-bc-accent);
}

.hdpi-breadcrumb-description {
    max-width: 680px;
    margin: 0 0 32px;
    color: var(--hdpi-bc-muted);
    font-family: "Manrope", sans-serif;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.8;
}

.hdpi-breadcrumb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 52px;
    padding: 0 27px;
    border: 1px solid var(--hdpi-bc-accent);
    background: transparent;
    color: var(--hdpi-bc-white);
    font-family: "Manrope", sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        background-color 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease;
}

.hdpi-breadcrumb-btn i {
    font-size: 16px;
    transition: transform 0.35s ease;
}

.hdpi-breadcrumb-btn:hover {
    background: var(--hdpi-bc-accent);
    color: var(--hdpi-bc-black);
    transform: translateY(-3px);
}

.hdpi-breadcrumb-btn:hover i {
    transform: translate(3px, -3px);
}

.hdpi-breadcrumb-bottom-shape {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 34%;
    height: 5px;
    background: var(--hdpi-bc-accent);
}

.hdpi-breadcrumb-bottom-shape::before {
    content: "";
    position: absolute;
    left: -35px;
    top: 0;
    width: 40px;
    height: 5px;
    background: var(--hdpi-bc-accent);
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

/* Tablet */
@media (max-width: 991.98px) {
    .hdpi-breadcrumb-section {
        min-height: 420px;
        padding: 110px 0 90px;
        background-position: 62% center;
    }

    .hdpi-breadcrumb-content {
        max-width: 700px;
    }

    .hdpi-breadcrumb-description {
        max-width: 610px;
        font-size: 16px;
    }

    .hdpi-breadcrumb-pattern {
        width: 320px;
        height: 320px;
        top: -110px;
        right: -100px;
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    .hdpi-breadcrumb-section {
        min-height: 390px;
        padding: 85px 0 70px;
        background:
            linear-gradient(
                rgba(0, 0, 0, 0.91),
                rgba(0, 0, 0, 0.91)
            ),
            url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1000&q=80")
            center center / cover no-repeat;
    }

    .hdpi-breadcrumb-section::after {
        display: none;
    }

    .hdpi-breadcrumb-nav {
        gap: 8px;
        margin-bottom: 26px;
        padding: 10px 15px;
    }

    .hdpi-breadcrumb-nav a,
    .hdpi-breadcrumb-current {
        font-size: 10px;
        letter-spacing: 1px;
    }

    .hdpi-breadcrumb-subtitle {
        font-size: 11px;
        letter-spacing: 2.2px;
    }

    .hdpi-breadcrumb-title {
        font-size: clamp(38px, 12vw, 54px);
        line-height: 1.12;
    }

    .hdpi-breadcrumb-divider {
        margin: 20px 0;
    }

    .hdpi-breadcrumb-description {
        margin-bottom: 26px;
        font-size: 15px;
        line-height: 1.7;
    }

    .hdpi-breadcrumb-btn {
        min-height: 49px;
        padding: 0 21px;
        font-size: 11px;
    }

    .hdpi-breadcrumb-pattern {
        display: none;
    }

    .hdpi-breadcrumb-bottom-shape {
        width: 48%;
        height: 4px;
    }
}

/* Small Mobile */
@media (max-width: 420px) {
    .hdpi-breadcrumb-section {
        padding: 75px 0 62px;
    }

    .hdpi-breadcrumb-nav {
        max-width: 100%;
    }

    .hdpi-breadcrumb-description br {
        display: none;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .hdpi-breadcrumb-btn,
    .hdpi-breadcrumb-btn i,
    .hdpi-breadcrumb-nav a {
        transition: none;
    }
}