/* ==================================================
   ARCHITECTURE SECTION
   ================================================== */

.bm-architecture {
    padding: 80px 0;
}

.bm-architecture .container {
    max-width: 1400px;
    margin: 0 auto;
}

.bm-architecture .bm-arch-grid {
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 60px;
    align-items: center;
}

/* ==================================================
   IMAGE
   ================================================== */

.bm-architecture .bm-arch-img-wrapper {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.bm-architecture .bm-arch-img-wrapper img {
    width: 100%;
    height: 380px;
    object-fit: cover;
}
.bm-architecture .bm-arch-img-overlay {
    display: none;
}

/* ==================================================
   CONTENT
   ================================================== */

.bm-architecture .bm-arch-content {
    max-width: 850px;
}

.bm-architecture .bm-section-title {
    text-align: center;
    margin-bottom: 14px;
}

.bm-architecture .bm-gold-divider {
    justify-content: center;
    margin-bottom: 28px;
}

.bm-architecture p {
    font-size: 20px;
    line-height: 1.9;
    color: #4a3f32;
    margin: 0;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width: 1024px) {

    .bm-architecture .bm-arch-grid {
        grid-template-columns: 400px 1fr;
        gap: 50px;
    }

    .bm-architecture .bm-section-title {
        font-size: 42px;
    }

    .bm-architecture p {
        font-size: 18px;
    }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 768px) {

    .bm-architecture {
        padding: 60px 0;
    }

    .bm-architecture .bm-arch-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .bm-architecture .bm-arch-image {
        order: 1;
    }

    .bm-architecture .bm-arch-content {
        order: 2;
        max-width: 900px;
    }

    .bm-architecture .bm-section-title {
        text-align: center;
        font-size: 34px;
        line-height: 1.25;
    }

    .bm-architecture .bm-gold-divider {
        margin-bottom: 24px;
    }

    .bm-architecture p {
        text-align: center;
        font-size: 21px;
        line-height: 1.85;
    }

    .bm-architecture .bm-arch-img-wrapper img {
        aspect-ratio: 16 / 10;
    }
}

/* ==================================================
   SMALL PHONES
   ================================================== */

@media (max-width: 480px) {

    .bm-architecture .bm-section-title {
        font-size: 28px;
    }

    .bm-architecture p {
        font-size: 17px;
    }

    .bm-architecture .bm-gold-divider::before,
    .bm-architecture .bm-gold-divider::after {
        width: 50px;
    }
}

/* ==================================================
   SPIRITUAL EXPERIENCE FIXES
   ================================================== */

.bm-spiritual-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.bm-spiritual-card{
    height:100%;
}

.bm-spiritual-img{
    overflow:hidden;
}

.bm-spiritual-img img{
    display:block;
    width:100%;
    height:320px;
    object-fit:cover;
}

.bm-spiritual-body{
    padding:24px;
}

.bm-spiritual-name{
    margin-bottom:16px;
}

.bm-spiritual-desc{
    line-height:1.7;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width:1024px){

    .bm-spiritual-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .bm-spiritual-img img{
        height:280px;
    }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width:768px){

    .bm-spiritual-grid{
        grid-template-columns:1fr;
        gap:24px;
    }

    .bm-spiritual-card{
        max-width:600px;
        margin:0 auto;
        width:100%;
    }

    .bm-spiritual-img img{
        height:260px;
    }

    .bm-spiritual-body{
        padding:20px;
    }

    .bm-spiritual-name{
        font-size:28px;
    }

    .bm-spiritual-desc{
        font-size:17px;
        line-height:1.8;
    }
}

/* ==================================================
   SMALL PHONES
   ================================================== */

@media (max-width:480px){

    .bm-spiritual-img img{
        height:220px;
    }

    .bm-spiritual-name{
        font-size:24px;
    }

    .bm-spiritual-body{
        padding:18px;
    }
}

/* ==================================================
   GLOBAL STICKY NAVBAR
   ================================================== */

.bm-header,
.bm-header.bm-header-transparent,
.bm-header.bm-header-scrolled {

    position: fixed !important;

    top: 0;
    left: 0;
    right: 0;

    width: 100%;

    z-index: 99999;

    background: rgba(12, 18, 70, 0.28) !important;

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    border-bottom: 1px solid rgba(255,255,255,.08);

    box-shadow: none !important;

    transform: none !important;
    opacity: 1 !important;

    transition: background .3s ease;
}

/* kill any scroll-state styling */
.bm-header.bm-header-transparent,
.bm-header.bm-header-scrolled{

    background: rgba(12,18,70,.28) !important;
}

/* NAV LAYOUT */

.bm-nav{

    min-height: 78px;

    display:flex;
    align-items:center;
    justify-content:space-between;
}

/* LOGO */

.bm-logo{
    display:flex !important;
    align-items:center;
    flex-shrink:0;
}

.bm-logo img{

    display:block !important;

    height:50px;
    width:auto;

    opacity:.9;

    filter:drop-shadow(0 2px 8px rgba(0,0,0,.18));
}

/* LINKS */

.bm-nav-links{

    margin-left:auto;

    display:flex;
    align-items:center;
    gap:8px;
}

.bm-nav-links a{

    color:rgba(255,255,255,.92) !important;

    font-size:13px;

    font-weight:600;

    letter-spacing:.08em;

    text-transform:uppercase;
}

.bm-nav-links a:hover{

    color:#e5b44d !important;
}

/* prevent hero hiding under navbar */

.bm-hero{
    padding-top:78px;
}

/* ==================================================
   NAV CONTAINER
   ================================================== */

.bm-nav-container,
.bm-nav-inner {

    padding: 20px 40px;
}

/* ==================================================
   LOGO
   ================================================== */

.bm-logo,
.bm-logo a {

    color: #ffffff !important;
    text-decoration: none;
}

.bm-logo img {

    max-height: 80px;
    width: auto;
}

/* ==================================================
   MENU LINKS
   ================================================== */

.bm-nav-menu a,
.bm-nav-link,
header nav a {

    color: rgba(255,255,255,0.95) !important;

    text-decoration: none;

    font-weight: 600;

    letter-spacing: 0.06em;

    transition: all .25s ease;
}

/* Hover */

.bm-nav-menu a:hover,
.bm-nav-link:hover,
header nav a:hover {

    color: #e5b44d !important;
}

/* Active page */

.bm-nav-menu .current-menu-item a,
.bm-nav-menu .active,
.bm-nav-link.active {

    color: #e5b44d !important;

    background: rgba(255,255,255,0.08);

    border-radius: 6px;

    padding: 8px 14px;
}

/* ==================================================
   REMOVE HEAVY BLUE BACKGROUNDS
   ================================================== */

.bm-nav,
.bm-navbar,
.bm-menu-wrap {

    background: transparent !important;
}

/* ==========================================
   BRING BACK LOGO
   ========================================== */

.bm-logo{
    display:flex !important;
    align-items:center;
    flex-shrink:0;
}

.bm-logo img{

    display:block !important;

    height:46px;

    width:auto;

    max-height:46px;

    opacity:.92;

    filter:drop-shadow(0 2px 10px rgba(0,0,0,.20));

    transition:.3s ease;
}

.bm-logo:hover img{
    opacity:1;
}

/* ==================================================
   MOBILE MENU BUTTON
   ================================================== */

.bm-menu-toggle,
.bm-hamburger {

    color: #ffffff !important;
    background: transparent !important;
    border: none;
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width: 768px) {

    .bm-header,
    .bm-navbar,
    .site-header,
    header {

        background: rgba(15,15,15,0.18) !important;

        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    .bm-nav-container,
    .bm-nav-inner {

        padding: 14px 20px;
    }

    .bm-logo img {

        max-height: 55px;
    }
}

/* =========================================
   REMOVE HERO IMAGE OVERLAY
   ========================================= */

.bm-hero-overlay{
    display:none !important;
}

/* safety: remove any pseudo-element overlays too */
.bm-hero::before,
.bm-hero::after{
    display:none !important;
    content:none !important;
}

/* ==========================================
   HERO COMPOSITION REFINEMENT
   ========================================== */

.bm-hero-content{

    max-width:620px !important;
    transform:translateY(-20px);
}

/* Logo */

.bm-hero-content > img{

    display:block;

    width:100%;
    
    max-width:none;

    height:auto;

    margin:0 auto 60px;

    transform:translateY(-70px);
}

/* Buttons */

.bm-hero-buttons{

    margin-top:0 !important;

    padding-top:360px !important;
}

/* ==========================================
   MOBILE HERO + NAV FIX
   ========================================== */

@media (max-width: 768px){

    /* Smaller navbar */
    .bm-nav{
        min-height: 64px;
    }

    /* Smaller logo */
    .bm-logo img{
        height: 34px !important;
        max-height: 34px !important;
    }

    /* Hide desktop menu */
    .bm-nav-links{
        display:none !important;
    }

    /* Show hamburger */
    .bm-hamburger{
        display:flex !important;
    }

    /* Less hero offset */
    .bm-hero{
        padding-top:64px;
    }

    /* Reset desktop hero shift */
    .bm-hero-content{
        transform: translateY(-60px) !important;
    }

    /* Smaller title image */
    .bm-hero-content > img{
        width:85% !important;
        max-width:620px !important;
    }

    /* Subtitle */
    .bm-hero-subtitle,
    .bm-hero-content p{
        font-size:18px !important;
        line-height:1.5;
    }

    /* Buttons */
    .bm-hero-buttons{
        margin-top:20px !important;
        gap:12px;
    }

    .bm-btn{
        min-width:160px;
    }
}

/* ==========================================
   DEITIES / SPIRITUAL CARDS TYPOGRAPHY
   ========================================== */

/* Card titles */

.bm-spiritual-name,
.bm-deity-name,
.bm-spiritual-card h3,
.bm-spiritual-card h4{

    font-family: "Bell MT", Georgia, "Times New Roman", serif !important;

    font-weight: 550;

    letter-spacing: 0.02em;

    color: #152b6a;

    line-height: 1.15;
}

/* Card body text */

.bm-spiritual-desc,
.bm-spiritual-body p,
.bm-spiritual-card p{

    font-family: "Montserrat", sans-serif !important;

    font-weight: 400;

    color: #5b4d40;

    line-height: 1.85;
}

/* Section titles */

.bm-section-title{

    font-family: "Bell MT", Georgia, serif !important;

    font-weight: 400;

    letter-spacing: 0.01em;
}

/* ==========================================
   EVENTS CARD TITLES
   ========================================== */

.bm-event-title,
.bm-event-card h3,
.bm-event-card h4{

    font-family: "Bell MT", Georgia, serif !important;

    font-weight: 550 !important;

    text-transform: uppercase;

    letter-spacing: 0.02em;

    color: #14286b;

    line-height: 1.15;
}

/* ==========================================
   EVENT DATES
   ========================================== */

.bm-event-date,
.bm-event-meta,
.bm-event-card time{

    font-family: "Montserrat", sans-serif !important;

    font-weight: 500 !important;

    color: #6a6a6a;
}

.bm-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    grid-auto-flow:dense;
}

.bm-gallery-item{
    overflow:hidden;
    border-radius:14px;
}

.bm-gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

@media (max-width:768px){

    .bm-gallery-grid{
        grid-template-columns:1fr;
    }

    .bm-gallery-item,
    .bm-gallery-item.featured{
        grid-column:auto;
        grid-row:auto;
    }

    .bm-gallery-item img{
        height:280px;
    }
}

/* ==================================================
   TESTIMONIALS CAROUSEL OVERRIDE
   ================================================== */

.bm-testimonials{

    overflow:hidden;
}

.bm-testimonials-track-wrapper{

    overflow:hidden;
    position:relative;
}

.bm-testimonials-track{

    display:flex;
    gap:24px;

    transition:
        transform .75s cubic-bezier(.22,.61,.36,1);

    will-change:transform;
}

/* ==================================================
   CARD SIZE
   ================================================== */

.bm-testimonial-card{

    flex:0 0 calc((100% - 48px) / 3);

    min-height:260px;

    background:#fff;

    border-radius:18px;

    padding:36px 32px;

    box-shadow:
        0 10px 35px rgba(0,0,0,.08);

    border-bottom:
        3px solid #d4a12f;
}

/* ==================================================
   TYPOGRAPHY
   ================================================== */

.bm-testimonial-card p{

    font-size:28px;

    line-height:1.75;

    color:#53483b;

    margin-bottom:30px;
}

.bm-testimonial-card cite{

    font-style:normal;

    font-size:14px;

    letter-spacing:.12em;

    text-transform:uppercase;

    color:#c38f1f;
}

.bm-testimonial-quote-icon{

    font-size:48px;

    color:#e7d5aa;

    line-height:1;

    margin-bottom:10px;
}

/* ==================================================
   DOTS
   ================================================== */

.bm-testimonials-dots{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    margin-top:36px;
}

.bm-dot{

    width:10px;
    height:10px;

    border:none;

    border-radius:50%;

    background:#e5d7bc;

    cursor:pointer;

    transition:
        transform .3s ease,
        background .3s ease;
}

.bm-dot:hover{

    transform:scale(1.2);
}

.bm-dot-active{

    background:#c9941a;

    transform:scale(1.35);
}

/* ==================================================
   AUTO SLIDE PROGRESS EFFECT
   ================================================== */

.bm-dot-active::after{

    content:"";

    position:absolute;

    inset:-5px;

    border-radius:50%;
}

/* ==================================================
   TABLET
   ================================================== */

@media (max-width:1024px){

    .bm-testimonial-card{

        flex:0 0 calc((100% - 24px)/2);
    }

    .bm-testimonial-card p{

        font-size:22px;
    }
}

/* ==================================================
   MOBILE
   ================================================== */

@media (max-width:768px){

    .bm-testimonial-card{

        flex:0 0 100%;

        min-height:auto;
    }

    .bm-testimonial-card p{

        font-size:18px;

        line-height:1.8;
    }

    .bm-testimonials-dots{

        margin-top:28px;
    }
}


/* ==========================================
   LIGHTBOX CLOSE BUTTON
   ========================================== */

.bm-lightbox-close{

    position: fixed !important;

    top: 95px;
    right: 24px;

    width: 54px;
    height: 54px;

    display:flex !important;
    align-items:center;
    justify-content:center;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.95);

    color:#152b6a;

    font-size:32px;
    line-height:1;

    cursor:pointer;

    z-index:999999;

    box-shadow:
        0 10px 30px rgba(0,0,0,.25);
}

.bm-lightbox-close:hover{

    transform: scale(1.08);

    background: #ffffff;

    box-shadow:
        0 14px 40px rgba(0,0,0,.30);
}

.bm-lightbox-close:focus{

    outline: 2px solid #c9941a;
    outline-offset: 4px;
}

@media (max-width:768px){

    .bm-lightbox-close{

        top:80px;
        right:16px;

        width:46px;
        height:46px;

        font-size:26px;
    }
}

/* ==========================================
   MOBILE TESTIMONIAL NAVIGATION
   ========================================== */

@media (max-width:768px){

    .bm-testimonials-dots{
        display:none;
    }

}

/* ==========================================
   TESTIMONIAL MOBILE ARROWS
   ========================================== */

.bm-testimonial-arrow{
    display:none;
}

@media (max-width:768px){

    .bm-testimonial-arrow{

        display:flex;
        align-items:center;
        justify-content:center;

        position:absolute;
        top:50%;
        transform:translateY(-50%);

        width:42px;
        height:42px;

        border:none;
        border-radius:50%;

        background:rgba(255,255,255,.82);
        backdrop-filter:blur(8px);
        -webkit-backdrop-filter:blur(8px);

        color:#152b6a;
        font-size:22px;
        font-weight:400;
        line-height:1;

        cursor:pointer;

        box-shadow:
            0 8px 24px rgba(0,0,0,.12);

        transition:
            transform .25s ease,
            background .25s ease,
            box-shadow .25s ease;

        z-index:20;
    }

    .bm-testimonial-arrow:hover{

        background:rgba(255,255,255,.95);

        box-shadow:
            0 10px 28px rgba(0,0,0,.18);

        transform:
            translateY(-50%)
            scale(1.05);
    }

    .bm-testimonial-prev{
        left:-6px;
    }

    .bm-testimonial-next{
        right:-6px;
    }
}

/* ==========================================
   MOBILE HERO
   ========================================== */

@media (max-width:768px){

    .bm-hero{

        min-height:100svh;
        padding-top:64px;

        display:flex;
        justify-content:center;
        align-items:flex-start;
    }

    .bm-hero-content{

        width:100%;

        display:flex;
        flex-direction:column;
        align-items:center;

        transform:none !important;

        padding:20px 20px 0;
    }

    /* Keep the logo large */

    .bm-hero-content > img{

        display:block;

        width:95% !important;
        max-width:430px !important;

        height:auto;

        margin:0 auto 80px !important;   /* Increase this value */

        transform:none !important;

        flex-shrink:0;
    }

    /* THIS is what pushes the buttons onto the stairs */

    .bm-hero-buttons{

        display:flex;
        flex-direction:column;

        gap:14px;

        margin-top:auto !important;

        padding-bottom:150px;

        width:100%;

        align-items:center;
    }

    .bm-btn{

        width:210px;
    }

}

@media (max-width:768px){

    .bm-btn-virtual{

        display:flex !important;

        align-items:center;
        justify-content:center;

        width:240px;

        margin:28px auto 36px;

        padding:16px 24px;

        background:linear-gradient(135deg,#b8860b,#d4a12f);

        color:#fff !important;

        font-size:13px;
        font-weight:700;
        letter-spacing:.12em;
        text-transform:uppercase;

        border-radius:8px;

        text-decoration:none;

        box-shadow:
            0 10px 24px rgba(0,0,0,.18);

        transition:
            transform .25s ease,
            box-shadow .25s ease;
    }

    .bm-btn-virtual:hover{

        transform:translateY(-2px);

        box-shadow:
            0 14px 28px rgba(0,0,0,.22);
    }

    .bm-btn-virtual::after{

        content:" →";

        margin-left:8px;

        transition:transform .25s ease;
    }

    .bm-btn-virtual:hover::after{

        transform:translateX(4px);
    }
}