:root{--black:#050708;--black2:#0c0f10;--gold:#d5a52f;--gold2:#f0c768;--paper:#e9dfcf;--line:#7d5c1d;--muted:#aaa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#eee;font-family:Inter,sans-serif}
h1,h2,h3,h4,.serif{font-family:"Cormorant Garamond",serif}.signature{font-family:Allura,cursive;color:var(--gold);font-size:2rem;line-height:.8}.signature span{display:block;font-family:Inter;font-size:.42rem;letter-spacing:.25em;color:#ddd;margin-top:.65rem}
.cinematic-nav{background:rgba(3,5,6,.94);border-bottom:1px solid rgba(213,165,47,.18);backdrop-filter:blur(14px)}.navbar-nav .nav-link{font-size:.72rem;color:#eee;margin:0 .55rem}.navbar-nav .nav-link:hover{color:var(--gold)}.nav-icon{color:#fff}
.hero{min-height:720px;height:100vh;position:relative;background:linear-gradient(90deg,rgba(2,4,5,.98) 0%,rgba(2,4,5,.74) 39%,rgba(2,4,5,.08) 72%),url('../../Image/bg.jpg') center/cover no-repeat;display:flex;align-items:center;border-bottom:1px solid var(--line)}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 48%,transparent 0,rgba(0,0,0,.1) 45%,rgba(0,0,0,.65) 100%);pointer-events:none}.hero-content{position:relative;z-index:2}.kicker{font-size:.82rem;letter-spacing:.22em;color:var(--gold);font-weight:600}.hero h1{font-size:clamp(4.5rem,8vw,8rem);line-height:.78;letter-spacing:.02em}.script{font-family:Allura;font-size:clamp(2.8rem,5vw,5rem);color:var(--gold)}
.btn-gold{background:linear-gradient(90deg,#e7b438,#c88d11);color:#0b0b0b;border:0;font-weight:700}.btn-gold:hover{background:#f5ca62;color:#000}.btn-outline-gold{border:1px solid var(--gold);color:#fff}.btn-outline-gold:hover{background:var(--gold);color:#000}
.quick-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#090b0c}.quick-item{padding:1.5rem;border-right:1px solid #382b15;text-align:center;color:#fff;text-decoration:none}.quick-item i{display:block;color:var(--gold);font-size:1.8rem}.quick-item:hover{background:#12100b;color:var(--gold)}
.section{padding:5.5rem 0}.section-title{color:var(--gold);font-size:1rem;letter-spacing:.12em}.section-heading{font-size:clamp(2.4rem,4vw,4.2rem)}
.dark-card{background:linear-gradient(145deg,#111516,#080a0b);border:1px solid #493619;color:#eee;box-shadow:0 10px 40px rgba(0,0,0,.35);transition:.25s}.dark-card:hover{transform:translateY(-5px);border-color:var(--gold)}
.poster{aspect-ratio:2/3;object-fit:cover}.thumb{height:220px;object-fit:cover}.film-strip{background:#080a0b;border-top:1px solid #3e2c12;border-bottom:1px solid #3e2c12}.film-track{display:flex;gap:1rem;overflow:auto;padding:1rem 0}.film-track img{width:155px;height:230px;object-fit:cover;border:1px solid #73541d}
.timeline{position:relative}.timeline:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--gold)}.award-node{position:relative;z-index:2;text-align:center}.award-node .icon{margin:auto;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#0c0f10;border:1px solid var(--gold);color:var(--gold);font-size:2rem}
.gallery-img{height:310px;object-fit:cover;cursor:pointer}.quote-card{min-height:220px}.quote-mark{font-size:4rem;color:var(--gold);line-height:.6}.paper-band{background:linear-gradient(90deg,#d4c4aa,#f0e6d5,#cbb89b);color:#15120e}
.site-footer{background:#030405;border-top:1px solid #3e2c12}.site-footer h6{color:var(--gold);font-size:.8rem}.site-footer a{color:#bbb;display:block;text-decoration:none;font-size:.85rem;margin:.55rem 0}.site-footer a:hover{color:var(--gold)}.muted{color:#aaa}.dark-modal{background:#0a0d0e;color:#fff;border:1px solid #5a4116}
.page-hero{padding:9rem 0 4rem;background:linear-gradient(90deg,#07090a,rgba(7,9,10,.75)),url('../../Image/Image-25.jpg') center/cover}.admin-bg{background:#edf0f4;color:#222}.admin-sidebar{background:#101315;min-height:100vh;position:sticky;top:0}.admin-sidebar a{display:block;padding:.8rem 1rem;color:#c4c7ca;text-decoration:none;border-radius:.4rem}.admin-sidebar a:hover{background:#252a2d;color:#fff}.admin-card{border:0;box-shadow:0 8px 24px rgba(0,0,0,.08)}
@media(max-width:991px){.hero{height:auto;min-height:760px;background-position:62% center}.hero h1{font-size:4.5rem}.quick-item{border-bottom:1px solid #382b15}.timeline:before{display:none}.admin-sidebar{min-height:auto;position:relative}}

.content-image{width:100%;min-height:420px;max-height:620px;object-fit:cover;cursor:zoom-in;border:1px solid #73541d}
.marquee-shell{overflow:hidden;position:relative}
.marquee-track{display:flex;gap:1rem;width:max-content;animation:marquee-left 70s linear infinite}
.marquee-reverse{animation-name:marquee-right}
.marquee-shell:hover .marquee-track{animation-play-state:paused}
@keyframes marquee-left{to{transform:translateX(-50%)}}
@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.poster-tile{width:190px;flex:0 0 auto;cursor:pointer}.poster-tile img{width:190px;height:285px;object-fit:cover;border:1px solid #73541d}
.photo-tile{width:250px;flex:0 0 auto;cursor:pointer}.photo-tile img{width:250px;height:180px;object-fit:cover;border:1px solid #73541d}
.caption{white-space:normal;text-align:center;color:#ddd;padding:.65rem}

/*
|--------------------------------------------------------------------------
| Gallery sections
|--------------------------------------------------------------------------
*/

.gallery-section {
    overflow: hidden;
}

.gallery-section-alt {
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.015),
            rgba(255, 255, 255, 0)
        );
}

.gallery-heading-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2rem;
    margin-bottom: 2rem;
}

/*
|--------------------------------------------------------------------------
| Infinite marquee
|--------------------------------------------------------------------------
*/

.gallery-marquee-shell {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 1rem 0 1.5rem;
}

.gallery-marquee-shell::before,
.gallery-marquee-shell::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100px;
    z-index: 3;
    pointer-events: none;
}

.gallery-marquee-shell::before {
    left: 0;
    background:
        linear-gradient(
            90deg,
            var(--bg, #050708),
            transparent
        );
}

.gallery-marquee-shell::after {
    right: 0;
    background:
        linear-gradient(
            270deg,
            var(--bg, #050708),
            transparent
        );
}

.gallery-marquee-track {
    display: flex;
    align-items: stretch;
    gap: 1.25rem;
    width: max-content;
    animation:
        gallery-scroll-left 110s linear infinite;
    will-change: transform;
}

.gallery-poster-track {
    animation-duration: 300s;
}

.gallery-marquee-shell:hover
.gallery-marquee-track {
    animation-play-state: paused;
}

@keyframes gallery-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/*
|--------------------------------------------------------------------------
| Photo tiles
|--------------------------------------------------------------------------
*/

.gallery-photo-tile,
.gallery-poster-tile {
    appearance: none;
    border: 1px solid rgba(212, 166, 46, 0.45);
    background: #0d1112;
    color: #fff;
    padding: 0;
    overflow: hidden;
    text-align: left;
    cursor: pointer;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.gallery-photo-tile {
    width: 310px;
    flex: 0 0 310px;
}

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

.gallery-poster-tile {
    width: 210px;
    flex: 0 0 210px;
}

.gallery-poster-tile img {
    display: block;
    width: 100%;
    height: 315px;
    object-fit: cover;
}

.gallery-photo-tile:hover,
.gallery-poster-tile:hover,
.gallery-photo-tile:focus-visible,
.gallery-poster-tile:focus-visible {
    transform: translateY(-6px);
    border-color: #d4a62e;
    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.42);
    outline: none;
}

.gallery-caption {
    display: block;
    min-height: 48px;
    padding: 0.75rem 0.9rem;
    color: #ddd;
    font-size: 0.88rem;
    line-height: 1.4;
    background:
        linear-gradient(
            180deg,
            #111719,
            #090c0d
        );
}

/*
|--------------------------------------------------------------------------
| Gallery modal
|--------------------------------------------------------------------------
*/

.gallery-modal .modal-content {
    box-shadow:
        0 25px 80px rgba(0, 0, 0, 0.7);
}

.gallery-modal-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 72vh;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 0.35rem;
}

.gallery-modal-poster {
    max-height: 68vh;
    box-shadow:
        0 16px 45px rgba(0, 0, 0, 0.45);
}

.gallery-modal-caption {
    margin-top: 1rem;
    color: #f1f1f1;
    font-size: 1rem;
    font-weight: 600;
}

.gallery-modal-counter {
    margin-bottom: 0.9rem;
    color: #d4a62e;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

/*
|--------------------------------------------------------------------------
| Poster details
|--------------------------------------------------------------------------
*/

.poster-details {
    overflow: hidden;
    border: 1px solid rgba(212, 166, 46, 0.4);
    border-radius: 0.5rem;
}

.poster-detail-row {
    display: grid;
    grid-template-columns: minmax(150px, 190px) 1fr;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom:
        1px solid rgba(255, 255, 255, 0.1);
}

.poster-detail-row:last-child {
    border-bottom: 0;
}

.poster-detail-label {
    color: #d4a62e;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.poster-detail-value {
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.poster-title-bangla {
    font-size: 1.25rem;
}

.gallery-modal .btn.disabled {
    opacity: 0.45;
    pointer-events: none;
}

/*
|--------------------------------------------------------------------------
| Responsive gallery
|--------------------------------------------------------------------------
*/

@media (max-width: 991.98px) {
    .gallery-photo-tile {
        width: 260px;
        flex-basis: 260px;
    }

    .gallery-photo-tile img {
        height: 180px;
    }

    .gallery-poster-tile {
        width: 180px;
        flex-basis: 180px;
    }

    .gallery-poster-tile img {
        height: 270px;
    }

    .poster-detail-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .gallery-marquee-shell::before,
    .gallery-marquee-shell::after {
        width: 45px;
    }
}

@media (max-width: 575.98px) {
    .gallery-photo-tile {
        width: 230px;
        flex-basis: 230px;
    }

    .gallery-photo-tile img {
        height: 160px;
    }

    .gallery-poster-tile {
        width: 155px;
        flex-basis: 155px;
    }

    .gallery-poster-tile img {
        height: 235px;
    }

    .gallery-marquee-track {
        gap: 0.8rem;
    }

    .gallery-marquee-shell::before,
    .gallery-marquee-shell::after {
        display: none;
    }

    .gallery-modal .modal-footer {
        gap: 0.5rem;
    }

    .gallery-modal .modal-footer .btn {
        flex: 1;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        font-size: 0.82rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gallery-marquee-track {
        animation-play-state: paused;
    }
}

/*
|--------------------------------------------------------------------------
| Testimonials
|--------------------------------------------------------------------------
*/

.testimonial-section {
    overflow: hidden;
}

.testimonial-track-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 1rem 0 1.75rem;
}

/*
|--------------------------------------------------------------------------
| Edge fading
|--------------------------------------------------------------------------
*/

.testimonial-track-wrap::before,
.testimonial-track-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 90px;
    z-index: 4;
    pointer-events: none;
}

.testimonial-track-wrap::before {
    left: 0;
    background: linear-gradient(
        90deg,
        var(--black) 0%,
        rgba(5, 7, 8, 0.88) 38%,
        rgba(5, 7, 8, 0) 100%
    );
}

.testimonial-track-wrap::after {
    right: 0;
    background: linear-gradient(
        270deg,
        var(--black) 0%,
        rgba(5, 7, 8, 0.88) 38%,
        rgba(5, 7, 8, 0) 100%
    );
}

/*
|--------------------------------------------------------------------------
| Track
|--------------------------------------------------------------------------
*/

.testimonial-track {
    display: flex;
    align-items: stretch;
    gap: 1.5rem;
    width: max-content;
    will-change: transform;
}

/*
|--------------------------------------------------------------------------
| Enable scrolling only when more than three testimonials exist
|--------------------------------------------------------------------------
*/

.testimonial-track-scrolling {
    animation:
        testimonial-scroll-right-to-left
        75s
        linear
        infinite;
}

.testimonial-track-wrap:hover
.testimonial-track-scrolling,
.testimonial-track-wrap:focus-within
.testimonial-track-scrolling {
    animation-play-state: paused;
}

@keyframes testimonial-scroll-right-to-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/*
|--------------------------------------------------------------------------
| Testimonial card
|--------------------------------------------------------------------------
|
| The calculation displays exactly three cards on large screens:
|
| 100vw width minus:
| - Bootstrap container horizontal space
| - two gaps between three cards
|
*/

.testimonial-card {
    flex:
        0 0
        calc(
            (
                100vw -
                6rem -
                3rem
            ) / 3
        );

    width:
        calc(
            (
                100vw -
                6rem -
                3rem
            ) / 3
        );

    max-width: 520px;
    min-width: 300px;
    min-height: 245px;
    padding: 1.75rem;

    display: flex;
    flex-direction: column;

    color: #eeeeee;

    background:
        linear-gradient(
            145deg,
            #111516,
            #080a0b
        );

    border:
        1px solid
        rgba(213, 165, 47, 0.34);

    border-radius: 0.5rem;

    box-shadow:
        0 10px 40px
        rgba(0, 0, 0, 0.35);

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    border-color: var(--gold);

    box-shadow:
        0 18px 45px
        rgba(0, 0, 0, 0.46);
}

/*
|--------------------------------------------------------------------------
| Quotation mark
|--------------------------------------------------------------------------
*/

.testimonial-card .quote-mark {
    margin-bottom: 0.5rem;

    color: var(--gold);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size: 4.5rem;
    line-height: 0.55;
}

/*
|--------------------------------------------------------------------------
| Quote text
|--------------------------------------------------------------------------
*/

.testimonial-quote {
    flex-grow: 1;

    margin: 0 0 1.4rem;

    color: #dddddd;

    font-size: 0.98rem;
    line-height: 1.7;

    overflow-wrap: anywhere;
}

/*
|--------------------------------------------------------------------------
| Person details
|--------------------------------------------------------------------------
*/

.testimonial-person {
    padding-top: 1rem;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.08);
}

.testimonial-person strong {
    display: block;

    color: var(--gold2);

    font-size: 1rem;
}

.testimonial-designation {
    margin-top: 0.25rem;

    color: var(--muted);

    font-size: 0.84rem;
}

.testimonial-date {
    margin-top: 0.35rem;

    color: #777f83;

    font-size: 0.76rem;
}

/*
|--------------------------------------------------------------------------
| Large screens
|--------------------------------------------------------------------------
*/

@media (min-width: 1400px) {
    .testimonial-card {
        flex-basis:
            calc(
                (
                    100vw -
                    8rem -
                    3rem
                ) / 3
            );

        width:
            calc(
                (
                    100vw -
                    8rem -
                    3rem
                ) / 3
            );
    }
}

/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
|
| Two testimonials are visible at one time.
|
*/

@media (max-width: 991.98px) {
    .testimonial-track-wrap::before,
    .testimonial-track-wrap::after {
        width: 45px;
    }

    .testimonial-card {
        flex:
            0 0
            calc(
                (
                    100vw -
                    3rem -
                    1.5rem
                ) / 2
            );

        width:
            calc(
                (
                    100vw -
                    3rem -
                    1.5rem
                ) / 2
            );

        min-width: 280px;
    }

    .testimonial-track-scrolling {
        animation-duration: 60s;
    }
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
|
| One testimonial is visible at one time.
|
*/

@media (max-width: 575.98px) {
    .testimonial-track {
        gap: 0.85rem;
    }

    .testimonial-card {
        flex:
            0 0
            calc(100vw - 2.5rem);

        width:
            calc(100vw - 2.5rem);

        min-width: 0;
        min-height: 230px;
        padding: 1.35rem;
    }

    .testimonial-track-wrap::before,
    .testimonial-track-wrap::after {
        display: none;
    }

    .testimonial-track-scrolling {
        animation-duration: 48s;
    }
}

/*
|--------------------------------------------------------------------------
| Reduced-motion accessibility
|--------------------------------------------------------------------------
*/

@media (prefers-reduced-motion: reduce) {
    .testimonial-track-scrolling {
        animation-play-state: paused;
    }

    .testimonial-card {
        transition: none;
    }
}

/*
|--------------------------------------------------------------------------
| Shared archive sliders
|--------------------------------------------------------------------------
|
| Used by:
| - FILMOGRAPHY HIGHLIGHTS
| - COMPLETE ARCHIVE
| - Poster Gallery
| - Photo Gallery
| - IMAGE GALLERY / Posters & Memories
|
*/

.archive-section {
    position: relative;
    overflow: hidden;
}

.archive-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.archive-heading-row .section-heading {
    margin-bottom: 0;
}

.archive-description {
    max-width: 780px;
    color: #9fa3a6;
    margin-bottom: 1.75rem;
}

/*
|--------------------------------------------------------------------------
| Infinite right-to-left marquee
|--------------------------------------------------------------------------
*/

.archive-marquee-shell {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 1rem 0 1.5rem;
}

.archive-marquee-track {
    display: flex;
    align-items: stretch;
    gap: 1.15rem;
    width: max-content;
    animation-name: archive-scroll-right-to-left;
    animation-duration: 115s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    will-change: transform;
}

.archive-marquee-track.archive-marquee-slow {
    animation-duration: 145s;
}

.archive-marquee-track.archive-marquee-poster {
    animation-duration: 165s;
}

.archive-marquee-shell:hover .archive-marquee-track,
.archive-marquee-shell:focus-within .archive-marquee-track {
    animation-play-state: paused;
}

@keyframes archive-scroll-right-to-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

/*
|--------------------------------------------------------------------------
| Gradient edges for marquee
|--------------------------------------------------------------------------
*/

.archive-marquee-shell::before,
.archive-marquee-shell::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 95px;
    z-index: 5;
    pointer-events: none;
}

.archive-marquee-shell::before {
    left: 0;
    background: linear-gradient(
        90deg,
        #050708 0%,
        rgba(5, 7, 8, 0.85) 35%,
        rgba(5, 7, 8, 0) 100%
    );
}

.archive-marquee-shell::after {
    right: 0;
    background: linear-gradient(
        270deg,
        #050708 0%,
        rgba(5, 7, 8, 0.85) 35%,
        rgba(5, 7, 8, 0) 100%
    );
}

/*
|--------------------------------------------------------------------------
| Shared archive card styles
|--------------------------------------------------------------------------
*/

.archive-card-button {
    appearance: none;
    display: block;
    padding: 0;
    margin: 0;
    overflow: hidden;
    text-align: left;
    color: #ffffff;
    cursor: pointer;
    background:
        linear-gradient(
            145deg,
            #111617,
            #080a0b
        );
    border: 1px solid rgba(212, 166, 46, 0.42);
    border-radius: 6px;
    box-shadow:
        0 8px 26px rgba(0, 0, 0, 0.25);
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.archive-card-button:hover,
.archive-card-button:focus-visible {
    transform: translateY(-7px);
    border-color: #d4a62e;
    box-shadow:
        0 18px 42px rgba(0, 0, 0, 0.48),
        0 0 0 1px rgba(212, 166, 46, 0.18);
    outline: none;
}

.archive-card-button img {
    display: block;
    width: 100%;
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.archive-card-button:hover img,
.archive-card-button:focus-visible img {
    transform: scale(1.035);
    filter: brightness(1.06);
}

.archive-card-caption {
    display: block;
    min-height: 53px;
    padding: 0.8rem 0.9rem;
    color: #dedede;
    font-size: 0.86rem;
    line-height: 1.4;
    background:
        linear-gradient(
            180deg,
            #121718,
            #090c0d
        );
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.archive-card-subcaption {
    display: block;
    margin-top: 0.25rem;
    color: #d4a62e;
    font-size: 0.76rem;
}

/*
|--------------------------------------------------------------------------
| Movie poster cards
|--------------------------------------------------------------------------
*/

.movie-archive-card {
    width: 195px;
    flex: 0 0 195px;
}

.movie-archive-card img {
    width: 195px;
    height: 292px;
    object-fit: cover;
    background: #151515;
}

.movie-archive-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 195px;
    height: 292px;
    padding: 1rem;
    color: #999;
    font-size: 0.8rem;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            #22282a,
            #0d1011
        );
}

/*
|--------------------------------------------------------------------------
| Photo and memories cards
|--------------------------------------------------------------------------
*/

.photo-archive-card {
    width: 285px;
    flex: 0 0 285px;
}

.photo-archive-card img {
    width: 285px;
    height: 205px;
    object-fit: cover;
    background: #151515;
}

.photo-archive-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 285px;
    height: 205px;
    padding: 1rem;
    color: #999;
    font-size: 0.8rem;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            #22282a,
            #0d1011
        );
}

/*
|--------------------------------------------------------------------------
| Optional archive controls
|--------------------------------------------------------------------------
*/

.archive-control-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.archive-control-note {
    color: #8e9498;
    font-size: 0.82rem;
}

.archive-pause-button {
    padding: 0.45rem 0.9rem;
    color: #d4a62e;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    background: transparent;
    border: 1px solid rgba(212, 166, 46, 0.55);
    border-radius: 4px;
}

.archive-pause-button:hover {
    color: #090909;
    background: #d4a62e;
}

/*
|--------------------------------------------------------------------------
| Shared archive modal
|--------------------------------------------------------------------------
*/

.archive-modal .modal-dialog {
    max-width: 1080px;
}

.archive-modal .modal-content {
    overflow: hidden;
    color: #ffffff;
    background:
        linear-gradient(
            145deg,
            #111516,
            #060808
        );
    border: 1px solid rgba(212, 166, 46, 0.72);
    border-radius: 8px;
    box-shadow:
        0 30px 90px rgba(0, 0, 0, 0.78);
}

.archive-modal .modal-header,
.archive-modal .modal-footer {
    border-color: rgba(255, 255, 255, 0.12);
}

.archive-modal .modal-header {
    padding: 1rem 1.25rem;
}

.archive-modal .modal-body {
    padding: 1.5rem;
}

.archive-modal .modal-footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
}

.archive-modal .modal-footer .archive-next-button {
    justify-self: end;
}

.archive-modal .modal-footer .archive-close-button {
    justify-self: center;
}

.archive-modal .modal-footer .archive-previous-button {
    justify-self: start;
}

/*
|--------------------------------------------------------------------------
| Modal counter
|--------------------------------------------------------------------------
*/

.archive-modal-counter {
    margin-bottom: 1rem;
    color: #d4a62e;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-align: center;
    text-transform: uppercase;
}

/*
|--------------------------------------------------------------------------
| Large modal image
|--------------------------------------------------------------------------
*/

.archive-modal-image-wrap {
    position: relative;
    min-height: 220px;
    text-align: center;
}

.archive-modal-image {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 72vh;
    margin: 0 auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow:
        0 18px 50px rgba(0, 0, 0, 0.48);
}

.archive-modal-poster {
    max-height: 68vh;
}

.archive-modal-photo {
    max-height: 74vh;
}

/*
|--------------------------------------------------------------------------
| Photo modal caption
|--------------------------------------------------------------------------
*/

.archive-photo-caption {
    max-width: 900px;
    margin: 1rem auto 0;
    color: #f0f0f0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.55;
    text-align: center;
}

/*
|--------------------------------------------------------------------------
| Movie detail panel
|--------------------------------------------------------------------------
*/

.movie-modal-layout {
    align-items: center;
}

.movie-detail-panel {
    overflow: hidden;
    border: 1px solid rgba(212, 166, 46, 0.42);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.018);
}

.movie-detail-row {
    display: grid;
    grid-template-columns: minmax(145px, 185px) 1fr;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.09);
}

.movie-detail-row:last-child {
    border-bottom: 0;
}

.movie-detail-label {
    color: #d4a62e;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.movie-detail-value {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.movie-detail-title {
    margin-bottom: 0.3rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 4vw, 3.4rem);
    line-height: 1.05;
}

.movie-detail-title-bn {
    margin-bottom: 1.3rem;
    color: #d4a62e;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.movie-external-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
    margin-top: 1.4rem;
}

.movie-external-links .btn {
    min-width: 115px;
}

.movie-external-links .btn.disabled,
.archive-modal .btn.disabled {
    opacity: 0.4;
    pointer-events: none;
}

/*
|--------------------------------------------------------------------------
| Modal transitions
|--------------------------------------------------------------------------
*/

.archive-modal .archive-modal-image {
    animation: archive-modal-image-in 0.25s ease;
}

@keyframes archive-modal-image-in {
    from {
        opacity: 0;
        transform: scale(0.985);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

/*
|--------------------------------------------------------------------------
| Empty archive message
|--------------------------------------------------------------------------
*/

.archive-empty-message {
    padding: 2.5rem 1.5rem;
    color: #9da1a4;
    text-align: center;
    background:
        linear-gradient(
            145deg,
            #111516,
            #090b0c
        );
    border: 1px dashed rgba(212, 166, 46, 0.42);
    border-radius: 6px;
}

/*
|--------------------------------------------------------------------------
| Admin thumbnails
|--------------------------------------------------------------------------
*/

.admin-poster-thumbnail {
    width: 54px;
    height: 78px;
    object-fit: cover;
    border: 1px solid #d4d7da;
    border-radius: 4px;
    background: #f2f2f2;
}

.admin-photo-thumbnail {
    width: 82px;
    height: 62px;
    object-fit: cover;
    border: 1px solid #d4d7da;
    border-radius: 4px;
    background: #f2f2f2;
}

.admin-current-poster {
    display: block;
    width: 180px;
    max-height: 270px;
    object-fit: cover;
    border: 1px solid #d7d9dc;
    border-radius: 5px;
}

.admin-current-photo {
    display: block;
    width: 100%;
    max-width: 420px;
    max-height: 260px;
    object-fit: cover;
    border: 1px solid #d7d9dc;
    border-radius: 5px;
}

/*
|--------------------------------------------------------------------------
| Responsive adjustments
|--------------------------------------------------------------------------
*/

@media (max-width: 1199.98px) {
    .movie-archive-card {
        width: 180px;
        flex-basis: 180px;
    }

    .movie-archive-card img,
    .movie-archive-placeholder {
        width: 180px;
        height: 270px;
    }

    .photo-archive-card {
        width: 265px;
        flex-basis: 265px;
    }

    .photo-archive-card img,
    .photo-archive-placeholder {
        width: 265px;
        height: 190px;
    }
}

@media (max-width: 991.98px) {
    .archive-marquee-shell::before,
    .archive-marquee-shell::after {
        width: 48px;
    }

    .archive-heading-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }

    .movie-detail-row {
        grid-template-columns: 1fr;
        gap: 0.3rem;
    }

    .movie-archive-card {
        width: 165px;
        flex-basis: 165px;
    }

    .movie-archive-card img,
    .movie-archive-placeholder {
        width: 165px;
        height: 248px;
    }

    .photo-archive-card {
        width: 240px;
        flex-basis: 240px;
    }

    .photo-archive-card img,
    .photo-archive-placeholder {
        width: 240px;
        height: 172px;
    }
}

@media (max-width: 575.98px) {
    .archive-marquee-shell::before,
    .archive-marquee-shell::after {
        display: none;
    }

    .archive-marquee-track {
        gap: 0.75rem;
        animation-duration: 95s;
    }

    .archive-marquee-track.archive-marquee-slow {
        animation-duration: 115s;
    }

    .archive-marquee-track.archive-marquee-poster {
        animation-duration: 135s;
    }

    .movie-archive-card {
        width: 145px;
        flex-basis: 145px;
    }

    .movie-archive-card img,
    .movie-archive-placeholder {
        width: 145px;
        height: 218px;
    }

    .photo-archive-card {
        width: 215px;
        flex-basis: 215px;
    }

    .photo-archive-card img,
    .photo-archive-placeholder {
        width: 215px;
        height: 155px;
    }

    .archive-card-caption {
        min-height: 48px;
        padding: 0.65rem 0.7rem;
        font-size: 0.78rem;
    }

    .archive-modal .modal-body {
        padding: 1rem;
    }

    .archive-modal .modal-footer {
        grid-template-columns: 1fr 1fr;
    }

    .archive-modal .modal-footer .archive-close-button {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }

    .archive-modal .modal-footer .archive-previous-button {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
    }

    .archive-modal .modal-footer .archive-next-button {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
    }

    .movie-detail-title {
        margin-top: 1rem;
    }
}

/*
|--------------------------------------------------------------------------
| Reduced-motion accessibility
|--------------------------------------------------------------------------
*/

@media (prefers-reduced-motion: reduce) {
    .archive-marquee-track {
        animation-play-state: paused;
    }

    .archive-card-button,
    .archive-card-button img,
    .archive-modal .archive-modal-image {
        transition: none;
        animation: none;
    }
}


/*
|--------------------------------------------------------------------------
| Scheduled banner slider
|--------------------------------------------------------------------------
*/

.banner-slider {
    position: relative;
    min-height: 720px;
    height: 100vh;
    overflow: hidden;
    border-bottom: 1px solid var(--line);
}

.banner-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    background-color: var(--black);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.1s ease;
    z-index: 1;
}

.banner-slide.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.banner-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(2, 4, 5, 0.98) 0%,
        rgba(2, 4, 5, 0.74) 39%,
        rgba(2, 4, 5, 0.08) 72%
    );
}

.banner-slide-content {
    position: relative;
    z-index: 2;
    max-width: 760px;
    padding: 0 5%;
}

.banner-slide-title {
    font-size: clamp(2.6rem, 5vw, 4.6rem);
    line-height: 1.05;
    color: #fff;
    margin: 0.5rem 0;
}

.banner-slide-subtitle {
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    margin-bottom: 0.75rem;
}

.banner-slide-description {
    max-width: 560px;
    color: #ddd;
    font-size: 1.02rem;
    line-height: 1.6;
}

.banner-slider-dots {
    position: absolute;
    left: 5%;
    bottom: 2rem;
    z-index: 3;
    display: flex;
    gap: 0.6rem;
}

.banner-dot {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(213, 165, 47, 0.6);
    cursor: pointer;
    transition: background 0.25s ease, transform 0.25s ease;
}

.banner-dot:hover {
    background: rgba(213, 165, 47, 0.6);
}

.banner-dot.is-active {
    background: var(--gold);
    transform: scale(1.2);
}

@media (max-width: 991px) {
    .banner-slider {
        height: auto;
        min-height: 560px;
    }

    .banner-slide-title {
        font-size: 2.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .banner-slide {
        transition: none;
    }
}

/*
|--------------------------------------------------------------------------
| Home YouTube and Facebook embeds
|--------------------------------------------------------------------------
*/

/* Home Embed Section */

.home-social-embed-section{
    background:#050708;
}

.home-embed-card{
    background:#050708;
    border-radius:8px;
    overflow:hidden;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.home-embed-heading{
    padding:15px 20px;
}

.youtube-frame{
    width:100%;
    height:500px;
    border:none;
}

.facebook-page-embed{
    width:min(100%, var(--facebook-embed-width, 500px));
    height:var(--facebook-embed-height, 650px);
    margin-inline:auto;
    overflow:hidden;
}

.facebook-page-embed iframe{
    width:100%;
    height:var(--facebook-embed-height, 650px);
    border:none;
}
.facebook-page-embed-mobile{display:none}
@media (max-width: 575.98px){
    .facebook-page-embed-desktop{display:none}
    .facebook-page-embed-mobile{display:block}
}

@media (max-width: 575.98px) {
    .home-embed-heading {
        padding: 0.85rem 1rem;
    }
}

/*
|--------------------------------------------------------------------------
| Home Awards section
|--------------------------------------------------------------------------
*/

.home-awards-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-awards-link:hover {
    color: inherit;
}

.home-awards-link .award-node {
    transition:
        transform 0.25s ease,
        opacity 0.25s ease;
}

.home-awards-link:hover .award-node {
    opacity: 0.92;
}

.home-awards-link .award-node:hover {
    transform: translateY(-6px);
    opacity: 1;
}

.home-award-image {
    display: block;
    width: 140px;
    height: 140px;
    margin: 0 auto;
    object-fit: cover;
    object-position: center center; /* horizontal is what matters at 360x287 */
    background: #fff;
    padding: 5px;
    box-sizing: border-box;
    border: 2px solid var(--gold);
    border-radius: 50%;
}

.home-award-description {
    max-width: 260px;
    margin: 1.5rem auto 0;
    color: #aeb2b4;
    font-size: 0.82rem;
    line-height: 1.85;
}

/*
|--------------------------------------------------------------------------
| Homepage clickable Filmography and Gallery cards
|--------------------------------------------------------------------------
*/

.home-film-card {
    color: inherit;
    cursor: pointer;
}

.home-film-card:focus-visible,
.home-gallery-image:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
}

.home-gallery-image {
    cursor: pointer;
}

.home-gallery-image img {
    transition:
        transform 0.25s ease,
        filter 0.25s ease;
}

.home-gallery-image:hover img,
.home-gallery-image:focus-visible img {
    transform: translateY(-5px);
    filter: brightness(1.08);
}

/*
|--------------------------------------------------------------------------
| Homepage auto-scrolling marquee items
| (Filmography Highlights, Image Gallery, Awards & Achievements)
|--------------------------------------------------------------------------
*/

.home-marquee-shell {
    margin-top: 1.5rem;
}

.home-marquee-item {
    flex: 0 0 200px;
    width: 200px;
}

.home-marquee-item.home-gallery-marquee-item {
    flex-basis: 190px;
    width: 190px;
}

.home-marquee-item .home-film-card,
.home-marquee-item .home-gallery-image {
    height: 100%;
}

.home-award-marquee-item {
    flex: 0 0 240px;
    width: 240px;
    text-align: center;
    padding: 0 0.5rem;
}

@media (max-width: 575.98px) {
    .home-marquee-item {
        flex-basis: 155px;
        width: 155px;
    }

    .home-marquee-item.home-gallery-marquee-item {
        flex-basis: 140px;
        width: 140px;
    }

    .home-award-marquee-item {
        flex-basis: 190px;
        width: 190px;
    }
}

/*
|--------------------------------------------------------------------------
| Testimonial & Fan Base cards used as clickable buttons
|--------------------------------------------------------------------------
*/

.testimonial-card {
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.testimonial-card:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
}

/*
|--------------------------------------------------------------------------
| Biography summary (homepage)
|--------------------------------------------------------------------------
*/

.home-bio-summary-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-bio-summary-link:hover {
    color: inherit;
}

.home-bio-summary-image {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border: 1px solid rgba(213, 165, 47, 0.34);
    border-radius: 0.5rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-bio-summary-link:hover .home-bio-summary-image {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.46);
}

.home-bio-summary-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    color: var(--gold);
    font-weight: 600;
    transition: gap 0.25s ease;
}

.home-bio-summary-link:hover .home-bio-summary-cta {
    gap: 0.85rem;
}

/*
|--------------------------------------------------------------------------
| Fan Base highlight (used when arriving from a homepage card link)
|--------------------------------------------------------------------------
*/

.fan-post-highlight {
    outline: 2px solid var(--gold);
    outline-offset: 4px;
    box-shadow: 0 0 0 6px rgba(213, 165, 47, 0.18);
    transition: box-shadow 0.4s ease, outline-color 0.4s ease;
}

/*
|--------------------------------------------------------------------------
| Back to top floating button (all pages)
|--------------------------------------------------------------------------
*/

.back-to-top-btn {
    position: fixed;
    right: 1.5rem;
    bottom: 1.5rem;
    z-index: 1080;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--gold);
    border-radius: 50%;
    background: linear-gradient(145deg, #111516, #080a0b);
    color: var(--gold);
    font-size: 1.2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition:
        opacity 0.3s ease,
        transform 0.3s ease,
        visibility 0.3s ease,
        background 0.25s ease,
        color 0.25s ease;
}

.back-to-top-btn.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top-btn:hover,
.back-to-top-btn:focus-visible {
    background: var(--gold);
    color: #0b0b0b;
    outline: none;
}

@media (max-width: 575.98px) {
    .back-to-top-btn {
        right: 1rem;
        bottom: 1rem;
        width: 44px;
        height: 44px;
        font-size: 1.05rem;
    }
}

/*
|--------------------------------------------------------------------------
| Admin sidebar user identity
|--------------------------------------------------------------------------
*/

.admin-sidebar .admin-user-details {
    min-width: 0;
}

.admin-sidebar .admin-user-name {
    display: block;
    color: var(--gold2, #f0c768) !important;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.admin-sidebar .admin-user-role {
    margin-top: 0.2rem;
    color: #c7d2df !important;
    font-size: 0.875rem;
    line-height: 1.25;
    text-transform: capitalize;
}

/* Blog toolbar: single icon, 300px search */
.blog-filter-bar .blog-filter-row,
.blog-filter-bar .container-fluid{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.25rem;
}
.blog-filter-bar .blog-pills{
    flex:1 1 auto;
    min-width:0;
}
.blog-filter-bar .blog-search-wrap{
    position:relative!important;
    flex:0 0 300px!important;
    width:300px!important;
    max-width:300px!important;
    margin:0 0 0 auto!important;
}
.blog-filter-bar .blog-search{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    height:40px!important;
    padding:0 14px!important;
    background:#111!important;
    border:1px solid rgba(255,255,255,.18)!important;
    border-radius:999px!important;
    backdrop-filter:none!important;
}
.blog-filter-bar .blog-search:focus-within{
    background:#151515!important;
    border-color:var(--gold,#d5a52f)!important;
    box-shadow:0 0 0 3px rgba(213,165,47,.14)!important;
}
.blog-filter-bar .blog-search::before{
    display:none!important;
    content:none!important;
}
.blog-filter-bar .blog-search-icon{
    display:inline-flex!important;
    color:var(--gold,#d5a52f);
    font-size:.9rem;
}
.blog-filter-bar .blog-search input{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    height:38px!important;
    margin:0!important;
    padding:0 0 0 9px!important;
    color:#fff!important;
    font-size:.88rem!important;
    line-height:38px!important;
    background:transparent!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
}
.blog-filter-bar .blog-search input::placeholder{
    color:#8f8f8f!important;
}
.blog-filter-bar .blog-search .btn,
.blog-filter-bar .blog-search button:not(.visually-hidden){
    display:none!important;
}
.blog-filter-bar .blog-suggestions{
    top:calc(100% + .55rem)!important;
    right:0!important;
    left:auto!important;
    width:300px!important;
    max-width:calc(100vw - 2rem)!important;
}
@media(max-width:991.98px){
    .blog-filter-bar .blog-filter-row,
    .blog-filter-bar .container-fluid{
        align-items:flex-start;
        flex-wrap:wrap;
    }
    .blog-filter-bar .blog-pills{
        flex:1 1 100%;
        width:100%;
    }
    .blog-filter-bar .blog-search-wrap{
        flex:1 1 100%!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
    }
    .blog-filter-bar .blog-suggestions{
        right:0!important;
        left:0!important;
        width:100%!important;
    }
}

/* Home page floating section menu */
.home-floating-nav{
    position:fixed;
    top:50%;
    right:18px;
    z-index:1040;
    width:235px;
    max-height:calc(100vh - 140px);
    padding:.55rem;
    overflow-y:auto;
    transform:translateY(-50%);
    background:rgba(6,8,9,.92);
    border:1px solid rgba(213,165,47,.42);
    border-radius:.75rem;
    box-shadow:0 18px 48px rgba(0,0,0,.48);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .35s ease;
}

.home-floating-nav-title{
    display:block;
    padding:.55rem .7rem .7rem;
    color:var(--gold2,#f0c768);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.09);
}

.home-floating-nav-list{
    display:grid;
    gap:.2rem;
    margin:0;
    padding:.45rem 0 0;
    list-style:none;
}

.home-floating-nav-link{
    display:flex;
    align-items:center;
    gap:.6rem;
    min-height:35px;
    padding:.48rem .65rem;
    color:#d9d9d9;
    font-size:.72rem;
    font-weight:650;
    line-height:1.25;
    text-decoration:none;
    border:1px solid transparent;
    border-radius:.45rem;
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.home-floating-nav-link i{
    width:18px;
    flex:0 0 18px;
    color:var(--gold,#d5a52f);
    text-align:center;
}

.home-floating-nav-link:hover,
.home-floating-nav-link:focus-visible,
.home-floating-nav-link.active{
    color:#fff;
    background:rgba(213,165,47,.12);
    border-color:rgba(213,165,47,.35);
    transform:translateX(-3px);
    outline:none;
}

.home-floating-nav-toggle,
.home-floating-nav-overlay{
    display:none;
}

/* Mobile: floating menu remains hidden until the menu button is tapped */
@media(max-width:767.98px){

    .home-floating-nav{
        top:auto;
        right:12px;
        bottom:82px;
        width:min(320px,calc(100vw - 24px));
        max-height:calc(100vh - 110px);
        padding:.6rem;
        transform:translateX(calc(100% + 35px));
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        overscroll-behavior:contain;
        z-index:1042;
    }

    .home-floating-nav.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateX(0);
    }

    .home-floating-nav-title{
        padding:.6rem .7rem .75rem;
        font-size:.72rem;
    }

    .home-floating-nav-list{
        gap:.3rem;
    }

    .home-floating-nav-link{
        min-height:46px;
        padding:.72rem .78rem;
        font-size:.82rem;
        border-radius:.55rem;
    }

    .home-floating-nav-link:hover,
    .home-floating-nav-link:focus-visible,
    .home-floating-nav-link.active{
        transform:none;
    }

    .home-floating-nav-toggle{
        position:fixed;
        right:14px;
        bottom:16px;
        z-index:1043;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:.45rem;
        min-width:54px;
        height:54px;
        padding:0 1rem;
        color:#090909;
        font-size:.8rem;
        font-weight:800;
        line-height:1;
        cursor:pointer;
        background:linear-gradient(90deg,#e7b438,#c88d11);
        border:0;
        border-radius:999px;
        box-shadow:0 12px 35px rgba(0,0,0,.45);
        transition:
            transform .2s ease,
            background-color .2s ease,
            box-shadow .2s ease;
        -webkit-tap-highlight-color:transparent;
    }

    .home-floating-nav-toggle:hover,
    .home-floating-nav-toggle:focus-visible{
        color:#000;
        background:#f5ca62;
        box-shadow:0 14px 38px rgba(0,0,0,.52);
        outline:none;
    }

    .home-floating-nav-toggle:active{
        transform:scale(.95);
    }

    .home-floating-nav-toggle .menu-open-icon,
    .home-floating-nav-toggle .menu-close-icon{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        font-size:1.1rem;
        transition:
            opacity .2s ease,
            transform .25s ease;
    }

    .home-floating-nav-toggle .menu-close-icon{
        display:none;
    }

    .home-floating-nav-toggle.open .menu-open-icon{
        display:none;
    }

    .home-floating-nav-toggle.open .menu-close-icon{
        display:inline-flex;
    }

    .home-floating-nav-overlay{
        position:fixed;
        inset:0;
        z-index:1041;
        display:block;
        background:rgba(0,0,0,.5);
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        transition:
            opacity .3s ease,
            visibility .3s ease;
    }

    .home-floating-nav-overlay.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
    }

    body.home-menu-open{
        overflow:hidden;
        touch-action:none;
    }
}

@media(max-width:575.98px){

    .home-floating-nav{
        right:10px;
        bottom:76px;
        width:calc(100vw - 20px);
        max-height:calc(100vh - 96px);
        border-radius:.7rem;
    }

    .home-floating-nav-toggle{
        right:10px;
        bottom:12px;
        min-width:52px;
        height:52px;
        padding:0 .9rem;
    }
}

@media(prefers-reduced-motion:reduce){

    .home-floating-nav,
    .home-floating-nav-link,
    .home-floating-nav-toggle,
    .home-floating-nav-overlay,
    .home-floating-nav-toggle .menu-open-icon,
    .home-floating-nav-toggle .menu-close-icon{
        transition:none!important;
        animation:none!important;
    }
}

/* ==========================================================================
   FINAL MOBILE FLOATING MENU OVERRIDE
   This block is intentionally placed at the very end of the file.
   It also catches mobile browsers that render with a wider layout viewport.
   ========================================================================== */

@media (max-width:1199.98px), (hover:none) and (pointer:coarse) {

    .home-floating-nav{
        position:fixed !important;
        top:auto !important;
        right:12px !important;
        bottom:82px !important;
        left:auto !important;

        width:min(320px,calc(100vw - 24px)) !important;
        max-width:calc(100vw - 24px) !important;
        max-height:calc(100dvh - 110px) !important;

        margin:0 !important;
        padding:.6rem !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        transform:translate3d(calc(100% + 40px),0,0) !important;

        z-index:2147483645 !important;

        transition:
            transform .35s ease,
            opacity .28s ease,
            visibility .28s ease !important;
    }

    .home-floating-nav.open,
    .home-floating-nav.is-open,
    body.home-menu-open .home-floating-nav{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translate3d(0,0,0) !important;
    }

    .home-floating-nav-toggle{
        position:fixed !important;
        right:14px !important;
        bottom:16px !important;
        z-index:2147483647 !important;

        display:inline-flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:.45rem !important;

        min-width:54px !important;
        height:54px !important;
        padding:0 1rem !important;

        color:#090909 !important;
        font-size:.8rem !important;
        font-weight:800 !important;
        line-height:1 !important;

        cursor:pointer !important;
        background:linear-gradient(90deg,#e7b438,#c88d11) !important;
        border:0 !important;
        border-radius:999px !important;
        box-shadow:0 12px 35px rgba(0,0,0,.45) !important;

        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    .home-floating-nav-overlay{
        position:fixed !important;
        inset:0 !important;
        z-index:2147483644 !important;

        display:block !important;
        background:rgba(0,0,0,.52) !important;

        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;

        transition:
            opacity .28s ease,
            visibility .28s ease !important;
    }

    .home-floating-nav-overlay.open,
    .home-floating-nav-overlay.is-open,
    body.home-menu-open .home-floating-nav-overlay{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    body.home-menu-open{
        overflow:hidden !important;
        touch-action:none !important;
    }

    .home-floating-nav-link{
        min-height:46px !important;
        padding:.72rem .78rem !important;
        font-size:.82rem !important;
    }
}

@media (max-width:575.98px), (hover:none) and (pointer:coarse) and (max-width:767.98px) {

    .home-floating-nav{
        right:10px !important;
        bottom:76px !important;
        width:calc(100vw - 20px) !important;
        max-width:calc(100vw - 20px) !important;
        max-height:calc(100dvh - 96px) !important;
    }

    .home-floating-nav-toggle{
        right:10px !important;
        bottom:12px !important;
        min-width:52px !important;
        height:52px !important;
        padding:0 .9rem !important;
    }
}

@media (min-width:1200px) and (hover:hover) and (pointer:fine) {

    .home-floating-nav{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }

    .home-floating-nav-toggle,
    .home-floating-nav-overlay{
        display:none !important;
    }
}

/* ==========================================================================
   HOME FLOATING NAVIGATION — CONSOLIDATED FINAL BEHAVIOUR
   ========================================================================== */
.home-floating-nav-mobile-toggle[hidden]{
    display:none !important;
}

@media (max-width:991.98px), (hover:none) and (pointer:coarse){
    .home-floating-nav{
        top:auto !important;
        right:10px !important;
        bottom:calc(34px + env(safe-area-inset-bottom)) !important;
        left:auto !important;
        width:min(330px,calc(100vw - 20px)) !important;
        max-width:calc(100vw - 20px) !important;
        max-height:calc(100dvh - 64px - env(safe-area-inset-bottom)) !important;
        margin:0 !important;
        padding:0 !important;
        overflow:hidden !important;
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        translate:0 12px !important;
        transform:none !important;
        border-radius:14px !important;
        z-index:2147483645 !important;
    }

    .home-floating-nav.is-visible.is-open{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        translate:0 0 !important;
    }

    .home-floating-nav-list{
        max-height:calc(100dvh - 132px - env(safe-area-inset-bottom)) !important;
        overflow-y:auto !important;
        overscroll-behavior:contain !important;
        -webkit-overflow-scrolling:touch;
    }

    .home-floating-nav-mobile-toggle{
        position:fixed !important;
        right:50% !important;
        bottom:calc(10px + env(safe-area-inset-bottom)) !important;
        left:auto !important;
        z-index:2147483647 !important;
        display:flex !important;
        width:76px !important;
        min-width:76px !important;
        height:12px !important;
        min-height:12px !important;
        padding:0 !important;
        align-items:center !important;
        justify-content:center !important;
        overflow:hidden !important;
        color:transparent !important;
        background:rgba(5,7,8,.92) !important;
        border:1px solid rgba(213,165,47,.78) !important;
        border-radius:999px !important;
        box-shadow:0 8px 24px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04) !important;
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translateX(50%) !important;
        translate:0 0 !important;
        cursor:pointer !important;
        touch-action:manipulation;
        -webkit-tap-highlight-color:transparent;
    }

    .home-floating-nav-handle{
        display:block;
        width:46px;
        height:3px;
        border-radius:999px;
        background:linear-gradient(90deg,#c88d11,#f0c768,#c88d11);
        box-shadow:0 0 10px rgba(240,199,104,.56);
        transition:width .2s ease,background .2s ease;
    }

    .home-floating-nav-mobile-toggle.is-open{
        width:52px !important;
        min-width:52px !important;
    }

    .home-floating-nav-mobile-toggle.is-open .home-floating-nav-handle{
        width:28px;
        background:#f0c768;
    }
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
    .home-floating-nav-mobile-toggle{
        display:none !important;
    }

    .home-floating-nav.is-visible{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
    }
}

@media (min-width:992px) and (hover:hover) and (pointer:fine){
    .home-floating-nav:not(.is-visible){
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }
}


/* 18 Aug 2026 homepage refinements */
.home-view-all-blogs{
    min-width:158px;
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 14px;
    border:0;
    border-radius:7px;
    background:linear-gradient(90deg,#e2ad28,#d29b18);
    color:#070809;
    font-size:14px;
    font-weight:800;
    line-height:1;
    letter-spacing:.01em;
    text-transform:uppercase;
    box-shadow:none;
}
.home-view-all-blogs:hover,.home-view-all-blogs:focus-visible{background:#edbd45;color:#000;transform:none}
.home-floating-nav-bars{display:inline-block;font-family:Arial,sans-serif;font-size:1.12rem;font-weight:900;letter-spacing:-.12em;transform:translateX(-.06em);line-height:1}

/* ==========================================================================
   FOOTER BOTTOM BAR
   ========================================================================== */

.footer-bottom-bar{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    align-items:center;
    gap:1rem;
    width:100%;
    min-height:60px;
    line-height:1.35;
}

.footer-bottom-left{
    text-align:left;
}

.footer-bottom-center{
    text-align:center;
}

.footer-bottom-right{
    text-align:right;
    white-space:nowrap;
}

/*
 * Override the global:
 * .site-footer a { display:block; margin:.55rem 0; }
 * only inside the bottom bar.
 */
.site-footer .footer-bottom-bar a.footer-bottom-link{
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    color:#bbb;
    font-size:inherit;
    line-height:inherit;
    text-decoration:none;
}

.site-footer .footer-bottom-bar a.footer-bottom-link:hover,
.site-footer .footer-bottom-bar a.footer-bottom-link:focus-visible{
    color:var(--gold,#d5a52f);
    text-decoration:underline;
}

.footer-bottom-separator{
    display:inline-block;
    margin:0 .35rem;
    color:#777;
}

/* Tablet */
@media(max-width:991.98px){
    .footer-bottom-bar{
        grid-template-columns:1fr;
        gap:.35rem;
    }

    .footer-bottom-left,
    .footer-bottom-center,
    .footer-bottom-right{
        text-align:center;
    }

    .footer-bottom-right{
        white-space:normal;
    }
}

/* Mobile */
@media(max-width:575.98px){
    .footer-bottom-bar{
        font-size:.72rem;
        gap:.3rem;
    }
}
