body{
    font-family: 'Inter';
    font-weight: 300;
}
.navbar{
    padding: 25px 0;
    position: fixed;
    width: 100%;
    z-index: 9999;
    top: 0;
}
.navbar-toggler{
    border-radius: 0;
    border: 0;
}

.navbar{
    flex-direction: column;
}
.navbar-nav{
    flex-direction: row;
    gap: 50px;
}

.navbar-center-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.hero-video {
    width: 100%;
  height: 80vh; /* full screen */
  overflow: hidden;
}
.hero-video .container-fluid{
    padding: 0 !important;
}
.hero-video video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.hero-text{
    margin-bottom: auto;
}

.section-breadcrumb{
    padding: 15px 0;
    background-color: rgba(217, 217, 217, 0.5);
}
.breadcrumb{
    margin: 0;
}
nav[aria-label="breadcrumb"]{
    display: flex;
    justify-content: center;
}
.breadcrumb-detail{
    justify-content: start !important;
}
.breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter';
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.breadcrumb-item{
    display: flex;
    align-items: center;
}
.breadcrumb-item a{
    color: rgba(255, 255, 255, .65);
    text-decoration: none;
    transition: color 0.2s ease;
}
.breadcrumb-item a:hover{
    color: rgba(255, 255, 255, 1);
}
.breadcrumb-item.active{
    color: rgba(255, 255, 255, 1);
}
.breadcrumb-item+.breadcrumb-item::before{
    float: unset;
}
.breadcrumb-item+.breadcrumb-item{
    padding-left: 0;
}
.breadcrumb-item + .breadcrumb-item::before{
    content: "\203A";
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.45);
    font-size: 1.2em;
    padding: 0 0.75rem;
}
.tree-dif-name{
    background: #FFF;
    padding: 20px;
    border-radius: 30px;
}
.title-dif-name span{
    font-family: 'Inter';
    font-weight: 300;
    font-size: 14px;
    color: #908AA8;
}
.title-dif-name h3{
    font-family: 'Marcellus';
    font-weight: 400;
    font-size: 24px;
    color: #0f0f0f;
}

.tree-desc-content{
    color: #F1EEE9;
    text-align: justify;
}

.section-content {
    width: 100%;
    height: max-content;
    background-size: cover;
    margin-top: -150px;
    position: relative;
    z-index: 3;
}
.section-content .tree-card-img{
    height: 300px;
    max-height: 300px;
    object-fit: cover;
}
.section-content .text-light h1, .section-content .text-light p{
    color: #211551;
}

.filter-section{
    padding: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.filter-item{
    border: 1px solid rgba(255, 255, 255, 0.7);
    min-width: 75px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 15px;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.3s ease;
    height: 50px
}
.filter-item img{
    height: 35px;
    width: auto;
}
.filter-item span{
    font-family: "Inter";
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 12px !important;
    color: #FFF;
}
.filter-item.active{
    background-color: #FFF;
}
.filter-item.active img{
    filter: invert(100%);
}
.filter-item.active span{
    color: #555122;
}

.tree-hotel-container{
    display: flex;
    position: absolute;
    right: 25px;
    top: 25px;
    gap: 10px;
}
.tree-hotel-item{
    background-color: #555122;
    border-radius: 15px;
    padding: 7px 15px;
}
.tree-hotel-item img{
    height: 25px;
    width: auto;
    aspect-ratio: unset !important;
    border-radius: unset !important;
}

a{
    text-decoration: none;
}
.card{
    border: none;
    overflow: hidden;
    text-decoration: none;
    border-radius: 40px;
    box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
}
/* .card img{
    height: 250px;
    object-fit: cover;
} */

.card-text{
    padding: 15px 20px;
}

h1, h2, h3, h4, h5, h6{
    font-family: 'Marcellus';
}
p{
    font-family: 'Inter';
    font-weight: 300;
}

.btn-andaz{
    background: transparent;
    border: 1px solid #000;
    border-radius: 0;
    color: #000;
    padding: 7px 25px;
    position: relative;
    z-index: 1;
    transition: 0.5s ease;
    overflow: hidden;
    width: max-content;
    font-family: 'Inter';
}
.btn-andaz:before{
    content: '';
    width: 300px;
    height: 300px;
    background-color: #000;
    position: absolute;
    left: -265px;
    top: 0;
    z-index: 0;
    transition: 1s ease;
    rotate: 45deg;
}
.btn-andaz span{
    position: relative;
    z-index: 1;
    transition: 0.5s ease;
}

.btn-andaz:hover:before{
    transform: scale(3);
}
.btn-andaz:hover{
    border: 1px solid #000;
    color: #FFF;
}

.btn-andaz-light{
    background: transparent;
    border: 1px solid #FFF;
    border-radius: 0;
    color: #FFF;
    padding: 7px 25px;
    position: relative;
    z-index: 1;
    transition: 0.5s ease;
    overflow: hidden;
    width: max-content;
    font-family: 'Inter';
}
.btn-andaz-light:before{
    content: '';
    width: 300px;
    height: 300px;
    background-color: #FFF;
    position: absolute;
    left: -265px;
    top: 0;
    z-index: 0;
    transition: 1s ease;
    rotate: 45deg;
}
.btn-andaz-light span{
    position: relative;
    z-index: 1;
    transition: 0.5s ease;
}

.btn-andaz-light:hover:before{
    transform: scale(3);
}
.btn-andaz-light:hover{
    border: 1px solid #FFF;
    color: #000;
}

.page-title{
    padding-top: 80px;
    padding-bottom: 150px;
    background-color: #555122;
    border-radius: 30px;
    margin-top: -50px;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
.page-title p{
    max-width: 600px;
    color: rgba(255, 255, 255, 0.7)
}

/* ===================== Tree Detail Frontend ======================== */
.hero-tree{
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.hero-tree::before{
    content: '';
    position: absolute;
    inset: -8%;
    z-index: 0;
    background-image: var(--hero-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(1.18);
    animation: heroInitialZoom 5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
    will-change: transform;
}
.hero-tree-overlay{
    position: absolute;
    inset: 0;
    z-index: 1;
    /* background: linear-gradient(180deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.08) 100%); */
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    animation: fade 4s ease-out forwards;
}
.hero-content-animate{
    position: relative;
    z-index: 2;
}
.hero-text{
    text-align: center;
    color: #FFF;
    position: relative;
    z-index: 2;
}
.hero-text .subtitle{
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: normal;
    letter-spacing: 1px;
}
.hero-text .title{
    font-size: 6rem;
    margin: 20px 0;
    margin-top: 0px;
    text-transform: uppercase;
    position: relative;
}
.hero-text .title span{
    z-index: 1;
    position: relative;
}
.hero-text-animate,
.hero-subtitle-animate,
.hero-title-animate,
.hero-copy-animate{
    opacity: 0;
    transform: translateY(24px);
    animation: fadeInUpText 0.9s ease-out forwards;
}
.hero-subtitle-animate{
    animation-delay: 2.12s;
}
.hero-title-animate{
    animation-delay: 2.28s;
}
.hero-copy-animate{
    animation-delay: 2.44s;
}
@keyframes heroInitialZoom{
    from {
        transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(1.2);
    }
    to {
        transform: translate3d(0, var(--hero-parallax, 0px), 0) scale(1.08);
    }
}
@keyframes fade{
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes fadeInUpText {
    0% {
        opacity: 0;
        transform: translateY(24px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Story */
.section-story{
    width: 100%;
    height: max-content;
    background: #FFF;
    background-size: cover;
}
.left-image img{
    width: 100%;
    height: 450px;
    border-radius: 0px;
    object-fit: cover;
}

.left-image{
    position: relative;
}

.tree-desc{
    padding: 50px 0;
    background: #555122;
    border-radius: 30px;
    margin-top: -50px;
    position: relative;
    z-index: 2;
}




/* Ecological */
.section-ecological{
    background-color: #FFF;
    padding: 100px 0;
}
.ecological-img-container{
    border-radius: 30px;
    overflow: hidden;
}
.ecological-img-container img{
    border-radius: 30px;
    aspect-ratio: 1/1;
    object-fit: cover !important;
}
.ecological-title{
    padding: 50px 40px;
    background: #555122;
    border-radius: 30px;
    position: relative;
    z-index: 2;
}
.ecological-icon{
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #F1EEE9;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 15px;
    border: 1px solid #5A160D;
    position: absolute;
    top: -15px;
    left: 0;
}
.ecological-title h2{
    color: #FFF;
    font-size: 36px;
    margin: 0;
}
.text-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.text-container .subtitle{
    font-size: 18px;
}
.ecological-content{
    padding: 15px 40px;
}
.section-ecological .ecological-content ul {
    margin: 0;
    padding: 0;
    list-style: disc;
}
.section-ecological .ecological-content ul li{
    padding: 15px 0;
}
.ecological-content ul li p {
    margin: 0;
}
.section-ecological .ecological-content ul li:last-of-type{
    border-bottom: none;
}

/* Feature */
.section-feature{
    width: 100%;
    height: max-content;
    background: #FFF;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 80px 0;
    padding-bottom: 0px;
    margin-top: 50px;
}
.section-feature::before{
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 50%;
    height: 350px;
    background: #555122;
    border-radius: 0px 30px 30px 0px;
}
.section-feature .owl-stage{
    display: flex;
    padding: 0 !important;
    padding-bottom: 30px !important;
}
.section-feature .owl-item{
    display: flex;
}

@media (min-width: 721px){
    .owl-stage .tree-fam-card{
        height: 400px;
    }
}
.section-feature .owl-stage-outer{
    width: 100vw;
}
.section-feature h2{
    color: #FFF;
}
.section-feature .hidden-card-content p{
    margin-bottom: 0;
}
.section-feature .hidden-card-content p::nth-child(last-child){
    display: none;
}
.tree-fam-card{
    flex-direction: column;
}
.tree-fam-card .card-image{
    width: 100%;
}
.tree-fam-card .card-image img{
    aspect-ratio: 4/3;
    width: 100%;
    object-fit: cover;
    border-radius: 30px 30px 0px 0px;
}
.tree-fam-card .card-text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: 20px 30px 10px;
    width: 100%;
}
.owl-nav .owl-next, .owl-nav .owl-prev{
    display: block;
    width: 50px;
    background: #555122 !important;
    height: 50px;
    border-radius: 50%;
    font-size: 30px !important;
    color: #FFF !important;
}
.owl-next{
    position: absolute;
    margin: auto;
    right: -70px;
    top: 0;
    bottom: 0;
}
.owl-next span{
    display: block;
    margin-top: -7px;
}
.owl-prev{
    position: absolute;
    margin: auto;
    left: -70px;
    top: 0;
    bottom: 0;
}
.owl-prev span{
    display: block;
    margin-top: -7px;
}
.owl-carousel .owl-stage-outer{
    border-radius: 0px;
}


/* Map */
.location-map-container{
    width: 100%;
    height: 60vh;
    margin-bottom: 30px;
    border-radius: 30px;
}
.leaflet-container .leaflet-control-attribution{
    display: none;
}
.section-map{
    padding: 100px 0;
}
.map-container{
    display: flex;
    flex-direction: row;
}
.map-container .card-map{
    width: 50%;
}
.map-container .card-text{
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 25px 50px;
}
.map-container{
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

/* CTA */
.section-cta {
    width: 100%;
    display: flex;
    align-items: center;
    padding: 80px 0;
    padding-top: 0px;
}
.cta-content { will-change: transform; }
.cta-content{
    padding: 80px 40px;
    background-size: cover;
    background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('../img/CtaTree.jpg') no-repeat center center;
    border-radius: 30px;
    position: relative;
    z-index: 2;
    color: #FFF;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.cta-content .btn{
    background: #555122;
    border: 1px solid rgba(255, 255, 255, 0.3);
}
.cta-content p{
    max-width: 600px;
}

@media only screen and (max-width: 600px) {
  .hero-text .title{
    font-size: 3rem;
  }
  .hero-text .title::after{
    width: 100%;
    left: 0%;
    top: -35%;
  }
  .left-image::after{
    right: 16px;
    top: -70px;
  }
  .owl-nav{
    display: none;
  }
  .feature-card{
    flex-direction: column;
    height: max-content;
  }
  .feature-card .card-text{
    padding: 25px 30px;
  }
  .conserve-content{
    padding-left: 0;
  }
  .section-story{
    background-position: center;
  }
  .section-story .left-image{
    padding-bottom: 48px;
  }
  .map-container{
    flex-direction: column-reverse;
  }
  .map-container .card-map, .map-container .card-text{
    width: 100%;
  }
  .map-container .card-text{
    padding: 25px 30px;
  }

  .breadcrumb-detail{
    justify-content: center !important;
  }
  .title-dif-name{
    text-align: center;
  }
  .tree-desc-content{
    margin-top: 30px;
    color: rgba(255, 255, 255, 0.7)
  }
  .eco-content{
    margin-top: -40px;
  }
  .section-feature{
    padding: 40px 0;
  }
  .section-feature::before{
    width: 100%;
    border-radius: 30px;
    height: 200px;
  }
  .section-feature h2{
    text-align: center;
  }
  .tree-fam-card .card-image img{
    border-radius: unset !important;
  }
  .section-feature .owl-carousel{
    margin-top: 30px !important;
  }
    .section-map{
        padding: 50px 0;
    }
    .section-cta{
        padding: 40px 0;
    }
}

.eco-story{position:relative;height:100vh;overflow:hidden;background:#f4efe6;color:#0a110c}
.eco-story .eco-frame{position:absolute;z-index:0;top:50%;left:50%;width:34vw;height:46vh;transform:translate(-50%,-50%);overflow:hidden;border-radius:20px}
.eco-story .eco-frame img{width:100%;height:100%;object-fit:cover;display:block}
.eco-story .eco-shade{position:absolute;inset:0;z-index:1;background:rgba(5,10,7,.5);opacity:0;pointer-events:none}
.eco-story .eco-title{position:absolute;inset:0;z-index:2;margin:0;padding:0;display:flex;flex-direction:column;
    align-items:center;justify-content:center;text-align:center;font-weight:400;
    font-size:clamp(3.2rem,11vw,9.5rem);line-height:1;color:#f4efe6;opacity:0;
    pointer-events:none;text-shadow:0 4px 40px rgba(0,0,0,.45)}
.eco-story .eco-title span{display:block;color:inherit}
.eco-story .eco-title span:last-child{font-style:italic;color:#e8c987}
.eco-story .eco-items{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:0 1.5rem;pointer-events:none}
.eco-story .eco-items p{grid-area:1/1;margin:0;max-width:34ch;text-align:center;font-size:clamp(1.5rem,3.4vw,2.9rem);
    line-height:1.3;color:#f4efe6;opacity:0;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.eco-story .eco-source{display:none}
.eco-story .eco-scroll{position:absolute;z-index:3;left:50%;bottom:4vh;transform:translateX(-50%);display:flex;flex-direction:column;
    align-items:center;gap:.7rem;font-size:.72rem;letter-spacing:.35em;text-transform:uppercase;color:#0a110c;pointer-events:none}
.eco-story .eco-scroll i{position:relative;display:block;width:1px;height:48px;background:rgba(244,239,230,.3);overflow:hidden}
.eco-story .eco-scroll i::after{content:"";position:absolute;left:0;top:-100%;width:100%;height:100%;background:#0a110c;animation:eco-drip 1.8s ease-in-out infinite}
@keyframes eco-drip{0%{top:-100%}100%{top:100%}}
@media(max-width:700px){.eco-story .eco-frame{width:64vw;height:40vh}}