:root {
    --orange: #d95a13;
    --orange-dark: #b9440c;
    --maroon: #681e1b;
    --ink: #241914;
    --cream: #fff9f1;
    --cream2: #fdf2e6;
    --line: #ead7c4;
    --muted: #74645d;
    --shadow: 0 10px 28px rgba(77, 43, 22, .11);
    --font-subtitle: "Noto Sans", "Segoe UI", Arial, sans-serif;
    --font-heading: "Noto Sans", "Segoe UI", Arial, sans-serif;
    --font-paragraph: "Noto Sans", "Segoe UI", Arial, sans-serif
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px
}

html {
    overflow-x: hidden
}

body {
    overflow: visible
}

body {
    margin: 0;
    font-family: var(--font-paragraph);
    color: var(--ink);
    background: #fffaf4;
    line-height: 1.55
}

h1,
h2,
h3 {
    font-family: var(--font-heading)
}

a {
    text-decoration: none
}

img {
    max-width: 100%
}

.container {
    max-width: 1440px
}

.btn {
    border-radius: 6px;
    font-weight: 700;
    font-size: .82rem;
    padding: .72rem 1.4rem
}

.btn-saffron {
    color: #fff;
    background: linear-gradient(135deg, #ea701d, var(--orange-dark));
    border: 0;
    box-shadow: 0 6px 16px rgba(191, 67, 8, .2)
}

.btn-saffron:hover {
    color: #fff;
    background: #a93c09
}

.btn-outline-brown {
    border: 1px solid #ba8a6d;
    color: #5c3526
}

.eyebrow {
    display: block;
    color: var(--orange);
    font-weight: 700;
    font-size: .73rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: .65rem
}

.topbar {
    color: #fff4e8;
    background: linear-gradient(90deg, #211106, #42210d, #211106);
    font-size: .72rem
}

.topbar i {
    color: #ef711d
}

.topbar a {
    color: #fff
}

.topbar .btn {
    padding: .45rem 1rem
}

/* Language switcher (topbar) */
.lang-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    padding: 0 1.55rem 0 1.9rem;
    line-height: 1;
    transition: background .2s ease, border-color .2s ease
}

.lang-switcher:hover {
    background: rgba(255, 255, 255, .2);
    border-color: rgba(255, 255, 255, .4)
}

.lang-switcher-icon {
    position: absolute;
    left: .6rem;
    top: 50%;
    transform: translateY(-50%);
    color: #ef711d !important;
    pointer-events: none;
    font-size: .8rem
}

.lang-switcher-caret {
    position: absolute;
    right: .55rem;
    top: 50%;
    transform: translateY(-50%);
    color: #fff4e8 !important;
    pointer-events: none;
    font-size: .65rem
}

.lang-switcher-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: transparent;
    border: 0;
    outline: none;
    color: #fff;
    font-size: .72rem;
    font-weight: 500;
    padding: .35rem 0;
    cursor: pointer;
    max-width: 130px
}

.lang-switcher-select:focus-visible {
    outline: 2px solid #ef711d;
    outline-offset: 2px;
    border-radius: 4px
}

.lang-switcher-select option {
    color: #211106;
    background: #fff
}

/* Keep Google Translate's engine hidden and stop it shifting the page */
#google_translate_element {
    display: none !important
}

.goog-te-banner-frame,
.skiptranslate {
    display: none !important
}

body {
    top: 0 !important
}

body>.skiptranslate {
    display: none !important
}

.navbar {
    min-height: 64px;
    padding-top: .25rem;
    padding-bottom: .25rem
}

.navbar-brand {
    display: block;
    width: 190px
}

.navbar-brand img {
    width: 100%;
    height: 54px;
    object-fit: contain;
    object-position: left center
}

.navbar .nav-link {
    position: relative;
    color: #1f1815 !important;
    font-weight: 700;
    font-size: 1rem;
    padding: 1.25rem .65rem !important;
    white-space: nowrap
}

.navbar .nav-link:after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: 0;
    height: 3px;
    background: var(--orange);
    transition: .2s
}

.navbar .nav-link:hover:after,
.navbar .nav-link.active:after {
    left: .6rem;
    right: .6rem
}

.navbar .nav-link.active {
    color: var(--orange) !important
}

.state-mark {
    width: 105px;
    height: 55px;
    object-fit: contain
}

.state-mark-link {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto
}

.hero {
    min-height: 500px;
    position: relative;
    background-image: linear-gradient(90deg, #fffaf4 0%, rgba(255, 250, 244, .96) 28%, rgba(255, 250, 244, .4) 49%, rgba(255, 250, 244, .03) 70%), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: center 42%
}

.hero:after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 32px;
    background: linear-gradient(to top, #fffaf4, transparent)
}

.hero-inner {
    min-height: 500px;
    display: flex;
    align-items: center
}

.hero-copy {
    position: relative;
    z-index: 1;
    width: 48%;
    padding: 3rem 0
}

.hero h1 {
    font-size: clamp(3.2rem, 5vw, 5rem);
    line-height: 1;
    margin: 0 0 1.25rem;
    color: var(--maroon);
    text-transform: uppercase;
    letter-spacing: -.025em
}

.hero h1 em {
    font-style: normal;
    color: var(--orange)
}

.hero-copy>p {
    font-size: 1.08rem;
    line-height: 1.9;
    margin-bottom: 1.6rem
}

.hero-promises {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .75rem;
    margin: 1.6rem 0
}

.hero-promises>div {
    display: flex;
    align-items: center;
    gap: .5rem
}

.hero-promises i {
    font-size: 1.55rem;
    color: var(--orange)
}

.hero-promises strong,
.hero-promises small {
    display: block
}

.hero-promises strong {
    font-size: .66rem
}

.hero-promises small {
    font-size: .58rem;
    color: var(--muted)
}

.section-pad {
    padding: 4.2rem 0
}

.about-leaders {
    background: #fffaf4
}

.about-split {
    display: grid;
    grid-template-columns: 1.35fr .8fr;
    gap: 1rem;
    align-items: center
}

.about-split h2 {
    font-size: 2rem;
    line-height: 1.12
}

.about-split h2 span {
    color: var(--orange)
}

.about-split p {
    font-size: .72rem;
    line-height: 1.75
}

.about-split ul {
    list-style: none;
    padding: 0;
    margin: 1rem 0
}

.about-split li {
    font-size: .68rem;
    margin: .45rem 0
}

.about-split li:before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    color: #fff;
    background: var(--orange);
    font-size: .55rem;
    margin-right: .5rem
}

.about-photo {
    height: 355px;
    border-radius: 50% 45% 48% 44%/35% 35% 55% 55%;
    overflow: hidden
}

.about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center
}

.leaders-heading {
    text-transform: uppercase;
    font-weight: 700;
    font-size: .72rem;
    margin-bottom: 1rem;
    text-align: center
}

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

.leader-card {
    text-align: center;
    border: 1px solid var(--line);
    border-radius: 9px;
    padding: 1rem .65rem;
    background: #fffaf5;
    box-shadow: 0 3px 12px rgba(70, 35, 14, .06)
}

.leader-card img {
    width: 104px;
    height: 118px;
    object-fit: cover;
    object-position: top;
    border-radius: 45% 45% 12px 12px;
    background: #f7e4d4
}

.leader-card h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .76rem;
    line-height: 1.4;
    font-weight: 700;
    margin: .8rem 0 .35rem
}

.leader-card p {
    font-size: .59rem;
    line-height: 1.6;
    min-height: 57px;
    margin: 0 0 .8rem
}

.leader-card a {
    color: #e05d1c;
    margin: 0 .28rem;
    font-size: .75rem
}

.compact-section {
    padding: 1.2rem 0 2rem
}

.ornament-title {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem
}

.ornament-title:before,
.ornament-title span:after {
    content: "";
    display: inline-block;
    width: 70px;
    height: 1px;
    background: #dd9b6e;
    vertical-align: middle;
    margin: 0 1rem
}

.ornament-title span {
    flex: 1;
    text-align: center;
    text-transform: uppercase;
    font-family: "Marcellus", serif;
    font-size: 1.45rem
}

.ornament-title a,
.panel-title a {
    font-size: .66rem;
    color: #6d3421;
    border: 1px solid #d4a78a;
    border-radius: 5px;
    padding: .45rem .85rem
}

.attraction-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: .7rem
}

.attraction-card,
.site-card {
    background: #fff;
    border: 1px solid #eee0d2;
    border-radius: 7px;
    box-shadow: 0 4px 14px rgba(67, 36, 20, .07);
    overflow: hidden;
    text-align: center
}

.attraction-image {
    height: 130px;
    position: relative;
    background-image: url(../images/hero-pinddaan.png);
    background-size: 350%;
    background-position: center;
    filter: saturate(1.05)
}

.attraction-image i {
    position: absolute;
    right: 5px;
    bottom: 5px;
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: var(--orange);
    background: #fff;
    font-size: .8rem
}

.attraction-card:nth-child(2n) .attraction-image {
    background-image: url(../images/gaya-destinations.png);
    background-size: 220%
}

.attraction-card:nth-child(3n) .attraction-image {
    background-position: 80% center
}

.attraction-card:nth-child(4n) .attraction-image {
    background-position: 20% bottom
}

.attraction-card h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .64rem;
    font-weight: 700;
    margin: .55rem .2rem .65rem
}

.pilgrimage-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem
}

.site-image {
    height: 170px;
    background-image: url(../images/gaya-destinations.png);
    background-size: 200% 200%;
    background-repeat: no-repeat
}

.site-vishnupad {
    background-position: left top
}

.site-phalgu {
    background-position: right top
}

.site-pretshila {
    background-position: left bottom
}

.site-akshay {
    background-position: right bottom
}

.site-mangla {
    background-image: url(../../img/officer/unnamed.webp);
    background-size: cover;
    background-position: center
}

.site-card>div:last-child {
    padding: .75rem
}

.site-card h3 {
    font-family: "DM Sans", sans-serif;
    color: #b34020;
    font-size: .82rem;
    font-weight: 700;
    margin: 0 0 .35rem
}

.site-card p {
    font-size: .63rem;
    margin: 0
}

.home-wide-banner {
    width: 100%;
    line-height: 0;
    overflow: hidden
}

.home-wide-banner img {
    display: block;
    width: 100%;
    height: auto
}

.attraction-slider {
    position: relative;
    padding: 0 2.6rem
}

.attraction-viewport {
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none
}

.attraction-viewport::-webkit-scrollbar {
    display: none
}

.attraction-track {
    display: flex;
    gap: 1rem
}

.attraction-track .attraction-card {
    flex: 0 0 calc((100% - 3rem)/4);
    min-width: 0;
    scroll-snap-align: start;
    text-align: left;
    border-radius: 10px
}

.attraction-photo {
    display: block;
    width: 100%;
    height: 210px;
    object-fit: cover
}

.attraction-card-copy {
    position: relative;
    padding: 1.1rem 1rem .9rem;
    text-align: center
}

.attraction-card-copy>span {
    position: absolute;
    left: 50%;
    top: -22px;
    transform: translateX(-50%);
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid #edb78d;
    border-radius: 50%;
    color: var(--orange);
    background: #fff;
    font-size: 1.1rem
}

.attraction-card-copy h3 {
    font-size: .83rem !important;
    color: #6a261a;
    margin: .45rem 0 .35rem !important
}

.attraction-card-copy a {
    color: var(--orange);
    font-size: .62rem;
    font-weight: 700
}

.attraction-control {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid #e5b18a;
    border-radius: 50%;
    color: #9e3e19;
    background: #fff;
    box-shadow: 0 5px 15px rgba(65, 31, 13, .14);
    transform: translateY(-50%);
    transition: .2s
}

.attraction-control:hover {
    color: #fff;
    background: var(--orange)
}

.attraction-control:disabled {
    opacity: .35;
    cursor: not-allowed
}

.attraction-prev {
    left: 0
}

.attraction-next {
    right: 0
}

@media(max-width:991.98px) {
    .attraction-track .attraction-card {
        flex-basis: calc((100% - 1rem)/2)
    }
}

@media(max-width:575.98px) {
    .attraction-slider {
        padding: 0 2rem
    }

    .attraction-track .attraction-card {
        flex-basis: 100%;
        min-width: 0
    }

    .attraction-photo {
        height: 230px
    }

    .attraction-control {
        width: 32px;
        height: 32px
    }
}

/* Where to Stay in Gaya page */
.stay-page {
    --stay-maroon: #7c211f;
    --stay-gold: #bb7b1c;
    --stay-green: #27643c;
    font-size: 16px;
    color: #261d18;
    background: #fffaf3
}

.stay-page h1,
.stay-page h2 {
    font-family: "Marcellus", Georgia, serif !important
}

.stay-hero {
    position: relative;
    min-height: 500px;
    overflow: hidden;
    background: #f8f0e4
}

.stay-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../../img/home bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transform: scaleX(-1)
}

.stay-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 250, 243, .98) 0 28%, rgba(255, 250, 243, .79) 43%, rgba(255, 250, 243, .08) 67%)
}

.stay-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 500px;
    display: flex;
    align-items: center
}

.stay-hero-copy {
    width: 47%;
    padding: 3.5rem 0
}

.stay-kicker {
    display: block;
    margin-bottom: .7rem;
    color: #b35b1d;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase
}

.stay-hero h1 {
    margin: 0;
    color: #17110f;
    font-size: clamp(3.5rem, 5.8vw, 6.2rem);
    line-height: .95;
    letter-spacing: -.025em
}

.stay-hero h1 em {
    display: block;
    color: var(--stay-maroon);
    font-style: normal
}

.stay-ornament {
    position: relative;
    width: 235px;
    height: 18px;
    margin: 1.45rem 0
}

.stay-ornament::before,
.stay-ornament::after {
    content: "";
    position: absolute;
    top: 8px;
    width: 100px;
    height: 1px;
    background: #bd8a3b
}

.stay-ornament::before {
    left: 0
}

.stay-ornament::after {
    right: 0
}

.stay-ornament i,
.stay-card-divider i {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 10px;
    height: 10px;
    border: 2px solid #b8781b;
    transform: translateX(-50%) rotate(45deg)
}

.stay-hero-copy>p {
    max-width: 430px;
    margin: 0;
    font-size: 1.2rem;
    line-height: 1.55
}

.stay-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 2.2rem
}

.stay-benefits>div {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 65px;
    padding: 0 1rem;
    border-right: 1px solid #dccdbc
}

.stay-benefits>div:first-child {
    padding-left: 0
}

.stay-benefits>div:last-child {
    border: 0
}

.stay-benefits i {
    color: #a9362d;
    font-size: 2.25rem
}

.stay-benefits span {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35
}

.stay-options-section {
    position: relative;
    overflow: hidden;
    padding: 3.2rem 0 4rem;
    background-color: #fffaf3;
    background-image: radial-gradient(circle at 0 50%, rgba(198, 145, 71, .1), transparent 24%), radial-gradient(circle at 100% 50%, rgba(198, 145, 71, .1), transparent 24%)
}

.stay-options-section::before,
.stay-options-section::after {
    content: "✦";
    position: absolute;
    color: rgba(165, 104, 34, .08);
    font-size: 18rem;
    line-height: 1
}

.stay-options-section::before {
    left: -4rem;
    top: 1rem
}

.stay-options-section::after {
    right: -4rem;
    bottom: -5rem
}

.stay-section-heading {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin: 0 auto 2rem;
    text-align: center
}

.stay-section-heading>span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    color: var(--stay-maroon);
    font-family: "Marcellus", Georgia, serif;
    font-size: clamp(1.7rem, 2.6vw, 2.5rem);
    font-weight: 700;
    text-transform: uppercase
}

.stay-section-heading>span::before,
.stay-section-heading>span::after {
    content: "";
    width: 70px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b97c26)
}

.stay-section-heading>span::after {
    background: linear-gradient(90deg, #b97c26, transparent)
}

.stay-section-heading p {
    margin: .65rem 0 0;
    font-size: 16px;
    line-height: 1.5
}

.stay-option-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem
}

.stay-option-card {
    --stay-accent: var(--stay-maroon);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 540px;
    border: 1px solid color-mix(in srgb, var(--stay-accent) 18%, #eadfd2);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 38px rgba(74, 44, 21, .12);
    transition: transform .25s ease, box-shadow .25s ease
}

.stay-option-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 38px rgba(74, 44, 21, .16)
}

.stay-hotel {
    --stay-accent: var(--stay-gold)
}

.stay-tent {
    --stay-accent: var(--stay-green)
}

.stay-card-image {
    position: relative;
    min-height: 255px;
    background-size: cover;
    background-position: center;
    isolation: isolate
}

.stay-card-image::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--stay-accent) 55%, transparent) 100%)
}

.stay-government .stay-card-image {
    background-image: url("../../img/stay/government-accommodation.png")
}

.stay-hotel .stay-card-image {
    background-image: url("../../img/stay/hotel-guest-house.png")
}

.stay-tent .stay-card-image {
    background-image: url("../../img/stay/tent-city.png")
}

.stay-card-number {
    position: absolute;
    right: 1.1rem;
    bottom: .7rem;
    color: rgba(255, 255, 255, .88);
    font-family: "Marcellus", Georgia, serif;
    font-size: 3.2rem;
    line-height: 1;
    text-shadow: 0 3px 16px rgba(0, 0, 0, .28)
}

.stay-card-copy {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 1.7rem 1.5rem 1.5rem
}

.stay-card-icon {
    display: grid;
    place-items: center;
    width: 60px;
    height: 60px;
    margin-top: -3.55rem;
    border: 5px solid #fff;
    color: #fff;
    border-radius: 12px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--stay-accent) 78%, #fff), var(--stay-accent));
    box-shadow: 0 7px 16px color-mix(in srgb, var(--stay-accent) 25%, transparent);
    font-size: 1.55rem
}

.stay-card-copy h2 {
    margin: 1rem 0 .35rem;
    color: var(--stay-accent);
    font-size: clamp(1.55rem, 2vw, 1.9rem);
    line-height: 1.15
}

.stay-card-divider {
    position: relative;
    width: 100%;
    height: 14px;
    border-top: 1px solid color-mix(in srgb, var(--stay-accent) 42%, transparent)
}

.stay-card-divider i {
    top: -6px;
    width: 8px;
    height: 8px;
    border-color: var(--stay-accent);
    background: #fff
}

.stay-card-copy p {
    margin: .55rem 0 1.35rem;
    font-size: 15px;
    line-height: 1.65;
    color: #5f5148
}

.stay-card-copy a {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
    padding: .85rem 1rem;
    color: #fff;
    border-radius: 10px;
    background: var(--stay-accent);
    font-size: 15px;
    font-weight: 700
}

.stay-card-copy a:hover {
    color: #fff;
    filter: brightness(.88)
}

@media(max-width:1199px) {
    .stay-hero-copy {
        width: 55%
    }

    .stay-option-card {
        min-height: 520px
    }

    .stay-card-image {
        min-height: 230px
    }
}

@media(max-width:991.98px) {
    .stay-hero::after {
        background: linear-gradient(90deg, rgba(255, 250, 243, .97) 0 42%, rgba(255, 250, 243, .62) 64%, rgba(255, 250, 243, .1) 82%)
    }

    .stay-hero-copy {
        width: 68%
    }

    .stay-option-grid {
        grid-template-columns: 1fr 1fr
    }

    .stay-option-card:last-child {
        grid-column: 1/-1;
        max-width: calc(50% - .75rem);
        width: 100%;
        justify-self: center
    }
}

@media(max-width:767.98px) {
    .stay-hero {
        min-height: 660px
    }

    .stay-hero::before {
        background-position: 30% center
    }

    .stay-hero::after {
        background: linear-gradient(0deg, #fffaf3 0 56%, rgba(255, 250, 243, .16) 82%)
    }

    .stay-hero-grid {
        min-height: 660px;
        align-items: flex-end
    }

    .stay-hero-copy {
        width: 100%;
        padding: 2.5rem 0 3rem
    }

    .stay-hero h1 {
        font-size: 3.5rem
    }

    .stay-benefits {
        gap: .5rem
    }

    .stay-benefits>div {
        padding-inline: .5rem;
        gap: .45rem
    }

    .stay-benefits i {
        font-size: 1.75rem
    }

    .stay-options-section {
        padding-block: 2.7rem
    }

    .stay-option-grid {
        grid-template-columns: 1fr
    }

    .stay-option-card:last-child {
        grid-column: auto;
        max-width: none
    }

    .stay-option-card {
        min-height: 0
    }

    .stay-card-image {
        min-height: 300px
    }

    .stay-card-copy {
        min-height: 270px
    }
}

@media(max-width:575.98px) {
    .stay-kicker {
        font-size: 14px
    }

    .stay-hero h1 {
        font-size: 3rem
    }

    .stay-hero-copy>p {
        font-size: 16px
    }

    .stay-benefits {
        grid-template-columns: 1fr;
        gap: .7rem
    }

    .stay-benefits>div {
        border: 0;
        padding: 0
    }

    .stay-benefits span br {
        display: none
    }

    .stay-section-heading>span {
        font-size: 1.55rem
    }

    .stay-section-heading>span::before,
    .stay-section-heading>span::after {
        width: 28px
    }

    .stay-card-image {
        min-height: 250px
    }

    .stay-card-copy {
        min-height: 285px
    }
}

.resources-section {
    padding: 2rem 0 1.8rem
}

.info-panel {
    height: 100%;
    padding: 1rem;
    border: 1px solid #ecded0;
    border-radius: 9px;
    background: #fff;
    box-shadow: var(--shadow)
}

.panel-title {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.panel-title h2,
.highlights h2 {
    font-size: 1.05rem;
    text-transform: uppercase;
    margin: 0
}

.announcement {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: .7rem 0;
    border-bottom: 1px solid #f0e5db
}

.announcement:last-child {
    border-bottom: 0
}

.announcement time {
    width: 45px;
    height: 47px;
    border: 1px solid #e7a477;
    border-radius: 5px;
    color: var(--orange);
    display: grid;
    place-items: center;
    line-height: 1
}

.announcement time strong {
    font-size: .9rem
}

.announcement time span {
    font-size: .53rem
}

.announcement h3 {
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    font-size: .69rem;
    margin: 0
}

.announcement p {
    font-size: .57rem;
    color: var(--muted);
    margin: .12rem 0 0
}

.highlights h2 i {
    color: var(--orange)
}

.highlight-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2.3rem
}

.highlight-grid>div {
    text-align: center;
    padding: .8rem;
    border-right: 1px solid #eaded3
}

.highlight-grid>div:last-child {
    border: 0
}

.highlight-grid i {
    font-size: 2rem;
    color: var(--orange)
}

.highlight-grid strong,
.highlight-grid span {
    display: block
}

.highlight-grid strong {
    font-family: "Marcellus", serif;
    font-size: 1.55rem;
    color: #491d12
}

.highlight-grid span {
    font-size: .58rem;
    margin-top: .5rem
}

.utility-grid {
    display: grid;
    grid-template-columns: 1.25fr 1.18fr .96fr 1.08fr;
    gap: 1rem
}

.utility-card {
    min-height: 255px;
    position: relative;
    overflow: hidden;
    padding: 1.35rem;
    color: #fff;
    border-radius: 9px;
    box-shadow: var(--shadow)
}

.utility-card h2 {
    font-size: 1.08rem;
    text-transform: uppercase
}

.utility-card ul {
    list-style: none;
    padding: 0;
    margin: 1rem 0 0
}

.important {
    background: linear-gradient(145deg, #15263d, #1e3453)
}

.important li {
    display: flex;
    gap: .7rem;
    margin: .8rem 0;
    font-size: .59rem
}

.important li>i {
    color: #ffad42;
    font-size: 1rem
}

.important strong,
.important span {
    display: block
}

.emergency {
    background: linear-gradient(145deg, #8f1416, #b52018)
}

.emergency li {
    display: flex;
    justify-content: space-between;
    padding: .56rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    font-size: .64rem
}

.donation {
    background: linear-gradient(145deg, #b8440d, #e06b13)
}

.donation p,
.fair p {
    font-size: .7rem;
    max-width: 180px
}

.donation-art {
    position: absolute;
    right: 17px;
    bottom: -30px;
    color: #ffc665;
    font-size: 8rem;
    opacity: .45
}

.fair {
    background: linear-gradient(145deg, #265a33, #347d44)
}

.fair img {
    position: absolute;
    width: 80%;
    right: -7%;
    bottom: 2%;
    filter: brightness(0) invert(1);
    opacity: .6
}

.support-strip {
    padding: 1.6rem 0;
    border-top: 1px solid #efdfcf;
    background: #fffaf4
}

.support-strip .container {
    display: grid;
    grid-template-columns: repeat(3, 1fr)
}

.support-strip .container>div {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    border-right: 1px solid #e0c9b4
}

.support-strip .container>div:last-child {
    border: 0
}

.support-strip i {
    font-size: 2.6rem;
    color: #a8441a
}

.support-strip strong,
.support-strip span {
    display: block
}

.support-strip strong {
    text-transform: uppercase;
    color: #5e2115;
    font-family: "Marcellus", serif
}

.support-strip span {
    font-size: .68rem
}

.booking-cta {
    padding: 1.5rem 0;
    color: #fff;
    background: linear-gradient(90deg, #6c1c06, #b7440c 45%, #6d210b)
}

.booking-cta .container {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.booking-cta h2 {
    font-size: 1.7rem;
    margin: 0
}

.booking-cta p {
    font-size: .72rem;
    margin: .3rem 0 0
}

.site-footer {
    padding: 1.8rem 0 0;
    color: #cfc4bd;
    background: #17110e
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.5fr .8fr .8fr 1.2fr;
    gap: 3rem
}

.footer-logo img {
    width: 190px;
    height: 60px;
    object-fit: contain;
    filter: sepia(1) saturate(4) hue-rotate(335deg) brightness(1.35)
}

.site-footer p,
.site-footer li {
    font-size: .68rem
}

.site-footer h3 {
    font-family: "DM Sans", sans-serif;
    color: #f0a45c;
    font-size: .78rem
}

.site-footer ul {
    list-style: none;
    padding: 0
}

.site-footer a {
    color: #cfc4bd
}

.footer-contact li {
    display: flex;
    gap: .6rem;
    margin-bottom: .6rem
}

.footer-contact i {
    color: #ef6e1d
}

.footer-contact li>span:has(small) {
    display: flex;
    flex-direction: column;
    gap: .1rem
}

.footer-contact li>span>small {
    color: #d8b8a8;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}

.socials {
    display: flex;
    gap: .5rem
}

.socials a {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #302824
}

.copyright {
    text-align: center;
    border-top: 1px solid #302824;
    padding: 1rem;
    margin-top: 1.5rem;
    font-size: .62rem
}

.back-to-top {
    position: fixed;
    right: 28px;
    bottom: 28px;
    width: 42px;
    height: 42px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid #fff;
    color: #fff;
    background: var(--orange);
    box-shadow: 0 10px 26px rgba(86, 26, 12, .28), 0 0 0 4px rgba(255, 255, 255, .85);
    z-index: 3000;
    isolation: isolate;
    cursor: pointer;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px) scale(.94);
    transition: opacity .2s ease, visibility .2s ease, transform .2s ease
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1)
}

@media(max-width:1199px) {
    .navbar-brand {
        width: 170px
    }

    .navbar .nav-link {
        font-size: .9rem;
        padding-inline: .42rem !important
    }

    .state-mark {
        width: 80px
    }

    .attraction-grid {
        grid-template-columns: repeat(4, 1fr)
    }

    .leader-card img {
        width: 85px
    }

    .hero-copy {
        width: 55%
    }
}

@media(max-width:991.98px) {
    .navbar-brand img {
        height: 46px
    }

    .navbar .nav-link {
        padding: .7rem !important
    }

    .state-mark {
        margin: .5rem 0 1rem
    }

    .hero {
        background-position: 64% center
    }

    .hero-copy {
        width: 68%
    }

    .hero-promises {
        grid-template-columns: repeat(2, 1fr)
    }

    .leader-grid {
        margin-top: 1rem
    }

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

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

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

@media(max-width:767.98px) {
    .topbar .sanskrit {
        display: none
    }

    .topbar {
        font-size: .58rem
    }

    .topbar .btn {
        display: none
    }

    .hero {
        min-height: 620px;
        background-image: linear-gradient(0deg, #fffaf4 7%, rgba(255, 250, 244, .94) 55%, rgba(255, 250, 244, .25)), url(../images/hero-pinddaan.png);
        background-position: 68% center
    }

    .hero-inner {
        min-height: 620px;
        align-items: flex-end
    }

    .hero-copy {
        width: 100%;
        padding: 7rem 0 3rem
    }

    .hero h1 {
        font-size: 3rem
    }

    .hero-copy>p {
        font-size: .9rem
    }

    .about-split {
        grid-template-columns: 1fr
    }

    .about-photo {
        display: none
    }

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

    .leader-card img {
        width: 100px
    }

    .attraction-grid {
        display: flex;
        overflow-x: auto
    }

    .attraction-card {
        min-width: 145px
    }

    .pilgrimage-grid {
        display: flex;
        overflow-x: auto
    }

    .site-card {
        min-width: 210px
    }

    .ornament-title:before,
    .ornament-title span:after {
        display: none
    }

    .ornament-title span {
        text-align: left
    }

    .utility-grid {
        grid-template-columns: 1fr
    }

    .support-strip .container {
        grid-template-columns: 1fr
    }

    .support-strip .container>div {
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid #e0c9b4;
        padding: 1rem
    }

    .booking-cta .container {
        align-items: flex-start;
        gap: 1rem
    }

    .booking-cta h2 {
        font-size: 1.3rem
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem
    }

    .footer-grid>div:first-child,
    .footer-grid>div:last-child {
        grid-column: 1/-1
    }
}

@media(max-width:440px) {
    .navbar-brand {
        width: 145px
    }

    .hero-promises {
        grid-template-columns: 1fr 1fr
    }

    .hero h1 {
        font-size: 2.55rem
    }

    .leader-grid {
        grid-template-columns: 1fr 1fr
    }

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

    .highlight-grid>div {
        border-bottom: 1px solid #eaded3
    }

    .booking-cta .container {
        display: block
    }

    .booking-cta .btn {
        margin-top: 1rem
    }

    .footer-grid {
        grid-template-columns: 1fr
    }

    .footer-grid>div {
        grid-column: 1 !important
    }
}

.fair img {
    width: 76%;
    right: -4%;
    bottom: 7%;
    filter: none;
    mix-blend-mode: multiply;
    opacity: .9
}

/* Pinddaan Gaya mega menu */
.navbar {
    position: relative;
    z-index: 1100
}

.mega-parent {
    position: static
}

.mega-toggle {
    position: relative;
    border: 0;
    background: transparent
}

@media(min-width:992px) {
    .mega-toggle::before {
        content: "";
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: -16px;
        left: 0;
        height: 20px;
        background: transparent
    }
}

.mega-toggle i {
    font-size: .68rem;
    color: var(--orange);
    margin-left: .25rem;
    transition: transform .2s
}

.mega-parent.is-open .mega-toggle i {
    transform: rotate(180deg)
}

.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: min(1360px, calc(100vw - 64px));
    height: min(540px, calc(100vh - 145px));
    max-height: min(540px, calc(100vh - 145px));
    display: grid;
    grid-template-columns: 275px 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
    overflow: auto;
    background: #fffdf9;
    border: 1px solid #eedfd1;
    border-radius: 0 0 13px 13px;
    box-shadow: 0 24px 70px rgba(18, 12, 8, .35);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -9px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    z-index: 1200
}

.pinddaan-mega {
    height: min(460px, calc(100vh - 145px));
    max-height: min(460px, calc(100vh - 145px));
    grid-template-rows: minmax(0, 1fr);
    overflow: hidden
}

.pinddaan-mega .mega-promo {
    grid-row: 1
}

.mega-parent.is-open .mega-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
    transition-delay: 0s
}

body.mega-open:before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(17, 23, 27, .73);
    z-index: 1000
}

.mega-promo {
    grid-row: 1/3;
    display: flex;
    flex-direction: column;
    border-right: 1px solid #ebd9ca;
    background: linear-gradient(#fff, #fff9f2)
}

.mega-promo-image {
    height: 260px;
    flex: 0 0 auto;
    background-image: linear-gradient(to bottom, transparent 65%, #fffdf9), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: 73% center
}

.mega-promo-copy {
    padding: 1rem 1rem 1.35rem;
    text-align: center
}

.mega-promo-copy>span {
    font-family: "Marcellus", serif;
    font-size: 1.28rem
}

.mega-promo-copy h2 {
    font-size: 1.55rem;
    line-height: .95;
    margin: .3rem 0;
    color: #16110e;
    white-space: nowrap
}

.current-location-route-map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
    background: #e8eee9
}

.current-route-status {
    display: none !important;
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    min-width: 190px;
    padding: 9px 11px;
    border: 1px solid rgba(100, 45, 25, .15);
    border-radius: 9px;
    color: #51251b;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 7px 20px rgba(45, 21, 12, .14);
    font-size: .7rem;
    line-height: 1.4
}

.current-route-status strong { display: block; color: #8d2e17; font-size: .76rem }

.current-route-status span { display: block }

.current-route-open {
    position: absolute;
    z-index: 2;
    right: 14px;
    bottom: 14px;
    padding: 8px 11px;
    border-radius: 8px;
    color: #fff;
    background: #b84417;
    box-shadow: 0 7px 20px rgba(45, 21, 12, .2);
    font-size: .67rem;
    font-weight: 800;
    text-decoration: none
}

.current-route-open:hover { color: #fff; background: #8d2e17 }

.mega-promo-copy h2 em {
    display: inline;
    color: var(--orange);
    font-style: normal
}

.mega-promo-copy p {
    font-size: .78rem;
    line-height: 1.75;
    margin: 1rem 0 0
}

.mini-ornament {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    height: 12px
}

.mini-ornament:before,
.mini-ornament:after {
    content: "";
    width: 35px;
    height: 1px;
    background: #e3a176
}

.mini-ornament:before {
    box-shadow: 40px 0 0 -0.5px var(--orange)
}

.mega-columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    min-height: 0;
    overflow: hidden;
    padding: 1.05rem .9rem .8rem
}

.mega-column {
    position: relative;
    padding: 0 .9rem;
    border-right: 0
}

.mega-column:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 12%;
    right: 0;
    bottom: 12%;
    width: 1px;
    background: #ead9ca
}

.mega-column-heading {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    margin-bottom: .45rem
}

.mega-heading-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: grid;
    place-items: center;
    margin: 0;
    border: 1px solid #ef8b4d;
    border-radius: 50%;
    color: var(--orange);
    font-size: 1.65rem
}

.mega-column h2 {
    text-align: left;
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    font-weight: 700;
    margin: 0
}

.mega-column ul {
    list-style: none;
    padding: 0;
    margin: .65rem 0 0
}

.mega-column li {
    border-bottom: 1px solid #f0e3d8
}

.mega-column li:last-child {
    border: 0
}

.mega-column a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .5rem 0;
    color: #241d19;
    font-size: .78rem
}

.mega-column a:hover {
    color: var(--orange)
}

.mega-column a i {
    width: 19px;
    color: #e75615;
    font-size: 1rem;
    text-align: center
}

@media(max-width:1199px) and (min-width:992px) {
    .mega-menu {
        width: calc(100vw - 28px);
        grid-template-columns: 235px 1fr
    }

    .mega-columns {
        padding-inline: .8rem
    }

    .mega-column {
        padding-inline: .8rem
    }

    .mega-column a {
        font-size: .7rem
    }

    .mega-promo-copy {
        padding-inline: 1.25rem
    }

}

@media(max-width:991.98px) {
    body.mega-open:before {
        display: none
    }

    .mega-parent {
        width: 100%
    }

    .mega-toggle {
        width: 100%;
        text-align: left
    }

    .mega-menu {
        position: static;
        width: 100%;
        height: auto;
        max-height: none;
        display: none;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        overflow: visible;
        border-radius: 8px;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none !important
    }

    .mega-parent.is-open .mega-menu {
        display: block
    }

    .mega-promo {
        display: none
    }

    .mega-columns {
        grid-template-columns: 1fr 1fr;
        padding: 1rem
    }

    .mega-column {
        padding: .8rem 1rem;
        border-right: 0;
        border-bottom: 1px solid #ead9ca
    }

    .mega-column::after {
        display: none
    }

    .mega-column:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .mega-heading-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        font-size: 1.2rem
    }

    .mega-column-heading {
        min-height: 42px
    }

    .mega-column h2 {
        font-size: .9rem
    }

    .mega-column a {
        padding: .55rem 0
    }

}

@media(max-width:575.98px) {
    .mega-columns {
        grid-template-columns: 1fr
    }

    .mega-column,
    .mega-column:nth-last-child(-n+2) {
        border-bottom: 1px solid #ead9ca
    }

    .mega-column:last-child {
        border-bottom: 0
    }

}

@media(min-width:992px) {
    body.mega-open .navbar .mega-toggle:after {
        left: 50%;
        right: 50%
    }

    body.mega-open .navbar .nav-link.active:not(.mega-toggle) {
        color: #1f1815 !important
    }

    body.mega-open .navbar .nav-link.active:not(.mega-toggle):after {
        left: 50%;
        right: 50%
    }

    body.mega-open .mega-parent.is-open>.mega-toggle {
        color: var(--orange) !important
    }

    body.mega-open .mega-parent.is-open>.mega-toggle:after {
        left: .6rem;
        right: .6rem
    }
}

/* About Pinddaan page */
.about-page {
    background: #fffaf5
}

.about-section-space {
    padding: 2.7rem 0
}

.about-page-hero {
    min-height: 395px;
    display: flex;
    align-items: center;
    background-image: linear-gradient(90deg, rgba(255, 247, 236, .98) 0%, rgba(255, 247, 236, .9) 31%, rgba(255, 247, 236, .18) 60%), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: center 47%;
    border-bottom: 1px solid #ebd8c6
}

.about-hero-copy {
    width: 37%;
    padding: 3.4rem 0
}

.page-breadcrumb {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: .73rem;
    margin-bottom: 1rem
}

.page-breadcrumb a {
    color: var(--orange)
}

.page-breadcrumb i {
    font-size: .55rem
}

.about-hero-copy h1 {
    font-size: 3.35rem;
    color: #591a17;
    margin: 0
}

.title-ornament {
    width: 330px;
    height: 12px;
    position: relative;
    margin: .8rem 0 1.2rem;
    border-top: 1px solid #b9836f
}

.title-ornament:before {
    content: "";
    position: absolute;
    left: 50%;
    top: -5px;
    width: 9px;
    height: 9px;
    border: 1px solid #a95031;
    border-radius: 50%;
    background: #fff6eb
}

.about-hero-copy p {
    font-size: .86rem;
    line-height: 1.6;
    margin: 0
}

.about-overview {
    position: relative;
    background: linear-gradient(90deg, #fffdf9, #fff9f3)
}

.about-overview .row {
    margin-right: 0;
    margin-left: 0
}

.overview-image {
    position: relative;
    padding: 0 0 15px 15px
}

.overview-image:before {
    content: "";
    position: absolute;
    left: -5px;
    top: -8px;
    width: 50px;
    height: 50px;
    background-image: radial-gradient(#e5864c 1px, transparent 1.5px);
    background-size: 6px 6px;
    opacity: .65
}

.overview-image img {
    position: relative;
    display: block;
    border-radius: 8px;
    box-shadow: 0 12px 28px rgba(74, 40, 18, .17)
}

.overview-copy {
    padding-left: 2.2rem
}

.about-kicker,
.ritual-list>h2,
.process>h2 {
    color: #f05413;
    text-transform: uppercase;
    font-family: "DM Sans", sans-serif;
    font-size: .85rem;
    font-weight: 800
}

.overview-copy h2 {
    font-size: 2.35rem;
    line-height: 1.06;
    margin: .35rem 0 1.2rem
}

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

.overview-copy>p {
    font-size: .77rem;
    line-height: 1.75;
    max-width: 660px
}

.overview-wide-copy {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5)
}

.overview-copy.overview-wide-copy>p {
    width: 100%;
    max-width: none
}

.overview-copy ul {
    list-style: none;
    padding: 0;
    margin: 1.1rem 0
}

.overview-copy li {
    display: flex;
    align-items: center;
    gap: .65rem;
    font-size: .7rem;
    margin: .5rem 0
}

.overview-copy li i {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    color: var(--orange);
    background: #fff0e3
}

.significance-section {
    background: #fff7ef
}

.about-section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-bottom: 1.5rem;
    color: var(--orange);
    font-weight: 800;
    text-transform: uppercase;
    font-size: .88rem
}

.about-section-title:before,
.about-section-title:after {
    content: "";
    width: 55px;
    height: 1px;
    background: #e4a477
}

.about-section-title.dark {
    color: #481e18;
    font-family: "Marcellus", serif;
    font-size: 1rem
}

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

.significance-grid article {
    text-align: center;
    padding: 1.2rem 1.5rem;
    border: 1px solid #efe0d2;
    border-radius: 9px;
    background: #fffdfa;
    box-shadow: 0 5px 15px rgba(72, 36, 16, .06)
}

.round-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin: 0 auto .8rem;
    border-radius: 50%;
    color: var(--orange);
    background: #fff0e4;
    font-size: 1.65rem
}

.significance-grid h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .78rem;
    font-weight: 800
}

.significance-grid p {
    font-size: .66rem;
    line-height: 1.6;
    margin: 0
}

.ritual-process {
    background: #fffdf9
}

.ritual-process-grid {
    display: grid;
    grid-template-columns: 270px 260px 1fr;
    align-items: center
}

.ritual-list>h2,
.process>h2 {
    margin-bottom: 1rem
}

.ritual-list>a {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .7rem .65rem;
    border-bottom: 1px solid #eee1d6;
    color: var(--ink);
    background: #fff
}

.ritual-list>a>i:first-child {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 50%;
    color: var(--orange);
    background: #fff0e4
}

.ritual-list>a>i:last-child {
    margin-left: auto;
    color: var(--orange);
    font-size: .7rem
}

.ritual-list strong,
.ritual-list small {
    display: block
}

.ritual-list strong {
    font-size: .7rem
}

.ritual-list small {
    font-size: .53rem
}

.ritual-art {
    height: 300px;
    overflow: hidden;
    border-radius: 47% 42% 48% 45%
}

.ritual-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 73% center
}

.process {
    padding-left: 2rem
}

.process-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative
}

.process-steps:before {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    top: 38px;
    border-top: 1px dashed #e18b58
}

.process-steps article {
    position: relative;
    text-align: center;
    padding: 0 .55rem
}

.step-icon {
    position: relative;
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin: 0 auto .65rem;
    border: 1px solid #efc4a6;
    border-radius: 50%;
    color: var(--orange);
    background: #fffaf5;
    font-size: 1.55rem;
    z-index: 1
}

.process-steps span {
    color: var(--orange);
    font-weight: 700;
    font-size: .65rem
}

.process-steps h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .74rem;
    font-weight: 800;
    margin: .35rem 0
}

.process-steps p {
    font-size: .58rem;
    line-height: 1.5
}

.about-leader-section {
    background: #fffaf5
}

.about-leader-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .8rem
}

.about-leader-grid article {
    display: flex;
    gap: 1rem;
    min-height: 165px;
    padding: 1rem;
    border: 1px solid #eedfd2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(76, 40, 18, .07)
}

.about-leader-grid article>img {
    width: 92px;
    height: 115px;
    object-fit: cover;
    object-position: top;
    border-radius: 14px;
    background: #f6e9dd
}

.leader-info {
    display: flex;
    flex-direction: column
}

.leader-info h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.3
}

.leader-info p {
    font-size: .57rem;
    line-height: 1.5;
    flex: 1
}

.leader-info a {
    color: var(--orange);
    margin-right: .4rem;
    font-size: .72rem
}

.about-stats {
    padding: 0 0 1.8rem
}

.about-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 1.6rem;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(100deg, #5c0708, #981317, #62070b)
}

.about-stats-grid>div {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    column-gap: .9rem;
    align-items: center;
    padding: 0 1.4rem;
    border-right: 1px solid rgba(255, 255, 255, .17)
}

.about-stats-grid>div:last-child {
    border: 0
}

.about-stats-grid i {
    grid-row: 1/3;
    font-size: 2.5rem;
    color: #ef6a1d
}

.about-stats-grid strong {
    font-family: "Marcellus", serif;
    font-size: 1.55rem;
    color: #ffc086
}

.about-stats-grid span {
    font-size: .65rem
}

.journey-section {
    padding: 0 0 2rem
}

.journey-card {
    display: grid;
    grid-template-columns: 300px 1fr auto;
    align-items: center;
    gap: 2rem;
    padding: 1rem 1.5rem;
    border: 1px solid #efad7e;
    border-radius: 10px;
    background: #fffaf5
}

.journey-card img {
    width: 100%;
    height: 125px;
    object-fit: cover;
    object-position: 65% 70%;
    border-radius: 9px
}

.journey-card h2 {
    font-size: 1.45rem;
    color: #632419
}

.journey-card p {
    font-size: .75rem;
    max-width: 430px
}

.about-page~.site-footer {
    background: linear-gradient(110deg, #39100b, #641d12, #2b0c09)
}

@media(max-width:1199px) {
    .ritual-process-grid {
        grid-template-columns: 235px 210px 1fr
    }

    .step-icon {
        width: 62px;
        height: 62px
    }

    .process-steps:before {
        top: 31px
    }

    .about-leader-grid article {
        gap: .65rem
    }

    .about-leader-grid article>img {
        width: 72px
    }
}

@media(max-width:991.98px) {
    .about-hero-copy {
        width: 52%
    }

    .overview-copy {
        padding-left: .75rem
    }

    .ritual-process-grid {
        grid-template-columns: 1fr 1fr
    }

    .process {
        grid-column: 1/-1;
        padding: 2rem 0 0
    }

    .about-leader-grid {
        grid-template-columns: repeat(2, 1fr)
    }

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

    .about-stats-grid>div:nth-child(2) {
        border-right: 0
    }

    .journey-card {
        grid-template-columns: 220px 1fr
    }

    .journey-card .btn {
        grid-column: 2
    }
}

@media(max-width:767.98px) {
    .about-page-hero {
        min-height: 480px;
        align-items: flex-end;
        background-image: linear-gradient(0deg, #fff7ec 12%, rgba(255, 247, 236, .92) 55%, rgba(255, 247, 236, .12)), url(../images/hero-pinddaan.png);
        background-position: 68% center
    }

    .about-hero-copy {
        width: 100%;
        padding: 7rem 0 2.5rem
    }

    .about-hero-copy h1 {
        font-size: 2.7rem
    }

    .about-hero-copy p {
        max-width: 500px
    }

    .about-overview .row {
        margin-left: 0;
        margin-right: 0
    }

    .overview-copy {
        padding-top: 1rem
    }

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

    .ritual-process-grid {
        grid-template-columns: 1fr
    }

    .ritual-art {
        height: 280px;
        margin-top: 1.5rem
    }

    .process-steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem
    }

    .process-steps:before {
        display: none
    }

    .about-stats-grid>div {
        padding: .6rem;
        border: 0
    }

    .journey-card {
        grid-template-columns: 1fr;
        gap: 1rem
    }

    .journey-card .btn {
        grid-column: 1;
        justify-self: start
    }
}

@media(max-width:480px) {
    .title-ornament {
        width: 100%
    }

    .about-hero-copy h1 {
        font-size: 2.25rem
    }

    .overview-copy h2 {
        font-size: 1.85rem
    }

    .significance-grid,
    .about-leader-grid,
    .about-stats-grid {
        grid-template-columns: 1fr
    }

    .about-stats-grid>div {
        grid-template-columns: 55px 1fr;
        padding: .7rem 1rem;
        border-bottom: 1px solid rgba(255, 255, 255, .12)
    }

    .about-stats-grid i {
        font-size: 2rem
    }

    .about-leader-grid article>img {
        width: 90px
    }

    .process-steps {
        grid-template-columns: 1fr 1fr
    }

    .journey-card img {
        height: 150px
    }
}

/* About Vishnupad page */
.vishnupad-page {
    background: #fffaf4
}

.vishnupad-hero {
    height: 410px;
    position: relative;
    overflow: hidden;
    background: #fffaf4
}

.vishnupad-hero-image {
    position: absolute;
    inset: 0 0 0 35%;
    background-image: linear-gradient(90deg, rgba(255, 250, 244, .1), transparent 25%), url(../../img/officer/unnamed.webp);
    background-size: cover;
    background-position: center 48%
}

.vishnupad-hero:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 44%;
    height: 100%;
    background: #fffaf4;
    clip-path: ellipse(78% 76% at 18% 50%);
    z-index: 0
}

.vishnupad-hero .container {
    height: 100%;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center
}

.vishnupad-hero-copy {
    width: 34%;
    padding-bottom: 1rem
}

.vishnupad-hero-copy>span {
    font-family: "Marcellus", serif;
    font-style: italic;
    font-size: 1.8rem;
    color: #6c1414
}

.vishnupad-hero-copy h1 {
    font-size: 4.2rem;
    line-height: .95;
    color: #65191a;
    margin: .2rem 0 1rem
}

.vishnu-title-line {
    position: relative;
    width: 100%;
    border-top: 1px solid #9e4a3c;
    margin-bottom: 1.1rem
}

.vishnu-title-line:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -5px;
    width: 9px;
    height: 9px;
    border: 1px solid #9e4a3c;
    border-radius: 50%;
    background: #fffaf4
}

.vishnupad-hero-copy h2 {
    font-family: "DM Sans", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #e34d18;
    margin-bottom: 1rem
}

.vishnupad-hero-copy p {
    font-size: .82rem;
    line-height: 1.75;
    max-width: 350px
}

.vishnu-facts {
    position: relative;
    z-index: 2;
    margin-top: -27px
}

.vishnu-fact-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    padding: 1.15rem 1.3rem;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(71, 35, 15, .16)
}

.vishnu-fact-grid article {
    text-align: center;
    padding: .25rem 1rem;
    border-right: 1px solid #ebd5c7
}

.vishnu-fact-grid article:last-child {
    border: 0
}

.vishnu-fact-grid i {
    display: block;
    color: #711817;
    font-size: 2.25rem;
    margin-bottom: .45rem
}

.vishnu-fact-grid p,
.visit-fact-grid p {
    font-size: .7rem;
    line-height: 1.45;
    margin: 0
}

.vishnu-fact-grid strong,
.visit-fact-grid strong {
    display: block;
    font-weight: 500
}

.vishnu-stories {
    padding: 1.8rem 0
}

.heritage-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem
}

.heritage-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 345px;
    border: 1px solid #ebd9c9;
    border-radius: 12px;
    background: #fffdf9;
    overflow: hidden
}

.heritage-card.card-one,
.heritage-card.card-two,
.heritage-card.card-three {
    grid-column: span 2
}

.heritage-card.card-four,
.heritage-card.card-five {
    grid-column: span 3;
    min-height: 300px
}

.heritage-card.card-six {
    grid-column: span 6;
    grid-template-columns: 280px 1fr;
    min-height: 225px
}

.heritage-copy {
    padding: 1rem;
    position: relative
}

.heritage-number {
    float: left;
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    margin: 0 .65rem .4rem 0;
    border-radius: 5px;
    color: #fff;
    background: #641517;
    font-family: "Marcellus", serif;
    font-size: .75rem
}

.heritage-copy h2 {
    font-family: "DM Sans", sans-serif;
    font-size: .82rem;
    font-weight: 800;
    line-height: 1.45;
    min-height: 42px;
    margin: 0 0 .85rem
}

.heritage-copy p {
    clear: both;
    font-size: .65rem;
    line-height: 1.75;
    margin: 0
}

.heritage-image {
    min-height: 100%;
    background-repeat: no-repeat;
    background-size: cover
}

.image-ghat {
    background-image: url(../images/hero-pinddaan.png);
    background-position: 65% center
}

.image-tree {
    background-image: url(../images/gaya-destinations.png);
    background-size: 200% 200%;
    background-position: right bottom
}

.image-temple {
    background-image: url(../../img/officer/unnamed.webp);
    background-position: 58% center
}

.image-footprint {
    background-image: linear-gradient(rgba(74, 21, 10, .05), rgba(74, 21, 10, .2)), url(../images/gaya-destinations.png);
    background-size: 200% 200%;
    background-position: left top
}

.image-mythology {
    background-image: url(../images/hero-pinddaan.png);
    background-position: 78% center
}

.image-buddhist {
    background-image: url(../images/gaya-destinations.png);
    background-size: 200% 200%;
    background-position: left bottom
}

.vishnu-plan {
    padding: 0 0 1.7rem
}

.vishnu-plan-card {
    display: grid;
    grid-template-columns: 1.45fr .8fr .65fr;
    min-height: 175px;
    border: 1px solid #efd5bf;
    border-radius: 12px;
    overflow: hidden;
    background: #fff8ef
}

.visit-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    padding: 1rem
}

.visit-fact-grid article {
    text-align: center;
    padding: .4rem .7rem;
    border-right: 1px solid #ead5c3
}

.visit-fact-grid article:last-child {
    border: 0
}

.visit-fact-grid i {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    margin: 0 auto .55rem;
    border: 1px solid #e9b992;
    border-radius: 50%;
    color: #7b1817;
    font-size: 1.45rem;
    background: #fff
}

.visit-cta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1rem
}

.visit-cta h2 {
    color: #d9511b;
    font-size: 1.6rem;
    margin-bottom: .5rem
}

.visit-cta p {
    font-size: .67rem;
    line-height: 1.6
}

.btn-maroon {
    align-self: flex-start;
    color: #fff;
    background: #6e0d12
}

.btn-maroon:hover {
    color: #fff;
    background: #4d080c
}

.visit-image {
    background-image: linear-gradient(90deg, #fff8ef 0%, transparent 30%), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: 72% center
}

.vishnupad-page~.site-footer {
    background: linear-gradient(105deg, #3b0b07, #681c11, #2c0906)
}

@media(max-width:1199px) {
    .vishnupad-hero-copy {
        width: 38%
    }

    .vishnupad-hero-copy h1 {
        font-size: 3.65rem
    }

    .heritage-card {
        grid-template-columns: 1.05fr .95fr
    }

    .heritage-copy {
        padding: .8rem
    }

    .vishnu-plan-card {
        grid-template-columns: 1.35fr .85fr .55fr
    }

    .visit-fact-grid {
        padding: .7rem
    }

    .visit-fact-grid article {
        padding: .3rem
    }
}

@media(max-width:991.98px) {
    .vishnupad-hero {
        height: 460px
    }

    .vishnupad-hero-image {
        left: 25%
    }

    .vishnupad-hero:after {
        width: 58%
    }

    .vishnupad-hero-copy {
        width: 47%
    }

    .vishnu-fact-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .vishnu-fact-grid article {
        border-bottom: 1px solid #ebd5c7
    }

    .vishnu-fact-grid article:nth-child(3) {
        border-right: 0
    }

    .vishnu-fact-grid article:nth-last-child(-n+2) {
        border-bottom: 0
    }

    .heritage-card.card-one,
    .heritage-card.card-two,
    .heritage-card.card-three {
        grid-column: span 3
    }

    .heritage-card.card-four,
    .heritage-card.card-five {
        grid-column: span 3
    }

    .heritage-card.card-six {
        grid-template-columns: 230px 1fr
    }

    .vishnu-plan-card {
        grid-template-columns: 1fr .7fr
    }

    .visit-fact-grid {
        grid-column: 1/-1
    }

    .visit-image {
        min-height: 160px
    }
}

@media(max-width:767.98px) {
    .vishnupad-hero {
        height: 570px;
        display: flex;
        align-items: flex-end
    }

    .vishnupad-hero-image {
        inset: 0;
        background-position: center
    }

    .vishnupad-hero:after {
        width: 100%;
        height: 72%;
        top: auto;
        bottom: 0;
        clip-path: none;
        background: linear-gradient(0deg, #fffaf4 60%, transparent)
    }

    .vishnupad-hero .container {
        height: auto
    }

    .vishnupad-hero-copy {
        width: 100%;
        padding: 8rem 0 2.8rem
    }

    .vishnupad-hero-copy h1 {
        font-size: 3rem
    }

    .vishnupad-hero-copy p {
        max-width: 480px
    }

    .vishnu-facts {
        margin-top: -20px
    }

    .vishnu-fact-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .vishnu-fact-grid article:nth-child(3) {
        border-right: 1px solid #ebd5c7
    }

    .vishnu-fact-grid article:nth-child(2n) {
        border-right: 0
    }

    .vishnu-fact-grid article:nth-last-child(-n+2) {
        border-bottom: 1px solid #ebd5c7
    }

    .vishnu-fact-grid article:last-child {
        grid-column: 1/-1;
        border-bottom: 0
    }

    .heritage-card.card-one,
    .heritage-card.card-two,
    .heritage-card.card-three,
    .heritage-card.card-four,
    .heritage-card.card-five,
    .heritage-card.card-six {
        grid-column: span 6;
        grid-template-columns: 1fr 1fr;
        min-height: 270px
    }

    .vishnu-plan-card {
        grid-template-columns: 1fr
    }

    .visit-fact-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .visit-fact-grid article:nth-child(2) {
        border-right: 0
    }

    .visit-cta {
        padding: 1.3rem
    }

    .visit-image {
        min-height: 210px
    }
}

@media(max-width:480px) {
    .vishnupad-hero-copy h1 {
        font-size: 2.65rem
    }

    .vishnu-fact-grid {
        padding: .7rem
    }

    .vishnu-fact-grid article {
        padding: .6rem .3rem
    }

    .heritage-card.card-one,
    .heritage-card.card-two,
    .heritage-card.card-three,
    .heritage-card.card-four,
    .heritage-card.card-five,
    .heritage-card.card-six {
        grid-template-columns: 1fr
    }

    .heritage-copy p {
        font-size: .69rem
    }

    .heritage-image {
        min-height: 230px
    }

    .card-six .heritage-image {
        min-height: 190px
    }

    .visit-fact-grid {
        grid-template-columns: 1fr 1fr
    }

    .visit-fact-grid p {
        font-size: .62rem
    }
}

/* Importance of Pitripaksh page */
.importance-page {
    background: #fffaf4
}

.importance-hero {
    height: 440px;
    display: flex;
    align-items: center;
    background-image: linear-gradient(90deg, #fff9ef 0%, rgba(255, 249, 239, .94) 28%, rgba(255, 249, 239, .28) 56%, transparent 76%), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: center 48%;
    position: relative
}

.importance-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(#eacdb4 .7px, transparent .8px);
    background-size: 8px 8px;
    opacity: .16;
    pointer-events: none
}

.importance-hero-copy {
    position: relative;
    width: 40%;
    padding-bottom: 2.4rem
}

.importance-hero-copy>span {
    font-family: "Marcellus", serif;
    font-size: 1.75rem;
    color: #552018
}

.importance-hero-copy h1 {
    font-size: 4.6rem;
    line-height: .95;
    color: #5d1719;
    margin: .2rem 0 1.1rem
}

.importance-title-line {
    position: relative;
    width: 365px;
    border-top: 1px solid #a45845
}

.importance-title-line:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -5px;
    width: 9px;
    height: 9px;
    border: 1px solid #a45845;
    border-radius: 50%;
    background: #fff6e9
}

.importance-hero-copy h2 {
    font-size: 1.25rem;
    color: #dd4d15;
    margin-top: 1rem
}

.mahasangam-wrap {
    position: relative;
    margin-top: -40px;
    z-index: 2
}

.mahasangam-card {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 2.4rem;
    padding: 1.5rem 1.8rem;
    border: 1px solid #e7b98e;
    border-radius: 12px;
    background: linear-gradient(100deg, #fffdf9, #fff8ef);
    box-shadow: 0 8px 26px rgba(83, 41, 17, .08)
}

.mahasangam-image img {
    width: 100%;
    height: 360px;
    object-fit: cover;
    object-position: 72% center;
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(79, 39, 17, .13)
}

.mahasangam-copy {
    position: relative;
    padding: .2rem 1rem 0 0
}

.mahasangam-copy h2 {
    text-align: left;
    font-size: 2.15rem;
    color: #5b1c18;
    margin: 0
}

.small-title-line {
    width: 165px;
    border-top: 1px solid #d28557;
    margin: .65rem 0 1.1rem 125px
}

.mahasangam-copy p {
    font-size: .76rem;
    line-height: 1.75
}

.mahasangam-copy p strong {
    color: #e14c17
}

.belief-note {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.5rem;
    padding: .7rem 1rem;
    border-top: 1px solid #edcfb6;
    color: #741c16;
    font-size: .72rem
}

.belief-note i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 1px solid #e3a577;
    border-radius: 50%;
    color: #d95319;
    font-size: 1.3rem
}

.importance-significance {
    padding: 2rem 0
}

.importance-heading,
.arrangements-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    color: #531a17;
    font-weight: 800;
    text-transform: uppercase;
    font-size: .9rem;
    margin-bottom: 1rem
}

.importance-heading:before,
.importance-heading:after,
.arrangements-heading:before,
.arrangements-heading:after {
    content: "";
    height: 1px;
    width: 170px;
    background: #dda174
}

.importance-significance-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid #ead6c4;
    background: #fffaf4
}

.importance-significance-grid article {
    text-align: center;
    padding: 1.2rem 1rem;
    border-right: 1px solid #ead6c4
}

.importance-significance-grid article:last-child {
    border: 0
}

.importance-significance-grid article>div {
    width: 65px;
    height: 65px;
    display: grid;
    place-items: center;
    margin: 0 auto .8rem;
    border: 1px solid #e7b990;
    border-radius: 50%;
    color: #741a18;
    background: #fff;
    font-size: 1.75rem
}

.importance-significance-grid h3 {
    font-size: .82rem;
    color: #5b1e19
}

.importance-significance-grid p {
    font-size: .63rem;
    line-height: 1.55;
    margin: 0
}

.arrangements-section {
    padding: 0 0 1.5rem
}

.arrangements-card {
    padding: 0 1.4rem 1.2rem;
    border: 1px solid #e4b88e;
    border-radius: 12px;
    background: #fffaf3
}

.arrangements-heading {
    transform: translateY(-50%);
    margin-bottom: -.2rem;
    text-transform: none;
    font-family: "Marcellus", serif;
    font-size: 1.15rem;
    background: #fffaf3
}

.arrangements-heading:before,
.arrangements-heading:after {
    width: 110px
}

.arrangements-grid {
    display: grid;
    grid-template-columns: 280px 1fr
}

.arrangement-benefits {
    padding-right: 1.2rem;
    border-right: 1px solid #e3cdb9
}

.arrangement-benefits article {
    display: flex;
    gap: .8rem;
    margin: 1rem 0
}

.arrangement-benefits i {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #d57b22, #a95410);
    font-size: 1.35rem
}

.arrangement-benefits h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .72rem;
    font-weight: 800;
    margin: 0 0 .2rem
}

.arrangement-benefits p {
    font-size: .58rem;
    line-height: 1.5;
    margin: 0
}

.arrangements-copy {
    padding: 0 1.4rem
}

.arrangements-copy>p {
    font-size: .7rem;
    line-height: 1.7
}

.arrangements-copy h2 {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .65rem 1rem;
    color: #fff;
    background: linear-gradient(90deg, #781a16, #9f2b20, #62120f);
    font-family: "DM Sans", sans-serif;
    font-size: .72rem;
    font-weight: 700;
    border-radius: 4px
}

.arrangements-copy h2 i {
    font-size: 1.2rem
}

.arrangements-copy ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 1.5rem;
    list-style: none;
    padding: 0;
    margin: 1rem 0 0
}

.arrangements-copy li {
    position: relative;
    padding: .3rem 0 .3rem .8rem;
    border-right: 1px dotted #e1b68f;
    font-size: .6rem
}

.arrangements-copy li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .7rem;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e07022
}

.pitripaksh-cta {
    padding: 0 0 1.5rem
}

.pitripaksh-cta-card {
    min-height: 115px;
    display: grid;
    grid-template-columns: 120px 1fr auto;
    align-items: center;
    gap: 1.5rem;
    padding: 0 1.4rem;
    border-radius: 10px;
    background-image: linear-gradient(90deg, #fff3df 0%, rgba(255, 243, 223, .91) 48%, rgba(63, 18, 5, .12)), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: center 68%;
    overflow: hidden
}

.cta-seal {
    width: 100px;
    height: 100px;
    display: grid;
    place-items: center;
    border: 3px double #cf7627;
    border-radius: 50%;
    color: #9d4d14;
    background: rgba(255, 250, 240, .88);
    font-size: 2.8rem
}

.pitripaksh-cta h2 {
    font-size: 1.35rem;
    color: #5b1c17;
    margin: 0 0 .25rem
}

.pitripaksh-cta p {
    font-size: .68rem;
    margin: 0
}

.importance-page~.site-footer {
    background: linear-gradient(105deg, #3e0c08, #641a10, #290806)
}

@media(max-width:991.98px) {
    .importance-hero-copy {
        width: 52%
    }

    .mahasangam-card {
        grid-template-columns: 275px 1fr;
        gap: 1.5rem
    }

    .mahasangam-image img {
        height: 330px
    }

    .importance-significance-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .importance-significance-grid article {
        border-bottom: 1px solid #ead6c4
    }

    .importance-significance-grid article:nth-child(3) {
        border-right: 0
    }

    .arrangements-grid {
        grid-template-columns: 230px 1fr
    }

    .arrangements-copy ul {
        grid-template-columns: repeat(3, 1fr)
    }

    .pitripaksh-cta-card {
        grid-template-columns: 100px 1fr auto
    }
}

@media(max-width:767.98px) {
    .importance-hero {
        height: 570px;
        align-items: flex-end;
        background-image: linear-gradient(0deg, #fff9ef 8%, rgba(255, 249, 239, .93) 56%, rgba(255, 249, 239, .12)), url(../images/hero-pinddaan.png);
        background-position: 68% center
    }

    .importance-hero-copy {
        width: 100%;
        padding: 10rem 0 3.5rem
    }

    .importance-hero-copy h1 {
        font-size: 3.3rem
    }

    .importance-title-line {
        width: 100%
    }

    .mahasangam-card {
        grid-template-columns: 1fr;
        padding: 1rem
    }

    .mahasangam-image img {
        height: 280px
    }

    .mahasangam-copy {
        padding: 0
    }

    .mahasangam-copy h2 {
        font-size: 1.75rem
    }

    .small-title-line {
        margin-left: 0
    }

    .importance-significance-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .importance-significance-grid article:nth-child(3) {
        border-right: 1px solid #ead6c4
    }

    .importance-significance-grid article:nth-child(2n) {
        border-right: 0
    }

    .importance-significance-grid article:last-child {
        grid-column: 1/-1
    }

    .importance-heading:before,
    .importance-heading:after {
        width: 45px
    }

    .arrangements-heading {
        font-size: .9rem;
        text-align: center
    }

    .arrangements-heading:before,
    .arrangements-heading:after {
        width: 25px
    }

    .arrangements-grid {
        grid-template-columns: 1fr
    }

    .arrangement-benefits {
        border-right: 0;
        border-bottom: 1px solid #e3cdb9
    }

    .arrangements-copy {
        padding: 1rem 0 0
    }

    .arrangements-copy ul {
        grid-template-columns: repeat(2, 1fr)
    }

    .pitripaksh-cta-card {
        grid-template-columns: 80px 1fr;
        padding: 1rem
    }

    .cta-seal {
        width: 75px;
        height: 75px;
        font-size: 2rem
    }

    .pitripaksh-cta-card .btn {
        grid-column: 2;
        justify-self: start
    }
}

@media(max-width:480px) {
    .importance-hero-copy h1 {
        font-size: 2.8rem
    }

    .importance-hero-copy h2 {
        font-size: 1rem
    }

    .mahasangam-copy h2 {
        font-size: 1.55rem
    }

    .importance-significance-grid {
        grid-template-columns: 1fr
    }

    .importance-significance-grid article,
    .importance-significance-grid article:nth-child(3),
    .importance-significance-grid article:nth-child(2n) {
        border-right: 0
    }

    .importance-significance-grid article:last-child {
        grid-column: auto
    }

    .arrangements-copy ul {
        grid-template-columns: 1fr
    }

    .pitripaksh-cta-card {
        grid-template-columns: 1fr
    }

    .pitripaksh-cta-card .btn {
        grid-column: 1
    }

    .cta-seal {
        display: none
    }
}

/* Gaya Pilgrimage page */
.pilgrimage-page {
    background: #fff
}

.pilgrimage-hero {
    height: 355px;
    display: flex;
    align-items: center;
    color: #fff;
    background-image: linear-gradient(90deg, rgba(5, 20, 38, .82), rgba(5, 20, 38, .48) 48%, rgba(5, 20, 38, .12)), url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: center 54%
}

.pilgrimage-hero-copy nav {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .7rem;
    margin-bottom: 1rem
}

.pilgrimage-hero-copy nav a {
    color: #ff7a28
}

.pilgrimage-hero-copy nav i {
    font-size: .5rem
}

.pilgrimage-hero-copy h1 {
    text-transform: uppercase;
    font-size: 3.7rem;
    letter-spacing: .02em;
    margin: 0
}

.pilgrimage-title-line {
    width: 360px;
    border-top: 1px solid rgba(255, 255, 255, .8);
    margin: 1rem 0;
    position: relative
}

.pilgrimage-title-line:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -6px;
    width: 11px;
    height: 11px;
    border: 1px solid #fff;
    border-radius: 50%
}

.pilgrimage-hero-copy p {
    font-size: 1.1rem
}

.destination-section {
    position: relative;
    margin-top: -1px;
    padding: 2rem 0 2.5rem;
    background: #f7f3ef;
    z-index: 2
}

.destination-showcase-card {
    padding: 1.75rem;
    border: 1px solid #eadfd5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(49, 34, 23, .1)
}

.pilgrimage-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin-bottom: 1rem;
    color: #15365d;
    font-family: "Marcellus", serif;
    font-size: 1.25rem;
    text-transform: uppercase
}

.pilgrimage-heading:before,
.pilgrimage-heading:after {
    content: "";
    width: 45px;
    height: 1px;
    background: #9aaac0
}

.pilgrimage-heading em {
    color: #e8511c;
    font-style: normal
}

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

.destination-grid article {
    position: relative;
    overflow: hidden;
    text-align: center;
    border: 1px solid #dfe3e8;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 4px 13px rgba(23, 42, 62, .08)
}

.destination-image {
    height: 170px;
    background-image: url(../images/gaya-destinations.png);
    background-size: 200% 200%;
    background-repeat: no-repeat
}

.destination-vishnupad {
    background-position: left top
}

.destination-akshayvat {
    background-position: right bottom
}

.destination-mangla {
    background-position: left bottom
}

.destination-shringa {
    background-position: left bottom;
    filter: saturate(.7)
}

.destination-ramshila {
    background-position: right top
}

.destination-brahmayoni {
    background-position: left bottom;
    filter: brightness(.82)
}

.destination-icon {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    margin: -21px auto .5rem;
    position: relative;
    border-radius: 50%;
    color: #d8521c;
    background: #fff;
    border: 1px solid #e9c2a5
}

.destination-grid h2 {
    font-size: .76rem;
    color: #5a2119;
    margin: .35rem
}

.destination-grid p {
    font-size: .58rem;
    line-height: 1.5;
    min-height: 43px;
    padding: 0 .7rem;
    margin: 0 0 .8rem
}

.about-gaya {
    padding: 0 0 1.3rem
}

.about-gaya-card {
    display: grid;
    grid-template-columns: 1.2fr .9fr;
    border: 1px solid #dde2e7;
    border-radius: 10px;
    overflow: hidden;
    background: #fffaf5
}

.about-gaya-copy {
    padding: 1.35rem
}

.about-gaya-copy>h2 {
    color: #df4f19;
    text-transform: uppercase;
    font-size: 1.1rem
}

.about-gaya-copy>p {
    font-size: .65rem;
    line-height: 1.7
}

.gaya-fact-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 1.2rem
}

.gaya-fact-grid article {
    padding: .3rem .7rem;
    border-right: 1px solid #dddbd8
}

.gaya-fact-grid article:last-child {
    border: 0
}

.gaya-fact-grid i {
    color: #e9561a;
    font-size: 1.5rem
}

.gaya-fact-grid h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .65rem;
    font-weight: 800;
    margin: .4rem 0
}

.gaya-fact-grid p {
    font-size: .52rem;
    line-height: 1.5
}

.about-gaya-image {
    position: relative;
    min-height: 315px;
    background-image: url(../../img/officer/unnamed.webp);
    background-size: cover;
    background-position: center
}

.nomenclature {
    position: absolute;
    right: 1rem;
    bottom: 1rem;
    width: 255px;
    padding: 1rem;
    border-radius: 9px;
    background: rgba(255, 248, 240, .95);
    box-shadow: 0 7px 22px rgba(25, 31, 37, .14)
}

.nomenclature h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .7rem;
    font-weight: 800
}

.nomenclature p {
    font-size: .56rem;
    line-height: 1.55;
    margin: 0
}

.reach-gaya {
    padding: 0 0 1.3rem
}

.reach-gaya .container {
    padding: 1.2rem;
    border-radius: 10px;
    background: #f2f7fd
}

.reach-gaya h2 {
    text-align: center;
    text-transform: uppercase;
    color: #17385f;
    font-size: 1.1rem
}

.transport-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.transport-grid article {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: .7rem 1.1rem;
    border-right: 1px solid #cbd7e4
}

.transport-grid article:last-child {
    border: 0
}

.transport-grid i {
    color: #123c72;
    font-size: 2rem
}

.transport-grid h3 {
    font-family: "DM Sans", sans-serif;
    font-size: .67rem;
    font-weight: 800
}

.transport-grid p {
    font-size: .53rem;
    line-height: 1.55;
    margin: 0
}

.plan-pilgrimage {
    padding: 0 0 1rem
}

.plan-pilgrimage-card {
    display: grid;
    grid-template-columns: 1fr 1.15fr .85fr;
    overflow: hidden;
    border-radius: 10px;
    background: #edf5fe
}

.plan-services {
    padding: 1.25rem
}

.plan-services>h2,
.pilgrim-info>h2 {
    text-transform: uppercase;
    color: #16385f;
    font-size: 1.1rem
}

.plan-services>p {
    font-size: .6rem
}

.plan-services>div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .9rem;
    margin-top: 1.2rem
}

.plan-services article {
    display: flex;
    gap: .7rem;
    align-items: center
}

.plan-services article>i {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 50%;
    color: #fff;
    background: #214c80
}

.plan-services strong,
.plan-services small {
    display: block
}

.plan-services strong {
    font-size: .6rem
}

.plan-services small {
    font-size: .48rem;
    line-height: 1.45
}

.plan-image {
    background-image: url(../images/hero-pinddaan.png);
    background-size: cover;
    background-position: 72% center
}

.pilgrim-info {
    padding: 1.25rem;
    color: #fff;
    background: linear-gradient(145deg, #0d315d, #143b68)
}

.pilgrim-info>h2 {
    color: #fff
}

.pilgrim-info ul {
    list-style: none;
    padding: 0
}

.pilgrim-info li {
    display: flex;
    gap: .7rem;
    margin: .75rem 0
}

.pilgrim-info li>i {
    display: grid;
    place-items: center;
    width: 37px;
    height: 37px;
    flex: 0 0 37px;
    border-radius: 50%;
    color: #d85b25;
    background: #fff
}

.pilgrim-info strong,
.pilgrim-info span {
    display: block
}

.pilgrim-info strong {
    font-size: .59rem
}

.pilgrim-info span {
    font-size: .48rem
}

.pilgrim-info .btn {
    padding: .45rem 1rem;
    font-size: .6rem
}

.emergency-strip {
    padding: 0 0 1rem
}

.emergency-strip .container {
    display: grid;
    grid-template-columns: 1.35fr repeat(5, 1fr);
    padding: .7rem 1.2rem;
    border-radius: 8px;
    background: #fff7f2
}

.emergency-strip .container>div {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .2rem .9rem;
    border-right: 1px solid #ebc7b4;
    color: #d43a34
}

.emergency-strip .container>div:last-child {
    border: 0
}

.emergency-title i {
    font-size: 2rem
}

.emergency-title strong {
    text-transform: uppercase
}

.emergency-strip .container>div:not(.emergency-title)>i {
    font-size: 1.35rem
}

.emergency-strip span {
    font-size: .5rem;
    color: #333
}

.emergency-strip span strong {
    display: block;
    color: #db3732;
    font-size: .7rem
}

@media(max-width:1199px) {
    .destination-image {
        height: 145px
    }

    .destination-grid p {
        padding-inline: .4rem
    }

    .plan-pilgrimage-card {
        grid-template-columns: 1fr 1fr .8fr
    }

    .emergency-strip .container {
        grid-template-columns: 1.2fr repeat(5, 1fr)
    }

    .emergency-strip .container>div {
        padding-inline: .5rem
    }
}

@media(max-width:991.98px) {
    .destination-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .destination-image {
        height: 190px
    }

    .about-gaya-card {
        grid-template-columns: 1fr
    }

    .about-gaya-image {
        min-height: 360px
    }

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

    .transport-grid article:nth-child(2) {
        border-right: 0
    }

    .plan-pilgrimage-card {
        grid-template-columns: 1fr 1fr
    }

    .pilgrim-info {
        grid-column: 1/-1
    }

    .emergency-strip .container {
        grid-template-columns: repeat(3, 1fr)
    }

    .emergency-strip .container>div:nth-child(3n) {
        border-right: 0
    }
}

@media(max-width:767.98px) {
    .pilgrimage-hero {
        height: 500px;
        align-items: flex-end;
        background-image: linear-gradient(0deg, rgba(5, 20, 38, .9), rgba(5, 20, 38, .18)), url(../images/hero-pinddaan.png);
        background-position: 68% center
    }

    .pilgrimage-hero-copy {
        padding-bottom: 3rem
    }

    .pilgrimage-hero-copy h1 {
        font-size: 2.65rem
    }

    .pilgrimage-title-line {
        width: 100%
    }

    .destination-grid {
        display: flex;
        overflow-x: auto
    }

    .destination-grid article {
        min-width: 220px
    }

    .destination-showcase-card {
        padding: 1.25rem
    }

    .destination-image {
        height: 180px
    }

    .gaya-fact-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .gaya-fact-grid article:nth-child(2) {
        border-right: 0
    }

    .transport-grid {
        grid-template-columns: 1fr
    }

    .transport-grid article {
        border-right: 0;
        border-bottom: 1px solid #cbd7e4
    }

    .plan-pilgrimage-card {
        grid-template-columns: 1fr
    }

    .plan-image {
        min-height: 260px
    }

    .pilgrim-info {
        grid-column: auto
    }

    .emergency-strip .container {
        grid-template-columns: repeat(2, 1fr)
    }

    .emergency-strip .container>div,
    .emergency-strip .container>div:nth-child(3n) {
        border-right: 1px solid #ebc7b4
    }

    .emergency-strip .container>div:nth-child(2n) {
        border-right: 0
    }
}

@media(max-width:480px) {
    .pilgrimage-hero-copy h1 {
        font-size: 2.1rem
    }

    .destination-grid article {
        min-width: 205px
    }

    .destination-showcase-card {
        padding: 1rem
    }

    .gaya-fact-grid {
        grid-template-columns: 1fr 1fr
    }

    .nomenclature {
        width: calc(100% - 2rem)
    }

    .plan-services>div {
        grid-template-columns: 1fr
    }

    .emergency-strip .container {
        grid-template-columns: 1fr
    }

    .emergency-strip .container>div,
    .emergency-strip .container>div:nth-child(3n),
    .emergency-strip .container>div:nth-child(2n) {
        border-right: 0;
        border-bottom: 1px solid #ebc7b4
    }
}

/* Homepage hero image slider */
.hero-slider {
    display: block;
    background: none
}

.hero-slider .carousel-inner,
.hero-slider .hero-slide {
    min-height: 500px
}

.hero-slider .hero-slide {
    background-image: var(--hero-image);
    background-size: cover;
    background-position: center
}

.hero-slider .hero-copy {
    width: 49%;
    max-width: 640px
}

.hero-slider h1 {
    font-size: clamp(2.7rem, 4.6vw, 4.8rem);
    line-height: 1.02;
    text-transform: none
}

.hero-slider .hero-copy>p {
    max-width: 540px;
    font-size: 1rem;
    line-height: 1.75
}

.hero-slider .carousel-item.active .hero-copy {
    animation: heroCopyIn .65s ease both
}

.hero-slider .carousel-control-prev,
.hero-slider .carousel-control-next {
    top: auto;
    bottom: 24px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(207, 79, 16, .9);
    opacity: 1;
    z-index: 4
}

.hero-slider .carousel-control-prev {
    left: auto;
    right: 76px
}

.hero-slider .carousel-control-next {
    right: 28px
}

.hero-slider .carousel-control-prev-icon,
.hero-slider .carousel-control-next-icon {
    width: 17px;
    height: 17px
}

.hero-slider .carousel-indicators {
    right: auto;
    left: max(24px, calc((100vw - 1260px)/2));
    bottom: 24px;
    justify-content: flex-start;
    margin: 0;
    z-index: 4
}

.hero-slider .carousel-indicators button {
    width: 9px;
    height: 9px;
    border: 1px solid var(--orange);
    border-radius: 50%;
    background: #fff;
    opacity: 1
}

.hero-slider .carousel-indicators button.active {
    background: var(--orange)
}

@keyframes heroCopyIn {
    from {
        opacity: 0;
        transform: translateY(18px)
    }

    to {
        opacity: 1;
        transform: none
    }
}

@media(max-width:991.98px) {

    .hero-slider .carousel-inner,
    .hero-slider .hero-slide,
    .hero-slider .hero-inner {
        min-height: 560px
    }

    .hero-slider .hero-copy {
        width: 58%
    }

    .hero-slider .hero-slide {
        background-position: center
    }

    .hero-slider h1 {
        font-size: 3.2rem
    }
}

@media(max-width:767.98px) {

    .hero-slider,
    .hero-slider .carousel-inner,
    .hero-slider .hero-slide,
    .hero-slider .hero-inner {
        min-height: 620px
    }

    .hero-slider .hero-slide {
        background-position: 64% center
    }

    .hero-slider .hero-slide:before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(255, 249, 240, .98) 5%, rgba(255, 249, 240, .9) 50%, rgba(255, 249, 240, .08) 82%)
    }

    .hero-slider .hero-inner {
        position: relative;
        align-items: flex-end
    }

    .hero-slider .hero-copy {
        width: 100%;
        padding: 10rem 0 5rem
    }

    .hero-slider h1 {
        font-size: 2.75rem
    }

    .hero-slider .hero-copy>p {
        font-size: .9rem
    }

    .hero-slider .carousel-control-prev,
    .hero-slider .carousel-control-next {
        bottom: 18px
    }

    .hero-slider .carousel-indicators {
        bottom: 30px
    }
}

@media(max-width:420px) {
    .hero-slider h1 {
        font-size: 2.35rem
    }

    .hero-slider .hero-copy {
        padding-bottom: 5.2rem
    }

    .hero-slider .hero-copy .btn {
        width: auto;
        flex: 1;
        padding-inline: .8rem
    }

    .hero-slider .carousel-control-prev,
    .hero-slider .carousel-control-next {
        display: none
    }
}

/* Hero transition and staggered content motion */
.hero-slider.carousel-fade .carousel-item {
    opacity: 0;
    transition: opacity 1.15s ease-in-out
}

.hero-slider.carousel-fade .carousel-item.active {
    opacity: 1
}

.hero-slider .hero-slide {
    position: relative;
    overflow: hidden;
    background-image: none
}

.hero-slider .hero-slide:after {
    content: "";
    position: absolute;
    inset: -2%;
    z-index: 0;
    background-image: var(--hero-image);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transform: scale(1.045);
    will-change: transform, opacity
}

.hero-slider .hero-slide.active:after {
    animation: heroImageReveal 5.5s cubic-bezier(.2, .65, .3, 1) both
}

.hero-slider .hero-inner {
    position: relative;
    z-index: 2
}

.hero-slider .hero-copy>span,
.hero-slider .hero-copy>h1,
.hero-slider .hero-copy>p,
.hero-slider .hero-copy>div {
    opacity: 0;
    transform: translateY(24px);
    will-change: transform, opacity
}

.hero-slider .carousel-item.active .hero-copy>span {
    animation: heroTextReveal .65s .18s ease-out forwards
}

.hero-slider .carousel-item.active .hero-copy>h1 {
    animation: heroHeadingReveal .8s .32s cubic-bezier(.2, .7, .25, 1) forwards
}

.hero-slider .carousel-item.active .hero-copy>p {
    animation: heroTextReveal .7s .55s ease-out forwards
}

.hero-slider .carousel-item.active .hero-copy>div {
    animation: heroTextReveal .7s .75s ease-out forwards
}

@keyframes heroImageReveal {
    0% {
        opacity: .72;
        transform: scale(1.075) translateX(8px)
    }

    18% {
        opacity: 1
    }

    100% {
        opacity: 1;
        transform: scale(1.015) translateX(0)
    }
}

@keyframes heroTextReveal {
    from {
        opacity: 0;
        transform: translateY(24px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes heroHeadingReveal {
    from {
        opacity: 0;
        transform: translateY(32px);
        clip-path: inset(0 0 100% 0)
    }

    to {
        opacity: 1;
        transform: translateY(0);
        clip-path: inset(0)
    }
}

@media(max-width:767.98px) {
    .hero-slider .hero-slide:after {
        background-position: 64% center
    }

    .hero-slider .hero-slide:before {
        z-index: 1
    }
}

@media(prefers-reduced-motion:reduce) {
    .hero-slider.carousel-fade .carousel-item {
        transition-duration: .01ms
    }

    .hero-slider .hero-slide.active:after,
    .hero-slider .carousel-item.active .hero-copy>* {
        animation: none !important;
        opacity: 1;
        transform: none;
        clip-path: none
    }
}

/* How to Reach Gaya page */
.reach-page {
    --reach-maroon: #7b1f1f;
    --reach-rust: #c74c22;
    --reach-gold: #bd7d22;
    --reach-cream: #fffaf2;
    --reach-line: #ead8c1;
    font-size: 16px;
    color: #30251f;
    background: #fffaf3
}

.reach-page h1,
.reach-page h2,
.reach-page h3 {
    font-family: "Marcellus", Georgia, serif !important
}

.reach-section {
    padding: 3.5rem 0
}

.reach-hero {
    position: relative;
    overflow: hidden;
    min-height: 510px;
    background: linear-gradient(100deg, #fffaf0 0 37%, rgba(255, 248, 235, .72) 51%, rgba(255, 248, 235, .08) 72%), url("../../img/attraction/vishnupad_1.jpeg") center 47% / cover no-repeat
}

.reach-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 80px;
    background: linear-gradient(transparent, rgba(255, 250, 243, .9))
}

.reach-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 510px;
    display: grid;
    grid-template-columns: .82fr 1.45fr;
    align-items: center
}

.reach-hero-copy {
    max-width: 430px;
    padding: 3rem 0
}

.reach-eyebrow,
.reach-kicker {
    display: block;
    margin-bottom: .6rem;
    color: var(--reach-rust);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase
}

.reach-hero h1 {
    margin: 0;
    color: #6d211d;
    font-size: clamp(3rem, 4.6vw, 5rem);
    line-height: .98
}

.reach-hero h1 em {
    color: var(--reach-rust);
    font-style: normal
}

.reach-ornament {
    position: relative;
    width: 150px;
    height: 15px;
    margin: 1.1rem 0
}

.reach-ornament::before,
.reach-ornament::after {
    content: "";
    position: absolute;
    top: 7px;
    width: 62px;
    height: 1px;
    background: #c99a58
}

.reach-ornament::before {
    left: 0
}

.reach-ornament::after {
    right: 0
}

.reach-ornament i {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 9px;
    height: 9px;
    border: 1px solid #b97a21;
    transform: translateX(-50%) rotate(45deg)
}

.reach-hero-copy p {
    max-width: 330px;
    margin: 0 0 1.6rem;
    font-size: 1rem;
    line-height: 1.55
}

.reach-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem
}

.reach-primary,
.reach-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    min-height: 45px
}

.reach-primary {
    color: #fff;
    border: 1px solid #852520;
    background: linear-gradient(135deg, #8e2823, #681714)
}

.reach-primary:hover {
    color: #fff;
    background: #5e1412
}

.reach-secondary {
    color: #7b2620;
    border: 1px solid #d4a48d;
    background: rgba(255, 255, 255, .74)
}

.reach-secondary:hover {
    color: #fff;
    background: #8e2823
}

.reach-hero-visual {
    position: relative;
    min-height: 470px
}

.travel-float {
    position: absolute;
    display: grid;
    place-items: center;
    width: 70px;
    height: 70px;
    color: #fff;
    border: 5px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    box-shadow: 0 12px 30px rgba(48, 24, 13, .24);
    font-size: 1.8rem
}

.travel-plane {
    top: 13%;
    left: 13%;
    background: #1769a9;
    transform: rotate(-12deg)
}

.travel-train {
    left: 23%;
    bottom: 16%;
    background: #087443
}

.travel-road {
    right: 17%;
    bottom: 10%;
    background: #df6814
}

.reach-intro {
    background-image: radial-gradient(circle at 75% 45%, rgba(210, 162, 93, .12), transparent 33%)
}

.reach-intro-grid {
    display: grid;
    grid-template-columns: .85fr 1.25fr;
    align-items: center;
    gap: 4rem
}

.reach-intro-copy h2 {
    margin: 0;
    color: var(--reach-maroon);
    font-size: clamp(2rem, 3vw, 3rem)
}

.reach-intro-copy p {
    max-width: 520px;
    margin: 0;
    line-height: 1.7
}

.reach-route-map {
    position: relative;
    min-height: 330px;
    border: 1px solid #eadcc9;
    border-radius: 24px;
    background-color: #fff8ed;
    background-image: linear-gradient(32deg, transparent 48%, rgba(169, 119, 68, .08) 49% 51%, transparent 52%), linear-gradient(-28deg, transparent 48%, rgba(169, 119, 68, .08) 49% 51%, transparent 52%);
    background-size: 70px 70px;
    box-shadow: inset 0 0 60px rgba(189, 125, 34, .08)
}

.reach-route-map-embed {
    overflow: hidden;
    background: #eee7df;
    box-shadow: 0 16px 38px rgba(69, 35, 18, .14)
}

.reach-route-map-embed iframe {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border: 0
}

.gaya-traffic-map {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #e8e3dc
}

.traffic-map-badge {
    position: absolute;
    z-index: 3;
    top: 14px;
    left: 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 13px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 12px;
    color: #fff;
    background: rgba(82, 24, 16, .92);
    box-shadow: 0 8px 24px rgba(41, 21, 12, .2);
    backdrop-filter: blur(8px)
}

.traffic-map-badge>i {
    color: #ffb276;
    font-size: 20px
}

.traffic-map-badge strong,
.traffic-map-badge small {
    display: block;
    line-height: 1.2
}

.traffic-map-badge strong {
    font-size: 13px
}

.traffic-map-badge small {
    margin-top: 3px;
    color: #ead3c7;
    font-size: 10px
}

.traffic-map-pending {
    background: rgba(48, 45, 43, .9)
}

.traffic-layer-toggle {
    position: absolute;
    z-index: 3;
    right: 14px;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #ddd;
    border-radius: 8px;
    color: #4a403a;
    background: #fff;
    box-shadow: 0 4px 15px rgba(40, 30, 24, .2);
    font-size: 12px;
    font-weight: 700
}

.traffic-layer-toggle.active {
    border-color: #a93220;
    color: #fff;
    background: #8e281b
}

.traffic-layer-toggle:focus-visible {
    outline: 3px solid rgba(232, 105, 35, .35);
    outline-offset: 2px
}

/* Contact page feedback and complaint form */
.contact-feedback-section{padding:84px 0;background:linear-gradient(135deg,#fff8f1 0,#fff 52%,#f7eee7 100%);border-block:1px solid #ecd8c9}.contact-feedback-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:28px;align-items:stretch}.feedback-support-card{position:relative;overflow:hidden;padding:42px 36px;border-radius:24px;color:#fff;background:linear-gradient(145deg,#4d130e 0,#81251a 55%,#b54218 100%);box-shadow:0 22px 55px rgba(80,25,13,.2)}.feedback-support-card::before{content:"";position:absolute;right:-85px;bottom:-100px;width:290px;height:290px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 95px rgba(255,255,255,.025)}.feedback-support-card>*{position:relative;z-index:1}.feedback-support-icon{width:62px;height:62px;display:grid;place-items:center;margin-bottom:24px;border:1px solid rgba(255,255,255,.24);border-radius:17px;color:#ffb16f;background:rgba(255,255,255,.1);font-size:27px}.feedback-support-kicker{display:block;margin-bottom:8px;color:#ffb374;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.feedback-support-card h3{margin:0 0 14px;color:#fff;font-size:clamp(1.9rem,3vw,2.55rem);font-weight:800}.feedback-support-card>p{color:#f1d9ce;line-height:1.7}.feedback-support-points{display:grid;gap:14px;margin-top:28px}.feedback-support-points>div{display:flex;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:13px;background:rgba(255,255,255,.07)}.feedback-support-points>div>i{margin-top:2px;color:#ffad67;font-size:18px}.feedback-support-points strong,.feedback-support-points small{display:block}.feedback-support-points strong{color:#fff;font-size:14px}.feedback-support-points small{margin-top:3px;color:#ddc3b8;font-size:11px}.feedback-emergency-note{display:flex;align-items:flex-start;gap:10px;margin:26px 0 0!important;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:13px}.feedback-emergency-note>i{color:#ffc067}.feedback-emergency-note a{color:#fff;font-weight:800}.feedback-form-card{padding:34px;border:1px solid #ead7ca;border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(71,34,18,.09)}.feedback-form-alert{display:flex;align-items:flex-start;gap:10px;margin-bottom:22px;padding:14px 16px;border-radius:12px;font-size:14px}.feedback-form-alert.success{color:#17613a;background:#e7f7ed}.feedback-form-alert.danger{color:#8f261e;background:#fff0ed}.feedback-form-alert i{font-size:19px}.feedback-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.feedback-form-grid .full{grid-column:1/-1}.feedback-field>label,.feedback-type-choice legend{display:block;margin-bottom:8px;color:#4b211a;font-size:13px;font-weight:800}.feedback-field>label small{color:#967d72;font-weight:500}.feedback-field input,.feedback-field select,.feedback-field textarea{width:100%;min-height:49px;padding:11px 13px;border:1px solid #ddcec4;border-radius:10px;color:#321c17;background:#fff;font:inherit;transition:.2s ease}.feedback-field textarea{min-height:132px;resize:vertical}.feedback-field input:focus,.feedback-field select:focus,.feedback-field textarea:focus{outline:0;border-color:#cf551b;box-shadow:0 0 0 3px rgba(207,85,27,.12)}.feedback-field>small{display:block;margin-top:6px;color:#907c72;font-size:10px;text-align:right}.feedback-type-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;border:0}.feedback-type-choice legend{grid-column:1/-1}.feedback-type-choice label{cursor:pointer}.feedback-type-choice input{position:absolute;opacity:0;pointer-events:none}.feedback-type-choice span{min-height:50px;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px;border:1px solid #e1d2c8;border-radius:11px;color:#66483b;background:#fffaf6;font-weight:800;transition:.2s ease}.feedback-type-choice input:checked+span{border-color:#a9361a;color:#fff;background:linear-gradient(110deg,#7a2117,#b33e16);box-shadow:0 8px 20px rgba(126,36,20,.16)}.feedback-type-choice input:focus-visible+span{outline:3px solid rgba(211,91,30,.25)}.feedback-rating{display:flex;flex-wrap:wrap;gap:7px}.feedback-rating input{position:absolute;opacity:0;pointer-events:none}.feedback-rating label{min-width:49px;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px;border:1px solid #e0d2c8;border-radius:9px;color:#b49c8f;background:#fffaf6;cursor:pointer;font-weight:700}.feedback-rating input:checked+label{border-color:#db6a1d;color:#fff;background:#db6a1d}.feedback-rating input:focus-visible+label{outline:3px solid rgba(219,106,29,.25)}.feedback-form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid #eee3dc}.feedback-form-footer p{max-width:360px;margin:0;color:#806d64;font-size:11px}.feedback-form-footer p i{margin-right:5px;color:#23744b}.feedback-form-footer button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 20px;border:0;border-radius:10px;color:#fff;background:linear-gradient(105deg,#ae3814,#dd651d);box-shadow:0 10px 24px rgba(187,67,17,.2);font-weight:800}.feedback-form-footer button:hover{background:linear-gradient(105deg,#8b2812,#c34c13)}.feedback-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}@media(max-width:991px){.contact-feedback-layout{grid-template-columns:1fr}.feedback-support-card{padding:34px}}@media(max-width:600px){.contact-feedback-section{padding:58px 0}.feedback-form-card{padding:22px 18px}.feedback-form-grid{grid-template-columns:1fr}.feedback-form-grid .full{grid-column:auto}.feedback-type-choice{grid-template-columns:1fr 1fr}.feedback-type-choice legend{grid-column:1/-1}.feedback-form-footer{align-items:stretch;flex-direction:column}.feedback-form-footer button{width:100%}}

.route-city,
.route-gaya {
    position: absolute;
    padding: .32rem .6rem;
    font-size: .75rem;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(91, 55, 26, .12)
}

.route-city::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: .35rem;
    border-radius: 50%;
    background: #b4422b
}

.route-gaya {
    left: 54%;
    top: 48%;
    color: #fff;
    background: #872421;
    font-size: 1rem;
    transform: translate(-50%, -50%)
}

.route-gaya::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 270px;
    height: 170px;
    border: 1px dashed rgba(135, 36, 33, .42);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none
}

.city-delhi {
    left: 20%;
    top: 12%
}

.city-patna {
    right: 17%;
    top: 18%
}

.city-varanasi {
    right: 5%;
    top: 40%
}

.city-kolkata {
    right: 10%;
    bottom: 15%
}

.city-mumbai {
    left: 4%;
    bottom: 30%
}

.city-chennai {
    left: 30%;
    bottom: 5%
}

.travel-mode-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem
}

.travel-mode-card {
    --mode: #1f70ac;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid color-mix(in srgb, var(--mode) 35%, #ddd);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 26px rgba(57, 37, 22, .08)
}

.travel-mode-card.mode-rail {
    --mode: #087848
}

.travel-mode-card.mode-road {
    --mode: #df690c
}

.travel-mode-head {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem 1.15rem
}

.travel-mode-head>span {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    color: #fff;
    border-radius: 50%;
    background: var(--mode);
    font-size: 1.25rem
}

.travel-mode-head h2 {
    margin: 0;
    color: var(--mode);
    font-size: 1.35rem
}

.travel-mode-head small {
    color: #74685f;
    font-size: .72rem
}

.travel-mode-image {
    height: 190px;
    background-color: #e9e2dc;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center
}

.mode-air .travel-mode-image {
    background-image: url("../../img/travel-air-gaya.png");
    background-position: center 48%
}

.mode-rail .travel-mode-image {
    background-image: url("../../img/travel-rail-gaya.png")
}

.mode-road .travel-mode-image {
    background-image: url("../../img/travel-road-gaya.png")
}

.travel-mode-card ul {
    flex: 1;
    list-style: none;
    margin: 0;
    padding: 1.1rem 1.2rem
}

.travel-mode-card li {
    display: flex;
    gap: .6rem;
    margin: .55rem 0;
    font-size: 15px;
    line-height: 1.35
}

.travel-mode-card li i {
    color: var(--mode)
}

.travel-mode-card>a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 1.2rem 1.2rem;
    padding: .72rem 1rem;
    color: #fff;
    border-radius: 5px;
    background: var(--mode);
    font-size: 15px;
    font-weight: 700
}

.reach-stats {
    padding: 1.5rem 0;
    border-block: 1px solid #ead5b8;
    background: linear-gradient(90deg, #fff4dc, #ffe8bd, #fff4dc)
}

.reach-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.reach-stats-grid>div {
    display: grid;
    grid-template-columns: 54px auto 1fr;
    align-items: center;
    gap: .65rem;
    padding: .45rem 1.5rem;
    border-right: 1px solid #d8bd94
}

.reach-stats-grid>div:last-child {
    border: 0
}

.reach-stats-grid i {
    display: grid;
    place-items: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    color: #8d2924;
    background: #f4ddbb;
    font-size: 1.45rem
}

.reach-stats-grid strong {
    color: #80231f;
    font-family: "Marcellus", serif;
    font-size: 2rem
}

.reach-stats-grid span {
    font-size: 15px;
    line-height: 1.3
}

.reach-section-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    margin-bottom: 1.6rem;
    color: #872421;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase
}

.reach-section-title::before,
.reach-section-title::after {
    content: "";
    width: 65px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b88745)
}

.reach-section-title::after {
    background: linear-gradient(90deg, #b88745, transparent)
}

.journey-steps {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
    align-items: center;
    max-width: 980px;
    margin: auto
}

.journey-steps>div {
    text-align: center
}

.journey-steps>div>i {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin: 0 auto .4rem;
    border-radius: 50%;
    color: #fff;
    background: #2777b0;
    font-size: 1.55rem;
    box-shadow: 0 7px 18px rgba(34, 95, 138, .2)
}

.journey-steps>div:nth-of-type(2)>i {
    background: #2277a1
}

.journey-steps>div:nth-of-type(3)>i {
    background: #368c64
}

.journey-steps>div:nth-of-type(4)>i {
    background: #df921d
}

.journey-steps>div:nth-of-type(5)>i {
    background: #b7312d
}

.journey-steps b {
    display: block;
    color: #81211e;
    font-size: 15px
}

.journey-steps span {
    display: block;
    font-size: 15px;
    line-height: 1.3
}

.journey-steps em {
    color: #a47e51;
    font-style: normal;
    font-size: 1.1rem
}

.distance-layout {
    display: grid;
    grid-template-columns: .85fr 1.45fr;
    gap: 1.25rem
}

.distance-card,
.temple-map-card {
    overflow: hidden;
    border: 1px solid var(--reach-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(77, 49, 25, .07)
}

.distance-card {
    padding: 1.3rem
}

.distance-card h2 {
    margin: 0 0 .8rem;
    color: #81211e;
    font-size: 1.1rem;
    text-transform: uppercase
}

.distance-table>div {
    display: grid;
    grid-template-columns: 24px 1fr 80px 85px;
    gap: .5rem;
    align-items: center;
    padding: .65rem .25rem;
    border-bottom: 1px solid #eee3d7;
    font-size: 15px
}

.distance-table>div:last-child {
    border: 0
}

.distance-table i {
    color: #ae3a2d
}

.distance-table small {
    color: #74665e
}

.temple-map-card {
    display: grid;
    grid-template-columns: 230px 1fr;
    min-height: 330px
}

.temple-map-copy {
    position: relative;
    z-index: 2;
    margin: 1.4rem;
    padding: 1.25rem;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(51, 35, 23, .14)
}

.temple-map-copy>span {
    color: #c04d25;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase
}

.temple-map-copy h2 {
    margin: .25rem 0;
    color: #7d211e;
    font-size: 1.25rem
}

.temple-map-copy p {
    font-size: 15px;
    line-height: 1.5
}

.temple-map-copy a {
    display: block;
    padding: .65rem;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    background: #81211e;
    font-size: 15px;
    font-weight: 700
}

.temple-map-art {
    position: relative;
    overflow: hidden;
    background-color: #e9f4ef;
    background-image: linear-gradient(35deg, transparent 45%, #c7ddd4 46% 49%, transparent 50%), linear-gradient(-35deg, transparent 45%, #c7ddd4 46% 49%, transparent 50%);
    background-size: 70px 70px
}

.temple-map-art::before {
    content: "";
    position: absolute;
    left: 38%;
    top: -20%;
    width: 28px;
    height: 150%;
    background: #b9dbee;
    transform: rotate(8deg)
}

.pin-temple {
    position: absolute;
    left: 52%;
    top: 43%;
    color: #e33126;
    font-size: 2rem
}

.temple-map-art>b {
    position: absolute;
    left: 59%;
    top: 46%;
    color: #a12722;
    font-size: 15px
}

.pin-bus {
    position: absolute;
    right: 16%;
    bottom: 20%;
    color: #2478a8;
    font-size: 1.6rem
}

.temple-map-art>small {
    position: absolute;
    right: 4%;
    bottom: 13%;
    font-size: 14px
}

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

.local-travel-grid article {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1rem;
    border: 1px solid var(--reach-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(72, 47, 27, .06)
}

.local-travel-grid article>span {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    color: #fff;
    border-radius: 12px;
    background: linear-gradient(135deg, #b9322b, #e57b23);
    font-size: 1.6rem
}

.local-travel-grid h3 {
    margin: 0 0 .2rem;
    color: #71201d;
    font-size: 1rem
}

.local-travel-grid p,
.local-travel-grid small {
    display: block;
    margin: 0;
    font-size: 15px;
    line-height: 1.5
}

.local-travel-grid small {
    color: #776960
}

.travel-support-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 2rem
}

.travel-tips>div:last-child {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 1.2rem
}

.travel-tips-image {
    min-height: 200px;
    border-radius: 12px;
    background: linear-gradient(rgba(93, 39, 19, .15), rgba(93, 39, 19, .15)), url("../../img/attraction/vishnupad_1.jpeg") center/cover
}

.travel-tips ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.travel-tips li {
    position: relative;
    margin: .55rem 0;
    padding-left: 1.7rem;
    font-size: 15px
}

.travel-tips li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 18px;
    height: 18px;
    color: #fff;
    border-radius: 50%;
    background: #249477;
    font-size: .65rem
}

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

.hub-grid>div {
    padding: 1.3rem .8rem;
    text-align: center;
    border: 1px solid var(--reach-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(72, 47, 27, .06)
}

.hub-grid i {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto .7rem;
    color: #146da3;
    border-radius: 50%;
    background: #e6f2fa;
    font-size: 1.6rem
}

.hub-grid strong,
.hub-grid span,
.hub-grid small {
    display: block
}

.hub-grid strong {
    color: #6e211f;
    font-size: 15px
}

.hub-grid span {
    margin-top: .4rem;
    color: #0b72a7;
    font-weight: 700;
    font-size: 15px
}

.hub-grid small {
    font-size: 15px
}

.assistance-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem
}

.assistance-grid a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: .9rem;
    color: #fff;
    border-radius: 8px;
    background: #2475b6;
    box-shadow: 0 6px 16px rgba(39, 81, 120, .18)
}

.assistance-grid a:nth-child(2) {
    background: #21a49b
}

.assistance-grid a:nth-child(3) {
    background: #8464b2
}

.assistance-grid a:nth-child(4) {
    background: #ec7b19
}

.assistance-grid a:nth-child(5) {
    background: #aa3046
}

.assistance-grid span {
    font-size: 15px
}

.assistance-grid strong {
    font-size: 16px
}

.reach-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .7rem 1rem
}

.reach-faq details {
    border: 1px solid #e6d4c1;
    border-radius: 7px;
    background: #fff
}

.reach-faq summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .85rem 1rem;
    cursor: pointer;
    color: #54201e;
    font-size: 15px;
    font-weight: 700;
    list-style: none
}

.reach-faq summary::-webkit-details-marker {
    display: none
}

.reach-faq details[open] summary i {
    transform: rotate(180deg)
}

.reach-faq details p {
    margin: 0;
    padding: 0 1rem 1rem;
    color: #675a52;
    font-size: 15px;
    line-height: 1.55
}

.reach-cta {
    color: #fff;
    background-image: linear-gradient(90deg, rgba(93, 18, 14, .96), rgba(126, 30, 19, .78)), url("../../img/footer.jpg");
    background-size: cover;
    background-position: center
}

.reach-cta .container {
    min-height: 190px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem
}

.reach-cta span {
    color: #ffbf71;
    font-size: .76rem;
    text-transform: uppercase;
    letter-spacing: .1em
}

.reach-cta h2 {
    margin: .2rem 0;
    font-size: 2rem
}

.reach-cta p {
    margin: 0;
    color: rgba(255, 255, 255, .8)
}

.reach-cta .container>div:last-child {
    display: flex;
    gap: .8rem
}

@media(max-width:1199px) {
    .reach-hero-grid {
        grid-template-columns: 1fr 1.25fr
    }

    .reach-stats-grid>div {
        padding-inline: .8rem
    }

    .temple-map-card {
        grid-template-columns: 200px 1fr
    }
}

@media(max-width:991.98px) {
    .reach-hero {
        background-position: 62% center
    }

    .reach-hero-grid {
        grid-template-columns: 1fr
    }

    .reach-hero-copy {
        max-width: 55%
    }

    .reach-hero-visual {
        position: absolute;
        inset: 0 0 0 52%;
        pointer-events: none
    }

    .reach-intro-grid,
    .distance-layout,
    .travel-support-grid {
        grid-template-columns: 1fr
    }

    .travel-mode-grid {
        grid-template-columns: 1fr 1fr
    }

    .travel-mode-card:last-child {
        grid-column: 1/-1
    }

    .reach-stats-grid {
        grid-template-columns: 1fr 1fr
    }

    .reach-stats-grid>div:nth-child(2) {
        border-right: 0
    }

    .reach-stats-grid>div:nth-child(-n+2) {
        border-bottom: 1px solid #d8bd94
    }

    .local-travel-grid {
        grid-template-columns: 1fr 1fr
    }

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

@media(max-width:767.98px) {
    .reach-section {
        padding: 2.7rem 0
    }

    .reach-hero {
        min-height: 590px;
        background-image: linear-gradient(0deg, #fffaf0 0 48%, rgba(255, 248, 235, .24) 75%), url("../../img/attraction/vishnupad_1.jpeg");
        background-position: center top
    }

    .reach-hero-grid {
        min-height: 590px;
        align-items: end
    }

    .reach-hero-copy {
        max-width: none;
        padding: 2.5rem 0 3rem
    }

    .reach-hero-visual {
        inset: 0;
        min-height: 280px
    }

    .travel-plane {
        top: 8%;
        left: 10%
    }

    .travel-train {
        display: none
    }

    .travel-road {
        top: 31%;
        right: 8%;
        bottom: auto
    }

    .reach-intro-grid {
        gap: 2rem
    }

    .reach-route-map {
        min-height: 280px
    }

    .travel-mode-grid {
        grid-template-columns: 1fr
    }

    .travel-mode-card:last-child {
        grid-column: auto
    }

    .journey-steps {
        grid-template-columns: 1fr;
        gap: .8rem
    }

    .journey-steps em {
        transform: rotate(90deg)
    }

    .temple-map-card {
        grid-template-columns: 1fr
    }

    .temple-map-art {
        min-height: 280px
    }

    .travel-tips>div:last-child {
        grid-template-columns: 1fr
    }

    .travel-tips-image {
        min-height: 260px
    }

    .assistance-grid {
        grid-template-columns: 1fr 1fr
    }

    .reach-faq-grid {
        grid-template-columns: 1fr
    }

    .reach-cta .container {
        padding-block: 2.5rem;
        flex-direction: column;
        align-items: flex-start
    }
}

@media(max-width:575.98px) {
    .reach-hero h1 {
        font-size: 2.8rem
    }

    .reach-intro-grid {
        gap: 1.5rem
    }

    .reach-route-map {
        min-height: 250px
    }

    .route-gaya::before {
        width: 190px;
        height: 130px
    }

    .reach-stats-grid,
    .local-travel-grid,
    .hub-grid,
    .assistance-grid {
        grid-template-columns: 1fr
    }

    .reach-stats-grid>div {
        border-right: 0;
        border-bottom: 1px solid #d8bd94 !important
    }

    .reach-stats-grid>div:last-child {
        border-bottom: 0 !important
    }

    .local-travel-grid article {
        padding: .85rem
    }

    .reach-cta .container>div:last-child {
        width: 100%;
        flex-direction: column
    }

    .reach-cta .btn {
        width: 100%
    }
}

/* Shared footer background */
.site-footer {
    background-color: #17110e;
    background-image: linear-gradient(rgba(17, 10, 7, .88), rgba(17, 10, 7, .9)), url("../../img/footer.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

/* Standard typography for utility, support and footer sections */
.resources-utilities-only {
    padding: 3rem 0
}

.resources-utilities-only .utility-card h2 {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    line-height: 1.3
}

.resources-utilities-only .important li,
.resources-utilities-only .emergency li {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .875rem;
    line-height: 1.45
}

.resources-utilities-only .donation p,
.resources-utilities-only .fair p {
    max-width: 210px;
    font-size: .875rem;
    line-height: 1.55
}

.resources-utilities-only .donation .btn {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .875rem
}

.support-strip strong {
    font-family: var(--font-heading) !important;
    font-size: 1rem;
    font-weight: 800
}

.support-strip span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .875rem;
    line-height: 1.5
}

.booking-cta h2 {
    font-size: 1.75rem
}

.booking-cta p {
    font-size: 1rem;
    line-height: 1.5
}

.booking-cta .btn {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .875rem
}

.site-footer p,
.site-footer li,
.site-footer a,
.site-footer span {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .875rem;
    line-height: 1.55
}

.site-footer h3 {
    margin-bottom: .85rem;
    font-family: var(--font-heading) !important;
    font-size: 1rem;
    font-weight: 800
}

.site-footer .copyright {
    font-family: Arial, Helvetica, sans-serif;
    font-size: .8rem
}

/* Scroll entrance animations */
.scroll-motion-ready .utility-card,
.scroll-motion-ready.support-strip .container>div,
.scroll-motion-ready.booking-cta .container>*,
.scroll-motion-ready.site-footer .footer-grid>div,
.scroll-motion-ready.site-footer .copyright {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .65s ease, transform .65s cubic-bezier(.2, .75, .25, 1), box-shadow .3s ease
}

.scroll-motion-ready.is-visible .utility-card,
.scroll-motion-ready.is-visible.support-strip .container>div,
.scroll-motion-ready.is-visible.booking-cta .container>*,
.scroll-motion-ready.is-visible.site-footer .footer-grid>div,
.scroll-motion-ready.is-visible.site-footer .copyright {
    opacity: 1;
    transform: translateY(0)
}

.scroll-motion-ready.is-visible .utility-card:nth-child(2),
.scroll-motion-ready.is-visible.support-strip .container>div:nth-child(2),
.scroll-motion-ready.is-visible.site-footer .footer-grid>div:nth-child(2) {
    transition-delay: .12s
}

.scroll-motion-ready.is-visible .utility-card:nth-child(3),
.scroll-motion-ready.is-visible.support-strip .container>div:nth-child(3),
.scroll-motion-ready.is-visible.site-footer .footer-grid>div:nth-child(3) {
    transition-delay: .24s
}

.scroll-motion-ready.is-visible .utility-card:nth-child(4),
.scroll-motion-ready.is-visible.site-footer .footer-grid>div:nth-child(4),
.scroll-motion-ready.is-visible.site-footer .copyright {
    transition-delay: .36s
}

.scroll-motion-ready.motion-complete .utility-card,
.scroll-motion-ready.motion-complete.support-strip .container>div,
.scroll-motion-ready.motion-complete.booking-cta .container>*,
.scroll-motion-ready.motion-complete.site-footer .footer-grid>div,
.scroll-motion-ready.motion-complete.site-footer .copyright {
    transition-delay: 0s
}

.scroll-motion-ready.motion-complete .utility-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 16px 34px rgba(60, 28, 11, .2)
}

@media(max-width:767.98px) {
    .resources-utilities-only {
        padding: 2.25rem 0
    }

    .booking-cta h2 {
        font-size: 1.4rem
    }

    .site-footer p,
    .site-footer li,
    .site-footer a,
    .site-footer span {
        font-size: .84rem
    }
}

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

    .scroll-motion-ready .utility-card,
    .scroll-motion-ready.support-strip .container>div,
    .scroll-motion-ready.booking-cta .container>*,
    .scroll-motion-ready.site-footer .footer-grid>div,
    .scroll-motion-ready.site-footer .copyright {
        opacity: 1;
        transform: none;
        transition: none
    }
}

/* Live Darshan and featured pilgrimage section */
.darshan-sites-section {
    width: 100%;
    padding: 3.5rem clamp(1rem, 3vw, 3.5rem);
    background-color: #fcf6f1;
    background-image: linear-gradient(rgba(0, 0, 0, .62), rgba(0, 0, 0, .62)), url("../../img/about home.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover
}

.darshan-sites-section>.container-fluid {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0
}

.darshan-sites-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(1.25rem, 2.5vw, 2.5rem)
}

.sites-only-section .darshan-sites-grid {
    grid-template-columns: minmax(0, 1fr)
}

.sites-only-section .featured-sites-panel {
    width: min(100%, 1100px);
    margin: 0 auto
}

.live-darshan-panel,
.featured-sites-panel {
    min-width: 0
}

.feature-heading {
    position: relative;
    margin-bottom: 1rem
}

.feature-heading .section-subtitle {
    display: block;
    margin-bottom: .2rem;
    color: var(--orange);
    font-size: 1.2rem;
    line-height: 1.2
}

.feature-heading h2 {
    position: relative;
    margin: 0;
    padding-bottom: .7rem;
    color: #fff;
    font-size: clamp(1.65rem, 2.5vw, 2.25rem)
}

.feature-heading h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 86px;
    height: 2px;
    background: linear-gradient(90deg, var(--orange), transparent)
}

.live-darshan-video {
    position: relative;
    min-height: 470px;
    overflow: hidden;
    border: 1px solid #e9cdb8;
    border-radius: 16px;
    background: #1e100b;
    box-shadow: 0 18px 38px rgba(76, 38, 16, .13)
}

.pilgrimage-featured-carousel {
    position: relative;
    height: 385px;
    min-height: 385px;
    overflow: hidden;
    border: 1px solid #e9cdb8;
    border-radius: 16px;
    background: #1e100b;
    box-shadow: 0 18px 38px rgba(76, 38, 16, .13)
}

.live-darshan-video>img {
    display: block;
    width: 100%;
    height: 470px;
    object-fit: cover;
    transition: transform 7s ease
}

.live-darshan-video:hover>img {
    transform: scale(1.05)
}

.live-video-shade,
.pilgrimage-slide-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .16), rgba(0, 0, 0, .72))
}

.live-status {
    position: absolute;
    top: 1rem;
    left: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .4rem .7rem;
    color: #fff;
    border-radius: 999px;
    background: #c51d17;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase
}

.live-status i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 0 rgba(255, 255, 255, .7);
    animation: livePulse 1.6s infinite
}

@keyframes livePulse {
    70% {
        box-shadow: 0 0 0 8px rgba(255, 255, 255, 0)
    }
}

.live-video-content {
    position: absolute;
    right: 1.5rem;
    bottom: 1.5rem;
    left: 1.5rem;
    color: #fff
}

.live-play-button {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1rem;
    color: #fff;
    border: 2px solid rgba(255, 255, 255, .82);
    border-radius: 50%;
    background: rgba(217, 90, 19, .88);
    box-shadow: 0 0 0 10px rgba(255, 255, 255, .12);
    transition: transform .25s ease, background-color .25s ease
}

.live-play-button:hover,
.live-play-button:focus-visible {
    color: #fff;
    background: var(--orange-dark);
    transform: scale(1.08)
}

.live-play-button i {
    margin-left: 3px;
    font-size: 1.8rem
}

.live-video-content h3 {
    margin: 0 0 .35rem;
    color: #fff;
    font-size: 1.45rem
}

.live-video-content p {
    max-width: 570px;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: .95rem
}

.pilgrimage-featured-carousel .carousel-inner,
.pilgrimage-featured-carousel .carousel-item {
    height: 385px
}

.pilgrimage-featured-carousel .carousel-item>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.pilgrimage-slide-copy {
    position: absolute;
    right: 1.5rem;
    bottom: 1.4rem;
    left: 1.5rem;
    z-index: 2;
    color: #fff
}

.pilgrimage-slide-copy>span {
    display: inline-block;
    margin-bottom: .45rem;
    color: #ffb17e;
    font-family: var(--font-heading);
    font-size: .78rem;
    font-weight: 800
}

.pilgrimage-slide-copy h3 {
    margin: 0 0 .35rem;
    color: #fff;
    font-size: 1.45rem
}

.pilgrimage-slide-copy p {
    margin: 0 0 .8rem;
    color: rgba(255, 255, 255, .84);
    font-size: .9rem
}

.pilgrimage-slide-copy a {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .82rem;
    font-weight: 700
}

.pilgrimage-featured-carousel .carousel-control-prev,
.pilgrimage-featured-carousel .carousel-control-next {
    top: 1rem;
    bottom: auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, .6);
    border-radius: 50%;
    background: rgba(0, 0, 0, .4)
}

.pilgrimage-featured-carousel .carousel-control-prev {
    right: 3.8rem;
    left: auto
}

.pilgrimage-featured-carousel .carousel-control-next {
    right: 1rem
}

.pilgrimage-featured-carousel .carousel-control-prev-icon,
.pilgrimage-featured-carousel .carousel-control-next-icon {
    width: 1rem;
    height: 1rem
}

.pilgrimage-thumbnail-footer {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .55rem;
    height: 73px;
    margin-top: .75rem
}

.pilgrimage-thumbnail {
    min-width: 0;
    height: 73px;
    padding: .3rem;
    color: #4c281d;
    border: 1px solid #e5cdbd;
    border-radius: 8px;
    background: #fff;
    text-align: left;
    transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease
}

.pilgrimage-thumbnail:hover,
.pilgrimage-thumbnail:focus-visible,
.pilgrimage-thumbnail.active {
    border-color: var(--orange);
    box-shadow: 0 6px 16px rgba(101, 47, 18, .12);
    transform: translateY(-2px)
}

.pilgrimage-thumbnail img {
    display: block;
    width: 100%;
    height: 40px;
    margin-bottom: .2rem;
    object-fit: cover;
    border-radius: 5px
}

.pilgrimage-thumbnail span {
    display: block;
    overflow: hidden;
    padding: 0 .2rem .1rem;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap
}

.featured-sites-panel .sites-action {
    position: absolute;
    right: 0;
    bottom: .65rem;
    margin: 0;
    text-align: right
}

.featured-sites-panel .sites-view-all {
    color: #fff;
    border-color: rgba(255, 255, 255, .7);
    background: rgba(0, 0, 0, .24)
}

@media(max-width:991.98px) {
    .darshan-sites-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width:575.98px) {
    .darshan-sites-section {
        padding: 2.5rem .9rem
    }

    .live-darshan-video {
        min-height: 390px
    }

    .pilgrimage-featured-carousel {
        height: 320px;
        min-height: 320px
    }

    .live-darshan-video>img {
        height: 390px
    }

    .pilgrimage-featured-carousel .carousel-inner,
    .pilgrimage-featured-carousel .carousel-item {
        height: 320px
    }

    .live-video-content,
    .pilgrimage-slide-copy {
        right: 1rem;
        bottom: 1rem;
        left: 1rem
    }

    .pilgrimage-thumbnail-footer {
        display: flex;
        height: 73px;
        overflow-x: auto;
        padding-bottom: .35rem;
        scrollbar-width: thin
    }

    .pilgrimage-thumbnail {
        flex: 0 0 92px;
        height: 73px
    }

    .sites-feature-heading {
        padding-right: 0
    }

    .featured-sites-panel .sites-action {
        position: static;
        margin-top: .8rem;
        text-align: left
    }
}

/* Homepage social media feeds */
.social-feed-section {
    padding: 4.5rem 0 5rem;
    background:
        radial-gradient(circle at 8% 10%, rgba(231, 91, 24, .08), transparent 24%),
        radial-gradient(circle at 92% 90%, rgba(36, 89, 184, .07), transparent 25%),
        #fffaf6
}

.social-feed-heading {
    max-width: 760px;
    margin: 0 auto 2rem;
    text-align: center
}

.social-feed-heading>span {
    color: #e55e18;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase
}

.social-feed-heading h2 {
    margin: .35rem 0 .55rem;
    color: #111d3a;
    font-size: clamp(2rem, 3.5vw, 3rem)
}

.social-feed-heading h2 em {
    color: #e55e18;
    font-style: normal
}

.social-feed-heading p {
    margin: 0;
    color: #76665d;
    font-size: .95rem !important
}

.social-feed-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch
}

.social-feed-card {
    min-width: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #eadbd0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(61, 29, 15, .08);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease
}

.social-feed-card:hover {
    border-color: #deb395;
    box-shadow: 0 22px 52px rgba(61, 29, 15, .13);
    transform: translateY(-5px)
}

.social-card-header {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-height: 76px;
    padding: .85rem 1rem;
    border-bottom: 1px solid #eee3db
}

.social-platform-icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    border-radius: 12px;
    color: #fff;
    font-size: 1.25rem
}

.social-facebook .social-platform-icon {
    background: #1877f2
}

.social-instagram .social-platform-icon {
    background: linear-gradient(135deg, #833ab4, #e1306c 55%, #fcb045)
}

.social-youtube .social-platform-icon {
    background: #f00
}

.social-card-header div {
    min-width: 0;
    flex: 1
}

.social-card-header strong,
.social-card-header small {
    display: block
}

.social-card-header strong {
    color: #392219;
    font-size: .95rem
}

.social-card-header small {
    margin-top: .12rem;
    overflow: hidden;
    color: #8b776d;
    font-size: .7rem;
    text-overflow: ellipsis;
    white-space: nowrap
}

.social-feed-label,
.social-channel-link {
    flex: 0 0 auto;
    padding: .42rem .65rem;
    border-radius: 999px;
    color: #71584d;
    background: #f7eee8;
    font-size: .68rem;
    font-weight: 800
}

.social-channel-link {
    color: #fff;
    background: #e60000
}

.social-channel-link:hover {
    color: #fff;
    background: #bd0000
}

.social-feature-post {
    position: relative;
    height: 235px;
    overflow: hidden;
    background: #24130e
}

.social-feature-post img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease
}

.social-feed-card:hover .social-feature-post img {
    transform: scale(1.04)
}

.social-feature-post::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(17, 10, 7, .55))
}

.social-photo-mark {
    position: absolute;
    z-index: 1;
    right: .85rem;
    bottom: .75rem;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(24, 119, 242, .92)
}

.instagram-feed-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    height: 235px;
    padding: 3px;
    background: #f4e8df
}

.instagram-feed-grid figure {
    position: relative;
    min-width: 0;
    margin: 0;
    overflow: hidden
}

.instagram-feed-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease
}

.instagram-feed-grid figure:hover img {
    transform: scale(1.06)
}

.instagram-feed-grid i {
    position: absolute;
    right: .45rem;
    bottom: .4rem;
    color: #fff;
    font-size: .9rem;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .65)
}

.social-video-frame {
    overflow: hidden;
    background: #140807
}

.social-video-frame iframe {
    width: 100%;
    height: 100%;
    border: 0
}

.social-post-copy {
    padding: 1rem 1.1rem
}

.social-post-copy small {
    display: block;
    margin-bottom: .35rem;
    color: #d0551b;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase
}

.social-post-copy h3 {
    margin: 0 0 .45rem;
    color: #48251c;
    font-size: 1.05rem;
    line-height: 1.35
}

.social-post-copy p {
    margin: 0;
    color: #806e65;
    font-size: .82rem !important;
    line-height: 1.55
}

.social-card-footer {
    min-height: 51px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-top: auto;
    padding: .75rem 1.1rem;
    border-top: 1px solid #eee3db;
    color: #88756b;
    background: #fffaf7;
    font-size: .72rem;
    font-weight: 700
}

.social-card-footer a {
    color: #b94515;
    font-weight: 800
}

.social-embed-grid .social-feed-card {
    min-height: 655px
}

.social-embed-body {
    position: relative;
    flex: 1;
    min-height: 520px;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: #f6eee8
}

.social-embed-body iframe {
    width: 100%;
    height: 520px;
    display: block;
    border: 0
}

.social-youtube-embed {
    background: #160b08
}

.social-youtube-embed iframe {
    height: 100%;
    min-height: 520px
}

.social-facebook-embed {
    padding: 0;
    align-items: start
}

.facebook-page-slot {
    width: 100%;
    min-height: 500px
}

.social-facebook-embed .fb-page,
.social-facebook-embed .fb_iframe_widget,
.social-facebook-embed .fb_iframe_widget span,
.social-facebook-embed .fb_iframe_widget iframe {
    width: 100% !important;
    max-width: 100% !important
}

.social-instagram-embed {
    align-items: start;
    background: #fff
}

.instagram-profile-card {
    min-height: 520px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    padding: 2rem;
    text-align: center;
    background: radial-gradient(circle at 80% 5%, rgba(252, 176, 69, .2), transparent 32%), radial-gradient(circle at 10% 95%, rgba(131, 58, 180, .18), transparent 34%), #fff
}

.instagram-profile-mark {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(135deg, #833ab4, #e1306c 55%, #fcb045);
    font-size: 2rem;
    box-shadow: 0 14px 30px rgba(193, 53, 132, .22)
}

.instagram-profile-card strong {
    color: #45251e;
    font-size: 1rem
}

.instagram-profile-card p {
    max-width: 310px;
    margin: 0;
    color: #826d64;
    font-size: .82rem !important;
    line-height: 1.6
}

.instagram-profile-card>a {
    padding: .65rem 1rem;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(110deg, #833ab4, #e1306c);
    font-size: .76rem;
    font-weight: 800
}

.social-card-footer span i {
    margin-right: .3rem;
    color: #d85b1d
}

@media(max-width:1199.98px) {
    .social-feed-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .social-youtube {
        grid-column: 1 / -1;
        width: min(100%, 620px);
        justify-self: center
    }

    .social-embed-grid .social-youtube {
        width: 100%
    }
}

@media(max-width:767.98px) {
    .social-feed-section {
        padding: 3.25rem 0
    }

    .social-feed-grid {
        grid-template-columns: 1fr
    }

    .social-youtube {
        grid-column: auto;
        width: 100%
    }
}

@media(prefers-reduced-motion:reduce) {
    .live-status i {
        animation: none
    }
}

/* Homepage Pilgrimage Sites carousel */
#sites {
    font-size: 16px
}

.ornament-title.sites-title {
    position: relative;
    display: grid;
    grid-template-columns: minmax(50px, 1fr) auto minmax(50px, 1fr);
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.4rem
}

.ornament-title.sites-title::before,
.ornament-title.sites-title::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin: 0;
    background: linear-gradient(90deg, transparent, #dc8a55)
}

.ornament-title.sites-title::after {
    background: linear-gradient(90deg, #dc8a55, transparent)
}

.ornament-title.sites-title span {
    flex: none;
    color: var(--ink);
    font-family: var(--font-heading) !important;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap
}

.ornament-title.sites-title span::after {
    display: none
}

.sites-action {
    margin-top: 1.25rem;
    text-align: center
}

.sites-view-all {
    display: inline-block;
    padding: .55rem 1rem;
    color: #6d3421;
    border: 1px solid #d4a78a;
    border-radius: 5px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .82rem;
    font-weight: 700;
    transition: color .2s ease, background-color .2s ease
}

.sites-view-all:hover,
.sites-view-all:focus-visible {
    color: #fff;
    background: var(--orange)
}

.pilgrimage-slider {
    position: relative;
    padding: 0 2.6rem
}

.pilgrimage-viewport {
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none
}

.pilgrimage-viewport::-webkit-scrollbar {
    display: none
}

.pilgrimage-track {
    display: flex;
    gap: 1rem
}

.pilgrimage-track .site-card {
    flex: 0 0 calc((100% - 3rem) / 4);
    min-width: 0;
    scroll-snap-align: start
}

#sites .site-card h3 {
    margin: 0 0 .4rem;
    font-family: var(--font-heading) !important;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4
}

#sites .site-card p {
    min-height: 2.8em;
    margin: 0;
    font-size: .875rem;
    line-height: 1.4
}

.pilgrimage-control {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    color: #9e3e19;
    border: 1px solid #e5b18a;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 5px 15px rgba(65, 31, 13, .14);
    transform: translateY(-50%);
    transition: color .2s ease, background-color .2s ease
}

.pilgrimage-control:hover,
.pilgrimage-control:focus-visible {
    color: #fff;
    background: var(--orange)
}

.pilgrimage-prev {
    left: 0
}

.pilgrimage-next {
    right: 0
}

@media(max-width:991.98px) {
    .pilgrimage-track .site-card {
        flex-basis: calc((100% - 1rem) / 2)
    }
}

@media(max-width:575.98px) {
    .ornament-title.sites-title {
        grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
        gap: .7rem
    }

    .ornament-title.sites-title::before,
    .ornament-title.sites-title::after {
        display: block
    }

    .ornament-title.sites-title span {
        font-size: 1.15rem;
        text-align: center
    }

    .pilgrimage-slider {
        padding: 0 2.25rem
    }

    .pilgrimage-track .site-card {
        flex-basis: 100%
    }
}

/* Pilgrimage sites carousel */
#sites {
    padding: 2.5rem 0 3rem;
    overflow: hidden;
    background: #fff;
    font-size: 16px
}

.pilgrimage-section-heading {
    max-width: 760px;
    margin: 0 auto 1.35rem;
    text-align: center
}

.pilgrimage-section-heading h2 {
    display: grid;
    grid-template-columns: minmax(48px, 1fr) auto minmax(48px, 1fr);
    align-items: center;
    gap: 1rem;
    margin: 0;
    color: #eb661f;
    font-size: clamp(1.65rem, 2.4vw, 2.25rem);
    line-height: 1.2
}

.pilgrimage-section-heading h2 span {
    color: #111d3a
}

.pilgrimage-section-heading h2 span em {
    color: #eb661f;
    font-style: normal
}

.pilgrimage-section-heading h2::before,
.pilgrimage-section-heading h2::after {
    content: "";
    height: 1px;
    background: linear-gradient(90deg, transparent, #e6a46d)
}

.pilgrimage-section-heading h2::after {
    background: linear-gradient(90deg, #e6a46d, transparent)
}

.pilgrimage-section-heading p {
    margin: .35rem 0 0;
    color: #667085;
    font-size: .82rem;
    line-height: 1.5
}

.pilgrimage-section-heading p em {
    color: #e66a25;
    font-style: normal
}

#sites .attraction-slider {
    padding: 0 3.1rem
}

#sites .attraction-track {
    gap: .85rem
}

#sites .attraction-track .attraction-card {
    position: relative;
    flex: 0 0 calc((100% - 2.55rem)/4);
    height: 360px;
    min-width: 0;
    border: 0;
    border-radius: 12px;
    background: #182034;
    box-shadow: 0 8px 24px rgba(17, 29, 58, .13);
    isolation: isolate
}

.attraction-card-link {
    position: absolute;
    inset: 0;
    display: block;
    overflow: hidden;
    border-radius: inherit;
    color: #fff
}

.attraction-card-link:focus-visible {
    outline: 3px solid #ef7c35;
    outline-offset: 3px
}

#sites .attraction-photo {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.attraction-card-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 12, 26, 0) 38%, rgba(7, 12, 26, .36) 63%, rgba(7, 12, 26, .95) 100%)
}

#sites .attraction-card h3 {
    position: absolute;
    z-index: 1;
    right: .75rem;
    bottom: .65rem;
    left: .75rem;
    margin: 0;
    color: #fff;
    font-size: clamp(.88rem, 1.15vw, 1.05rem);
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .75)
}

#sites .attraction-control {
    width: 40px;
    height: 40px;
    border: 0;
    color: #fff;
    background: #071630;
    box-shadow: 0 8px 20px rgba(7, 22, 48, .2)
}

#sites .attraction-control:hover {
    color: #fff;
    background: #e96722
}

@media(max-width:1199.98px) {
    #sites .attraction-track .attraction-card {
        flex-basis: calc((100% - 1.7rem)/3);
        height: 330px
    }
}

@media(max-width:991.98px) {
    #sites .attraction-track .attraction-card {
        flex-basis: calc((100% - .85rem)/2);
        height: 320px
    }
}

@media(max-width:767.98px) {
    #sites {
        padding: 2rem 0 2.4rem
    }

    #sites .attraction-track .attraction-card {
        height: 300px
    }
}

@media(max-width:575.98px) {
    .pilgrimage-section-heading {
        margin-bottom: 1rem
    }

    .pilgrimage-section-heading h2 {
        grid-template-columns: minmax(24px, 1fr) auto minmax(24px, 1fr);
        gap: .65rem
    }

    .pilgrimage-section-heading p {
        padding-inline: 1rem;
        font-size: .74rem
    }

    #sites .attraction-slider {
        padding: 0 2.3rem
    }

    #sites .attraction-track .attraction-card {
        flex-basis: 100%;
        height: 300px
    }

    #sites .attraction-control {
        width: 34px;
        height: 34px
    }
}

/* Global typography system */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading) !important;
    font-weight: 800 !important
}

p {
    font-family: var(--font-paragraph) !important
}

.subtitle,
.section-subtitle,
.page-subtitle,
.hero-subtitle,
.eyebrow,
.about-kicker,
.kicker,
.overline,
.tagline,
.section-label,
.page-label,
.home-leaders-content .leaders-heading>span {
    font-family: var(--font-subtitle) !important;
    font-weight: 400
}

.hero-slider .carousel-item.active .hero-copy {
    animation: none
}

/* Homepage About section: content row followed by leaders row */
.about-leaders>.container>.row>div:first-child,
.about-leaders>.container>.row>div:last-child {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%
}

.about-leaders .about-split {
    grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
    align-items: center;
    gap: 4.5rem
}

.about-leaders .about-split>div:first-child {
    max-width: 610px
}

.about-leaders .about-split h2 {
    font-size: clamp(2.25rem, 3.5vw, 3.5rem);
    line-height: 1.08
}

.about-leaders .about-split p {
    font-size: 16px;
    line-height: 1.8
}

.about-leaders .about-split li {
    font-size: 16px;
}

.about-leaders .about-photo {
    display: block;
    height: 430px;
    border-radius: 48% 48% 20px 20px;
    overflow: hidden;
    box-shadow: var(--shadow)
}

.about-leaders .about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 72% center
}

.about-leaders>.container>.row>div:last-child {
    margin-top: 4.5rem
}

.about-leaders .leaders-heading {
    margin-bottom: 1.35rem;
    font-size: .82rem
}

.about-leaders .leader-grid {
    gap: 1.25rem
}

.about-leaders .leader-card {
    padding: 1.35rem 1rem
}

.about-leaders .leader-card img {
    width: 125px;
    height: 140px
}

.about-leaders .leader-card h3 {
    font-size: .84rem
}

.about-leaders .leader-card p {
    font-size: .65rem;
    min-height: 50px
}

@media(max-width:991.98px) {
    .about-leaders .about-split {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem
    }

    .about-leaders .about-photo {
        height: 390px
    }

    .about-leaders>.container>.row>div:last-child {
        margin-top: 3.5rem
    }
}

@media(max-width:767.98px) {
    .about-leaders .about-split {
        grid-template-columns: 1fr;
        gap: 2rem
    }

    .about-leaders .about-split>div:first-child {
        max-width: none
    }

    .about-leaders .about-photo {
        display: block;
        height: 340px;
        border-radius: 24px
    }

    .about-leaders>.container>.row>div:last-child {
        margin-top: 3rem
    }
}

.about-leaders .about-photo img {
    object-position: center
}

.about-leaders .about-split h2 {
    font-family: "DM Sans", sans-serif;
    font-size: 45px;
    font-weight: 600;
    letter-spacing: -.025em
}

@media(max-width:767.98px) {
    .about-leaders .about-split h2 {
        font-size: 36px
    }
}

.about-leaders>.container>.row>div:first-child>.eyebrow {
    margin-bottom: .25rem
}

.about-leaders .about-split h2 {
    margin-top: 0;
    margin-bottom: 0
}

.about-heading-divider {
    position: relative;
    width: 150px;
    height: 1px;
    margin: .9rem 0 1.15rem;
    background: linear-gradient(90deg, var(--orange), #e5ad88)
}

.about-heading-divider:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 7px;
    height: 7px;
    border: 1px solid var(--orange);
    border-radius: 50%;
    background: #fffaf4;
    transform: translate(50%, -50%)
}

.about-leaders .about-split>div:first-child>.eyebrow {
    margin-bottom: .35rem;
    font-family: "Marcellus", serif;
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: .08em
}

.about-leaders .about-split h2 {
    margin-top: 0
}

.about-leaders {
    background-color: #FCF6F1
}

.about-leaders.section-pad {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem
}

.about-heading-divider:after {
    background-color: #FCF6F1
}

@media(max-width:767.98px) {
    .about-leaders.section-pad {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }
}

/* Homepage leaders showcase */
.home-leaders-showcase {
    position: relative;
    padding: 4.25rem 0;
    background-image: linear-gradient(rgba(0, 0, 0, .58), rgba(0, 0, 0, .64)), url("../../img/home bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: background-position 1.4s cubic-bezier(.2, .7, .25, 1)
}

.home-leaders-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3rem)
}

.leaders-live-darshan {
    min-width: 0
}

.leaders-live-darshan .live-darshan-video,
.leaders-live-darshan .live-darshan-video>img {
    height: 440px;
    min-height: 440px
}

.home-leaders-content {
    width: 100%;
    margin-left: auto;
    font-family: "DM Sans", sans-serif
}

.home-leaders-content .leaders-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem
}

.home-leaders-content .leader-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem
}

.home-leaders-content .leaders-heading {
    color: #fff;
    text-align: left
}

.home-leaders-content .leaders-heading>span {
    display: block;
    margin-bottom: .35rem;
    color: #ff8a45;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase
}

.home-leaders-content .leaders-heading h2 {
    margin: 0;
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: clamp(1.65rem, 2.5vw, 2.25rem);
    line-height: 1.2;
    text-transform: none
}

.home-leaders-content .leaders-heading>i {
    position: relative;
    display: block;
    width: 115px;
    height: 1px;
    margin-top: .8rem;
    background: linear-gradient(90deg, #ff8a45 0 78%, transparent 78%)
}

.home-leaders-content .leaders-heading>i::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 82%;
    width: 7px;
    height: 7px;
    border: 1px solid #ff8a45;
    border-radius: 50%;
    transform: translate(-50%, -50%)
}

.leader-slider-controls {
    display: flex;
    gap: .55rem
}

.leader-slider-button {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: rgba(0, 0, 0, .42);
    transition: background-color .25s ease, border-color .25s ease, transform .25s ease
}

.leader-slider-button:hover,
.leader-slider-button:focus-visible {
    color: #fff;
    border-color: #e75b13;
    background: #e75b13;
    transform: translateY(-2px)
}

.leader-viewport {
    overflow: hidden;
    scroll-behavior: smooth
}

.leader-track {
    display: flex;
    gap: 1rem
}

.home-leaders-content .leader-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 1rem;
    align-content: center;
    align-items: center;
    min-width: 0;
    min-height: 168px;
    padding: .85rem;
    color: #fff;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(33, 25, 20, .24);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
    backdrop-filter: blur(2px);
    transition: opacity .65s ease, transform .65s cubic-bezier(.2, .75, .25, 1), border-color .3s ease
}

.home-leaders-content .leader-card img {
    grid-row: 1 / 3;
    display: block;
    width: 112px;
    height: 140px;
    margin: 0;
    object-fit: contain;
    object-position: center;
    border-radius: 10px;
    background: #fff;
    transition: transform .45s cubic-bezier(.2, .75, .25, 1)
}

.home-leaders-showcase.leaders-motion-ready .leaders-heading-row {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .6s ease, transform .6s cubic-bezier(.2, .75, .25, 1)
}

.home-leaders-showcase.leaders-motion-ready .leader-card {
    opacity: 0;
    transform: translateY(34px)
}

.home-leaders-showcase.leaders-motion-ready.is-visible .leaders-heading-row,
.home-leaders-showcase.leaders-motion-ready.is-visible .leader-card {
    opacity: 1;
    transform: translateY(0)
}

.home-leaders-showcase.is-visible .leader-card:nth-child(1) {
    transition-delay: .12s
}

.home-leaders-showcase.is-visible .leader-card:nth-child(2) {
    transition-delay: .24s
}

.home-leaders-showcase.is-visible .leader-card:nth-child(3) {
    transition-delay: .36s
}

.home-leaders-showcase.is-visible .leader-card:nth-child(4) {
    transition-delay: .48s
}

.home-leaders-showcase.motion-complete .leader-card {
    transition-delay: 0s
}

.home-leaders-showcase.is-visible .leader-card:hover {
    border-color: #ff8a45;
    transform: translateY(-8px);
    transition-delay: 0s
}

.home-leaders-showcase .leader-card:hover img {
    transform: scale(1.025)
}

.home-leaders-content .leader-card h3 {
    align-self: end;
    margin: 0 0 .35rem;
    color: #fff;
    font-family: "DM Sans", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.35
}

.home-leaders-content .leader-card p {
    align-self: start;
    min-height: 0;
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-family: "DM Sans", sans-serif;
    font-size: 14px !important;
    line-height: 1.5
}

.home-leaders-action {
    margin-top: 1.25rem;
    text-align: right
}

@media(max-width:991.98px) {
    .home-leaders-panel {
        grid-template-columns: 1fr
    }

    .home-leaders-content {
        width: 100%
    }

    .home-leaders-content .leader-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:767.98px) {
    .home-leaders-showcase {
        padding: 3rem 0;
        background-position: 35% center
    }

    .home-leaders-content {
        width: 100%
    }

    .home-leaders-content .leader-grid {
        grid-template-columns: 1fr
    }

    .leaders-live-darshan .live-darshan-video,
    .leaders-live-darshan .live-darshan-video>img {
        height: 390px;
        min-height: 390px
    }
}

@media(max-width:420px) {
    .home-leaders-content .leader-card {
        grid-template-columns: 92px minmax(0, 1fr);
        min-height: 142px
    }

    .home-leaders-content .leader-card img {
        width: 92px;
        height: 116px
    }
}

@media(max-width:420px) {
    .home-leaders-content .leaders-heading h2 {
        font-size: 1.55rem
    }

}

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

    .home-leaders-showcase,
    .home-leaders-showcase .leaders-heading-row,
    .home-leaders-showcase .leader-card,
    .home-leaders-showcase .leader-card img {
        transition: none !important
    }
}

/* Refined government leadership and guidance section. */
.home-leaders-showcase {
    isolation: isolate;
    overflow: hidden;
    padding: 4.5rem 0 5rem;
    background:
        radial-gradient(circle at 8% 16%, rgba(237, 123, 44, .2), transparent 24%),
        radial-gradient(circle at 94% 84%, rgba(218, 168, 82, .16), transparent 28%),
        linear-gradient(135deg, #4b1512 0%, #711d17 52%, #32100f 100%)
}

.home-leaders-showcase::before,
.home-leaders-showcase::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 320px;
    height: 320px;
    border: 1px solid rgba(255, 202, 137, .12);
    border-radius: 50%;
    box-shadow: 0 0 0 50px rgba(255, 202, 137, .035), 0 0 0 100px rgba(255, 202, 137, .02)
}

.home-leaders-showcase::before {
    top: -170px;
    left: -100px
}

.home-leaders-showcase::after {
    right: -120px;
    bottom: -190px
}

.home-leaders-showcase>.container {
    position: relative;
    z-index: 1
}

.leaders-section-heading {
    max-width: 790px;
    margin: 0 auto 2.2rem;
    color: #fff;
    text-align: center
}

.leaders-section-heading>span {
    display: block;
    margin-bottom: .45rem;
    color: #ffae72;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase
}

.leaders-section-heading h2 {
    margin: 0;
    color: #fff;
    font-family: "Marcellus", Georgia, serif;
    font-size: clamp(2rem, 3.2vw, 3.2rem);
    font-weight: 400;
    line-height: 1.15
}

.leaders-section-heading p {
    max-width: 720px;
    margin: .8rem auto 0;
    color: rgba(255, 255, 255, .76);
    font-size: .98rem;
    line-height: 1.65
}

.home-leaders-showcase .home-leaders-panel {
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.65fr);
    align-items: stretch;
    gap: 1.35rem
}

.leaders-guidance-card {
    position: relative;
    overflow: hidden;
    padding: 2rem;
    color: #fff;
    border: 1px solid rgba(255, 212, 164, .28);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(255, 255, 255, .13), rgba(255, 255, 255, .055));
    box-shadow: 0 20px 50px rgba(20, 4, 2, .2);
    backdrop-filter: blur(7px)
}

.leaders-guidance-card::after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -60px;
    width: 180px;
    height: 180px;
    border: 1px solid rgba(255, 190, 126, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 28px rgba(255, 190, 126, .04)
}

.guidance-emblem {
    display: grid;
    place-items: center;
    width: 64px;
    height: 64px;
    margin-bottom: 1.2rem;
    color: #702019;
    border: 3px solid rgba(255, 255, 255, .68);
    border-radius: 50%;
    background: linear-gradient(145deg, #ffe1b8, #e9a85a);
    box-shadow: 0 9px 24px rgba(30, 6, 3, .25), inset 0 2px 3px rgba(255, 255, 255, .7);
    font-size: 1.7rem
}

.guidance-kicker {
    display: block;
    color: #ffb479;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase
}

.leaders-guidance-card h3 {
    margin: .55rem 0 .8rem;
    color: #fff;
    font-family: "Marcellus", Georgia, serif;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.24
}

.leaders-guidance-card>p {
    margin: 0;
    color: rgba(255, 255, 255, .74);
    font-size: .9rem;
    line-height: 1.65
}

.leaders-guidance-card ul {
    display: grid;
    gap: .65rem;
    margin: 1.25rem 0 1.4rem;
    padding: 0;
    list-style: none
}

.leaders-guidance-card li {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: rgba(255, 255, 255, .9);
    font-size: .86rem
}

.leaders-guidance-card li i {
    color: #ffad70
}

.leaders-guidance-card>a {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    color: #5c1914;
    border-radius: 7px;
    background: #fff3e4;
    font-size: .82rem;
    font-weight: 800
}

.leaders-guidance-card>a:hover {
    color: #fff;
    background: #e65d19
}

.home-leaders-showcase .home-leaders-content {
    display: flex;
    align-items: stretch
}

.home-leaders-showcase .home-leaders-content .leader-grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem
}

.home-leaders-showcase .home-leaders-content .leader-card {
    grid-template-columns: 118px minmax(0, 1fr);
    grid-template-rows: 1fr;
    column-gap: 1rem;
    min-height: 208px;
    padding: 1rem;
    color: #291510;
    border: 1px solid rgba(255, 225, 196, .78);
    border-radius: 18px;
    background: linear-gradient(145deg, #fffdf9, #fff5e9);
    box-shadow: 0 16px 34px rgba(27, 6, 3, .2)
}

.leader-photo-wrap {
    position: relative;
    align-self: stretch;
    min-height: 174px;
    overflow: hidden;
    border-radius: 13px;
    background: linear-gradient(180deg, #f2ddc7, #e7c8aa)
}

.home-leaders-showcase .home-leaders-content .leader-card .leader-photo-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    border-radius: 0;
    background: transparent
}

.leader-photo-wrap>span {
    position: absolute;
    right: 7px;
    bottom: 7px;
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 50%;
    background: rgba(99, 26, 19, .9);
    font-size: .68rem;
    font-weight: 800
}

.leader-card-copy {
    align-self: center;
    min-width: 0
}

.leader-card-copy small {
    display: block;
    margin-bottom: .4rem;
    color: #d55718;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase
}

.home-leaders-showcase .home-leaders-content .leader-card h3 {
    margin: 0 0 .45rem;
    color: #621c17;
    font-family: "Marcellus", Georgia, serif;
    font-size: 1.18rem;
    line-height: 1.3
}

.home-leaders-showcase .home-leaders-content .leader-card p {
    color: #6f5a4f;
    font-family: "DM Sans", Arial, sans-serif;
    font-size: .79rem !important;
    line-height: 1.5
}

.home-leaders-showcase.is-visible .home-leaders-content .leader-card:hover {
    border-color: #f0a16d;
    box-shadow: 0 22px 42px rgba(24, 5, 2, .27);
    transform: translateY(-6px)
}

@media(max-width:991.98px) {
    .home-leaders-showcase .home-leaders-panel {
        grid-template-columns: 1fr
    }

    .leaders-guidance-card {
        padding: 1.65rem
    }
}

@media(max-width:767.98px) {
    .home-leaders-showcase {
        padding: 3.25rem 0
    }

    .leaders-section-heading {
        margin-bottom: 1.6rem
    }

    .home-leaders-showcase .home-leaders-content .leader-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width:420px) {
    .home-leaders-showcase .home-leaders-content .leader-card {
        grid-template-columns: 94px minmax(0, 1fr);
        min-height: 166px;
        padding: .75rem
    }

    .leader-photo-wrap {
        min-height: 142px
    }

    .home-leaders-showcase .home-leaders-content .leader-card h3 {
        font-size: 1rem
    }
}

/* Compact leaders card layout. */
.home-leaders-showcase {
    padding: 2.8rem 0 3.2rem
}

.leaders-section-heading {
    max-width: 720px;
    margin-bottom: 1.45rem
}

.leaders-section-heading h2 {
    font-size: clamp(1.75rem, 2.45vw, 2.45rem)
}

.leaders-section-heading p {
    margin-top: .55rem;
    font-size: .88rem;
    line-height: 1.5
}

.home-leaders-showcase .home-leaders-panel {
    grid-template-columns: 1fr;
    gap: 1.1rem
}

.leaders-guidance-card {
    display: grid;
    grid-template-columns: 56px minmax(210px, .9fr) minmax(270px, 1.2fr) auto;
    grid-template-areas:
        "emblem kicker list action"
        "emblem title  list action";
    align-items: center;
    column-gap: 1.1rem;
    padding: 1.05rem 1.25rem;
    border-radius: 15px
}

.guidance-emblem {
    grid-area: emblem;
    width: 54px;
    height: 54px;
    margin: 0;
    font-size: 1.35rem
}

.guidance-kicker {
    grid-area: kicker
}

.leaders-guidance-card h3 {
    grid-area: title;
    margin: .2rem 0 .25rem;
    font-size: 1.28rem;
    line-height: 1.22
}

.leaders-guidance-card>p {
    grid-area: copy;
    font-size: .76rem;
    line-height: 1.4
}

.leaders-guidance-card ul {
    grid-area: list;
    gap: .38rem;
    margin: 0
}

.leaders-guidance-card li {
    font-size: .78rem
}

.leaders-guidance-card>a {
    grid-area: action;
    padding: .62rem .85rem;
    white-space: nowrap
}

.home-leaders-showcase .home-leaders-content .leader-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem
}

.home-leaders-showcase .home-leaders-content .leader-card {
    grid-template-columns: 88px minmax(0, 1fr);
    min-height: 154px;
    column-gap: .8rem;
    padding: .72rem;
    border-radius: 14px
}

.leader-photo-wrap {
    min-height: 130px;
    border-radius: 10px
}

.leader-card-copy small {
    margin-bottom: .25rem;
    font-size: .54rem
}

.home-leaders-showcase .home-leaders-content .leader-card h3 {
    margin-bottom: .3rem;
    font-size: .95rem
}

.home-leaders-showcase .home-leaders-content .leader-card p {
    font-size: .68rem !important;
    line-height: 1.4
}

.leader-photo-wrap>span {
    width: 25px;
    height: 25px;
    font-size: .58rem
}

@media(max-width:1199.98px) {
    .home-leaders-showcase .home-leaders-content .leader-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:991.98px) {
    .leaders-guidance-card {
        grid-template-columns: 56px minmax(0, 1fr);
        grid-template-areas:
            "emblem kicker"
            "emblem title"
            "list list"
            "action action";
        row-gap: .55rem
    }

    .leaders-guidance-card ul {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: .35rem
    }

    .leaders-guidance-card>a {
        justify-self: start
    }
}

@media(max-width:767.98px) {
    .home-leaders-showcase {
        padding: 2.5rem 0
    }

    .home-leaders-showcase .home-leaders-content .leader-grid,
    .leaders-guidance-card ul {
        grid-template-columns: 1fr
    }
}

@media(max-width:420px) {
    .home-leaders-showcase .home-leaders-content .leader-card {
        grid-template-columns: 82px minmax(0, 1fr);
        min-height: 142px
    }

    .leader-photo-wrap {
        min-height: 118px
    }
}

/* Compact light leadership cards. */
.home-leaders-showcase {
    padding: 2.6rem 0;
    background: linear-gradient(180deg, #fffaf5, #f8eee5)
}

.home-leaders-showcase::before,
.home-leaders-showcase::after {
    display: none
}

.leaders-compact-shell {
    overflow: hidden;
    border: 1px solid #ead7c8;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(75, 31, 15, .1)
}

.leaders-compact-heading {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #ecd9cb;
    background:
        radial-gradient(circle at 92% 12%, rgba(217, 87, 24, .1), transparent 25%),
        linear-gradient(90deg, #fff7ef, #fffdf9)
}

.leaders-heading-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    color: #fff;
    border: 3px solid #f1c69e;
    border-radius: 50%;
    background: linear-gradient(145deg, #8b2a20, #c94c18);
    box-shadow: 0 6px 16px rgba(112, 32, 17, .2);
    font-size: 1.25rem
}

.leaders-compact-heading>div>span {
    display: block;
    margin-bottom: .15rem;
    color: #d65418;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase
}

.leaders-compact-heading h2 {
    margin: 0;
    color: #631d18;
    font-family: "Marcellus", Georgia, serif;
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.15
}

.leaders-compact-heading p {
    margin: .2rem 0 0;
    color: #746158;
    font-size: .78rem
}

.leaders-compact-heading>a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .58rem .8rem;
    color: #fff;
    border-radius: 6px;
    background: #a4371e;
    font-size: .72rem;
    font-weight: 800
}

.leaders-compact-heading>a:hover {
    color: #fff;
    background: #792118
}

.home-leaders-showcase .leaders-compact-shell .home-leaders-content {
    display: block;
    padding: 1rem
}

.home-leaders-showcase .leaders-compact-shell .leader-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem
}

.home-leaders-showcase .leaders-compact-shell .leader-card {
    position: relative;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    min-height: 128px;
    column-gap: .75rem;
    padding: .7rem;
    overflow: hidden;
    color: #321c16;
    border: 1px solid #eadbd0;
    border-radius: 12px;
    background: linear-gradient(145deg, #fff, #fff8f1);
    box-shadow: 0 7px 18px rgba(76, 34, 17, .07)
}

.home-leaders-showcase .leaders-compact-shell .leader-card::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -42px;
    width: 92px;
    height: 92px;
    border: 1px solid rgba(198, 77, 24, .09);
    border-radius: 50%;
    box-shadow: 0 0 0 18px rgba(198, 77, 24, .025)
}

.home-leaders-showcase .leaders-compact-shell .leader-photo-wrap {
    width: 82px;
    height: 104px;
    min-height: 0;
    border: 2px solid #fff;
    border-radius: 9px;
    box-shadow: 0 5px 13px rgba(65, 26, 12, .14)
}

.home-leaders-showcase .leaders-compact-shell .leader-card-copy small {
    color: #cb501b;
    font-size: .5rem;
    letter-spacing: .07em
}

.home-leaders-showcase .leaders-compact-shell .leader-card-copy small i {
    margin-right: .2rem
}

.home-leaders-showcase .leaders-compact-shell .leader-card h3 {
    margin: .3rem 0 .3rem;
    color: #5d1b17;
    font-size: .92rem;
    line-height: 1.22
}

.home-leaders-showcase .leaders-compact-shell .leader-card p {
    display: -webkit-box;
    overflow: hidden;
    color: #76635a;
    font-size: .64rem !important;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3
}

.leader-card-number {
    position: absolute;
    top: 7px;
    right: 8px;
    color: rgba(105, 35, 23, .18);
    font-family: "Marcellus", Georgia, serif;
    font-size: 1.15rem;
    font-weight: 700
}

.home-leaders-showcase.is-visible .leaders-compact-shell .leader-card:hover {
    border-color: #dc8c5f;
    box-shadow: 0 12px 24px rgba(74, 29, 12, .13);
    transform: translateY(-4px)
}

@media(max-width:1199.98px) {
    .home-leaders-showcase .leaders-compact-shell .leader-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:767.98px) {
    .home-leaders-showcase {
        padding: 2rem 0
    }

    .leaders-compact-heading {
        grid-template-columns: 46px minmax(0, 1fr);
        padding: .9rem
    }

    .leaders-heading-icon {
        width: 44px;
        height: 44px;
        font-size: 1rem
    }

    .leaders-compact-heading h2 {
        font-size: 1.4rem
    }

    .leaders-compact-heading>a {
        grid-column: 1 / -1;
        justify-self: start
    }

    .home-leaders-showcase .leaders-compact-shell .leader-grid {
        grid-template-columns: 1fr
    }
}

/* Government accommodation table page */
.gov-stay-page {
    --gov-maroon: #7e201d;
    --gov-dark: #5e1614;
    font-size: 16px;
    color: #241b17;
    background: #fffaf3
}

.gov-stay-page h1,
.gov-stay-page h2,
.gov-stay-page h3 {
    font-family: "Marcellus", Georgia, serif !important
}

.gov-stay-hero {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    background: #f6efe6
}

.gov-stay-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../../img/attraction/vishnupad_1.jpeg") center 55% / cover no-repeat
}

.gov-stay-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 250, 243, .98) 0 35%, rgba(255, 250, 243, .8) 52%, rgba(255, 250, 243, .08) 76%)
}

.gov-stay-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 430px;
    display: flex;
    align-items: center
}

.gov-stay-hero-copy {
    width: 53%;
    padding: 2.5rem 0
}

.gov-stay-hero-copy>span {
    display: block;
    margin-bottom: .6rem;
    color: #af561c;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.gov-stay-hero h1 {
    margin: 0;
    color: #381414;
    font-size: clamp(2.8rem, 4.2vw, 4.7rem);
    line-height: 1.02
}

.gov-stay-hero h1 em {
    color: var(--gov-maroon);
    font-style: normal
}

.gov-stay-ornament {
    position: relative;
    width: 165px;
    height: 16px;
    margin: 1rem 0
}

.gov-stay-ornament::before,
.gov-stay-ornament::after {
    content: "";
    position: absolute;
    top: 7px;
    width: 68px;
    height: 1px;
    background: #b57b2f
}

.gov-stay-ornament::before {
    left: 0
}

.gov-stay-ornament::after {
    right: 0
}

.gov-stay-ornament i {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 8px;
    height: 8px;
    border: 1px solid #b57b2f;
    transform: translateX(-50%) rotate(45deg)
}

.gov-stay-hero-copy>p {
    max-width: 590px;
    margin: 0;
    font-size: 16px;
    line-height: 1.55
}

.gov-stay-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2rem
}

.gov-stay-benefits>div {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .2rem 1rem;
    border-right: 1px solid #dccdbc
}

.gov-stay-benefits>div:first-child {
    padding-left: 0
}

.gov-stay-benefits>div:last-child {
    border: 0
}

.gov-stay-benefits i {
    color: #9e2b27;
    font-size: 2rem
}

.gov-stay-benefits b {
    font-size: 14px;
    line-height: 1.35
}

.gov-stay-list {
    padding: 3rem 0 4rem;
    background: #fffaf3
}

.gov-stay-heading {
    margin-bottom: 1.5rem;
    text-align: center
}

.gov-stay-heading h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 0;
    color: var(--gov-maroon);
    font-size: clamp(1.8rem, 2.7vw, 2.6rem)
}

.gov-stay-heading h2::before,
.gov-stay-heading h2::after {
    content: "";
    width: 60px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b37a2e)
}

.gov-stay-heading h2::after {
    background: linear-gradient(90deg, #b37a2e, transparent)
}

.gov-stay-heading p {
    margin: .55rem 0 0;
    font-size: 16px
}

.gov-table-wrap {
    overflow-x: auto;
    border: 1px solid #eadfd3;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(69, 40, 21, .1);
    scrollbar-width: thin;
    scrollbar-color: #9b3931 #f2e7dc
}

.gov-stay-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px
}

.gov-stay-table thead {
    color: #fff;
    background: linear-gradient(180deg, #8e2824, #741a18)
}

.gov-stay-table th {
    padding: 1rem .75rem;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, .35);
    line-height: 1.25
}

.gov-stay-table th:last-child {
    border: 0
}

.gov-stay-table td {
    padding: .9rem .75rem;
    text-align: center;
    border-right: 1px solid #eadfd5;
    border-bottom: 1px solid #eadfd5;
    line-height: 1.4
}

.gov-stay-table tbody tr:nth-child(even) {
    background: #fbf5ed
}

.gov-stay-table tbody tr:hover {
    background: #fff0df
}

.gov-stay-table tbody tr:last-child td {
    border-bottom: 0
}

.gov-stay-table td:last-child {
    border-right: 0
}

.gov-stay-table td:nth-child(2) {
    text-align: left
}

.gov-stay-table td>a:not(.gov-details-btn) {
    color: #5f1a18;
    font-weight: 700
}

.gov-facilities {
    display: flex;
    justify-content: center;
    gap: .75rem
}

.gov-facilities i {
    color: #312622;
    font-size: 1.15rem
}

.gov-details-btn {
    display: inline-block;
    padding: .55rem .9rem;
    color: #fff;
    border-radius: 5px;
    background: linear-gradient(135deg, #932b27, #711815);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap
}

.gov-details-btn:hover {
    color: #fff;
    background: #5d1311
}

.gov-stay-notes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 1.5rem;
    border: 1px solid #eee2d5;
    border-radius: 13px;
    background: #fff7ed
}

.gov-stay-notes article {
    display: grid;
    grid-template-columns: 68px 1fr;
    gap: 1rem;
    padding: 1.4rem;
    border-right: 1px solid #ead9c9
}

.gov-stay-notes article:last-child {
    border: 0
}

.gov-stay-notes article>i {
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    color: #922824;
    border-radius: 50%;
    background: #f5e5cf;
    font-size: 1.8rem
}

.gov-stay-notes h3 {
    margin: 0 0 .35rem;
    color: #7b211e;
    font-size: 1.05rem
}

.gov-stay-notes p {
    margin: 0;
    font-size: 15px;
    line-height: 1.5
}

@media(max-width:991.98px) {
    .gov-stay-hero-copy {
        width: 68%
    }

    .gov-stay-benefits {
        grid-template-columns: 1fr 1fr;
        gap: .7rem
    }

    .gov-stay-benefits>div {
        border: 0;
        padding: 0
    }

    .gov-stay-notes {
        grid-template-columns: 1fr
    }

    .gov-stay-notes article {
        border-right: 0;
        border-bottom: 1px solid #ead9c9
    }

    .gov-stay-notes article:last-child {
        border: 0
    }
}

@media(max-width:767.98px) {
    .gov-stay-hero {
        min-height: 610px
    }

    .gov-stay-hero::before {
        background-position: 62% top
    }

    .gov-stay-hero::after {
        background: linear-gradient(0deg, #fffaf3 0 58%, rgba(255, 250, 243, .18) 83%)
    }

    .gov-stay-hero-grid {
        min-height: 610px;
        align-items: flex-end
    }

    .gov-stay-hero-copy {
        width: 100%;
        padding: 2.5rem 0 3rem
    }

    .gov-stay-hero h1 {
        font-size: 2.8rem
    }

    .gov-stay-list {
        padding-block: 2.5rem
    }

    .gov-stay-heading h2::before,
    .gov-stay-heading h2::after {
        width: 30px
    }
}

@media(max-width:575.98px) {
    .gov-stay-benefits {
        grid-template-columns: 1fr
    }

    .gov-stay-benefits b br {
        display: none
    }

    .gov-stay-heading h2 {
        font-size: 1.6rem
    }

    .gov-stay-heading h2::before,
    .gov-stay-heading h2::after {
        display: none
    }

    .gov-stay-notes article {
        grid-template-columns: 54px 1fr;
        padding: 1rem
    }

    .gov-stay-notes article>i {
        width: 50px;
        height: 50px;
        font-size: 1.4rem
    }
}

/* Hotels and guest houses page */
.hotels-page {
    --hotel-maroon: #7c201e;
    font-size: 16px;
    color: #251b17;
    background: #fffaf3
}

.hotels-page h1,
.hotels-page h2 {
    font-family: "Marcellus", Georgia, serif !important
}

.hotels-hero {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    background: #f7efe5
}

.hotels-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../../img/home bg.jpg") center / cover no-repeat;
    transform: scaleX(-1)
}

.hotels-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 250, 243, .98) 0 35%, rgba(255, 250, 243, .78) 51%, rgba(255, 250, 243, .08) 76%)
}

.hotels-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 360px;
    display: flex;
    align-items: center
}

.hotels-hero-copy {
    width: 48%;
    padding: 2.5rem 0 5rem
}

.hotels-hero-copy>span {
    display: block;
    margin-bottom: .55rem;
    color: #af571d;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.hotels-hero h1 {
    margin: 0;
    color: #491816;
    font-size: clamp(2.8rem, 4.2vw, 4.6rem);
    line-height: 1.04
}

.hotels-hero h1 em {
    color: var(--hotel-maroon);
    font-style: normal
}

.hotels-ornament {
    position: relative;
    width: 165px;
    height: 16px;
    margin: 1rem 0
}

.hotels-ornament::before,
.hotels-ornament::after {
    content: "";
    position: absolute;
    top: 7px;
    width: 68px;
    height: 1px;
    background: #b57b2f
}

.hotels-ornament::before {
    left: 0
}

.hotels-ornament::after {
    right: 0
}

.hotels-ornament i {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 8px;
    height: 8px;
    border: 1px solid #b57b2f;
    transform: translateX(-50%) rotate(45deg)
}

.hotels-hero-copy p {
    max-width: 560px;
    margin: 0;
    font-size: 16px;
    line-height: 1.55
}

.hotel-search-section {
    position: relative;
    z-index: 3;
    margin-top: -55px
}

.hotel-search-card {
    display: grid;
    grid-template-columns: 58px 1.1fr 1.15fr 1.15fr .95fr 145px;
    align-items: end;
    gap: 1rem;
    padding: 1.4rem;
    border: 1px solid #eadfd3;
    border-radius: 14px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 12px 30px rgba(64, 37, 20, .14)
}

.hotel-search-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: #8a2824;
    border: 1px solid #e0c6b7;
    border-radius: 50%;
    font-size: 1.5rem
}

.hotel-search-card label {
    display: block;
    min-width: 0
}

.hotel-search-card label>span {
    display: block;
    margin-bottom: .45rem;
    color: #4f211f;
    font-size: 15px;
    font-weight: 700
}

.hotel-search-card select,
.hotel-search-card input {
    width: 100%;
    height: 46px;
    padding: 0 .8rem;
    border: 1px solid #dfcfc0;
    border-radius: 6px;
    color: #332823;
    background: #fff;
    font-size: 15px
}

.hotel-search-card button {
    height: 50px;
    color: #fff;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(135deg, #912824, #701715);
    font-size: 16px;
    font-weight: 700
}

.hotel-search-card button i {
    margin-right: .45rem
}

.hotel-results {
    padding: 4rem 0
}

.hotel-results-heading h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 0 0 1.3rem;
    color: var(--hotel-maroon);
    font-size: clamp(1.7rem, 2.5vw, 2.35rem);
    text-transform: uppercase
}

.hotel-results-heading h2::before,
.hotel-results-heading h2::after {
    content: "";
    width: 55px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b57b2f)
}

.hotel-results-heading h2::after {
    background: linear-gradient(90deg, #b57b2f, transparent)
}

.hotel-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(69, 40, 21, .1);
    scrollbar-width: thin;
    scrollbar-color: #9b3931 #f2e7dc
}

.hotel-table {
    width: 100%;
    min-width: 820px;
    border-collapse: separate;
    border-spacing: 0 2px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px
}

.hotel-table thead {
    color: #fff;
    background: linear-gradient(180deg, #8e2824, #741a18)
}

.hotel-table th {
    padding: 1rem .7rem;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, .3);
    line-height: 1.25
}

.hotel-table th:first-child {
    border-radius: 10px 0 0 0
}

.hotel-table th:last-child {
    border: 0;
    border-radius: 0 10px 0 0
}

.hotel-table tbody tr {
    background: #fff;
    box-shadow: 0 3px 10px rgba(57, 35, 20, .06)
}

.hotel-table tbody tr:nth-child(even) {
    background: #fbf5ed
}

.hotel-table td {
    padding: .7rem;
    text-align: center;
    border-right: 1px solid #eadfd5;
    line-height: 1.4
}

.hotel-table td:first-child {
    border-radius: 8px 0 0 8px
}

.hotel-table td:last-child {
    border: 0;
    border-radius: 0 8px 8px 0
}

.hotel-table td:nth-child(2) {
    text-align: left
}

.hotel-name-cell {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: left
}

.hotel-name-cell img {
    width: 110px;
    height: 72px;
    flex: 0 0 110px;
    object-fit: cover;
    border-radius: 6px
}

.hotel-name-cell strong {
    display: block;
    color: #53201d
}

.hotel-stars {
    display: flex;
    gap: .12rem;
    margin-top: .35rem;
    color: #df8b00;
    font-size: .8rem
}

.hotel-facilities {
    display: flex;
    justify-content: center;
    gap: .75rem
}

.hotel-facilities i {
    color: #312622;
    font-size: 1.15rem
}

.hotel-table td>a:not(.hotel-details-btn) {
    color: #5f1a18;
    font-weight: 700
}

.hotel-details-btn {
    display: inline-block;
    padding: .55rem .9rem;
    color: #fff;
    border-radius: 5px;
    background: linear-gradient(135deg, #932b27, #711815);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap
}

.hotel-details-btn:hover {
    color: #fff;
    background: #5d1311
}

.hotel-site-unavailable {
    display: inline-block;
    padding: .5rem .8rem;
    border-radius: 5px;
    background: #eee6df;
    color: #77675f;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap
}

.hotel-booking-note {
    margin: 1.3rem 0 0;
    color: #7e201d;
    text-align: center;
    font-size: 15px
}

@media(max-width:1199px) {
    .hotel-search-card {
        grid-template-columns: 50px repeat(2, 1fr)
    }

    .hotel-search-card button {
        grid-column: 2/-1
    }
}

@media(max-width:767.98px) {
    .hotels-hero {
        min-height: 560px
    }

    .hotels-hero::before {
        background-position: 30% center
    }

    .hotels-hero::after {
        background: linear-gradient(0deg, #fffaf3 0 58%, rgba(255, 250, 243, .18) 84%)
    }

    .hotels-hero-grid {
        min-height: 560px;
        align-items: flex-end
    }

    .hotels-hero-copy {
        width: 100%;
        padding: 2.5rem 0 5.5rem
    }

    .hotels-hero h1 {
        font-size: 2.8rem
    }

    .hotel-search-card {
        grid-template-columns: 1fr;
        margin-inline: .5rem
    }

    .hotel-search-icon {
        display: none
    }

    .hotel-search-card button {
        grid-column: auto
    }

    .hotel-results-heading h2::before,
    .hotel-results-heading h2::after {
        width: 25px
    }
}

@media(max-width:575.98px) {
    .hotel-results-heading h2 {
        font-size: 1.55rem;
        text-align: center
    }

    .hotel-results-heading h2::before,
    .hotel-results-heading h2::after {
        display: none
    }
}

/* Tent City page */
.tent-page {
    --tent-maroon: #7c201e;
    font-size: 16px;
    color: #251b17;
    background: #fffaf3
}

.tent-page h1,
.tent-page h2,
.tent-page h3 {
    font-family: "Marcellus", Georgia, serif !important
}

.tent-hero {
    position: relative;
    min-height: 430px;
    overflow: hidden;
    background: #f6eee3
}

.tent-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url("../../img/tent-city-gaya.png") center / cover no-repeat
}

.tent-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 250, 243, .98) 0 34%, rgba(255, 250, 243, .77) 49%, rgba(255, 250, 243, .04) 72%)
}

.tent-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 430px;
    display: flex;
    align-items: center
}

.tent-hero-copy {
    width: 51%;
    padding: 2.5rem 0
}

.tent-hero-copy>span {
    display: block;
    margin-bottom: .55rem;
    color: #ae561d;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.tent-hero h1 {
    margin: 0;
    color: #4e1816;
    font-size: clamp(3rem, 4.6vw, 5rem);
    line-height: 1
}

.tent-hero h1 em {
    color: var(--tent-maroon);
    font-style: normal
}

.tent-ornament {
    position: relative;
    width: 165px;
    height: 16px;
    margin: 1rem 0
}

.tent-ornament::before,
.tent-ornament::after {
    content: "";
    position: absolute;
    top: 7px;
    width: 68px;
    height: 1px;
    background: #b57b2f
}

.tent-ornament::before {
    left: 0
}

.tent-ornament::after {
    right: 0
}

.tent-ornament i {
    position: absolute;
    left: 50%;
    top: 3px;
    width: 8px;
    height: 8px;
    border: 1px solid #b57b2f;
    transform: translateX(-50%) rotate(45deg)
}

.tent-hero-copy>p {
    max-width: 590px;
    margin: 0;
    font-size: 16px;
    line-height: 1.55
}

.tent-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 2rem
}

.tent-benefits>div {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .2rem 1rem;
    border-right: 1px solid #dccdbc
}

.tent-benefits>div:first-child {
    padding-left: 0
}

.tent-benefits>div:last-child {
    border: 0
}

.tent-benefits i {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    color: #9e2b27;
    border: 1px solid #e4cdbb;
    border-radius: 50%;
    font-size: 1.45rem
}

.tent-benefits b {
    font-size: 14px;
    line-height: 1.3
}

.tent-list-section {
    padding: 3rem 0 4rem
}

.tent-vacant-count {
    display: block;
    color: var(--tent-maroon);
    font-size: 1.1rem
}

.tent-vacant-date {
    display: block;
    margin-top: .2rem;
    color: #6f625c;
    font-size: .76rem;
    white-space: nowrap
}

.tent-list-heading {
    margin-bottom: 1.4rem;
    text-align: center
}

.tent-list-heading h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin: 0;
    color: var(--tent-maroon);
    font-size: clamp(1.8rem, 2.7vw, 2.6rem);
    text-transform: uppercase
}

.tent-list-heading h2::before,
.tent-list-heading h2::after {
    content: "";
    width: 58px;
    height: 1px;
    background: linear-gradient(90deg, transparent, #b57b2f)
}

.tent-list-heading h2::after {
    background: linear-gradient(90deg, #b57b2f, transparent)
}

.tent-list-heading p {
    margin: .45rem 0 0;
    font-size: 16px
}

.tent-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(69, 40, 21, .1);
    scrollbar-width: thin;
    scrollbar-color: #9b3931 #f2e7dc
}

.tent-table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0 2px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 15px
}

.tent-table thead {
    color: #fff;
    background: linear-gradient(180deg, #8e2824, #741a18)
}

.tent-table th {
    padding: 1rem .7rem;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, .3);
    line-height: 1.25
}

.tent-table th:first-child {
    border-radius: 10px 0 0 0
}

.tent-table th:last-child {
    border: 0;
    border-radius: 0 10px 0 0
}

.tent-table tbody tr {
    background: #fff;
    box-shadow: 0 3px 10px rgba(57, 35, 20, .06)
}

.tent-table tbody tr:nth-child(even) {
    background: #fbf5ed
}

.tent-table td {
    padding: .7rem;
    text-align: center;
    border-right: 1px solid #eadfd5;
    line-height: 1.4
}

.tent-table td:first-child {
    border-radius: 8px 0 0 8px
}

.tent-table td:last-child {
    border: 0;
    border-radius: 0 8px 8px 0
}

.tent-table td:nth-child(2) {
    text-align: left
}

.tent-name-cell {
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: left
}

.tent-name-cell img {
    width: 105px;
    height: 65px;
    flex: 0 0 105px;
    object-fit: cover;
    border-radius: 6px
}

.tent-name-cell strong {
    display: block;
    color: #61201d
}

.tent-stars {
    display: flex;
    gap: .12rem;
    margin-top: .3rem;
    color: #df8b00;
    font-size: .8rem
}

.tent-facilities {
    display: flex;
    justify-content: center;
    gap: .8rem
}

.tent-facilities i {
    color: #312622;
    font-size: 1.15rem
}

.tent-table td>a:not(.tent-details-btn) {
    color: #5f1a18;
    font-weight: 700
}

.tent-details-btn {
    display: inline-block;
    padding: .55rem .9rem;
    color: #fff;
    border-radius: 5px;
    background: linear-gradient(135deg, #932b27, #711815);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap
}

.tent-details-btn:hover {
    color: #fff;
    background: #5d1311
}

.tent-notes {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 1.5rem;
    border: 1px solid #eee2d5;
    border-radius: 13px;
    background: #fff7ed
}

/* Panda Ji directory */
.panda-directory-page {
    background: #fffaf4
}

.panda-directory-hero {
    position: relative;
    min-height: 500px;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(36, 11, 6, .94) 0%, rgba(65, 19, 10, .88) 46%, rgba(64, 20, 10, .25) 100%), url('../../img/slider/slide1.jpg') center 44%/cover
}

.panda-directory-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 75% 50%, rgba(240, 128, 45, .14), transparent 35%);
    pointer-events: none
}

.panda-directory-hero .container {
    position: relative;
    z-index: 1
}

.panda-directory-hero-copy {
    max-width: 720px;
    color: #fff;
    padding-block: 64px
}

.panda-directory-hero-copy .page-breadcrumb a,
.panda-directory-hero-copy .page-breadcrumb span,
.panda-directory-hero-copy .page-breadcrumb i {
    color: #f4d9c6
}

.panda-directory-hero-copy h1 {
    max-width: 680px;
    margin: .65rem 0 1rem;
    color: #fff;
    font-size: clamp(48px, 6vw, 78px);
    line-height: 1.02;
    text-shadow: 0 5px 24px rgba(0, 0, 0, .22)
}

.panda-directory-hero-copy>p {
    max-width: 620px;
    margin: 1.25rem 0 0;
    color: #f4ded2;
    font-size: 18px;
    line-height: 1.75
}

.panda-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    color: #ffb77c;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.panda-hero-actions {
    display: flex;
    align-items: center;
    gap: 25px;
    margin-top: 28px;
    flex-wrap: wrap
}

.panda-hero-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 21px
}

.panda-help-link {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff;
    text-decoration: none
}

.panda-help-link:hover {
    color: #ffb77c
}

.panda-help-link>i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .36);
    border-radius: 50%;
    font-size: 18px
}

.panda-help-link span,
.panda-help-link strong {
    display: block
}

.panda-help-link span {
    font-size: 11px;
    color: #d9beb2
}

.panda-help-link strong {
    margin-top: 2px;
    color: #fff;
    font-size: 14px
}

.panda-trust-strip {
    position: relative;
    z-index: 2;
    margin-top: -1px;
    background: #fff;
    border-bottom: 1px solid #eadfd4;
    box-shadow: 0 12px 30px rgba(70, 30, 13, .06)
}

.panda-trust-strip .container {
    display: grid;
    grid-template-columns: repeat(4, 1fr)
}

.panda-trust-strip .container>div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 21px 18px;
    border-right: 1px solid #eee3d9
}

.panda-trust-strip .container>div:last-child {
    border-right: 0
}

.panda-trust-strip i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    border-radius: 12px;
    background: #fff0e5;
    color: #c84a12;
    font-size: 19px
}

.panda-trust-strip strong,
.panda-trust-strip span {
    display: block
}

.panda-trust-strip strong {
    margin-bottom: 3px;
    color: #4d1d15;
    font-size: 14px
}

.panda-trust-strip span {
    color: #887269;
    font-size: 11px;
    line-height: 1.35
}

.panda-types-section {
    padding: 78px 0 72px;
    background: linear-gradient(180deg, #fffaf4, #f8eee4)
}

.panda-section-heading {
    max-width: 760px;
    margin: 0 auto 35px;
    text-align: center
}

.panda-section-heading>span,
.panda-list-heading>div>span {
    color: #d05b1d;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em
}

.panda-section-heading h2,
.panda-list-heading h2 {
    margin: .4rem 0 .55rem;
    color: #5c1d15;
    font-size: clamp(34px, 4vw, 48px)
}

.panda-section-heading p,
.panda-list-heading p {
    margin: 0;
    color: #7e6b61;
    line-height: 1.7
}

.panda-type-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px
}

.panda-type-card {
    position: relative;
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 20px;
    padding: 30px;
    border: 1px solid #ead8ca;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 42px rgba(69, 28, 12, .07);
    overflow: hidden;
    transition: .25s ease
}

.panda-type-card::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -75px;
    bottom: -95px;
    border: 30px solid rgba(205, 80, 20, .05);
    border-radius: 50%
}

.panda-type-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 50px rgba(69, 28, 12, .12)
}

.panda-type-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: linear-gradient(135deg, #7a2118, #b54118);
    color: #fff;
    font-size: 30px
}

.dhaami-panda .panda-type-icon {
    background: linear-gradient(135deg, #bf5b16, #e58d37)
}

.panda-type-card span {
    color: #d05b1d;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em
}

.panda-type-card h3 {
    margin: .35rem 0 .55rem;
    color: #511a13;
    font-size: 29px
}

.panda-type-card p {
    margin: 0 0 16px;
    color: #7b685e;
    line-height: 1.65
}

.panda-type-card a {
    position: relative;
    z-index: 1;
    color: #b83f11;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800
}

.panda-type-card a i {
    margin-left: 6px
}

.panda-list-section {
    padding: 80px 0;
    background: #fff
}

.panda-list-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 25px
}

.panda-list-heading>div:first-child {
    max-width: 680px
}

.panda-result-count {
    min-width: 130px;
    padding: 14px 18px;
    border-radius: 14px;
    background: #fff1e6;
    text-align: center
}

.panda-result-count strong,
.panda-result-count span {
    display: block
}

.panda-result-count strong {
    color: #7a2117;
    font-size: 29px;
    line-height: 1
}

.panda-result-count span {
    margin-top: 5px;
    color: #9a7665;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.panda-search-panel {
    display: grid;
    grid-template-columns: minmax(280px, 1.6fr) minmax(220px, .8fr) auto;
    gap: 12px;
    margin-bottom: 25px;
    padding: 14px;
    border: 1px solid #eaded5;
    border-radius: 16px;
    background: #fbf6f1;
    box-shadow: 0 9px 28px rgba(65, 27, 12, .05)
}

.panda-search-box,
.panda-location-filter {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0
}

.panda-search-box>i,
.panda-location-filter>i {
    position: absolute;
    left: 16px;
    color: #c24b16;
    font-size: 17px;
    z-index: 1
}

.panda-search-panel input,
.panda-search-panel select {
    width: 100%;
    height: 50px;
    padding: 0 42px;
    border: 1px solid #dfd1c6;
    border-radius: 10px;
    background: #fff;
    color: #4f3d34;
    outline: 0
}

.panda-search-panel input:focus,
.panda-search-panel select:focus {
    border-color: #d05b20;
    box-shadow: 0 0 0 3px rgba(208, 91, 32, .11)
}

.panda-location-filter select {
    appearance: none;
    padding-right: 20px
}

.panda-clear-btn {
    height: 50px;
    padding: 0 18px;
    border: 1px solid #d9c7bb;
    border-radius: 10px;
    background: #fff;
    color: #7a4f3c;
    font-weight: 700
}

.panda-clear-btn:hover {
    border-color: #bd4b1a;
    color: #a43b10
}

.panda-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px
}

.panda-contact-card {
    position: relative;
    padding: 22px;
    border: 1px solid #eaded5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 32px rgba(59, 25, 11, .06);
    transition: .22s ease
}

.panda-contact-card:hover {
    transform: translateY(-3px);
    border-color: #dcaa8e;
    box-shadow: 0 18px 38px rgba(59, 25, 11, .11)
}

.panda-contact-card[hidden] {
    display: none
}

.panda-card-top {
    display: flex;
    align-items: center;
    gap: 9px
}

.panda-avatar {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #722118, #c55117);
    color: #fff;
    font: 700 17px Georgia, serif
}

.panda-verified {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #eaf6ee;
    color: #2a764b;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em
}

.panda-serial {
    margin-left: auto;
    color: #b29e93;
    font-size: 11px;
    font-weight: 700
}

.panda-contact-card h3 {
    margin: 17px 0 7px;
    color: #531b14;
    font-size: 21px;
    line-height: 1.25
}

.panda-location {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    min-height: 42px;
    margin: 0;
    color: #806d63;
    font-size: 13px;
    line-height: 1.5
}

.panda-location i {
    margin-top: 2px;
    color: #d05a1d
}

.panda-card-meta {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    margin-top: 16px;
    border: 1px solid #eee2d9;
    border-radius: 12px;
    background: #fcf8f4
}

.panda-card-meta>span {
    position: relative;
    padding: 12px 10px 12px 35px
}

.panda-card-meta>span+span {
    border-left: 1px solid #eee2d9
}

.panda-card-meta i {
    position: absolute;
    left: 11px;
    top: 14px;
    color: #cc5319
}

.panda-card-meta small,
.panda-card-meta strong {
    display: block
}

.panda-card-meta small {
    color: #a18b80;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: .05em
}

.panda-card-meta strong {
    margin-top: 2px;
    color: #4f3529;
    font-size: 12px
}

.panda-call-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    padding: 11px;
    border-radius: 10px;
    background: linear-gradient(135deg, #84251d, #b74319);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800
}

.panda-call-btn:hover {
    color: #fff;
    background: #681a15
}

.panda-empty {
    padding: 55px;
    text-align: center;
    border: 1px dashed #dec9bb;
    border-radius: 18px;
    background: #fffaf6
}

.panda-empty i {
    font-size: 37px;
    color: #d16a34
}

.panda-empty h3 {
    margin: 9px 0 4px;
    color: #5d241b
}

.panda-empty p {
    margin: 0;
    color: #8a746a
}

.panda-load-wrap {
    text-align: center;
    margin-top: 28px
}

.panda-load-more {
    padding: 12px 21px;
    border: 1px solid #d25a20;
    border-radius: 10px;
    background: #fff;
    color: #b74414;
    font-weight: 800
}

.panda-load-more:hover {
    background: #fff1e8
}

.panda-guidance-section {
    padding: 0 0 80px;
    background: #fff
}

.panda-guidance-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 28px 32px;
    border-radius: 20px;
    background: linear-gradient(120deg, #51170f, #86291a);
    color: #fff;
    box-shadow: 0 16px 40px rgba(66, 20, 10, .18)
}

.panda-guidance-card>div {
    display: flex;
    align-items: flex-start;
    gap: 17px
}

.panda-guidance-card>div>span {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    flex: 0 0 52px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .1);
    color: #ffb47c;
    font-size: 23px
}

.panda-guidance-card h2 {
    margin: 0 0 5px;
    color: #fff;
    font-size: 25px
}

.panda-guidance-card p {
    max-width: 700px;
    margin: 0;
    color: #e9cdc2;
    line-height: 1.6
}

.panda-guidance-card .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto
}

@media(max-width:1050px) {
    .panda-trust-strip .container {
        grid-template-columns: repeat(2, 1fr)
    }

    .panda-trust-strip .container>div:nth-child(2) {
        border-right: 0
    }

    .panda-trust-strip .container>div:nth-child(-n+2) {
        border-bottom: 1px solid #eee3d9
    }

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

@media(max-width:767px) {
    .panda-directory-hero {
        min-height: 560px;
        background-position: 64% center
    }

    .panda-directory-hero-copy {
        padding-block: 45px
    }

    .panda-directory-hero-copy h1 {
        font-size: 48px
    }

    .panda-type-grid {
        grid-template-columns: 1fr
    }

    .panda-list-heading {
        align-items: flex-start;
        flex-direction: column
    }

    .panda-search-panel {
        grid-template-columns: 1fr
    }

    .panda-card-grid {
        grid-template-columns: 1fr
    }

    .panda-guidance-card {
        align-items: flex-start;
        flex-direction: column
    }

    .panda-guidance-card .btn {
        width: 100%;
        justify-content: center
    }
}

@media(max-width:520px) {
    .panda-trust-strip .container {
        grid-template-columns: 1fr
    }

    .panda-trust-strip .container>div {
        border-right: 0;
        border-bottom: 1px solid #eee3d9 !important
    }

    .panda-trust-strip .container>div:last-child {
        border-bottom: 0 !important
    }

    .panda-types-section,
    .panda-list-section {
        padding-block: 58px
    }

    .panda-type-card {
        grid-template-columns: 1fr;
        padding: 24px
    }

    .panda-directory-hero-copy h1 {
        font-size: 41px
    }

    .panda-contact-card {
        padding: 18px
    }

    .panda-card-meta {
        grid-template-columns: 1fr
    }

    .panda-card-meta>span+span {
        border-left: 0;
        border-top: 1px solid #eee2d9
    }

    .panda-guidance-card {
        padding: 24px
    }

    .panda-guidance-card>div {
        flex-direction: column
    }
}

.tent-notes article {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: .8rem;
    padding: 1.2rem;
    border-right: 1px solid #ead9c9
}

.tent-notes article:last-child {
    border: 0
}

.tent-notes article>i {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    color: #922824;
    border: 1px solid #ce9c83;
    border-radius: 50%;
    font-size: 1.45rem
}

.tent-notes h3 {
    margin: 0 0 .3rem;
    color: #7b211e;
    font-size: 1rem
}

.tent-notes p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5
}

@media(max-width:991.98px) {
    .tent-hero-copy {
        width: 68%
    }

    .tent-benefits {
        grid-template-columns: 1fr 1fr;
        gap: .7rem
    }

    .tent-benefits>div {
        border: 0;
        padding: 0
    }

    .tent-notes {
        grid-template-columns: 1fr 1fr
    }

    .tent-notes article:nth-child(2) {
        border-right: 0
    }

    .tent-notes article:nth-child(-n+2) {
        border-bottom: 1px solid #ead9c9
    }
}

@media(max-width:767.98px) {
    .tent-hero {
        min-height: 620px
    }

    .tent-hero::before {
        background-position: center top
    }

    .tent-hero::after {
        background: linear-gradient(0deg, #fffaf3 0 58%, rgba(255, 250, 243, .12) 84%)
    }

    .tent-hero-grid {
        min-height: 620px;
        align-items: flex-end
    }

    .tent-hero-copy {
        width: 100%;
        padding: 2.5rem 0 3rem
    }

    .tent-hero h1 {
        font-size: 3rem
    }

    .tent-list-heading h2::before,
    .tent-list-heading h2::after {
        width: 25px
    }
}

@media(max-width:575.98px) {

    .tent-benefits,
    .tent-notes {
        grid-template-columns: 1fr
    }

    .tent-benefits b br {
        display: none
    }

    .tent-notes article {
        border-right: 0;
        border-bottom: 1px solid #ead9c9 !important
    }

    .tent-notes article:last-child {
        border-bottom: 0 !important
    }

    .tent-list-heading h2 {
        font-size: 1.55rem
    }

    .tent-list-heading h2::before,
    .tent-list-heading h2::after {
        display: none
    }
}

/* Panda directory hero uses the shared light inner-page artwork. */
.panda-help-link {
    color: #5b1d15
}

.panda-help-link:hover {
    color: #c04a16
}

.panda-help-link>i {
    border-color: rgba(89, 26, 23, .28)
}

.panda-help-link span {
    color: #7c655a
}

.panda-help-link strong {
    color: #5b1d15
}

@media(max-width:575.98px) {
    .topbar .container>.d-flex.align-items-center.gap-3 {
        min-width: 0;
        gap: .5rem !important
    }

    .topbar .container>.d-flex.align-items-center.gap-3>a:not(.btn) {
        display: none
    }
}

/* Main and Dhaami Panda Ji inner directory tables */
.panda-inner-page {
    background: #fffaf4
}

.panda-table-section {
    padding: 64px 0 80px;
    background: linear-gradient(180deg, #fffaf4, #f8eee5)
}

.panda-table-container {
    max-width: 1800px;
    padding-inline: clamp(16px, 3vw, 48px)
}

.panda-list-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 850px;
    margin: 0 auto 35px
}

.panda-list-tabs a {
    display: flex;
    align-items: center;
    gap: 13px;
    padding: 17px 20px;
    border: 1px solid #e4d4c8;
    border-radius: 15px;
    background: #fff;
    color: #66483a;
    text-decoration: none;
    box-shadow: 0 8px 24px rgba(67, 28, 13, .05)
}

.panda-list-tabs a>i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #fff0e5;
    color: #c44a15;
    font-size: 19px
}

.panda-list-tabs span,
.panda-list-tabs strong {
    display: block
}

.panda-list-tabs span {
    font-weight: 800
}

.panda-list-tabs strong {
    margin-top: 3px;
    color: #9a8276;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .06em
}

.panda-list-tabs a.active {
    border-color: #ce5a25;
    background: linear-gradient(135deg, #762219, #a83b17);
    color: #fff
}

.panda-list-tabs a.active>i {
    background: rgba(255, 255, 255, .13);
    color: #ffb47c
}

.panda-list-tabs a.active strong {
    color: #e8c9bc
}

.panda-table-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 22px
}

.panda-table-heading>div:first-child>span {
    color: #cf571c;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.panda-table-heading h2 {
    margin: .4rem 0 .4rem;
    color: #5a1b14;
    font-size: clamp(34px, 4vw, 48px)
}

.panda-table-heading p {
    margin: 0;
    color: #806e64
}

.panda-table-count {
    min-width: 130px;
    padding: 14px 18px;
    border-radius: 14px;
    background: #fff0e5;
    text-align: center
}

.panda-table-count strong,
.panda-table-count span {
    display: block
}

.panda-table-count strong {
    color: #7a2117;
    font-size: 29px;
    line-height: 1
}

.panda-table-count span {
    margin-top: 5px;
    color: #9a7665;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.panda-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 13px 14px;
    margin-bottom: 15px;
    border: 1px solid #e5d7cc;
    border-radius: 14px;
    background: #fff
}

.panda-table-toolbar label {
    position: relative;
    display: flex;
    align-items: center;
    width: min(600px, 100%);
    margin: 0
}

.panda-table-toolbar label i {
    position: absolute;
    left: 16px;
    color: #c54b17
}

.panda-table-toolbar input {
    width: 100%;
    height: 48px;
    padding: 0 16px 0 43px;
    border: 1px solid #dfd0c5;
    border-radius: 10px;
    outline: 0
}

.panda-table-toolbar input:focus {
    border-color: #cc5720;
    box-shadow: 0 0 0 3px rgba(204, 87, 32, .1)
}

.panda-table-toolbar>a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b54114;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap
}

.panda-directory-table-wrap {
    overflow: auto;
    border: 1px solid #e4d4c8;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 14px 40px rgba(57, 24, 11, .08);
    scrollbar-width: thin;
    scrollbar-color: #a84625 #f3e7de
}

.panda-directory-table {
    width: 100%;
    min-width: 1720px;
    border-collapse: separate;
    border-spacing: 0;
    font: 14px/1.45 Arial, sans-serif
}

.panda-directory-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 15px 12px;
    background: #711f17;
    color: #fff;
    border-right: 1px solid rgba(255, 255, 255, .18);
    text-align: center;
    white-space: nowrap
}

.panda-directory-table th:first-child {
    border-radius: 15px 0 0
}

.panda-directory-table th:last-child {
    border: 0;
    border-radius: 0 15px 0 0
}

.panda-directory-table td {
    padding: 13px 12px;
    border-right: 1px solid #eee3dc;
    border-bottom: 1px solid #eee3dc;
    text-align: center;
    vertical-align: middle;
    color: #59473e
}

.panda-directory-table td:nth-child(3),
.panda-directory-table td:nth-child(4),
.panda-directory-table td:nth-child(5),
.panda-directory-table td:nth-child(7) {
    text-align: left
}

.panda-directory-table tbody tr:nth-child(even) {
    background: #fffaf6
}

.panda-directory-table tbody tr:hover {
    background: #fff1e7
}

.panda-row-number {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    margin: auto;
    border-radius: 9px;
    background: #f6ebe4;
    color: #7d3020;
    font-weight: 800
}

.panda-table-photo {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    margin: auto;
    border-radius: 14px;
    background: linear-gradient(135deg, #772219, #c05418);
    color: #fff;
    font: 800 16px Georgia, serif;
    overflow: hidden
}

.panda-table-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.panda-table-name {
    display: block;
    min-width: 150px;
    color: #541b14;
    font-size: 15px
}

.panda-address {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    min-width: 190px
}

.panda-address i {
    margin-top: 2px;
    color: #d05a1b
}

.panda-not-provided {
    color: #aa9990;
    font-size: 12px
}

.panda-mobile-link {
    color: #9c3515;
    font-weight: 800;
    text-decoration: none
}

.panda-table-call {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, #85251d, #b74319);
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap
}

.panda-table-call:hover {
    color: #fff;
    background: #661813
}

.panda-table-empty-row:hover,
.panda-search-empty:hover {
    background: #fff !important
}

.panda-table-empty {
    padding: 50px 20px;
    text-align: center
}

.panda-table-empty i {
    font-size: 38px;
    color: #d36a34
}

.panda-table-empty h3 {
    margin: 9px 0 4px;
    color: #5d2018
}

.panda-table-empty p {
    margin: 0;
    color: #8a766c
}

.panda-table-scroll-hint {
    display: none;
    margin: 12px 0 0;
    color: #8a7469;
    font-size: 12px;
    text-align: center
}

.panda-table-scroll-hint i {
    color: #cc561e;
    margin-right: 5px
}

/* Keep directory values in their own readable columns after photo/age fields were removed. */
.panda-table-container {
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 24px
}

.panda-directory-table {
    min-width: 1050px;
    table-layout: fixed
}

.panda-directory-table .panda-column-number { width: 6% }
.panda-directory-table .panda-column-name { width: 21% }
.panda-directory-table .panda-column-father { width: 23% }
.panda-directory-table .panda-column-address { width: 25% }
.panda-directory-table .panda-column-mobile { width: 14% }
.panda-directory-table .panda-column-action { width: 11% }

.panda-directory-table td:nth-child(2),
.panda-directory-table td:nth-child(3) {
    overflow-wrap: anywhere;
    word-break: break-word
}

.panda-table-name {
    min-width: 0
}

@media(max-width:767px) {
    .panda-table-container {
        padding-inline: 16px
    }

    .panda-table-section {
        padding-block: 50px
    }

    .panda-list-tabs {
        grid-template-columns: 1fr
    }

    .panda-table-heading {
        align-items: flex-start;
        flex-direction: column
    }

    .panda-table-toolbar {
        align-items: stretch;
        flex-direction: column
    }

    .panda-table-toolbar label {
        width: 100%
    }

    .panda-table-scroll-hint {
        display: block
    }
}

/* Click-to-call mobile number in Panda Ji directory tables */
.panda-table-container {
    width: 100%;
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: 24px
}

.panda-directory-table {
    width: 100%;
    min-width: 1050px;
    table-layout: fixed
}

.panda-directory-table th:nth-child(1) {
    width: 6%
}

.panda-directory-table th:nth-child(2) {
    width: 21%
}

.panda-directory-table th:nth-child(3) {
    width: 23%
}

.panda-directory-table th:nth-child(4) {
    width: 25%
}

.panda-directory-table th:nth-child(5) {
    width: 14%
}

.panda-directory-table th:nth-child(6) {
    width: 11%
}

.panda-directory-table td {
    overflow-wrap: anywhere
}

.panda-directory-table td:nth-child(1),
.panda-directory-table td:nth-child(5),
.panda-directory-table td:nth-child(6) {
    overflow-wrap: normal
}

.panda-directory-table .panda-mobile-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid #e5c8b9;
    border-radius: 9px;
    background: #fff4ec;
    color: #9c3515;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap
}

.panda-directory-table .panda-mobile-link i {
    font-size: 12px
}

.panda-directory-table .panda-mobile-link:hover,
.panda-directory-table .panda-mobile-link:focus {
    border-color: #9c3515;
    background: #9c3515;
    color: #fff
}

/* Standalone Main and Dhaami Panda Ji profile pages */
.panda-profile-page {
    --panda-profile-accent: #85251d;
    --panda-profile-accent-2: #b74319;
    --panda-profile-soft: #fff0e8;
}

.panda-profile-dhaami {
    --panda-profile-accent: #b94e0d;
    --panda-profile-accent-2: #e48022;
    --panda-profile-soft: #fff4df;
}

.panda-profile-page .panda-table-section {
    padding: 68px 0 84px;
    background: linear-gradient(180deg, #fffaf5 0%, #f8eee6 100%)
}

.panda-profile-page .panda-table-heading>div:first-child>span {
    color: var(--panda-profile-accent-2)
}

.panda-profile-page .panda-table-count {
    background: var(--panda-profile-soft)
}

.panda-profile-page .panda-table-count strong {
    color: var(--panda-profile-accent)
}

.panda-profile-toolbar {
    margin-bottom: 24px;
    padding: 12px 14px;
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(65, 29, 14, .05)
}

.panda-profile-toolbar label {
    width: min(720px, 100%)
}

.panda-profile-toolbar label i {
    color: var(--panda-profile-accent-2)
}

.panda-profile-toolbar input:focus {
    border-color: var(--panda-profile-accent-2);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--panda-profile-accent-2) 12%, transparent)
}

.panda-profile-toolbar>a {
    color: var(--panda-profile-accent)
}

.panda-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px
}

.panda-profile-card {
    overflow: hidden;
    border: 1px solid #e8d9cf;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(61, 26, 12, .07);
    transition: transform .22s ease, box-shadow .22s ease
}

.panda-profile-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 46px rgba(61, 26, 12, .12)
}

.panda-profile-card[hidden] {
    display: none
}

.panda-profile-card-head {
    position: relative;
    display: grid;
    grid-template-columns: 104px 1fr;
    gap: 18px;
    align-items: center;
    padding: 22px;
    background: linear-gradient(135deg, var(--panda-profile-soft), #fff 70%)
}

.panda-profile-card-head>img {
    width: 104px;
    height: 118px;
    object-fit: cover;
    object-position: center top;
    border: 4px solid #fff;
    border-radius: 17px;
    background: #eee;
    box-shadow: 0 8px 20px rgba(62, 28, 14, .13)
}

.panda-profile-type {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
    color: var(--panda-profile-accent-2);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em
}

.panda-profile-card h3 {
    max-width: 340px;
    margin: 0;
    color: #571c15;
    font-size: 24px;
    line-height: 1.2
}

.panda-profile-card-head p {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 8px 0 0;
    color: #7c685e;
    font-size: 13px;
    line-height: 1.45
}

.panda-profile-card-head p i {
    margin-top: 2px;
    color: var(--panda-profile-accent-2)
}

.panda-profile-number {
    position: absolute;
    right: 18px;
    top: 16px;
    color: color-mix(in srgb, var(--panda-profile-accent) 18%, transparent);
    font: 700 29px/1 Georgia, serif
}

.panda-profile-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid #eee2da;
    border-bottom: 1px solid #eee2da
}

.panda-profile-details>div {
    min-height: 76px;
    padding: 15px 18px;
    border-right: 1px solid #eee2da;
    border-bottom: 1px solid #eee2da
}

.panda-profile-details>div:nth-child(2n) {
    border-right: 0
}

.panda-profile-details>div:nth-last-child(-n+2) {
    border-bottom: 0
}

.panda-profile-details span,
.panda-profile-details strong {
    display: block
}

.panda-profile-details span {
    color: #a18779;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em
}

.panda-profile-details strong {
    margin-top: 5px;
    color: #5d463b;
    font-size: 13px;
    line-height: 1.4
}

.panda-profile-call {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 17px;
    padding: 13px 16px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--panda-profile-accent), var(--panda-profile-accent-2));
    color: #fff;
    text-decoration: none;
    box-shadow: 0 9px 22px color-mix(in srgb, var(--panda-profile-accent) 20%, transparent)
}

.panda-profile-call:hover {
    color: #fff;
    filter: brightness(.92)
}

.panda-profile-call>i:first-child {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .13)
}

.panda-profile-call>i:last-child {
    margin-left: auto
}

.panda-profile-call span,
.panda-profile-call small {
    display: block
}

.panda-profile-call span {
    font-size: 13px;
    font-weight: 800
}

.panda-profile-call small {
    margin-top: 1px;
    color: rgba(255, 255, 255, .82);
    font-size: 11px;
    font-weight: 600
}

.panda-profile-empty {
    max-width: 700px;
    margin: 10px auto 0;
    padding: 54px 30px;
    border: 1px dashed #dfcbbd;
    border-radius: 20px;
    background: #fff;
    text-align: center;
    box-shadow: 0 12px 35px rgba(58, 24, 11, .05)
}

.panda-profile-empty>span {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    margin: 0 auto 15px;
    border-radius: 18px;
    background: var(--panda-profile-soft);
    color: var(--panda-profile-accent-2);
    font-size: 28px
}

.panda-profile-empty h3 {
    margin: 0 0 8px;
    color: #5a1d16;
    font-size: 25px
}

.panda-profile-empty p {
    margin: 0;
    color: #806d63
}

.panda-profile-empty>a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 20px;
    color: var(--panda-profile-accent);
    font-weight: 800;
    text-decoration: none
}

.panda-profile-dhaami .panda-list-hero .panda-eyebrow {
    color: #dc761d
}

@media(max-width:991px) {
    .panda-profile-grid {
        grid-template-columns: 1fr
    }
}

@media(max-width:767px) {
    .panda-profile-page .panda-table-section {
        padding-block: 50px
    }

    .panda-profile-toolbar {
        align-items: stretch;
        flex-direction: column
    }

    .panda-profile-toolbar label {
        width: 100%
    }
}

@media(max-width:520px) {
    .panda-profile-card-head {
        grid-template-columns: 82px 1fr;
        gap: 13px;
        padding: 17px
    }

    .panda-profile-card-head>img {
        width: 82px;
        height: 98px
    }

    .panda-profile-card h3 {
        font-size: 20px
    }

    .panda-profile-number {
        display: none
    }

    .panda-profile-details {
        grid-template-columns: 1fr
    }

    .panda-profile-details>div {
        border-right: 0 !important;
        border-bottom: 1px solid #eee2da !important
    }

    .panda-profile-details>div:last-child {
        border-bottom: 0 !important
    }
}

/* Destination detail pages and official resource portals */
.heritage-detail-page,
.portal-page {
    background: #fffaf4
}

.heritage-detail-hero {
    position: relative;
    min-height: 520px;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(42, 12, 7, .94), rgba(79, 24, 12, .83) 52%, rgba(67, 20, 10, .2)), var(--detail-image) center/cover
}

.heritage-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(37, 10, 5, .36), transparent 44%)
}

.heritage-detail-copy {
    position: relative;
    z-index: 1;
    max-width: 760px;
    padding: 72px 0;
    color: #fff
}

.heritage-detail-copy .page-breadcrumb a,
.heritage-detail-copy .page-breadcrumb span,
.heritage-detail-copy .page-breadcrumb i {
    color: #f6d9c8
}

.heritage-eyebrow,
.portal-eyebrow {
    display: block;
    margin: 32px 0 8px;
    color: #ffb16f;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .14em
}

.heritage-detail-copy h1 {
    margin: 0 0 16px;
    color: #fff;
    font-size: clamp(46px, 6vw, 76px);
    line-height: 1.03;
    text-shadow: 0 4px 22px rgba(0, 0, 0, .25)
}

.heritage-detail-copy>p {
    max-width: 690px;
    margin: 0;
    color: #f0dcd1;
    font-size: 18px;
    line-height: 1.75
}

.heritage-facts {
    position: relative;
    z-index: 2;
    margin-top: -34px
}

.heritage-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid #ead8ca;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(63, 24, 10, .12);
    overflow: hidden
}

.heritage-facts article {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 26px;
    border-right: 1px solid #eee0d6
}

.heritage-facts article:last-child {
    border: 0
}

.heritage-facts article>i {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    flex: 0 0 48px;
    border-radius: 13px;
    background: #fff0e5;
    color: #bd4817;
    font-size: 21px
}

.heritage-facts span,
.heritage-facts strong {
    display: block
}

.heritage-facts span {
    color: #9d8376;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.heritage-facts strong {
    margin-top: 4px;
    color: #562019;
    font-size: 14px
}

.heritage-content {
    padding: 72px 0 84px
}

.heritage-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .72fr);
    gap: 27px;
    align-items: start
}

.heritage-copy-card {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 18px;
    padding: 30px;
    margin-bottom: 18px;
    border: 1px solid #eaded5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(61, 25, 11, .05)
}

.heritage-number {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, #772219, #b74618);
    color: #fff;
    font: 700 17px Georgia, serif
}

.heritage-copy-card h2 {
    margin: 0 0 10px;
    color: #5a1c15;
    font-size: 27px
}

.heritage-copy-card p {
    margin: 0;
    color: #76675f;
    line-height: 1.8
}

.heritage-plan-card {
    position: sticky;
    top: 110px;
    padding: 29px;
    border-radius: 19px;
    background: linear-gradient(145deg, #52170f, #812819);
    color: #fff;
    box-shadow: 0 16px 38px rgba(75, 24, 11, .2)
}

.heritage-plan-card>i {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(255, 255, 255, .1);
    color: #ffb16f;
    font-size: 24px
}

.heritage-plan-card h2 {
    margin: 18px 0 8px;
    color: #fff
}

.heritage-plan-card p {
    color: #e7cfc5;
    line-height: 1.65
}

.heritage-plan-card>a {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    text-decoration: none;
    font-weight: 700
}

.heritage-plan-card>a:hover {
    color: #ffba80
}

.heritage-back {
    margin-top: 22px
}

.heritage-back .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.destination-grid h2 a {
    color: inherit;
    text-decoration: none
}

.destination-read-more {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 9px;
    color: #b74316;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800
}

.destination-read-more:hover {
    color: #762018
}

.destination-dungeshwari {
    background-image: url('../../img/attraction/dungeswari_cave.jpg')
}

.destination-barabar {
    background-image: url('../../img/attraction/brabar_cave.webp')
}

.destination-bodhgaya {
    background-image: url('../../img/attraction/mahabodhi_temple.jpg')
}

.portal-hero {
    min-height: 365px;
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(53, 13, 7, .93), rgba(111, 36, 13, .68)), url('../../img/slider/slide1.jpg') center 48%/cover
}

.portal-hero .inner-breadcrumb-copy {
    max-width: 730px;
    padding: 58px 0;
    color: #fff
}

.portal-hero .page-breadcrumb a,
.portal-hero .page-breadcrumb i,
.portal-hero .page-breadcrumb span {
    color: #f2d8c9
}

.portal-hero h1 {
    margin: .25rem 0 .5rem;
    color: #fff;
    font-size: clamp(43px, 5vw, 66px)
}

.portal-hero p {
    margin: 0;
    color: #f0d9cd;
    font-size: 17px
}

.portal-hero .portal-eyebrow {
    margin-top: 24px
}

.contact-portal-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .94), rgba(111, 36, 13, .62)), url('../../img/slider/slide2.jpg')
}

.donation-portal-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .94), rgba(111, 36, 13, .62)), url('../../img/pinddaan.jpg')
}

.publication-portal-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .94), rgba(111, 36, 13, .64)), url('../../img/vishnupad temple old.jpg')
}

.video-portal-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .94), rgba(111, 36, 13, .58)), url('../../img/slider/slide3.png')
}

.state-fair-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .93), rgba(111, 36, 13, .62)), url('../../img/bg home.jpg')
}

.portal-section {
    padding: 70px 0 82px;
    background: linear-gradient(180deg, #fffaf4, #f8eee5)
}

.portal-heading {
    max-width: 720px;
    margin: 0 auto 34px;
    text-align: center
}

.portal-heading>span,
.donation-copy>span,
.state-fair-intro>div>span {
    color: #c94e18;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.portal-heading h2 {
    margin: .35rem 0;
    color: #571b14;
    font-size: clamp(34px, 4vw, 48px)
}

.portal-heading p {
    margin: 0;
    color: #806f65
}

.resource-group-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.resource-group-card {
    padding: 25px;
    border: 1px solid #eadbcf;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(58, 24, 11, .06)
}

.resource-group-card>i {
    width: 49px;
    height: 49px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff0e5;
    color: #bd4515;
    font-size: 22px
}

.resource-group-card h2 {
    margin: 16px 0 12px;
    color: #591c15;
    font-size: 23px
}

.resource-group-card ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.resource-group-card li+li {
    border-top: 1px solid #eee3db
}

.resource-group-card a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0;
    color: #70594e;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700
}

.resource-group-card a i {
    color: #c34a18
}

.resource-group-card a:hover {
    color: #a53912
}

.contact-card-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px
}

.contact-office-card {
    padding: 29px;
    border: 1px solid #eadbcf;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(58, 24, 11, .06)
}

.contact-office-card>i {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff0e5;
    color: #bc4516;
    font-size: 22px
}

.contact-office-card>span {
    display: block;
    margin: 17px 0 5px;
    color: #c44b18;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em
}

.contact-office-card h2 {
    margin: 0 0 14px;
    color: #581d16;
    font-size: 22px
}

.contact-office-card>a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    color: #735a4f;
    text-decoration: none
}

.contact-office-card>a i {
    color: #c34a18
}

.contact-help-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 24px;
    padding: 25px 29px;
    border-radius: 18px;
    background: linear-gradient(130deg, #571810, #85291a);
    color: #fff
}

.contact-help-strip>div {
    display: flex;
    align-items: center;
    gap: 15px
}

.contact-help-strip>div>i {
    font-size: 30px;
    color: #ffb47b
}

.contact-help-strip strong,
.contact-help-strip span {
    display: block
}

.donation-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center
}

.donation-copy h2 {
    margin: .5rem 0 1rem;
    color: #571b14;
    font-size: clamp(34px, 4vw, 48px)
}

.donation-copy>p {
    color: #76665d;
    line-height: 1.8
}

.donation-notice {
    display: flex;
    gap: 13px;
    padding: 17px;
    margin-top: 22px;
    border: 1px solid #e7d3c5;
    border-radius: 14px;
    background: #fff
}

.donation-notice i {
    color: #23804b;
    font-size: 23px
}

.donation-notice p {
    margin: 0;
    color: #6f5c52;
    font-size: 13px
}

.bank-card {
    padding: 29px;
    border-radius: 20px;
    background: linear-gradient(145deg, #5b1811, #83281a);
    color: #fff;
    box-shadow: 0 20px 50px rgba(67, 20, 10, .22)
}

.bank-card-head {
    display: flex;
    align-items: center;
    gap: 13px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    font-weight: 800
}

.bank-card-head i {
    font-size: 25px;
    color: #ffb06e
}

.bank-card dl {
    margin: 0
}

.bank-card dl>div {
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13)
}

.bank-card dt {
    color: #dfbfb2;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em
}

.bank-card dd {
    margin: 4px 0 0;
    color: #fff;
    font-weight: 700
}

.bank-card>a {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 19px;
    color: #ffbb83;
    text-decoration: none;
    font-weight: 800
}

.publication-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 17px
}

.publication-grid article {
    display: grid;
    grid-template-columns: 54px 1fr 40px;
    gap: 16px;
    align-items: center;
    padding: 22px;
    border: 1px solid #eadbcf;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 28px rgba(61, 25, 11, .05)
}

.publication-grid article>i {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #fff0e5;
    color: #bc4415;
    font-size: 24px
}

.publication-grid h2 {
    margin: 0 0 4px;
    color: #571b14;
    font-size: 18px
}

.publication-grid p {
    margin: 0;
    color: #88746a;
    font-size: 12px
}

.publication-grid article>a {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #742219;
    color: #fff
}

.video-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px
}

.video-gallery-grid article {
    overflow: hidden;
    border: 1px solid #eadbcf;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(58, 24, 11, .07)
}

.video-gallery-grid iframe {
    border: 0
}

.video-gallery-grid h2 {
    margin: 0;
    padding: 17px 20px;
    color: #571b14;
    font-size: 18px
}

.gallery-channel {
    text-align: center;
    margin-top: 30px
}

.gallery-channel .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.state-fair-intro {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 38px;
    align-items: center;
    padding: 34px;
    border: 1px solid #eadbcf;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 40px rgba(60, 25, 11, .07)
}

.state-fair-intro img {
    max-width: 100%;
    max-height: 240px;
    margin: auto
}

.state-fair-intro h2 {
    margin: .45rem 0 .8rem;
    color: #571b14;
    font-size: 38px
}

.state-fair-intro p {
    color: #76665d;
    line-height: 1.8
}

.fair-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 25px
}

.fair-feature-grid article {
    padding: 25px;
    border: 1px solid #eadbcf;
    border-radius: 16px;
    background: #fff
}

.fair-feature-grid i {
    font-size: 25px;
    color: #bc4516
}

.fair-feature-grid h3 {
    margin: 11px 0 7px;
    color: #571b14
}

.fair-feature-grid p {
    margin: 0;
    color: #806e64;
    font-size: 13px;
    line-height: 1.65
}

@media(max-width:991px) {
    .heritage-content-grid {
        grid-template-columns: 1fr
    }

    .heritage-plan-card {
        position: static
    }

    .resource-group-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .donation-layout {
        grid-template-columns: 1fr
    }

    .state-fair-intro {
        grid-template-columns: 1fr
    }
}

@media(max-width:767px) {
    .heritage-detail-hero {
        min-height: 560px
    }

    .heritage-facts {
        margin-top: -22px
    }

    .heritage-facts-grid {
        grid-template-columns: 1fr
    }

    .heritage-facts article {
        border-right: 0;
        border-bottom: 1px solid #eee0d6
    }

    .heritage-copy-card {
        grid-template-columns: 1fr;
        padding: 24px
    }

    .portal-hero {
        min-height: 430px
    }

    .portal-section {
        padding-block: 55px
    }

    .resource-group-grid,
    .contact-card-grid,
    .publication-grid,
    .video-gallery-grid,
    .fair-feature-grid {
        grid-template-columns: 1fr
    }

    .contact-help-strip {
        align-items: flex-start;
        flex-direction: column
    }

    .contact-help-strip .btn {
        width: 100%
    }

    .state-fair-intro {
        padding: 24px
    }

    .state-fair-intro h2 {
        font-size: 32px
    }
}

.destination-vishnupad {
    background-image: url('../../img/attraction/vishnupad_1.jpeg');
    background-size: cover;
    background-position: center
}

.destination-akshayvat {
    background-image: url('../../img/attraction/akshayvat.jpg');
    background-size: cover;
    background-position: center
}

.destination-mangla {
    background-image: url('../../img/attraction/mangla.jpg');
    background-size: cover;
    background-position: center
}

.destination-shringa {
    background-image: url('../../img/attraction/koteshwar_dham.jpg');
    background-size: cover;
    background-position: center;
    filter: none
}

.destination-ramshila {
    background-image: url('../../img/attraction/ramshila.jpg');
    background-size: cover;
    background-position: center
}

.destination-brahmayoni {
    background-image: url('../../img/attraction/pretshila.jfif');
    background-size: cover;
    background-position: center;
    filter: none
}

.destination-dungeshwari,
.destination-barabar,
.destination-bodhgaya {
    background-size: cover;
    background-position: center
}

/* Homepage aerial video hero */
.home-video-hero {
    position: relative;
    height: clamp(430px, calc(100svh - 112px), 720px);
    min-height: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #2d120b
}

.home-media-carousel,
.home-media-carousel .carousel-inner,
.home-media-carousel .carousel-item {
    width: 100%;
    height: 100%
}

.home-media-carousel .carousel-item {
    position: relative;
    background: #2d120b
}

.home-media-carousel .carousel-item::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(255, 249, 238, .94) 0%, rgba(255, 249, 238, .76) 34%, rgba(255, 249, 238, .12) 58%, transparent 76%);
    pointer-events: none
}

.home-media-carousel .hero-video-slide::after,
.home-media-carousel .hero-clean-slide::after {
    display: none
}

.home-hero-media {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.home-hero-picture {
    display: block;
    width: 100%;
    height: 100%
}

.home-media-carousel {
    touch-action: pan-y pinch-zoom
}

.home-media-carousel .carousel-indicators {
    display: none !important
}

.home-hero-caption-wrap {
    position: absolute;
    z-index: 2;
    inset: 0;
    display: flex;
    align-items: center;
    pointer-events: none
}

.home-hero-caption {
    width: min(48%, 620px);
    margin-left: clamp(62px, 5vw, 84px);
    color: #572019;
    pointer-events: auto
}

.home-hero-caption > span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #c34c16;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase
}

.home-hero-caption > span::before {
    content: "";
    width: 28px;
    height: 2px;
    background: currentColor
}

.home-hero-caption h1 {
    max-width: 600px;
    margin: .65rem 0 .9rem;
    color: #681f18;
    font-size: clamp(2.7rem, 4.8vw, 4.9rem);
    line-height: 1.02;
    text-wrap: balance
}

.home-hero-caption p {
    max-width: 540px;
    margin: 0 0 1.45rem;
    color: #5e493e;
    font-size: clamp(.95rem, 1.15vw, 1.1rem);
    line-height: 1.65
}

.home-hero-caption .btn {
    display: inline-flex;
    align-items: center;
    gap: 9px
}

.home-media-carousel .carousel-item.active .home-hero-caption > * {
    animation: homeHeroCaptionIn .7s ease both
}

.home-media-carousel .carousel-item.active .home-hero-caption h1 { animation-delay: .1s }
.home-media-carousel .carousel-item.active .home-hero-caption p { animation-delay: .2s }
.home-media-carousel .carousel-item.active .home-hero-caption .btn { animation-delay: .3s }

@keyframes homeHeroCaptionIn {
    from { opacity: 0; transform: translateY(20px) }
    to { opacity: 1; transform: none }
}

.home-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.home-video-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(31, 10, 5, .9) 0%, rgba(55, 17, 8, .72) 42%, rgba(34, 10, 5, .2) 72%, rgba(20, 7, 4, .15) 100%)
}

.home-video-shade::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(29, 8, 4, .42), transparent 42%)
}

.home-video-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 600px
}

.home-video-copy {
    max-width: 700px;
    padding: 55px 0;
    color: #fff
}

.home-video-copy .eyebrow {
    color: #ffb37b;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.home-video-copy h1 {
    max-width: 690px;
    margin: .65rem 0 1rem;
    color: #fff;
    font-size: clamp(50px, 6vw, 82px);
    line-height: 1.02;
    text-shadow: 0 5px 25px rgba(0, 0, 0, .34)
}

.home-video-copy h1 em {
    display: block;
    color: #f47527;
    font-style: normal
}

.home-video-copy p {
    max-width: 620px;
    margin: 0;
    color: #f6e5dc !important;
    font-size: 18px !important;
    line-height: 1.75 !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .3)
}

.btn-video-outline {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .7);
    background: rgba(0, 0, 0, .12);
    backdrop-filter: blur(4px)
}

.btn-video-outline:hover {
    color: #5d1c13;
    border-color: #fff;
    background: #fff
}

.home-video-toggle {
    position: absolute;
    z-index: 3;
    right: clamp(18px, 3vw, 50px);
    bottom: 28px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, .48);
    border-radius: 5px;
    background: rgba(34, 11, 6, .62);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    backdrop-filter: blur(5px)
}

.home-video-toggle:hover {
    background: #c94d14;
    border-color: #c94d14
}

.home-video-toggle i {
    font-size: 15px
}

@media(max-width:767px) {

    .home-video-hero {
        height: clamp(390px, calc(100svh - 96px), 620px);
        min-height: 0
    }

    .home-video-inner {
        min-height: 570px
    }

    .home-media-carousel .carousel-item::after {
        background: linear-gradient(0deg, rgba(255, 249, 238, .98) 0%, rgba(255, 249, 238, .92) 42%, rgba(255, 249, 238, .12) 72%, transparent 90%)
    }

    .home-media-carousel img.home-hero-media {
        object-position: 70% center
    }

    .home-hero-caption-wrap {
        align-items: flex-end
    }

    .home-hero-caption {
        width: calc(100% - 48px);
        max-width: 560px;
        margin-left: 48px;
        padding: 0 10px 64px 0;
        box-sizing: border-box
    }

    .home-hero-caption h1 {
        margin-block: .45rem .65rem;
        font-size: clamp(2.15rem, 10vw, 3.15rem)
    }

    .home-hero-caption p {
        max-width: 500px;
        margin-bottom: 1rem;
        font-size: .9rem;
        line-height: 1.5
    }

    .home-video-shade {
        background: linear-gradient(90deg, rgba(31, 10, 5, .88), rgba(48, 14, 7, .58)), linear-gradient(0deg, rgba(24, 7, 3, .5), transparent)
    }

    .home-video-copy {
        padding: 45px 0 85px
    }

    .home-video-copy h1 {
        font-size: 48px
    }

    .home-video-copy p {
        font-size: 16px !important
    }

    .home-video-toggle span {
        display: none
    }

    .home-video-toggle {
        right: 16px;
        bottom: 18px;
        width: 38px;
        height: 38px;
        justify-content: center;
        padding: 0;
        border-radius: 50%
    }
}

/* Clean video hero: no overlay text or transparent controls. */
.home-video-hero .home-video-toggle {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    gap: 0;
    padding: 0;
    border: 1px solid #c94d14;
    border-radius: 50%;
    background: #c94d14;
    color: #fff;
    backdrop-filter: none
}

.home-video-hero .home-video-toggle:hover {
    background: #9f3510;
    border-color: #9f3510
}

.home-video-hero .home-video-toggle i {
    font-size: 17px
}

.home-media-carousel .carousel-control-prev,
.home-media-carousel .carousel-control-next {
    top: auto;
    bottom: 26px;
    width: 52px;
    height: 64px;
    margin: 0;
    overflow: visible;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(92, 25, 15, .9), rgba(199, 70, 18, .88));
    box-shadow: 0 12px 30px rgba(53, 17, 8, .28), inset 0 1px 0 rgba(255, 255, 255, .28);
    backdrop-filter: blur(9px);
    opacity: 1;
    transform: none;
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease
}

.home-media-carousel .carousel-control-prev::after,
.home-media-carousel .carousel-control-next::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #e86927;
    transform: translateY(-50%)
}

.home-media-carousel .carousel-control-prev::after { right: -9px }
.home-media-carousel .carousel-control-next::after { left: -9px }

.home-media-carousel .carousel-control-prev {
    left: auto;
    right: 94px
}

.home-media-carousel .carousel-control-next {
    right: 28px
}

.home-media-carousel .carousel-control-prev:hover,
.home-media-carousel .carousel-control-next:hover,
.home-media-carousel .carousel-control-prev:focus-visible,
.home-media-carousel .carousel-control-next:focus-visible {
    background: linear-gradient(145deg, #7b2115, #e45c1d);
    box-shadow: 0 16px 36px rgba(83, 24, 9, .36), 0 0 0 4px rgba(255, 255, 255, .18);
    opacity: 1;
    outline: 0;
    transform: scale(1.07)
}

.home-media-carousel .carousel-control-prev:active,
.home-media-carousel .carousel-control-next:active {
    transform: scale(.96)
}

.home-media-carousel .carousel-control-prev-icon,
.home-media-carousel .carousel-control-next-icon {
    width: 21px;
    height: 21px;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .25));
    background-size: 100% 100%
}

.home-media-carousel .hero-video-slide .home-video-toggle {
    right: clamp(14px, 2.2vw, 34px);
    top: clamp(14px, 2.2vw, 34px);
    bottom: auto
}

.home-video-hero .hero-audio-toggle {
    width: auto;
    min-width: 116px;
    height: 42px;
    display: inline-flex;
    grid-template-columns: auto auto;
    gap: 7px;
    padding: 0 14px;
    border-radius: 999px;
    box-shadow: 0 7px 20px rgba(35, 10, 5, .28)
}

.home-video-hero .hero-audio-toggle span {
    display: inline;
    white-space: nowrap
}

.home-media-carousel .carousel-indicators {
    z-index: 4;
    margin-bottom: 18px
}

.home-media-carousel .carousel-indicators [data-bs-target] {
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #d15318;
    box-sizing: content-box
}

@media(max-width:575px) {
    .home-media-carousel .carousel-control-prev,
    .home-media-carousel .carousel-control-next {
        width: 40px;
        height: 50px;
        bottom: 16px;
        margin: 0;
        border-radius: 13px
    }

    .home-media-carousel .carousel-control-prev {
        left: auto;
        right: 58px
    }

    .home-media-carousel .carousel-control-next {
        right: 10px
    }

    .home-media-carousel .hero-video-slide .home-video-toggle {
        right: 12px;
        top: 12px;
        bottom: auto
    }

    .home-video-hero .hero-audio-toggle {
        width: 38px;
        min-width: 38px;
        height: 38px;
        padding: 0;
        border-radius: 50%
    }

    .home-video-hero .hero-audio-toggle span {
        display: none
    }

    .home-media-carousel .carousel-control-prev::after,
    .home-media-carousel .carousel-control-next::after {
        display: none
    }

    .home-media-carousel .carousel-control-prev-icon,
    .home-media-carousel .carousel-control-next-icon {
        width: 17px;
        height: 17px
    }
}

/* Resources navigation dropdown */
.simple-nav-dropdown .dropdown-toggle::after {
    display: none
}

.simple-dropdown-caret {
    margin-left: 4px;
    font-size: 11px;
    transition: transform .2s ease
}

.simple-nav-dropdown .dropdown-toggle[aria-expanded="true"] .simple-dropdown-caret {
    transform: rotate(180deg)
}

.simple-dropdown-menu {
    min-width: 260px;
    padding: 10px;
    border: 1px solid #eadbd0;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(57, 24, 11, .16)
}

.simple-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 12px;
    border-radius: 9px;
    color: #5f4438;
    font-size: 14px;
    font-weight: 700
}

.simple-dropdown-menu .dropdown-item i {
    width: 35px;
    height: 35px;
    display: grid;
    place-items: center;
    flex: 0 0 35px;
    border-radius: 9px;
    background: #fff0e6;
    color: #c54c17;
    font-size: 16px
}

.simple-dropdown-menu .dropdown-item:hover,
.simple-dropdown-menu .dropdown-item:focus {
    background: #fff5ee;
    color: #8a2b17
}

@media(min-width:992px) {
    .simple-nav-dropdown:hover>.dropdown-menu {
        display: block;
        margin-top: 0
    }

    .simple-nav-dropdown .dropdown-menu {
        right: 0;
        left: auto
    }

    .navbar-nav {
        gap: .35rem !important
    }

    .navbar .nav-link {
        padding-inline: .55rem
    }
}

@media(min-width:992px) and (max-width:1399.98px) {
    .navbar .state-mark-link {
        display: none
    }
}

@media(max-width:991px) {
    .simple-dropdown-menu {
        margin: 4px 0 8px !important;
        border-radius: 10px;
        box-shadow: none
    }

    .simple-dropdown-menu .dropdown-item {
        padding: 9px 10px
    }
}

/* Medical facilities portal */
.medical-page {
    --medical-accent: #8c251f;
    background: #fffaf5;
    color: #34241d
}

.medical-hero {
    position: relative;
    background: linear-gradient(90deg, rgba(54, 13, 10, .93), rgba(102, 26, 17, .72)), url('../../img/medical/government-hospital.png') center 52%/cover
}

.medical-hero .inner-breadcrumb-copy {
    position: relative;
    z-index: 1;
    color: #fff
}

.medical-hero .page-breadcrumb a,
.medical-hero .page-breadcrumb span,
.medical-hero .page-breadcrumb i {
    color: #f5ddd2
}

.medical-hero h1 {
    color: #fff
}

.medical-hero p {
    max-width: 680px;
    margin: 0;
    color: #f4dfd6;
    font-size: 17px;
    line-height: 1.7
}

.medical-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 23px 0 7px;
    color: #ffb078;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em
}

.medical-card-section {
    padding: 72px 0 84px;
    background: radial-gradient(circle at 0 50%, rgba(185, 93, 45, .08), transparent 26%), linear-gradient(180deg, #fffaf5, #f7eee7)
}

.medical-heading {
    max-width: 760px;
    margin: 0 auto 35px;
    text-align: center
}

.medical-heading>span {
    color: #cf541d;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.medical-heading h2 {
    margin: .4rem 0 .55rem;
    color: #5c1c16;
    font-size: clamp(34px, 4vw, 48px)
}

.medical-heading p {
    margin: 0;
    color: #806c62;
    line-height: 1.7
}

.medical-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px
}

.medical-card {
    --card-accent: #84251e;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 550px;
    border: 1px solid #ead9ce;
    border-radius: 21px;
    background: #fff;
    box-shadow: 0 15px 42px rgba(62, 26, 12, .08);
    transition: transform .25s ease, box-shadow .25s ease
}

.medical-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(62, 26, 12, .14)
}

.medical-card-private {
    --card-accent: #2e6c61
}

.medical-card-ambulance {
    --card-accent: #b54422
}

.medical-card-camp {
    --card-accent: #28759a
}

.medical-card-image {
    min-height: 265px;
    background-size: cover;
    background-position: center
}

.medical-card-government .medical-card-image {
    background-image: url('../../img/medical/government-hospital.png')
}

.medical-card-private .medical-card-image {
    background-image: url('../../img/medical/private-hospital.png')
}

.medical-card-ambulance .medical-card-image {
    background-image: url('../../img/medical/ambulance.png');
    background-position: 62% center
}

.medical-card-camp .medical-card-image {
    background-image: url('../../img/medical/health-camp.png');
    background-position: 64% center
}

.medical-card-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: 27px 24px
}

.medical-card-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: color-mix(in srgb, var(--card-accent) 11%, #fff);
    color: var(--card-accent);
    font-size: 24px
}

.medical-card h2 {
    margin: 18px 0 8px;
    color: #571c16;
    font-size: 27px;
    line-height: 1.2
}

.medical-card p {
    margin: 0 0 19px;
    color: #7b695f;
    font-size: 14px;
    line-height: 1.65
}

.medical-card a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
    margin-top: auto;
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--card-accent);
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800
}

.medical-card a:hover {
    color: #fff;
    filter: brightness(.9)
}

@media(max-width:991px) {
    .medical-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .medical-card:last-child {
        grid-column: 1/-1;
        max-width: calc(50% - 12px);
        width: 100%;
        justify-self: center
    }
}

@media(max-width:767px) {
    .medical-card-grid {
        grid-template-columns: 1fr
    }

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

    .medical-card {
        min-height: 0
    }

    .medical-card-image {
        min-height: 250px
    }

    .medical-card-content {
        min-height: 270px
    }

    .medical-card-section {
        padding-block: 55px
    }
}

/* Photo Gallery */
.photo-portal-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .93), rgba(111, 36, 13, .62)), url('../../img/attraction/vishnupad_1.jpeg')
}

.photo-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px
}

.photo-gallery-item {
    position: relative;
    overflow: hidden;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 1px solid #eadbcf;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(58, 24, 11, .07);
    cursor: zoom-in
}

.photo-gallery-item::after {
    content: "\F62C";
    position: absolute;
    right: 14px;
    bottom: 14px;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: rgba(75, 23, 14, .74);
    color: #fff;
    font-family: "bootstrap-icons";
    font-size: 18px;
    opacity: 0;
    transform: translateY(7px);
    transition: .25s ease
}

.photo-gallery-item:hover::after,
.photo-gallery-item:focus-visible::after {
    opacity: 1;
    transform: none
}

.photo-gallery-grid img {
    width: 100%;
    height: 260px;
    display: block;
    object-fit: cover;
    transition: transform .45s ease
}

.photo-gallery-item:hover img,
.photo-gallery-item:focus-visible img {
    transform: scale(1.05)
}

.photo-gallery-item:focus-visible {
    outline: 3px solid #d75c25;
    outline-offset: 3px
}

.photo-lightbox[hidden] {
    display: none
}

.photo-lightbox {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 70px 28px 28px;
    background: rgba(20, 10, 7, .92);
    backdrop-filter: blur(8px)
}

.photo-lightbox-stage {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    cursor: zoom-out
}

.photo-lightbox-stage img {
    display: block;
    max-width: min(1500px, 96vw);
    max-height: 86vh;
    object-fit: contain;
    border-radius: 12px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .55)
}

.photo-lightbox-close {
    position: absolute;
    z-index: 2;
    right: clamp(18px, 3vw, 48px);
    top: 18px;
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 50%;
    background: #fff;
    color: #651c14;
    font-size: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .25)
}

.photo-lightbox-close:hover,
.photo-lightbox-close:focus {
    background: #d9521d;
    color: #fff
}

body.photo-lightbox-open {
    overflow: hidden
}

@media(max-width:991px) {
    .photo-gallery-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:575px) {
    .photo-gallery-grid {
        grid-template-columns: 1fr
    }

    .photo-gallery-grid img {
        height: 235px
    }
}

/* Vedi significance and categorized video pages */
.vedi-significance-hero {
    background-image: linear-gradient(90deg, rgba(53, 13, 7, .93), rgba(111, 36, 13, .62)), url('../../img/attraction/vishnupad_1.jpeg')
}

.vedi-significance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px
}

.vedi-significance-grid article {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 17px;
    padding: 25px;
    border: 1px solid #eadbcf;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 11px 32px rgba(58, 24, 11, .06)
}

.vedi-significance-grid article>span {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 15px;
    background: #fff0e5;
    color: #bd4817;
    font-size: 23px
}

.vedi-significance-grid h2 {
    margin: 0 0 7px;
    color: #581d16;
    font-size: 21px
}

.vedi-significance-grid p {
    margin: 0;
    color: #7d6b61;
    font-size: 14px;
    line-height: 1.7
}

.video-category+.video-category {
    margin-top: 48px;
    padding-top: 42px;
    border-top: 1px solid #eadbcf
}

.video-category-heading {
    margin-bottom: 21px
}

.video-category-heading span {
    color: #c94e18;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em
}

.video-category-heading h2 {
    margin: .35rem 0;
    color: #571b14;
    font-size: clamp(28px, 3vw, 38px)
}

.video-category-heading p {
    margin: 0;
    color: #806f65
}

@media(max-width:767px) {
    .vedi-significance-grid {
        grid-template-columns: 1fr
    }
}

/* Standalone video category pages */
.video-category-page {
    --video-accent: #9a2d20;
    background: #fffaf5;
    color: #38251d
}

.video-page-awareness {
    --video-accent: #c15a13
}

.video-page-information {
    --video-accent: #276f83
}

.video-category-hero {
    position: relative;
    background: linear-gradient(90deg, rgba(45, 11, 7, .94), rgba(91, 25, 13, .7)), url('../../img/slider/slide3.png') center 48%/cover
}

.video-page-awareness .video-category-hero {
    background-image: linear-gradient(90deg, rgba(45, 11, 7, .94), rgba(118, 48, 10, .65)), url('../../img/slider/slide2.jpg')
}

.video-page-information .video-category-hero {
    background-image: linear-gradient(90deg, rgba(20, 35, 42, .94), rgba(38, 91, 104, .64)), url('../../img/attraction/vishnupad_1.jpeg')
}

.video-category-hero .inner-breadcrumb-copy {
    position: relative;
    z-index: 1;
    color: #fff
}

.video-category-hero .page-breadcrumb a,
.video-category-hero .page-breadcrumb span,
.video-category-hero .page-breadcrumb i {
    color: #f4dcd1
}

.video-category-hero h1 {
    color: #fff
}

.video-category-hero p {
    max-width: 720px;
    margin: 0;
    color: #f4dfd6;
    font-size: 17px;
    line-height: 1.7
}

.video-page-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 23px 0 7px;
    color: #ffb178;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.video-page-information .video-page-eyebrow {
    color: #9edce7
}

.video-category-content {
    padding: 70px 0 84px;
    background: radial-gradient(circle at 0 45%, color-mix(in srgb, var(--video-accent) 8%, transparent), transparent 25%), linear-gradient(180deg, #fffaf5, #f7eee7)
}

.video-page-heading {
    max-width: 760px;
    margin: 0 auto 33px;
    text-align: center
}

.video-page-heading>span {
    color: var(--video-accent);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.video-page-heading h2 {
    margin: .45rem 0 .5rem;
    color: #571b14;
    font-size: clamp(34px, 4vw, 48px)
}

.video-page-heading p {
    margin: 0;
    color: #806e64
}

.video-page-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px
}

.video-page-grid.single-video {
    grid-template-columns: minmax(0, 850px);
    justify-content: center
}

.video-page-card {
    overflow: hidden;
    border: 1px solid #ead9cd;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 15px 42px rgba(62, 26, 12, .09);
    transition: transform .24s ease, box-shadow .24s ease
}

.video-page-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 22px 50px rgba(62, 26, 12, .14)
}

.video-page-card iframe {
    border: 0
}

.video-page-card-copy {
    position: relative;
    padding: 22px 24px 25px
}

.video-page-card-copy>span {
    color: var(--video-accent);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em
}

.video-page-card-copy h2 {
    margin: 7px 0 7px;
    color: #581d16;
    font-size: 23px
}

.video-page-card-copy p {
    margin: 0;
    color: #7d6a60;
    font-size: 13px;
    line-height: 1.65
}

.video-page-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 23px;
    margin-top: 32px;
    flex-wrap: wrap
}

.video-page-actions .btn {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.video-channel-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--video-accent);
    font-weight: 800;
    text-decoration: none
}

.video-channel-link i {
    font-size: 20px
}

@media(max-width:767px) {
    .video-category-content {
        padding-block: 55px
    }

    .video-page-grid {
        grid-template-columns: 1fr
    }

    .video-page-card-copy {
        padding: 19px
    }

    .video-page-actions {
        align-items: stretch;
        flex-direction: column
    }

    .video-page-actions a {
        justify-content: center
    }
}

/* Contact Us redesign with Vishnupad Temple map */
.contact-redesign-page {
    --contact-maroon: #7e211b;
    --contact-orange: #d35b1e;
    background: #fffaf5;
    color: #38271f
}

.contact-redesign-hero {
    position: relative;
    background: linear-gradient(90deg, rgba(43, 11, 7, .94), rgba(93, 27, 14, .69)), url('../../img/attraction/vishnupad_1.jpeg') center 48%/cover
}

.contact-redesign-hero .inner-breadcrumb-copy {
    position: relative;
    z-index: 1;
    color: #fff
}

.contact-redesign-hero .page-breadcrumb a,
.contact-redesign-hero .page-breadcrumb span,
.contact-redesign-hero .page-breadcrumb i {
    color: #f2d9cd
}

.contact-redesign-hero h1 {
    color: #fff
}

.contact-redesign-hero p {
    max-width: 720px;
    margin: 0;
    color: #f3ded4;
    font-size: 17px;
    line-height: 1.72
}

.contact-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 23px 0 7px;
    color: #ffb178;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.contact-main-section {
    padding: 70px 0 76px;
    background: radial-gradient(circle at 0 50%, rgba(197, 86, 31, .08), transparent 25%), linear-gradient(180deg, #fffaf5, #f7eee7)
}

.contact-section-heading {
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center
}

.contact-section-heading>span {
    color: var(--contact-orange);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .13em
}

.contact-section-heading h2 {
    margin: .4rem 0 .55rem;
    color: #581c15;
    font-size: clamp(34px, 4vw, 48px)
}

.contact-section-heading p {
    margin: 0;
    color: #806e64;
    line-height: 1.65
}

.contact-map-layout {
    display: grid;
    grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr);
    gap: 25px;
    align-items: stretch
}

.contact-primary-card {
    position: relative;
    overflow: hidden;
    padding: 31px;
    border-radius: 22px;
    background: linear-gradient(145deg, #53170f, #85291a);
    color: #fff;
    box-shadow: 0 18px 46px rgba(69, 21, 10, .2)
}

.contact-primary-card::after {
    content: "";
    position: absolute;
    right: -95px;
    bottom: -105px;
    width: 250px;
    height: 250px;
    border: 40px solid rgba(255, 255, 255, .035);
    border-radius: 50%
}

.contact-primary-card>* {
    position: relative;
    z-index: 1
}

.contact-primary-icon {
    width: 61px;
    height: 61px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: rgba(255, 255, 255, .1);
    color: #ffb47a;
    font-size: 27px
}

.contact-primary-label {
    display: block;
    margin: 22px 0 7px;
    color: #ffad70;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .12em
}

.contact-primary-card h2 {
    margin: 0 0 9px;
    color: #fff;
    font-size: 29px;
    line-height: 1.2
}

.contact-primary-card>p {
    margin: 0;
    color: #e8cec2;
    font-size: 14px;
    line-height: 1.7
}

.contact-primary-links {
    margin-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .13)
}

.contact-primary-links>a {
    display: grid;
    grid-template-columns: 39px 1fr 20px;
    gap: 11px;
    align-items: center;
    padding: 13px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
    color: #fff;
    text-decoration: none
}

.contact-primary-links>a>i:first-child {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(255, 255, 255, .09);
    color: #ffb47a
}

.contact-primary-links>a>i:last-child {
    color: #dcae98
}

.contact-primary-links span,
.contact-primary-links small {
    display: block
}

.contact-primary-links span {
    font-size: 14px;
    font-weight: 800
}

.contact-primary-links small {
    margin-bottom: 2px;
    color: #cfaea0;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em
}

.contact-address {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 20px;
    padding: 15px;
    border-radius: 13px;
    background: rgba(255, 255, 255, .075)
}

.contact-address>i {
    margin-top: 2px;
    color: #ffad70;
    font-size: 20px
}

.contact-address strong,
.contact-address span {
    display: block
}

.contact-address strong {
    color: #fff;
    font-size: 14px
}

.contact-address span {
    margin-top: 3px;
    color: #dcbfb2;
    font-size: 12px
}

.contact-emergency-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 17px;
    padding: 12px;
    border-radius: 10px;
    background: #d75b1b;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800
}

.contact-emergency-link:hover {
    background: #f06d26;
    color: #fff
}

.contact-map-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #e7d6ca;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 16px 44px rgba(61, 25, 11, .1)
}

.contact-map-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 21px 23px;
    border-bottom: 1px solid #ecdfd6
}

.contact-map-head span {
    color: var(--contact-orange);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em
}

.contact-map-head h2 {
    margin: 4px 0 0;
    color: #581d16;
    font-size: 23px
}

.contact-map-head>a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 12px;
    border-radius: 9px;
    background: #fff0e6;
    color: #9a3418;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800
}

.contact-map-frame {
    flex: 1;
    min-height: 500px
}

.contact-map-frame iframe {
    width: 100%;
    height: 100%;
    min-height: 500px;
    display: block;
    border: 0
}

.contact-offices-section {
    padding: 72px 0 84px;
    background: #fff
}

.contact-office-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px
}

.contact-department-card {
    display: flex;
    flex-direction: column;
    min-height: 285px;
    padding: 23px;
    border: 1px solid #eadbcf;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 11px 32px rgba(58, 24, 11, .06);
    transition: .23s ease
}

.contact-department-card:hover {
    transform: translateY(-4px);
    border-color: #dfb8a2;
    box-shadow: 0 18px 40px rgba(58, 24, 11, .11)
}

.contact-department-top {
    display: flex;
    align-items: center;
    gap: 11px
}

.contact-department-top>i {
    width: 47px;
    height: 47px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: #fff0e6;
    color: #bf4817;
    font-size: 21px
}

.contact-department-top>span {
    color: #c14a18;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em
}

.contact-department-card h3 {
    margin: 18px 0;
    color: #581d16;
    font-size: 20px;
    line-height: 1.35
}

.contact-department-phone {
    display: grid;
    grid-template-columns: 20px 1fr 18px;
    gap: 7px;
    align-items: center;
    margin-top: auto;
    padding: 11px 12px;
    border-radius: 10px;
    background: #7f241c;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800
}

.contact-department-phone:hover {
    background: #a53a1b;
    color: #fff
}

.contact-department-email {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    color: #80675c;
    text-decoration: none;
    font-size: 11px;
    overflow-wrap: anywhere
}

.contact-department-email i {
    color: #c34a18
}

@media(max-width:1199px) {
    .contact-office-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:991px) {
    .contact-map-layout {
        grid-template-columns: 1fr
    }

    .contact-map-frame,
    .contact-map-frame iframe {
        min-height: 430px
    }
}

@media(max-width:575px) {

    .contact-main-section,
    .contact-offices-section {
        padding-block: 54px
    }

    .contact-primary-card {
        padding: 24px
    }

    .contact-map-head {
        align-items: flex-start;
        flex-direction: column
    }

    .contact-map-head>a {
        width: 100%;
        justify-content: center
    }

    .contact-map-frame,
    .contact-map-frame iframe {
        min-height: 360px
    }

    .contact-office-grid {
        grid-template-columns: 1fr
    }

    .contact-department-card {
        min-height: 245px
    }
}

/* Official Bihar Government portal logo slider. */
.government-portals-section {
    padding: 28px 0;
    overflow: hidden;
    border-top: 1px solid #ead8ca;
    background: linear-gradient(180deg, #fffdf9, #fff6ed)
}

.government-logo-slider {
    position: relative;
    width: 100%
}

.government-slider-viewport {
    overflow: hidden;
    padding: 8px 0
}

.government-slider-track {
    display: flex;
    gap: 14px;
    width: max-content;
    animation: governmentLogoMarquee 28s linear infinite;
    will-change: transform
}

.government-slider-group {
    display: flex;
    gap: 14px
}

.government-logo-slider:hover .government-slider-track,
.government-logo-slider:focus-within .government-slider-track {
    animation-play-state: paused
}

.government-logo-card {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    flex: 0 0 clamp(270px, 23vw, 330px);
    width: clamp(270px, 23vw, 330px);
    min-width: 0;
    min-height: 118px;
    padding: 15px 38px 15px 15px;
    overflow: hidden;
    border: 1px solid #e6d7cc;
    border-radius: 16px;
    color: #3f251d;
    background: #fff;
    box-shadow: 0 10px 28px rgba(67, 30, 14, .07);
    text-decoration: none;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease
}

.government-logo-card:hover,
.government-logo-card:focus-visible {
    color: #6b2017;
    border-color: #d77a48;
    box-shadow: 0 16px 34px rgba(91, 35, 15, .13);
    outline: 0;
    transform: translateY(-4px)
}

.government-logo-image {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    padding: 7px;
    border-radius: 13px;
    background: #fff7ef
}

.government-logo-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

.gov-tourism .government-logo-image {
    background: #641c16
}

.government-logo-copy strong,
.government-logo-copy small {
    display: block
}

.government-logo-copy strong {
    color: #572019;
    font-family: var(--font-heading);
    font-size: .96rem;
    line-height: 1.2
}

.government-logo-copy small {
    margin-top: 5px;
    color: #8a766b;
    font-size: .69rem;
    line-height: 1.35
}

.government-logo-external {
    position: absolute;
    top: 12px;
    right: 12px;
    color: #c65a23;
    font-size: .75rem
}

@keyframes governmentLogoMarquee {
    to { transform: translate3d(calc(-50% - 7px), 0, 0) }
}

@media(max-width:767.98px) {
    .government-portals-section { padding-block: 22px }
    .government-logo-card { flex-basis: 250px; width: 250px; grid-template-columns: 58px minmax(0, 1fr); min-height: 104px; padding-left: 12px }
    .government-logo-image { width: 58px; height: 58px }
}

@media(max-width:420px) {
    .government-logo-card { flex-basis: 225px; width: 225px; grid-template-columns: 50px minmax(0, 1fr); gap: 9px }
    .government-logo-image { width: 50px; height: 50px; padding: 5px }
    .government-logo-copy strong { font-size: .82rem }
    .government-logo-copy small { font-size: .62rem }
}

@media(prefers-reduced-motion:reduce) {
    .government-slider-track { animation-duration: 80s }
}

/* Featured service links beneath the homepage video hero. */
.home-hero-quicklinks {
    position: relative;
    isolation: isolate;
    padding: 30px 16px 34px;
    background: linear-gradient(180deg, #fff 0%, #fffaf5 100%)
}

.home-hero-quicklinks::before,
.home-hero-quicklinks::after {
    display: none
}

.home-hero-quicklinks-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
    width: min(100%, 1160px);
    margin: 0 auto;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.home-hero-quicklinks-inner>a {
    --card-accent: #b84a18;
    --card-soft: #fff0e6;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 13px;
    min-height: 150px;
    overflow: hidden;
    padding: 20px 15px 16px;
    color: #301b14;
    border: 1px solid #e5d6c9;
    border-radius: 18px;
    background: linear-gradient(145deg, #fff 15%, var(--card-soft) 135%);
    box-shadow: 0 12px 30px rgba(63, 29, 13, .1);
    text-align: left;
    text-decoration: none;
    transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease, box-shadow .25s ease
}

.home-hero-quicklinks-inner>a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--card-accent), #e5ad4c)
}

.home-hero-quicklinks-inner>a::after {
    content: "";
    position: absolute;
    right: -32px;
    bottom: -43px;
    width: 100px;
    height: 100px;
    border: 15px solid var(--card-soft);
    border-radius: 50%;
    opacity: .75;
    transition: transform .35s ease
}

.home-hero-quicklinks-inner>a:nth-child(2),
.home-hero-quicklinks-inner>a:nth-child(5) {
    --card-accent: #153a68;
    --card-soft: #eaf2fb
}

.home-hero-quicklinks-inner>a:nth-child(3),
.home-hero-quicklinks-inner>a:nth-child(6) {
    --card-accent: #7b1e25;
    --card-soft: #f9e9e8
}

.home-hero-quicklinks-inner>a+a {
    border-left: 1px solid #e5d6c9
}

.home-hero-quicklinks-inner>a:hover,
.home-hero-quicklinks-inner>a:focus-visible {
    color: var(--card-accent);
    border-color: var(--card-accent);
    box-shadow: 0 19px 38px rgba(63, 29, 13, .17);
    outline: 0;
    transform: translateY(-7px)
}

.home-hero-quicklinks-inner>a:hover::after,
.home-hero-quicklinks-inner>a:focus-visible::after {
    transform: scale(1.15)
}

.home-hero-action-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    color: #fff;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(145deg, var(--card-accent), #3b1c16);
    box-shadow: 0 8px 18px rgba(51, 25, 16, .2)
}

.home-hero-action-icon::before,
.home-hero-action-icon::after {
    display: none
}

.home-hero-action-icon i {
    color: currentColor;
    font-size: 1.25rem;
    line-height: 1
}

.home-hero-action-copy {
    position: relative;
    z-index: 2;
    min-width: 0
}

.home-hero-action-copy strong,
.home-hero-action-copy small {
    display: block
}

.home-hero-action-copy strong {
    color: currentColor;
    font-family: var(--font-heading);
    font-size: .9rem;
    line-height: 1.2
}

.home-hero-action-copy small {
    margin-top: 5px;
    color: #826f65;
    font-family: Arial, Helvetica, sans-serif;
    font-size: .68rem;
    line-height: 1.35
}

.home-hero-action-arrow {
    position: absolute;
    z-index: 3;
    top: 17px;
    right: 13px;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    color: var(--card-accent);
    border: 1px solid rgba(106, 69, 50, .16);
    border-radius: 50%;
    background: rgba(255, 255, 255, .82);
    font-size: .72rem;
    transition: color .25s ease, background-color .25s ease, transform .25s ease
}

.home-hero-quicklinks-inner>a:hover .home-hero-action-arrow,
.home-hero-quicklinks-inner>a:focus-visible .home-hero-action-arrow {
    color: #fff;
    background: var(--card-accent);
    transform: rotate(8deg)
}

@media(max-width:991.98px) {
    .home-hero-quicklinks-inner {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: min(100%, 720px)
    }
}

@media(max-width:575.98px) {
    .home-hero-quicklinks {
        padding-inline: 12px
    }

    .home-hero-quicklinks-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 360px)
    }

    .home-hero-quicklinks-inner>a {
        min-height: 142px;
        padding-inline: 13px
    }
}

/* Homepage Pinddaan introduction live video. */
.about-leaders .about-split h2 {
    font-size: clamp(2rem, 2.4vw, 2.55rem)
}

.about-image-slider {
    position: relative;
    min-width: 0;
    aspect-ratio: 10/7;
    overflow: hidden;
    border-radius: 16px;
    background: #e9ddd3;
    box-shadow: 0 16px 38px rgba(64, 24, 12, .14)
}

.about-live-video {
    position: relative;
    min-width: 0;
    aspect-ratio: 10/7;
    overflow: hidden;
    border-radius: 16px;
    background: #180c08;
    box-shadow: 0 16px 38px rgba(64, 24, 12, .14)
}

.about-live-video video {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #180c08
}

.about-live-badge {
    position: absolute;
    z-index: 2;
    top: 16px;
    left: 16px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border-radius: 5px;
    color: #fff;
    background: rgba(181, 24, 28, .92);
    box-shadow: 0 5px 16px rgba(0, 0, 0, .24);
    font-size: .75rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    pointer-events: none
}

.about-live-badge i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .2);
    animation: aboutLivePulse 1.5s ease-in-out infinite
}

@keyframes aboutLivePulse {
    50% { opacity: .35 }
}

.about-slider-track,
.about-slider-slide {
    position: absolute;
    inset: 0;
    margin: 0
}

.about-slider-slide {
    opacity: 0;
    visibility: hidden;
    transition: opacity .65s ease, visibility .65s ease
}

.about-slider-slide.is-active {
    opacity: 1;
    visibility: visible
}

.about-slider-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover
}

.about-slider-arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    background: #c94d14;
    color: #fff;
    transform: translateY(-50%);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .18)
}

.about-slider-arrow:hover {
    background: #9f3510;
    border-color: #9f3510
}

.about-slider-prev {
    left: 14px
}

.about-slider-next {
    right: 14px
}

.about-slider-dots {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 14px;
    display: flex;
    gap: 7px;
    transform: translateX(-50%)
}

.about-slider-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 1px solid #fff;
    border-radius: 50%;
    background: rgba(255, 255, 255, .55);
    box-shadow: 0 1px 5px rgba(0, 0, 0, .25)
}

.about-slider-dots button.is-active {
    width: 23px;
    border-radius: 8px;
    background: #c94d14;
    border-color: #c94d14
}

.about-leaders .about-split {
    align-items: start
}

.about-leaders.section-pad {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem
}

.about-leaders>.container>.row>div:first-child:last-child {
    margin-top: 0
}

@media(max-width:767.98px) {
    .about-leaders.section-pad {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem
    }

    .about-leaders .about-split h2 {
        font-size: 1.9rem
    }

    .about-image-slider {
        aspect-ratio: 4/3;
        border-radius: 12px
    }

    .about-live-video {
        aspect-ratio: 4/3;
        border-radius: 12px
    }

    .about-live-badge {
        top: 11px;
        left: 11px
    }

    .about-slider-arrow {
        width: 32px;
        height: 32px
    }

    .about-slider-prev {
        left: 10px
    }

    .about-slider-next {
        right: 10px
    }
}

/* Image-led pilgrimage destination cards */
.pilgrimage-page .destination-section {
    padding: 4.5rem 0 5.25rem;
    background:
        radial-gradient(circle at 10% 8%, rgba(223, 92, 28, .1), transparent 27%),
        radial-gradient(circle at 90% 92%, rgba(100, 35, 18, .08), transparent 30%),
        linear-gradient(180deg, #fffaf5, #f7eee7)
}

.pilgrimage-page .destination-showcase-card {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none
}

.pilgrimage-page .pilgrimage-heading {
    gap: 1rem;
    margin-bottom: 2rem;
    color: #552018;
    font-family: var(--font-heading);
    font-size: clamp(1.55rem, 2.5vw, 2.25rem);
    font-weight: 800;
    letter-spacing: -.02em;
    text-transform: none
}

.pilgrimage-page .pilgrimage-heading::before,
.pilgrimage-page .pilgrimage-heading::after {
    width: clamp(38px, 7vw, 100px);
    background: linear-gradient(90deg, transparent, #d88455)
}

.pilgrimage-page .pilgrimage-heading::after {
    background: linear-gradient(90deg, #d88455, transparent)
}

.pilgrimage-page .destination-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 1.5rem);
    overflow: visible
}

.pilgrimage-page .destination-grid article {
    position: relative;
    min-width: 0;
    min-height: 390px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
    padding: 1.55rem;
    text-align: left;
    border: 0;
    border-radius: 22px;
    background: #32170f;
    box-shadow: 0 18px 42px rgba(62, 28, 13, .16);
    isolation: isolate;
    transition: transform .45s cubic-bezier(.2, .75, .25, 1), box-shadow .45s ease
}

.pilgrimage-page .destination-grid article::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgba(25, 8, 4, .04) 24%, rgba(28, 9, 5, .35) 55%, rgba(31, 10, 6, .96) 100%);
    transition: background .4s ease
}

.pilgrimage-page .destination-image {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    filter: none;
    transform: scale(1.01);
    transition: transform .8s cubic-bezier(.2, .75, .25, 1), filter .45s ease
}

.pilgrimage-page .destination-icon {
    position: absolute;
    z-index: 2;
    top: 1rem;
    right: 1rem;
    width: 48px;
    height: 48px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 15px;
    color: #fff;
    background: rgba(72, 24, 12, .66);
    box-shadow: 0 8px 20px rgba(25, 8, 4, .22);
    backdrop-filter: blur(7px);
    transition: transform .4s cubic-bezier(.2, .75, .25, 1), background-color .3s ease
}

.pilgrimage-page .destination-icon i {
    font-size: 1.2rem
}

.pilgrimage-page .destination-grid h2,
.pilgrimage-page .destination-grid p,
.pilgrimage-page .destination-read-more {
    position: relative;
    z-index: 2
}

.pilgrimage-page .destination-grid h2 {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.2;
    text-shadow: 0 3px 14px rgba(0, 0, 0, .48)
}

.pilgrimage-page .destination-grid h2 a,
.pilgrimage-page .destination-grid h2 a:hover {
    color: inherit
}

.pilgrimage-page .destination-grid p {
    min-height: 0;
    max-width: 360px;
    margin: 0 0 1rem;
    padding: 0;
    color: rgba(255, 247, 239, .86);
    font-size: 14px !important;
    line-height: 1.55
}

.pilgrimage-page .destination-read-more {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0;
    padding: .65rem .9rem;
    border: 1px solid rgba(255, 255, 255, .5);
    border-radius: 999px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(5px);
    transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease
}

.pilgrimage-page .destination-read-more:hover,
.pilgrimage-page .destination-read-more:focus-visible {
    color: #fff;
    border-color: #e96722;
    background: #e96722;
    transform: translateX(4px)
}

.pilgrimage-page .destination-read-more i {
    transition: transform .25s ease
}

.pilgrimage-page .destination-read-more:hover i {
    transform: translateX(3px)
}

@media(hover:hover) {
    .pilgrimage-page .destination-grid article:hover {
        box-shadow: 0 28px 60px rgba(62, 28, 13, .25);
        transform: translateY(-10px)
    }

    .pilgrimage-page .destination-grid article:hover::before {
        background: linear-gradient(180deg, rgba(25, 8, 4, 0) 18%, rgba(28, 9, 5, .28) 50%, rgba(31, 10, 6, .98) 100%)
    }

    .pilgrimage-page .destination-grid article:hover .destination-image {
        filter: saturate(1.08) contrast(1.03);
        transform: scale(1.09)
    }

    .pilgrimage-page .destination-grid article:hover .destination-icon {
        background: #e96722;
        transform: rotate(-7deg) scale(1.08)
    }
}

.pilgrimage-page .destination-grid.destination-motion-ready article {
    opacity: 0;
    transform: translateY(38px) scale(.98);
    transition:
        opacity .7s ease calc(var(--destination-index) * 75ms),
        transform .7s cubic-bezier(.2, .75, .25, 1) calc(var(--destination-index) * 75ms),
        box-shadow .45s ease
}

.pilgrimage-page .destination-grid.destination-motion-ready.is-visible article {
    opacity: 1;
    transform: translateY(0) scale(1)
}

@media(max-width:991.98px) {
    .pilgrimage-page .destination-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:650px) {
    .pilgrimage-page .destination-section {
        padding: 3.25rem 0 3.75rem
    }

    .pilgrimage-page .destination-grid {
        grid-template-columns: 1fr
    }

    .pilgrimage-page .destination-grid article {
        min-width: 0;
        min-height: 360px;
        padding: 1.3rem;
        border-radius: 18px
    }

    .pilgrimage-page .pilgrimage-heading {
        gap: .65rem;
        margin-bottom: 1.4rem;
        text-align: center
    }
}

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

    .pilgrimage-page .destination-grid.destination-motion-ready article,
    .pilgrimage-page .destination-grid article,
    .pilgrimage-page .destination-image,
    .pilgrimage-page .destination-icon {
        opacity: 1;
        transform: none;
        transition: none
    }
}

/* Mobile homepage hero: preserve the complete panoramic media without side cropping. */
@media(max-width:767px) {
    .home-video-hero {
        height: auto;
        min-height: 0;
        max-height: none;
        aspect-ratio: 16 / 9;
        background: #24100a
    }

    .home-media-carousel,
    .home-media-carousel .carousel-inner,
    .home-media-carousel .carousel-item {
        height: 100%
    }

    .home-media-carousel .hero-image-slide:not(.hero-clean-slide) {
        background: #fff8ec
    }

    .home-media-carousel .home-hero-media,
    .home-media-carousel img.home-hero-media,
    .home-media-carousel video.home-hero-media {
        width: 100%;
        height: 100%;
        object-fit: contain !important;
        object-position: center center !important
    }

    .home-media-carousel .carousel-item::after {
        background: linear-gradient(0deg, rgba(255, 249, 238, .99) 0%, rgba(255, 249, 238, .94) 48%, rgba(255, 249, 238, .36) 72%, transparent 92%)
    }

    .home-hero-caption-wrap {
        display: none
    }

    .home-hero-caption {
        width: calc(100% - 58px);
        max-width: none;
        margin-left: 46px;
        padding: 0 12px 28px 0
    }

    .home-hero-caption > span {
        gap: 6px;
        font-size: 9px;
        letter-spacing: .1em
    }

    .home-hero-caption > span::before {
        width: 20px
    }

    .home-hero-caption h1 {
        max-width: 100%;
        margin: .25rem 0 .35rem;
        font-size: clamp(1.2rem, 5.8vw, 1.65rem);
        line-height: 1.06
    }

    .home-hero-caption p {
        max-width: 100%;
        margin-bottom: .5rem;
        font-size: clamp(.62rem, 2.7vw, .76rem);
        line-height: 1.3
    }

    .home-hero-caption .btn {
        min-height: 30px;
        padding: 5px 10px;
        font-size: .66rem
    }

}

/* Hero media stays unobstructed at every breakpoint. */
.home-media-carousel .carousel-item,
.home-media-carousel .carousel-item.active {
    opacity: 1 !important;
    transition: none !important
}

.home-media-carousel .carousel-item::after {
    display: none !important;
    background: none !important
}

.home-media-carousel .home-hero-media {
    filter: none !important
}

/* Hero navigation stays midway on the left and right edges at every viewport. */
@media(min-width:0) {
    .home-media-carousel .carousel-control-prev,
    .home-media-carousel .carousel-control-next {
        top: calc(50% - 21px);
        bottom: auto;
        width: 42px;
        height: 42px;
        border-color: #fff;
        border-radius: 50%;
        background: #a93617;
        backdrop-filter: none;
        transform: none !important;
        transition: none
    }

    .home-media-carousel .carousel-control-prev {
        right: auto;
        left: 24px
    }

    .home-media-carousel .carousel-control-next {
        right: 24px;
        left: auto
    }

    .home-media-carousel .carousel-control-prev::after,
    .home-media-carousel .carousel-control-next::after {
        display: none
    }

    .home-media-carousel .carousel-control-prev:hover,
    .home-media-carousel .carousel-control-next:hover,
    .home-media-carousel .carousel-control-prev:focus-visible,
    .home-media-carousel .carousel-control-next:focus-visible {
        background: #c84a18;
        box-shadow: 0 8px 20px rgba(83, 24, 9, .3);
        transform: none !important
    }

    .home-media-carousel .carousel-control-prev:active,
    .home-media-carousel .carousel-control-next:active {
        transform: none !important
    }

    .home-media-carousel .carousel-control-prev-icon,
    .home-media-carousel .carousel-control-next-icon {
        width: 16px;
        height: 16px;
        filter: none
    }
}

@media(max-width:767px) {
    .home-media-carousel .carousel-control-prev,
    .home-media-carousel .carousel-control-next {
        top: auto;
        z-index: 8;
        bottom: 4px;
        width: 30px;
        height: 30px;
        touch-action: manipulation;
        pointer-events: auto
    }

    .home-media-carousel .carousel-control-prev {
        right: 38px;
        left: auto
    }

    .home-media-carousel .carousel-control-next {
        right: 4px;
        left: auto
    }

    .home-media-carousel .carousel-control-prev-icon,
    .home-media-carousel .carousel-control-next-icon {
        width: 10px;
        height: 10px;
        background-image: none;
        border-block-end: 3px solid #fff
    }

    .home-media-carousel .carousel-control-prev-icon {
        border-inline-start: 3px solid #fff;
        transform: rotate(45deg)
    }

    .home-media-carousel .carousel-control-next-icon {
        border-inline-end: 3px solid #fff;
        transform: rotate(-45deg)
    }
}
