:root{

    --dark-green:#003B26;
    --green:#005B38;
    --cream:#F4E3C1;
    --light-green:#E8F0EA;
    --white:#ffffff;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

body{

    font-family:'Poppins',sans-serif;
    background:#ffffff;
    overflow-x:hidden;

}

h1,h2,h3,h4,h5{

    font-family:'Cormorant Garamond',serif;

}

.main-navbar{

    position:absolute;

    top:0;
    left:0;

    width:100%;

    z-index:9999;

    background:transparent;

    padding:28px 0;

    transition:.3s;

}

.main-navbar .container{

    max-width:1200px;

    margin:auto;

    padding-left:25px;
    padding-right:25px;

}

.main-navbar.scrolled{

    position:fixed !important;

    top:0;
    left:0;

    width:100%;

    background:#003B26 !important;

    padding:15px 0;

    box-shadow:0 5px 20px rgba(0,0,0,.20);

    z-index:9999;

}

@media(min-width:992px){

    .main-navbar .container{

        padding-left:40px;
        padding-right:40px;

    }

}

.logo{

    margin-left:10px;

}

.logo img{

    width:90px;

    height:90px;

    object-fit:contain;

    background:white;

    border-radius:50%;

    padding:5px;

}

.main-navbar:not(.scrolled) .logo img{

    width:80px;

    height:80px;

}

.main-navbar.scrolled .logo img{

    width:65px;

    height:65px;

    object-fit:contain;

}

.navbar-nav{

    gap:8px;

}

.nav-link{

    color:white !important;

    font-size:15px;

    font-weight:500;

    margin-left:25px;

    position:relative;

    padding-left:18px !important;

    padding-right:18px !important;

}

.main-navbar .nav-link{

    font-family:'Montserrat',sans-serif;

    font-size:15px;

    font-weight:600;

    letter-spacing:.5px;

}

.nav-link:after{

    content:"";

    position:absolute;

    bottom:-8px;

    left:0;

    height:2px;

    width:0;

    background:white;

    transition:.3s;

}

.nav-link:hover:after{

    width:100%;

}

.book-btn{

    background:white;

    color:var(--dark-green);

    padding:12px 28px;

    border-radius:50px;

    text-decoration:none;

    font-size:14px;

    font-weight:600;

    margin-left:25px;

    transition:.3s;

}

.book-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    font-family:'Montserrat',sans-serif;

    font-size:15px;

    font-weight:600;

    letter-spacing:.4px;

}

.book-btn:hover{

    background:#F4E3C1;

    color:#003B26;

    transform:translateY(-3px);

}

.menu-btn{

    height:42px;

    width:45px;

    border:none;

    border-radius:8px;

    background:#fff;

    color:#003B26;

    font-size:20px;

    display:flex;

    align-items:center;

    justify-content:center;

}

.offcanvas{

    background:#003B26 !important;

    width:320px !important;

    box-shadow:10px 0 30px rgba(0,0,0,.25);

}

.offcanvas-header{

    padding:20px 22px !important;

    border-bottom:1px solid rgba(255,255,255,.15);

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.mobile-top-logo{

    display:flex;

    align-items:center;

}

.mobile-top-logo img{

    width:75px !important;

    height:75px !important;

    object-fit:contain;

    background:white;

    border-radius:50%;

    padding:5px;

}

.mobile-menu{

    list-style:none;

    padding:25px 25px !important;

}

.mobile-menu li{

    border-bottom:1px solid rgba(255,255,255,.15);

}

.mobile-menu a{

    display:block;

    padding:18px 5px !important;

    color:#ffffff !important;

    text-decoration:none;

    font-size:16px;

    font-weight:500;

}

.mobile-menu a:hover{

    padding-left:15px !important;

    color:#F4E3C1 !important;

}

.offcanvas .btn-close{

    width:24px !important;

    height:24px !important;

    opacity:1 !important;

    filter:invert(1);

    background-size:24px !important;

}

@media(max-width:991px){

    .logo img{

        width:75px;

        height:75px;

    }

}

@media(max-width:768px){

    .offcanvas{

        width:290px !important;

    }

}

@media(max-width:576px){

    .logo img{

        width:65px;

        height:65px;

    }

    .offcanvas{

        width:270px !important;

    }

    .mobile-menu a{

        font-size:15px;

    }

}

@media(max-width:360px){

    .logo img{

        width:58px;

        height:58px;

    }

    .offcanvas{

        width:250px !important;

    }

}

.hero-section{

    height:100vh;

    overflow:hidden;

    margin:0;

    padding:0;

}

.hero-section .carousel,
.hero-section .carousel-inner,
.hero-section .carousel-item{

    height:100%;

}

.hero-image{

    height:100vh;

    width:100%;

    object-fit:cover;

}

.hero-overlay{

    position:absolute;

    top:0;

    left:0;

    height:100%;

    width:100%;


    background:

    linear-gradient(

        90deg,

        rgba(0,35,22,0.85),

        rgba(0,35,22,0.35)

    );

}

.hero-content{

    position:absolute;

    top:50%;

    left:8%;

    transform:translateY(-50%);

    max-width:650px;

    color:white;

}

.hero-content span{

    font-size:15px;

    letter-spacing:5px;

    font-weight:500;

    color:#e8f0ea;

}

.hero-content h1{

    font-size:75px;

    line-height:1.05;

    margin:20px 0;

    font-weight:700;

    font-family:'Playfair Display',serif;

    letter-spacing:0.5px;

}

.hero-content p{

    font-size:18px;

    line-height:1.8;

    max-width:550px;

    font-family:'Montserrat',sans-serif;

    font-weight:400;

    letter-spacing:0.3px;

}

.hero-buttons{

    margin-top:35px;

}

.primary-btn,
.secondary-btn{

    display:inline-block;

    padding:15px 38px;

    border-radius:50px;

    text-decoration:none;

    font-size:15px;

    font-weight:600;

    margin-right:12px;

    transition:.4s;

}

.primary-btn{

    background:white;

    color:#003B26;

}

.primary-btn:hover{

    background:#E8F0EA;

    color:#003B26;

    transform:translateY(-4px);

}

.secondary-btn{

    border:1px solid white;

    color:white;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(8px);

}

.secondary-btn:hover{

    background:white;

    color:#003B26;

    transform:translateY(-4px);

}

.carousel-item.active .hero-content{

    animation:heroFade 1.2s ease;

}

@keyframes heroFade{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(-50%);

    }

}

.carousel-inner{

    overflow:hidden;

}

@media(min-width:992px){

    .hero-content{

        left:8%;

        max-width:600px;

    }

    .hero-content h1{

        font-size:65px;

    }

}

@media(max-width:991px){

    .hero-section,
    .hero-image{

        height:85vh;

    }

    .hero-content{

        left:5%;

    }

    .hero-content h1{

        font-size:55px;

    }

}

@media(max-width:768px){

    .hero-section,
    .hero-image{

        height:80vh;

    }

    .hero-content{

        left:20px;

        right:20px;

        text-align:center;

    }

    .hero-content span{

        font-size:12px;

        letter-spacing:3px;

    }

    .hero-content h1{

        font-size:42px;

    }

    .hero-content p{

        font-size:15px;

    }

}

@media(max-width:576px){

    .hero-section,
    .hero-image{

        height:75vh;

    }

    .hero-content h1{

        font-size:34px;

    }

    .primary-btn,
    .secondary-btn{

        padding:12px 22px;

        font-size:13px;

    }

}

@media(max-width:360px){

    .hero-content h1{

        font-size:30px;

    }

    .primary-btn,
    .secondary-btn{

        display:block;

        width:170px;

        margin:10px auto;

    }

}

@media(max-width:300px){

    .hero-content h1{

        font-size:26px;

    }

}

.tgh-footer{

    background:#003B26;

    padding:75px 0 20px;

    color:white;

}

.footer-logo img{

    width:120px;

    height:120px;

    background:white;

    padding:6px;

    border-radius:50%;

}

.footer-text{

    color:#d5e1db;

    font-size:15px;

    line-height:1.9;

    margin-top:25px;

    max-width:350px;

}

.tgh-footer h4{

    font-family:'Poppins',sans-serif;

    font-size:20px;

    font-weight:600;

    margin-bottom:25px;

    color:white;

}

.tgh-footer h4:after{

    content:"";

    display:block;

    width:45px;

    height:3px;

    background:#ffffff;

    margin-top:12px;

}

.tgh-footer ul{

    padding:0;

    margin:0;

    list-style:none;

}

.tgh-footer ul li{

    margin-bottom:14px;

}

.tgh-footer ul li a{

    text-decoration:none;

    color:#d5e1db;

    font-size:15px;

    transition:.3s;

}

.tgh-footer ul li a:before{

    content:"›";

    margin-right:10px;

    color:white;

}

.tgh-footer ul li a:hover{

    color:white;

    padding-left:5px;

}

.tgh-footer p{

    color:#d5e1db;

    font-size:15px;

    line-height:1.8;

}

.tgh-footer p i{

    color:white;

    margin-right:10px;

}

.social-links{

    margin-top:25px;

}

.social-links a{

    height:42px;

    width:42px;

    border-radius:50%;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:white;

    color:#003B26;

    margin-right:10px;

    transition:.3s;

}

.social-links a:hover{

    background:#dcecdf;

    transform:translateY(-4px);

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.2);

    margin-top:50px;

    padding-top:20px;

    text-align:center;

}

.footer-bottom p{

    margin:0;

    font-size:14px;

    color:#d5e1db;

}

@media(max-width:768px){

    .tgh-footer{

        padding:55px 20px 20px;

    }

    .footer-logo{

        text-align:center;

    }

    .footer-text{

        text-align:center;

        margin:auto;

        margin-top:20px;

    }

    .social-links{

        text-align:center;

    }

}

@media(max-width:576px){


    .tgh-footer h4{

        margin-top:25px;

    }

    .footer-bottom p{

        font-size:13px;

    }

}

@media(max-width:360px){

    .footer-logo img{

        width:90px;

        height:90px;

    }

    .tgh-footer p,
    .tgh-footer a{

        font-size:14px;

    }


}

img{

    max-width:100%;

}

button,
a{

    cursor:pointer;

}

@media(max-width:991px){

    .main-navbar{

        position:fixed !important;

        top:0;
        left:0;

        width:100%;

        height:72px !important;

        background:#003B26 !important;

        padding:0 !important;

        z-index:9999;

        display:flex;

        align-items:center;

    }

    .logo img{

        width:58px !important;

        height:58px !important;

    }

    .menu-btn{

        width:42px !important;

        height:42px !important;

    }

    .hero-section{

        margin-top:72px !important;

        height:calc(100vh - 72px) !important;

        overflow:hidden !important;

    }

    .hero-section .carousel,
    .hero-section .carousel-inner,
    .hero-section .carousel-item{

        height:100% !important;

    }

    .hero-image{

        width:100% !important;

        height:100% !important;

        object-fit:cover !important;

        object-position:center center !important;

    }

    .hero-content{

        width:90% !important;

        left:5% !important;

        right:5% !important;

        top:50% !important;

        transform:translateY(-50%) !important;

        text-align:center;

    }

}

@media(max-width:991px){

    #mobileSidebar{
        z-index:10000 !important;
    }

    #mobileSidebar .offcanvas-header{

        display:flex !important;

        height:100px !important;

        min-height:100px !important;

        padding:15px 20px !important;

        align-items:center !important;

        justify-content:space-between !important;

        background:#003B26 !important;

        position:relative !important;

    }

    #mobileSidebar .mobile-top-logo{

        display:block !important;

        width:75px !important;

        height:75px !important;

    }

    #mobileSidebar .mobile-top-logo img{

        display:block !important;

        width:75px !important;

        height:75px !important;

        visibility:visible !important;

        opacity:1 !important;

    }

    #mobileSidebar .btn-close{

        display:block !important;

        visibility:visible !important;

        opacity:1 !important;

        position:absolute !important;

        right:20px !important;

        top:35px !important;

        width:25px !important;

        height:25px !important;

        filter:invert(1);

        z-index:99999 !important;

    }

    #mobileSidebar .offcanvas-body{

        padding-top:0 !important;

    }

}

@media(max-width:768px){

    .hero-section,
    .hero-image{

        height:75vh !important;

    }

    .hero-content{

        top:48% !important;

        width:92% !important;

        left:4% !important;

        right:4% !important;

    }

    .hero-content span{

        font-size:11px !important;

        letter-spacing:3px !important;

    }

    .hero-content h1{

        font-size:36px !important;

        line-height:1.1 !important;

        margin:15px 0 !important;

    }

    .hero-content p{

        font-size:14px !important;

        line-height:1.6 !important;

        margin-bottom:20px !important;

    }

    .hero-buttons{

        margin-top:20px !important;

        display:flex !important;

        justify-content:center !important;

        gap:10px;

    }

    .primary-btn,
    .secondary-btn{

        padding:12px 20px !important;

        font-size:13px !important;

        margin-right:0 !important;

        white-space:nowrap;

    }

}

@media(max-width:400px){

    .hero-section,
    .hero-image{

        height:70vh !important;

    }

    .hero-content h1{

        font-size:32px !important;

    }

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .primary-btn,
    .secondary-btn{

        width:170px;

    }

}

.hero-image{

    filter:brightness(1.30) !important;

}

@media(max-width:991px){

    .hero-image{

        filter:brightness(1.35) !important;

    }

}

@media(min-width:992px){

    .hero-content{

        top:55% !important;

    }

}

.tgh-footer .footer-logo img{

    width:90px !important;

    height:90px !important;

}

.tgh-footer .footer-text{

    font-size:14px !important;

    line-height:1.7 !important;

    margin-top:15px !important;

    max-width:320px;

}

.tgh-footer .social-links{

    margin-top:18px !important;

}

.tgh-footer .social-links a{

    width:38px !important;

    height:38px !important;

    font-size:14px !important;

}

@media(max-width:768px){

    .tgh-footer{

        padding:45px 20px 20px !important;

    }

    .tgh-footer .footer-logo img{

        width:80px !important;

        height:80px !important;

    }

    .tgh-footer .footer-text{

        font-size:13px !important;

        line-height:1.6 !important;

    }

}

/* Home Page About Section */
.tgh-about-luxury{

    padding:120px 0;

    background:#f8f4eb;

    overflow:hidden;

}

.luxury-about-wrapper{

    display:flex;

    align-items:center;

    gap:90px;

}

.luxury-about-image{

    width:50%;

    position:relative;

}

.luxury-about-image img{

    width:100%;

    height:620px;

    object-fit:cover;

    border-radius:40px;

    display:block;

    box-shadow:0 25px 60px rgba(0,0,0,0.18);

    transition:.6s ease;

}

.luxury-about-image:hover img{

    transform:scale(1.03);

}

.experience-circle{

    position:absolute;

    right:-35px;

    bottom:45px;

    width:150px;

    height:150px;

    border-radius:50%;

    background:#003B26;

    border:10px solid #f8f4eb;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.experience-circle h3{

    color:#e5c98a;

    font-size:42px;

    margin:0;

    line-height:1;

    font-family:'Playfair Display',serif;

}

.experience-circle p{

    color:white;

    font-size:12px;

    line-height:1.4;

    margin:8px 0 0;

}

.luxury-about-content{

    width:50%;

}

.luxury-subtitle{

    color:#8a6a3d;

    font-size:13px;

    letter-spacing:5px;

    font-weight:600;

}

.luxury-about-content h2{

    font-family:'Playfair Display',serif;

    font-size:58px;

    line-height:1.15;

    color:#003B26;

    margin:25px 0;

}

.luxury-about-content h2 span{

    color:#8a6a3d;

}

.luxury-about-content p{

    color:#666;

    font-size:16px;

    line-height:1.8;

    margin-bottom:18px;

}

.luxury-highlights{

    margin-top:35px;

    display:flex;

    flex-direction:column;

    gap:18px;

}

.luxury-highlights div{

    display:flex;

    align-items:center;

    gap:18px;

}

.luxury-highlights i{

    width:42px;

    height:42px;

    border-radius:50%;

    background:#003B26;

    color:white;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:16px;

}

.luxury-highlights span{

    color:#003B26;

    font-size:16px;

    font-weight:500;

}

.luxury-btn{

    margin-top:35px;

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:15px 35px;

    background:#003B26;

    color:white;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.luxury-btn:hover{

    background:#8a6a3d;

    color:white;

    transform:translateY(-4px);

}

@media(max-width:991px){

    .tgh-about-luxury{

        padding:70px 0;

    }

    .luxury-about-wrapper{

        flex-direction:column;

        gap:50px;

    }

    .luxury-about-image,
    .luxury-about-content{

        width:100%;

    }

    .luxury-about-image img{

        height:420px;

    }

    .experience-circle{

        width:120px;

        height:120px;

        right:15px;

        bottom:25px;

        border-width:7px;

    }

    .experience-circle h3{

        font-size:32px;

    }

    .luxury-about-content h2{

        font-size:40px;

    }

}

@media(max-width:576px){

    .luxury-about-image img{

        height:330px;

        border-radius:25px;

    }

    .luxury-about-content h2{

        font-size:34px;

    }

    .luxury-subtitle{

        font-size:11px;

        letter-spacing:3px;

    }

}

.luxury-about-image img{

    box-shadow:
    0 25px 60px rgba(0,0,0,.12),
    0 5px 20px rgba(0,59,38,.08);

}

.experience-circle{

    box-shadow:
    0 20px 40px rgba(0,59,38,.25),
    inset 0 0 20px rgba(255,255,255,.08);

    transition:.4s ease;

}

.experience-circle:hover{

    transform:scale(1.08);

}

.luxury-highlights i{

    position:relative;

    overflow:hidden;

    transition:.4s ease;

}

.luxury-highlights i:after{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    background:rgba(255,255,255,.15);

    left:-100%;

    top:0;

    transition:.4s;

}

.luxury-highlights div:hover i:after{

    left:0;

}

.luxury-highlights div{

    transition:.3s ease;

}

.luxury-highlights div:hover{

    transform:translateX(8px);

}

.luxury-highlights span{

    position:relative;

}

.luxury-highlights span:after{

    content:"";

    display:block;

    width:0;

    height:2px;

    background:#8a6a3d;

    transition:.4s;

}

.luxury-highlights div:hover span:after{

    width:100%;

}

.luxury-btn{

    position:relative;

    overflow:hidden;

}

.luxury-btn:before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:70%;

    height:100%;

    background:rgba(255,255,255,.15);

    transform:skewX(-25deg);

    transition:.5s;

}

.luxury-btn:hover:before{

    left:130%;

}

.luxury-btn i{

    transition:.3s;

}

.luxury-btn:hover i{

    transform:translateX(5px);

}

.tgh-about-luxury:before{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    border-radius:50%;

    background:#003B26;

    opacity:.03;

    left:-80px;

    bottom:50px;

}

.tgh-about-luxury{

    position:relative;

}

@media(max-width:991px){

    .tgh-about-luxury{

        padding:70px 15px !important;

    }

    .luxury-about-image{

        width:100%;

        margin-bottom:45px;

    }

    .luxury-about-image img{

        height:380px !important;

        border-radius:30px !important;

    }

    .experience-circle{

        width:110px !important;

        height:110px !important;

        right:15px !important;

        bottom:20px !important;

        border-width:6px !important;

    }

    .experience-circle h3{

        font-size:30px !important;

    }

    .experience-circle p{

        font-size:10px !important;

    }

    .luxury-about-content{

        width:100%;

        text-align:center;

    }

    .luxury-subtitle{

        font-size:11px;

        letter-spacing:4px;

    }

    .luxury-about-content h2{

        font-size:38px !important;

        line-height:1.15;

        margin:20px 0;

    }

    .luxury-about-content p{

        font-size:15px;

        line-height:1.8;

        max-width:520px;

        margin-left:auto;

        margin-right:auto;

    }

    .luxury-highlights{

        align-items:center;

        margin-top:30px;

        gap:18px;

    }

    .luxury-highlights div{

        justify-content:center;

        width:100%;

    }

    .luxury-highlights i{

        width:45px;

        height:45px;

    }

    .luxury-highlights span{

        font-size:15px;

        text-align:left;

    }

    .luxury-btn{

        padding:12px 26px !important;

        font-size:14px;

        margin-top:25px;

    }

}

@media(max-width:576px){

    .luxury-about-image img{

        height:330px !important;

    }

    .luxury-about-content h2{

        font-size:32px !important;

    }

    .luxury-about-content p{

        font-size:14px;

    }

}

@media(max-width:991px){

    .luxury-highlights{

        width:100% !important;

        display:flex !important;

        flex-direction:column !important;

        align-items:center !important;

        gap:22px !important;

    }

    .luxury-highlights div{

        display:flex !important;

        align-items:center !important;

        width:310px !important;

        margin:0 auto !important;

        justify-content:flex-start !important;

    }

    .luxury-highlights i{

        width:42px !important;

        height:42px !important;

        min-width:42px !important;

        margin-right:16px !important;

    }

    .luxury-highlights span{

        font-size:15px !important;

        white-space:nowrap !important;

        text-align:left !important;

    }

}

@media(max-width:991px){

    .luxury-btn{

        margin-top:35px !important;

    }

}

/* Home Page Menu Section */
.tgh-menu-section{

    padding:120px 0;

    background:#faf7ef;

    position:relative;

    overflow:hidden;

}

.menu-heading{

    max-width:750px;

    margin:0 auto 55px;

}

.menu-subtitle{

    color:#8a6a3d;

    font-size:12px;

    letter-spacing:5px;

    font-weight:600;

}

.menu-heading h2{

    font-family:'Playfair Display',serif;

    color:#003B26;

    font-size:58px;

    line-height:1.15;

    margin:20px 0;

}

.menu-heading h2 span{

    color:#8a6a3d;

}

.menu-heading p{

    color:#666;

    font-size:16px;

    line-height:1.8;

}

.menu-categories{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:60px;

}

.menu-category{

    border:none;

    background:white;

    color:#003B26;

    padding:14px 25px;

    border-radius:50px;

    display:flex;

    align-items:center;

    gap:10px;

    font-size:14px;

    font-weight:600;

    cursor:pointer;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.4s ease;

}

.menu-category i{

    color:#8a6a3d;

}

.menu-category:hover,
.menu-category.active{

    background:#003B26;

    color:white;

    transform:translateY(-4px);

}

.menu-category:hover i,
.menu-category.active i{

    color:#e8c98b;

}

.menu-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.menu-card{

    background:white;

    border-radius:32px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.10);

    transition:.5s ease;

}

.menu-card:hover{

    transform:translateY(-12px);

    box-shadow:0 35px 80px rgba(0,0,0,.18);

}

.menu-image{

    height:300px;

    position:relative;

    overflow:hidden;

}

.menu-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s ease;

}

.menu-card:hover .menu-image img{

    transform:scale(1.08);

}

.menu-badge{

    position:absolute;

    top:20px;

    left:20px;

    background:#003B26;

    color:white;

    padding:8px 18px;

    border-radius:50px;

    font-size:12px;

    font-weight:600;

    letter-spacing:.5px;

    box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.menu-content{

    padding:28px;

}

.menu-content h3{

    color:#003B26;

    font-family:'Playfair Display',serif;

    font-size:28px;

    margin-bottom:12px;

}

.menu-content p{

    color:#666;

    font-size:14px;

    line-height:1.7;

    margin-bottom:15px;

}

.menu-content span{

    color:#8a6a3d;

    font-size:13px;

    font-weight:600;

}

.menu-button-wrap{

    text-align:center;

    margin-top:60px;

}

.menu-view-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    background:#003B26;

    color:white;

    padding:16px 38px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.4s;

}

.menu-view-btn:hover{

    background:#8a6a3d;

    color:white;

    transform:translateY(-5px);

}

.menu-view-btn i{

    transition:.3s;

}

.menu-view-btn:hover i{

    transform:translateX(6px);

}

@media(max-width:991px){

    .tgh-menu-section{

        padding:75px 0;

    }

    .menu-heading h2{

        font-size:40px;

    }

    .menu-grid{

        grid-template-columns:1fr;

        gap:25px;

    }

    .menu-categories{

        gap:10px;

    }

    .menu-category{

        padding:11px 18px;

        font-size:13px;

    }

    .menu-image{

        height:260px;

    }

}

@media(max-width:576px){

    .menu-heading h2{

        font-size:34px;

    }

    .menu-content h3{

        font-size:24px;

    }

    .menu-view-btn{

        padding:14px 28px;

        font-size:14px;

    }

}

.menu-card{ 

    transition:all .4s ease; 

}

.menu-card{

    position:relative;

    height:100%;

    border:1px solid rgba(0,59,38,.08);

    transition:.5s ease;

}

.menu-card:hover{

    transform:translateY(-12px);

    border-color:#003B26;

    box-shadow:
    0 25px 60px rgba(0,59,38,.18);

}

.menu-content{

    min-height:220px;

    display:flex;

    flex-direction:column;

}

.menu-content p{

    flex-grow:1;

}

.menu-content span{

    display:none !important;

}

/* .menu-content:after{

    content:"Read More  →";

    display:inline-flex;

    align-items:center;

    justify-content:center;

    width:max-content;

    padding:10px 24px;

    margin-top:18px;

    background:#003B26;

    color:#fff;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    transition:.4s ease;

}

.menu-card:hover .menu-content:after{

    background:#8a6a3d;

    transform:translateX(5px);

} */

.menu-image{

    overflow:hidden;

}

.menu-image img{

    transition:.7s ease;

}

.menu-card:hover .menu-image img{

    transform:scale(1.1);

}

.menu-badge{

    background:#003B26;

    color:#fff;

    border:1px solid rgba(255,255,255,.2);

}

.menu-category.active{

    box-shadow:

    0 12px 30px rgba(0,59,38,.25);

}

@media(max-width:991px){

    .menu-content{

        min-height:200px;

    }

}

@media(max-width:991px){

    .menu-categories{

        display:flex !important;

        flex-wrap:nowrap !important;

        overflow-x:auto !important;

        justify-content:flex-start !important;

        gap:12px !important;

        padding:5px 5px 15px;

        scrollbar-width:none;

    }

    .menu-categories::-webkit-scrollbar{

        display:none;

    }

    .menu-category{

        flex:0 0 auto !important;

        white-space:nowrap !important;

        padding:12px 22px !important;

        border-radius:50px !important;

    }

}

@media(max-width:991px){

    .menu-card{

        border-radius:28px !important;

    }

    .menu-image{

        height:220px !important;

    }

    .menu-content{

        min-height:170px !important;

        padding:22px !important;

    }

    .menu-content h3{

        font-size:24px !important;

        margin-bottom:8px !important;

    }

    .menu-content p{

        font-size:14px !important;

        line-height:1.6 !important;

    }

    .menu-content:after{

        padding:8px 20px !important;

        font-size:12px !important;

        margin-top:15px !important;

    }

    .menu-view-btn{

        padding:12px 26px !important;

        font-size:13px !important;

        gap:8px !important;

    }

    .menu-button-wrap{

        margin-top:40px !important;

    }

}

.menu-load-more-wrap{
    text-align:center;
    margin-top:45px;
}

.menu-load-more-btn{
    background:transparent;
    color:#003B26;
    border:1.5px solid #003B26;
    padding:12px 30px;
    border-radius:10px;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.3s ease;
}

.menu-load-more-btn:hover{
    background:#003B26;
    color:#fff;
}

.menu-load-more-btn i{
    font-size:12px;
}

/* Home Page FEATURED DISHES Section */
.tgh-featured-section{

    padding:120px 0;

    background:#faf7ef;

}

.featured-heading{

    margin-bottom:60px;

}

.featured-heading span{

    color:#8a6a3d;

    letter-spacing:5px;

    font-size:12px;

    font-weight:600;

}

.featured-heading h2{

    font-family:'Playfair Display',serif;

    font-size:58px;

    color:#003B26;

    margin:20px 0;

}

.featured-heading p{

    color:#666;

}

.featured-grid{

    display:grid;

    grid-template-columns:1.4fr 1fr;

    gap:35px;

}

.featured-main-card,
.featured-small-card{

    background:white;

    border-radius:32px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.10);

    transition:.5s ease;

}

.featured-main-card:hover,
.featured-small-card:hover{

    transform:translateY(-10px);

    box-shadow:0 35px 80px rgba(0,59,38,.18);

}

.featured-main-card .featured-image{

    height:520px;

}

.featured-image{

    position:relative;

    overflow:hidden;

}

.featured-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.7s ease;

}

.featured-main-card:hover img,
.featured-small-card:hover img{

    transform:scale(1.08);

}

.featured-label{

    position:absolute;

    top:25px;

    left:25px;

    background:#003B26;

    color:white;

    padding:8px 18px;

    border-radius:50px;

    font-size:12px;

}

.featured-side{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.featured-small-card{

    display:grid;

    grid-template-columns:180px 1fr;

}

.featured-small-card .featured-image{

    height:180px;

}

.featured-content{

    padding:28px;

}

.featured-content h3{

    font-family:'Playfair Display',serif;

    color:#003B26;

    font-size:28px;

    margin-bottom:10px;

}

.featured-small-card h3{

    font-size:22px;

}

.featured-content p{

    color:#666;

    font-size:14px;

    line-height:1.7;

}

@media(max-width:991px){

    .featured-grid{

        grid-template-columns:1fr;

    }

    .featured-main-card .featured-image{

        height:350px;

    }

    .featured-small-card{

        grid-template-columns:140px 1fr;

    }

    .featured-heading h2{

        font-size:40px;

    }

}

.featured-main-card,
.featured-small-card{

    position:relative;

    transition:all .5s ease;

    border:1px solid rgba(0,59,38,.05);

}

.featured-main-card:hover,
.featured-small-card:hover{

    transform:translateY(-12px);

    border-color:#003B26;

    box-shadow:

    0 30px 70px rgba(0,59,38,.20);

}

.featured-image{

    overflow:hidden;

}

.featured-image img{

    transition:transform .7s ease;

}

.featured-main-card:hover .featured-image img,
.featured-small-card:hover .featured-image img{

    transform:scale(1.10);

}

.featured-content h3{

    transition:.3s ease;

}

.featured-main-card:hover h3,
.featured-small-card:hover h3{

    color:#8a6a3d;

}

.featured-small-card{

    background:#fff;

}

.featured-label{

    box-shadow:

    0 10px 25px rgba(0,0,0,.25);

    backdrop-filter:blur(5px);

}

.featured-main-card{

    box-shadow:

    0 25px 60px rgba(0,0,0,.12);

}

.featured-small-card{

    box-shadow:

    0 15px 40px rgba(0,0,0,.10);

}

@media(max-width:991px){

    .featured-main-card:hover,
    .featured-small-card:hover{

        transform:translateY(-6px);

    }

}

@media(max-width:991px){

    .tgh-featured-section{

        padding-top:50px !important;

        padding-bottom:60px !important;

    }

    .featured-heading{

        margin-bottom:35px !important;

    }

    .featured-grid{

        margin-top:20px !important;

    }

    .featured-main-card,
    .featured-small-card{

        margin-left:8px !important;

        margin-right:8px !important;

    }

    .featured-main-card .featured-image{

        height:320px !important;

    }

    .featured-content{

        padding:24px !important;

    }

    .featured-content h3{

        font-size:26px !important;

    }

}

/* Home Page Gallery Section */
.tgh-gallery-section{

    padding:120px 0;

    background:#faf7ef;

    overflow:hidden;

}

.gallery-heading{

    max-width:750px;

    margin:0 auto 60px;

}

.gallery-heading span{

    color:#8a6a3d;

    font-size:12px;

    letter-spacing:5px;

    font-weight:600;

}

.gallery-heading h2{

    color:#003B26;

    font-family:'Playfair Display',serif;

    font-size:58px;

    margin:20px 0;

}

.gallery-heading p{

    color:#666;

    font-size:16px;

}

.premium-gallery{

    display:grid;

    grid-template-columns:0.8fr 1.5fr 0.8fr;

    gap:25px;

    align-items:center;

}

.gallery-side{

    display:flex;

    flex-direction:column;

    gap:25px;

}

.gallery-card,
.gallery-main-card{

    position:relative;

    overflow:hidden;

    border-radius:35px;

    cursor:pointer;

    box-shadow:

    0 25px 60px rgba(0,0,0,.12);

}

.gallery-card{

    height:260px;

}

.gallery-main-card{

    height:600px;

}

.gallery-card img,
.gallery-main-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s ease;

}

.gallery-card:hover img,
.gallery-main-card:hover img{

    transform:scale(1.10);

}

.gallery-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,59,38,.55);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    transition:.4s ease;

}

.gallery-card:hover .gallery-overlay,
.gallery-main-card:hover .gallery-overlay{

    opacity:1;

}

.gallery-open{

    width:70px;

    height:70px;

    border-radius:50%;

    border:none;

    background:rgba(255,255,255,.95);

    color:#003B26;

    font-size:28px;

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    transition:.4s ease;

}

.gallery-open:hover{

    background:#003B26;

    color:white;

    transform:rotate(90deg) scale(1.1);

}

.gallery-button{

    text-align:center;

    margin-top:55px;

}

.gallery-button a{

    display:inline-flex;

    align-items:center;

    gap:12px;

    background:#003B26;

    color:white;

    padding:15px 38px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;

    transition:.4s;

}

.gallery-button a:hover{

    background:#8a6a3d;

    transform:translateY(-5px);

}

@media(max-width:991px){

    .tgh-gallery-section{

        padding:75px 0;

    }

    .gallery-heading h2{

        font-size:40px;

    }

    .premium-gallery{

        grid-template-columns:1fr;

        gap:20px;

    }

    .gallery-main-card{

        height:420px;

        order:1;

    }

    .left-gallery,
    .right-gallery{

        flex-direction:row;

        order:2;

    }

    .gallery-card{

        height:180px;

        width:50%;

    }

}

@media(max-width:576px){

    .left-gallery,
    .right-gallery{

        flex-direction:column;

    }

    .gallery-card{

        width:100%;

        height:230px;

    }

}

.gallery-lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.90);

    z-index:99999;

    display:none;

    align-items:center;

    justify-content:center;

}

.gallery-preview-image{

    max-width:85%;

    max-height:85%;

    border-radius:25px;

    animation:zoomGallery .5s ease;

}

@keyframes zoomGallery{

    from{

        transform:scale(.6);

        opacity:0;

    }

    to{

        transform:scale(1);

        opacity:1;

    }

}

.gallery-close{

    position:absolute;

    top:30px;

    right:40px;

    width:50px;

    height:50px;

    border-radius:50%;

    border:none;

    font-size:35px;

    cursor:pointer;

}

.gallery-prev,
.gallery-next{

    position:absolute;

    width:55px;

    height:55px;

    border-radius:50%;

    border:none;

    background:white;

    color:#003B26;

    font-size:35px;

    cursor:pointer;

}

.gallery-prev{

    left:40px;

}

.gallery-next{

    right:40px;

}

@media(max-width:991px){

    .gallery-preview-image{

        max-width:90%;

    }

    .gallery-prev{

        left:15px;

    }

    .gallery-next{

        right:15px;

    }

}

.tgh-gallery-section{
    position:relative;
    background:
        radial-gradient(circle at 50% 45%,
        rgba(194,156,95,.08) 0%,
        transparent 38%),
        #faf7ef;
}

.gallery-heading span{
    position:relative;
    display:inline-block;
}

.gallery-heading span:before,
.gallery-heading span:after{
    content:"";
    position:absolute;
    top:50%;
    width:35px;
    height:1px;
    background:#b58a52;
}

.gallery-heading span:before{
    right:calc(100% + 15px);
}

.gallery-heading span:after{
    left:calc(100% + 15px);
}

.gallery-heading h2{
    text-shadow:0 8px 25px rgba(0,59,38,.06);
}

.gallery-card,
.gallery-main-card{
    border:1px solid rgba(0,59,38,.07);

    transition:
        transform .55s cubic-bezier(.2,.7,.2,1),
        box-shadow .55s ease,
        border-color .4s ease;
}

.gallery-card:hover{
    transform:translateY(-9px);

    border-color:rgba(0,59,38,.25);

    box-shadow:
        0 28px 55px rgba(0,59,38,.15),
        0 8px 20px rgba(0,0,0,.06);
}

.gallery-main-card{
    box-shadow:
        0 30px 75px rgba(0,59,38,.13),
        0 8px 25px rgba(0,0,0,.06);
}

.gallery-main-card:hover{
    transform:translateY(-10px) scale(1.01);

    border-color:rgba(181,138,82,.40);

    box-shadow:
        0 38px 90px rgba(0,59,38,.20),
        0 10px 30px rgba(0,0,0,.08);
}

.gallery-card img,
.gallery-main-card img{
    transition:
        transform .85s cubic-bezier(.2,.7,.2,1),
        filter .6s ease;
}

.gallery-card:hover img,
.gallery-main-card:hover img{
    transform:scale(1.075);
    filter:brightness(.90);
}

.gallery-overlay{
    background:
        linear-gradient(
            180deg,
            rgba(0,59,38,.12),
            rgba(0,59,38,.62)
        );

    backdrop-filter:blur(1px);

    transition:opacity .45s ease;
}

.gallery-open{
    width:62px;
    height:62px;

    background:rgba(255,255,255,.92);

    border:1px solid rgba(255,255,255,.75);

    box-shadow:
        0 15px 35px rgba(0,0,0,.20),
        inset 0 0 0 5px rgba(255,255,255,.25);

    backdrop-filter:blur(10px);

    transform:scale(.80);

    opacity:0;
}

.gallery-card:hover .gallery-open,
.gallery-main-card:hover .gallery-open{
    transform:scale(1);
    opacity:1;
}

.gallery-open:hover{
    background:#003B26;

    color:#fff;

    transform:scale(1.08) rotate(90deg);

    box-shadow:
        0 18px 40px rgba(0,59,38,.35);
}

.gallery-button a{
    position:relative;
    overflow:hidden;

    box-shadow:
        0 12px 28px rgba(0,59,38,.18);

    transition:.4s ease;
}

.gallery-button a:before{
    content:"";

    position:absolute;

    top:0;
    left:-100%;

    width:60%;
    height:100%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.22),
        transparent
    );

    transform:skewX(-20deg);

    transition:.6s ease;
}

.gallery-button a:hover:before{
    left:140%;
}

.gallery-button a:hover{
    background:#003B26;

    transform:translateY(-4px);

    box-shadow:
        0 18px 38px rgba(0,59,38,.28);
}

.gallery-button a i{
    transition:.35s ease;
}

.gallery-button a:hover i{
    transform:translateX(5px);
}

.gallery-lightbox{
    background:rgba(3,18,13,.94);

    backdrop-filter:blur(8px);
}

.gallery-preview-image{
    box-shadow:
        0 35px 100px rgba(0,0,0,.55);

    border:1px solid rgba(255,255,255,.12);
}

.gallery-prev,
.gallery-next,
.gallery-close{
    background:rgba(255,255,255,.94);

    color:#003B26;

    box-shadow:
        0 12px 35px rgba(0,0,0,.25);

    transition:.35s ease;
}

.gallery-prev:hover,
.gallery-next:hover,
.gallery-close:hover{
    background:#003B26;

    color:#fff;

    transform:scale(1.10);
}

@media(max-width:991px){

    .gallery-main-card:hover,
    .gallery-card:hover{
        transform:translateY(-5px);
    }

    .gallery-open{
        width:52px;
        height:52px;
        font-size:20px;
    }

}

/* Home Page Video Section */
.tgh-video-section{
    position:relative;
    padding:120px 0;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(181,138,82,.10),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 75%,
            rgba(181,138,82,.07),
            transparent 25%
        ),
        #002d1f;

    isolation:isolate;
}

.tgh-video-section::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    border:1px solid rgba(255,255,255,.035);
    border-radius:50%;
    top:-250px;
    right:-130px;
    pointer-events:none;
    z-index:-1;
}

.tgh-video-section::after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border:1px solid rgba(181,138,82,.08);
    border-radius:50%;
    bottom:-210px;
    left:-100px;
    pointer-events:none;
    z-index:-1;
}

.video-heading{
    max-width:760px;
    margin:0 auto 65px;
}

.video-heading span{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:14px;

    color:#d5aa6d;
    font-size:11px;
    font-weight:600;
    letter-spacing:5px;
    text-transform:uppercase;
}

.video-heading span::before,
.video-heading span::after{
    content:"";
    width:35px;
    height:1px;
    background:rgba(213,170,109,.65);
}

.video-heading h2{
    margin:18px 0 18px;

    font-family:'Playfair Display',serif;
    font-size:58px;
    line-height:1.08;
    font-weight:600;

    color:#fffaf1;
}

.video-heading p{
    max-width:650px;
    margin:0 auto;

    color:rgba(255,255,255,.66);
    font-size:16px;
    line-height:1.8;
}

.tgh-video-showcase{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    gap:24px;
    align-items:stretch;
}

.video-featured-card{
    position:relative;
    min-height:590px;

    overflow:hidden;
    border-radius:34px;

    border:1px solid rgba(213,170,109,.20);

    background:#061c15;

    box-shadow:
        0 35px 80px rgba(0,0,0,.28),
        inset 0 0 0 1px rgba(255,255,255,.025);

    cursor:pointer;

    transition:
        transform .6s cubic-bezier(.16,1,.3,1),
        box-shadow .6s ease,
        border-color .4s ease;
}

.video-featured-card:hover{
    transform:translateY(-8px);

    border-color:rgba(213,170,109,.45);

    box-shadow:
        0 45px 100px rgba(0,0,0,.38);
}

.video-featured-card > video{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    pointer-events:none;

    transition:
        transform 1s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}

.video-featured-card:hover > video{
    transform:scale(1.045);
}

.video-dark-overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(0,20,13,.05) 15%,
            rgba(0,25,17,.22) 48%,
            rgba(0,24,16,.88) 100%
        );

    z-index:1;

    pointer-events:none;
}

.video-featured-content{
    position:absolute;

    left:38px;
    right:38px;
    bottom:38px;

    z-index:3;

    pointer-events:none;
}

.video-category{
    display:inline-block;

    margin-bottom:12px;

    color:#e1b878;

    font-size:11px;
    font-weight:600;

    letter-spacing:2.5px;
    text-transform:uppercase;
}

.video-featured-content h3{
    max-width:430px;

    margin:0;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:34px;
    line-height:1.2;

    font-weight:500;
}

.video-featured-card > .video-play-btn{
    position:absolute;

    top:50%;
    left:50%;

    transform:translate(-50%,-50%);

    width:86px;
    height:86px;

    z-index:5;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.50);

    background:rgba(255,250,241,.94);

    color:#003B26;

    font-size:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    box-shadow:
        0 20px 55px rgba(0,0,0,.30),
        0 0 0 10px rgba(255,255,255,.09);

    backdrop-filter:blur(12px);

    transition:
        transform .4s cubic-bezier(.16,1,.3,1),
        background .35s ease,
        color .35s ease,
        box-shadow .4s ease;
}

.video-featured-card > .video-play-btn i{
    margin-left:4px;
}

.video-featured-card > .video-play-btn:hover{
    transform:
        translate(-50%,-50%)
        scale(1.10);

    background:#b58a52;
    color:#fff;

    box-shadow:
        0 25px 60px rgba(0,0,0,.38),
        0 0 0 13px rgba(181,138,82,.15);
}

.video-featured-card > .video-play-btn::before{
    content:"";

    position:absolute;
    inset:-11px;

    border:1px solid rgba(255,255,255,.30);
    border-radius:50%;

    transition:.4s ease;
}

.video-featured-card > .video-play-btn:hover::before{
    inset:-17px;
    border-color:rgba(213,170,109,.50);
}

.video-story-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.video-story-card{
    position:relative;

    min-height:285px;

    overflow:hidden;

    border-radius:26px;

    border:1px solid rgba(255,255,255,.08);

    background:#061c15;

    box-shadow:
        0 18px 45px rgba(0,0,0,.18);

    cursor:pointer;

    transition:
        transform .5s cubic-bezier(.16,1,.3,1),
        box-shadow .5s ease,
        border-color .4s ease;
}

.video-story-card:hover{
    transform:translateY(-7px);

    border-color:rgba(213,170,109,.38);

    box-shadow:
        0 28px 60px rgba(0,0,0,.30);
}

.video-story-card > video{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    pointer-events:none;

    transition:
        transform .9s cubic-bezier(.16,1,.3,1),
        filter .6s ease;
}

.video-story-card:hover > video{
    transform:scale(1.07);
}

.video-story-card .video-dark-overlay{
    background:
        linear-gradient(
            180deg,
            rgba(0,25,17,.05),
            rgba(0,25,17,.18) 40%,
            rgba(0,24,16,.88) 100%
        );
}

.video-story-content{
    position:absolute;

    left:22px;
    right:20px;
    bottom:20px;

    z-index:3;

    pointer-events:none;
}

.video-story-content span{
    display:block;

    margin-bottom:5px;

    color:#dcb174;

    font-size:9px;
    font-weight:600;

    letter-spacing:2px;
    text-transform:uppercase;
}

.video-story-content h4{
    margin:0;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:19px;
    line-height:1.25;

    font-weight:500;
}

.video-story-card > .video-play-btn{
    position:absolute;

    top:20px;
    right:20px;

    z-index:5;

    width:48px;
    height:48px;

    padding:0;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.42);

    background:rgba(255,255,255,.91);

    color:#003B26;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:13px;

    cursor:pointer;

    box-shadow:
        0 10px 30px rgba(0,0,0,.22);

    backdrop-filter:blur(10px);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.video-story-card > .video-play-btn i{
    margin-left:2px;
}

.video-story-card > .video-play-btn:hover{
    transform:scale(1.12);

    background:#b58a52;

    color:#fff;
}

.video-gallery-button{
    text-align:center;
    margin-top:55px;
}

.video-gallery-button a{
    position:relative;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    padding:15px 36px;

    overflow:hidden;

    border-radius:50px;

    border:1px solid rgba(213,170,109,.55);

    background:transparent;

    color:#fff;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:
        background .4s ease,
        color .4s ease,
        transform .4s ease,
        box-shadow .4s ease;
}

.video-gallery-button a::before{
    content:"";

    position:absolute;

    top:0;
    left:-100%;

    width:60%;
    height:100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.18),
            transparent
        );

    transform:skewX(-20deg);

    transition:.65s ease;
}

.video-gallery-button a:hover::before{
    left:140%;
}

.video-gallery-button a:hover{
    background:#b58a52;

    color:#fff;

    transform:translateY(-4px);

    box-shadow:
        0 16px 35px rgba(0,0,0,.24);
}

.video-gallery-button a i{
    transition:transform .35s ease;
}

.video-gallery-button a:hover i{
    transform:translateX(5px);
}

.tgh-video-lightbox{
    position:fixed;

    inset:0;

    z-index:999999;

    display:none;

    align-items:center;
    justify-content:center;

    padding:70px 120px;

    background:
        radial-gradient(
            circle at center,
            rgba(0,59,38,.35),
            rgba(2,15,10,.97) 65%
        );

    backdrop-filter:blur(12px);
}

.video-lightbox-frame{
    position:relative;

    width:min(1050px,85vw);

    height:min(650px,78vh);

    overflow:hidden;

    border-radius:30px;

    background:#000;

    border:1px solid rgba(213,170,109,.25);

    box-shadow:
        0 40px 120px rgba(0,0,0,.70),
        0 0 60px rgba(0,59,38,.20);

    animation:tghVideoZoom .45s cubic-bezier(.16,1,.3,1);
}

@keyframes tghVideoZoom{

    from{
        opacity:0;
        transform:scale(.88);
    }

    to{
        opacity:1;
        transform:scale(1);
    }

}

.video-lightbox-player{
    width:100%;
    height:100%;

    display:block;

    object-fit:contain;

    background:#000;
}

.video-lightbox-close{
    position:absolute;

    top:30px;
    right:38px;

    z-index:10;

    width:52px;
    height:52px;

    padding:0;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.20);

    background:#fffaf1;

    color:#003B26;

    font-size:32px;
    line-height:1;

    display:flex;
    align-items:center;
    justify-content:center;

    cursor:pointer;

    box-shadow:
        0 15px 35px rgba(0,0,0,.30);

    transition:.35s ease;
}

.video-lightbox-close:hover{
    transform:rotate(90deg) scale(1.08);

    background:#b58a52;

    color:#fff;
}

.video-lightbox-prev,
.video-lightbox-next{
    position:absolute;

    top:50%;

    transform:translateY(-50%);

    z-index:10;

    width:58px;
    height:58px;

    padding:0;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.20);

    background:#fffaf1;

    color:#003B26;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:17px;

    cursor:pointer;

    box-shadow:
        0 15px 40px rgba(0,0,0,.30);

    transition:.35s ease;
}

.video-lightbox-prev{
    left:38px;
}

.video-lightbox-next{
    right:38px;
}

.video-lightbox-prev:hover{
    transform:
        translateY(-50%)
        translateX(-5px)
        scale(1.08);

    background:#b58a52;
    color:#fff;
}

.video-lightbox-next:hover{
    transform:
        translateY(-50%)
        translateX(5px)
        scale(1.08);

    background:#b58a52;
    color:#fff;
}

@media(max-width:991px){

    .tgh-video-section{
        padding:80px 0;
    }

    .video-heading{
        margin-bottom:45px;
    }

    .video-heading h2{
        font-size:42px;
    }

    .tgh-video-showcase{
        grid-template-columns:1fr;
    }

    .video-featured-card{
        min-height:500px;
    }

    .video-story-card{
        min-height:260px;
    }

    .tgh-video-lightbox{
        padding:80px 80px;
    }

    .video-lightbox-frame{
        width:100%;
        height:65vh;
    }

    .video-lightbox-prev{
        left:15px;
    }

    .video-lightbox-next{
        right:15px;
    }

}

@media(max-width:576px){

    .tgh-video-section{
        padding:65px 0;
    }

    .video-heading{
        margin-bottom:35px;
    }

    .video-heading span{
        font-size:9px;
        letter-spacing:3px;
    }

    .video-heading span::before,
    .video-heading span::after{
        width:22px;
    }

    .video-heading h2{
        font-size:35px;
        margin:14px 0;
    }

    .video-heading p{
        font-size:14px;
        line-height:1.7;
    }

    .video-featured-card{
        min-height:430px;
        border-radius:25px;
    }

    .video-featured-content{
        left:24px;
        right:24px;
        bottom:25px;
    }

    .video-featured-content h3{
        font-size:27px;
    }

    .video-featured-card > .video-play-btn{
        width:70px;
        height:70px;
        font-size:18px;
    }

    .video-story-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .video-story-card{
        min-height:215px;
        border-radius:20px;
    }

    .video-story-content{
        left:15px;
        right:12px;
        bottom:15px;
    }

    .video-story-content span{
        font-size:8px;
        letter-spacing:1.3px;
    }

    .video-story-content h4{
        font-size:16px;
    }

    .video-story-card > .video-play-btn{
        width:40px;
        height:40px;

        top:12px;
        right:12px;

        font-size:11px;
    }

    .video-gallery-button{
        margin-top:38px;
    }

    .tgh-video-lightbox{
        padding:75px 15px 80px;
    }

    .video-lightbox-frame{
        width:100%;
        height:auto;
        max-height:72vh;

        border-radius:20px;
    }

    .video-lightbox-player{
        width:100%;
        height:auto;
        max-height:72vh;
    }

    .video-lightbox-close{
        top:18px;
        right:18px;

        width:45px;
        height:45px;

        font-size:28px;
    }

    .video-lightbox-prev,
    .video-lightbox-next{
        width:45px;
        height:45px;

        top:auto;
        bottom:18px;

        transform:none;
    }

    .video-lightbox-prev{
        left:calc(50% - 55px);
    }

    .video-lightbox-next{
        right:calc(50% - 55px);
    }

    .video-lightbox-prev:hover,
    .video-lightbox-next:hover{
        transform:scale(1.06);
    }

}

/* Home Page Events Section */
.tgh-events-section{
    position:relative;
    padding:150px 0 125px;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 90% 12%,
            rgba(181,138,82,.13),
            transparent 25%
        ),
        radial-gradient(
            circle at 8% 76%,
            rgba(0,59,38,.055),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #fffdf8 0%,
            #faf4e8 48%,
            #fffaf2 100%
        );
}


.tgh-events-section::before{
    content:"";

    position:absolute;
    top:-320px;
    right:-260px;

    width:680px;
    height:680px;

    border-radius:50%;

    border:
        1px solid rgba(181,138,82,.12);

    box-shadow:
        0 0 0 45px rgba(181,138,82,.025),
        0 0 0 90px rgba(181,138,82,.014);

    pointer-events:none;

    z-index:-1;
}


.tgh-events-section::after{
    content:"";

    position:absolute;

    left:-240px;
    bottom:-240px;

    width:520px;
    height:520px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(0,59,38,.065),
            transparent 68%
        );

    pointer-events:none;

    z-index:-1;
}


.tgh-events-section .container{
    position:relative;
    z-index:5;
}



/* =========================================================
   GIANT EVENTS BACKGROUND WORD
========================================================= */

.events-giant-word{
    position:absolute;

    top:8px;
    left:50%;

    z-index:0;

    transform:translateX(-50%);

    width:100%;

    color:
        rgba(0,59,38,.055);

    font-family:
        'Playfair Display',
        serif;

    font-size:clamp(150px, 15vw, 245px);

    line-height:.85;

    font-weight:700;

    letter-spacing:18px;

    text-align:center;

    white-space:nowrap;

    pointer-events:none;

    user-select:none;
}


.events-script-word{
    position:absolute;

    top:235px;
    right:3%;

    z-index:0;

    color:
        rgba(181,138,82,.10);

    font-family:
        'Playfair Display',
        serif;

    font-size:80px;

    font-style:italic;

    transform:rotate(-8deg);

    pointer-events:none;
}



/* =========================================================
   TOP INTRO
========================================================= */

.events-intro{
    position:relative;

    z-index:5;

    margin-bottom:75px;
}


.events-small-title{
    display:flex;

    align-items:center;

    gap:13px;

    margin-bottom:23px;

    color:#a16e38;

    font-size:9px;

    line-height:1;

    font-weight:700;

    letter-spacing:3.4px;

    text-transform:uppercase;
}


.events-line{
    position:relative;

    display:block;

    width:48px;
    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(181,138,82,.20),
            #b58a52
        );
}


.events-line::after{
    content:"";

    position:absolute;

    top:50%;
    right:-5px;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#b58a52;

    transform:translateY(-50%);
}



/* =========================================================
   HEADING GRID
========================================================= */

.events-heading-wrap{
    display:grid;

    grid-template-columns:
        minmax(0,1.25fr)
        minmax(320px,.75fr);

    gap:100px;

    align-items:end;
}


.events-heading-left{
    position:relative;

    display:flex;

    align-items:flex-start;

    gap:22px;
}


.events-heading-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:50px;
    height:50px;

    flex:0 0 50px;

    margin-top:9px;

    border:
        1px solid rgba(181,138,82,.35);

    border-radius:
        50%
        50%
        50%
        13px;

    background:
        rgba(255,252,245,.75);

    color:#a16e38;

    font-family:
        'Playfair Display',
        serif;

    font-size:12px;

    box-shadow:
        0 9px 25px rgba(0,59,38,.06);
}


.events-heading-left h2{
    max-width:750px;

    margin:0;

    color:#003b26;

    font-family:
        'Playfair Display',
        serif;

    font-size:67px;

    line-height:.98;

    font-weight:600;

    letter-spacing:-2px;
}


.events-heading-left h2 em{
    position:relative;

    display:block;

    color:#aa773d;

    font-weight:500;
}


.events-heading-left h2 em::after{
    content:"";

    position:absolute;

    left:2px;
    bottom:-7px;

    width:180px;
    height:8px;

    border-bottom:
        1px solid rgba(181,138,82,.45);

    border-radius:50%;
}


.events-heading-right{
    position:relative;

    padding:
        5px
        0
        5px
        30px;

    border-left:
        1px solid rgba(181,138,82,.30);
}


.events-heading-label{
    display:block;

    margin-bottom:12px;

    color:#a27440;

    font-size:8px;

    font-weight:700;

    letter-spacing:2.1px;
}


.events-heading-right p{
    max-width:440px;

    margin:0;

    color:#706c64;

    font-size:13px;

    line-height:1.85;
}



/* =========================================================
   MAIN EVENTS LAYOUT
========================================================= */

.events-journal{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(0,1.18fr)
        minmax(440px,.82fr);

    gap:70px;

    align-items:stretch;
}



/* =========================================================
   MAIN VISUAL AREA
========================================================= */

.events-visual-area{
    position:relative;

    min-height:790px;

    padding-right:50px;
}



/* =========================================================
   MAIN CINEMATIC IMAGE
========================================================= */

.event-main-image{
    position:relative;

    width:100%;
    height:790px;

    overflow:hidden;

    border:
        1px solid rgba(181,138,82,.30);

    border-radius:
        38px
        38px
        125px
        38px;

    background:#003b26;

    box-shadow:
        0 45px 100px rgba(0,59,38,.20),
        0 16px 40px rgba(74,48,22,.10),
        0 0 0 8px rgba(255,255,255,.25);
}


.event-main-image::before{
    content:"";

    position:absolute;

    inset:12px;

    z-index:4;

    border:
        1px solid rgba(255,239,210,.45);

    border-radius:
        29px
        29px
        112px
        29px;

    pointer-events:none;
}


.event-main-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    filter:
        saturate(1.08)
        contrast(1.045)
        brightness(.94);

    transition:
        transform 1.3s
        cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}


.event-main-image:hover img{
    transform:scale(1.055);

    filter:
        saturate(1.12)
        contrast(1.05)
        brightness(.92);
}



/* =========================================================
   MAIN IMAGE OVERLAY
========================================================= */

.event-main-overlay{
    position:absolute;

    inset:0;

    z-index:2;

    background:
        linear-gradient(
            180deg,
            rgba(0,31,20,.06) 0%,
            rgba(0,31,20,.08) 28%,
            rgba(0,31,20,.25) 50%,
            rgba(0,29,19,.67) 73%,
            rgba(0,25,16,.97) 100%
        );
}



/* =========================================================
   IMAGE TOP
========================================================= */

.event-main-top{
    position:absolute;

    top:31px;
    left:32px;
    right:32px;

    z-index:7;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:20px;
}


.event-featured-label{
    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:
        9px
        14px;

    border:
        1px solid rgba(255,255,255,.24);

    border-radius:50px;

    background:
        rgba(0,55,36,.68);

    backdrop-filter:
        blur(10px);

    color:#fff;

    font-size:8px;

    font-weight:700;

    letter-spacing:1.7px;

    box-shadow:
        0 8px 20px rgba(0,0,0,.10);
}


.event-featured-label i{
    color:#e0b373;

    font-size:7px;
}


.event-main-year{
    color:
        rgba(255,255,255,.78);

    font-size:7px;

    font-weight:700;

    letter-spacing:2px;
}



/* =========================================================
   MAIN CAPTION
========================================================= */

.event-main-caption{
    position:absolute;

    left:48px;
    right:80px;
    bottom:48px;

    z-index:7;
}


.event-main-kicker{
    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:14px;

    color:#e5b97b;

    font-size:8px;

    font-weight:700;

    letter-spacing:2.8px;
}


.event-main-kicker::before{
    content:"";

    width:28px;
    height:1px;

    background:#d6a661;
}


.event-main-caption h3{
    max-width:590px;

    margin:
        0
        0
        17px;

    color:#fffdf8;

    font-family:
        'Playfair Display',
        serif;

    font-size:49px;

    line-height:1.02;

    font-weight:500;

    letter-spacing:-1px;

    text-shadow:
        0 8px 28px rgba(0,0,0,.30);
}


.event-main-caption h3 em{
    display:block;

    color:#e9c28b;

    font-weight:500;
}


.event-main-caption p{
    max-width:510px;

    margin:
        0
        0
        27px;

    color:
        rgba(255,255,255,.74);

    font-size:12px;

    line-height:1.72;
}



/* =========================================================
   MAIN ACTIONS
========================================================= */

.event-main-actions{
    display:flex;

    align-items:center;

    gap:26px;
}


.event-main-link{
    display:inline-flex;

    align-items:center;

    gap:15px;

    padding:
        6px
        6px
        6px
        21px;

    border-radius:50px;

    background:#fffaf0;

    color:#003b26;

    text-decoration:none;

    font-size:10px;

    font-weight:700;

    box-shadow:
        0 13px 30px rgba(0,0,0,.19);

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.event-main-link > span{
    display:flex;

    align-items:center;
    justify-content:center;

    width:39px;
    height:39px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #00452e,
            #00331f
        );

    color:#fff;

    transition:
        transform .4s ease,
        background .4s ease;
}


.event-main-link:hover{
    color:#003b26;

    background:#e7bb7d;

    transform:
        translateY(-3px);

    box-shadow:
        0 17px 35px rgba(0,0,0,.22);
}


.event-main-link:hover > span{
    transform:
        rotate(-35deg);
}



/* =========================================================
   MEMORY BADGE
========================================================= */

.event-memory-badge{
    display:flex;

    align-items:center;

    gap:11px;
}


.memory-icon{
    display:flex;

    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    flex:0 0 42px;

    border:
        1px solid rgba(255,255,255,.25);

    border-radius:
        50%
        50%
        50%
        12px;

    background:
        rgba(255,255,255,.10);

    backdrop-filter:
        blur(10px);

    color:#efc78d;
}


.memory-icon i{
    font-size:12px;
}


.event-memory-badge small,
.event-memory-badge strong{
    display:block;
}


.event-memory-badge small{
    margin-bottom:3px;

    color:
        rgba(255,255,255,.48);

    font-size:6px;

    letter-spacing:1.7px;
}


.event-memory-badge strong{
    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:13px;

    font-weight:500;
}



/* =========================================================
   VERTICAL IMAGE TEXT
========================================================= */

.event-image-side-text{
    position:absolute;

    right:18px;
    top:50%;

    z-index:7;

    color:
        rgba(255,255,255,.35);

    font-size:6px;

    font-weight:700;

    letter-spacing:2.6px;

    writing-mode:
        vertical-rl;

    transform:
        translateY(-50%);
}



/* =========================================================
   FLOATING EVENT IMAGES
========================================================= */

.event-floating-image{
    position:absolute;

    z-index:12;

    width:205px;

    transition:
        transform .55s
        cubic-bezier(.16,1,.3,1);
}


.event-float-top{
    top:105px;
    right:-55px;
}


.event-float-bottom{
    right:-45px;
    bottom:125px;
}


.event-floating-photo{
    position:relative;

    width:205px;
    height:170px;

    overflow:hidden;

    border:
        7px solid #fffaf1;

    border-radius:
        22px
        22px
        45px
        22px;

    background:#eee5d7;

    box-shadow:
        0 24px 50px rgba(0,59,38,.20),
        0 8px 20px rgba(65,40,20,.10);
}


.event-float-top
.event-floating-photo{
    transform:rotate(3deg);
}


.event-float-bottom
.event-floating-photo{
    transform:rotate(-3deg);
}


.event-floating-photo::after{
    content:"";

    position:absolute;

    inset:5px;

    border:
        1px solid rgba(255,255,255,.55);

    border-radius:
        14px
        14px
        35px
        14px;

    pointer-events:none;
}


.event-floating-photo img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .75s
        cubic-bezier(.16,1,.3,1);
}


.event-floating-image:hover{
    transform:
        translateY(-7px);
}


.event-floating-image:hover
.event-floating-photo img{
    transform:scale(1.08);
}



/* =========================================================
   FLOATING LABEL
========================================================= */

.floating-event-label{
    position:relative;

    display:flex;

    align-items:center;

    gap:10px;

    width:165px;

    margin:
        -24px
        0
        0
        18px;

    padding:
        9px
        12px;

    z-index:4;

    border:
        1px solid rgba(181,138,82,.20);

    border-radius:
        13px
        13px
        25px
        13px;

    background:
        rgba(255,252,245,.96);

    box-shadow:
        0 12px 25px rgba(0,59,38,.12);

    backdrop-filter:
        blur(8px);
}


.floating-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:32px;
    height:32px;

    flex:0 0 32px;

    border-radius:
        50%
        50%
        50%
        9px;

    background:#003b26;

    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:9px;
}


.floating-event-label small,
.floating-event-label strong{
    display:block;
}


.floating-event-label small{
    margin-bottom:2px;

    color:#a67741;

    font-size:5px;

    font-weight:700;

    letter-spacing:1.3px;
}


.floating-event-label strong{
    color:#003b26;

    font-family:
        'Playfair Display',
        serif;

    font-size:12px;
}



/* =========================================================
   DECORATIVE CIRCLE
========================================================= */

.event-decor-circle{
    position:absolute;

    left:-38px;
    bottom:95px;

    z-index:10;

    display:flex;

    align-items:center;
    justify-content:center;

    width:100px;
    height:100px;

    border:
        1px dashed
        rgba(181,138,82,.50);

    border-radius:50%;

    background:
        rgba(255,250,241,.82);

    backdrop-filter:
        blur(8px);

    color:#a8753d;

    box-shadow:
        0 12px 30px rgba(0,59,38,.07);
}


.event-decor-circle::before{
    content:"";

    position:absolute;

    inset:8px;

    border:
        1px solid
        rgba(181,138,82,.22);

    border-radius:50%;
}


.event-decor-circle span{
    position:relative;

    z-index:2;

    font-family:
        'Playfair Display',
        serif;

    font-size:17px;

    font-weight:600;

    letter-spacing:2px;
}



/* =========================================================
   DECORATIVE DOTS
========================================================= */

.event-decor-dots{
    position:absolute;

    left:-25px;
    top:115px;

    z-index:8;

    display:grid;

    grid-template-columns:
        repeat(3,4px);

    gap:9px;
}


.event-decor-dots span{
    width:4px;
    height:4px;

    border-radius:50%;

    background:
        rgba(181,138,82,.55);
}



/* =========================================================
   RIGHT EVENT PANEL
========================================================= */

.events-occasion-list{
    position:relative;

    display:flex;

    flex-direction:column;

    margin:0;

    padding-top:5px;

    border-top:
        1px solid rgba(181,138,82,.28);
}



/* =========================================================
   RIGHT PANEL HEADING
========================================================= */

.events-list-heading{
    position:relative;

    padding:
        27px
        0
        25px;

    border-bottom:
        1px solid rgba(0,59,38,.12);
}


.events-list-heading > span{
    display:flex;

    align-items:center;

    gap:9px;

    margin-bottom:9px;

    color:#a27440;

    font-size:7px;

    font-weight:700;

    letter-spacing:2.3px;
}


.events-list-heading > span::before{
    content:"";

    width:21px;
    height:1px;

    background:#b58a52;
}


.events-list-heading h3{
    margin:0;

    color:#003b26;

    font-family:
        'Playfair Display',
        serif;

    font-size:34px;

    line-height:1.02;

    font-weight:600;
}


.events-list-heading h3 em{
    color:#a8753d;

    font-weight:500;
}



/* =========================================================
   OCCASION ROW
========================================================= */

.occasion-item{
    position:relative;

    display:grid;

    grid-template-columns:
        54px
        minmax(0,1fr)
        116px
        38px;

    gap:16px;

    align-items:center;

    min-height:151px;

    padding:
        17px
        0;

    border-bottom:
        1px solid rgba(0,59,38,.12);

    transition:
        padding .4s ease;
}


.occasion-item::before{
    content:"";

    position:absolute;

    inset:6px -14px;

    z-index:-1;

    border:
        1px solid rgba(181,138,82,.09);

    border-radius:
        19px;

    background:
        linear-gradient(
            100deg,
            rgba(255,255,255,.88),
            rgba(255,251,243,.76)
        );

    box-shadow:
        0 15px 35px rgba(0,59,38,.06);

    opacity:0;

    transform:scale(.98);

    transition:
        opacity .4s ease,
        transform .4s ease;
}


.occasion-item:hover::before{
    opacity:1;

    transform:scale(1);
}



/* =========================================================
   OCCASION NUMBER
========================================================= */

.occasion-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;

    border-radius:
        50%
        50%
        50%
        12px;

    background:
        linear-gradient(
            145deg,
            #00482f,
            #003522
        );

    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:12px;

    box-shadow:
        0 10px 25px rgba(0,59,38,.18);

    transition:
        transform .4s ease,
        background .4s ease;
}


.occasion-item:hover
.occasion-number{
    transform:
        translateY(-3px)
        rotate(-5deg);

    background:
        linear-gradient(
            145deg,
            #bd8a4e,
            #95602f
        );
}



/* =========================================================
   OCCASION CONTENT
========================================================= */

.occasion-content{
    min-width:0;
}


.occasion-meta{
    margin-bottom:7px;

    color:#a4743f;

    font-size:6px;

    font-weight:700;

    letter-spacing:1.7px;
}


.occasion-content h4{
    margin:
        0
        0
        7px;

    color:#003b26;

    font-family:
        'Playfair Display',
        serif;

    font-size:20px;

    line-height:1.1;

    font-weight:600;

    transition:
        color .35s ease,
        transform .35s ease;
}


.occasion-item:hover
.occasion-content h4{
    color:#a06d37;

    transform:
        translateX(2px);
}


.occasion-content p{
    max-width:270px;

    margin:0;

    color:#747068;

    font-size:9px;

    line-height:1.55;
}



/* =========================================================
   OCCASION IMAGE
========================================================= */

.occasion-image{
    position:relative;

    width:116px;
    height:101px;

    justify-self:end;

    overflow:hidden;

    border:
        4px solid #fffaf1;

    border-radius:
        16px
        16px
        29px
        16px;

    background:#eee6d8;

    box-shadow:
        0 12px 28px rgba(0,59,38,.13);

    transform:
        rotate(1deg);

    transition:
        transform .5s
        cubic-bezier(.16,1,.3,1),
        box-shadow .5s ease;
}


.occasion-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .7s
        cubic-bezier(.16,1,.3,1);
}


.occasion-item:hover
.occasion-image{
    transform:
        translateY(-4px)
        rotate(-1deg);

    box-shadow:
        0 18px 36px rgba(0,59,38,.18);
}


.occasion-item:hover
.occasion-image img{
    transform:scale(1.08);
}



/* =========================================================
   OCCASION ARROW
========================================================= */

.occasion-link{
    display:flex;

    align-items:center;
    justify-content:center;

    width:37px;
    height:37px;

    border:
        1px solid rgba(0,59,38,.18);

    border-radius:50%;

    background:
        rgba(255,252,245,.85);

    color:#003b26;

    text-decoration:none;

    font-size:9px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}


.occasion-item:hover
.occasion-link{
    color:#fff;

    background:#003b26;

    transform:
        rotate(-35deg);
}



/* =========================================================
   LAST OCCASION HIGHLIGHT
========================================================= */

.occasion-item-highlight::before{
    opacity:.70;

    background:
        linear-gradient(
            105deg,
            rgba(0,59,38,.055),
            rgba(181,138,82,.09)
        );
}



/* =========================================================
   EXPERIENCE STRIP
========================================================= */

.events-experience-strip{
    position:relative;

    display:grid;

    grid-template-columns:
        1.15fr
        .82fr
        .82fr
        .82fr;

    gap:15px;

    min-height:285px;

    margin-top:85px;
}



/* =========================================================
   EXPERIENCE TEXT CARD
========================================================= */

.events-experience-copy{
    position:relative;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:
        35px
        38px;

    overflow:hidden;

    border:
        1px solid rgba(181,138,82,.20);

    border-radius:
        25px
        25px
        60px
        25px;

    background:
        linear-gradient(
            135deg,
            #003b26,
            #004d33
        );

    box-shadow:
        0 20px 45px rgba(0,59,38,.15);
}


.events-experience-copy::after{
    content:"EVENTS";

    position:absolute;

    right:-20px;
    bottom:-22px;

    color:
        rgba(255,255,255,.045);

    font-family:
        'Playfair Display',
        serif;

    font-size:70px;

    font-weight:700;

    letter-spacing:4px;
}


.experience-small{
    position:relative;

    z-index:2;

    margin-bottom:11px;

    color:#deb177;

    font-size:7px;

    font-weight:700;

    letter-spacing:2.2px;
}


.events-experience-copy h3{
    position:relative;

    z-index:2;

    max-width:320px;

    margin:
        0
        0
        13px;

    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:31px;

    line-height:1.06;

    font-weight:500;
}


.events-experience-copy h3 em{
    display:block;

    color:#e6bd83;

    font-weight:500;
}


.events-experience-copy p{
    position:relative;

    z-index:2;

    max-width:290px;

    margin:0;

    color:
        rgba(255,255,255,.65);

    font-size:10px;

    line-height:1.65;
}



/* =========================================================
   EVENT GALLERY TILES
========================================================= */

.event-gallery-tile{
    position:relative;

    min-height:285px;

    overflow:hidden;

    border-radius:
        22px
        22px
        45px
        22px;

    text-decoration:none;

    background:#ddd;

    box-shadow:
        0 15px 35px rgba(0,59,38,.10);

    transition:
        transform .5s
        cubic-bezier(.16,1,.3,1),
        box-shadow .5s ease;
}


.event-gallery-tile:nth-child(3){
    transform:
        translateY(15px);
}


.event-gallery-tile img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transition:
        transform .8s
        cubic-bezier(.16,1,.3,1);
}


.event-gallery-overlay{
    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 40%,
            rgba(0,36,23,.82)
        );
}


.event-gallery-content{
    position:absolute;

    left:19px;
    right:19px;
    bottom:19px;

    z-index:3;
}


.event-gallery-content span{
    display:block;

    margin-bottom:4px;

    color:#dfb377;

    font-size:7px;

    font-weight:700;

    letter-spacing:1.5px;
}


.event-gallery-content strong{
    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:18px;

    font-weight:500;
}


.event-gallery-tile:hover{
    transform:
        translateY(-7px);

    box-shadow:
        0 25px 50px rgba(0,59,38,.17);
}


.event-gallery-tile:nth-child(3):hover{
    transform:
        translateY(8px);
}


.event-gallery-tile:hover img{
    transform:scale(1.08);
}



/* =========================================================
   FINAL PROMOTIONAL CTA
========================================================= */

.events-promo-strip{
    position:relative;

    display:grid;

    grid-template-columns:
        minmax(330px,1fr)
        auto
        auto;

    align-items:center;

    gap:35px;

    margin-top:75px;

    padding:
        24px
        25px;

    overflow:hidden;

    border:
        1px solid rgba(181,138,82,.24);

    border-radius:
        24px
        24px
        58px
        24px;

    background:
        rgba(255,252,245,.90);

    box-shadow:
        0 20px 50px rgba(0,59,38,.08);

    backdrop-filter:
        blur(10px);
}


.events-promo-strip::before{
    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:5px;

    background:
        linear-gradient(
            180deg,
            #003b26,
            #b58a52
        );
}



/* =========================================================
   PROMO LEFT
========================================================= */

.events-promo-left{
    display:flex;

    align-items:center;

    gap:20px;
}


.events-promo-number{
    display:flex;

    align-items:center;
    justify-content:center;

    width:90px;
    height:58px;

    flex:0 0 90px;

    border-radius:
        14px
        14px
        28px
        14px;

    background:#003b26;

    color:#fff;

    font-family:
        'Playfair Display',
        serif;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;

    box-shadow:
        0 10px 25px rgba(0,59,38,.18);
}


.events-promo-message > span{
    display:block;

    margin-bottom:5px;

    color:#a4733e;

    font-size:6px;

    font-weight:700;

    letter-spacing:1.9px;
}


.events-promo-message strong{
    display:block;

    max-width:390px;

    color:#003b26;

    font-family:
        'Playfair Display',
        serif;

    font-size:20px;

    line-height:1.15;

    font-weight:600;
}



/* =========================================================
   PROMO NOTE
========================================================= */

.events-promo-note{
    display:flex;

    align-items:center;

    gap:9px;

    padding:
        0
        30px;

    border-left:
        1px solid rgba(181,138,82,.25);

    border-right:
        1px solid rgba(181,138,82,.25);

    color:#78736a;

    font-size:7px;

    font-weight:600;

    white-space:nowrap;
}


.events-promo-note i{
    color:#b58a52;

    font-size:3px;
}



/* =========================================================
   EXPLORE ALL EVENTS BUTTON
========================================================= */

.events-explore{
    margin:0;
}


.events-explore a{
    display:inline-flex;

    align-items:center;

    gap:16px;

    padding:
        7px
        7px
        7px
        21px;

    border-radius:50px;

    background:
        linear-gradient(
            135deg,
            #003b26,
            #004e34
        );

    color:#fff;

    text-decoration:none;

    white-space:nowrap;

    font-size:9px;

    font-weight:700;

    box-shadow:
        0 13px 30px rgba(0,59,38,.18);

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.events-btn-icon{
    display:flex;

    align-items:center;
    justify-content:center;

    width:39px;
    height:39px;

    border-radius:50%;

    background:#fffaf1;

    color:#003b26;

    transition:
        transform .4s ease;
}


.events-explore a:hover{
    color:#fff;

    background:
        linear-gradient(
            135deg,
            #a6743c,
            #bd8a4d
        );

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 38px rgba(0,59,38,.20);
}


.events-explore a:hover
.events-btn-icon{
    transform:
        rotate(-35deg);
}



/* =========================================================
   1200px DESKTOP ADJUSTMENT
========================================================= */

@media (max-width:1199px){

    .events-heading-left h2{
        font-size:58px;
    }


    .events-heading-wrap{
        gap:60px;
    }


    .events-journal{
        grid-template-columns:
            minmax(0,1.08fr)
            minmax(405px,.92fr);

        gap:50px;
    }


    .events-visual-area{
        min-height:740px;

        padding-right:35px;
    }


    .event-main-image{
        height:740px;
    }


    .event-main-caption h3{
        font-size:43px;
    }


    .event-floating-image{
        width:180px;
    }


    .event-floating-photo{
        width:180px;
        height:150px;
    }


    .event-float-top{
        right:-35px;
    }


    .event-float-bottom{
        right:-30px;
    }


    .floating-event-label{
        width:150px;
    }


    .occasion-item{
        grid-template-columns:
            48px
            minmax(0,1fr)
            100px
            34px;

        gap:12px;
    }


    .occasion-number{
        width:43px;
        height:43px;
    }


    .occasion-image{
        width:100px;
        height:90px;
    }


    .occasion-content h4{
        font-size:18px;
    }


    .occasion-content p{
        font-size:8px;
    }


    .events-promo-strip{
        grid-template-columns:
            1fr
            auto;
    }


    .events-promo-note{
        display:none;
    }

}

/* ==========================================================
   TGH EVENTS SECTION
   COMPLETE RESPONSIVE CSS
   991px → 300px
   Paste AFTER existing desktop CSS
========================================================== */


/* ==========================================================
   MAX WIDTH 991px
   TABLET / LARGE MOBILE
========================================================== */

@media (max-width:991px){

    .tgh-events-section{
        padding:105px 0 90px;
    }


    /* ------------------------------------------
       GIANT BACKGROUND TYPOGRAPHY
    ------------------------------------------ */

    .events-giant-word{
        top:25px;
        font-size:145px;
        line-height:.82;
        letter-spacing:10px;
        opacity:.95;
    }

    .events-script-word{
        top:185px;
        right:2%;
        font-size:60px;
        opacity:.75;
    }


    /* ------------------------------------------
       INTRO
    ------------------------------------------ */

    .events-intro{
        margin-bottom:55px;
    }

    .events-small-title{
        justify-content:center;
        margin-bottom:22px;
        text-align:center;
    }

    .events-heading-wrap{
        grid-template-columns:1fr;
        gap:25px;
    }

    .events-heading-left{
        justify-content:center;
        text-align:center;
    }

    .events-heading-number{
        position:absolute;
        top:-8px;
        left:0;

        width:45px;
        height:45px;

        flex:0 0 45px;

        margin:0;

        font-size:11px;
    }

    .events-heading-left h2{
        max-width:650px;
        margin:0 auto;

        font-size:56px;
        line-height:1.02;
        letter-spacing:-1.5px;
    }

    .events-heading-left h2 em{
        display:block;
    }

    .events-heading-left h2 em::after{
        left:50%;
        bottom:-7px;

        width:150px;

        transform:translateX(-50%);
    }

    .events-heading-right{
        max-width:600px;

        margin:0 auto;

        padding:0;

        border-left:0;

        text-align:center;
    }

    .events-heading-label{
        margin-bottom:10px;
    }

    .events-heading-right p{
        max-width:570px;
        margin:0 auto;

        font-size:12px;
        line-height:1.8;
    }


    /* ------------------------------------------
       MAIN JOURNAL
    ------------------------------------------ */

    .events-journal{
        display:block;
    }


    /* ------------------------------------------
       MAIN VISUAL
    ------------------------------------------ */

    .events-visual-area{
        min-height:690px;

        margin-bottom:75px;

        padding-right:0;
    }

    .event-main-image{
        width:calc(100% - 60px);
        height:680px;

        margin:0 auto;

        border-radius:
            34px
            34px
            100px
            34px;
    }

    .event-main-image::before{
        border-radius:
            26px
            26px
            90px
            26px;
    }

    .event-main-caption{
        left:40px;
        right:150px;
        bottom:42px;
    }

    .event-main-caption h3{
        max-width:500px;

        font-size:42px;
    }

    .event-main-caption p{
        max-width:450px;
    }

    .event-main-actions{
        gap:20px;
    }


    /* ------------------------------------------
       FLOATING EVENT IMAGES
    ------------------------------------------ */

    .event-floating-image{
        width:175px;
    }

    .event-floating-photo{
        width:175px;
        height:145px;

        border-width:6px;
    }

    .event-float-top{
        top:100px;
        right:0;
    }

    .event-float-bottom{
        right:5px;
        bottom:105px;
    }

    .floating-event-label{
        width:145px;

        margin-top:-20px;
        margin-left:15px;
    }


    /* ------------------------------------------
       DECORATIONS
    ------------------------------------------ */

    .event-decor-circle{
        left:0;
        bottom:75px;

        width:85px;
        height:85px;
    }

    .event-decor-circle span{
        font-size:14px;
    }

    .event-decor-dots{
        left:5px;
        top:105px;
    }


    /* ------------------------------------------
       RIGHT EVENT PANEL
    ------------------------------------------ */

    .events-occasion-list{
        max-width:760px;

        margin:0 auto;

        padding:0 15px;

        border-top:0;
    }

    .events-list-heading{
        padding:0 0 28px;

        text-align:center;
    }

    .events-list-heading > span{
        justify-content:center;
    }

    .events-list-heading h3{
        font-size:36px;
    }


    /* ------------------------------------------
       EVENT ROW
    ------------------------------------------ */

    .occasion-item{
        grid-template-columns:
            58px
            minmax(0,1fr)
            145px
            42px;

        gap:20px;

        min-height:165px;

        padding:20px 8px;
    }

    .occasion-item::before{
        inset:7px -5px;
    }

    .occasion-number{
        width:52px;
        height:52px;

        font-size:12px;
    }

    .occasion-content h4{
        font-size:22px;
    }

    .occasion-content p{
        max-width:330px;

        font-size:10px;
        line-height:1.6;
    }

    .occasion-image{
        width:145px;
        height:115px;
    }

    .occasion-link{
        width:40px;
        height:40px;
    }


    /* ------------------------------------------
       EXPERIENCE STRIP
    ------------------------------------------ */

    .events-experience-strip{
        grid-template-columns:
            repeat(3,1fr);

        gap:14px;

        margin-top:65px;
    }

    .events-experience-copy{
        grid-column:1 / -1;

        min-height:230px;

        align-items:center;

        padding:35px;

        text-align:center;
    }

    .events-experience-copy h3{
        max-width:520px;

        font-size:35px;
    }

    .events-experience-copy p{
        max-width:430px;
    }

    .event-gallery-tile{
        min-height:260px;
    }

    .event-gallery-tile:nth-child(3){
        transform:none;
    }

    .event-gallery-tile:nth-child(3):hover{
        transform:translateY(-7px);
    }


    /* ------------------------------------------
       PROMO STRIP
    ------------------------------------------ */

    .events-promo-strip{
        grid-template-columns:1fr;

        gap:25px;

        margin-top:60px;

        padding:30px;

        text-align:center;
    }

    .events-promo-left{
        justify-content:center;
    }

    .events-promo-message strong{
        max-width:420px;
    }

    .events-promo-note{
        display:flex;

        justify-content:center;

        padding:18px 0;

        border-top:
            1px solid rgba(181,138,82,.20);

        border-right:0;
        border-bottom:
            1px solid rgba(181,138,82,.20);

        border-left:0;
    }

    .events-explore{
        display:flex;
        justify-content:center;
    }

}



/* ==========================================================
   MAX WIDTH 768px
========================================================== */

@media (max-width:768px){

    .tgh-events-section{
        padding:90px 0 80px;
    }

    .tgh-events-section .container{
        padding-left:22px;
        padding-right:22px;
    }


    /* GIANT EVENTS */

    .events-giant-word{
        top:22px;

        font-size:118px;
        letter-spacing:7px;
    }

    .events-script-word{
        top:165px;
        right:-10px;

        font-size:52px;
    }


    /* INTRO */

    .events-intro{
        margin-bottom:48px;
    }

    .events-small-title{
        gap:10px;

        font-size:8px;
        letter-spacing:2.5px;
    }

    .events-line{
        width:35px;
    }

    .events-heading-number{
        display:none;
    }

    .events-heading-left h2{
        max-width:560px;

        font-size:49px;
        line-height:1.03;
    }

    .events-heading-right{
        max-width:530px;
    }


    /* HERO */

    .events-visual-area{
        min-height:630px;

        margin-bottom:70px;
    }

    .event-main-image{
        width:calc(100% - 35px);
        height:620px;

        margin-left:0;

        border-radius:
            30px
            30px
            85px
            30px;
    }

    .event-main-image::before{
        inset:9px;

        border-radius:
            23px
            23px
            77px
            23px;
    }

    .event-main-top{
        top:25px;
        left:25px;
        right:25px;
    }

    .event-featured-label{
        padding:8px 12px;

        font-size:7px;
    }

    .event-main-caption{
        left:32px;
        right:125px;
        bottom:34px;
    }

    .event-main-kicker{
        font-size:7px;
        letter-spacing:2px;
    }

    .event-main-caption h3{
        font-size:36px;
        line-height:1.05;
    }

    .event-main-caption p{
        max-width:400px;

        font-size:11px;
    }

    .event-main-actions{
        align-items:flex-start;
        flex-direction:column;

        gap:15px;
    }

    .event-memory-badge{
        margin-left:5px;
    }

    .event-image-side-text{
        display:none;
    }


    /* FLOATING PHOTOS */

    .event-floating-image{
        width:150px;
    }

    .event-floating-photo{
        width:150px;
        height:125px;
    }

    .event-float-top{
        top:105px;
        right:-3px;
    }

    .event-float-bottom{
        right:0;
        bottom:90px;
    }

    .floating-event-label{
        width:130px;

        margin-left:10px;

        padding:7px 9px;
    }

    .floating-number{
        width:28px;
        height:28px;

        flex-basis:28px;
    }

    .floating-event-label strong{
        font-size:11px;
    }

    .event-decor-circle{
        display:none;
    }

    .event-decor-dots{
        left:auto;
        right:8px;
        top:auto;
        bottom:30px;
    }


    /* EVENT LIST */

    .events-occasion-list{
        padding:0;
    }

    .events-list-heading h3{
        font-size:32px;
    }

    .occasion-item{
        grid-template-columns:
            50px
            minmax(0,1fr)
            125px
            38px;

        gap:15px;

        min-height:150px;
    }

    .occasion-number{
        width:46px;
        height:46px;
    }

    .occasion-image{
        width:125px;
        height:105px;
    }

    .occasion-content h4{
        font-size:20px;
    }


    /* GALLERY */

    .events-experience-strip{
        margin-top:55px;
    }

    .events-experience-copy{
        min-height:210px;
    }

    .event-gallery-tile{
        min-height:225px;
    }


    /* PROMO */

    .events-promo-strip{
        margin-top:50px;

        padding:27px 22px;
    }

}



/* ==========================================================
   MAX WIDTH 576px
   MOBILE DESIGN
========================================================== */

@media (max-width:576px){

    .tgh-events-section{
        padding:78px 0 68px;
    }

    .tgh-events-section .container{
        padding-left:17px;
        padding-right:17px;
    }


    /* ------------------------------------------
       EVENTS BACKGROUND
    ------------------------------------------ */

    .events-giant-word{
        top:22px;

        font-size:82px;
        line-height:1;

        letter-spacing:4px;

        color:rgba(0,59,38,.055);
    }

    .events-script-word{
        display:none;
    }


    /* ------------------------------------------
       INTRO
    ------------------------------------------ */

    .events-intro{
        margin-bottom:38px;

        text-align:center;
    }

    .events-small-title{
        margin-bottom:17px;

        font-size:7px;
        letter-spacing:2px;
    }

    .events-line{
        width:25px;
    }

    .events-heading-left{
        display:block;
    }

    .events-heading-left h2{
        font-size:40px;
        line-height:1.02;
        letter-spacing:-1px;
    }

    .events-heading-left h2 em::after{
        width:120px;
    }

    .events-heading-wrap{
        gap:22px;
    }

    .events-heading-label{
        font-size:7px;
        letter-spacing:1.6px;
    }

    .events-heading-right p{
        max-width:430px;

        font-size:11px;
        line-height:1.7;
    }


    /* ------------------------------------------
       HERO
    ------------------------------------------ */

    .events-visual-area{
        min-height:auto;

        margin-bottom:55px;

        padding:0;
    }

    .event-main-image{
        width:100%;
        height:590px;

        margin:0;

        border-radius:
            25px
            25px
            65px
            25px;

        box-shadow:
            0 25px 55px rgba(0,59,38,.16),
            0 8px 20px rgba(74,48,22,.08);
    }

    .event-main-image::before{
        inset:8px;

        border-radius:
            19px
            19px
            57px
            19px;
    }

    .event-main-image img{
        object-position:center;
    }

    .event-main-top{
        top:21px;
        left:20px;
        right:20px;
    }

    .event-featured-label{
        padding:7px 10px;

        font-size:6px;
        letter-spacing:1.2px;
    }

    .event-main-year{
        font-size:6px;
        letter-spacing:1.3px;
    }

    .event-main-caption{
        left:25px;
        right:25px;
        bottom:27px;
    }

    .event-main-kicker{
        margin-bottom:10px;

        font-size:6px;
        letter-spacing:1.7px;
    }

    .event-main-kicker::before{
        width:20px;
    }

    .event-main-caption h3{
        max-width:380px;

        margin-bottom:12px;

        font-size:34px;
        line-height:1.02;
    }

    .event-main-caption p{
        max-width:360px;

        margin-bottom:19px;

        font-size:10px;
        line-height:1.6;
    }

    .event-main-actions{
        flex-direction:row;
        align-items:center;

        gap:15px;
    }

    .event-main-link{
        gap:10px;

        padding:
            5px
            5px
            5px
            15px;

        font-size:8px;
    }

    .event-main-link > span{
        width:33px;
        height:33px;
    }

    .memory-icon{
        width:35px;
        height:35px;

        flex-basis:35px;
    }

    .event-memory-badge{
        gap:8px;
    }

    .event-memory-badge strong{
        font-size:10px;
    }

    .event-memory-badge small{
        font-size:5px;
    }


    /* ------------------------------------------
       MOBILE FLOATING IMAGES
       Desktop feel retained
    ------------------------------------------ */

    .event-floating-image{
        position:relative;

        width:calc(50% - 7px);

        display:inline-block;

        vertical-align:top;

        margin-top:14px;

        transform:none !important;
    }

    .event-float-top{
        top:auto;
        right:auto;

        margin-right:10px;
    }

    .event-float-bottom{
        right:auto;
        bottom:auto;
    }

    .event-floating-photo{
        width:100%;
        height:150px;

        border-width:5px;

        border-radius:
            17px
            17px
            35px
            17px;

        transform:none !important;
    }

    .floating-event-label{
        width:calc(100% - 20px);

        margin:
            -20px
            auto
            0;

        padding:7px 9px;
    }

    .event-decor-dots,
    .event-decor-circle{
        display:none;
    }


    /* ------------------------------------------
       RIGHT PANEL
    ------------------------------------------ */

    .events-list-heading{
        padding-bottom:22px;
    }

    .events-list-heading > span{
        font-size:6px;
        letter-spacing:1.7px;
    }

    .events-list-heading h3{
        font-size:29px;
    }


    /* ------------------------------------------
       MOBILE EVENT CARDS
    ------------------------------------------ */

    .occasion-item{
        display:grid;

        grid-template-columns:
            48px
            minmax(0,1fr)
            95px;

        gap:12px;

        min-height:140px;

        padding:18px 5px;
    }

    .occasion-item::before{
        inset:6px 0;

        opacity:.55;

        border-radius:
            16px
            16px
            30px
            16px;
    }

    .occasion-number{
        width:43px;
        height:43px;

        font-size:10px;
    }

    .occasion-content{
        padding-right:0;
    }

    .occasion-meta{
        margin-bottom:5px;

        font-size:5px;
        letter-spacing:1.2px;
    }

    .occasion-content h4{
        margin-bottom:6px;

        font-size:17px;
    }

    .occasion-content p{
        display:-webkit-box;

        overflow:hidden;

        max-width:100%;

        font-size:8px;
        line-height:1.5;

        -webkit-line-clamp:3;
        -webkit-box-orient:vertical;
    }

    .occasion-image{
        width:95px;
        height:90px;

        border-width:3px;

        border-radius:
            13px
            13px
            24px
            13px;
    }

    .occasion-link{
        position:absolute;

        right:8px;
        bottom:13px;

        z-index:5;

        width:29px;
        height:29px;

        background:#fffaf1;

        font-size:7px;
    }


    /* ------------------------------------------
       EXPERIENCE SECTION
    ------------------------------------------ */

    .events-experience-strip{
        display:grid;

        grid-template-columns:
            1fr
            1fr;

        gap:10px;

        min-height:0;

        margin-top:48px;
    }

    .events-experience-copy{
        grid-column:1 / -1;

        min-height:210px;

        padding:28px 24px;

        border-radius:
            22px
            22px
            45px
            22px;
    }

    .experience-small{
        font-size:6px;
        letter-spacing:1.7px;
    }

    .events-experience-copy h3{
        max-width:380px;

        font-size:29px;
    }

    .events-experience-copy p{
        font-size:9px;
    }

    .events-experience-copy::after{
        font-size:55px;
    }

    .event-gallery-tile{
        min-height:210px;

        border-radius:
            17px
            17px
            32px
            17px;
    }

    .event-gallery-tile:nth-child(3){
        transform:none;
    }

    .event-gallery-tile-three{
        grid-column:1 / -1;

        min-height:230px;
    }

    .event-gallery-content{
        left:14px;
        right:14px;
        bottom:14px;
    }

    .event-gallery-content strong{
        font-size:16px;
    }


    /* ------------------------------------------
       FINAL CTA
    ------------------------------------------ */

    .events-promo-strip{
        gap:20px;

        margin-top:45px;

        padding:
            25px
            18px;

        border-radius:
            20px
            20px
            42px
            20px;
    }

    .events-promo-left{
        flex-direction:column;

        gap:12px;

        text-align:center;
    }

    .events-promo-number{
        width:100px;
        height:50px;

        flex-basis:auto;

        font-size:12px;
    }

    .events-promo-message > span{
        font-size:5px;
        letter-spacing:1.5px;
    }

    .events-promo-message strong{
        max-width:340px;

        font-size:20px;
    }

    .events-promo-note{
        flex-wrap:wrap;

        gap:7px;

        padding:14px 0;

        font-size:6px;
    }

    .events-explore a{
        gap:12px;

        padding:
            6px
            6px
            6px
            18px;

        font-size:8px;
    }

    .events-btn-icon{
        width:35px;
        height:35px;
    }

}



/* ==========================================================
   MAX WIDTH 480px
========================================================== */

@media (max-width:480px){

    .tgh-events-section{
        padding:70px 0 60px;
    }

    .tgh-events-section .container{
        padding-left:15px;
        padding-right:15px;
    }


    /* GIANT EVENTS */

    .events-giant-word{
        top:21px;

        font-size:68px;
        letter-spacing:3px;
    }


    /* INTRO */

    .events-small-title{
        font-size:6px;
        letter-spacing:1.7px;
    }

    .events-line{
        width:20px;
    }

    .events-heading-left h2{
        font-size:35px;
    }

    .events-heading-right p{
        font-size:10px;
    }


    /* HERO */

    .event-main-image{
        height:545px;

        border-radius:
            22px
            22px
            55px
            22px;
    }

    .event-main-image::before{
        border-radius:
            16px
            16px
            48px
            16px;
    }

    .event-main-top{
        top:18px;
        left:17px;
        right:17px;
    }

    .event-main-caption{
        left:21px;
        right:21px;
        bottom:23px;
    }

    .event-main-caption h3{
        font-size:30px;
    }

    .event-main-caption p{
        font-size:9px;
    }

    .event-main-actions{
        align-items:flex-start;
        flex-direction:column;

        gap:12px;
    }

    .event-memory-badge{
        margin-left:2px;
    }


    /* FLOATING PHOTOS */

    .event-floating-photo{
        height:130px;
    }

    .floating-event-label{
        gap:7px;

        width:calc(100% - 12px);

        padding:6px 7px;
    }

    .floating-number{
        width:25px;
        height:25px;

        flex-basis:25px;

        font-size:7px;
    }

    .floating-event-label strong{
        font-size:10px;
    }


    /* EVENT ROW */

    .occasion-item{
        grid-template-columns:
            40px
            minmax(0,1fr)
            82px;

        gap:9px;

        min-height:125px;

        padding:15px 4px;
    }

    .occasion-number{
        width:36px;
        height:36px;

        font-size:9px;
    }

    .occasion-content h4{
        font-size:15px;
    }

    .occasion-content p{
        font-size:7px;

        -webkit-line-clamp:3;
    }

    .occasion-image{
        width:82px;
        height:78px;
    }

    .occasion-link{
        right:6px;
        bottom:10px;

        width:26px;
        height:26px;
    }


    /* EXPERIENCE */

    .events-experience-copy{
        min-height:195px;

        padding:25px 18px;
    }

    .events-experience-copy h3{
        font-size:26px;
    }

    .event-gallery-tile{
        min-height:180px;
    }

    .event-gallery-tile-three{
        min-height:210px;
    }


    /* PROMO */

    .events-promo-strip{
        margin-top:40px;
    }

}



/* ==========================================================
   MAX WIDTH 360px
========================================================== */

@media (max-width:360px){

    .tgh-events-section{
        padding:62px 0 55px;
    }

    .tgh-events-section .container{
        padding-left:12px;
        padding-right:12px;
    }


    /* EVENTS */

    .events-giant-word{
        top:20px;

        font-size:57px;
        letter-spacing:2px;
    }


    /* INTRO */

    .events-small-title{
        gap:7px;

        font-size:5.5px;
        letter-spacing:1.4px;
    }

    .events-line{
        width:16px;
    }

    .events-heading-left h2{
        font-size:31px;
    }

    .events-heading-label{
        font-size:6px;
    }

    .events-heading-right p{
        font-size:9px;
    }


    /* HERO */

    .event-main-image{
        height:510px;
    }

    .event-featured-label{
        font-size:5px;
    }

    .event-main-year{
        display:none;
    }

    .event-main-caption{
        left:18px;
        right:18px;
        bottom:20px;
    }

    .event-main-kicker{
        font-size:5px;
    }

    .event-main-caption h3{
        font-size:27px;
    }

    .event-main-caption p{
        font-size:8px;
    }

    .event-main-link{
        font-size:7px;
    }

    .event-main-link > span{
        width:30px;
        height:30px;
    }


    /* FLOATING */

    .event-floating-photo{
        height:115px;
    }

    .floating-event-label{
        margin-top:-16px;
    }

    .floating-event-label small{
        font-size:4px;
    }

    .floating-event-label strong{
        font-size:9px;
    }


    /* EVENT PANEL */

    .events-list-heading h3{
        font-size:26px;
    }

    .occasion-item{
        grid-template-columns:
            34px
            minmax(0,1fr)
            72px;

        gap:7px;

        min-height:115px;
    }

    .occasion-number{
        width:31px;
        height:31px;

        font-size:8px;
    }

    .occasion-meta{
        font-size:4.5px;
        letter-spacing:.8px;
    }

    .occasion-content h4{
        font-size:14px;
    }

    .occasion-content p{
        font-size:6.5px;
    }

    .occasion-image{
        width:72px;
        height:68px;
    }

    .occasion-link{
        width:23px;
        height:23px;

        font-size:5px;
    }


    /* GALLERY */

    .events-experience-copy{
        min-height:180px;
    }

    .events-experience-copy h3{
        font-size:23px;
    }

    .event-gallery-tile{
        min-height:160px;
    }

    .event-gallery-tile-three{
        min-height:185px;
    }

    .event-gallery-content strong{
        font-size:14px;
    }


    /* CTA */

    .events-promo-message strong{
        font-size:18px;
    }

}



/* ==========================================================
   MAX WIDTH 300px
   VERY SMALL MOBILE
========================================================== */

@media (max-width:300px){

    .tgh-events-section{
        padding:58px 0 50px;
    }

    .tgh-events-section .container{
        padding-left:9px;
        padding-right:9px;
    }


    /* GIANT EVENTS */

    .events-giant-word{
        top:19px;

        font-size:47px;
        letter-spacing:1px;
    }


    /* INTRO */

    .events-small-title{
        font-size:5px;
    }

    .events-line{
        width:12px;
    }

    .events-heading-left h2{
        font-size:27px;
    }

    .events-heading-right p{
        font-size:8px;
    }


    /* HERO */

    .event-main-image{
        height:470px;

        border-radius:
            18px
            18px
            45px
            18px;
    }

    .event-main-top{
        top:15px;
        left:14px;
        right:14px;
    }

    .event-featured-label{
        padding:6px 8px;

        font-size:4.5px;
        letter-spacing:.8px;
    }

    .event-main-caption{
        left:15px;
        right:15px;
        bottom:17px;
    }

    .event-main-caption h3{
        font-size:24px;
    }

    .event-main-caption p{
        font-size:7.5px;
    }

    .event-memory-badge{
        display:none;
    }


    /* FLOATING IMAGES */

    .event-floating-photo{
        height:100px;

        border-width:4px;
    }

    .floating-event-label{
        gap:5px;

        padding:5px;

        border-radius:
            10px
            10px
            18px
            10px;
    }

    .floating-number{
        width:22px;
        height:22px;

        flex-basis:22px;
    }

    .floating-event-label strong{
        font-size:8px;
    }


    /* EVENT ROW */

    .occasion-item{
        grid-template-columns:
            30px
            minmax(0,1fr)
            62px;

        gap:5px;

        min-height:105px;

        padding:13px 2px;
    }

    .occasion-number{
        width:27px;
        height:27px;

        font-size:7px;
    }

    .occasion-content h4{
        font-size:12px;
    }

    .occasion-content p{
        font-size:6px;

        -webkit-line-clamp:2;
    }

    .occasion-image{
        width:62px;
        height:60px;
    }

    .occasion-link{
        right:3px;
        bottom:8px;

        width:20px;
        height:20px;

        font-size:4px;
    }


    /* EXPERIENCE */

    .events-experience-strip{
        gap:7px;
    }

    .events-experience-copy{
        min-height:165px;

        padding:20px 13px;
    }

    .experience-small{
        font-size:5px;
    }

    .events-experience-copy h3{
        font-size:21px;
    }

    .events-experience-copy p{
        font-size:7px;
    }

    .event-gallery-tile{
        min-height:145px;
    }

    .event-gallery-tile-three{
        min-height:170px;
    }

    .event-gallery-content{
        left:10px;
        bottom:10px;
    }

    .event-gallery-content strong{
        font-size:12px;
    }


    /* FINAL CTA */

    .events-promo-strip{
        padding:
            20px
            12px;
    }

    .events-promo-number{
        width:85px;
        height:43px;

        font-size:10px;
    }

    .events-promo-message strong{
        font-size:16px;
    }

    .events-promo-note{
        font-size:5px;
    }

    .events-explore a{
        padding:
            5px
            5px
            5px
            13px;

        font-size:7px;
    }

    .events-btn-icon{
        width:30px;
        height:30px;
    }

}

/* =========================================================
   MOBILE - FLOATING EVENT CARDS SIDE BY SIDE
   Only fixes Birthday + Together cards
========================================================= */

@media (max-width:576px){

    .events-visual-area{
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        align-items:flex-start;
        column-gap:10px;
    }

    /* Main hero full width */
    .event-main-image{
        flex:0 0 100%;
        width:100%;
    }

    /* Both mini cards */
    .event-floating-image{
        position:relative !important;

        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;

        flex:0 0 calc(50% - 5px);
        width:calc(50% - 5px);

        margin:14px 0 0 !important;

        transform:none !important;
    }

    .event-float-top,
    .event-float-bottom{
        top:auto !important;
        right:auto !important;
        bottom:auto !important;
        left:auto !important;
    }

    /* Images */
    .event-floating-photo{
        width:100%;
        height:130px;

        transform:none !important;
    }

    /* White label box */
    .floating-event-label{
        width:calc(100% - 10px);

        margin:-18px auto 0;

        min-height:43px;

        position:relative;
        z-index:5;
    }
}


/* =========================
   480px
========================= */

@media (max-width:480px){

    .events-visual-area{
        column-gap:8px;
    }

    .event-floating-image{
        flex-basis:calc(50% - 4px);
        width:calc(50% - 4px);
    }

    .event-floating-photo{
        height:115px;
    }
}


/* =========================
   360px
========================= */

@media (max-width:360px){

    .event-floating-photo{
        height:105px;
    }

    .floating-event-label{
        margin-top:-15px;
        min-height:39px;
    }
}


/* =========================
   300px
========================= */

@media (max-width:300px){

    .events-visual-area{
        column-gap:6px;
    }

    .event-floating-image{
        flex-basis:calc(50% - 3px);
        width:calc(50% - 3px);
    }

    .event-floating-photo{
        height:90px;
    }
}

/* Home Page Reservation Section */
.tgh-reservation-cta{
    position:relative;
    padding:120px 0 125px;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 78% 45%,
            rgba(191,146,83,.13),
            transparent 30%
        ),
        linear-gradient(
            115deg,
            #002f20 0%,
            #003b26 52%,
            #00472f 100%
        );
}

.reservation-bg-text{
    position:absolute;

    left:-15px;
    bottom:-35px;

    z-index:-1;

    color:rgba(255,255,255,.025);

    font-family:'Playfair Display',serif;
    font-size:190px;
    line-height:1;

    font-style:italic;
    font-weight:600;

    letter-spacing:-8px;

    pointer-events:none;
    user-select:none;
}

.tgh-reservation-cta::before{
    content:"";

    position:absolute;

    width:430px;
    height:430px;

    right:-190px;
    top:-210px;

    border-radius:50%;

    border:
        1px solid rgba(220,177,112,.10);

    box-shadow:
        0 0 0 35px rgba(220,177,112,.025),
        0 0 0 70px rgba(220,177,112,.012);

    z-index:-1;
}

.tgh-reservation-cta::after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    left:-150px;
    top:-150px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(181,138,82,.08),
            transparent 68%
        );

    z-index:-1;
}

.reservation-cta-wrap{
    position:relative;

    display:grid;

    grid-template-columns:
        .92fr
        130px
        1.08fr;

    gap:45px;

    align-items:center;

    min-height:570px;
}

.reservation-cta-content{
    position:relative;
    z-index:5;
}

.reservation-label{
    display:flex;

    align-items:center;

    gap:13px;

    margin-bottom:20px;

    color:#ddb276;

    font-size:9px;

    font-weight:700;

    letter-spacing:3.5px;
}

.reservation-label-line{
    position:relative;

    width:42px;
    height:1px;

    background:#d7a968;
}

.reservation-label-line::after{
    content:"";

    position:absolute;

    right:-5px;
    top:50%;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#ddb276;

    transform:translateY(-50%);
}

.reservation-cta-content h2{
    max-width:550px;

    margin:0 0 24px;

    color:#fffdf8;

    font-family:'Playfair Display',serif;

    font-size:57px;

    line-height:1.07;

    font-weight:500;

    letter-spacing:-1.5px;

    text-shadow:
        0 10px 30px rgba(0,0,0,.15);
}

.reservation-cta-content h2 em{
    display:block;

    margin-top:6px;

    color:#ddb276;

    font-weight:400;
}

.reservation-cta-content > p{
    max-width:490px;

    margin:0 0 35px;

    color:rgba(255,255,255,.68);

    font-size:14px;

    line-height:1.85;
}

.reservation-main-btn{
    position:relative;

    display:inline-grid;

    grid-template-columns:
        48px
        auto
        39px;

    gap:14px;

    align-items:center;

    padding:
        7px
        8px
        7px
        7px;

    min-width:305px;

    border-radius:60px;

    border:
        1px solid rgba(224,181,119,.30);

    background:
        rgba(255,250,240,.97);

    color:#003b26;

    text-decoration:none;

    box-shadow:
        0 18px 40px rgba(0,0,0,.18);

    overflow:hidden;

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        box-shadow .45s ease,
        background .45s ease;
}

.reservation-main-btn::before{
    content:"";

    position:absolute;

    top:-30%;
    left:-60%;

    width:25%;
    height:160%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.75),
            transparent
        );

    transform:skewX(-20deg);

    transition:left .7s ease;

    pointer-events:none;
}

.reservation-main-btn:hover::before{
    left:125%;
}

.reservation-main-btn:hover{
    color:#003b26;

    background:#e3b574;

    transform:translateY(-5px);

    box-shadow:
        0 25px 50px rgba(0,0,0,.24);
}

.reservation-btn-icon{
    position:relative;
    z-index:2;

    width:48px;
    height:48px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #00472f,
            #002f20
        );

    color:#fff;

    font-size:15px;

    box-shadow:
        0 7px 18px rgba(0,59,38,.24);

    transition:
        transform .45s ease;
}

.reservation-main-btn:hover
.reservation-btn-icon{
    transform:rotate(-8deg) scale(1.05);
}

.reservation-btn-text{
    position:relative;
    z-index:2;

    display:flex;

    flex-direction:column;

    text-align:left;
}

.reservation-btn-text small{
    margin-bottom:2px;

    color:#a57740;

    font-size:7px;

    font-weight:700;

    letter-spacing:1.5px;
}

.reservation-btn-text strong{
    color:#003b26;

    font-size:12px;

    font-weight:700;
}

.reservation-btn-arrow{
    position:relative;
    z-index:2;

    width:37px;
    height:37px;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:
        1px solid rgba(0,59,38,.16);

    color:#003b26;

    font-size:10px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}

.reservation-main-btn:hover
.reservation-btn-arrow{
    background:#003b26;

    color:#fff;

    transform:rotate(-35deg);
}

.reservation-center-mark{
    position:relative;

    z-index:8;

    display:flex;

    align-items:center;
    justify-content:center;
}

.reservation-center-mark::before{
    content:"";

    position:absolute;

    top:-180px;
    bottom:-180px;

    left:50%;

    width:1px;

    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(221,178,118,.20),
            rgba(221,178,118,.35),
            rgba(221,178,118,.20),
            transparent
        );

    transform:translateX(-50%);

    z-index:-1;
}

.reservation-mark-circle{
    position:relative;

    width:112px;
    height:112px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:
        1px solid rgba(225,181,117,.50);

    background:
        linear-gradient(
            145deg,
            #fffaf0,
            #f1dfc1
        );

    box-shadow:
        0 20px 45px rgba(0,0,0,.20),
        0 0 0 7px rgba(255,255,255,.035);

    transform:rotate(-5deg);

    transition:
        transform .5s ease;
}

.reservation-mark-circle:hover{
    transform:
        rotate(0deg)
        scale(1.05);
}

.reservation-mark-circle::before{
    content:"";

    position:absolute;

    inset:8px;

    border-radius:50%;

    border:
        1px dashed rgba(0,59,38,.22);
}

.reservation-mark-circle span,
.reservation-mark-circle strong,
.reservation-mark-circle small,
.reservation-mark-circle i{
    position:relative;
    z-index:2;
}

.reservation-mark-circle span{
    color:#a6773f;

    font-size:6px;

    font-weight:700;

    letter-spacing:2px;
}

.reservation-mark-circle i{
    margin:6px 0 3px;

    color:#003b26;

    font-size:15px;
}

.reservation-mark-circle strong{
    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:21px;

    line-height:1;
}

.reservation-mark-circle small{
    margin-top:3px;

    color:#8e765a;

    font-size:6px;

    letter-spacing:2px;
}

.reservation-visual{
    position:relative;

    min-height:570px;
}

.reservation-main-photo{
    position:absolute;

    top:0;
    right:0;

    width:82%;
    height:535px;

    overflow:hidden;

    border-radius:
        170px
        25px
        25px
        25px;

    border:
        1px solid rgba(225,181,117,.30);

    box-shadow:
        0 35px 75px rgba(0,0,0,.27),
        0 0 0 7px rgba(255,255,255,.035);

    transition:
        transform .65s cubic-bezier(.16,1,.3,1),
        box-shadow .65s ease;
}

.reservation-main-photo::after{
    content:"";

    position:absolute;

    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(0,35,23,.22) 72%,
            rgba(0,30,20,.55) 100%
        );

    pointer-events:none;
}

.reservation-main-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    filter:
        saturate(1.06)
        contrast(1.03)
        brightness(.96);

    transition:
        transform 1s cubic-bezier(.16,1,.3,1);
}

.reservation-main-photo:hover{
    transform:translateY(-7px);

    box-shadow:
        0 45px 90px rgba(0,0,0,.32),
        0 0 0 7px rgba(255,255,255,.05);
}

.reservation-main-photo:hover img{
    transform:scale(1.055);
}

.reservation-small-photo{
    position:absolute;

    left:-10px;
    top:68px;

    z-index:5;

    width:175px;
    height:215px;

    overflow:hidden;

    border-radius:
        22px
        22px
        70px
        22px;

    border:
        6px solid #f8ead2;

    box-shadow:
        0 25px 55px rgba(0,0,0,.28);

    transform:rotate(-5deg);

    transition:
        transform .5s cubic-bezier(.16,1,.3,1);
}

.reservation-small-photo img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .7s ease;
}

.reservation-small-photo:hover{
    transform:
        rotate(-1deg)
        translateY(-7px);
}

.reservation-small-photo:hover img{
    transform:scale(1.07);
}

.reservation-table-note{
    position:absolute;

    right:25px;
    bottom:5px;

    z-index:7;

    display:flex;

    align-items:center;

    gap:12px;

    min-width:225px;

    padding:10px 17px 10px 10px;

    border-radius:60px;

    border:
        1px solid rgba(181,138,82,.30);

    background:
        rgba(255,250,240,.96);

    backdrop-filter:blur(12px);

    box-shadow:
        0 17px 38px rgba(0,0,0,.22);
}

.reservation-note-icon{
    width:42px;
    height:42px;

    flex-shrink:0;

    display:flex;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#003b26;

    color:#fff;

    font-size:13px;
}

.reservation-table-note > div:last-child{
    display:flex;
    flex-direction:column;
}

.reservation-table-note span{
    margin-bottom:2px;

    color:#a57842;

    font-size:6px;

    font-weight:700;

    letter-spacing:1.4px;
}

.reservation-table-note strong{
    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:13px;

    font-weight:600;
}

.reservation-decor-line{
    position:absolute;

    left:4%;
    bottom:38px;

    width:110px;
    height:110px;

    border-radius:50%;

    border:
        1px solid rgba(221,178,118,.28);

    z-index:1;
}

.reservation-decor-line::after{
    content:"";

    position:absolute;

    inset:10px;

    border-radius:50%;

    border:
        1px dashed rgba(221,178,118,.16);
}

.reservation-decor-dot{
    position:absolute;

    left:20px;
    bottom:95px;

    width:8px;
    height:8px;

    border-radius:50%;

    background:#ddb276;

    box-shadow:
        17px 11px 0 rgba(221,178,118,.55),
        5px 26px 0 rgba(221,178,118,.30);

    z-index:3;
}

@media(max-width:1199px){

    .reservation-cta-wrap{
        grid-template-columns:
            .95fr
            90px
            1.05fr;

        gap:28px;
    }

    .reservation-cta-content h2{
        font-size:49px;
    }

    .reservation-main-photo{
        width:84%;
    }

    .reservation-small-photo{
        width:145px;
        height:185px;
    }

    .reservation-mark-circle{
        width:90px;
        height:90px;
    }

}

@media(max-width:991px){

    .tgh-reservation-cta{
        padding:85px 0 95px;
    }

    .reservation-cta-wrap{
        grid-template-columns:1fr;

        gap:50px;

        min-height:auto;
    }

    .reservation-cta-content{
        max-width:650px;

        margin:auto;

        text-align:center;
    }

    .reservation-label{
        justify-content:center;
    }

    .reservation-cta-content h2{
        max-width:650px;

        font-size:48px;
    }

    .reservation-cta-content > p{
        margin:
            0 auto 32px;
    }

    .reservation-center-mark{
        position:absolute;

        left:50%;
        top:48%;

        transform:translate(-50%,-50%);

        pointer-events:none;
    }

    .reservation-center-mark::before{
        display:none;
    }

    .reservation-mark-circle{
        width:95px;
        height:95px;
    }

    .reservation-visual{
        max-width:680px;

        width:100%;

        min-height:550px;

        margin:auto;
    }

    .reservation-main-photo{
        width:82%;
        height:510px;
    }

}

@media(max-width:576px){

    .tgh-reservation-cta{
        padding:65px 0 75px;
    }

    .reservation-bg-text{
        font-size:100px;

        bottom:-10px;
    }

    .reservation-label{
        margin-bottom:15px;

        font-size:8px;

        letter-spacing:2.4px;
    }

    .reservation-label-line{
        width:28px;
    }

    .reservation-cta-content h2{
        margin-bottom:18px;

        font-size:37px;

        line-height:1.08;
    }

    .reservation-cta-content > p{
        max-width:350px;

        margin-bottom:27px;

        font-size:13px;

        line-height:1.7;
    }

    .reservation-main-btn{
        grid-template-columns:
            43px
            auto
            34px;

        gap:10px;

        min-width:285px;
    }

    .reservation-btn-icon{
        width:43px;
        height:43px;

        font-size:13px;
    }

    .reservation-btn-arrow{
        width:33px;
        height:33px;
    }

    .reservation-center-mark{
        display:none;
    }

    .reservation-cta-wrap{
        gap:38px;
    }

    .reservation-visual{
        min-height:420px;
    }

    .reservation-main-photo{
        top:0;
        right:0;

        width:88%;
        height:390px;

        border-radius:
            100px
            20px
            20px
            20px;
    }

    .reservation-small-photo{
        left:0;
        top:55px;

        width:115px;
        height:145px;

        border-width:4px;

        border-radius:
            16px
            16px
            45px
            16px;
    }

    .reservation-table-note{
        right:5px;
        bottom:0;

        min-width:190px;

        padding:
            8px
            13px
            8px
            8px;
    }

    .reservation-note-icon{
        width:36px;
        height:36px;

        font-size:11px;
    }

    .reservation-table-note strong{
        font-size:11px;
    }

    .reservation-decor-line{
        display:none;
    }

    .reservation-decor-dot{
        display:none;
    }

}

@media(min-width:992px){

    .tgh-reservation-cta{
        padding:90px 0 95px;

        background:
            radial-gradient(
                circle at 75% 45%,
                rgba(181,138,82,.15),
                transparent 27%
            ),
            radial-gradient(
                circle at 12% 80%,
                rgba(255,255,255,.035),
                transparent 22%
            ),
            linear-gradient(
                110deg,
                #002f20 0%,
                #003b26 48%,
                #06452f 100%
            );
    }

    .reservation-cta-wrap{
        grid-template-columns:
            1fr
            105px
            1.15fr;

        gap:24px;

        max-width:1080px;
        min-height:510px;

        margin:0 auto;
    }

    .reservation-cta-content{
        padding-left:10px;
    }

    .reservation-label{
        margin-bottom:17px;

        font-size:10px;

        letter-spacing:3px;
    }

    .reservation-cta-content h2{
        max-width:510px;

        margin-bottom:21px;

        font-size:55px;

        line-height:1.02;
    }

    .reservation-cta-content h2 em{
        margin-top:5px;
    }

    .reservation-cta-content > p{
        max-width:465px;

        margin-bottom:28px;

        font-size:13px;

        line-height:1.75;
    }

    .reservation-main-btn{
        min-width:315px;

        padding:8px;

        box-shadow:
            0 16px 40px rgba(0,0,0,.25),
            0 0 0 1px rgba(255,255,255,.06);
    }

    .reservation-btn-icon{
        width:50px;
        height:50px;
    }

    .reservation-center-mark{
        z-index:15;

        transform:translateX(12px);
    }

    .reservation-mark-circle{
        width:105px;
        height:105px;

        box-shadow:
            0 18px 45px rgba(0,0,0,.32),
            0 0 0 6px rgba(255,255,255,.04);
    }

    .reservation-visual{
        min-height:510px;
    }

    .reservation-main-photo{
        top:0;
        right:0;

        width:82%;
        height:500px;

        border-radius:26px;

        border:
            1px solid rgba(221,178,118,.30);

        box-shadow:
            0 32px 70px rgba(0,0,0,.34),
            0 0 0 6px rgba(255,255,255,.035);

        transform:none;
    }

    .reservation-main-photo:hover{
        transform:translateY(-5px);
    }

    .reservation-main-photo img{
        filter:
            saturate(1.08)
            contrast(1.04)
            brightness(.94);
    }

    .reservation-small-photo{
        left:-20px;
        top:52px;

        width:165px;
        height:205px;

        border:5px solid #f4dfbc;

        border-radius:22px;

        transform:rotate(-5deg);

        box-shadow:
            0 25px 55px rgba(0,0,0,.38);
    }

    .reservation-small-photo:hover{
        transform:
            rotate(-2deg)
            translateY(-6px);
    }

    .reservation-table-note{
        right:20px;
        bottom:-4px;

        min-width:225px;

        padding:10px 17px 10px 10px;

        box-shadow:
            0 18px 42px rgba(0,0,0,.30);
    }

    .reservation-visual::before{
        content:"";

        position:absolute;

        top:28px;
        right:-22px;

        width:78%;
        height:490px;

        border:
            1px solid rgba(221,178,118,.16);

        border-radius:26px;

        z-index:-1;
    }

    .reservation-visual::after{
        content:"";

        position:absolute;

        width:175px;
        height:175px;

        right:-65px;
        bottom:-45px;

        border-radius:50%;

        background:
            radial-gradient(
                circle,
                rgba(221,178,118,.12),
                transparent 68%
            );

        z-index:-1;
    }

    .reservation-decor-line{
        width:95px;
        height:95px;

        left:4px;
        bottom:20px;

        opacity:.75;
    }

    .reservation-bg-text{
        left:-5px;
        bottom:-30px;

        font-size:170px;

        color:rgba(255,255,255,.022);
    }

}

@media(max-width:576px){

    .tgh-reservation-cta{
        padding:48px 0 52px;
    }

    .reservation-cta-wrap{
        display:flex;
        flex-direction:column;
        gap:25px;
        min-height:auto;
    }

    .reservation-cta-content{
        width:100%;
        max-width:370px;
        margin:0 auto;
        padding:0 5px;
        text-align:center;
    }

    .reservation-label{
        justify-content:center;
        margin-bottom:13px;
        font-size:7px;
        letter-spacing:2.4px;
    }

    .reservation-label-line{
        width:30px;
    }

    .reservation-cta-content h2{
        max-width:350px;
        margin:0 auto 14px;

        font-size:34px;
        line-height:1.04;
        letter-spacing:-1px;
    }

    .reservation-cta-content h2 em{
        margin-top:4px;
    }

    .reservation-cta-content > p{
        max-width:340px;
        margin:0 auto 20px;

        font-size:12px;
        line-height:1.6;
    }

    .reservation-main-btn{
        grid-template-columns:42px 1fr 33px;

        width:100%;
        max-width:285px;
        min-width:0;

        margin:0 auto;

        gap:9px;
        padding:6px;

        text-align:left;
    }

    .reservation-btn-icon{
        width:42px;
        height:42px;
        font-size:12px;
    }

    .reservation-btn-text small{
        font-size:6px;
        letter-spacing:1.3px;
    }

    .reservation-btn-text strong{
        font-size:11px;
    }

    .reservation-btn-arrow{
        width:31px;
        height:31px;
    }

    .reservation-center-mark{
        display:none;
    }

    .reservation-visual{
        position:relative;

        width:100%;
        max-width:350px;

        min-height:330px;

        margin:0 auto;
    }

    .reservation-main-photo{
        position:absolute;

        top:0;
        right:0;

        width:92%;
        height:315px;

        border-radius:24px;

        border:1px solid rgba(221,178,118,.30);

        box-shadow:
            0 20px 45px rgba(0,0,0,.25);

        overflow:hidden;
    }

    .reservation-main-photo img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    .reservation-small-photo{
        top:28px;
        left:0;

        width:94px;
        height:120px;

        border:4px solid #f4dfbc;

        border-radius:16px;

        transform:rotate(-4deg);

        box-shadow:
            0 15px 32px rgba(0,0,0,.28);
    }

    .reservation-table-note{
        right:7px;
        bottom:-2px;

        min-width:178px;

        gap:8px;

        padding:7px 11px 7px 7px;

        border-radius:50px;
    }

    .reservation-note-icon{
        width:34px;
        height:34px;

        font-size:10px;
    }

    .reservation-table-note span{
        font-size:5px;
        letter-spacing:1px;
    }

    .reservation-table-note strong{
        font-size:10px;
    }

    .reservation-bg-text{
        font-size:75px;
        bottom:-8px;
    }

    .reservation-decor-line,
    .reservation-decor-dot{
        display:none;
    }

}

/* Home Page Testimonial Section */
.tgh-guestbook{
    position:relative;
    padding:115px 0 120px;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(181,138,82,.10),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #faf7ef 0%,
            #f4eddf 100%
        );
}

.guestbook-outline-text{
    position:absolute;
    left:-22px;
    bottom:-25px;

    z-index:-1;

    font-family:'Playfair Display',serif;
    font-size:150px;
    font-weight:600;

    line-height:1;

    letter-spacing:-5px;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.055);

    pointer-events:none;
    user-select:none;
}

.tgh-guestbook::before{
    content:"";

    position:absolute;

    width:350px;
    height:350px;

    right:-175px;
    top:-175px;

    border-radius:50%;

    border:1px solid rgba(0,59,38,.07);

    box-shadow:
        0 0 0 35px rgba(0,59,38,.018),
        0 0 0 70px rgba(0,59,38,.010);

    z-index:-1;
}

.guestbook-heading{
    display:grid;

    grid-template-columns:
        1.2fr
        .8fr;

    gap:90px;

    align-items:end;

    max-width:1120px;

    margin:
        0 auto
        55px;
}

.guestbook-kicker{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:17px;

    color:#9e7443;

    font-size:8px;
    font-weight:700;

    letter-spacing:3px;
}

.guestbook-kicker span{
    position:relative;

    width:42px;
    height:1px;

    background:#b58a52;
}

.guestbook-kicker span::after{
    content:"";

    position:absolute;

    right:-5px;
    top:50%;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#b58a52;

    transform:translateY(-50%);
}

.guestbook-heading-left h2{
    max-width:650px;

    margin:0;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:55px;
    line-height:1.04;

    font-weight:500;

    letter-spacing:-1.5px;
}

.guestbook-heading-left h2 em{
    display:block;

    margin-top:5px;

    color:#a87943;

    font-weight:400;
}

.guestbook-heading-right{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:28px;

    padding-bottom:5px;
}

.guestbook-heading-right > p{
    max-width:260px;

    margin:0;

    color:#6e7871;

    font-size:11px;
    line-height:1.75;
}

.guestbook-rating{
    flex-shrink:0;

    display:flex;
    align-items:center;

    gap:11px;
}

.guestbook-rating > strong{
    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:35px;
    line-height:1;

    font-weight:600;
}

.guestbook-rating > div{
    display:flex;
    flex-direction:column;

    gap:4px;
}

.guestbook-stars{
    display:flex;

    gap:2px;

    color:#b9894f;

    font-size:7px;
}

.guestbook-rating small{
    color:#8c948e;

    font-size:6px;

    text-transform:uppercase;

    letter-spacing:1px;
}

.guestbook-stage{
    position:relative;

    max-width:1120px;

    margin:0 auto;

    padding:
        38px
        70px
        28px
        100px;

    background:
        linear-gradient(
            120deg,
            #003b26,
            #004b32
        );

    border-radius:30px;

    box-shadow:
        0 32px 75px rgba(0,59,38,.20);

    overflow:visible;
}

.guestbook-stage::before{
    content:"";

    position:absolute;

    inset:13px;

    border:
        1px solid rgba(230,190,132,.18);

    border-radius:22px;

    pointer-events:none;
}

.guestbook-stage::after{
    content:"";

    position:absolute;

    right:-12px;
    top:34px;

    width:72px;
    height:72px;

    border-top:
        1px solid rgba(181,138,82,.55);

    border-right:
        1px solid rgba(181,138,82,.55);

    border-radius:
        0 25px 0 0;

    pointer-events:none;
}

.guestbook-quote-mark{
    position:absolute;

    top:-31px;
    left:42px;

    z-index:15;

    width:68px;
    height:68px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding-top:16px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #c8985c,
            #a77740
        );

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:58px;

    box-shadow:
        0 15px 32px rgba(0,0,0,.20);
}

.guestbook-side-note{
    position:absolute;

    left:28px;
    top:50%;

    z-index:6;

    display:flex;
    align-items:center;

    gap:12px;

    color:rgba(255,255,255,.45);

    font-size:6px;
    font-weight:600;

    letter-spacing:2px;

    white-space:nowrap;

    transform:
        translate(-50%,-50%)
        rotate(-90deg);

    transform-origin:center;
}

.guestbook-side-note span{
    width:40px;
    height:1px;

    background:rgba(216,175,115,.55);
}

.tghGuestbookSlider{
    position:relative;

    z-index:5;

    width:100%;

    overflow:hidden;
}

.guestbook-review{
    position:relative;

    min-height:330px;

    display:grid;

    grid-template-columns:
        70px
        minmax(0,1fr)
        100px;

    gap:25px;

    align-items:stretch;

    padding:
        35px
        32px;

    overflow:hidden;

    border-radius:
        18px
        18px
        55px
        18px;

    background:
        linear-gradient(
            120deg,
            #fffdf7,
            #f7eddd
        );

    box-shadow:
        0 18px 45px rgba(0,0,0,.18);
}

.guestbook-review::before{
    content:"";

    position:absolute;

    left:94px;
    top:0;

    width:1px;
    height:100%;

    background:
        rgba(181,138,82,.17);
}

.guestbook-review::after{
    content:"";

    position:absolute;

    inset:0;

    opacity:.25;

    pointer-events:none;

    background:
        repeating-linear-gradient(
            0deg,
            transparent,
            transparent 38px,
            rgba(0,59,38,.055) 39px
        );
}

.review-index{
    position:relative;
    z-index:3;

    display:flex;
    align-items:flex-start;
    justify-content:center;

    padding-top:3px;

    color:#b18450;

    font-family:'Playfair Display',serif;

    font-size:30px;

    font-style:italic;
}

.review-main{
    position:relative;
    z-index:3;

    display:flex;
    flex-direction:column;

    justify-content:space-between;

    min-width:0;
}

.review-type{
    margin-bottom:22px;

    color:#a17747;

    font-size:7px;
    font-weight:700;

    letter-spacing:2.2px;
}

.review-main blockquote{
    max-width:650px;

    margin:
        0 0
        28px;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:29px;
    line-height:1.35;

    font-weight:500;

    letter-spacing:-.4px;
}

.review-bottom{
    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:25px;
}

.review-guest{
    display:flex;
    align-items:center;

    gap:11px;
}

.review-avatar{
    width:45px;
    height:45px;

    flex-shrink:0;

    overflow:hidden;

    border-radius:50%;

    border:3px solid #fff;

    box-shadow:
        0 5px 15px rgba(0,59,38,.13);
}

.review-avatar img{
    width:100%;
    height:100%;

    object-fit:cover;
}

.review-guest > div:last-child{
    display:flex;
    flex-direction:column;

    gap:3px;
}

.review-guest strong{
    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:12px;
}

.review-guest span{
    color:#879088;

    font-size:7px;
}

.review-stars{
    display:flex;

    gap:3px;

    color:#b8864d;

    font-size:8px;
}

.review-stamp{
    position:relative;
    z-index:3;

    align-self:center;

    width:88px;
    height:88px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:
        1px dashed rgba(0,59,38,.32);

    color:#003b26;

    transform:rotate(7deg);
}

.review-stamp::before{
    content:"";

    position:absolute;

    inset:7px;

    border-radius:50%;

    border:
        1px solid rgba(181,138,82,.24);
}

.review-stamp span{
    position:relative;
    z-index:2;

    color:#9c7345;

    font-size:5px;

    letter-spacing:1.5px;
}

.review-stamp i{
    position:relative;
    z-index:2;

    margin:5px 0;

    color:#b58249;

    font-size:11px;
}

.review-stamp strong{
    position:relative;
    z-index:2;

    color:#003b26;

    font-size:6px;

    letter-spacing:1px;
}

.guestbook-navigation{
    position:relative;
    z-index:10;

    display:flex;

    align-items:center;
    justify-content:flex-end;

    gap:13px;

    margin-top:20px;
}

.guestbook-prev,
.guestbook-next{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border:
        1px solid rgba(255,255,255,.24);

    border-radius:50%;

    background:
        rgba(255,255,255,.06);

    color:#fff;

    font-size:9px;

    cursor:pointer;

    transition:
        background .35s ease,
        color .35s ease,
        border-color .35s ease,
        transform .35s ease;
}

.guestbook-prev:hover,
.guestbook-next:hover{
    background:#d1a366;

    border-color:#d1a366;

    color:#003b26;

    transform:translateY(-3px);
}

.guestbook-progress{
    display:flex;

    align-items:center;

    gap:9px;

    min-width:185px;
}

.guestbook-current,
.guestbook-total{
    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:10px;
}

.guestbook-current{
    color:#d8ae74;

    font-size:14px;
}

.guestbook-total{
    opacity:.50;
}

.guestbook-progress-track{
    position:relative;

    flex:1;

    height:1px;

    overflow:hidden;

    background:
        rgba(255,255,255,.20);
}

.guestbook-progress-fill{
    position:absolute;

    left:0;
    top:0;

    width:25%;
    height:100%;

    background:#d8ae74;

    transition:
        width .55s
        cubic-bezier(.16,1,.3,1);
}

.guestbook-dots{
    position:absolute;

    left:-18px;
    bottom:38px;

    display:flex;
    flex-direction:column;

    gap:7px;
}

.guestbook-dots span{
    width:5px;
    height:5px;

    border-radius:50%;

    background:#b98a50;
}

.guestbook-dots span:nth-child(2){
    opacity:.55;
}

.guestbook-dots span:nth-child(3){
    opacity:.25;
}

@media(max-width:1199px){

    .guestbook-heading{
        gap:55px;
    }

    .guestbook-heading-left h2{
        font-size:49px;
    }

    .guestbook-stage{
        padding:
            38px
            55px
            28px
            80px;
    }

    .guestbook-review{
        grid-template-columns:
            60px
            minmax(0,1fr)
            90px;
    }

    .guestbook-review::before{
        left:82px;
    }

    .review-main blockquote{
        font-size:26px;
    }

}

@media(max-width:991px){

    .tgh-guestbook{
        padding:85px 0 90px;
    }

    .guestbook-heading{
        grid-template-columns:1fr;

        gap:25px;

        max-width:700px;

        margin-bottom:45px;

        text-align:center;
    }

    .guestbook-kicker{
        justify-content:center;
    }

    .guestbook-heading-left h2{
        max-width:650px;

        margin:auto;
    }

    .guestbook-heading-right{
        justify-content:center;

        align-items:center;

        gap:35px;
    }

    .guestbook-heading-right > p{
        max-width:330px;

        text-align:left;
    }

    .guestbook-stage{
        max-width:700px;

        padding:
            40px
            40px
            25px
            60px;
    }

    .guestbook-side-note{
        left:20px;
    }

    .guestbook-review{
        grid-template-columns:
            50px
            minmax(0,1fr)
            80px;

        gap:18px;

        padding:
            30px
            25px;

        min-height:310px;
    }

    .guestbook-review::before{
        left:70px;
    }

    .review-index{
        font-size:25px;
    }

    .review-main blockquote{
        font-size:24px;
    }

    .review-stamp{
        width:75px;
        height:75px;
    }

}

@media(max-width:576px){

    .tgh-guestbook{
        padding:58px 0 65px;
    }

    .guestbook-heading{
        gap:18px;

        margin-bottom:32px;
    }

    .guestbook-kicker{
        margin-bottom:13px;

        font-size:6.5px;

        letter-spacing:2px;
    }

    .guestbook-kicker span{
        width:28px;
    }

    .guestbook-heading-left h2{
        max-width:350px;

        font-size:36px;

        line-height:1.05;
    }

    .guestbook-heading-left h2 em{
        margin-top:4px;
    }

    .guestbook-heading-right{
        flex-direction:column;

        gap:13px;
    }

    .guestbook-heading-right > p{
        max-width:330px;

        font-size:10.5px;
        line-height:1.6;

        text-align:center;
    }

    .guestbook-rating{
        gap:9px;
    }

    .guestbook-rating > strong{
        font-size:29px;
    }

    .guestbook-stage{
        width:calc(100% - 4px);

        padding:
            27px
            12px
            18px;

        border-radius:22px;
    }

    .guestbook-stage::before{
        inset:8px;

        border-radius:16px;
    }

    .guestbook-stage::after{
        display:none;
    }

    .guestbook-side-note{
        display:none;
    }

    .guestbook-quote-mark{
        top:-21px;
        left:18px;

        width:48px;
        height:48px;

        padding-top:12px;

        font-size:42px;
    }

    .guestbook-review{
        min-height:285px;

        display:block;

        padding:
            25px
            20px
            22px;

        border-radius:
            15px
            15px
            42px
            15px;
    }

    .guestbook-review::before{
        display:none;
    }

    .review-index{
        position:absolute;

        top:18px;
        right:19px;

        font-size:20px;
    }

    .review-type{
        max-width:210px;

        margin-bottom:20px;

        padding-right:30px;

        font-size:5.5px;

        letter-spacing:1.4px;
    }

    .review-main blockquote{
        max-width:100%;

        margin-bottom:25px;

        padding-right:0;

        font-size:21px;

        line-height:1.37;
    }

    .review-bottom{
        gap:10px;
    }

    .review-avatar{
        width:39px;
        height:39px;

        border-width:2px;
    }

    .review-guest{
        gap:8px;
    }

    .review-guest strong{
        font-size:10px;
    }

    .review-guest span{
        font-size:6px;
    }

    .review-stars{
        gap:2px;

        font-size:6px;
    }

    .review-stamp{
        position:absolute;

        right:16px;
        bottom:58px;

        width:57px;
        height:57px;

        opacity:.14;

        pointer-events:none;
    }

    .review-stamp span,
    .review-stamp strong{
        font-size:4px;
    }

    .review-stamp i{
        margin:3px 0;

        font-size:8px;
    }

    .guestbook-navigation{
        justify-content:center;

        gap:9px;

        margin-top:15px;
    }

    .guestbook-prev,
    .guestbook-next{
        width:34px;
        height:34px;

        font-size:7px;
    }

    .guestbook-progress{
        min-width:150px;

        gap:7px;
    }

    .guestbook-current{
        font-size:12px;
    }

    .guestbook-total{
        font-size:8px;
    }

    .guestbook-dots{
        display:none;
    }

    .guestbook-outline-text{
        left:-5px;
        bottom:-5px;

        font-size:72px;

        letter-spacing:-3px;
    }

}

@media(min-width:992px){

    .guestbook-stage{
        box-shadow:
            0 38px 85px rgba(0,59,38,.22),
            0 14px 35px rgba(0,0,0,.08);
    }

    .guestbook-stage::before{
        border-color:rgba(230,190,132,.28);
    }

    .guestbook-review{
        box-shadow:
            0 22px 52px rgba(0,0,0,.19),
            inset 0 0 0 1px rgba(181,138,82,.07);
    }

    .review-main blockquote{
        color:#003b26;

        text-shadow:
            0 1px 0 rgba(255,255,255,.65);
    }

    .review-guest{
        position:relative;

        display:flex;
        align-items:center;

        gap:16px;

        min-height:74px;
    }

    .review-avatar{
        position:relative;

        width:72px;
        height:72px;

        min-width:72px;
        flex:0 0 72px;

        overflow:hidden;

        border-radius:50%;

        border:5px solid #fff;

        background:#eee6d8;

        box-shadow:
            0 10px 25px rgba(0,59,38,.20),
            0 0 0 1px rgba(181,138,82,.25),
            0 0 0 7px rgba(181,138,82,.055);

        transition:
            transform .45s cubic-bezier(.16,1,.3,1),
            box-shadow .45s ease;
    }

    .review-avatar img{
        display:block;

        width:100%;
        height:100%;

        object-fit:cover;
        object-position:center;

        transform:scale(1.03);

        transition:
            transform .6s cubic-bezier(.16,1,.3,1);
    }

    .review-avatar:hover{
        transform:
            translateY(-4px)
            scale(1.035);

        box-shadow:
            0 15px 32px rgba(0,59,38,.24),
            0 0 0 1px rgba(181,138,82,.30),
            0 0 0 8px rgba(181,138,82,.07);
    }

    .review-avatar:hover img{
        transform:scale(1.10);
    }

    .review-guest > div:last-child{
        display:flex;
        flex-direction:column;

        justify-content:center;

        gap:5px;
    }

    .review-guest strong{
        color:#003b26;

        font-family:'Playfair Display',serif;

        font-size:15px;
        line-height:1.1;

        font-weight:600;

        letter-spacing:-.15px;
    }

    .review-guest span{
        position:relative;

        width:max-content;

        color:#7b857e;

        font-size:8px;
        line-height:1;

        letter-spacing:.35px;
    }

    .review-guest span::after{
        content:"";

        display:block;

        width:23px;
        height:1px;

        margin-top:7px;

        background:
            linear-gradient(
                90deg,
                #b58a52,
                transparent
            );
    }

    .review-stars{
        gap:4px;

        color:#b88448;

        font-size:9px;
    }

    .review-stamp{
        background:
            radial-gradient(
                circle,
                rgba(255,255,255,.34),
                rgba(255,255,255,.08)
            );

        box-shadow:
            inset 0 0 0 5px rgba(181,138,82,.04);
    }

    .guestbook-quote-mark{
        box-shadow:
            0 16px 34px rgba(88,55,23,.25),
            0 0 0 6px rgba(255,255,255,.42);
    }

    .guestbook-prev,
    .guestbook-next{
        box-shadow:
            0 8px 20px rgba(0,0,0,.14);
    }

}

@media(min-width:577px) and (max-width:991px){

    .review-guest{
        gap:14px;

        min-height:67px;
    }

    .review-avatar{
        width:64px;
        height:64px;

        min-width:64px;
        flex:0 0 64px;

        border:4px solid #fff;

        box-shadow:
            0 9px 22px rgba(0,59,38,.18),
            0 0 0 1px rgba(181,138,82,.22),
            0 0 0 6px rgba(181,138,82,.05);
    }

    .review-avatar img{
        width:100%;
        height:100%;

        object-fit:cover;
        object-position:center;
    }

    .review-guest strong{
        font-size:14px;
    }

    .review-guest span{
        font-size:7.5px;
    }

    .guestbook-stage{
        box-shadow:
            0 30px 65px rgba(0,59,38,.20);
    }

    .guestbook-review{
        box-shadow:
            0 19px 43px rgba(0,0,0,.17);
    }

}

@media(max-width:576px){

    .guestbook-stage{
        box-shadow:
            0 26px 58px rgba(0,59,38,.22),
            0 8px 22px rgba(0,0,0,.07);
    }

    .guestbook-review{
        box-shadow:
            0 18px 42px rgba(0,0,0,.18),
            inset 0 0 0 1px rgba(181,138,82,.06);
    }

    .review-guest{
        display:flex;
        align-items:center;

        gap:12px;

        min-height:60px;
    }

    .review-avatar{
        width:56px;
        height:56px;

        min-width:56px;
        flex:0 0 56px;

        overflow:hidden;

        border-radius:50%;

        border:4px solid #fff;

        background:#eee7da;

        box-shadow:
            0 8px 20px rgba(0,59,38,.19),
            0 0 0 1px rgba(181,138,82,.22),
            0 0 0 5px rgba(181,138,82,.045);
    }

    .review-avatar img{
        display:block;

        width:100%;
        height:100%;

        object-fit:cover;
        object-position:center;

        transform:scale(1.03);
    }

    .review-guest > div:last-child{
        display:flex;
        flex-direction:column;

        justify-content:center;

        gap:4px;
    }

    .review-guest strong{
        color:#003b26;

        font-family:'Playfair Display',serif;

        font-size:12.5px;
        line-height:1.1;

        font-weight:600;
    }

    .review-guest span{
        color:#7f8982;

        font-size:7px;
        line-height:1.1;

        letter-spacing:.25px;
    }

    .review-guest span::after{
        content:"";

        display:block;

        width:20px;
        height:1px;

        margin-top:5px;

        background:
            linear-gradient(
                90deg,
                #b58a52,
                transparent
            );
    }

    .review-stars{
        gap:2.5px;

        font-size:7px;

        color:#b88448;
    }

    .guestbook-quote-mark{
        box-shadow:
            0 11px 25px rgba(70,45,20,.22),
            0 0 0 4px rgba(255,255,255,.35);
    }

}

@media(min-width:992px){
    .review-avatar{
        width:88px;
        height:88px;
        min-width:88px;
        flex:0 0 88px;
    }
}

@media(max-width:991px){
    .review-avatar{
        width:68px;
        height:68px;
        min-width:68px;
        flex:0 0 68px;
    }
}

.guestbook-review{
    transition:
        transform .55s cubic-bezier(.16,1,.3,1),
        box-shadow .55s ease,
        border-color .55s ease;
}

.guestbook-review:hover{
    transform:translateY(-7px) scale(1.008);

    box-shadow:
        0 28px 60px rgba(0,59,38,.18),
        0 10px 25px rgba(0,0,0,.10),
        inset 0 0 0 1px rgba(181,138,82,.18);
}

.guestbook-review:hover .review-avatar{
    transform:scale(1.07);

    box-shadow:
        0 12px 28px rgba(0,59,38,.23),
        0 0 0 1px rgba(181,138,82,.35),
        0 0 0 8px rgba(181,138,82,.08);
}

.guestbook-review:hover blockquote{
    transform:translateX(4px);
}

.review-main blockquote{
    transition:transform .45s ease;
}

.guestbook-review:hover .review-stamp{
    transform:rotate(0deg) scale(1.05);
}

.review-stamp{
    transition:transform .5s cubic-bezier(.16,1,.3,1);
}

@media(max-width:576px){

    .tgh-guestbook{
        padding:48px 0 55px;
    }

    .guestbook-heading{
        gap:14px;
        margin-bottom:27px;
    }

    .guestbook-heading-left h2{
        max-width:330px;
        font-size:33px;
        line-height:1.04;
    }

    .guestbook-heading-right > p{
        max-width:310px;
        font-size:10px;
        line-height:1.55;
    }

    .guestbook-stage{
        width:100%;
        padding:25px 10px 15px;
        border-radius:18px;
    }

    .guestbook-review{
        min-height:265px;
        padding:23px 17px 19px;
        border-radius:14px 14px 35px 14px;
    }

    .review-main blockquote{
        margin-bottom:20px;
        font-size:19px;
        line-height:1.32;
    }

    .review-avatar{
        width:62px;
        height:62px;
        min-width:62px;
        flex:0 0 62px;
    }

    .review-guest{
        gap:11px;
        min-height:62px;
    }

    .review-guest strong{
        font-size:12px;
    }

    .guestbook-navigation{
        margin-top:12px;
    }

    .guestbook-prev,
    .guestbook-next{
        width:32px;
        height:32px;
    }

    .guestbook-progress{
        min-width:135px;
    }

    .guestbook-quote-mark{
        top:-19px;
        left:16px;
        width:44px;
        height:44px;
        font-size:38px;
    }
}

/* Home Page Blogs Section */
.tgh-home-journal{
    position:relative;
    padding:120px 0 125px;
    overflow:hidden;
    isolation:isolate;

    background:
        radial-gradient(
            circle at 10% 12%,
            rgba(190,145,82,.11),
            transparent 27%
        ),
        radial-gradient(
            circle at 88% 80%,
            rgba(0,59,38,.055),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #fffdf8 0%,
            #faf5e9 48%,
            #fffaf2 100%
        );
}


.tgh-home-journal::before{
    content:"";
    position:absolute;

    width:440px;
    height:440px;

    top:-240px;
    right:-170px;

    border-radius:50%;

    border:1px solid rgba(181,138,82,.10);

    box-shadow:
        0 0 0 35px rgba(181,138,82,.020),
        0 0 0 70px rgba(181,138,82,.012);

    pointer-events:none;
    z-index:-1;
}


.tgh-home-journal::after{
    content:"";
    position:absolute;

    width:340px;
    height:340px;

    left:-190px;
    bottom:-170px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(0,59,38,.045),
            transparent 68%
        );

    pointer-events:none;
    z-index:-1;
}



/* =========================================================
   HEADER
========================================================= */

.home-journal-head{
    display:grid;

    grid-template-columns:
        1.08fr
        .92fr;

    gap:85px;

    align-items:end;

    margin-bottom:58px;
}


.home-journal-kicker{
    display:flex;
    align-items:center;

    gap:12px;

    margin-bottom:16px;

    color:#9d6b34;

    font-size:10px;
    line-height:1;

    font-weight:700;

    letter-spacing:3.5px;
}


.home-journal-kicker span{
    position:relative;

    width:45px;
    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(181,138,82,.25),
            #b58a52
        );
}


.home-journal-kicker span::after{
    content:"";

    position:absolute;

    right:-5px;
    top:50%;

    width:5px;
    height:5px;

    border-radius:50%;

    background:#b58a52;

    transform:translateY(-50%);
}


.home-journal-head-left h2{
    max-width:620px;

    margin:0;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:59px;
    line-height:1.04;

    font-weight:600;

    letter-spacing:-1.6px;

    text-shadow:
        0 10px 28px rgba(0,59,38,.05);
}


.home-journal-head-left h2 em{
    display:block;

    color:#ad763a;

    font-weight:500;

    position:relative;
}


.home-journal-head-left h2 em::after{
    content:"";

    position:absolute;

    left:2px;
    bottom:-8px;

    width:145px;
    height:8px;

    border-bottom:
        1px solid rgba(181,138,82,.42);

    border-radius:50%;
}


.home-journal-head-right{
    position:relative;

    padding-left:30px;

    border-left:
        1px solid rgba(181,138,82,.28);
}


.home-journal-head-right p{
    max-width:460px;

    margin:0;

    color:#6e6a63;

    font-size:14px;

    line-height:1.85;
}



/* =========================================================
   MAIN BLOG BOARD
   SAME PROPORTION AS OFFER BOARD
========================================================= */

.home-journal-board{
    display:grid;

    grid-template-columns:
        .91fr
        1.09fr;

    gap:45px;

    align-items:stretch;
}



/* =========================================================
   FEATURED BLOG - LEFT CARD
========================================================= */

.home-journal-featured{
    position:relative;

    min-height:655px;

    overflow:hidden;

    isolation:isolate;

    border-radius:
        34px
        34px
        75px
        34px;

    border:
        1px solid rgba(181,138,82,.28);

    background:#003b26;

    box-shadow:
        0 38px 85px rgba(0,59,38,.20),
        0 15px 35px rgba(75,48,20,.10),
        0 0 0 7px rgba(255,255,255,.20);

    transition:
        transform .65s cubic-bezier(.16,1,.3,1),
        box-shadow .65s ease;
}


.home-journal-featured:hover{
    transform:translateY(-8px);

    box-shadow:
        0 52px 110px rgba(0,59,38,.25),
        0 20px 45px rgba(75,48,20,.13),
        0 0 0 7px rgba(255,255,255,.25);
}


.home-journal-featured-image{
    position:absolute;

    inset:0;

    z-index:-3;
}


.home-journal-featured-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    filter:
        saturate(1.09)
        contrast(1.045)
        brightness(.95);

    transition:
        transform 1.1s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}


.home-journal-featured:hover
.home-journal-featured-image img{
    transform:scale(1.065);

    filter:
        saturate(1.14)
        contrast(1.055)
        brightness(.93);
}



/* =========================================================
   FEATURED OVERLAY
========================================================= */

.home-journal-featured-overlay{
    position:absolute;

    inset:0;

    z-index:-2;

    background:
        linear-gradient(
            180deg,
            rgba(0,35,23,.13) 0%,
            rgba(0,35,23,.22) 30%,
            rgba(0,32,21,.52) 55%,
            rgba(0,29,19,.82) 76%,
            rgba(0,24,16,.98) 100%
        );
}


.home-journal-featured::before{
    content:"";

    position:absolute;

    inset:12px;

    z-index:2;

    border:
        1px solid rgba(242,207,151,.30);

    border-radius:
        25px
        25px
        65px
        25px;

    box-shadow:
        inset 0 0 35px rgba(255,255,255,.025);

    pointer-events:none;
}



/* =========================================================
   FEATURED TOP
========================================================= */

.home-journal-featured-top{
    position:absolute;

    top:29px;
    left:31px;
    right:31px;

    z-index:5;

    display:flex;

    justify-content:space-between;
    align-items:center;
}


.home-journal-status{
    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 14px;

    border-radius:50px;

    border:
        1px solid rgba(255,255,255,.22);

    background:
        rgba(0,55,36,.48);

    backdrop-filter:blur(10px);

    color:#fff;

    font-size:8px;

    font-weight:700;

    letter-spacing:1.5px;

    box-shadow:
        0 5px 16px rgba(0,0,0,.08);
}


.home-journal-status i{
    color:#e1b16e;

    font-size:5px;

    animation:tghJournalPulse 1.8s infinite;
}


@keyframes tghJournalPulse{

    0%,100%{
        opacity:1;
        transform:scale(1);
    }

    50%{
        opacity:.45;
        transform:scale(.7);
    }

}


.home-journal-date{
    color:rgba(255,255,255,.75);

    font-size:9px;

    letter-spacing:.5px;
}



/* =========================================================
   FEATURED CONTENT
========================================================= */

.home-journal-featured-content{
    position:absolute;

    left:38px;
    right:38px;

    bottom:40px;

    z-index:5;
}


.home-journal-eyebrow{
    display:flex;

    align-items:center;

    gap:9px;

    margin-bottom:15px;

    color:#e5b879;

    font-size:8px;

    font-weight:700;

    letter-spacing:2.8px;
}


.home-journal-eyebrow::before{
    content:"";

    width:24px;
    height:1px;

    background:#d8a963;
}



/* =========================================================
   READ TIME
   SAME VISUAL POSITION AS 20% OFF
========================================================= */

.home-journal-read-time{
    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:19px;
}


.home-journal-read-time > strong{
    color:#fffaf0;

    font-family:'Playfair Display',serif;

    font-size:82px;

    line-height:.82;

    font-weight:600;

    letter-spacing:-5px;

    text-shadow:
        0 10px 30px rgba(0,0,0,.32);
}


.home-journal-read-time > div{
    display:flex;

    flex-direction:column;

    padding-left:15px;

    border-left:
        1px solid rgba(255,255,255,.28);
}


.home-journal-read-time > div span{
    color:#e5b574;

    font-size:25px;

    line-height:1;

    font-weight:700;
}


.home-journal-read-time > div small{
    margin-top:6px;

    color:rgba(255,255,255,.65);

    font-size:7px;

    letter-spacing:1.6px;
}



/* =========================================================
   FEATURED TITLE / DESCRIPTION
========================================================= */

.home-journal-featured-content h3{
    max-width:460px;

    margin:0 0 13px;

    color:#fffdf7;

    font-family:'Playfair Display',serif;

    font-size:32px;

    line-height:1.14;

    font-weight:500;

    letter-spacing:-.4px;

    text-shadow:
        0 6px 20px rgba(0,0,0,.30);
}


.home-journal-featured-content > p{
    max-width:420px;

    margin:0 0 25px;

    color:rgba(255,255,255,.72);

    font-size:12px;

    line-height:1.7;
}



/* =========================================================
   FEATURED ACTION
========================================================= */

.home-journal-featured-actions{
    display:flex;

    align-items:center;

    gap:22px;
}


.home-journal-read-btn{
    display:inline-flex;

    align-items:center;

    gap:14px;

    padding:
        6px
        6px
        6px
        20px;

    border-radius:50px;

    border:
        1px solid rgba(181,138,82,.20);

    background:#fffaf0;

    color:#003b26;

    text-decoration:none;

    font-size:10px;

    font-weight:700;

    box-shadow:
        0 10px 26px rgba(0,0,0,.18);

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.home-journal-read-btn > span{
    display:flex;

    align-items:center;
    justify-content:center;

    width:39px;
    height:39px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #00442d,
            #00321f
        );

    color:#fff;

    box-shadow:
        0 5px 14px rgba(0,59,38,.22);

    transition:.4s ease;
}


.home-journal-read-btn:hover{
    color:#003b26;

    background:#e6b979;

    transform:translateY(-3px);

    box-shadow:
        0 15px 32px rgba(0,0,0,.20);
}


.home-journal-read-btn:hover > span{
    transform:rotate(-35deg);
}



/* =========================================================
   AUTHOR
========================================================= */

.home-journal-author{
    display:flex;

    flex-direction:column;
}


.home-journal-author small{
    color:rgba(255,255,255,.48);

    font-size:7px;

    letter-spacing:1.7px;
}


.home-journal-author strong{
    margin-top:3px;

    color:#efc482;

    font-size:14px;

    letter-spacing:1px;
}



/* =========================================================
   FEATURED STAMP
========================================================= */

.home-journal-stamp{
    position:absolute;

    top:108px;
    right:28px;

    z-index:5;

    width:94px;
    height:94px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:50%;

    border:
        1px dashed rgba(255,230,188,.60);

    background:
        rgba(0,54,35,.52);

    backdrop-filter:blur(10px);

    color:#fff;

    box-shadow:
        0 10px 30px rgba(0,0,0,.12);

    transform:rotate(8deg);

    transition:
        transform .5s ease;
}


.home-journal-stamp::before{
    content:"";

    position:absolute;

    inset:6px;

    border-radius:50%;

    border:
        1px solid rgba(255,231,192,.24);
}


.home-journal-featured:hover
.home-journal-stamp{
    transform:
        rotate(0deg)
        scale(1.05);
}


.home-journal-stamp span{
    font-size:7px;

    letter-spacing:2px;
}


.home-journal-stamp i{
    margin:5px 0;

    color:#e5b776;

    font-size:12px;
}


.home-journal-stamp strong{
    font-family:'Playfair Display',serif;

    font-size:13px;
}



/* =========================================================
   RIGHT BLOG LIST
========================================================= */

.home-journal-list{
    display:flex;

    flex-direction:column;

    border-top:
        1px solid rgba(181,138,82,.28);
}



/* =========================================================
   BLOG ROW
========================================================= */

.home-journal-row{
    position:relative;

    display:grid;

    grid-template-columns:
        76px
        minmax(0,1fr)
        132px
        42px;

    gap:19px;

    align-items:center;

    flex:1;

    min-height:148px;

    padding:19px 0;

    border-bottom:
        1px solid rgba(0,59,38,.13);
}


.home-journal-row::before{
    content:"";

    position:absolute;

    inset:6px -16px;

    z-index:-1;

    border-radius:20px;

    border:
        1px solid rgba(181,138,82,.07);

    background:
        linear-gradient(
            100deg,
            rgba(255,255,255,.84),
            rgba(255,252,245,.74) 60%,
            rgba(181,138,82,.075)
        );

    box-shadow:
        0 17px 40px rgba(0,59,38,.065);

    opacity:0;

    transform:scale(.98);

    transition:
        opacity .4s ease,
        transform .4s ease;
}


.home-journal-row:hover::before{
    opacity:1;

    transform:scale(1);
}


.home-journal-row::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-1px;

    width:0;
    height:1px;

    background:
        linear-gradient(
            90deg,
            #b58a52,
            rgba(181,138,82,0)
        );

    transition:
        width .5s ease;
}


.home-journal-row:hover::after{
    width:100%;
}



/* =========================================================
   BLOG NUMBER BADGE
========================================================= */

.home-journal-row-number{
    position:relative;

    width:70px;
    height:70px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    border-radius:
        50%
        50%
        50%
        13px;

    border:
        1px solid rgba(181,138,82,.18);

    background:
        linear-gradient(
            145deg,
            #00482f,
            #003522
        );

    color:#fff;

    box-shadow:
        0 11px 26px rgba(0,59,38,.19),
        inset 0 1px 0 rgba(255,255,255,.11);

    transition:
        transform .45s cubic-bezier(.16,1,.3,1),
        background .4s ease,
        box-shadow .4s ease;
}


.home-journal-row-number::after{
    content:"";

    position:absolute;

    inset:5px;

    border-radius:inherit;

    border:
        1px solid rgba(255,255,255,.08);

    pointer-events:none;
}


.home-journal-row-number strong{
    font-family:'Playfair Display',serif;

    font-size:20px;

    line-height:1;
}


.home-journal-row-number span{
    margin-top:4px;

    font-size:7px;

    font-weight:700;

    letter-spacing:1.4px;
}


.home-journal-row:hover
.home-journal-row-number{
    transform:
        translateY(-4px)
        rotate(-3deg);

    background:
        linear-gradient(
            145deg,
            #be8a4b,
            #95602d
        );

    box-shadow:
        0 15px 32px rgba(114,73,30,.22);
}



/* =========================================================
   BLOG ROW META
========================================================= */

.home-journal-row-meta{
    display:flex;

    align-items:center;

    gap:10px;

    margin-bottom:7px;
}


.home-journal-row-meta span{
    color:#a16c34;

    font-size:7px;

    font-weight:700;

    letter-spacing:1.7px;
}


.home-journal-row-meta small{
    position:relative;

    padding-left:10px;

    color:#8a857d;

    font-size:8px;
}


.home-journal-row-meta small::before{
    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:3px;
    height:3px;

    border-radius:50%;

    background:#b58a52;

    transform:translateY(-50%);
}



/* =========================================================
   BLOG ROW CONTENT
========================================================= */

.home-journal-row-content h3{
    margin:0 0 6px;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:20px;

    line-height:1.17;

    font-weight:600;

    letter-spacing:-.2px;

    transition:
        color .35s ease,
        transform .35s ease;
}


.home-journal-row:hover
.home-journal-row-content h3{
    color:#9d6b35;

    transform:translateX(3px);
}


.home-journal-row-content p{
    max-width:300px;

    margin:0;

    color:#716d65;

    font-size:11px;

    line-height:1.58;
}



/* =========================================================
   BLOG ROW IMAGE
========================================================= */

.home-journal-row-image{
    position:relative;

    width:132px;
    height:108px;

    overflow:hidden;

    justify-self:end;

    border-radius:
        18px
        18px
        18px
        7px;

    border:
        5px solid #fffaf0;

    background:#eee5d6;

    box-shadow:
        0 14px 30px rgba(0,59,38,.14),
        0 5px 12px rgba(64,42,20,.08);

    transform:rotate(1.3deg);

    transition:
        transform .5s cubic-bezier(.16,1,.3,1),
        box-shadow .5s ease,
        border-radius .5s ease;
}


.home-journal-row-image::after{
    content:"";

    position:absolute;

    inset:4px;

    z-index:2;

    border:
        1px solid rgba(255,255,255,.48);

    border-radius:
        12px
        12px
        12px
        4px;

    pointer-events:none;
}


.home-journal-row-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    filter:
        saturate(1.10)
        contrast(1.045)
        brightness(.98);

    transition:
        transform .75s cubic-bezier(.16,1,.3,1),
        filter .5s ease;
}


.home-journal-row:hover
.home-journal-row-image{
    transform:
        translateY(-5px)
        rotate(-1deg)
        scale(1.035);

    border-radius:18px;

    box-shadow:
        0 20px 42px rgba(0,59,38,.19),
        0 7px 16px rgba(64,42,20,.10);
}


.home-journal-row:hover
.home-journal-row-image img{
    transform:scale(1.09);

    filter:
        saturate(1.15)
        contrast(1.05)
        brightness(.97);
}



/* =========================================================
   BLOG ROW ARROW
========================================================= */

.home-journal-row-arrow{
    display:flex;

    align-items:center;
    justify-content:center;

    width:39px;
    height:39px;

    border-radius:50%;

    border:
        1px solid rgba(0,59,38,.19);

    background:
        rgba(255,252,245,.82);

    color:#003b26;

    text-decoration:none;

    font-size:10px;

    box-shadow:
        0 5px 15px rgba(0,59,38,.06);

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease,
        box-shadow .4s ease;
}


.home-journal-row:hover
.home-journal-row-arrow{
    color:#fff;

    background:
        linear-gradient(
            145deg,
            #00452e,
            #00331f
        );

    transform:
        rotate(-35deg)
        scale(1.06);

    box-shadow:
        0 9px 20px rgba(0,59,38,.20);
}



/* =========================================================
   BOTTOM RIGHT TEXT
========================================================= */

.home-journal-all-row{
    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding-top:25px;
}


.home-journal-all-row > span{
    color:#7d776e;

    font-family:'Playfair Display',serif;

    font-size:13px;

    font-style:italic;
}


.home-journal-all-row > a{
    position:relative;

    display:inline-flex;

    align-items:center;

    gap:9px;

    color:#003b26;

    text-decoration:none;

    font-size:10px;

    font-weight:700;

    transition:color .35s ease;
}


.home-journal-all-row > a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-5px;

    width:0;
    height:1px;

    background:#b58a52;

    transition:width .4s ease;
}


.home-journal-all-row > a:hover{
    color:#a36f36;
}


.home-journal-all-row > a:hover::after{
    width:100%;
}


.home-journal-all-row > a i{
    font-size:9px;

    transition:transform .35s ease;
}


.home-journal-all-row > a:hover i{
    transform:translate(3px,-3px);
}



/* =========================================================
   CENTER VIEW ALL STORIES
   EXTRA BLOG CTA BELOW BOARD
========================================================= */

.home-journal-view-all{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:20px;

    margin-top:60px;
}


.home-journal-view-line{
    width:190px;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(0,59,38,.30)
        );
}


.home-journal-view-line:last-child{
    background:
        linear-gradient(
            90deg,
            rgba(0,59,38,.30),
            transparent
        );
}


.home-journal-view-btn{
    display:flex;

    align-items:center;

    min-width:260px;

    padding:7px;

    background:#003b26;

    color:#fff;

    text-decoration:none;

    box-shadow:
        0 14px 30px rgba(0,59,38,.16);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


.home-journal-view-btn:hover{
    color:#fff;

    transform:translateY(-3px);

    box-shadow:
        0 18px 38px rgba(0,59,38,.22);
}


.home-journal-view-icon{
    width:44px;
    height:44px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex-shrink:0;

    background:#b47d3f;

    color:#fff;
}


.home-journal-view-text{
    display:flex;

    flex-direction:column;

    flex:1;

    padding:0 16px;

    font-size:10px;

    font-weight:700;

    letter-spacing:.8px;

    text-transform:uppercase;
}


.home-journal-view-text small{
    margin-bottom:2px;

    color:rgba(255,255,255,.55);

    font-size:6px;

    letter-spacing:1.4px;
}


.home-journal-view-arrow{
    width:35px;
    height:35px;

    display:flex;

    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border:
        1px solid rgba(255,255,255,.25);

    border-radius:50%;

    margin-right:5px;

    transition:transform .35s ease;
}


.home-journal-view-btn:hover
.home-journal-view-arrow{
    transform:rotate(-35deg);
}

.home-journal-meta-author{
    display:inline-flex;
    align-items:center;
    gap:4px;
    margin-left:20px;
}

.home-journal-meta-author i{
    color:#b58a52;
    font-size:7px;
}

/* =========================================================
   TGH HOME JOURNAL - RESPONSIVE
   Paste AFTER complete desktop journal CSS
========================================================= */


/* =========================================================
   991px - TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 991px){

    .tgh-home-journal{
        padding:90px 0 95px;
    }

    .home-journal-head{
        grid-template-columns:1fr;
        gap:28px;
        margin-bottom:45px;
    }

    .home-journal-head-left h2{
        max-width:600px;
        font-size:52px;
    }

    .home-journal-head-right{
        max-width:600px;
        padding-left:22px;
    }

    .home-journal-board{
        grid-template-columns:1fr;
        gap:45px;
    }

    /* Featured card */

    .home-journal-featured{
        width:100%;
        min-height:620px;
    }

    .home-journal-featured-content h3{
        max-width:520px;
        font-size:34px;
    }

    .home-journal-featured-content > p{
        max-width:500px;
    }

    /* Right blog list */

    .home-journal-list{
        width:100%;
    }

    .home-journal-row{
        grid-template-columns:
            70px
            minmax(0,1fr)
            132px
            42px;

        min-height:135px;
    }

    .home-journal-row-content p{
        max-width:440px;
    }

    .home-journal-all-row{
        padding-top:22px;
    }

    .home-journal-view-all{
        margin-top:50px;
    }
}


/* =========================================================
   768px - TABLET PORTRAIT
========================================================= */

@media (max-width: 768px){

    .tgh-home-journal{
        padding:75px 0 80px;
    }

    .tgh-home-journal::before{
        width:320px;
        height:320px;
        top:-180px;
        right:-180px;
    }

    .tgh-home-journal::after{
        width:250px;
        height:250px;
    }

    /* Header */

    .home-journal-head{
        gap:24px;
        margin-bottom:38px;
    }

    .home-journal-kicker{
        font-size:9px;
        letter-spacing:2.7px;
    }

    .home-journal-head-left h2{
        font-size:46px;
        line-height:1.05;
    }

    .home-journal-head-right{
        padding-left:18px;
    }

    .home-journal-head-right p{
        font-size:13px;
        line-height:1.75;
    }

    /* Featured */

    .home-journal-featured{
        min-height:570px;

        border-radius:
            28px
            28px
            58px
            28px;
    }

    .home-journal-featured::before{
        border-radius:
            20px
            20px
            50px
            20px;
    }

    .home-journal-featured-top{
        top:24px;
        left:25px;
        right:25px;
    }

    .home-journal-featured-content{
        left:30px;
        right:30px;
        bottom:32px;
    }

    .home-journal-featured-content h3{
        max-width:470px;
        font-size:31px;
    }

    .home-journal-stamp{
        width:82px;
        height:82px;
        top:90px;
        right:24px;
    }

    /* Blog rows */

    .home-journal-row{
        grid-template-columns:
            62px
            minmax(0,1fr)
            112px
            38px;

        gap:15px;
        min-height:125px;
        padding:16px 0;
    }

    .home-journal-row-number{
        width:58px;
        height:58px;
    }

    .home-journal-row-number strong{
        font-size:18px;
    }

    .home-journal-row-image{
        width:112px;
        height:90px;
        border-width:4px;
    }

    .home-journal-row-content h3{
        font-size:18px;
    }

    .home-journal-row-content p{
        font-size:10px;
        line-height:1.5;
    }

    .home-journal-row-arrow{
        width:36px;
        height:36px;
    }

    /* Meta */

    .home-journal-row-meta{
        gap:7px;
        flex-wrap:wrap;
    }

    .home-journal-meta-author{
        margin-left:5px;
    }

    /* View button */

    .home-journal-view-line{
        width:120px;
    }
}


/* =========================================================
   576px - MOBILE
========================================================= */

@media (max-width: 576px){

    .tgh-home-journal{
        padding:60px 0 65px;
    }

    /* Header */

    .home-journal-head{
        gap:20px;
        margin-bottom:32px;
    }

    .home-journal-kicker{
        gap:9px;
        margin-bottom:12px;

        font-size:8px;
        letter-spacing:2.2px;
    }

    .home-journal-kicker span{
        width:32px;
    }

    .home-journal-head-left h2{
        font-size:39px;
        letter-spacing:-1px;
    }

    .home-journal-head-left h2 em::after{
        width:110px;
    }

    .home-journal-head-right{
        padding-left:15px;
    }

    .home-journal-head-right p{
        font-size:11px;
        line-height:1.7;
    }

    /* Featured Card */

    .home-journal-board{
        gap:36px;
    }

    .home-journal-featured{
        min-height:520px;

        border-radius:
            24px
            24px
            48px
            24px;

        box-shadow:
            0 25px 55px rgba(0,59,38,.17),
            0 10px 25px rgba(75,48,20,.08),
            0 0 0 4px rgba(255,255,255,.20);
    }

    .home-journal-featured::before{
        inset:9px;

        border-radius:
            18px
            18px
            40px
            18px;
    }

    .home-journal-featured-top{
        top:20px;
        left:20px;
        right:20px;
    }

    .home-journal-status{
        padding:7px 11px;
        font-size:7px;
    }

    .home-journal-date{
        font-size:7px;
    }

    .home-journal-featured-content{
        left:24px;
        right:24px;
        bottom:26px;
    }

    .home-journal-eyebrow{
        margin-bottom:10px;
        font-size:7px;
        letter-spacing:2px;
    }

    .home-journal-featured-content h3{
        max-width:390px;
        margin-bottom:10px;
        font-size:27px;
        line-height:1.12;
    }

    .home-journal-featured-content > p{
        max-width:390px;
        margin-bottom:18px;
        font-size:10px;
        line-height:1.6;
    }

    .home-journal-stamp{
        width:68px;
        height:68px;
        top:76px;
        right:18px;
    }

    .home-journal-stamp span{
        font-size:5px;
    }

    .home-journal-stamp strong{
        font-size:10px;
    }

    .home-journal-stamp i{
        margin:3px 0;
        font-size:9px;
    }

    .home-journal-read-btn{
        gap:10px;
        padding:5px 5px 5px 15px;
        font-size:8px;
    }

    .home-journal-read-btn > span{
        width:33px;
        height:33px;
    }

    .home-journal-author small{
        font-size:6px;
    }

    .home-journal-author strong{
        font-size:11px;
    }


    /* =============================================
       MOBILE BLOG ROW
       Still horizontal but mobile-friendly
    ============================================= */

    .home-journal-list{
        border-top:
            1px solid rgba(181,138,82,.28);
    }

    .home-journal-row{
        grid-template-columns:
            46px
            minmax(0,1fr)
            86px;

        gap:11px;

        min-height:115px;
        padding:14px 0;
    }

    /* Arrow moves absolute on mobile */

    .home-journal-row-arrow{
        position:absolute;

        right:0;
        top:50%;

        width:28px;
        height:28px;

        font-size:7px;

        transform:translateY(-50%);

        z-index:4;
    }

    .home-journal-row:hover
    .home-journal-row-arrow{
        transform:
            translateY(-50%)
            rotate(-35deg);
    }

    .home-journal-row-number{
        width:43px;
        height:43px;

        border-radius:
            50%
            50%
            50%
            9px;
    }

    .home-journal-row-number strong{
        font-size:14px;
    }

    .home-journal-row-number span{
        margin-top:2px;
        font-size:5px;
        letter-spacing:.8px;
    }

    .home-journal-row-content{
        min-width:0;
        padding-right:2px;
    }

    .home-journal-row-meta{
        display:flex;
        align-items:center;
        flex-wrap:wrap;

        gap:5px;

        margin-bottom:5px;
    }

    .home-journal-row-meta span{
        font-size:5.5px;
        letter-spacing:1px;
    }

    .home-journal-row-meta small{
        padding-left:7px;
        font-size:6px;
    }

    .home-journal-row-meta small::before{
        width:2px;
        height:2px;
    }

    .home-journal-meta-author{
        margin-left:0;
        gap:3px;
    }

    .home-journal-meta-author i{
        font-size:6px;
    }

    .home-journal-row-content h3{
        margin-bottom:5px;

        font-size:15px;
        line-height:1.15;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .home-journal-row-content p{
        max-width:100%;

        font-size:8px;
        line-height:1.45;

        display:-webkit-box;
        -webkit-line-clamp:2;
        -webkit-box-orient:vertical;
        overflow:hidden;
    }

    .home-journal-row-image{
        width:86px;
        height:72px;

        margin-right:34px;

        border-width:3px;

        border-radius:
            12px
            12px
            12px
            5px;
    }

    .home-journal-row::before{
        inset:5px -8px;
        border-radius:14px;
    }


    /* Bottom row */

    .home-journal-all-row{
        gap:12px;
        padding-top:18px;
    }

    .home-journal-all-row > span{
        font-size:10px;
    }

    .home-journal-all-row > a{
        flex-shrink:0;
        font-size:8px;
    }


    /* Center View All */

    .home-journal-view-all{
        gap:10px;
        margin-top:40px;
    }

    .home-journal-view-line{
        flex:1;
        width:auto;
    }

    .home-journal-view-btn{
        min-width:220px;
    }

    .home-journal-view-icon{
        width:38px;
        height:38px;
    }

    .home-journal-view-text{
        padding:0 11px;
        font-size:8px;
    }

    .home-journal-view-arrow{
        width:30px;
        height:30px;
    }
}


/* =========================================================
   480px - NORMAL MOBILE
========================================================= */

@media (max-width: 480px){

    .tgh-home-journal{
        padding:52px 0 58px;
    }

    .home-journal-head-left h2{
        font-size:35px;
    }

    .home-journal-featured{
        min-height:480px;
    }

    .home-journal-featured-content{
        left:20px;
        right:20px;
        bottom:22px;
    }

    .home-journal-featured-content h3{
        max-width:320px;
        font-size:24px;
    }

    .home-journal-featured-content > p{
        font-size:9px;
    }

    .home-journal-stamp{
        width:62px;
        height:62px;
        right:16px;
    }

    /* Right rows */

    .home-journal-row{
        grid-template-columns:
            42px
            minmax(0,1fr)
            76px;

        gap:9px;

        min-height:108px;
    }

    .home-journal-row-number{
        width:39px;
        height:39px;
    }

    .home-journal-row-number strong{
        font-size:12px;
    }

    .home-journal-row-image{
        width:76px;
        height:65px;

        margin-right:31px;
    }

    .home-journal-row-content h3{
        font-size:13px;
    }

    .home-journal-row-content p{
        font-size:7.5px;
    }

    .home-journal-row-meta span{
        font-size:5px;
    }

    .home-journal-row-meta small{
        font-size:5.5px;
    }

    .home-journal-row-arrow{
        width:25px;
        height:25px;
    }

    /* Prevent long author meta from breaking badly */

    .home-journal-meta-author{
        margin-left:0;
    }

    .home-journal-all-row > span{
        max-width:180px;
        font-size:9px;
    }

    .home-journal-view-line{
        display:none;
    }

    .home-journal-view-btn{
        width:100%;
        max-width:280px;
    }
}


/* =========================================================
   360px - SMALL MOBILE
========================================================= */

@media (max-width: 360px){

    .tgh-home-journal{
        padding:45px 0 50px;
    }

    .home-journal-kicker{
        font-size:7px;
        letter-spacing:1.8px;
    }

    .home-journal-head-left h2{
        font-size:31px;
    }

    .home-journal-head-right p{
        font-size:10px;
    }

    /* Featured */

    .home-journal-featured{
        min-height:445px;

        border-radius:
            20px
            20px
            40px
            20px;
    }

    .home-journal-featured-top{
        top:17px;
        left:17px;
        right:17px;
    }

    .home-journal-date{
        display:none;
    }

    .home-journal-featured-content{
        left:18px;
        right:18px;
        bottom:20px;
    }

    .home-journal-featured-content h3{
        font-size:22px;
    }

    .home-journal-featured-content > p{
        font-size:8.5px;
        line-height:1.5;
    }

    .home-journal-stamp{
        width:55px;
        height:55px;

        top:65px;
        right:14px;
    }

    .home-journal-stamp strong{
        font-size:8px;
    }

    .home-journal-featured-actions{
        gap:12px;
    }

    .home-journal-read-btn{
        padding:4px 4px 4px 12px;
        font-size:7px;
    }

    .home-journal-read-btn > span{
        width:29px;
        height:29px;
    }

    .home-journal-author strong{
        font-size:9px;
    }


    /* Blog rows */

    .home-journal-row{
        grid-template-columns:
            36px
            minmax(0,1fr)
            64px;

        gap:7px;

        min-height:102px;
        padding:12px 0;
    }

    .home-journal-row-number{
        width:34px;
        height:34px;
    }

    .home-journal-row-number strong{
        font-size:11px;
    }

    .home-journal-row-number span{
        font-size:4px;
    }

    .home-journal-row-content h3{
        font-size:12px;
        line-height:1.12;
    }

    .home-journal-row-content p{
        font-size:7px;

        -webkit-line-clamp:2;
    }

    .home-journal-row-meta{
        gap:3px;
    }

    .home-journal-row-meta span{
        font-size:4.5px;
        letter-spacing:.7px;
    }

    .home-journal-row-meta small{
        padding-left:5px;
        font-size:5px;
    }

    /*
       On very small screens:
       keep author but move it to its own small line.
    */

    .home-journal-meta-author{
        flex-basis:100%;
        margin-left:0;
        padding-left:0 !important;
    }

    .home-journal-meta-author::before{
        display:none;
    }

    .home-journal-row-image{
        width:64px;
        height:57px;

        margin-right:27px;

        border-width:2px;
    }

    .home-journal-row-arrow{
        width:23px;
        height:23px;

        font-size:6px;
    }

    .home-journal-all-row > span{
        display:none;
    }

    .home-journal-all-row{
        justify-content:flex-end;
    }

    .home-journal-view-all{
        margin-top:32px;
    }

    .home-journal-view-btn{
        max-width:250px;
    }
}


/* =========================================================
   300px - EXTRA SMALL MOBILE
========================================================= */

@media (max-width: 300px){

    .tgh-home-journal{
        padding:40px 0 45px;
    }

    .home-journal-head{
        margin-bottom:26px;
    }

    .home-journal-kicker{
        gap:6px;

        font-size:6px;
        letter-spacing:1.3px;
    }

    .home-journal-kicker span{
        width:23px;
    }

    .home-journal-head-left h2{
        font-size:27px;
        letter-spacing:-.6px;
    }

    .home-journal-head-right{
        padding-left:10px;
    }

    .home-journal-head-right p{
        font-size:9px;
    }

    /* Featured */

    .home-journal-featured{
        min-height:415px;
    }

    .home-journal-status{
        padding:6px 8px;

        font-size:6px;
        letter-spacing:.8px;
    }

    .home-journal-featured-content{
        left:15px;
        right:15px;
        bottom:17px;
    }

    .home-journal-eyebrow{
        font-size:6px;
    }

    .home-journal-featured-content h3{
        font-size:19px;
    }

    .home-journal-featured-content > p{
        margin-bottom:14px;
        font-size:7.5px;
    }

    .home-journal-stamp{
        width:49px;
        height:49px;

        right:11px;
    }

    .home-journal-stamp span{
        display:none;
    }

    .home-journal-featured-actions{
        gap:8px;
    }

    .home-journal-author small{
        display:none;
    }

    /* Blog rows */

    .home-journal-row{
        grid-template-columns:
            31px
            minmax(0,1fr)
            55px;

        gap:6px;

        min-height:94px;
    }

    .home-journal-row-number{
        width:30px;
        height:30px;
    }

    .home-journal-row-number strong{
        font-size:10px;
    }

    .home-journal-row-number span{
        display:none;
    }

    .home-journal-row-content h3{
        font-size:10.5px;
    }

    .home-journal-row-content p{
        font-size:6.5px;
        line-height:1.35;
    }

    .home-journal-row-meta span{
        font-size:4px;
    }

    .home-journal-row-meta small{
        font-size:4.5px;
    }

    .home-journal-row-image{
        width:55px;
        height:50px;

        margin-right:24px;
    }

    .home-journal-row-arrow{
        width:20px;
        height:20px;
    }

    .home-journal-view-btn{
        min-width:0;
        width:100%;
    }

    .home-journal-view-icon{
        width:34px;
        height:34px;
    }

    .home-journal-view-text{
        padding:0 8px;
        font-size:7px;
    }

    .home-journal-view-arrow{
        width:26px;
        height:26px;
    }
}

@media (max-width: 576px){

    .home-journal-head-left{
        text-align:center;
    }

    .home-journal-kicker{
        justify-content:center;
    }

    .home-journal-head-left h2{
        margin-left:auto;
        margin-right:auto;
    }

    .home-journal-head-left h2 em::after{
        left:50%;
        transform:translateX(-50%);
    }

}

/* Home Page Contact Section */
.tgh-visit-section {
    position: relative;
    overflow: hidden;
    padding: 115px 0 95px;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(161, 125, 61, 0.08),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #f3efe5 0%,
            #f8f5ed 100%
        );
}

.tgh-visit-section .container {
    position: relative;
    z-index: 2;
}

.visit-bg-word {
    position: absolute;
    top: 25px;
    right: -10px;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(120px, 16vw, 235px);
    font-weight: 600;
    font-style: italic;
    line-height: 0.8;

    color: rgba(24, 61, 48, 0.035);

    pointer-events: none;
    user-select: none;
}

.visit-heading {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    align-items: end;
    gap: 70px;

    margin-bottom: 55px;
}

.visit-small-title {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 18px;

    color: #a17d3d;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 600;

    letter-spacing: 3px;
    text-transform: uppercase;
}

.visit-title-line {
    width: 46px;
    height: 1px;

    background: #a17d3d;
}

.visit-heading-left h2 {
    max-width: 720px;

    margin: 0;

    color: #183d30;

    font-family: "Cormorant Garamond", serif;
    font-size: clamp(46px, 5vw, 72px);
    font-weight: 600;

    line-height: 0.98;
    letter-spacing: -1.4px;
}

.visit-heading-left h2 em {
    display: block;

    color: #a17d3d;

    font-weight: 500;
}

.visit-heading-right {
    display: flex;
    align-items: flex-start;
    gap: 18px;

    padding-left: 25px;

    border-left: 1px solid rgba(24, 61, 48, 0.15);
}

.visit-location-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 43px;
    height: 43px;

    flex-shrink: 0;

    border: 1px solid rgba(161, 125, 61, 0.35);
    border-radius: 50%;

    color: #a17d3d;

    font-size: 14px;
}

.visit-heading-right p {
    max-width: 410px;

    margin: 0;

    color: #696a62;

    font-family: "Poppins", sans-serif;
    font-size: 13px;

    line-height: 1.85;
}

.visit-destination {
    position: relative;

    min-height: 590px;
}

.visit-map-wrap {
    position: relative;

    width: calc(100% - 285px);
    height: 590px;

    overflow: hidden;

    background: #d9d7cf;
}

.visit-map-wrap::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    box-shadow:
        inset 0 0 0 1px rgba(24, 61, 48, 0.08);
}

.visit-map-wrap iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;

    filter: saturate(0.75) contrast(0.95);
}

.visit-map-label {
    position: absolute;
    left: 24px;
    bottom: 24px;

    z-index: 3;

    display: flex;
    align-items: center;
    gap: 13px;

    min-width: 240px;

    padding: 12px 17px;

    background: rgba(248, 245, 237, 0.95);

    box-shadow:
        0 10px 30px rgba(22, 47, 37, 0.12);

    backdrop-filter: blur(8px);
}

.visit-map-label > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    background: #183d30;

    color: #ffffff;

    font-size: 12px;
}

.visit-map-label div {
    display: flex;
    flex-direction: column;
}

.visit-map-label small {
    margin-bottom: 2px;

    color: #a17d3d;

    font-family: "Poppins", sans-serif;
    font-size: 8px;
    font-weight: 600;

    letter-spacing: 1.5px;
}

.visit-map-label strong {
    color: #183d30;

    font-family: "Cormorant Garamond", serif;
    font-size: 17px;
    font-weight: 600;
}

.visit-info-card {
    position: absolute;
    top: 50%;
    right: 0;

    z-index: 5;

    width: 465px;

    padding: 42px 42px 38px;

    background: #173e30;

    transform: translateY(-50%);

    box-shadow:
        0 28px 65px rgba(19, 48, 37, 0.2);
}

.visit-info-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 95px;
    height: 3px;

    background: #b58d48;
}

.visit-info-card::after {
    content: "";

    position: absolute;
    top: 18px;
    right: 18px;

    width: 40px;
    height: 40px;

    border-top: 1px solid rgba(181, 141, 72, 0.38);
    border-right: 1px solid rgba(181, 141, 72, 0.38);

    pointer-events: none;
}

.visit-card-top {
    display: flex;
    align-items: center;
    gap: 13px;

    margin-bottom: 20px;
}

.visit-card-number {
    color: #b58d48;

    font-family: "Cormorant Garamond", serif;
    font-size: 14px;
    font-weight: 700;
}

.visit-card-label {
    color: rgba(255, 255, 255, 0.63);

    font-family: "Poppins", sans-serif;
    font-size: 9px;
    font-weight: 600;

    letter-spacing: 2px;
}

.visit-info-card h3 {
    max-width: 370px;

    margin: 0 0 22px;

    color: #ffffff;

    font-family: "Cormorant Garamond", serif;
    font-size: 38px;
    font-weight: 600;

    line-height: 1.02;
}

.visit-address {
    display: flex;
    align-items: flex-start;
    gap: 11px;

    margin: 0;

    color: rgba(255, 255, 255, 0.72);

    font-family: "Poppins", sans-serif;
    font-size: 12px;

    line-height: 1.7;
}

.visit-address i {
    margin-top: 5px;

    color: #b58d48;

    font-size: 12px;
}

.visit-divider {
    width: 100%;
    height: 1px;

    margin: 27px 0;

    background: rgba(255, 255, 255, 0.12);
}

.visit-detail-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;

    padding: 15px 0;

    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.visit-detail-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    border: 1px solid rgba(181, 141, 72, 0.35);

    color: #b58d48;

    font-size: 12px;
}

.visit-detail-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
}

.visit-detail-content > span {
    margin-bottom: 4px;

    color: #b58d48;

    font-family: "Poppins", sans-serif;
    font-size: 8px;
    font-weight: 600;

    letter-spacing: 1.6px;
}

.visit-detail-content strong {
    color: #ffffff;

    font-family: "Poppins", sans-serif;
    font-size: 12px;
    font-weight: 500;
}

.visit-detail-content small {
    margin-top: 3px;

    color: rgba(255, 255, 255, 0.48);

    font-family: "Poppins", sans-serif;
    font-size: 9px;
}

.visit-detail-content a {
    display: inline-block;

    width: fit-content;

    margin-bottom: 3px;

    color: rgba(255, 255, 255, 0.82);

    font-family: "Poppins", sans-serif;
    font-size: 11px;

    text-decoration: none;

    transition: color 0.3s ease;
}

.visit-detail-content a:hover {
    color: #d3ac66;
}

.visit-actions {
    margin-top: 28px;
}

.visit-direction-btn {
    position: relative;

    display: flex;
    align-items: center;
    gap: 13px;

    width: 100%;

    padding: 8px 10px;

    overflow: hidden;

    background: #f5f0e5;

    color: #183d30;

    text-decoration: none;

    transition:
        transform 0.35s ease,
        background 0.35s ease,
        box-shadow 0.35s ease;
}

.visit-direction-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    flex-shrink: 0;

    background: #b58d48;

    color: #ffffff;

    font-size: 14px;
}

.visit-direction-text {
    display: flex;
    flex-direction: column;

    font-family: "Poppins", sans-serif;
    font-size: 11px;
    font-weight: 600;

    letter-spacing: 0.8px;
    text-transform: uppercase;
}

.visit-direction-text small {
    margin-bottom: 1px;

    color: #979084;

    font-size: 7px;
    font-weight: 500;

    letter-spacing: 1.2px;
}

.visit-direction-btn > i {
    margin-left: auto;
    margin-right: 8px;

    color: #a17d3d;

    font-size: 11px;

    transition: transform 0.3s ease;
}

.visit-direction-btn:hover {
    background: #ffffff;

    color: #183d30;

    transform: translateY(-3px);

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.15);
}

.visit-direction-btn:hover > i {
    transform: translate(2px, -2px);
}

.visit-contact-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    margin-top: 18px;

    color: rgba(255, 255, 255, 0.72);

    font-family: "Poppins", sans-serif;
    font-size: 9px;
    font-weight: 500;

    letter-spacing: 1.1px;
    text-transform: uppercase;

    text-decoration: none;

    transition: color 0.3s ease;
}

.visit-contact-link > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border: 1px solid rgba(181, 141, 72, 0.35);

    color: #b58d48;

    font-size: 9px;
}

.visit-contact-link > i {
    margin-left: 3px;

    font-size: 8px;

    transition: transform 0.3s ease;
}

.visit-contact-link:hover {
    color: #ffffff;
}

.visit-contact-link:hover > i {
    transform: translateX(4px);
}

.visit-bottom-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    margin-top: 28px;

    padding: 19px 24px;

    border-top: 1px solid rgba(24, 61, 48, 0.15);
    border-bottom: 1px solid rgba(24, 61, 48, 0.15);
}

.visit-strip-text > span {
    display: block;

    margin-bottom: 5px;

    color: #a17d3d;

    font-family: "Poppins", sans-serif;
    font-size: 8px;
    font-weight: 600;

    letter-spacing: 1.8px;
}

.visit-strip-text p {
    display: flex;
    align-items: center;
    gap: 11px;

    margin: 0;

    color: #183d30;

    font-family: "Cormorant Garamond", serif;
    font-size: 19px;
    font-weight: 600;
}

.visit-strip-text p i {
    color: #b58d48;

    font-size: 3px;
}

.visit-strip-mark {
    display: flex;
    align-items: center;
    gap: 9px;

    color: #183d30;
}

.visit-strip-mark > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border: 1px solid rgba(24, 61, 48, 0.2);
    border-radius: 50%;

    color: #a17d3d;

    font-size: 11px;
}

.visit-strip-mark small {
    font-family: "Poppins", sans-serif;
    font-size: 8px;
    font-weight: 600;

    letter-spacing: 1.8px;
}

@media (max-width: 1199px) {

    .tgh-visit-section {
        padding: 100px 0 85px;
    }

    .visit-heading {
        gap: 45px;
    }

    .visit-map-wrap {
        width: calc(100% - 230px);
    }

    .visit-info-card {
        width: 430px;

        padding: 37px 35px 34px;
    }

}

@media (max-width: 991px) {

    .tgh-visit-section {
        padding: 85px 0 75px;
    }

    .visit-heading {
        grid-template-columns: 1fr;
        gap: 24px;

        margin-bottom: 40px;
    }

    .visit-heading-right {
        max-width: 600px;
    }

    .visit-destination {
        display: flex;
        flex-direction: column;

        min-height: 0;
    }

    .visit-map-wrap {
        width: 100%;
        height: 470px;
    }

    .visit-info-card {
        position: relative;
        top: auto;
        right: auto;

        width: calc(100% - 60px);

        margin: -75px auto 0;

        padding: 38px;

        transform: none;
    }

}

@media (max-width: 767px) {

    .tgh-visit-section {
        padding: 68px 0 58px;
    }

    .tgh-visit-section .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .visit-bg-word {
        top: 25px;
        right: -18px;

        font-size: 95px;
    }

    .visit-heading {
        gap: 20px;

        margin-bottom: 30px;
    }

    .visit-small-title {
        gap: 9px;

        margin-bottom: 12px;

        font-size: 8px;

        letter-spacing: 2px;
    }

    .visit-title-line {
        width: 29px;
    }

    .visit-heading-left h2 {
        font-size: 40px;

        line-height: 1;
    }

    .visit-heading-right {
        gap: 12px;

        padding-left: 0;

        border-left: 0;
    }

    .visit-location-icon {
        width: 36px;
        height: 36px;

        font-size: 11px;
    }

    .visit-heading-right p {
        flex: 1;

        font-size: 11px;

        line-height: 1.7;
    }

    .visit-map-wrap {
        height: 330px;
    }

    .visit-map-label {
        left: 12px;
        bottom: 12px;

        min-width: 0;

        padding: 9px 11px;

        gap: 9px;
    }

    .visit-map-label > span {
        width: 32px;
        height: 32px;

        font-size: 10px;
    }

    .visit-map-label small {
        font-size: 6px;
    }

    .visit-map-label strong {
        font-size: 14px;
    }

    .visit-info-card {
        width: calc(100% - 20px);

        margin-top: -30px;

        padding: 28px 22px 25px;
    }

    .visit-info-card::before {
        width: 70px;
    }

    .visit-info-card::after {
        top: 12px;
        right: 12px;

        width: 28px;
        height: 28px;
    }

    .visit-card-top {
        margin-bottom: 14px;
    }

    .visit-card-label {
        font-size: 7px;

        letter-spacing: 1.5px;
    }

    .visit-info-card h3 {
        margin-bottom: 17px;

        font-size: 31px;
    }

    .visit-address {
        font-size: 10px;
    }

    .visit-divider {
        margin: 20px 0 8px;
    }

    .visit-detail-row {
        gap: 12px;

        padding: 13px 0;
    }

    .visit-detail-icon {
        width: 34px;
        height: 34px;

        font-size: 10px;
    }

    .visit-detail-content > span {
        font-size: 7px;
    }

    .visit-detail-content strong {
        font-size: 10px;
    }

    .visit-detail-content small,
    .visit-detail-content a {
        font-size: 8px;
    }

    .visit-actions {
        margin-top: 21px;
    }

    .visit-direction-btn {
        padding: 7px 8px;
    }

    .visit-direction-icon {
        width: 43px;
        height: 43px;

        font-size: 12px;
    }

    .visit-direction-text {
        font-size: 9px;
    }

    .visit-direction-text small {
        font-size: 6px;
    }

    .visit-bottom-strip {
        align-items: flex-start;

        margin-top: 22px;

        padding: 15px 3px;

        gap: 15px;
    }

    .visit-strip-text {
        flex: 1;
    }

    .visit-strip-text > span {
        font-size: 6px;

        letter-spacing: 1.2px;
    }

    .visit-strip-text p {
        flex-wrap: wrap;

        gap: 6px;

        font-size: 14px;

        line-height: 1.4;
    }

    .visit-strip-mark {
        flex-direction: column;

        gap: 5px;
    }

    .visit-strip-mark > span {
        width: 30px;
        height: 30px;

        font-size: 9px;
    }

    .visit-strip-mark small {
        font-size: 6px;

        letter-spacing: 1px;
    }

}

@media (max-width: 420px) {

    .visit-heading-left h2 {
        font-size: 36px;
    }

    .visit-map-wrap {
        height: 290px;
    }

    .visit-info-card {
        width: calc(100% - 12px);

        padding: 25px 18px 22px;
    }

    .visit-info-card h3 {
        font-size: 28px;
    }

    .visit-map-label strong {
        font-size: 13px;
    }

    .visit-strip-mark small {
        display: none;
    }

}

.visit-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;

    width: 100%;
    margin-top: 28px;
}

.visit-direction-btn,
.visit-contact-link {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    min-height: 58px;

    margin: 0;
    padding: 8px 16px 8px 9px;

    text-decoration: none !important;

    font-family: "Poppins", sans-serif;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.visit-direction-btn {
    background: #f7f1e6;
    border: 1px solid rgba(181, 141, 72, 0.30);

    color: #173e30 !important;
}

.visit-direction-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 42px;

    flex: 0 0 46px;

    margin-right: 14px;

    background: #c69345;

    color: #ffffff;

    font-size: 12px;
}

.visit-direction-text {
    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #173e30;
}

.visit-direction-text small {
    margin-bottom: 2px;

    color: #9b825d;

    font-size: 7px;
    font-weight: 500;

    line-height: 1;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.visit-direction-text {
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.visit-direction-btn > i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    margin-left: auto;
    margin-right: 0;

    border: 1px solid rgba(181, 141, 72, 0.38);
    border-radius: 50%;

    color: #b58d48;

    font-size: 9px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.visit-direction-btn:hover {
    background: #ffffff;

    border-color: #b58d48;

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.visit-direction-btn:hover > i {
    background: #b58d48;

    color: #ffffff;

    transform: translate(2px, -2px);
}

.visit-contact-link {
    background: #b98b43;
    border: 1px solid #c79a52;

    color: #ffffff !important;
}

.visit-contact-link > span {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 42px;

    flex: 0 0 46px;

    margin-right: 14px;

    background: #064b3b;
    border: 0;

    color: #ffffff;

    font-size: 11px;
}

.visit-contact-link {
    font-size: 10px;
    font-weight: 700;

    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.visit-contact-link > i {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    margin-left: auto;

    border: 1px solid rgba(255, 255, 255, 0.42);
    border-radius: 50%;

    color: #ffffff;

    font-size: 9px;

    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}

.visit-contact-link:hover {
    background: #c39750;

    border-color: #c39750;

    color: #ffffff !important;

    transform: translateY(-2px);

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.13);
}

.visit-contact-link:hover > span {
    background: #173e30;
    color: #ffffff;
}

.visit-contact-link:hover > i {
    background: #ffffff;

    color: #173e30;

    transform: translateX(3px);
}

.visit-direction-btn::before,
.visit-contact-link::before {
    content: "";

    position: absolute;
    top: 0;
    left: -90%;

    width: 50%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.14),
        transparent
    );

    transform: skewX(-20deg);

    transition: left 0.6s ease;

    pointer-events: none;
}

.visit-direction-btn:hover::before,
.visit-contact-link:hover::before {
    left: 130%;
}

@media (max-width: 767px) {

    .visit-actions {
        gap: 10px;

        margin-top: 22px;
    }

    .visit-direction-btn,
    .visit-contact-link {
        min-height: 54px;

        padding: 7px 12px 7px 8px;
    }

    .visit-direction-icon,
    .visit-contact-link > span {
        width: 42px;
        height: 40px;

        flex-basis: 42px;

        margin-right: 12px;
    }

    .visit-direction-text,
    .visit-contact-link {
        font-size: 9px;
    }

    .visit-direction-text small {
        font-size: 6px;
    }

    .visit-direction-btn > i,
    .visit-contact-link > i {
        width: 29px;
        height: 29px;

        font-size: 8px;
    }
}

@media (max-width: 420px) {

    .visit-direction-btn,
    .visit-contact-link {
        min-height: 52px;
    }

    .visit-direction-icon,
    .visit-contact-link > span {
        width: 39px;
        height: 38px;

        flex-basis: 39px;

        margin-right: 10px;
    }

    .visit-direction-text,
    .visit-contact-link {
        font-size: 8px;
        letter-spacing: 1px;
    }

    .visit-direction-btn > i,
    .visit-contact-link > i {
        width: 27px;
        height: 27px;
    }
}

@media (max-width: 767px) {

    .tgh-visit-section {
        position: relative;
        overflow: hidden;

        padding: 48px 0 42px;
    }

    .tgh-visit-section .container {
        width: 100%;
        max-width: 100%;

        padding-left: 18px;
        padding-right: 18px;

        margin: 0 auto;
    }

    .visit-bg-word {
        top: 14px;
        right: -30px;

        font-size: 78px;
        line-height: 1;

        opacity: 0.55;

        pointer-events: none;
    }

    .visit-heading {
        display: flex;
        flex-direction: column;

        width: 100%;

        gap: 0;

        margin: 0 0 25px;
    }

    .visit-heading-left {
        width: 100%;
    }

    .visit-small-title {
        display: flex;
        align-items: center;

        gap: 8px;

        margin: 0 0 11px;

        font-size: 7px;
        font-weight: 600;

        line-height: 1;

        letter-spacing: 1.7px;
    }

    .visit-title-line {
        width: 27px;
        height: 1px;

        flex: 0 0 27px;
    }

    .visit-heading-left h2 {
        width: 100%;
        max-width: 100%;

        margin: 0;

        font-size: 34px;
        line-height: 0.98;

        letter-spacing: -0.5px;
    }

    .visit-heading-left h2 em {
        display: block;

        margin-top: 4px;

        font-size: 33px;
        line-height: 1;
    }

    .visit-heading-right {
        display: flex;
        align-items: center;

        width: 100%;
        max-width: 100%;

        gap: 12px;

        margin: 21px 0 0;
        padding: 15px 0 0;

        border-left: 0;
        border-top: 1px solid rgba(24, 61, 48, 0.14);
    }

    .visit-location-icon {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 35px;
        height: 35px;

        flex: 0 0 35px;

        border-radius: 50%;

        font-size: 9px;
    }

    .visit-heading-right p {
        flex: 1;

        min-width: 0;

        margin: 0;

        font-size: 9px;
        line-height: 1.65;
    }

    .visit-destination {
        position: relative;

        display: flex;
        flex-direction: column;

        width: 100%;
        min-height: 0;
    }

    .visit-map-wrap {
        position: relative;

        width: 100%;
        height: 285px;

        margin: 0;

        overflow: hidden;
    }

    .visit-map-wrap iframe {
        display: block;

        width: 100%;
        height: 100%;

        border: 0;
    }

    .visit-map-label {
        position: absolute;

        left: 10px;
        right: 10px;
        bottom: 10px;

        width: auto;
        min-width: 0;

        display: flex;
        align-items: center;

        gap: 9px;

        padding: 8px 10px;
    }

    .visit-map-label > span {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 31px;
        height: 31px;

        flex: 0 0 31px;

        font-size: 8px;
    }

    .visit-map-label div {
        min-width: 0;
    }

    .visit-map-label small {
        display: block;

        margin-bottom: 1px;

        font-size: 5.5px;
        letter-spacing: 1px;
    }

    .visit-map-label strong {
        display: block;

        overflow: hidden;

        font-size: 13px;
        line-height: 1.2;

        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .visit-info-card {
        position: relative;

        top: auto;
        right: auto;

        width: calc(100% - 14px);

        margin: -14px auto 0;

        padding: 25px 18px 21px;

        transform: none;

        z-index: 5;

        box-shadow:
            0 16px 35px rgba(18, 48, 37, 0.15);
    }

    .visit-info-card::before {
        width: 58px;
        height: 2px;
    }

    .visit-info-card::after {
        top: 10px;
        right: 10px;

        width: 24px;
        height: 24px;
    }

    .visit-card-top {
        display: flex;
        align-items: center;

        gap: 8px;

        margin-bottom: 12px;
    }

    .visit-card-number {
        font-size: 11px;
    }

    .visit-card-label {
        font-size: 6px;

        letter-spacing: 1.3px;
    }

    .visit-info-card h3 {
        width: 100%;
        max-width: 270px;

        margin: 0 0 15px;

        font-size: 27px;
        line-height: 1;

        letter-spacing: -0.2px;
    }

    .visit-address {
        display: flex;
        align-items: flex-start;

        gap: 8px;

        margin: 0;

        font-size: 9px;
        line-height: 1.55;
    }

    .visit-address i {
        margin-top: 3px;

        font-size: 9px;
    }

    .visit-divider {
        margin: 17px 0 4px;
    }

    .visit-detail-row {
        display: flex;
        align-items: center;

        gap: 10px;

        padding: 11px 0;
    }

    .visit-detail-icon {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 33px;
        height: 33px;

        flex: 0 0 33px;

        font-size: 8px;
    }

    .visit-detail-content {
        min-width: 0;
        flex: 1;
    }

    .visit-detail-content > span {
        display: block;

        margin-bottom: 2px;

        font-size: 5.5px;
        line-height: 1;

        letter-spacing: 1.2px;
    }

    .visit-detail-content strong {
        display: block;

        font-size: 9px;
        line-height: 1.4;
    }

    .visit-detail-content small {
        display: block;

        margin-top: 1px;

        font-size: 7px;
        line-height: 1.4;
    }

    .visit-detail-content a {
        display: block;

        width: fit-content;

        margin: 0 0 2px;

        font-size: 8px;
        line-height: 1.4;
    }

    .visit-actions {
        display: flex;
        flex-direction: column;

        width: 100%;

        gap: 8px;

        margin-top: 18px;
    }

    .visit-direction-btn,
    .visit-contact-link {
        width: 100%;
        min-height: 49px;

        margin: 0;

        padding: 6px 10px 6px 7px;
    }

    .visit-direction-icon,
    .visit-contact-link > span {
        width: 36px;
        height: 36px;

        flex: 0 0 36px;

        margin-right: 10px;

        font-size: 8px;
    }

    .visit-direction-text,
    .visit-contact-link {
        font-size: 7.5px;

        letter-spacing: 0.9px;
    }

    .visit-direction-text small {
        margin-bottom: 2px;

        font-size: 5px;
        letter-spacing: 0.9px;
    }

    .visit-direction-btn > i,
    .visit-contact-link > i {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 25px;
        height: 25px;

        flex: 0 0 25px;

        margin-left: auto;

        font-size: 7px;
    }

    .visit-bottom-strip {
        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;

        gap: 10px;

        margin-top: 20px;
        padding: 13px 2px;

        overflow: hidden;
    }

    .visit-strip-text {
        min-width: 0;

        flex: 1;
    }

    .visit-strip-text > span {
        display: block;

        margin-bottom: 4px;

        font-size: 5.5px;

        letter-spacing: 1px;
    }

    .visit-strip-text p {
        display: flex;
        align-items: center;
        flex-wrap: wrap;

        gap: 5px;

        margin: 0;

        font-size: 12px;
        line-height: 1.3;
    }

    .visit-strip-text p i {
        font-size: 2px;
    }

    .visit-strip-mark {
        display: flex;
        flex-direction: column;
        align-items: center;

        flex: 0 0 auto;

        gap: 3px;
    }

    .visit-strip-mark > span {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 28px;
        height: 28px;

        font-size: 8px;
    }

    .visit-strip-mark small {
        font-size: 5px;

        letter-spacing: 0.7px;
    }
}

@media (max-width: 420px) {

    .tgh-visit-section {
        padding: 44px 0 38px;
    }

    .tgh-visit-section .container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .visit-heading-left h2 {
        font-size: 31px;
    }

    .visit-heading-left h2 em {
        font-size: 30px;
    }

    .visit-heading-right p {
        font-size: 8.5px;
    }

    .visit-map-wrap {
        height: 260px;
    }

    .visit-info-card {
        width: calc(100% - 8px);

        margin-top: -12px;

        padding: 23px 16px 19px;
    }

    .visit-info-card h3 {
        max-width: 250px;

        font-size: 25px;
    }

    .visit-direction-btn,
    .visit-contact-link {
        min-height: 47px;
    }

    .visit-direction-icon,
    .visit-contact-link > span {
        width: 34px;
        height: 34px;

        flex-basis: 34px;

        margin-right: 9px;
    }

    .visit-direction-btn > i,
    .visit-contact-link > i {
        width: 24px;
        height: 24px;

        flex-basis: 24px;
    }

    .visit-strip-text p {
        font-size: 11px;
    }
}

/* =========================================
   TGH MAP - GREEN THEME + CLEAR RED PIN
   ADD AT THE END
========================================= */

.tgh-visit-section .visit-map-wrap {
    position: relative;

    background: #dce8df;

    border: 2px solid #0b513c;
    border-radius: 8px;

    overflow: hidden;

    box-shadow:
        0 18px 45px rgba(0, 59, 38, 0.16);
}


/* GOOGLE MAP
   Keep original colours so RED location pin stays RED */

.tgh-visit-section .visit-map-wrap iframe {
    display: block;

    width: 100%;
    height: 100%;

    border: 0;

    filter:
        saturate(82%)
        brightness(104%)
        contrast(94%) !important;

    opacity: 1 !important;
}


/* SOFT GREEN THEME OVER MAP */

.tgh-visit-section .visit-map-wrap::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background: rgba(0, 76, 53, 0.055);

    box-shadow:
        inset 0 0 0 1px rgba(0, 59, 38, 0.10);
}


/* =========================================
   MAP LOCATION BOX
========================================= */

.tgh-visit-section .visit-map-label {
    position: absolute;

    z-index: 3;

    background: rgba(247, 244, 234, 0.97);

    border: 1px solid rgba(0, 59, 38, 0.22);
    border-left: 4px solid #00533b;

    border-radius: 7px;

    box-shadow:
        0 12px 30px rgba(0, 59, 38, 0.16);

    backdrop-filter: blur(8px);
}


/* LOCATION ICON */

.tgh-visit-section .visit-map-label > span {
    background: #004b35;

    color: #ffffff;

    border-radius: 5px;

    box-shadow:
        0 6px 15px rgba(0, 59, 38, 0.20);
}


/* OUR LOCATION */

.tgh-visit-section .visit-map-label small {
    color: #9a7845;

    font-weight: 600;
}


/* LEOPARD TRAIL */

.tgh-visit-section .visit-map-label strong {
    color: #003b26;

    font-weight: 700;
}

/* Privacy Policy Page Banner Section */
.inner-page-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.inner-page-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.inner-page-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.inner-page-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.inner-page-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.inner-page-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.inner-page-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.inner-page-breadcrumb a:hover{
    color: #fff;
}

.inner-page-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.inner-page-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .inner-page-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .inner-page-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .inner-page-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .inner-page-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .inner-page-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .inner-page-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .inner-page-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .inner-page-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .inner-page-banner-content h1{
        font-size: 36px;
    }

    .inner-page-breadcrumb{
        font-size: 10px;
    }
}

/* Home Page Destination Section */
.tgh-meals-experience{
    position: relative;
    padding: 120px 0 0;
    background: #f6f1e7;
    overflow: hidden;
}

.tgh-meals-bg-text{
    position: absolute;
    top: 18px;
    left: 50%;

    transform: translateX(-15%);

    font-family: 'Cormorant Garamond', serif;
    font-size: 180px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 10px;

    color: rgba(0, 75, 50, .035);

    white-space: nowrap;
    pointer-events: none;
    user-select: none;
}

.tgh-meals-layout{
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 31% 69%;

    align-items: stretch;
}

.tgh-meals-intro{
    position: relative;

    padding:
        15px 50px
        50px 0;
}

.tgh-meals-eyebrow{
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 35px;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 2.1px;

    color: #a98143;
}

.tgh-meals-eyebrow > span{
    display: block;

    width: 42px;
    height: 1px;

    background: #b89151;
}

.tgh-meals-intro h2{
    margin: 0 0 25px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 65px;
    font-weight: 600;

    line-height: .91;

    letter-spacing: -1px;

    color: #003f2b;
}

.tgh-meals-intro h2 em{
    display: block;

    margin: 6px 0;

    font-size: 68px;
    font-weight: 500;

    color: #b28b4c;
}

.tgh-meals-intro h2 span{
    display: block;
}

.tgh-meals-intro > h3{
    margin: 0 0 27px;

    font-family: 'Poppins', sans-serif;

    font-size: 11px;
    font-weight: 500;

    line-height: 1.7;
    letter-spacing: 2.2px;

    color: #b18b4e;
}

.tgh-meals-quote{
    position: relative;

    display: flex;
    align-items: flex-start;

    gap: 12px;

    margin: 0 0 27px;

    padding: 6px 0 6px 19px;

    border-left: 2px solid #c09c5a;
}

.tgh-meals-quote-mark{
    flex: 0 0 auto;

    margin-top: -7px;

    font-family: Georgia, serif;

    font-size: 35px;
    line-height: 1;

    color: #c2a46c;
}

.tgh-meals-quote p{
    margin: 0;

    font-family: 'Cormorant Garamond', serif;

    font-size: 18px;
    font-style: italic;
    font-weight: 500;

    line-height: 1.45;

    color: #53605b;
}

.tgh-meals-description{
    margin: 0 0 30px;

    font-family: 'Poppins', sans-serif;

    font-size: 11px;
    font-weight: 400;

    line-height: 1.9;

    color: #65706c;
}

.tgh-meals-main-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    min-width: 165px;

    padding: 14px 18px;

    background: #d8b66d;

    border: 1px solid #d8b66d;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 1px;

    text-transform: uppercase;

    color: #003f2b;

    text-decoration: none;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.tgh-meals-main-btn:hover{
    background: #004b32;

    border-color: #004b32;

    color: #fff;

    transform: translateY(-3px);
}

.tgh-meals-main-btn i{
    font-size: 9px;

    transition: transform .3s ease;
}

.tgh-meals-main-btn:hover i{
    transform: translateX(5px);
}

.tgh-meals-cards{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    align-items: stretch;

    box-shadow:
        0 20px 55px rgba(0, 58, 39, .08);
}

.tgh-meal-card{
    position: relative;

    display: flex;
    flex-direction: column;

    min-width: 0;

    background: #fbf8f1;

    border-left: 1px solid rgba(0, 75, 50, .10);

    overflow: hidden;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.tgh-meal-card:last-child{
    border-right: 1px solid rgba(0, 75, 50, .10);
}

.tgh-meal-card:hover{
    z-index: 5;

    transform: translateY(-8px);

    box-shadow:
        0 25px 45px rgba(0, 55, 37, .15);
}

.tgh-meal-card-top{
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 25px 24px 5px;
}

.tgh-meal-number{
    display: flex;
    align-items: center;

    gap: 10px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 24px;
    font-weight: 600;

    color: #b18b4d;
}

.tgh-meal-number span{
    display: block;

    width: 35px;
    height: 1px;

    background: #c1a266;

    transition: width .35s ease;
}

.tgh-meal-card:hover .tgh-meal-number span{
    width: 50px;
}

.tgh-meal-icon{
    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(177, 139, 77, .65);
    border-radius: 50%;

    font-size: 15px;

    color: #a97e3c;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}

.tgh-meal-card:hover .tgh-meal-icon{
    background: #004b32;

    border-color: #004b32;

    color: #e2c37e;

    transform: rotate(-8deg);
}

.tgh-meal-title{
    padding: 5px 24px 22px;
}

.tgh-meal-title h3{
    margin: 0 0 11px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 37px;
    font-weight: 600;

    line-height: 1;

    color: #003f2b;
}

.tgh-meal-title p{
    margin: 0;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 500;

    line-height: 1.65;
    letter-spacing: 1.4px;

    color: #344a42;
}

.tgh-meal-image{
    position: relative;

    width: 100%;
    height: 305px;

    background: #d9d3c5;

    overflow: hidden;
}

.tgh-meal-image::after{
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(0, 53, 36, .22) 100%
        );

    pointer-events: none;
}

.tgh-meal-image img{
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .8s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.tgh-meal-card:hover .tgh-meal-image img{
    transform: scale(1.055);
}

.tgh-meal-card-bottom{
    position: relative;

    flex: 1;

    display: flex;
    flex-direction: column;

    align-items: flex-start;

    min-height: 175px;

    padding: 23px 24px 25px;

    background: #004b32;

    overflow: hidden;
}

.tgh-meal-card-bottom::after{
    content: "";

    position: absolute;

    width: 125px;
    height: 125px;

    right: -70px;
    bottom: -75px;

    border: 1px solid rgba(226, 195, 126, .12);
    border-radius: 50%;

    pointer-events: none;
}

.tgh-meal-card-bottom p{
    position: relative;
    z-index: 2;

    min-height: 45px;

    margin: 0 0 21px;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 400;

    line-height: 1.75;
    letter-spacing: .5px;

    text-transform: uppercase;

    color: rgba(255,255,255,.78);
}

.tgh-meal-card-bottom a{
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-top: auto;

    min-width: 150px;

    padding: 12px 14px;

    background: #d9b96f;

    border: 1px solid #d9b96f;

    font-family: 'Poppins', sans-serif;

    font-size: 8px;
    font-weight: 700;

    letter-spacing: .7px;

    text-transform: uppercase;

    color: #003e2a;

    text-decoration: none;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}

.tgh-meal-card-bottom a:hover{
    background: transparent;

    border-color: rgba(255,255,255,.45);

    color: #fff;
}

.tgh-meal-card-bottom a i{
    font-size: 8px;

    transition: transform .3s ease;
}

.tgh-meal-card-bottom a:hover i{
    transform: translateX(4px);
}

.tgh-meals-strip{
    position: relative;
    z-index: 5;

    display: grid;

    grid-template-columns:
        1fr
        1px
        1.2fr
        1px
        1fr
        1px
        1.5fr
        55px;

    align-items: center;

    gap: 27px;

    margin-top: 65px;

    padding: 31px 35px;

    background: #003f2b;

    overflow: hidden;
}

.tgh-meals-strip::before{
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    right: -90px;
    bottom: -140px;

    border: 1px solid rgba(221, 190, 119, .12);
    border-radius: 50%;
}

.tgh-meals-strip::after{
    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    right: -35px;
    bottom: -70px;

    border: 1px solid rgba(221, 190, 119, .08);
    border-radius: 50%;
}

.tgh-meals-strip-item{
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 14px;
}

.tgh-strip-icon{
    flex: 0 0 auto;

    width: 43px;
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 17px;

    color: #d8b76d;
}

.tgh-meals-strip-item span{
    display: block;

    margin-bottom: 3px;

    font-family: 'Poppins', sans-serif;

    font-size: 8px;
    font-weight: 500;

    letter-spacing: 1.4px;

    color: #e1c886;
}

.tgh-meals-strip-item strong{
    display: block;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 500;

    letter-spacing: .6px;

    text-transform: uppercase;

    color: #fff;
}

.tgh-strip-divider{
    position: relative;
    z-index: 2;

    display: block;

    width: 1px;
    height: 42px;

    background: rgba(218, 186, 112, .38);
}

.tgh-meals-strip-message{
    position: relative;
    z-index: 2;
}

.tgh-meals-strip-message span{
    display: block;

    margin-bottom: 2px;

    font-family: 'Cormorant Garamond', serif;

    font-size: 17px;
    font-style: italic;

    color: #d6b467;
}

.tgh-meals-strip-message strong{
    display: block;

    font-family: 'Cormorant Garamond', serif;

    font-size: 20px;
    font-style: italic;
    font-weight: 600;

    color: #fff;
}

.tgh-meals-leaf{
    position: relative;
    z-index: 3;

    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    justify-self: end;

    border: 1px solid rgba(219, 185, 107, .45);
    border-radius: 50%;

    color: #dab96e;

    font-size: 14px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}

.tgh-meals-strip:hover .tgh-meals-leaf{
    background: #d9b96f;

    color: #003f2b;

    transform: rotate(-12deg);
}

@media (max-width: 1199px){

    .tgh-meals-experience{
        padding-top: 100px;
    }

    .tgh-meals-layout{
        grid-template-columns: 29% 71%;
    }

    .tgh-meals-intro{
        padding-right: 30px;
    }

    .tgh-meals-intro h2{
        font-size: 54px;
    }

    .tgh-meals-intro h2 em{
        font-size: 57px;
    }

    .tgh-meal-title{
        padding-left: 19px;
        padding-right: 19px;
    }

    .tgh-meal-card-top{
        padding-left: 19px;
        padding-right: 19px;
    }

    .tgh-meal-title h3{
        font-size: 32px;
    }

    .tgh-meal-image{
        height: 270px;
    }

    .tgh-meal-card-bottom{
        padding-left: 19px;
        padding-right: 19px;
    }

    .tgh-meals-strip{
        gap: 18px;
        padding-left: 25px;
        padding-right: 25px;
    }
}

@media (max-width: 991px){

    .tgh-meals-experience{
        padding: 85px 0 0;
    }

    .tgh-meals-bg-text{
        top: 20px;

        font-size: 120px;

        transform: translateX(-50%);
    }

    .tgh-meals-layout{
        display: block;
    }

    .tgh-meals-intro{
        max-width: 650px;

        padding: 0 0 55px;
    }

    .tgh-meals-intro h2{
        max-width: 500px;

        font-size: 61px;
    }

    .tgh-meals-intro h2 em{
        font-size: 64px;
    }

    .tgh-meals-description{
        max-width: 550px;
    }

    .tgh-meals-cards{
        grid-template-columns: repeat(3, 1fr);
    }

    .tgh-meal-card-top{
        padding: 20px 15px 5px;
    }

    .tgh-meal-number{
        font-size: 20px;
    }

    .tgh-meal-number span{
        width: 22px;
    }

    .tgh-meal-icon{
        width: 36px;
        height: 36px;

        font-size: 12px;
    }

    .tgh-meal-title{
        padding: 5px 15px 18px;
    }

    .tgh-meal-title h3{
        font-size: 29px;
    }

    .tgh-meal-title p{
        font-size: 8px;
    }

    .tgh-meal-image{
        height: 230px;
    }

    .tgh-meal-card-bottom{
        min-height: 170px;

        padding: 20px 15px;
    }

    .tgh-meal-card-bottom a{
        min-width: 130px;

        padding: 11px;
    }

    .tgh-meals-strip{
        grid-template-columns:
            1fr
            1fr
            1fr;

        gap: 0;

        padding: 30px;
    }

    .tgh-meals-strip-item{
        padding: 0 18px;
    }

    .tgh-meals-strip-item:first-child{
        padding-left: 0;
    }

    .tgh-meals-strip-item:nth-of-type(3){
        padding-right: 0;
    }

    .tgh-strip-divider{
        display: none;
    }

    .tgh-meals-strip-message{
        grid-column: 1 / 4;

        margin-top: 25px;
        padding-top: 22px;

        border-top: 1px solid rgba(255,255,255,.14);
    }

    .tgh-meals-leaf{
        position: absolute;

        right: 30px;
        bottom: 27px;
    }
}

@media (max-width: 767px){

    .tgh-meals-experience{
        padding-top: 70px;
    }

    .tgh-meals-bg-text{
        top: 20px;

        font-size: 76px;
        letter-spacing: 4px;
    }

    .tgh-meals-intro{
        padding-bottom: 45px;
    }

    .tgh-meals-eyebrow{
        margin-bottom: 25px;

        font-size: 8px;
        letter-spacing: 1.5px;
    }

    .tgh-meals-eyebrow > span{
        width: 30px;
    }

    .tgh-meals-intro h2{
        margin-bottom: 22px;

        font-size: 50px;
        line-height: .95;
    }

    .tgh-meals-intro h2 em{
        margin: 5px 0;

        font-size: 53px;
    }

    .tgh-meals-intro > h3{
        margin-bottom: 22px;

        font-size: 9px;
    }

    .tgh-meals-quote{
        max-width: 430px;
    }

    .tgh-meals-quote p{
        font-size: 17px;
    }

    .tgh-meals-description{
        max-width: 500px;

        font-size: 11px;
    }

    .tgh-meals-cards{
        display: block;

        box-shadow: none;
    }

    .tgh-meal-card{
        margin-bottom: 28px;

        border: 1px solid rgba(0,75,50,.10);

        box-shadow:
            0 15px 35px rgba(0, 55, 37, .07);
    }

    .tgh-meal-card:last-child{
        margin-bottom: 0;
    }

    .tgh-meal-card:hover{
        transform: translateY(-4px);
    }

    .tgh-meal-card-top{
        padding: 23px 22px 5px;
    }

    .tgh-meal-number{
        font-size: 23px;
    }

    .tgh-meal-number span{
        width: 35px;
    }

    .tgh-meal-icon{
        width: 42px;
        height: 42px;

        font-size: 14px;
    }

    .tgh-meal-title{
        padding: 6px 22px 22px;
    }

    .tgh-meal-title h3{
        margin-bottom: 10px;

        font-size: 38px;
    }

    .tgh-meal-title p{
        font-size: 9px;
    }

    .tgh-meal-image{
        height: 340px;
    }

    .tgh-meal-card-bottom{
        min-height: auto;

        padding: 24px 22px 26px;
    }

    .tgh-meal-card-bottom p{
        min-height: 0;

        max-width: 330px;

        margin-bottom: 20px;
    }

    .tgh-meal-card-bottom a{
        min-width: 155px;
    }

    .tgh-meals-strip{
        display: block;

        margin-top: 45px;

        padding: 30px 25px;
    }

    .tgh-meals-strip-item{
        padding: 17px 0;

        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .tgh-meals-strip-item:first-child{
        padding-top: 0;
    }

    .tgh-strip-icon{
        width: 38px;
    }

    .tgh-meals-strip-item span{
        font-size: 8px;
    }

    .tgh-meals-strip-item strong{
        font-size: 10px;
    }

    .tgh-meals-strip-message{
        margin-top: 0;

        padding: 22px 60px 0 0;

        border: 0;
    }

    .tgh-meals-strip-message span{
        font-size: 18px;
    }

    .tgh-meals-strip-message strong{
        font-size: 22px;
    }

    .tgh-meals-leaf{
        right: 23px;
        bottom: 26px;

        width: 42px;
        height: 42px;
    }
}

@media (max-width: 400px){

    .tgh-meals-experience{
        padding-top: 60px;
    }

    .tgh-meals-bg-text{
        font-size: 62px;
    }

    .tgh-meals-intro h2{
        font-size: 44px;
    }

    .tgh-meals-intro h2 em{
        font-size: 47px;
    }

    .tgh-meals-quote p{
        font-size: 16px;
    }

    .tgh-meal-image{
        height: 300px;
    }

    .tgh-meal-title h3{
        font-size: 34px;
    }

    .tgh-meals-strip{
        padding: 27px 20px;
    }
}

@media (max-width: 767px){

    .tgh-meals-experience{
        padding: 75px 0 65px !important;
    }

    .tgh-meals-experience .container{
        width: 100%;
        max-width: 100%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .tgh-meals-bg-text{
        top: 34px !important;
        left: 50% !important;

        transform: translateX(-50%) !important;

        width: 100%;

        text-align: center;

        font-size: 75px !important;
        letter-spacing: 5px !important;

        opacity: .7;
    }

    .tgh-meals-intro{
        width: 100%;
        max-width: 520px;

        margin: 0 auto 50px !important;
        padding: 0 !important;

        text-align: center;
    }

    .tgh-meals-eyebrow{
        justify-content: center;

        width: 100%;

        margin: 0 auto 28px !important;

        gap: 11px;

        font-size: 8px !important;
        line-height: 1.5;

        letter-spacing: 1.6px !important;
    }

    .tgh-meals-eyebrow > span{
        width: 28px !important;
    }

    .tgh-meals-intro h2{
        max-width: 100% !important;

        margin: 0 auto 25px !important;

        text-align: center;

        font-size: 52px !important;
        line-height: .94 !important;
    }

    .tgh-meals-intro h2 em{
        display: block;

        margin: 6px 0 8px !important;

        font-size: 55px !important;
    }

    .tgh-meals-intro h2 em::after{
        left: 50% !important;
        bottom: -8px !important;

        width: 45px !important;

        transform: translateX(-50%);
    }

    .tgh-meals-intro h2 span{
        display: block;
    }

    .tgh-meals-intro > h3{
        margin: 0 auto 27px !important;

        text-align: center;

        font-size: 9px !important;
        line-height: 1.7;

        letter-spacing: 2px !important;
    }

    .tgh-meals-quote{
        position: relative;

        display: block !important;

        width: 100%;
        max-width: 390px;

        margin: 0 auto 27px !important;

        padding:
            24px 18px
            20px !important;

        text-align: center;

        border-left: 0 !important;
        border-top: 1px solid rgba(181,141,75,.35);
        border-bottom: 1px solid rgba(181,141,75,.20);
    }

    .tgh-meals-quote-mark{
        display: block;

        width: 100%;

        margin: 0 0 5px !important;

        text-align: center;

        font-size: 38px !important;
        line-height: .6 !important;

        color: #b58d4b;
    }

    .tgh-meals-quote p{
        margin: 0 auto !important;

        text-align: center;

        font-size: 18px !important;
        line-height: 1.55 !important;

        color: #41564e;
    }

    .tgh-meals-description{
        width: 100%;
        max-width: 420px !important;

        margin: 0 auto 28px !important;

        padding: 0 5px;

        text-align: center;

        font-size: 11px !important;
        line-height: 1.9 !important;

        color: #64716c;
    }

    .tgh-meals-main-btn{
        min-width: 190px;

        margin: 0 auto !important;

        padding: 15px 20px;

        display: inline-flex;

        font-size: 9px;
    }

    .tgh-meals-cards{
        width: 100%;

        margin-top: 0;
    }

    .tgh-meal-card{
        width: 100%;

        margin:
            0 auto
            32px !important;
    }

    .tgh-meal-card-top{
        padding:
            24px 23px
            5px !important;
    }

    .tgh-meal-title{
        padding:
            5px 23px
            22px !important;
    }

    .tgh-meal-title h3{
        font-size: 39px !important;
    }

    .tgh-meal-image{
        height: 370px !important;
    }

    .tgh-meal-card-bottom{
        padding:
            25px 23px
            27px !important;
    }

    .tgh-meal-card-bottom p{
        max-width: 310px;

        font-size: 9px;
        line-height: 1.8;
    }

    .tgh-meals-strip{
        width: 100%;

        margin-top: 45px !important;

        padding:
            30px 25px !important;
    }

}

@media (max-width: 400px){

    .tgh-meals-experience .container{
        padding-left: 16px;
        padding-right: 16px;
    }

    .tgh-meals-bg-text{
        font-size: 61px !important;
    }

    .tgh-meals-intro h2{
        font-size: 46px !important;
    }

    .tgh-meals-intro h2 em{
        font-size: 49px !important;
    }

    .tgh-meals-quote{
        padding:
            22px 12px
            18px !important;
    }

    .tgh-meals-quote p{
        font-size: 17px !important;
    }

    .tgh-meals-description{
        padding: 0;

        font-size: 10.5px !important;
    }

    .tgh-meal-image{
        height: 320px !important;
    }

}

.tgh-meals-experience{
    position: relative;

    background:
        radial-gradient(
            circle at 12% 25%,
            rgba(193, 153, 82, .10),
            transparent 24%
        ),
        radial-gradient(
            circle at 88% 72%,
            rgba(0, 75, 50, .075),
            transparent 26%
        ),
        linear-gradient(
            135deg,
            #faf6ed 0%,
            #f4eddf 100%
        ) !important;
}

.tgh-meals-experience::after{
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 49.9%,
            rgba(0,75,50,.025) 50%,
            transparent 50.1%
        );

    opacity: .7;
}

.tgh-meals-bg-text{
    color: rgba(0, 75, 50, .045) !important;

    text-shadow:
        0 12px 40px rgba(0,75,50,.025);
}

.tgh-meals-intro{
    position: relative;
    z-index: 3;
}

.tgh-meals-eyebrow::after{
    content: "";

    width: 5px;
    height: 5px;

    flex: 0 0 auto;

    border-radius: 50%;

    background: #b88d47;

    box-shadow:
        0 0 0 5px rgba(184,141,71,.08);
}

.tgh-meals-intro h2{
    text-shadow:
        0 7px 25px rgba(0,62,42,.035);
}

.tgh-meals-intro h2 em{
    text-shadow:
        0 8px 25px rgba(181,138,70,.09);
}

@media (min-width: 768px){

    .tgh-meals-quote{
        background:
            linear-gradient(
                90deg,
                rgba(190,151,82,.07),
                transparent
            );

        padding:
            15px 15px
            15px 22px;
    }

}

.tgh-meals-main-btn{
    position: relative;

    overflow: hidden;

    box-shadow:
        0 10px 25px rgba(177,137,68,.15);
}

.tgh-meals-main-btn::before{
    content: "";

    position: absolute;

    top: -50%;
    left: -60%;

    width: 30%;
    height: 200%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.35),
            transparent
        );

    transform: rotate(20deg);

    transition: left .6s ease;
}

.tgh-meals-main-btn:hover::before{
    left: 130%;
}

.tgh-meal-card{
    isolation: isolate;

    box-shadow:
        0 18px 45px rgba(0,56,38,.09),
        0 2px 0 rgba(255,255,255,.8) inset !important;
}

.tgh-meal-card::after{
    content: "";

    position: absolute;

    inset: 8px;

    z-index: 10;

    border:
        1px solid
        rgba(187,145,74,.11);

    pointer-events: none;

    transition:
        inset .4s ease,
        border-color .4s ease;
}

.tgh-meal-card:hover::after{
    inset: 11px;

    border-color:
        rgba(187,145,74,.25);
}

.tgh-meal-number{
    position: relative;
}

.tgh-meal-number::before{
    content: "";

    position: absolute;

    width: 5px;
    height: 5px;

    left: -2px;
    top: -3px;

    border-radius: 50%;

    background: #b88c46;
}

.tgh-meal-icon{
    position: relative;
}

.tgh-meal-icon::after{
    content: "";

    position: absolute;

    inset: 4px;

    border:
        1px solid
        rgba(177,136,67,.18);

    border-radius: 50%;

    transition:
        transform .4s ease,
        border-color .4s ease;
}

.tgh-meal-card:hover .tgh-meal-icon::after{
    transform: scale(.82);

    border-color:
        rgba(226,195,126,.45);
}

.tgh-meal-image{
    position: relative;
}

.tgh-meal-image::after{
    background:
        linear-gradient(
            180deg,
            rgba(0,45,30,.02) 0%,
            rgba(0,45,30,.03) 45%,
            rgba(0,45,30,.42) 100%
        ) !important;

    z-index: 3;
}

.tgh-meal-image::before{
    content: "";

    position: absolute;

    z-index: 5;

    left: 20px;
    bottom: 20px;

    width: 1px;
    height: 0;

    background: #e0bf78;

    transition:
        height .55s ease;

    pointer-events: none;
}

.tgh-meal-card:hover
.tgh-meal-image::before{
    height: 55px;
}

.tgh-meal-card-bottom{
    background:
        radial-gradient(
            circle at 100% 100%,
            rgba(216,183,109,.10),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #005239 0%,
            #003d29 100%
        ) !important;
}

.tgh-meal-card-bottom::after{
    width: 155px !important;
    height: 155px !important;

    right: -85px !important;
    bottom: -90px !important;

    border:
        1px solid
        rgba(222,190,116,.17) !important;

    box-shadow:
        0 0 0 25px
        rgba(222,190,116,.025);
}

.tgh-meal-card-bottom a{
    position: relative;

    overflow: hidden;

    box-shadow:
        0 8px 20px rgba(0,0,0,.10);
}

.tgh-meal-card-bottom a::before{
    content: "";

    position: absolute;

    top: -60%;
    left: -50%;

    width: 25%;
    height: 220%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    transform: rotate(20deg);

    transition:
        left .6s ease;
}

.tgh-meal-card-bottom a:hover::before{
    left: 130%;
}

.tgh-meals-strip{
    position: relative;

    border-top:
        1px solid
        rgba(223,190,116,.40);

    border-bottom:
        1px solid
        rgba(223,190,116,.15);

    box-shadow:
        0 20px 50px
        rgba(0,50,34,.14) !important;
}

.tgh-meals-strip::after{
    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    right: -130px;
    top: -170px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(220,187,112,.10),
            transparent 65%
        );

    pointer-events: none;
}

.tgh-strip-icon{
    position: relative;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}

.tgh-meals-strip-item:hover
.tgh-strip-icon{
    box-shadow:
        0 8px 22px
        rgba(0,0,0,.14);
}

@media (min-width: 992px){

    .tgh-meals-layout{
        column-gap: 22px;
    }

    .tgh-meals-cards{
        gap: 14px !important;
    }

    .tgh-meal-card{
        border-radius: 2px;
    }

}

@media (max-width: 767px){

    .tgh-meals-experience{
        background:
            radial-gradient(
                circle at 50% 5%,
                rgba(185,143,71,.09),
                transparent 25%
            ),
            #f8f3e9 !important;
    }

    .tgh-meals-intro::after{
        content: "";

        display: block;

        width: 55px;
        height: 1px;

        margin:
            40px auto
            0;

        background:
            linear-gradient(
                90deg,
                transparent,
                #b88d49,
                transparent
            );
    }

    .tgh-meals-cards{
        width: calc(100% - 4px);

        margin:
            0 auto;
    }

    .tgh-meal-card{
        border-radius: 2px;

        box-shadow:
            0 20px 45px
            rgba(0,55,37,.11) !important;
    }

    .tgh-meal-image{
        position: relative;
    }

    .tgh-meal-title{
        position: relative;
    }

    .tgh-meal-title::after{
        content: "";

        display: block;

        width: 30px;
        height: 1px;

        margin-top: 16px;

        background: #bc9450;
    }

    .tgh-meals-main-btn{
        box-shadow:
            0 12px 28px
            rgba(181,139,70,.18);
    }

    .tgh-meals-strip{
        border-radius: 2px;

        box-shadow:
            0 20px 45px
            rgba(0,51,34,.16) !important;
    }

}

@media (max-width: 400px){

    .tgh-meal-card::after{
        inset: 6px;
    }

    .tgh-meal-card:hover::after{
        inset: 8px;
    }

}

/* Privacy Policy Page First Section */
.tgh-policy-section{
    position:relative;
    padding:85px 0 100px;
    background:#eee8db;
    overflow:hidden;
}

.tgh-policy-section::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    left:-260px;
    top:-200px;
    border-radius:50%;
    background:rgba(0,75,50,.035);
}

.tgh-policy-section .container{
    position:relative;
    z-index:2;
}


/* ==========================================================
   COMPLETE DOCUMENT
========================================================== */

.tgh-policy-box{
    max-width:1180px;
    margin:0 auto;
    background:#fbf8ef;
    border:1px solid rgba(0,65,43,.13);
    box-shadow:0 28px 70px rgba(0,55,37,.13);
    overflow:hidden;
}


/* ==========================================================
   MAIN 2 COLUMN
========================================================== */

.tgh-policy-main{
    display:grid;
    grid-template-columns:29% 71%;
    min-height:760px;
}


/* ==========================================================
   LEFT DARK PANEL
========================================================== */

.tgh-policy-sidebar{
    position:relative;
    min-height:100%;
    padding:45px 38px 42px;
    background:
        radial-gradient(
            circle at 30% 85%,
            rgba(206,174,102,.08),
            transparent 27%
        ),
        linear-gradient(
            155deg,
            #005138 0%,
            #003d2a 65%,
            #003421 100%
        );
    overflow:hidden;
    color:#fff;
}


/* gold line on top */

.tgh-policy-sidebar::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:#d2ad61;
}


/* decorative circle */

.tgh-policy-sidebar::after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    left:-150px;
    bottom:30px;
    border:1px solid rgba(211,177,101,.10);
    border-radius:50%;
}


/* ==========================================================
   MINI LABEL
========================================================== */

.tgh-policy-mini-label{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    gap:11px;
    margin-bottom:32px;
    font-family:'Poppins',sans-serif;
    font-size:8px;
    font-weight:600;
    letter-spacing:2.5px;
    color:#d6b76e;
}

.tgh-policy-mini-label span{
    width:28px;
    height:1px;
    background:#d6b76e;
}


/* ==========================================================
   SIDEBAR TITLE
========================================================== */

.tgh-policy-sidebar h1{
    position:relative;
    z-index:3;
    margin:0 0 25px;
    font-family:'Cormorant Garamond',serif;
    font-size:43px;
    font-weight:500;
    line-height:.98;
    letter-spacing:-.4px;
    color:#fff;
}

.tgh-policy-sidebar h1 em{
    display:block;
    margin-top:5px;
    font-weight:500;
    color:#dbb76a;
}


/* ==========================================================
   SIDEBAR TEXT
========================================================== */

.tgh-policy-sidebar-text{
    position:relative;
    z-index:3;
    max-width:220px;
    margin:0;
    font-family:'Poppins',sans-serif;
    font-size:10px;
    line-height:1.9;
    color:rgba(255,255,255,.73);
}


/* ==========================================================
   LAST UPDATED
========================================================== */

.tgh-policy-date{
    position:relative;
    z-index:3;
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:42px;
}

.tgh-policy-date-icon{
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(215,181,106,.28);
    color:#d8b76c;
    font-size:11px;
}

.tgh-policy-date span{
    display:block;
    margin-bottom:3px;
    font-family:'Poppins',sans-serif;
    font-size:6px;
    font-weight:600;
    letter-spacing:1.5px;
    color:rgba(255,255,255,.48);
}

.tgh-policy-date strong{
    display:block;
    font-family:'Cormorant Garamond',serif;
    font-size:14px;
    font-weight:500;
    color:#fff;
}


/* ==========================================================
   DECORATIVE LEAVES
========================================================== */

.tgh-policy-leaves{
    position:absolute;
    z-index:1;
    left:-30px;
    bottom:115px;
    width:260px;
    height:230px;
    opacity:.28;
    transform:rotate(-10deg);
}

.tgh-policy-leaves::before{
    content:"";
    position:absolute;
    left:92px;
    bottom:5px;
    width:2px;
    height:210px;
    background:linear-gradient(
        to top,
        rgba(206,176,105,.75),
        rgba(206,176,105,.08)
    );
    transform:rotate(28deg);
    transform-origin:bottom;
}

.tgh-policy-leaves i{
    position:absolute;
    color:#4e9a74;
    filter:drop-shadow(0 8px 10px rgba(0,0,0,.10));
}

.tgh-policy-leaves .leaf-one{
    font-size:93px;
    left:16px;
    bottom:7px;
    transform:rotate(-28deg);
}

.tgh-policy-leaves .leaf-two{
    font-size:75px;
    left:85px;
    bottom:68px;
    transform:rotate(25deg);
}

.tgh-policy-leaves .leaf-three{
    font-size:61px;
    left:36px;
    bottom:118px;
    transform:rotate(-30deg);
}

.tgh-policy-leaves .leaf-four{
    font-size:48px;
    left:111px;
    bottom:152px;
    transform:rotate(25deg);
}


/* ==========================================================
   SIDEBAR QUOTE
========================================================== */

.tgh-policy-quote{
    position:absolute;
    z-index:4;
    left:38px;
    right:35px;
    bottom:35px;
    padding-top:17px;
    border-top:1px solid rgba(216,182,105,.25);
}

.tgh-policy-quote-mark{
    display:block;
    height:22px;
    font-family:Georgia,serif;
    font-size:38px;
    line-height:1;
    color:#d8b66c;
}

.tgh-policy-quote p{
    max-width:200px;
    margin:4px 0 0;
    font-family:'Cormorant Garamond',serif;
    font-size:13px;
    font-style:italic;
    line-height:1.35;
    color:rgba(255,255,255,.77);
}


/* ==========================================================
   RIGHT SIDE
========================================================== */

.tgh-policy-content{
    padding:21px 42px 10px 36px;
    background:#fbf8ef;
}


/* ==========================================================
   POLICY ROW
========================================================== */

.tgh-policy-item{
    position:relative;
    display:grid;
    grid-template-columns:57px 43px minmax(0,1fr) 30px;
    align-items:flex-start;
    gap:15px;
    padding:22px 0;
    border-bottom:1px solid rgba(0,67,45,.10);
    transition:padding .3s ease, background .3s ease;
}

.tgh-policy-item:last-child{
    border-bottom:0;
}

.tgh-policy-item:hover{
    padding-left:9px;
    padding-right:9px;
    background:rgba(0,75,50,.025);
}


/* ==========================================================
   NUMBER
========================================================== */

.tgh-policy-number{
    display:flex;
    align-items:center;
    gap:8px;
    padding-top:8px;
    font-family:'Cormorant Garamond',serif;
    font-size:17px;
    font-weight:600;
    color:#b18a4b;
}

.tgh-policy-number span{
    width:17px;
    height:1px;
    background:rgba(177,138,75,.55);
}


/* ==========================================================
   GREEN ICON
========================================================== */

.tgh-policy-icon{
    width:35px;
    height:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#005239;
    border:4px solid rgba(0,82,57,.08);
    box-shadow:0 0 0 1px rgba(0,82,57,.10);
    color:#d8b66d;
    font-size:10px;
    transition:transform .3s ease;
}

.tgh-policy-item:hover .tgh-policy-icon{
    transform:translateY(-3px);
}


/* ==========================================================
   COPY
========================================================== */

.tgh-policy-copy{
    padding-right:10px;
}

.tgh-policy-copy h3{
    margin:0 0 6px;
    font-family:'Cormorant Garamond',serif;
    font-size:21px;
    font-weight:600;
    line-height:1.15;
    color:#004a32;
}

.tgh-policy-copy p{
    max-width:620px;
    margin:0;
    font-family:'Poppins',sans-serif;
    font-size:8.5px;
    font-weight:400;
    line-height:1.75;
    color:#6b7772;
}


/* ==========================================================
   MINI LIST
========================================================== */

.tgh-policy-copy ul{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px 15px;
    max-width:580px;
    margin:10px 0 0;
    padding:0;
    list-style:none;
}

.tgh-policy-copy li{
    position:relative;
    padding-left:10px;
    font-family:'Poppins',sans-serif;
    font-size:7px;
    line-height:1.5;
    color:#596762;
}

.tgh-policy-copy li::before{
    content:"";
    position:absolute;
    left:0;
    top:5px;
    width:3px;
    height:3px;
    border-radius:50%;
    background:#bc914c;
}


/* ==========================================================
   SMALL NOTE
========================================================== */

.tgh-policy-small-note{
    display:inline-block;
    margin-top:9px;
    padding:6px 10px;
    background:rgba(185,143,73,.08);
    border-left:2px solid #b98e49;
    font-family:'Poppins',sans-serif;
    font-size:7px;
    line-height:1.5;
    color:#69746f;
}


/* ==========================================================
   RIGHT ARROW
========================================================== */

.tgh-policy-arrow{
    width:24px;
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:5px;
    border:1px solid rgba(183,142,73,.42);
    border-radius:50%;
    color:#ad8242;
    font-size:7px;
    transition:.3s ease;
}

.tgh-policy-item:hover .tgh-policy-arrow{
    background:#005239;
    border-color:#005239;
    color:#fff;
    transform:translateX(3px);
}


/* ==========================================================
   BOTTOM CTA STRIP
========================================================== */

.tgh-policy-bottom{
    position:relative;
    display:grid;
    grid-template-columns:55px minmax(0,1fr) auto;
    align-items:center;
    gap:20px;
    padding:25px 42px;
    background:
        radial-gradient(
            circle at 85% 50%,
            rgba(216,182,108,.10),
            transparent 28%
        ),
        #00452f;
    border-top:1px solid rgba(218,184,109,.35);
    overflow:hidden;
}

.tgh-policy-bottom::after{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-85px;
    bottom:-115px;
    border:1px solid rgba(216,182,108,.12);
    border-radius:50%;
}


/* CTA ICON */

.tgh-policy-bottom-icon{
    position:relative;
    z-index:2;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(217,183,107,.28);
    border-radius:50%;
    color:#d8b66b;
    font-size:14px;
}


/* CTA COPY */

.tgh-policy-bottom-content{
    position:relative;
    z-index:2;
}

.tgh-policy-bottom-content > span{
    display:block;
    margin-bottom:3px;
    font-family:'Poppins',sans-serif;
    font-size:6px;
    font-weight:600;
    letter-spacing:1.7px;
    color:#d4b269;
}

.tgh-policy-bottom-content h3{
    margin:0 0 3px;
    font-family:'Cormorant Garamond',serif;
    font-size:19px;
    font-weight:600;
    color:#fff;
}

.tgh-policy-bottom-content p{
    max-width:570px;
    margin:0;
    font-family:'Poppins',sans-serif;
    font-size:7px;
    line-height:1.6;
    color:rgba(255,255,255,.60);
}


/* CTA BUTTON */

.tgh-policy-contact-btn{
    position:relative;
    z-index:3;
    min-width:135px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    padding:12px 17px;
    background:#d3ad61;
    border:1px solid #d3ad61;
    font-family:'Poppins',sans-serif;
    font-size:8px;
    font-weight:600;
    letter-spacing:.5px;
    color:#003e2a;
    text-decoration:none;
    transition:.3s ease;
}

.tgh-policy-contact-btn:hover{
    background:transparent;
    color:#fff;
}

.tgh-policy-contact-btn i{
    font-size:7px;
    transition:transform .3s ease;
}

.tgh-policy-contact-btn:hover i{
    transform:translateX(4px);
}


/* ==========================================================
   TABLET
========================================================== */

@media(max-width:991px){

    .tgh-policy-section{
        padding:65px 0 75px;
    }

    .tgh-policy-main{
        grid-template-columns:32% 68%;
    }

    .tgh-policy-sidebar{
        padding:38px 27px;
    }

    .tgh-policy-sidebar h1{
        font-size:36px;
    }

    .tgh-policy-content{
        padding:15px 25px 8px;
    }

    .tgh-policy-item{
        grid-template-columns:48px 38px minmax(0,1fr) 26px;
        gap:10px;
        padding:19px 0;
    }

    .tgh-policy-icon{
        width:32px;
        height:32px;
    }

    .tgh-policy-copy h3{
        font-size:19px;
    }

    .tgh-policy-copy ul{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tgh-policy-bottom{
        padding:24px 28px;
    }
}


/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:767px){

    .tgh-policy-section{
        padding:50px 0 60px;
        background:#eee8dc;
    }

    .tgh-policy-section .container{
        padding-left:16px;
        padding-right:16px;
    }

    .tgh-policy-box{
        width:100%;
    }


    /* ============================
       STACK LEFT ABOVE CONTENT
    ============================ */

    .tgh-policy-main{
        display:block;
        min-height:0;
    }


    /* LEFT PANEL */

    .tgh-policy-sidebar{
        min-height:500px;
        padding:38px 28px 40px;
    }

    .tgh-policy-mini-label{
        margin-bottom:24px;
    }

    .tgh-policy-sidebar h1{
        max-width:280px;
        font-size:44px;
    }

    .tgh-policy-sidebar-text{
        max-width:310px;
        font-size:10px;
    }

    .tgh-policy-date{
        margin-top:30px;
    }

    .tgh-policy-leaves{
        left:auto;
        right:-25px;
        bottom:60px;
        opacity:.22;
    }

    .tgh-policy-quote{
        left:28px;
        right:28px;
        bottom:28px;
    }

    .tgh-policy-quote p{
        max-width:260px;
    }


    /* ============================
       RIGHT CONTENT
    ============================ */

    .tgh-policy-content{
        padding:12px 22px 5px;
    }

    .tgh-policy-item{
        grid-template-columns:42px 38px minmax(0,1fr);
        gap:10px;
        padding:25px 0;
    }

    .tgh-policy-item:hover{
        padding-left:5px;
        padding-right:5px;
    }

    .tgh-policy-number{
        font-size:16px;
    }

    .tgh-policy-number span{
        width:12px;
    }

    .tgh-policy-copy{
        padding-right:0;
    }

    .tgh-policy-copy h3{
        font-size:20px;
        margin-bottom:7px;
    }

    .tgh-policy-copy p{
        font-size:8.5px;
        line-height:1.7;
    }

    .tgh-policy-copy ul{
        grid-template-columns:1fr 1fr;
        gap:6px 10px;
    }

    .tgh-policy-copy li{
        font-size:7.5px;
    }


    /* arrow bottom/right */

    .tgh-policy-arrow{
        grid-column:3;
        margin-top:5px;
    }


    /* ============================
       BOTTOM CTA
    ============================ */

    .tgh-policy-bottom{
        display:block;
        padding:30px 25px;
        text-align:center;
    }

    .tgh-policy-bottom-icon{
        margin:0 auto 14px;
    }

    .tgh-policy-bottom-content h3{
        font-size:23px;
    }

    .tgh-policy-bottom-content p{
        max-width:350px;
        margin:0 auto 18px;
        font-size:8px;
    }

    .tgh-policy-contact-btn{
        min-width:145px;
    }
}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media(max-width:400px){

    .tgh-policy-section .container{
        padding-left:12px;
        padding-right:12px;
    }

    .tgh-policy-sidebar{
        min-height:480px;
        padding:34px 23px 35px;
    }

    .tgh-policy-sidebar h1{
        font-size:39px;
    }

    .tgh-policy-content{
        padding:8px 17px 4px;
    }

    .tgh-policy-item{
        grid-template-columns:37px 34px minmax(0,1fr);
        gap:8px;
    }

    .tgh-policy-icon{
        width:30px;
        height:30px;
        border-width:3px;
    }

    .tgh-policy-copy h3{
        font-size:18px;
    }

    .tgh-policy-copy ul{
        grid-template-columns:1fr;
    }

    .tgh-policy-bottom{
        padding:27px 20px;
    }
}

/* ==========================================================
   TGH PRIVACY POLICY
   FINAL PREMIUM SIZE + DEPTH ENHANCEMENT
   ADD AT ABSOLUTE END OF main.css
========================================================== */


/* ==========================================================
   DESKTOP ONLY
========================================================== */

@media (min-width: 992px){

    /* ------------------------------------------------------
       1. WHOLE SECTION - MORE BREATHING SPACE
    ------------------------------------------------------ */

    .tgh-policy-section{
        padding: 105px 0 120px !important;

        background:
            radial-gradient(
                circle at 7% 18%,
                rgba(183,142,73,.09),
                transparent 22%
            ),
            radial-gradient(
                circle at 93% 80%,
                rgba(0,75,50,.07),
                transparent 24%
            ),
            #eee8db !important;
    }


    /* premium top decorative line */

    .tgh-policy-section::after{
        content:"";

        position:absolute;
        top:48px;
        left:50%;

        width:70px;
        height:1px;

        transform:translateX(-50%);

        background:#b88d49;
    }


    /* ------------------------------------------------------
       2. COMPLETE DOCUMENT - BIGGER
    ------------------------------------------------------ */

    .tgh-policy-box{
        max-width: 1280px !important;

        border:
            1px solid
            rgba(0,67,45,.15) !important;

        box-shadow:
            0 35px 90px rgba(0,55,37,.14),
            0 3px 10px rgba(0,55,37,.05) !important;
    }


    /* ------------------------------------------------------
       3. COLUMN WIDTH
    ------------------------------------------------------ */

    .tgh-policy-main{
        grid-template-columns:
            30% 70% !important;

        min-height: 940px !important;
    }


    /* ======================================================
       LEFT GREEN PANEL
    ====================================================== */

    .tgh-policy-sidebar{
        padding:
            58px 48px
            48px !important;

        background:
            radial-gradient(
                circle at 20% 80%,
                rgba(216,183,109,.10),
                transparent 30%
            ),
            linear-gradient(
                155deg,
                #00553a 0%,
                #00432e 52%,
                #003522 100%
            ) !important;
    }


    /* ------------------------------------------------------
       4. PRIVACY FIRST
    ------------------------------------------------------ */

    .tgh-policy-mini-label{
        margin-bottom: 39px !important;

        gap: 13px !important;

        font-size: 9px !important;

        letter-spacing:
            2.8px !important;
    }


    .tgh-policy-mini-label span{
        width: 36px !important;
    }


    /* ------------------------------------------------------
       5. MAIN LEFT HEADING
    ------------------------------------------------------ */

    .tgh-policy-sidebar h1{
        max-width: 290px !important;

        margin-bottom: 29px !important;

        font-size: 52px !important;

        line-height: .96 !important;

        letter-spacing:
            -.7px !important;
    }


    .tgh-policy-sidebar h1 em{
        margin-top: 7px !important;

        color: #dfbb70 !important;
    }


    /* small gold underline */

    .tgh-policy-sidebar h1::after{
        content:"";

        display:block;

        width:46px;
        height:1px;

        margin-top:24px;

        background:
            rgba(219,183,105,.75);
    }


    /* ------------------------------------------------------
       6. LEFT DESCRIPTION
    ------------------------------------------------------ */

    .tgh-policy-sidebar-text{
        max-width: 250px !important;

        font-size: 11px !important;

        line-height: 1.95 !important;

        color:
            rgba(255,255,255,.76) !important;
    }


    /* ------------------------------------------------------
       7. DATE
    ------------------------------------------------------ */

    .tgh-policy-date{
        margin-top: 46px !important;

        gap: 15px !important;
    }


    .tgh-policy-date-icon{
        width: 42px !important;
        height: 42px !important;

        font-size: 13px !important;

        border-color:
            rgba(216,183,108,.38) !important;
    }


    .tgh-policy-date span{
        font-size: 7px !important;

        letter-spacing:
            1.7px !important;
    }


    .tgh-policy-date strong{
        font-size: 16px !important;
    }


    /* ------------------------------------------------------
       8. LEAF ART - MORE VISIBLE
    ------------------------------------------------------ */

    .tgh-policy-leaves{
        width: 300px !important;
        height: 275px !important;

        left: -28px !important;
        bottom: 125px !important;

        opacity: .38 !important;
    }


    .tgh-policy-leaves .leaf-one{
        font-size: 112px !important;
    }


    .tgh-policy-leaves .leaf-two{
        font-size: 88px !important;
    }


    .tgh-policy-leaves .leaf-three{
        font-size: 72px !important;
    }


    .tgh-policy-leaves .leaf-four{
        font-size: 58px !important;
    }


    /* ------------------------------------------------------
       9. QUOTE
    ------------------------------------------------------ */

    .tgh-policy-quote{
        left: 48px !important;
        right: 48px !important;
        bottom: 44px !important;

        padding-top:
            20px !important;
    }


    .tgh-policy-quote-mark{
        font-size: 44px !important;
    }


    .tgh-policy-quote p{
        max-width: 235px !important;

        font-size: 15px !important;

        line-height: 1.42 !important;
    }


    /* ======================================================
       RIGHT POLICY AREA
    ====================================================== */

    .tgh-policy-content{
        padding:
            26px 48px
            15px 44px !important;
    }


    /* ------------------------------------------------------
       10. EACH POLICY ROW - BIGGER
    ------------------------------------------------------ */

    .tgh-policy-item{
        grid-template-columns:
            70px
            52px
            minmax(0,1fr)
            36px !important;

        gap: 18px !important;

        padding:
            27px 0 !important;
    }


    .tgh-policy-item:hover{
        padding-left:
            14px !important;

        padding-right:
            14px !important;

        background:
            linear-gradient(
                90deg,
                rgba(0,79,53,.045),
                rgba(184,141,72,.025),
                transparent
            ) !important;
    }


    /* ======================================================
       11. NUMBER - IMPORTANT
    ====================================================== */

    .tgh-policy-number{
        gap: 10px !important;

        padding-top:
            10px !important;

        font-size:
            23px !important;

        font-weight:
            600 !important;

        color:
            #ad8241 !important;
    }


    .tgh-policy-number span{
        width:
            24px !important;

        background:
            rgba(173,130,65,.65) !important;

        transition:
            width .35s ease !important;
    }


    .tgh-policy-item:hover
    .tgh-policy-number span{
        width:
            32px !important;
    }


    /* ======================================================
       12. GREEN CIRCLE ICON - BIGGER
    ====================================================== */

    .tgh-policy-icon{
        width:
            43px !important;

        height:
            43px !important;

        border-width:
            4px !important;

        font-size:
            12px !important;

        background:
            #005239 !important;

        color:
            #e0bd70 !important;

        box-shadow:
            0 0 0 1px rgba(0,82,57,.13),
            0 7px 16px rgba(0,71,48,.10) !important;
    }


    /* ======================================================
       13. HEADING - MUCH MORE READABLE
    ====================================================== */

    .tgh-policy-copy h3{
        margin-bottom:
            8px !important;

        font-size:
            25px !important;

        line-height:
            1.15 !important;

        letter-spacing:
            -.15px !important;

        color:
            #00472f !important;
    }


    /* ======================================================
       14. PARAGRAPH TEXT - BIGGER
    ====================================================== */

    .tgh-policy-copy p{
        max-width:
            680px !important;

        font-size:
            10.5px !important;

        line-height:
            1.8 !important;

        color:
            #5e6d67 !important;
    }


    /* ======================================================
       15. BULLETS
    ====================================================== */

    .tgh-policy-copy ul{
        max-width:
            650px !important;

        gap:
            7px 22px !important;

        margin-top:
            13px !important;
    }


    .tgh-policy-copy li{
        padding-left:
            13px !important;

        font-size:
            8.5px !important;

        line-height:
            1.55 !important;

        color:
            #4f6059 !important;
    }


    .tgh-policy-copy li::before{
        top:
            5px !important;

        width:
            4px !important;

        height:
            4px !important;

        box-shadow:
            0 0 0 3px
            rgba(188,145,76,.08);
    }


    /* ======================================================
       16. RESERVATION NOTE
    ====================================================== */

    .tgh-policy-small-note{
        margin-top:
            12px !important;

        padding:
            8px 13px !important;

        font-size:
            8px !important;

        background:
            rgba(184,141,72,.09) !important;
    }


    /* ======================================================
       17. RIGHT ARROW
    ====================================================== */

    .tgh-policy-arrow{
        width:
            30px !important;

        height:
            30px !important;

        margin-top:
            7px !important;

        font-size:
            8px !important;

        border-color:
            rgba(178,136,68,.50) !important;
    }


    /* ======================================================
       18. BOTTOM CTA - BIGGER + RICHER
    ====================================================== */

    .tgh-policy-bottom{
        grid-template-columns:
            68px
            minmax(0,1fr)
            auto !important;

        gap:
            25px !important;

        padding:
            31px 48px !important;

        background:
            radial-gradient(
                circle at 83% 30%,
                rgba(216,182,108,.13),
                transparent 25%
            ),
            linear-gradient(
                105deg,
                #00432d,
                #005239
            ) !important;
    }


    .tgh-policy-bottom-icon{
        width:
            53px !important;

        height:
            53px !important;

        font-size:
            16px !important;
    }


    .tgh-policy-bottom-content > span{
        margin-bottom:
            5px !important;

        font-size:
            7px !important;

        letter-spacing:
            1.9px !important;
    }


    .tgh-policy-bottom-content h3{
        margin-bottom:
            5px !important;

        font-size:
            24px !important;
    }


    .tgh-policy-bottom-content p{
        max-width:
            610px !important;

        font-size:
            8.5px !important;

        line-height:
            1.7 !important;
    }


    .tgh-policy-contact-btn{
        min-width:
            150px !important;

        padding:
            14px 20px !important;

        font-size:
            9px !important;

        box-shadow:
            0 9px 22px
            rgba(0,0,0,.10);
    }

}


/* ==========================================================
   EXTRA LARGE DESKTOP
========================================================== */

@media (min-width: 1400px){

    .tgh-policy-box{
        max-width:
            1320px !important;
    }

    .tgh-policy-sidebar h1{
        font-size:
            55px !important;
    }

    .tgh-policy-copy h3{
        font-size:
            26px !important;
    }

    .tgh-policy-copy p{
        font-size:
            11px !important;
    }

}


/* ==========================================================
   MOBILE - KEEP SAME DESIGN FEEL, JUST MORE PREMIUM
========================================================== */

@media (max-width: 767px){

    .tgh-policy-box{
        box-shadow:
            0 22px 55px
            rgba(0,55,37,.13) !important;
    }


    .tgh-policy-sidebar{
        background:
            radial-gradient(
                circle at 80% 70%,
                rgba(215,181,105,.10),
                transparent 30%
            ),
            linear-gradient(
                145deg,
                #00543a,
                #003923
            ) !important;
    }


    .tgh-policy-sidebar h1{
        font-size:
            46px !important;
    }


    .tgh-policy-sidebar-text{
        font-size:
            10.5px !important;
    }


    .tgh-policy-number{
        font-size:
            18px !important;

        color:
            #ae8342 !important;
    }


    .tgh-policy-icon{
        width:
            34px !important;

        height:
            34px !important;

        box-shadow:
            0 6px 14px
            rgba(0,70,47,.10);
    }


    .tgh-policy-copy h3{
        font-size:
            21px !important;
    }


    .tgh-policy-copy p{
        font-size:
            9px !important;

        line-height:
            1.8 !important;
    }


    .tgh-policy-item{
        padding:
            27px 0 !important;
    }


    .tgh-policy-bottom{
        padding:
            33px 24px !important;
    }


    .tgh-policy-bottom-content h3{
        font-size:
            25px !important;
    }

}

/* Terms & Conditions Page Banner Section */
.terms-conditions-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.terms-conditions-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.terms-conditions-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.terms-conditions-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.terms-conditions-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.terms-conditions-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.terms-conditions-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.terms-conditions-breadcrumb a:hover{
    color: #fff;
}

.terms-conditions-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.terms-conditions-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .terms-conditions-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .terms-conditions-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .terms-conditions-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .terms-conditions-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .terms-conditions-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .terms-conditions-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .terms-conditions-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .terms-conditions-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .terms-conditions-banner-content h1{
        font-size: 36px;
    }

    .terms-conditions-breadcrumb{
        font-size: 10px;
    }
}

/* Terms & Conditions Page First Section */
.tgh-terms-section{
    position: relative;
    padding: 105px 0 115px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(184,143,73,.09),
            transparent 23%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(0,75,50,.07),
            transparent 25%
        ),
        #eee8db;
}


/* ==========================================================
   DECORATIVE BACKGROUND WORD
========================================================== */

.tgh-terms-bg-word{
    position: absolute;
    top: 22px;
    left: 50%;

    transform: translateX(-50%);

    font-family: 'Cormorant Garamond', serif;
    font-size: 180px;
    font-weight: 600;
    line-height: 1;

    letter-spacing: 18px;

    color: rgba(0,70,47,.045);

    white-space: nowrap;

    pointer-events: none;
    user-select: none;
}


/* small gold detail */

.tgh-terms-section::before{
    content: "";

    position: absolute;
    top: 55px;
    left: 50%;

    width: 65px;
    height: 1px;

    transform: translateX(-50%);

    background: #b68c48;
}


/* ==========================================================
   MAIN WRAPPER
========================================================== */

.tgh-terms-wrapper{
    position: relative;
    z-index: 3;

    max-width: 1280px;
    margin: 0 auto;

    background: #fbf8ef;

    border: 1px solid rgba(0,70,47,.13);

    box-shadow:
        0 35px 90px rgba(0,55,37,.13),
        0 3px 12px rgba(0,55,37,.04);

    overflow: hidden;
}


/* gold top line */

.tgh-terms-wrapper::before{
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    z-index: 5;

    background:
        linear-gradient(
            90deg,
            #004b32,
            #d0aa5f,
            #004b32
        );
}


/* ==========================================================
   TOP INTRO
========================================================== */

.tgh-terms-intro{
    position: relative;

    display: grid;

    grid-template-columns:
        .95fr 1.05fr;

    min-height: 420px;

    border-bottom:
        1px solid rgba(0,70,47,.12);
}


/* ==========================================================
   INTRO LEFT
========================================================== */

.tgh-terms-intro-left{
    position: relative;

    padding:
        65px 60px
        60px;

    background:
        linear-gradient(
            135deg,
            #fffdf7,
            #f8f2e7
        );
}


/* subtle circle */

.tgh-terms-intro-left::after{
    content: "";

    position: absolute;

    width: 220px;
    height: 220px;

    left: -130px;
    bottom: -110px;

    border:
        1px solid
        rgba(181,140,72,.10);

    border-radius: 50%;
}


/* ==========================================================
   EYEBROW
========================================================== */

.tgh-terms-eyebrow{
    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 27px;

    font-family: 'Poppins', sans-serif;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 2.4px;

    color: #a87d3d;
}


.tgh-terms-eyebrow span{
    width: 37px;
    height: 1px;

    background: #b58a47;
}


/* ==========================================================
   MAIN HEADING
========================================================== */

.tgh-terms-intro-left h2{
    max-width: 500px;

    margin: 0 0 27px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 60px;
    font-weight: 600;

    line-height: .96;

    letter-spacing: -.8px;

    color: #004a32;
}


.tgh-terms-intro-left h2 em{
    display: block;

    margin-top: 7px;

    font-weight: 500;
    font-style: italic;

    color: #b08746;
}


/* gold underline */

.tgh-terms-intro-left h2::after{
    content: "";

    display: block;

    width: 50px;
    height: 1px;

    margin-top: 24px;

    background: #b58c49;
}


/* ==========================================================
   INTRO DESCRIPTION
========================================================== */

.tgh-terms-intro-left > p{
    max-width: 470px;

    margin: 0;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 11px;

    line-height: 1.9;

    color: #61706a;
}


/* ==========================================================
   LAST UPDATED
========================================================== */

.tgh-terms-updated{
    display: flex;
    align-items: center;

    gap: 14px;

    margin-top: 34px;
}


.tgh-terms-updated-icon{
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(181,140,72,.30);

    color: #aa7e3e;

    font-size: 12px;
}


.tgh-terms-updated span{
    display: block;

    margin-bottom: 3px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 6.5px;
    font-weight: 600;

    letter-spacing: 1.6px;

    color: #9a9e9b;
}


.tgh-terms-updated strong{
    display: block;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 16px;
    font-weight: 600;

    color: #004a32;
}


/* ==========================================================
   INTRO RIGHT - DARK GREEN
========================================================== */

.tgh-terms-intro-right{
    position: relative;

    display: flex;
    align-items: center;

    padding:
        55px 60px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 90% 10%,
            rgba(216,183,108,.13),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #00543a 0%,
            #00452f 50%,
            #003923 100%
        );
}


/* giant decorative number */

.tgh-terms-intro-right::before{
    content: "01";

    position: absolute;

    right: -15px;
    bottom: -48px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 230px;
    font-weight: 600;

    line-height: 1;

    color:
        rgba(255,255,255,.025);

    pointer-events: none;
}


/* decorative circle */

.tgh-terms-intro-right::after{
    content: "";

    position: absolute;

    width: 250px;
    height: 250px;

    right: -130px;
    top: -120px;

    border:
        1px solid
        rgba(215,181,106,.14);

    border-radius: 50%;
}


/* ==========================================================
   AGREEMENT STATEMENT
========================================================== */

.tgh-terms-statement{
    position: relative;
    z-index: 3;

    display: grid;

    grid-template-columns:
        45px 55px 1fr;

    align-items: flex-start;

    gap: 18px;

    width: 100%;
}


/* number */

.tgh-terms-statement-number{
    padding-top: 10px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 21px;
    font-weight: 600;

    color: #d7b56b;
}


/* icon */

.tgh-terms-statement-icon{
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(216,183,108,.35);

    border-radius: 50%;

    color: #dbb970;

    font-size: 15px;
}


/* text */

.tgh-terms-statement-copy > span{
    display: block;

    margin-bottom: 8px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 7px;
    font-weight: 600;

    letter-spacing: 2px;

    color: #d5b269;
}


.tgh-terms-statement-copy h3{
    max-width: 430px;

    margin: 0 0 15px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 34px;
    font-weight: 500;

    line-height: 1.12;

    color: #fff;
}


.tgh-terms-statement-copy p{
    max-width: 420px;

    margin: 0;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 9.5px;

    line-height: 1.8;

    color:
        rgba(255,255,255,.66);
}


/* ==========================================================
   RIGHT QUOTE
========================================================== */

.tgh-terms-intro-quote{
    position: absolute;

    left: 123px;
    right: 60px;
    bottom: 42px;

    display: flex;
    align-items: flex-start;

    gap: 10px;

    padding-top: 15px;

    border-top:
        1px solid
        rgba(216,183,108,.22);
}


.tgh-terms-intro-quote > span{
    font-family: Georgia, serif;

    font-size: 31px;
    line-height: .7;

    color: #d8b66c;
}


.tgh-terms-intro-quote p{
    margin: 0;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 13px;
    font-style: italic;

    color:
        rgba(255,255,255,.72);
}


/* ==========================================================
   DOCUMENT AREA
========================================================== */

.tgh-terms-document{
    position: relative;

    display: grid;

    grid-template-columns:
        29% 71%;

    background: #fbf8ef;
}


/* ==========================================================
   LEFT INDEX
========================================================== */

.tgh-terms-index{
    position: relative;

    padding:
        50px 37px
        45px;

    background:
        linear-gradient(
            180deg,
            #f1e9da,
            #ebe2d1
        );

    border-right:
        1px solid
        rgba(0,70,47,.11);
}


/* ==========================================================
   INDEX TITLE
========================================================== */

.tgh-terms-index-title{
    padding-bottom: 25px;

    border-bottom:
        1px solid
        rgba(0,70,47,.13);
}


.tgh-terms-index-title > span{
    display: block;

    margin-bottom: 6px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 7px;
    font-weight: 600;

    letter-spacing: 2px;

    color: #a57a3b;
}


.tgh-terms-index-title h3{
    margin: 0;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 27px;
    font-weight: 600;

    color: #004a32;
}


/* ==========================================================
   INDEX LINKS
========================================================== */

.tgh-terms-index-list{
    margin-top: 17px;
}


.tgh-terms-index-list a{
    position: relative;

    display: flex;
    align-items: center;

    gap: 13px;

    min-height: 48px;

    padding:
        11px 13px;

    border-bottom:
        1px solid
        rgba(0,70,47,.09);

    font-family:
        'Poppins',
        sans-serif;

    font-size: 9px;
    font-weight: 500;

    color: #53625c;

    text-decoration: none;

    transition:
        padding .3s ease,
        background .3s ease,
        color .3s ease;
}


.tgh-terms-index-list a span{
    flex: 0 0 auto;

    width: 27px;
    height: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(177,136,68,.30);

    border-radius: 50%;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 11px;

    color: #a77c3d;

    transition: .3s ease;
}


/* arrow */

.tgh-terms-index-list a::after{
    content: "\f061";

    position: absolute;
    right: 12px;

    font-family:
        "Font Awesome 6 Free";

    font-weight: 900;
    font-size: 6px;

    color: #aa8142;

    opacity: 0;

    transform:
        translateX(-5px);

    transition: .3s ease;
}


/* hover */

.tgh-terms-index-list a:hover,
.tgh-terms-index-list a.active{
    padding-left: 17px;

    background:
        rgba(0,75,50,.055);

    color: #004a32;
}


.tgh-terms-index-list a:hover span,
.tgh-terms-index-list a.active span{
    background: #005239;

    border-color: #005239;

    color: #d8b66c;
}


.tgh-terms-index-list a:hover::after,
.tgh-terms-index-list a.active::after{
    opacity: 1;

    transform:
        translateX(0);
}


/* ==========================================================
   HELP BOX
========================================================== */

.tgh-terms-index-help{
    position: relative;

    margin-top: 38px;

    padding:
        26px 24px;

    overflow: hidden;

    background:
        linear-gradient(
            145deg,
            #005139,
            #003d29
        );

    color: #fff;
}


.tgh-terms-index-help::after{
    content: "?";

    position: absolute;

    right: -7px;
    bottom: -42px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 140px;
    font-weight: 600;

    color:
        rgba(255,255,255,.035);
}


.tgh-terms-index-help > i{
    position: relative;
    z-index: 2;

    margin-bottom: 17px;

    font-size: 19px;

    color: #d7b46a;
}


.tgh-terms-index-help > span{
    position: relative;
    z-index: 2;

    display: block;

    margin-bottom: 5px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 6.5px;
    font-weight: 600;

    letter-spacing: 1.7px;

    color: #d4b168;
}


.tgh-terms-index-help p{
    position: relative;
    z-index: 2;

    max-width: 180px;

    margin: 0 0 18px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 18px;
    line-height: 1.25;

    color: #fff;
}


.tgh-terms-index-help a{
    position: relative;
    z-index: 2;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 8px;
    font-weight: 600;

    color: #d9b86f;

    text-decoration: none;
}


.tgh-terms-index-help a i{
    font-size: 7px;

    transition:
        transform .3s ease;
}


.tgh-terms-index-help a:hover i{
    transform:
        translateX(5px);
}


/* ==========================================================
   RIGHT TERMS CONTENT
========================================================== */

.tgh-terms-content{
    padding:
        20px 52px
        25px 48px;

    background: #fffdf8;
}


/* ==========================================================
   INDIVIDUAL TERM
========================================================== */

.tgh-term-item{
    position: relative;

    padding:
        37px 0
        39px;

    border-bottom:
        1px solid
        rgba(0,70,47,.10);
}


.tgh-term-item:last-child{
    border-bottom: 0;
}


/* hover side accent */

.tgh-term-item::before{
    content: "";

    position: absolute;

    left: -48px;
    top: 35px;

    width: 3px;
    height: 0;

    background: #b58b47;

    transition:
        height .4s ease;
}


.tgh-term-item:hover::before{
    height: 54px;
}


/* ==========================================================
   TERM TOP
========================================================== */

.tgh-term-top{
    display: grid;

    grid-template-columns:
        55px 48px 1fr;

    align-items: center;

    gap: 16px;

    margin-bottom: 19px;
}


/* ==========================================================
   TERM NUMBER
========================================================== */

.tgh-term-number{
    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 25px;
    font-weight: 600;

    color: #ae8343;
}


/* ==========================================================
   TERM ICON
========================================================== */

.tgh-term-icon{
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #005239;

    border:
        4px solid
        rgba(0,82,57,.08);

    box-shadow:
        0 7px 17px
        rgba(0,70,47,.09);

    color: #dbb96e;

    font-size: 11px;

    transition:
        transform .3s ease,
        background .3s ease;
}


.tgh-term-item:hover
.tgh-term-icon{
    transform:
        translateY(-3px);

    background: #006044;
}


/* ==========================================================
   TERM HEADING
========================================================== */

.tgh-term-heading > span{
    display: block;

    margin-bottom: 3px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 6.5px;
    font-weight: 600;

    letter-spacing: 1.7px;

    color: #aa7e3e;
}


.tgh-term-heading h3{
    margin: 0;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 27px;
    font-weight: 600;

    line-height: 1.15;

    color: #004a32;
}


/* ==========================================================
   TERM BODY
========================================================== */

.tgh-term-body{
    padding-left: 119px;
}


.tgh-term-body p{
    max-width: 680px;

    margin:
        0 0
        11px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 10.5px;

    line-height: 1.9;

    color: #62706b;
}


.tgh-term-body p:last-child{
    margin-bottom: 0;
}


/* ==========================================================
   TERM HIGHLIGHT
========================================================== */

.tgh-term-highlight{
    display: flex;
    align-items: flex-start;

    gap: 12px;

    max-width: 650px;

    margin-top: 18px;

    padding:
        14px 16px;

    background:
        rgba(183,141,72,.08);

    border-left:
        3px solid
        #b58a47;
}


.tgh-term-highlight i{
    flex: 0 0 auto;

    margin-top: 4px;

    font-size: 11px;

    color: #aa7d3d;
}


.tgh-term-highlight p{
    margin: 0 !important;

    font-size:
        9px !important;

    line-height:
        1.7 !important;
}


/* ==========================================================
   TERM LIST
========================================================== */

.tgh-term-body ul{
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap:
        10px 25px;

    max-width: 650px;

    margin:
        20px 0 0;

    padding: 0;

    list-style: none;
}


.tgh-term-body li{
    position: relative;

    padding-left: 18px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 9.5px;

    line-height: 1.6;

    color: #50605a;
}


.tgh-term-body li::before{
    content: "";

    position: absolute;

    left: 0;
    top: 6px;

    width: 5px;
    height: 5px;

    border-radius: 50%;

    background: #b58a47;

    box-shadow:
        0 0 0 3px
        rgba(181,138,71,.09);
}


/* ==========================================================
   BOTTOM CTA
========================================================== */

.tgh-terms-bottom{
    position: relative;

    display: grid;

    grid-template-columns:
        65px
        minmax(0,1fr)
        auto;

    align-items: center;

    gap: 24px;

    padding:
        31px 48px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 82% 20%,
            rgba(218,185,112,.13),
            transparent 25%
        ),
        linear-gradient(
            105deg,
            #003f2b,
            #00543a
        );

    border-top:
        1px solid
        rgba(218,185,112,.30);
}


/* decorative circle */

.tgh-terms-bottom::before{
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: -85px;
    bottom: -125px;

    border:
        1px solid
        rgba(216,183,108,.14);

    border-radius: 50%;
}


/* ==========================================================
   BOTTOM ICON
========================================================== */

.tgh-terms-bottom-icon{
    position: relative;
    z-index: 2;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border:
        1px solid
        rgba(218,185,112,.30);

    border-radius: 50%;

    color: #d9b76d;

    font-size: 15px;
}


/* ==========================================================
   BOTTOM COPY
========================================================== */

.tgh-terms-bottom-copy{
    position: relative;
    z-index: 2;
}


.tgh-terms-bottom-copy > span{
    display: block;

    margin-bottom: 4px;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 7px;
    font-weight: 600;

    letter-spacing: 1.8px;

    color: #d4b168;
}


.tgh-terms-bottom-copy h3{
    margin:
        0 0 5px;

    font-family:
        'Cormorant Garamond',
        serif;

    font-size: 24px;
    font-weight: 600;

    color: #fff;
}


.tgh-terms-bottom-copy p{
    max-width: 600px;

    margin: 0;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 8.5px;

    line-height: 1.7;

    color:
        rgba(255,255,255,.63);
}


/* ==========================================================
   BOTTOM BUTTON
========================================================== */

.tgh-terms-bottom-btn{
    position: relative;
    z-index: 3;

    min-width: 150px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    padding:
        14px 20px;

    background: #d5b166;

    border:
        1px solid #d5b166;

    font-family:
        'Poppins',
        sans-serif;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: .5px;

    color: #003e2a;

    text-decoration: none;

    box-shadow:
        0 9px 22px
        rgba(0,0,0,.10);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease;
}


.tgh-terms-bottom-btn:hover{
    background: transparent;

    color: #fff;

    transform:
        translateY(-3px);
}


.tgh-terms-bottom-btn i{
    font-size: 8px;

    transition:
        transform .3s ease;
}


.tgh-terms-bottom-btn:hover i{
    transform:
        translateX(5px);
}


/* ==========================================================
   SMOOTH ANCHOR POSITION
========================================================== */

.tgh-term-item{
    scroll-margin-top: 120px;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px){

    .tgh-terms-section{
        padding:
            80px 0
            85px;
    }


    .tgh-terms-bg-word{
        font-size: 120px;
        letter-spacing: 12px;
    }


    /* intro */

    .tgh-terms-intro{
        grid-template-columns:
            1fr 1fr;
    }


    .tgh-terms-intro-left{
        padding:
            50px 38px;
    }


    .tgh-terms-intro-left h2{
        font-size: 48px;
    }


    .tgh-terms-intro-right{
        padding:
            45px 38px;
    }


    .tgh-terms-statement{
        grid-template-columns:
            38px 48px 1fr;

        gap: 12px;
    }


    .tgh-terms-statement-copy h3{
        font-size: 29px;
    }


    .tgh-terms-intro-quote{
        left: 98px;
        right: 38px;
    }


    /* document */

    .tgh-terms-document{
        grid-template-columns:
            32% 68%;
    }


    .tgh-terms-index{
        padding:
            40px 25px;
    }


    .tgh-terms-content{
        padding:
            15px 32px
            20px;
    }


    .tgh-term-body{
        padding-left:
            105px;
    }


    .tgh-term-item::before{
        left: -32px;
    }


    .tgh-terms-bottom{
        padding:
            28px 32px;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px){

    .tgh-terms-section{
        padding:
            65px 0
            70px;
    }


    .tgh-terms-section .container{
        padding-left: 16px;
        padding-right: 16px;
    }


    /* =========================================
       BACKGROUND WORD
    ========================================= */

    .tgh-terms-bg-word{
        top: 25px;

        width: 100%;

        font-size: 70px;

        letter-spacing: 5px;

        text-align: center;
    }


    .tgh-terms-section::before{
        top: 40px;
        width: 45px;
    }


    /* =========================================
       WRAPPER
    ========================================= */

    .tgh-terms-wrapper{
        width: 100%;

        box-shadow:
            0 22px 55px
            rgba(0,55,37,.12);
    }


    /* =========================================
       INTRO STACK
    ========================================= */

    .tgh-terms-intro{
        display: block;
        min-height: 0;
    }


    /* intro cream */

    .tgh-terms-intro-left{
        padding:
            43px 25px
            42px;

        text-align: center;
    }


    .tgh-terms-eyebrow{
        justify-content: center;

        margin-bottom: 23px;

        font-size: 7.5px;

        letter-spacing: 1.8px;
    }


    .tgh-terms-eyebrow span{
        width: 28px;
    }


    .tgh-terms-intro-left h2{
        max-width: 400px;

        margin:
            0 auto
            23px;

        font-size: 45px;

        line-height: .98;
    }


    .tgh-terms-intro-left h2::after{
        margin:
            21px auto 0;
    }


    .tgh-terms-intro-left > p{
        max-width: 390px;

        margin: 0 auto;

        font-size: 10px;

        line-height: 1.85;
    }


    /* updated */

    .tgh-terms-updated{
        justify-content: center;

        margin-top: 28px;

        text-align: left;
    }


    /* =========================================
       GREEN INTRO
    ========================================= */

    .tgh-terms-intro-right{
        min-height: 340px;

        display: block;

        padding:
            42px 25px
            85px;
    }


    .tgh-terms-statement{
        grid-template-columns:
            35px 45px
            minmax(0,1fr);

        gap: 10px;
    }


    .tgh-terms-statement-number{
        font-size: 18px;
    }


    .tgh-terms-statement-icon{
        width: 42px;
        height: 42px;

        font-size: 13px;
    }


    .tgh-terms-statement-copy h3{
        font-size: 27px;
    }


    .tgh-terms-statement-copy p{
        font-size: 8.5px;
    }


    .tgh-terms-intro-quote{
        left: 25px;
        right: 25px;
        bottom: 27px;
    }


    /* =========================================
       DOCUMENT
    ========================================= */

    .tgh-terms-document{
        display: block;
    }


    /* =========================================
       INDEX
    ========================================= */

    .tgh-terms-index{
        padding:
            35px 22px;

        border-right: 0;

        border-bottom:
            1px solid
            rgba(0,70,47,.12);
    }


    .tgh-terms-index-title{
        text-align: center;
    }


    .tgh-terms-index-title h3{
        font-size: 26px;
    }


    /* index becomes 2 columns */

    .tgh-terms-index-list{
        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 7px;

        margin-top: 22px;
    }


    .tgh-terms-index-list a{
        min-height: 48px;

        padding:
            9px 10px;

        border:
            1px solid
            rgba(0,70,47,.08);

        background:
            rgba(255,255,255,.28);

        font-size: 7.5px;
    }


    .tgh-terms-index-list a::after{
        display: none;
    }


    .tgh-terms-index-list a:hover,
    .tgh-terms-index-list a.active{
        padding-left: 10px;
    }


    /* help */

    .tgh-terms-index-help{
        max-width: 420px;

        margin:
            28px auto 0;

        text-align: center;
    }


    .tgh-terms-index-help p{
        max-width: 280px;

        margin:
            0 auto
            16px;

        font-size: 19px;
    }


    /* =========================================
       TERMS CONTENT
    ========================================= */

    .tgh-terms-content{
        padding:
            5px 22px
            15px;
    }


    .tgh-term-item{
        padding:
            32px 0;
    }


    .tgh-term-item::before{
        left: -22px;
        top: 31px;
    }


    .tgh-term-top{
        grid-template-columns:
            38px 40px
            minmax(0,1fr);

        gap: 10px;

        margin-bottom: 16px;
    }


    .tgh-term-number{
        font-size: 20px;
    }


    .tgh-term-icon{
        width: 36px;
        height: 36px;

        border-width: 3px;

        font-size: 9px;
    }


    .tgh-term-heading > span{
        font-size: 6px;
    }


    .tgh-term-heading h3{
        font-size: 22px;
    }


    /* body */

    .tgh-term-body{
        padding-left: 88px;
    }


    .tgh-term-body p{
        font-size: 9px;

        line-height: 1.85;
    }


    /* highlight */

    .tgh-term-highlight{
        padding:
            12px 13px;
    }


    .tgh-term-highlight p{
        font-size:
            8px !important;
    }


    /* list */

    .tgh-term-body ul{
        grid-template-columns: 1fr;

        gap: 9px;

        margin-top: 17px;
    }


    .tgh-term-body li{
        font-size: 8.5px;
    }


    /* =========================================
       BOTTOM CTA
    ========================================= */

    .tgh-terms-bottom{
        display: block;

        padding:
            32px 24px;

        text-align: center;
    }


    .tgh-terms-bottom-icon{
        margin:
            0 auto
            15px;
    }


    .tgh-terms-bottom-copy h3{
        font-size: 25px;
    }


    .tgh-terms-bottom-copy p{
        max-width: 370px;

        margin:
            0 auto
            20px;

        font-size: 8px;
    }


    .tgh-terms-bottom-btn{
        min-width: 150px;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 400px){

    .tgh-terms-section .container{
        padding-left: 12px;
        padding-right: 12px;
    }


    .tgh-terms-bg-word{
        font-size: 57px;
        letter-spacing: 4px;
    }


    .tgh-terms-intro-left{
        padding:
            38px 20px;
    }


    .tgh-terms-intro-left h2{
        font-size: 39px;
    }


    .tgh-terms-intro-right{
        padding:
            38px 20px
            88px;
    }


    .tgh-terms-statement{
        grid-template-columns:
            31px 39px
            minmax(0,1fr);

        gap: 8px;
    }


    .tgh-terms-statement-icon{
        width: 37px;
        height: 37px;
    }


    .tgh-terms-statement-copy h3{
        font-size: 24px;
    }


    /* index */

    .tgh-terms-index{
        padding:
            31px 17px;
    }


    .tgh-terms-index-list{
        grid-template-columns: 1fr;
    }


    .tgh-terms-index-list a{
        font-size: 8px;
    }


    /* terms */

    .tgh-terms-content{
        padding:
            3px 17px
            12px;
    }


    .tgh-term-top{
        grid-template-columns:
            34px 36px
            minmax(0,1fr);

        gap: 7px;
    }


    .tgh-term-number{
        font-size: 18px;
    }


    .tgh-term-icon{
        width: 33px;
        height: 33px;
    }


    .tgh-term-heading h3{
        font-size: 20px;
    }


    .tgh-term-body{
        padding-left: 77px;
    }


    .tgh-term-body p{
        font-size: 8.5px;
    }


    .tgh-terms-bottom{
        padding:
            29px 19px;
    }

}

/* ==========================================================
   TGH TERMS PAGE
   FINAL PREMIUM REFERENCE FEEL
   ----------------------------------------------------------
   IMPORTANT:
   - Existing HTML SAME
   - Existing CSS SAME
   - Sirf ye CSS LAST me add karo
========================================================== */


/* ==========================================================
   DESKTOP PREMIUM ENHANCEMENT
========================================================== */

@media (min-width: 992px){

    /* ======================================================
       01. MAIN SECTION
    ====================================================== */

    .tgh-terms-section{
        padding: 110px 0 125px !important;

        background:
            radial-gradient(
                circle at 8% 18%,
                rgba(190,148,77,.10),
                transparent 23%
            ),
            radial-gradient(
                circle at 92% 82%,
                rgba(0,77,52,.065),
                transparent 24%
            ),
            #f0eadf !important;
    }


    /* ======================================================
       02. MAIN COMPLETE CARD
    ====================================================== */

    .tgh-terms-wrapper{
        max-width: 1320px !important;

        border:
            1px solid
            rgba(0,68,46,.14) !important;

        box-shadow:
            0 38px 90px rgba(0,55,37,.13),
            0 4px 15px rgba(0,55,37,.045) !important;
    }


    /* ======================================================
       03. TOP HERO - LITTLE BIGGER
    ====================================================== */

    .tgh-terms-intro{
        min-height: 455px !important;

        grid-template-columns:
            50% 50% !important;
    }


    /* ======================================================
       LEFT HERO
    ====================================================== */

    .tgh-terms-intro-left{
        padding:
            70px 65px
            62px !important;

        background:
            radial-gradient(
                circle at 88% 45%,
                rgba(184,142,72,.05),
                transparent 28%
            ),
            linear-gradient(
                135deg,
                #fffdf8,
                #f9f3e8
            ) !important;
    }


    /* eyebrow */

    .tgh-terms-eyebrow{
        margin-bottom:
            30px !important;

        font-size:
            9.5px !important;

        letter-spacing:
            2.6px !important;
    }


    .tgh-terms-eyebrow span{
        width:
            42px !important;
    }


    /* MAIN HEADING */

    .tgh-terms-intro-left h2{
        max-width:
            520px !important;

        margin-bottom:
            29px !important;

        font-size:
            66px !important;

        line-height:
            .94 !important;

        letter-spacing:
            -1px !important;

        color:
            #00472f !important;
    }


    .tgh-terms-intro-left h2 em{
        margin-top:
            7px !important;

        color:
            #b68138 !important;
    }


    .tgh-terms-intro-left h2::after{
        width:
            57px !important;

        margin-top:
            27px !important;
    }


    /* INTRO TEXT */

    .tgh-terms-intro-left > p{
        max-width:
            500px !important;

        font-size:
            12px !important;

        line-height:
            1.9 !important;

        color:
            #586962 !important;
    }


    /* LAST UPDATED */

    .tgh-terms-updated{
        margin-top:
            38px !important;
    }


    .tgh-terms-updated-icon{
        width:
            44px !important;

        height:
            44px !important;

        font-size:
            13px !important;

        background:
            rgba(255,255,255,.5);

        border-color:
            rgba(180,136,66,.40) !important;
    }


    .tgh-terms-updated span{
        font-size:
            7px !important;
    }


    .tgh-terms-updated strong{
        font-size:
            17px !important;
    }


    /* ======================================================
       04. GREEN AGREEMENT PANEL
    ====================================================== */

    .tgh-terms-intro-right{
        padding:
            62px 65px !important;

        background:
            radial-gradient(
                circle at 15% 90%,
                rgba(216,183,108,.08),
                transparent 28%
            ),
            radial-gradient(
                circle at 95% 5%,
                rgba(216,183,108,.13),
                transparent 27%
            ),
            linear-gradient(
                140deg,
                #006044 0%,
                #004b34 52%,
                #003a27 100%
            ) !important;
    }


    /* statement */

    .tgh-terms-statement{
        grid-template-columns:
            48px 62px 1fr !important;

        gap:
            19px !important;
    }


    .tgh-terms-statement-number{
        font-size:
            25px !important;

        color:
            #e0bb6d !important;
    }


    /* BIGGER GREEN/GOLD ICON */

    .tgh-terms-statement-icon{
        width:
            56px !important;

        height:
            56px !important;

        border:
            1px solid
            rgba(226,190,108,.50) !important;

        box-shadow:
            0 0 0 6px
            rgba(216,183,108,.035);

        font-size:
            17px !important;
    }


    .tgh-terms-statement-copy > span{
        margin-bottom:
            9px !important;

        font-size:
            8px !important;

        letter-spacing:
            2.2px !important;
    }


    .tgh-terms-statement-copy h3{
        max-width:
            450px !important;

        margin-bottom:
            17px !important;

        font-size:
            39px !important;

        line-height:
            1.08 !important;
    }


    .tgh-terms-statement-copy p{
        max-width:
            440px !important;

        font-size:
            10.5px !important;

        line-height:
            1.85 !important;

        color:
            rgba(255,255,255,.72) !important;
    }


    /* quote */

    .tgh-terms-intro-quote{
        left:
            132px !important;

        right:
            65px !important;

        bottom:
            45px !important;

        padding-top:
            18px !important;
    }


    .tgh-terms-intro-quote > span{
        font-size:
            40px !important;
    }


    .tgh-terms-intro-quote p{
        font-size:
            15px !important;
    }


    /* ======================================================
       05. DOCUMENT GRID
    ====================================================== */

    .tgh-terms-document{
        grid-template-columns:
            31% 69% !important;
    }


    /* ======================================================
       06. LEFT TERMS INDEX
    ====================================================== */

    .tgh-terms-index{
        padding:
            55px 42px
            50px !important;

        background:
            linear-gradient(
                180deg,
                #f4ecdc 0%,
                #eee3cf 100%
            ) !important;
    }


    .tgh-terms-index-title{
        padding-bottom:
            28px !important;
    }


    .tgh-terms-index-title > span{
        margin-bottom:
            8px !important;

        font-size:
            8px !important;

        letter-spacing:
            2.2px !important;
    }


    .tgh-terms-index-title h3{
        font-size:
            33px !important;

        color:
            #00472f !important;
    }


    /* ======================================================
       07. INDEX ITEMS - BIGGER
    ====================================================== */

    .tgh-terms-index-list{
        margin-top:
            21px !important;
    }


    .tgh-terms-index-list a{
        min-height:
            57px !important;

        gap:
            15px !important;

        padding:
            12px 14px !important;

        font-size:
            10.5px !important;

        color:
            #465a52 !important;
    }


    .tgh-terms-index-list a span{
        width:
            34px !important;

        height:
            34px !important;

        font-size:
            13px !important;

        border-color:
            rgba(177,130,57,.45) !important;
    }


    /* active item */

    .tgh-terms-index-list a.active{
        padding-left:
            16px !important;

        background:
            linear-gradient(
                100deg,
                #00533a,
                #006247
            ) !important;

        color:
            #fff !important;

        box-shadow:
            0 9px 22px
            rgba(0,72,49,.12);
    }


    .tgh-terms-index-list a.active span{
        background:
            #f8f1e2 !important;

        border-color:
            #c79643 !important;

        color:
            #a8772d !important;

        box-shadow:
            0 0 0 4px
            rgba(210,170,94,.10);
    }


    .tgh-terms-index-list a.active::after{
        color:
            #dfba69 !important;
    }


    /* ======================================================
       08. HELP CARD
    ====================================================== */

    .tgh-terms-index-help{
        margin-top:
            42px !important;

        padding:
            31px 28px !important;

        background:
            radial-gradient(
                circle at 100% 100%,
                rgba(216,183,108,.10),
                transparent 35%
            ),
            linear-gradient(
                145deg,
                #00553b,
                #003d29
            ) !important;

        box-shadow:
            0 15px 32px
            rgba(0,60,40,.11);
    }


    .tgh-terms-index-help > i{
        font-size:
            23px !important;

        margin-bottom:
            19px !important;
    }


    .tgh-terms-index-help > span{
        font-size:
            7.5px !important;
    }


    .tgh-terms-index-help p{
        max-width:
            205px !important;

        font-size:
            21px !important;

        line-height:
            1.2 !important;
    }


    .tgh-terms-index-help a{
        font-size:
            9px !important;
    }


    /* ======================================================
       09. RIGHT DOCUMENT CONTENT
    ====================================================== */

    .tgh-terms-content{
        position:
            relative;

        padding:
            22px 58px
            30px 55px !important;

        background:
            linear-gradient(
                90deg,
                #fffdf8,
                #fffefb
            ) !important;
    }


    /* MAIN VERTICAL TIMELINE */

    .tgh-terms-content::before{
        content:"";

        position:absolute;

        left:
            89px;

        top:
            60px;

        bottom:
            70px;

        width:
            1px;

        background:
            linear-gradient(
                to bottom,
                rgba(182,139,68,.15),
                rgba(182,139,68,.48),
                rgba(182,139,68,.15)
            );
    }


    /* ======================================================
       10. EACH TERM ROW
    ====================================================== */

    .tgh-term-item{
        padding:
            40px 0
            42px !important;
    }


    .tgh-term-top{
        position:
            relative;

        grid-template-columns:
            58px 58px 1fr !important;

        gap:
            18px !important;

        margin-bottom:
            21px !important;
    }


    /* gold dot on timeline */

    .tgh-term-top::before{
        content:"";

        position:absolute;

        left:
            53px;

        top:
            20px;

        width:
            7px;

        height:
            7px;

        z-index:
            4;

        border-radius:
            50%;

        background:
            #c3913e;

        box-shadow:
            0 0 0 5px
            #fffdf8;
    }


    /* ======================================================
       11. TERM NUMBER - BIGGER
    ====================================================== */

    .tgh-term-number{
        position:
            relative;

        z-index:
            3;

        font-size:
            29px !important;

        color:
            #b17e30 !important;
    }


    /* ======================================================
       12. TERM GREEN ICON - RICHER
    ====================================================== */

    .tgh-term-icon{
        position:
            relative;

        z-index:
            5;

        width:
            49px !important;

        height:
            49px !important;

        border:
            4px solid
            #f5eddf !important;

        background:
            linear-gradient(
                145deg,
                #006247,
                #00452f
            ) !important;

        box-shadow:
            0 0 0 1px rgba(0,74,50,.25),
            0 8px 20px rgba(0,66,45,.13) !important;

        color:
            #e0bd70 !important;

        font-size:
            13px !important;
    }


    .tgh-term-item:hover .tgh-term-icon{
        transform:
            translateY(-4px)
            scale(1.04) !important;
    }


    /* ======================================================
       13. CATEGORY LABEL
    ====================================================== */

    .tgh-term-heading > span{
        margin-bottom:
            4px !important;

        font-size:
            7.5px !important;

        letter-spacing:
            2px !important;

        color:
            #b47f30 !important;
    }


    /* ======================================================
       14. TERM HEADING - BIGGER
    ====================================================== */

    .tgh-term-heading h3{
        font-size:
            31px !important;

        line-height:
            1.1 !important;

        letter-spacing:
            -.2px !important;

        color:
            #004a32 !important;
    }


    /* ======================================================
       15. TERM BODY - BIGGER
    ====================================================== */

    .tgh-term-body{
        padding-left:
            134px !important;
    }


    .tgh-term-body p{
        max-width:
            700px !important;

        margin-bottom:
            12px !important;

        font-size:
            11px !important;

        line-height:
            1.85 !important;

        color:
            #596b63 !important;
    }


    /* ======================================================
       16. RESERVATION HIGHLIGHT
    ====================================================== */

    .tgh-term-highlight{
        max-width:
            690px !important;

        margin-top:
            20px !important;

        padding:
            15px 18px !important;

        background:
            linear-gradient(
                90deg,
                rgba(194,150,77,.11),
                rgba(194,150,77,.045)
            ) !important;

        border-left:
            3px solid
            #c18f3e !important;
    }


    .tgh-term-highlight i{
        font-size:
            13px !important;
    }


    .tgh-term-highlight p{
        font-size:
            9.5px !important;

        color:
            #59655f !important;
    }


    /* ======================================================
       17. USER RESPONSIBILITY BULLETS
    ====================================================== */

    .tgh-term-body ul{
        max-width:
            690px !important;

        gap:
            11px 35px !important;

        margin-top:
            21px !important;
    }


    .tgh-term-body li{
        padding-left:
            19px !important;

        font-size:
            10px !important;

        color:
            #4e6158 !important;
    }


    .tgh-term-body li::before{
        width:
            6px !important;

        height:
            6px !important;

        background:
            #c18d38 !important;

        box-shadow:
            0 0 0 3px
            rgba(193,141,56,.09) !important;
    }


    /* ======================================================
       18. HOVER GOLD SIDE LINE
    ====================================================== */

    .tgh-term-item::before{
        left:
            -55px !important;

        width:
            3px !important;

        background:
            #c08e3e !important;
    }


    /* ======================================================
       19. ADD ROUND ARROW TO RIGHT
       No HTML change required
    ====================================================== */

    .tgh-term-item::after{
        content:"\f054";

        position:absolute;

        right:0;

        top:43px;

        width:
            30px;

        height:
            30px;

        display:flex;

        align-items:center;
        justify-content:center;

        border:
            1px solid
            rgba(186,135,54,.55);

        border-radius:
            50%;

        font-family:
            "Font Awesome 6 Free";

        font-weight:
            900;

        font-size:
            7px;

        color:
            #b47e2f;

        transition:
            background .3s ease,
            color .3s ease,
            transform .3s ease;
    }


    .tgh-term-item:hover::after{
        background:
            #005239;

        border-color:
            #005239;

        color:
            #e0bd70;

        transform:
            translateX(4px);
    }


    /* give heading room for arrow */

    .tgh-term-heading{
        padding-right:
            48px;
    }


    /* ======================================================
       20. BOTTOM CTA - STRONG PREMIUM FINISH
    ====================================================== */

    .tgh-terms-bottom{
        grid-template-columns:
            70px
            minmax(0,1fr)
            auto !important;

        gap:
            27px !important;

        padding:
            34px 55px !important;

        background:
            radial-gradient(
                circle at 92% 100%,
                rgba(216,183,108,.15),
                transparent 25%
            ),
            linear-gradient(
                100deg,
                #003d29,
                #00573d
            ) !important;

        border-top:
            1px solid
            rgba(218,185,112,.42) !important;
    }


    .tgh-terms-bottom-icon{
        width:
            56px !important;

        height:
            56px !important;

        font-size:
            17px !important;

        border-color:
            rgba(220,185,106,.42) !important;

        box-shadow:
            inset 0 0 0 5px
            rgba(216,183,108,.035);
    }


    .tgh-terms-bottom-copy > span{
        font-size:
            7.5px !important;

        letter-spacing:
            2px !important;
    }


    .tgh-terms-bottom-copy h3{
        margin-bottom:
            6px !important;

        font-size:
            27px !important;
    }


    .tgh-terms-bottom-copy p{
        font-size:
            9px !important;

        color:
            rgba(255,255,255,.70) !important;
    }


    .tgh-terms-bottom-btn{
        min-width:
            165px !important;

        padding:
            15px 22px !important;

        font-size:
            9.5px !important;

        background:
            linear-gradient(
                135deg,
                #dfbd72,
                #cfa353
            ) !important;

        border-color:
            #d8b468 !important;

        box-shadow:
            0 10px 25px
            rgba(0,0,0,.12) !important;
    }

}


/* ==========================================================
   LARGE DESKTOP
========================================================== */

@media (min-width: 1400px){

    .tgh-terms-wrapper{
        max-width:
            1360px !important;
    }


    .tgh-terms-intro-left h2{
        font-size:
            69px !important;
    }


    .tgh-term-heading h3{
        font-size:
            32px !important;
    }


    .tgh-term-body p{
        font-size:
            11.5px !important;
    }

}


/* ==========================================================
   MOBILE PREMIUM POLISH
   SAME EXISTING MOBILE STRUCTURE
========================================================== */

@media (max-width: 767px){

    /* SECTION */

    .tgh-terms-section{
        background:
            radial-gradient(
                circle at 50% 3%,
                rgba(187,144,73,.10),
                transparent 20%
            ),
            #eee7da !important;
    }


    /* COMPLETE CARD */

    .tgh-terms-wrapper{
        border-color:
            rgba(0,68,46,.16) !important;

        box-shadow:
            0 24px 55px
            rgba(0,55,37,.13) !important;
    }


    /* HERO HEADING */

    .tgh-terms-intro-left h2{
        font-size:
            47px !important;

        color:
            #00472f !important;
    }


    .tgh-terms-intro-left h2 em{
        color:
            #b27e35 !important;
    }


    .tgh-terms-intro-left > p{
        font-size:
            10.5px !important;

        color:
            #5c6b65 !important;
    }


    /* GREEN AGREEMENT */

    .tgh-terms-intro-right{
        background:
            radial-gradient(
                circle at 85% 15%,
                rgba(216,183,108,.12),
                transparent 30%
            ),
            linear-gradient(
                145deg,
                #005b40,
                #003c28
            ) !important;
    }


    .tgh-terms-statement-copy h3{
        font-size:
            29px !important;
    }


    .tgh-terms-statement-copy p{
        font-size:
            9px !important;
    }


    /* INDEX */

    .tgh-terms-index-title h3{
        font-size:
            29px !important;
    }


    .tgh-terms-index-list a{
        font-size:
            8.5px !important;
    }


    .tgh-terms-index-list a.active{
        background:
            #005239 !important;

        color:
            #fff !important;
    }


    /* TERMS */

    .tgh-term-item{
        padding:
            34px 0 !important;
    }


    .tgh-term-number{
        font-size:
            21px !important;
    }


    .tgh-term-icon{
        width:
            39px !important;

        height:
            39px !important;

        background:
            linear-gradient(
                145deg,
                #006047,
                #00452f
            ) !important;

        color:
            #dfbb6e !important;

        box-shadow:
            0 6px 15px
            rgba(0,70,47,.13) !important;
    }


    .tgh-term-heading h3{
        font-size:
            23px !important;
    }


    .tgh-term-body p{
        font-size:
            9.5px !important;

        line-height:
            1.85 !important;

        color:
            #586a62 !important;
    }


    .tgh-term-body li{
        font-size:
            9px !important;
    }


    /* BOTTOM */

    .tgh-terms-bottom-copy h3{
        font-size:
            27px !important;
    }


    .tgh-terms-bottom-copy p{
        font-size:
            8.5px !important;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 400px){

    .tgh-terms-intro-left h2{
        font-size:
            41px !important;
    }


    .tgh-terms-statement-copy h3{
        font-size:
            25px !important;
    }


    .tgh-term-heading h3{
        font-size:
            21px !important;
    }


    .tgh-term-body p{
        font-size:
            9px !important;
    }

}

/* ==========================================================
   TERMS PAGE - FINAL TEXT SIZE BOOST
   ONLY TYPOGRAPHY
   ADD AT VERY END
========================================================== */

/* DESKTOP */
@media (min-width: 992px){

    /* Hero */
    .tgh-terms-intro-left h2{
        font-size: 72px !important;
    }

    .tgh-terms-intro-left > p{
        font-size: 13px !important;
        line-height: 1.9 !important;
    }

    .tgh-terms-statement-copy h3{
        font-size: 42px !important;
    }

    .tgh-terms-statement-copy p{
        font-size: 12px !important;
        line-height: 1.8 !important;
    }

    /* Left Terms Overview */
    .tgh-terms-index-title h3{
        font-size: 36px !important;
    }

    .tgh-terms-index-list a{
        font-size: 11.5px !important;
    }

    /* 01 - 08 Numbers */
    .tgh-term-number{
        font-size: 31px !important;
    }

    /* Main Terms Headings */
    .tgh-term-heading h3{
        font-size: 34px !important;
    }

    /* Small Category Heading */
    .tgh-term-heading > span{
        font-size: 8px !important;
    }

    /* Main Paragraphs */
    .tgh-term-body p{
        font-size: 12.5px !important;
        line-height: 1.9 !important;
    }

    /* Bullet Text */
    .tgh-term-body li{
        font-size: 11px !important;
        line-height: 1.7 !important;
    }

    /* Reservation Note */
    .tgh-term-highlight p{
        font-size: 10.5px !important;
    }

    /* Help Card */
    .tgh-terms-index-help p{
        font-size: 23px !important;
    }

    .tgh-terms-index-help a{
        font-size: 10px !important;
    }

    /* Bottom CTA */
    .tgh-terms-bottom-copy h3{
        font-size: 30px !important;
    }

    .tgh-terms-bottom-copy p{
        font-size: 10px !important;
    }

}


/* ==========================================================
   MOBILE - SLIGHT TEXT BOOST
========================================================== */

@media (max-width: 767px){

    .tgh-terms-intro-left h2{
        font-size: 49px !important;
    }

    .tgh-terms-intro-left > p{
        font-size: 11px !important;
    }

    .tgh-terms-statement-copy h3{
        font-size: 30px !important;
    }

    .tgh-terms-statement-copy p{
        font-size: 9.5px !important;
    }

    .tgh-terms-index-title h3{
        font-size: 30px !important;
    }

    .tgh-terms-index-list a{
        font-size: 9px !important;
    }

    .tgh-term-number{
        font-size: 22px !important;
    }

    .tgh-term-heading h3{
        font-size: 24px !important;
    }

    .tgh-term-body p{
        font-size: 10px !important;
        line-height: 1.85 !important;
    }

    .tgh-term-body li{
        font-size: 9.5px !important;
    }

    .tgh-terms-bottom-copy h3{
        font-size: 28px !important;
    }

    .tgh-terms-bottom-copy p{
        font-size: 9px !important;
    }
}

/* Events Page Banner Section */
.events-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.events-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.events-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.events-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.events-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.events-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.events-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.events-breadcrumb a:hover{
    color: #fff;
}

.events-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.events-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .events-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .events-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .events-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .events-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .events-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .events-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .events-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .events-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .events-banner-content h1{
        font-size: 36px;
    }

    .events-breadcrumb{
        font-size: 10px;
    }
}

/* Events Page First Section */
.tgh-evopening{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    padding:135px 0 0;
    background:
        radial-gradient(circle at 85% 18%, rgba(181,138,82,.13), transparent 26%),
        radial-gradient(circle at 5% 80%, rgba(0,59,38,.07), transparent 27%),
        #f8f1e6;
}

/* ==========================================================
   GIANT EVENTS IDENTITY
========================================================== */

.tgh-evopening__giant{
    position:absolute;
    top:-45px;
    left:50%;
    z-index:-1;

    transform:translateX(-50%);

    font-family:"Playfair Display",serif;
    font-size:clamp(180px,21vw,335px);
    font-weight:700;
    line-height:.9;
    letter-spacing:15px;

    color:rgba(0,59,38,.055);

    white-space:nowrap;
    user-select:none;
    pointer-events:none;
}

/* ==========================================================
   TOP EDITORIAL LINE
========================================================== */

.tgh-evopening__topline{
    position:absolute;
    top:38px;
    left:0;
    width:100%;
    z-index:5;
}

.tgh-evopening__topline-inner{
    display:flex;
    align-items:center;
    gap:20px;

    font-size:8px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;

    color:rgba(0,59,38,.58);
}

.tgh-evopening__topline-rule{
    flex:1;
    height:1px;
    background:rgba(0,59,38,.15);
}

/* ==========================================================
   MAIN STAGE
========================================================== */

.tgh-evopening__stage{
    position:relative;
    min-height:810px;
}

/* ==========================================================
   CINEMATIC VISUAL
========================================================== */

.tgh-evopening__visual{
    position:absolute;

    top:0;
    right:0;

    width:68%;
    height:690px;

    overflow:hidden;

    border-radius:2px 2px 110px 2px;

    box-shadow:
        0 38px 75px rgba(27,43,34,.20),
        0 8px 25px rgba(27,43,34,.08);

    background:#163c2e;
}

.tgh-evopening__photo{
    width:100%;
    height:100%;

    display:block;
    object-fit:cover;

    transform:scale(1.035);

    transition:transform .9s cubic-bezier(.2,.7,.2,1);
}

.tgh-evopening__overlay{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(4,36,24,.34) 0%,
            rgba(4,36,24,.05) 45%,
            rgba(4,36,24,.10) 100%
        ),
        linear-gradient(
            180deg,
            rgba(0,0,0,.02) 40%,
            rgba(0,27,18,.56) 100%
        );
}

/* ==========================================================
   IMAGE TAG
========================================================== */

.tgh-evopening__visual-tag{
    position:absolute;

    top:31px;
    right:34px;

    display:flex;
    align-items:center;
    gap:10px;

    padding:11px 15px;

    background:rgba(249,243,233,.94);

    font-size:8px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;

    color:#003b26;
}

.tgh-evopening__visual-dot{
    width:6px;
    height:6px;

    border-radius:50%;
    background:#b58a52;
}

/* ==========================================================
   LARGE 01
========================================================== */

.tgh-evopening__visual-number{
    position:absolute;

    right:-6px;
    bottom:50px;

    font-family:"Playfair Display",serif;
    font-size:155px;
    line-height:.75;
    font-weight:600;

    color:transparent;

    -webkit-text-stroke:1px rgba(255,255,255,.38);

    opacity:.9;
}

/* ==========================================================
   IMAGE BOTTOM CAPTION
========================================================== */

.tgh-evopening__visual-caption{
    position:absolute;

    left:34px;
    bottom:30px;

    display:flex;
    align-items:center;
    gap:13px;

    color:#fff;

    font-size:8px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.tgh-evopening__visual-caption i{
    width:20px;
    height:1px;

    background:#d6b077;
}

/* ==========================================================
   HUGE OVERLAPPING HEADLINE
========================================================== */

.tgh-evopening__headline{
    position:absolute;

    left:0;
    top:110px;

    z-index:4;

    width:62%;

    pointer-events:none;
}

.tgh-evopening__eyebrow{
    display:flex;
    align-items:center;
    gap:13px;

    margin:0 0 18px 4px;

    font-size:9px;
    letter-spacing:2.5px;

    color:#a8753e;
}

.tgh-evopening__eyebrow span{
    width:43px;
    height:1px;
    background:#a8753e;
}

.tgh-evopening__eyebrow strong{
    font-weight:700;
}

.tgh-evopening__headline h1{
    margin:0;

    font-family:"Playfair Display",serif;

    line-height:.87;
    letter-spacing:-4px;
}

.tgh-evopening__headline h1 > span{
    display:block;
}

.tgh-evopening__line-one{
    font-size:clamp(78px,8.1vw,126px);
    font-weight:600;

    color:#003b26;
}

.tgh-evopening__line-two{
    margin-left:78px;

    font-size:clamp(61px,6.6vw,101px);
    font-weight:400;
    font-style:italic;

    color:#fff;

    text-shadow:0 7px 25px rgba(0,35,23,.18);
}

.tgh-evopening__line-three{
    position:relative;

    margin:11px 0 0 142px;

    width:max-content;

    font-size:clamp(54px,5.7vw,88px);
    font-weight:500;

    color:#d3a769;
}

.tgh-evopening__line-three::after{
    content:"";

    position:absolute;

    left:7px;
    right:-60px;
    bottom:-19px;

    height:1px;

    background:linear-gradient(
        90deg,
        #b58a52,
        rgba(181,138,82,0)
    );
}

/* ==========================================================
   LEFT INTRO BLOCK
========================================================== */

.tgh-evopening__intro{
    position:absolute;

    left:0;
    bottom:65px;

    width:280px;

    z-index:5;
}

.tgh-evopening__intro-no{
    display:block;

    margin-bottom:14px;

    font-size:8px;
    font-weight:700;
    letter-spacing:2.5px;

    color:#a8753e;
}

.tgh-evopening__intro p{
    margin:0 0 24px;

    font-size:13px;
    line-height:1.8;

    color:#657168;
}

/* ==========================================================
   EXPLORE LINK
========================================================== */

.tgh-evopening__explore{
    display:inline-flex;
    align-items:center;

    text-decoration:none;

    background:#003b26;
    color:#fff;

    transition:
        background .35s ease,
        transform .35s ease;
}

.tgh-evopening__explore-text{
    padding:16px 19px;

    font-size:8px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;
}

.tgh-evopening__explore-arrow{
    width:47px;
    align-self:stretch;

    display:flex;
    align-items:center;
    justify-content:center;

    border-left:1px solid rgba(255,255,255,.2);

    font-size:17px;

    transition:transform .3s ease;
}

.tgh-evopening__explore:hover{
    color:#fff;
    background:#b58a52;

    transform:translateY(-3px);
}

.tgh-evopening__explore:hover
.tgh-evopening__explore-arrow{
    transform:translate(2px,-2px);
}

/* ==========================================================
   CATEGORY NAVIGATION
========================================================== */

.tgh-evopening__categories{
    position:absolute;

    right:0;
    bottom:-20px;

    z-index:7;

    width:64%;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    background:#fff;

    box-shadow:0 20px 50px rgba(30,42,34,.11);
}

.tgh-evopening__category{
    position:relative;

    min-height:105px;

    display:grid;
    grid-template-columns:30px 1fr 20px;
    align-items:center;
    gap:8px;

    padding:20px;

    color:#003b26;
    text-decoration:none;

    border-right:1px solid #e9e0d3;

    overflow:hidden;

    transition:
        background .35s ease,
        color .35s ease;
}

.tgh-evopening__category:last-child{
    border-right:0;
}

.tgh-evopening__category::before{
    content:"";

    position:absolute;
    left:0;
    bottom:0;

    width:100%;
    height:3px;

    background:#b58a52;

    transform:scaleX(0);
    transform-origin:left;

    transition:transform .4s ease;
}

.tgh-evopening__category:hover{
    background:#003b26;
    color:#fff;
}

.tgh-evopening__category:hover::before{
    transform:scaleX(1);
}

.tgh-evopening__category-no{
    font-family:"Playfair Display",serif;
    font-size:12px;

    color:#b58a52;
}

.tgh-evopening__category-name{
    font-family:"Playfair Display",serif;
    font-size:19px;
    line-height:1.05;
}

.tgh-evopening__category-name small{
    display:block;

    margin-top:4px;

    font-family:Arial,sans-serif;
    font-size:7px;
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;

    opacity:.55;
}

.tgh-evopening__category-arrow{
    font-size:15px;

    transition:transform .3s ease;
}

.tgh-evopening__category:hover
.tgh-evopening__category-arrow{
    transform:translate(3px,-3px);
}

/* ==========================================================
   EDITORIAL NOTE
========================================================== */

.tgh-evopening__note{
    position:absolute;

    top:515px;
    left:325px;

    z-index:6;

    width:245px;

    padding:23px 24px 21px;

    background:#f8f1e6;

    border-left:3px solid #b58a52;

    box-shadow:0 14px 38px rgba(20,39,29,.10);
}

.tgh-evopening__note-small{
    display:block;

    margin-bottom:9px;

    font-size:7px;
    font-weight:700;
    letter-spacing:2px;

    color:#a8753e;
}

.tgh-evopening__note strong{
    display:block;

    font-family:"Playfair Display",serif;
    font-size:22px;
    font-weight:600;

    color:#003b26;
}

.tgh-evopening__note em{
    display:block;

    margin-top:2px;

    font-family:"Playfair Display",serif;
    font-size:15px;

    color:#88715a;
}

.tgh-evopening__note-line{
    display:block;

    width:100%;
    height:1px;

    margin:16px 0 12px;

    background:rgba(0,59,38,.13);
}

.tgh-evopening__note a{
    display:flex;
    align-items:center;
    justify-content:space-between;

    color:#003b26;
    text-decoration:none;

    font-size:8px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.tgh-evopening__note a span{
    font-size:15px;
}

/* ==========================================================
   DECORATIVE SEAL
========================================================== */

.tgh-evopening__seal{
    position:absolute;

    top:50px;
    right:-10px;

    z-index:7;

    width:120px;

    display:flex;
    flex-direction:column;
    align-items:center;
}

.tgh-evopening__seal-circle{
    width:83px;
    height:83px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#f8f1e6;

    border:1px solid rgba(181,138,82,.55);

    box-shadow:
        0 0 0 8px rgba(248,241,230,.85),
        0 13px 35px rgba(0,30,20,.12);
}

.tgh-evopening__seal-circle::before{
    content:"";

    position:absolute;

    width:66px;
    height:66px;

    border-radius:50%;

    border:1px dashed rgba(0,59,38,.34);
}

.tgh-evopening__seal-circle span{
    position:relative;
    z-index:2;

    font-family:"Playfair Display",serif;
    font-size:20px;
    font-weight:700;

    color:#003b26;
}

.tgh-evopening__seal-line{
    width:1px;
    height:36px;

    margin-top:10px;

    background:#b58a52;
}

.tgh-evopening__seal small{
    margin-top:7px;

    writing-mode:vertical-rl;

    font-size:6px;
    font-weight:700;
    letter-spacing:1.4px;

    color:#8b7358;
}

/* ==========================================================
   BOTTOM MARQUEE
========================================================== */

.tgh-evopening__marquee{
    position:relative;
    z-index:10;

    width:100%;
    overflow:hidden;

    margin-top:40px;

    border-top:1px solid rgba(0,59,38,.11);
    border-bottom:1px solid rgba(0,59,38,.11);

    background:#003b26;
}

.tgh-evopening__marquee-track{
    width:max-content;
    min-height:68px;

    display:flex;
    align-items:center;

    animation:tghEvOpeningMarquee 28s linear infinite;
}

.tgh-evopening__marquee-track span{
    padding:0 35px;

    font-family:"Playfair Display",serif;
    font-size:20px;
    font-style:italic;

    letter-spacing:2px;

    color:#f8f1e6;
}

.tgh-evopening__marquee-track i{
    color:#c59b60;

    font-size:9px;
}

@keyframes tghEvOpeningMarquee{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

/* ==========================================================
   LOAD ANIMATION
========================================================== */

.tgh-evopening__visual{
    opacity:0;
    transform:translateY(28px) scale(.985);

    transition:
        opacity .9s ease,
        transform .9s ease;
}

.tgh-evopening__headline{
    opacity:0;
    transform:translateX(-30px);

    transition:
        opacity .9s ease .18s,
        transform .9s ease .18s;
}

.tgh-evopening__intro,
.tgh-evopening__categories,
.tgh-evopening__note{
    opacity:0;
    transform:translateY(18px);

    transition:
        opacity .8s ease .38s,
        transform .8s ease .38s;
}

.tgh-evopening--ready .tgh-evopening__visual,
.tgh-evopening--ready .tgh-evopening__headline,
.tgh-evopening--ready .tgh-evopening__intro,
.tgh-evopening--ready .tgh-evopening__categories,
.tgh-evopening--ready .tgh-evopening__note{
    opacity:1;
    transform:none;
}


/* ==========================================================
   <= 1199px
========================================================== */

@media (max-width:1199px){

    .tgh-evopening__stage{
        min-height:760px;
    }

    .tgh-evopening__visual{
        width:67%;
        height:640px;
    }

    .tgh-evopening__headline{
        width:65%;
    }

    .tgh-evopening__line-one{
        font-size:91px;
    }

    .tgh-evopening__line-two{
        font-size:76px;
        margin-left:55px;
    }

    .tgh-evopening__line-three{
        font-size:65px;
        margin-left:105px;
    }

    .tgh-evopening__intro{
        width:250px;
    }

    .tgh-evopening__note{
        left:275px;
        top:480px;
    }

    .tgh-evopening__categories{
        width:65%;
    }
}


/* ==========================================================
   <= 991px
========================================================== */

@media (max-width:991px){

    .tgh-evopening{
        padding-top:125px;
    }

    .tgh-evopening__giant{
        top:8px;

        font-size:155px;
        letter-spacing:9px;
    }

    .tgh-evopening__stage{
        min-height:auto;

        display:flex;
        flex-direction:column;
    }

    /* headline first */

    .tgh-evopening__headline{
        position:relative;

        top:auto;
        left:auto;

        order:1;

        width:100%;

        margin-bottom:38px;

        text-align:center;
    }

    .tgh-evopening__eyebrow{
        justify-content:center;
    }

    .tgh-evopening__line-one{
        font-size:88px;
    }

    .tgh-evopening__line-two{
        margin-left:0;

        font-size:70px;

        color:#b58a52;

        text-shadow:none;
    }

    .tgh-evopening__line-three{
        margin:8px auto 0;

        font-size:62px;
    }

    .tgh-evopening__line-three::after{
        right:7px;
    }

    /* image */

    .tgh-evopening__visual{
        position:relative;

        top:auto;
        right:auto;

        order:2;

        width:calc(100% - 55px);
        height:610px;

        margin-left:auto;
        margin-right:auto;
    }

    .tgh-evopening__seal{
        top:300px;
        right:7px;
    }

    /* intro */

    .tgh-evopening__intro{
        position:relative;

        left:auto;
        bottom:auto;

        order:3;

        width:calc(100% - 100px);
        max-width:620px;

        margin:38px auto 0;

        text-align:center;
    }

    /* note */

    .tgh-evopening__note{
        position:relative;

        top:auto;
        left:auto;

        order:4;

        width:calc(100% - 100px);
        max-width:620px;

        margin:25px auto 0;
    }

    /* categories */

    .tgh-evopening__categories{
        position:relative;

        right:auto;
        bottom:auto;

        order:5;

        width:calc(100% - 55px);

        margin:30px auto 0;
    }

    .tgh-evopening__marquee{
        margin-top:65px;
    }
}


/* ==========================================================
   <= 768px
========================================================== */

@media (max-width:768px){

    .tgh-evopening{
        padding-top:110px;
    }

    .tgh-evopening__giant{
        font-size:120px;
        letter-spacing:6px;
    }

    .tgh-evopening__topline-inner{
        font-size:7px;
        letter-spacing:1.5px;
    }

    .tgh-evopening__line-one{
        font-size:72px;
    }

    .tgh-evopening__line-two{
        font-size:59px;
    }

    .tgh-evopening__line-three{
        font-size:52px;
    }

    .tgh-evopening__visual{
        width:calc(100% - 40px);
        height:550px;

        border-radius:2px 2px 80px 2px;
    }

    .tgh-evopening__visual-number{
        font-size:125px;
    }

    .tgh-evopening__seal{
        width:100px;
    }

    .tgh-evopening__categories{
        width:calc(100% - 40px);
    }

    .tgh-evopening__category{
        min-height:95px;
        padding:16px;

        grid-template-columns:24px 1fr 15px;
    }

    .tgh-evopening__category-name{
        font-size:16px;
    }
}


/* ==========================================================
   <= 576px
========================================================== */

@media (max-width:576px){

    .tgh-evopening{
        padding-top:95px;
    }

    .tgh-evopening__giant{
        top:19px;

        font-size:77px;
        letter-spacing:3px;
    }

    .tgh-evopening__topline{
        top:25px;
    }

    .tgh-evopening__topline-inner{
        justify-content:center;
    }

    .tgh-evopening__topline-rule,
    .tgh-evopening__topline-inner > span:first-child{
        display:none;
    }

    .tgh-evopening__headline{
        margin-bottom:29px;
    }

    .tgh-evopening__eyebrow{
        margin-bottom:14px;

        font-size:7px;
        letter-spacing:1.5px;
    }

    .tgh-evopening__eyebrow span{
        width:27px;
    }

    .tgh-evopening__headline h1{
        letter-spacing:-2px;
        line-height:.92;
    }

    .tgh-evopening__line-one{
        font-size:55px;
    }

    .tgh-evopening__line-two{
        font-size:45px;
    }

    .tgh-evopening__line-three{
        font-size:40px;
    }

    .tgh-evopening__visual{
        width:100%;
        height:500px;

        border-radius:2px 2px 55px 2px;
    }

    .tgh-evopening__visual-tag{
        top:17px;
        right:16px;

        padding:8px 10px;

        font-size:6px;
        letter-spacing:1.3px;
    }

    .tgh-evopening__visual-caption{
        left:17px;
        bottom:18px;

        gap:7px;

        font-size:6px;
        letter-spacing:1px;
    }

    .tgh-evopening__visual-caption i{
        width:9px;
    }

    .tgh-evopening__visual-number{
        right:5px;
        bottom:45px;

        font-size:90px;
    }

    .tgh-evopening__seal{
        top:275px;
        right:3px;

        width:85px;
    }

    .tgh-evopening__seal-circle{
        width:67px;
        height:67px;
    }

    .tgh-evopening__seal-circle::before{
        width:52px;
        height:52px;
    }

    .tgh-evopening__seal-circle span{
        font-size:16px;
    }

    .tgh-evopening__seal-line,
    .tgh-evopening__seal small{
        display:none;
    }

    /* intro */

    .tgh-evopening__intro{
        width:100%;

        margin-top:31px;
        padding:0 5px;
    }

    .tgh-evopening__intro p{
        max-width:440px;

        margin-left:auto;
        margin-right:auto;

        font-size:13px;
    }

    /* note */

    .tgh-evopening__note{
        width:100%;

        margin-top:23px;
    }

    /* categories become premium vertical rows */

    .tgh-evopening__categories{
        width:100%;

        grid-template-columns:1fr;

        margin-top:27px;
    }

    .tgh-evopening__category{
        min-height:77px;

        grid-template-columns:35px 1fr 25px;

        border-right:0;
        border-bottom:1px solid #e9e0d3;

        padding:14px 18px;
    }

    .tgh-evopening__category:last-child{
        border-bottom:0;
    }

    .tgh-evopening__category-name{
        font-size:18px;
    }

    .tgh-evopening__marquee{
        margin-top:42px;
    }

    .tgh-evopening__marquee-track{
        min-height:58px;
    }

    .tgh-evopening__marquee-track span{
        padding:0 24px;

        font-size:17px;
    }
}


/* ==========================================================
   <= 480px
========================================================== */

@media (max-width:480px){

    .tgh-evopening{
        padding-top:87px;
    }

    .tgh-evopening__giant{
        font-size:64px;
        letter-spacing:2px;
    }

    .tgh-evopening__line-one{
        font-size:48px;
    }

    .tgh-evopening__line-two{
        font-size:40px;
    }

    .tgh-evopening__line-three{
        font-size:35px;
    }

    .tgh-evopening__visual{
        height:450px;
    }

    .tgh-evopening__seal{
        top:240px;
    }

    .tgh-evopening__intro p{
        font-size:12.5px;
        line-height:1.75;
    }

    .tgh-evopening__note{
        padding:20px;
    }

    .tgh-evopening__note strong{
        font-size:20px;
    }
}


/* ==========================================================
   <= 360px
========================================================== */

@media (max-width:360px){

    .tgh-evopening{
        padding-top:80px;
    }

    .tgh-evopening__giant{
        font-size:53px;
        letter-spacing:1px;
    }

    .tgh-evopening__line-one{
        font-size:42px;
    }

    .tgh-evopening__line-two{
        font-size:35px;
    }

    .tgh-evopening__line-three{
        font-size:31px;
    }

    .tgh-evopening__visual{
        height:405px;

        border-radius:2px 2px 42px 2px;
    }

    .tgh-evopening__visual-caption span{
        font-size:5px;
    }

    .tgh-evopening__visual-number{
        font-size:75px;
    }

    .tgh-evopening__seal{
        top:220px;
    }

    .tgh-evopening__seal-circle{
        width:58px;
        height:58px;
    }

    .tgh-evopening__seal-circle::before{
        width:45px;
        height:45px;
    }

    .tgh-evopening__category{
        min-height:72px;
        padding:12px 14px;
    }

    .tgh-evopening__category-name{
        font-size:16px;
    }
}


/* ==========================================================
   <= 300px
========================================================== */

@media (max-width:300px){

    .tgh-evopening{
        padding-top:73px;
    }

    .tgh-evopening__giant{
        font-size:44px;
        letter-spacing:0;
    }

    .tgh-evopening__eyebrow{
        font-size:6px;
    }

    .tgh-evopening__line-one{
        font-size:36px;
    }

    .tgh-evopening__line-two{
        font-size:30px;
    }

    .tgh-evopening__line-three{
        font-size:27px;
    }

    .tgh-evopening__visual{
        height:365px;
    }

    .tgh-evopening__visual-tag{
        font-size:5px;
    }

    .tgh-evopening__visual-caption{
        display:none;
    }

    .tgh-evopening__seal{
        top:195px;
    }

    .tgh-evopening__intro p{
        font-size:12px;
    }

    .tgh-evopening__explore-text{
        padding:14px 15px;
    }

    .tgh-evopening__category{
        grid-template-columns:27px 1fr 18px;

        padding:11px;
    }

    .tgh-evopening__category-name{
        font-size:15px;
    }

    .tgh-evopening__note strong{
        font-size:18px;
    }

    .tgh-evopening__marquee-track span{
        padding:0 18px;

        font-size:15px;
    }
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

    .tgh-evopening__marquee-track{
        animation:none;
    }

    .tgh-evopening__visual,
    .tgh-evopening__headline,
    .tgh-evopening__intro,
    .tgh-evopening__categories,
    .tgh-evopening__note,
    .tgh-evopening__photo{
        transition:none;
    }
}

/* ==========================================================
   TGH EVENTS OPENING
   EXTRA FARU FEEL — ADD-ON ONLY
   Existing CSS untouched
========================================================== */

/* Premium soft atmosphere */
.tgh-evopening::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    top:90px;
    right:-210px;
    border-radius:50%;
    background:radial-gradient(
        circle,
        rgba(181,138,82,.13) 0%,
        rgba(181,138,82,.045) 45%,
        transparent 72%
    );
    pointer-events:none;
    z-index:-1;
}

.tgh-evopening::after{
    content:"";
    position:absolute;
    width:370px;
    height:370px;
    left:-190px;
    bottom:100px;
    border:1px solid rgba(0,59,38,.07);
    border-radius:50%;
    pointer-events:none;
    z-index:-1;
}


/* ----------------------------------------------------------
   Giant EVENTS — richer editorial feel
---------------------------------------------------------- */

.tgh-evopening__giant{
    text-shadow:
        0 1px 0 rgba(255,255,255,.3),
        0 25px 70px rgba(0,59,38,.025);
}


/* ----------------------------------------------------------
   Cinematic image treatment
---------------------------------------------------------- */

.tgh-evopening__visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;

    border:1px solid rgba(255,255,255,.22);
    border-radius:inherit;
}

.tgh-evopening__visual::after{
    content:"";
    position:absolute;
    top:-35%;
    left:-55%;
    width:35%;
    height:170%;

    z-index:3;

    transform:rotate(18deg);

    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.12),
        transparent
    );

    pointer-events:none;

    animation:tghEvLightSweep 8s ease-in-out infinite;
}

@keyframes tghEvLightSweep{

    0%,55%{
        left:-55%;
        opacity:0;
    }

    65%{
        opacity:.7;
    }

    82%{
        left:125%;
        opacity:.15;
    }

    100%{
        left:125%;
        opacity:0;
    }
}


/* ----------------------------------------------------------
   Headline subtle luxury depth
---------------------------------------------------------- */

.tgh-evopening__line-one{
    text-shadow:0 12px 40px rgba(0,59,38,.06);
}

.tgh-evopening__line-three{
    text-shadow:0 8px 28px rgba(181,138,82,.10);
}


/* little gold accent */

.tgh-evopening__headline::after{
    content:"";
    position:absolute;

    width:7px;
    height:7px;

    left:-18px;
    top:51%;

    border-radius:50%;

    background:#b58a52;

    box-shadow:
        0 0 0 6px rgba(181,138,82,.08),
        0 0 0 12px rgba(181,138,82,.035);
}


/* ----------------------------------------------------------
   Category strip — premium hover movement
---------------------------------------------------------- */

.tgh-evopening__category{
    transition:
        background .4s ease,
        color .4s ease,
        transform .4s ease;
}

.tgh-evopening__category:hover{
    transform:translateY(-5px);
    z-index:5;

    box-shadow:0 18px 35px rgba(0,59,38,.13);
}

.tgh-evopening__category-no{
    transition:
        transform .35s ease,
        color .35s ease;
}

.tgh-evopening__category:hover
.tgh-evopening__category-no{
    transform:translateY(-4px);
    color:#d9b477;
}


/* ----------------------------------------------------------
   Intro number
---------------------------------------------------------- */

.tgh-evopening__intro-no{
    position:relative;
    width:max-content;
}

.tgh-evopening__intro-no::after{
    content:"";
    position:absolute;

    top:50%;
    left:calc(100% + 12px);

    width:45px;
    height:1px;

    background:linear-gradient(
        90deg,
        #b58a52,
        transparent
    );
}


/* ----------------------------------------------------------
   Note — luxury paper effect
---------------------------------------------------------- */

.tgh-evopening__note::after{
    content:"";
    position:absolute;

    width:42px;
    height:42px;

    right:-1px;
    top:-1px;

    background:linear-gradient(
        225deg,
        rgba(181,138,82,.15) 0 48%,
        transparent 49%
    );

    pointer-events:none;
}


/* ----------------------------------------------------------
   Seal breathing effect
---------------------------------------------------------- */

.tgh-evopening__seal-circle{
    animation:tghEvSealBreath 4s ease-in-out infinite;
}

@keyframes tghEvSealBreath{

    0%,100%{
        box-shadow:
            0 0 0 8px rgba(248,241,230,.85),
            0 13px 35px rgba(0,30,20,.12);
    }

    50%{
        box-shadow:
            0 0 0 13px rgba(248,241,230,.45),
            0 18px 42px rgba(0,30,20,.17);
    }
}


/* ----------------------------------------------------------
   Explore CTA
---------------------------------------------------------- */

.tgh-evopening__explore{
    position:relative;
    overflow:hidden;
}

.tgh-evopening__explore::before{
    content:"";

    position:absolute;
    inset:0;

    background:#b58a52;

    transform:translateX(-102%);

    transition:transform .45s cubic-bezier(.7,0,.2,1);
}

.tgh-evopening__explore:hover::before{
    transform:translateX(0);
}

.tgh-evopening__explore-text,
.tgh-evopening__explore-arrow{
    position:relative;
    z-index:2;
}


/* ----------------------------------------------------------
   Marquee top glow
---------------------------------------------------------- */

.tgh-evopening__marquee{
    box-shadow:
        0 -12px 35px rgba(0,59,38,.055),
        0 15px 40px rgba(0,59,38,.07);
}


/* Accessibility */
@media (prefers-reduced-motion:reduce){

    .tgh-evopening__visual::after,
    .tgh-evopening__seal-circle{
        animation:none !important;
    }
}

/* Events Page Second Section */
.tgh-evdeck{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    padding:88px 0 76px;

    background:
        radial-gradient(
            circle at 85% 12%,
            rgba(181,138,82,.10),
            transparent 25%
        ),
        #fdfaf5;

    color:#003b26;
}


/* ==========================================================
   BACKGROUND EDITORIAL DETAILS
========================================================== */

.tgh-evdeck__ghost{
    position:absolute;
    left:-18px;
    bottom:-16px;
    z-index:-1;

    font-family:"Playfair Display",serif;
    font-size:clamp(100px,15vw,220px);
    font-weight:600;
    line-height:.75;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.045);

    letter-spacing:-8px;

    white-space:nowrap;

    pointer-events:none;
    user-select:none;
}


.tgh-evdeck__section-number{
    position:absolute;
    right:3.5%;
    top:22px;
    z-index:-1;

    font-family:"Playfair Display",serif;
    font-size:150px;
    font-weight:500;
    line-height:1;

    color:rgba(181,138,82,.055);

    pointer-events:none;
}


/* thin editorial vertical mark */

.tgh-evdeck::before{
    content:"";

    position:absolute;

    top:0;
    left:6.5%;

    width:1px;
    height:100%;

    background:linear-gradient(
        180deg,
        transparent,
        rgba(0,59,38,.08) 14%,
        rgba(0,59,38,.08) 86%,
        transparent
    );

    pointer-events:none;
}


/* ==========================================================
   TOP INTRO
========================================================== */

.tgh-evdeck__top{
    position:relative;
    z-index:5;

    display:grid;
    grid-template-columns:1.25fr .75fr;
    align-items:end;

    gap:70px;

    margin-bottom:43px;
}


/* ==========================================================
   EYEBROW
========================================================== */

.tgh-evdeck__eyebrow{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:13px;

    color:#a8753e;

    font-size:7px;
    font-weight:700;
    letter-spacing:2.2px;
}

.tgh-evdeck__eyebrow-line{
    display:block;

    width:40px;
    height:1px;

    background:#b58a52;
}


/* ==========================================================
   HEADING
========================================================== */

.tgh-evdeck__heading h2{
    margin:0;

    font-family:"Playfair Display",serif;
    font-size:clamp(56px,5.7vw,84px);
    font-weight:500;
    line-height:.88;
    letter-spacing:-3px;

    color:#003b26;
}

.tgh-evdeck__heading h2 em{
    display:inline-block;

    margin-left:10px;

    color:#b58a52;

    font-weight:400;
}


/* ==========================================================
   INTRO RIGHT
========================================================== */

.tgh-evdeck__intro{
    position:relative;

    max-width:340px;

    padding:
        5px
        0
        4px
        23px;

    border-left:
        1px solid rgba(0,59,38,.18);
}

.tgh-evdeck__intro-number{
    display:block;

    margin-bottom:9px;

    color:#a8753e;

    font-size:6px;
    font-weight:700;
    letter-spacing:1.8px;
}

.tgh-evdeck__intro p{
    margin:0;

    color:#68736c;

    font-size:12px;
    line-height:1.7;
}


/* ==========================================================
   EVENT DECK
========================================================== */

.tgh-evdeck__grid{
    position:relative;

    display:grid;
    grid-template-columns:
        minmax(0,1.36fr)
        minmax(320px,.64fr);

    gap:13px;

    height:565px;
}


/* gold corner detail */

.tgh-evdeck__grid::before{
    content:"";

    position:absolute;

    left:-14px;
    top:-14px;

    width:72px;
    height:72px;

    border-left:
        1px solid rgba(181,138,82,.60);

    border-top:
        1px solid rgba(181,138,82,.60);

    pointer-events:none;

    z-index:10;
}


/* ==========================================================
   COMMON EVENT ITEM
========================================================== */

.tgh-evdeck__item{
    position:relative;

    min-width:0;
    margin:0;

    overflow:hidden;
}

.tgh-evdeck__visual{
    position:relative;

    display:block;

    width:100%;
    height:100%;

    overflow:hidden;

    background:#173e30;

    text-decoration:none;

    color:#fff;
}


/* ==========================================================
   FEATURED EVENT SHAPE
========================================================== */

.tgh-evdeck__item--featured{
    height:100%;
}

.tgh-evdeck__item--featured
.tgh-evdeck__visual{
    border-radius:
        3px
        3px
        3px
        78px;
}


/* ==========================================================
   SIDE EVENTS
========================================================== */

.tgh-evdeck__side{
    display:grid;
    grid-template-rows:1fr 1fr;

    gap:13px;

    min-height:0;
}

.tgh-evdeck__item--side{
    min-height:0;
}

.tgh-evdeck__item--side:first-child
.tgh-evdeck__visual{
    border-radius:
        3px
        54px
        3px
        3px;
}

.tgh-evdeck__item--side:last-child
.tgh-evdeck__visual{
    border-radius:
        3px
        3px
        54px
        3px;
}


/* ==========================================================
   EVENT IMAGES
========================================================== */

.tgh-evdeck__visual img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transform:
        scale(1.035)
        translate(0,0);

    transition:
        transform .75s cubic-bezier(.2,.7,.2,1),
        filter .6s ease;
}

.tgh-evdeck__visual:hover img{
    transform:scale(1.08);
}


/* ==========================================================
   IMAGE OVERLAY
========================================================== */

.tgh-evdeck__shade{
    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            rgba(0,24,15,.03) 20%,
            rgba(0,31,20,.16) 48%,
            rgba(0,30,19,.84) 100%
        );

    transition:background .45s ease;
}

.tgh-evdeck__item--side
.tgh-evdeck__shade{
    background:
        linear-gradient(
            90deg,
            rgba(0,28,18,.62) 0%,
            rgba(0,28,18,.17) 62%,
            rgba(0,28,18,.20) 100%
        ),
        linear-gradient(
            180deg,
            transparent 25%,
            rgba(0,25,16,.68) 100%
        );
}

.tgh-evdeck__visual:hover
.tgh-evdeck__shade{
    background:
        linear-gradient(
            180deg,
            rgba(0,30,20,.08),
            rgba(0,30,20,.82)
        );
}


/* ==========================================================
   IMAGE BORDER
========================================================== */

.tgh-evdeck__visual::before{
    content:"";

    position:absolute;
    inset:9px;

    z-index:3;

    border:
        1px solid rgba(255,255,255,.16);

    border-radius:inherit;

    pointer-events:none;

    opacity:.75;

    transition:
        inset .4s ease,
        opacity .4s ease;
}

.tgh-evdeck__visual:hover::before{
    inset:13px;

    opacity:1;
}


/* ==========================================================
   EVENT NUMBER
========================================================== */

.tgh-evdeck__number{
    position:absolute;

    top:24px;
    left:25px;

    z-index:5;

    color:#fff;

    font-family:"Playfair Display",serif;
    font-size:14px;
    line-height:1;
}

.tgh-evdeck__number::after{
    content:"";

    display:inline-block;

    width:34px;
    height:1px;

    margin:
        0
        0
        4px
        10px;

    background:
        rgba(255,255,255,.55);
}


/* ==========================================================
   CATEGORY PILL
========================================================== */

.tgh-evdeck__category{
    position:absolute;

    top:20px;
    right:21px;

    z-index:5;

    padding:
        7px
        11px;

    border:
        1px solid rgba(255,255,255,.35);

    border-radius:30px;

    background:
        rgba(0,59,38,.19);

    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);

    color:#fff;

    font-size:6px;
    font-weight:700;
    letter-spacing:1.5px;

    text-transform:uppercase;
}


/* ==========================================================
   FEATURED CONTENT
========================================================== */

.tgh-evdeck__content{
    position:absolute;

    left:31px;
    bottom:30px;

    z-index:5;

    max-width:470px;
}

.tgh-evdeck__mini{
    display:block;

    margin-bottom:10px;

    color:#e6c697;

    font-size:6px;
    font-weight:700;
    letter-spacing:2.2px;
}

.tgh-evdeck__content h3{
    margin:0;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:clamp(46px,4.4vw,68px);

    font-weight:500;
    line-height:.88;

    letter-spacing:-2px;

    text-shadow:
        0 7px 30px rgba(0,0,0,.18);
}

.tgh-evdeck__content h3 em{
    display:block;

    margin-left:40px;

    color:#e0b97e;

    font-weight:400;
}

.tgh-evdeck__content p{
    max-width:350px;

    margin:
        16px
        0
        0;

    color:rgba(255,255,255,.80);

    font-size:11px;
    line-height:1.65;
}


/* ==========================================================
   SIDE EVENT CONTENT
========================================================== */

.tgh-evdeck__item--side
.tgh-evdeck__content{
    left:22px;
    bottom:21px;

    max-width:75%;
}

.tgh-evdeck__item--side
.tgh-evdeck__mini{
    margin-bottom:6px;

    font-size:5.5px;
}

.tgh-evdeck__item--side
.tgh-evdeck__content h3{
    font-size:31px;

    line-height:.9;

    letter-spacing:-1px;
}

.tgh-evdeck__item--side
.tgh-evdeck__content h3 em{
    margin-left:18px;
}


/* no paragraph in side cards */

.tgh-evdeck__item--side
.tgh-evdeck__content p{
    display:none;
}


/* ==========================================================
   EXPLORE ACTION
========================================================== */

.tgh-evdeck__view{
    position:absolute;

    right:25px;
    bottom:26px;

    z-index:6;

    display:flex;
    align-items:center;

    gap:10px;
}

.tgh-evdeck__view > span{
    color:#fff;

    font-size:6px;
    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    opacity:.85;
}

.tgh-evdeck__view i{
    width:39px;
    height:39px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:#f8f1e6;

    color:#003b26;

    font-size:14px;
    font-style:normal;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.tgh-evdeck__visual:hover
.tgh-evdeck__view i{
    transform:
        translate(4px,-4px)
        rotate(5deg);

    background:#b58a52;

    color:#fff;
}


/* side action smaller */

.tgh-evdeck__item--side
.tgh-evdeck__view{
    right:18px;
    bottom:18px;
}

.tgh-evdeck__item--side
.tgh-evdeck__view > span{
    display:none;
}

.tgh-evdeck__item--side
.tgh-evdeck__view i{
    width:34px;
    height:34px;
}


/* ==========================================================
   FEATURED GOLD EDGE
========================================================== */

.tgh-evdeck__item--featured::after{
    content:"";

    position:absolute;

    left:0;
    bottom:0;

    z-index:7;

    width:125px;
    height:125px;

    border-left:
        2px solid rgba(213,174,116,.75);

    border-bottom:
        2px solid rgba(213,174,116,.75);

    border-radius:
        0
        0
        0
        78px;

    pointer-events:none;
}


/* ==========================================================
   SIDE DIVIDER ACCENT
========================================================== */

.tgh-evdeck__side::before{
    content:"";

    position:absolute;

    width:1px;
    height:80px;

    top:50%;
    right:-12px;

    transform:translateY(-50%);

    background:linear-gradient(
        transparent,
        #b58a52,
        transparent
    );
}


/* ==========================================================
   FOOTER
========================================================== */

.tgh-evdeck__footer{
    display:grid;

    grid-template-columns:
        auto
        1fr
        auto;

    align-items:center;

    gap:25px;

    margin-top:29px;
}


/* ==========================================================
   FOOTER NOTE
========================================================== */

.tgh-evdeck__footer-note{
    display:flex;
    align-items:center;

    gap:9px;

    white-space:nowrap;
}

.tgh-evdeck__footer-dot{
    width:6px;
    height:6px;

    border-radius:50%;

    background:#b58a52;

    box-shadow:
        0 0 0 5px rgba(181,138,82,.10);
}

.tgh-evdeck__footer-note > span{
    color:#8d795e;

    font-size:6px;
    font-weight:700;

    letter-spacing:1.5px;
}

.tgh-evdeck__footer-note i{
    width:25px;
    height:1px;

    background:
        rgba(0,59,38,.20);
}

.tgh-evdeck__footer-note strong{
    color:#003b26;

    font-family:"Playfair Display",serif;

    font-size:18px;
    font-weight:500;
    font-style:italic;
}


/* ==========================================================
   FOOTER LINE
========================================================== */

.tgh-evdeck__footer-line{
    width:100%;
    height:1px;

    background:linear-gradient(
        90deg,
        rgba(0,59,38,.20),
        rgba(0,59,38,.05)
    );
}


/* ==========================================================
   PLAN EVENT CTA
========================================================== */

.tgh-evdeck__cta{
    position:relative;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:#003b26;

    color:#fff;

    text-decoration:none;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.tgh-evdeck__cta::before{
    content:"";

    position:absolute;
    inset:0;

    background:#b58a52;

    transform:translateX(-102%);

    transition:
        transform .4s cubic-bezier(.7,0,.2,1);
}

.tgh-evdeck__cta:hover::before{
    transform:translateX(0);
}

.tgh-evdeck__cta:hover{
    color:#fff;

    transform:translateY(-3px);

    box-shadow:
        0 13px 30px
        rgba(0,59,38,.14);
}

.tgh-evdeck__cta span{
    position:relative;
    z-index:2;

    padding:
        14px
        17px;

    font-size:7px;
    font-weight:700;

    letter-spacing:1.4px;

    text-transform:uppercase;
}

.tgh-evdeck__cta i{
    position:relative;
    z-index:2;

    width:44px;
    align-self:stretch;

    display:flex;
    align-items:center;
    justify-content:center;

    border-left:
        1px solid rgba(255,255,255,.18);

    font-size:14px;
    font-style:normal;

    transition:transform .35s ease;
}

.tgh-evdeck__cta:hover i{
    transform:translate(3px,-3px);
}


/* ==========================================================
   REVEAL
========================================================== */

.tgh-evdeck__top{
    opacity:0;

    transform:translateY(20px);

    transition:
        opacity .75s ease,
        transform .75s ease;
}

.tgh-evdeck__item{
    opacity:0;

    transform:translateY(25px);

    transition:
        opacity .75s ease,
        transform .75s cubic-bezier(.2,.7,.2,1);
}

.tgh-evdeck__item--side:nth-child(2){
    transition-delay:.10s;
}

.tgh-evdeck__footer{
    opacity:0;

    transform:translateY(15px);

    transition:
        opacity .7s ease .15s,
        transform .7s ease .15s;
}

.tgh-evdeck--visible
.tgh-evdeck__top,

.tgh-evdeck--visible
.tgh-evdeck__item,

.tgh-evdeck--visible
.tgh-evdeck__footer{
    opacity:1;

    transform:translateY(0);
}


/* ==========================================================
   1199px
========================================================== */

@media (max-width:1199px){

    .tgh-evdeck{
        padding:
            78px
            0
            68px;
    }

    .tgh-evdeck__top{
        gap:45px;

        margin-bottom:36px;
    }

    .tgh-evdeck__heading h2{
        font-size:68px;
    }

    .tgh-evdeck__grid{
        grid-template-columns:
            minmax(0,1.25fr)
            minmax(300px,.75fr);

        height:525px;
    }

    .tgh-evdeck__content h3{
        font-size:56px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:27px;
    }
}


/* ==========================================================
   991px — TABLET
========================================================== */

@media (max-width:991px){

    .tgh-evdeck{
        padding:
            70px
            0
            62px;
    }

    .tgh-evdeck__section-number{
        font-size:115px;
    }

    .tgh-evdeck__top{
        grid-template-columns:1fr auto;

        gap:30px;

        margin-bottom:32px;
    }

    .tgh-evdeck__heading h2{
        font-size:58px;
    }

    .tgh-evdeck__intro{
        max-width:280px;
    }

    .tgh-evdeck__grid{
        grid-template-columns:
            1.18fr
            .82fr;

        height:470px;
    }

    .tgh-evdeck__content{
        left:25px;
        bottom:24px;
    }

    .tgh-evdeck__content h3{
        font-size:48px;
    }

    .tgh-evdeck__content p{
        max-width:280px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:24px;
    }
}


/* ==========================================================
   768px
   COMPACT MOBILE/TABLET COMPOSITION
========================================================== */

@media (max-width:768px){

    .tgh-evdeck{
        padding:
            62px
            0
            57px;
    }

    .tgh-evdeck__section-number{
        top:17px;

        font-size:90px;
    }

    .tgh-evdeck__ghost{
        font-size:120px;
    }

    .tgh-evdeck__top{
        display:block;

        margin-bottom:28px;
    }

    .tgh-evdeck__heading h2{
        font-size:53px;
    }

    .tgh-evdeck__intro{
        max-width:410px;

        margin:
            22px
            0
            0
            auto;
    }


    /* ----------------------------------------------
       Important:
       Still NOT 3 huge stacked cards.
       One featured + two compact cards.
    ---------------------------------------------- */

    .tgh-evdeck__grid{
        display:grid;

        grid-template-columns:1fr;

        gap:10px;

        height:auto;
    }

    .tgh-evdeck__item--featured{
        height:420px;
    }

    .tgh-evdeck__side{
        display:grid;

        grid-template-columns:
            1fr
            1fr;

        grid-template-rows:230px;

        gap:10px;
    }

    .tgh-evdeck__item--side{
        height:230px;
    }

    .tgh-evdeck__item--featured
    .tgh-evdeck__visual{
        border-radius:
            2px
            2px
            2px
            55px;
    }

    .tgh-evdeck__item--side:first-child
    .tgh-evdeck__visual{
        border-radius:
            2px
            30px
            2px
            2px;
    }

    .tgh-evdeck__item--side:last-child
    .tgh-evdeck__visual{
        border-radius:
            2px
            2px
            30px
            2px;
    }

    .tgh-evdeck__side::before{
        display:none;
    }

    .tgh-evdeck__footer{
        margin-top:24px;
    }
}


/* ==========================================================
   576px — MOBILE
========================================================== */

@media (max-width:576px){

    .tgh-evdeck{
        padding:
            52px
            0
            48px;
    }

    .tgh-evdeck::before{
        left:16px;
    }

    .tgh-evdeck__section-number{
        right:-2px;

        font-size:76px;
    }

    .tgh-evdeck__ghost{
        left:-5px;
        bottom:3px;

        font-size:90px;

        letter-spacing:-4px;
    }


    /* Header */

    .tgh-evdeck__eyebrow{
        margin-bottom:10px;

        font-size:6px;
    }

    .tgh-evdeck__eyebrow-line{
        width:30px;
    }

    .tgh-evdeck__heading h2{
        font-size:45px;

        letter-spacing:-2px;
    }

    .tgh-evdeck__heading h2 em{
        margin-left:5px;
    }

    .tgh-evdeck__intro{
        width:87%;

        margin-top:17px;

        padding-left:17px;
    }

    .tgh-evdeck__intro p{
        font-size:11px;
    }


    /* Featured image */

    .tgh-evdeck__item--featured{
        height:360px;
    }

    .tgh-evdeck__grid::before{
        left:-7px;
        top:-7px;

        width:46px;
        height:46px;
    }

    .tgh-evdeck__number{
        top:18px;
        left:18px;

        font-size:12px;
    }

    .tgh-evdeck__category{
        top:15px;
        right:15px;

        padding:
            6px
            9px;
    }

    .tgh-evdeck__content{
        left:20px;
        bottom:20px;

        max-width:76%;
    }

    .tgh-evdeck__content h3{
        font-size:40px;
    }

    .tgh-evdeck__content h3 em{
        margin-left:24px;
    }

    .tgh-evdeck__content p{
        max-width:250px;

        margin-top:10px;

        font-size:10px;
    }

    .tgh-evdeck__view{
        right:17px;
        bottom:18px;
    }

    .tgh-evdeck__view > span{
        display:none;
    }

    .tgh-evdeck__view i{
        width:35px;
        height:35px;
    }


    /* two smaller events */

    .tgh-evdeck__side{
        grid-template-rows:190px;

        gap:7px;
    }

    .tgh-evdeck__item--side{
        height:190px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__number{
        top:13px;
        left:13px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__number::after{
        width:20px;

        margin-left:6px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__category{
        display:none;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content{
        left:14px;
        bottom:14px;

        max-width:82%;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__mini{
        font-size:4.5px;

        letter-spacing:1.3px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:20px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3 em{
        margin-left:8px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__view{
        right:10px;
        bottom:10px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__view i{
        width:28px;
        height:28px;

        font-size:11px;
    }


    /* footer */

    .tgh-evdeck__footer{
        grid-template-columns:1fr auto;

        gap:14px;

        margin-top:20px;
    }

    .tgh-evdeck__footer-line{
        display:none;
    }

    .tgh-evdeck__footer-note i{
        display:none;
    }

    .tgh-evdeck__footer-note strong{
        font-size:15px;
    }

    .tgh-evdeck__cta span{
        padding:
            12px
            13px;

        font-size:6px;
    }

    .tgh-evdeck__cta i{
        width:37px;
    }
}


/* ==========================================================
   480px
========================================================== */

@media (max-width:480px){

    .tgh-evdeck{
        padding:
            48px
            0
            44px;
    }

    .tgh-evdeck__heading h2{
        font-size:40px;
    }

    .tgh-evdeck__item--featured{
        height:330px;
    }

    .tgh-evdeck__content h3{
        font-size:36px;
    }

    .tgh-evdeck__content p{
        max-width:210px;
    }

    .tgh-evdeck__side{
        grid-template-rows:170px;
    }

    .tgh-evdeck__item--side{
        height:170px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:18px;
    }

    .tgh-evdeck__footer-note > span{
        display:none;
    }
}


/* ==========================================================
   360px
========================================================== */

@media (max-width:360px){

    .tgh-evdeck{
        padding:
            43px
            0
            40px;
    }

    .tgh-evdeck__heading h2{
        font-size:35px;
    }

    .tgh-evdeck__intro{
        width:92%;
    }

    .tgh-evdeck__item--featured{
        height:295px;
    }

    .tgh-evdeck__content{
        left:16px;
        bottom:16px;
    }

    .tgh-evdeck__content h3{
        font-size:31px;
    }

    .tgh-evdeck__content p{
        display:none;
    }

    .tgh-evdeck__side{
        grid-template-rows:150px;
    }

    .tgh-evdeck__item--side{
        height:150px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:16px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__mini{
        display:none;
    }

    .tgh-evdeck__footer-note strong{
        font-size:14px;
    }

    .tgh-evdeck__cta span{
        padding:
            11px
            10px;

        letter-spacing:.8px;
    }

    .tgh-evdeck__cta i{
        width:32px;
    }
}


/* ==========================================================
   300px
========================================================== */

@media (max-width:300px){

    .tgh-evdeck{
        padding:
            38px
            0
            36px;
    }

    .tgh-evdeck__section-number{
        font-size:60px;
    }

    .tgh-evdeck__heading h2{
        font-size:30px;
    }

    .tgh-evdeck__intro p{
        font-size:10px;
    }

    .tgh-evdeck__item--featured{
        height:260px;
    }

    .tgh-evdeck__content h3{
        font-size:27px;
    }

    .tgh-evdeck__side{
        grid-template-rows:130px;
    }

    .tgh-evdeck__item--side{
        height:130px;
    }

    .tgh-evdeck__item--side
    .tgh-evdeck__content h3{
        font-size:14px;
    }

    .tgh-evdeck__number::after{
        display:none;
    }

    .tgh-evdeck__footer-note{
        display:none;
    }

    .tgh-evdeck__footer{
        display:flex;
        justify-content:flex-end;
    }
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

    .tgh-evdeck__top,
    .tgh-evdeck__item,
    .tgh-evdeck__footer,
    .tgh-evdeck__visual img,
    .tgh-evdeck__visual::before,
    .tgh-evdeck__view i{
        transition:none !important;
    }
}

/* Events Page Third Section */
.tgh-evstory{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    padding:76px 0 58px;

    background:#f5efe5;

    color:#003b26;
}


/* ==========================================================
   BACKGROUND ATMOSPHERE
========================================================== */

.tgh-evstory::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:-2;

    background:
        radial-gradient(
            circle at 12% 30%,
            rgba(181,138,82,.09),
            transparent 22%
        ),
        radial-gradient(
            circle at 91% 68%,
            rgba(0,59,38,.045),
            transparent 25%
        );

    pointer-events:none;
}


.tgh-evstory::after{
    content:"";

    position:absolute;

    left:6%;
    top:0;

    z-index:-1;

    width:1px;
    height:100%;

    background:linear-gradient(
        180deg,
        transparent,
        rgba(0,59,38,.08) 15%,
        rgba(0,59,38,.08) 85%,
        transparent
    );

    pointer-events:none;
}


/* ==========================================================
   LARGE BACKGROUND 03
========================================================== */

.tgh-evstory__bg-no{
    position:absolute;

    right:-8px;
    top:4px;

    z-index:-1;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.055);

    font-family:"Playfair Display",serif;

    font-size:180px;
    font-weight:500;

    line-height:.8;

    pointer-events:none;
    user-select:none;
}


/* ==========================================================
   TOP INTRO
========================================================== */

.tgh-evstory__top{
    position:relative;
    z-index:5;

    display:grid;

    grid-template-columns:
        100px
        minmax(0,1fr)
        290px;

    align-items:end;

    gap:38px;

    margin-bottom:35px;
}


/* ==========================================================
   INDEX
========================================================== */

.tgh-evstory__index{
    display:flex;
    align-items:center;

    gap:10px;

    padding-bottom:6px;
}

.tgh-evstory__index > span{
    color:#a8753e;

    font-family:"Playfair Display",serif;

    font-size:32px;
    font-weight:400;

    line-height:1;
}

.tgh-evstory__index i{
    width:1px;
    height:34px;

    background:
        rgba(0,59,38,.18);
}

.tgh-evstory__index small{
    color:#768078;

    font-size:5px;
    font-weight:700;

    line-height:1.55;
    letter-spacing:1.2px;
}


/* ==========================================================
   HEADING
========================================================== */

.tgh-evstory__eyebrow{
    display:block;

    margin-bottom:8px;

    color:#a8753e;

    font-size:6px;
    font-weight:700;

    letter-spacing:2.2px;
}

.tgh-evstory__heading h2{
    margin:0;

    color:#003b26;

    font-family:"Playfair Display",serif;

    font-size:clamp(50px,5.2vw,76px);
    font-weight:500;

    line-height:.88;
    letter-spacing:-2.8px;
}

.tgh-evstory__heading h2 em{
    display:inline-block;

    margin-left:8px;

    color:#b27d3d;

    font-weight:400;
}


/* ==========================================================
   INTRO
========================================================== */

.tgh-evstory__intro{
    padding:
        3px
        0
        3px
        19px;

    border-left:
        1px solid rgba(0,59,38,.18);
}

.tgh-evstory__intro > span{
    display:block;

    margin-bottom:8px;

    color:#a8753e;

    font-size:5px;
    font-weight:700;

    letter-spacing:1.7px;
}

.tgh-evstory__intro p{
    max-width:260px;

    margin:0;

    color:#667169;

    font-size:10.5px;
    line-height:1.7;
}


/* ==========================================================
   STORY CANVAS
========================================================== */

.tgh-evstory__canvas{
    position:relative;

    width:100%;

    padding:
        0
        5.5%;
}


/* ==========================================================
   PANORAMIC STRIP
========================================================== */

.tgh-evstory__panorama{
    position:relative;

    display:flex;

    width:100%;
    height:445px;

    overflow:hidden;

    background:#063a28;

    border-radius:
        0
        58px
        0
        58px;

    box-shadow:
        0 28px 60px
        rgba(0,45,29,.13);
}


/* premium inner edge */

.tgh-evstory__panorama::before{
    content:"";

    position:absolute;

    inset:10px;

    z-index:20;

    border:
        1px solid rgba(255,255,255,.18);

    border-radius:
        0
        48px
        0
        48px;

    pointer-events:none;
}


/* top gold detail */

.tgh-evstory__panorama::after{
    content:"";

    position:absolute;

    top:0;
    left:15%;

    z-index:20;

    width:85px;
    height:2px;

    background:#d1a367;

    pointer-events:none;
}


/* ==========================================================
   SCENES
========================================================== */

.tgh-evstory__scene{
    position:relative;

    flex:1 1 25%;

    min-width:0;

    height:100%;

    margin:0;

    overflow:hidden;

    background:#073b29;

    transition:
        flex .65s cubic-bezier(.2,.75,.2,1),
        filter .45s ease;
}


/* irregular widths by default */

.tgh-evstory__scene--one{
    flex-grow:1.25;
}

.tgh-evstory__scene--two{
    flex-grow:.82;
}

.tgh-evstory__scene--three{
    flex-grow:1.05;
}

.tgh-evstory__scene--four{
    flex-grow:.88;
}


/* dividers */

.tgh-evstory__scene:not(:last-child)::after{
    content:"";

    position:absolute;

    top:0;
    right:0;

    z-index:8;

    width:1px;
    height:100%;

    background:
        rgba(255,255,255,.25);

    pointer-events:none;
}


/* ==========================================================
   IMAGES
========================================================== */

.tgh-evstory__scene img{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transform:scale(1.035);

    transition:
        transform .75s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.tgh-evstory__scene:hover img{
    transform:scale(1.075);
}


/* ==========================================================
   IMAGE OVERLAY
========================================================== */

.tgh-evstory__scene-overlay{
    position:absolute;
    inset:0;

    z-index:2;

    background:
        linear-gradient(
            180deg,
            rgba(0,28,18,.04) 18%,
            rgba(0,28,18,.05) 48%,
            rgba(0,28,18,.68) 100%
        );

    transition:
        background .45s ease;
}

.tgh-evstory__scene:hover
.tgh-evstory__scene-overlay{
    background:
        linear-gradient(
            180deg,
            rgba(0,28,18,.01),
            rgba(0,28,18,.60)
        );
}


/* ==========================================================
   SCENE LABELS
========================================================== */

.tgh-evstory__scene figcaption{
    position:absolute;

    left:20px;
    bottom:20px;

    z-index:10;

    display:flex;
    align-items:center;

    gap:9px;
}

.tgh-evstory__scene figcaption small{
    display:flex;
    align-items:center;
    justify-content:center;

    width:31px;
    height:31px;

    border:
        1px solid rgba(255,255,255,.45);

    border-radius:50%;

    color:#fff;

    font-family:"Playfair Display",serif;

    font-size:10px;
}

.tgh-evstory__scene figcaption span{
    color:#fff;

    font-size:5.5px;
    font-weight:700;

    letter-spacing:1.7px;

    white-space:nowrap;
}


/* ==========================================================
   INTERACTIVE EXPANSION
========================================================== */

.tgh-evstory__panorama--active
.tgh-evstory__scene{
    flex-grow:.75;

    filter:saturate(.82);
}

.tgh-evstory__panorama--active
.tgh-evstory__scene--focus{
    flex-grow:1.75;

    filter:saturate(1.08);
}


/* ==========================================================
   LARGE "GOOD TIMES"
========================================================== */

.tgh-evstory__statement{
    position:absolute;

    left:50%;
    top:50%;

    z-index:12;

    transform:
        translate(-50%,-50%);

    display:flex;
    flex-direction:column;

    pointer-events:none;

    text-align:center;

    mix-blend-mode:normal;
}

.tgh-evstory__statement span,
.tgh-evstory__statement strong{
    display:block;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(255,255,255,.72);

    font-family:"Playfair Display",serif;

    font-size:clamp(60px,7vw,105px);
    font-weight:500;

    line-height:.67;
    letter-spacing:-4px;

    text-shadow:
        0 6px 35px
        rgba(0,0,0,.10);
}

.tgh-evstory__statement strong{
    margin-left:90px;

    color:rgba(255,255,255,.93);

    -webkit-text-stroke:0;

    font-style:italic;
    font-weight:400;
}


/* ==========================================================
   VERTICAL LABEL
========================================================== */

.tgh-evstory__vertical{
    position:absolute;

    left:2.1%;
    top:50%;

    z-index:15;

    display:flex;
    align-items:center;

    gap:10px;

    transform:
        translateY(-50%)
        rotate(-90deg);

    color:#003b26;

    pointer-events:none;
}

.tgh-evstory__vertical span{
    font-size:5px;
    font-weight:700;

    letter-spacing:2px;
}

.tgh-evstory__vertical i{
    width:35px;
    height:1px;

    background:#b58143;
}


/* ==========================================================
   FLOATING QUOTE
========================================================== */

.tgh-evstory__quote{
    position:absolute;

    right:3.6%;
    top:50%;

    z-index:25;

    width:235px;

    padding:
        25px
        24px
        22px;

    transform:
        translateY(-50%);

    background:#f5efe5;

    box-shadow:
        0 18px 42px
        rgba(0,40,26,.18);

    border-top:
        2px solid #b58143;
}


/* decorative corner */

.tgh-evstory__quote::before{
    content:"";

    position:absolute;

    right:-7px;
    bottom:-7px;

    width:45px;
    height:45px;

    border-right:
        1px solid rgba(181,129,67,.7);

    border-bottom:
        1px solid rgba(181,129,67,.7);
}


.tgh-evstory__quote-mark{
    position:absolute;

    top:3px;
    right:15px;

    color:
        rgba(181,129,67,.16);

    font-family:"Playfair Display",serif;

    font-size:75px;
    line-height:1;
}

.tgh-evstory__quote p{
    position:relative;
    z-index:2;

    margin:0;

    color:#003b26;

    font-family:"Playfair Display",serif;

    font-size:24px;
    font-weight:500;

    line-height:1.03;
}

.tgh-evstory__quote p em{
    display:block;

    margin-top:3px;

    color:#b17d3d;

    font-weight:400;
}

.tgh-evstory__quote-sign{
    display:flex;
    align-items:center;

    gap:8px;

    margin-top:17px;
}

.tgh-evstory__quote-sign i{
    width:28px;
    height:1px;

    background:
        rgba(0,59,38,.28);
}

.tgh-evstory__quote-sign span{
    color:#778078;

    font-size:4.5px;
    font-weight:700;

    letter-spacing:1.5px;
}


/* ==========================================================
   ROUND STAMP
========================================================== */

.tgh-evstory__stamp{
    position:absolute;

    left:8%;
    top:25px;

    z-index:25;
}

.tgh-evstory__stamp-ring{
    width:73px;
    height:73px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border:
        1px solid rgba(255,255,255,.60);

    border-radius:50%;

    background:
        rgba(0,59,38,.12);

    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);

    color:#fff;
}

.tgh-evstory__stamp-ring::before{
    content:"";

    position:absolute;

    inset:5px;

    border:
        1px dashed rgba(255,255,255,.32);

    border-radius:50%;
}

.tgh-evstory__stamp-ring span{
    position:relative;
    z-index:2;

    font-family:"Playfair Display",serif;

    font-size:19px;
}

.tgh-evstory__stamp-ring small{
    position:relative;
    z-index:2;

    margin-top:1px;

    color:#e2bc85;

    font-size:4px;
    font-weight:700;

    letter-spacing:1.2px;
}


/* ==========================================================
   BOTTOM
========================================================== */

.tgh-evstory__bottom{
    display:grid;

    grid-template-columns:
        auto
        1fr
        auto;

    align-items:center;

    gap:23px;

    margin-top:23px;
}


/* ==========================================================
   BOTTOM LABEL
========================================================== */

.tgh-evstory__bottom-label{
    display:flex;
    align-items:center;

    gap:9px;

    white-space:nowrap;
}

.tgh-evstory__live-dot{
    position:relative;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#b58143;
}

.tgh-evstory__live-dot::after{
    content:"";

    position:absolute;
    inset:-5px;

    border:
        1px solid rgba(181,129,67,.22);

    border-radius:50%;
}

.tgh-evstory__bottom-label small{
    color:#82745f;

    font-size:5px;
    font-weight:700;

    letter-spacing:1.5px;
}


/* ==========================================================
   TRACK
========================================================== */

.tgh-evstory__bottom-track{
    display:flex;
    align-items:center;

    width:100%;
}

.tgh-evstory__bottom-track span{
    flex:1;

    height:1px;

    background:
        rgba(0,59,38,.13);
}

.tgh-evstory__bottom-track i{
    width:5px;
    height:5px;

    margin:0 3px;

    border-radius:50%;

    background:#b58143;
}


/* ==========================================================
   BOTTOM COPY
========================================================== */

.tgh-evstory__bottom-copy{
    display:flex;
    align-items:center;

    gap:8px;

    white-space:nowrap;

    font-size:5px;
    font-weight:700;

    letter-spacing:1.3px;
}

.tgh-evstory__bottom-copy span{
    color:#858079;
}

.tgh-evstory__bottom-copy strong{
    color:#a8753e;

    font-weight:700;
}


/* ==========================================================
   REVEAL ANIMATION
========================================================== */

.tgh-evstory__top{
    opacity:0;

    transform:translateY(18px);

    transition:
        opacity .75s ease,
        transform .75s ease;
}

.tgh-evstory__panorama{
    opacity:0;

    transform:
        translateY(24px)
        scale(.99);

    transition:
        opacity .85s ease .08s,
        transform .85s cubic-bezier(.2,.7,.2,1) .08s;
}

.tgh-evstory__quote{
    opacity:0;

    transform:
        translateY(-45%)
        translateX(20px);

    transition:
        opacity .75s ease .28s,
        transform .75s cubic-bezier(.2,.7,.2,1) .28s;
}

.tgh-evstory__stamp{
    opacity:0;

    transform:
        scale(.75)
        rotate(-15deg);

    transition:
        opacity .7s ease .20s,
        transform .7s ease .20s;
}

.tgh-evstory__bottom{
    opacity:0;

    transform:translateY(10px);

    transition:
        opacity .65s ease .35s,
        transform .65s ease .35s;
}


/* visible */

.tgh-evstory--visible
.tgh-evstory__top{
    opacity:1;

    transform:translateY(0);
}

.tgh-evstory--visible
.tgh-evstory__panorama{
    opacity:1;

    transform:
        translateY(0)
        scale(1);
}

.tgh-evstory--visible
.tgh-evstory__quote{
    opacity:1;

    transform:
        translateY(-50%)
        translateX(0);
}

.tgh-evstory--visible
.tgh-evstory__stamp{
    opacity:1;

    transform:
        scale(1)
        rotate(0);
}

.tgh-evstory--visible
.tgh-evstory__bottom{
    opacity:1;

    transform:translateY(0);
}


/* ==========================================================
   <= 1199px
========================================================== */

@media (max-width:1199px){

    .tgh-evstory{
        padding:
            68px
            0
            53px;
    }

    .tgh-evstory__top{
        grid-template-columns:
            85px
            1fr
            260px;

        gap:28px;

        margin-bottom:30px;
    }

    .tgh-evstory__heading h2{
        font-size:62px;
    }

    .tgh-evstory__panorama{
        height:405px;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:82px;
    }

    .tgh-evstory__quote{
        width:210px;

        padding:
            22px
            20px
            20px;
    }

    .tgh-evstory__quote p{
        font-size:21px;
    }
}


/* ==========================================================
   <= 991px
========================================================== */

@media (max-width:991px){

    .tgh-evstory{
        padding:
            60px
            0
            48px;
    }

    .tgh-evstory__bg-no{
        font-size:130px;
    }

    .tgh-evstory__top{
        grid-template-columns:
            68px
            1fr
            220px;

        gap:20px;
    }

    .tgh-evstory__heading h2{
        font-size:52px;
    }

    .tgh-evstory__canvas{
        padding:
            0
            4%;
    }

    .tgh-evstory__panorama{
        height:370px;

        border-radius:
            0
            45px
            0
            45px;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:70px;
    }

    .tgh-evstory__statement strong{
        margin-left:60px;
    }

    .tgh-evstory__quote{
        right:2.5%;

        width:190px;
    }

    .tgh-evstory__quote p{
        font-size:19px;
    }

    .tgh-evstory__stamp{
        left:6.5%;
    }

    .tgh-evstory__vertical{
        display:none;
    }
}


/* ==========================================================
   <= 768px

   IMPORTANT:
   Still one continuous ribbon.
   We do NOT convert it into cards.
========================================================== */

@media (max-width:768px){

    .tgh-evstory{
        padding:
            53px
            0
            44px;
    }

    .tgh-evstory__top{
        grid-template-columns:
            52px
            1fr;

        gap:14px;

        margin-bottom:25px;
    }

    .tgh-evstory__intro{
        grid-column:2;

        max-width:370px;
    }

    .tgh-evstory__heading h2{
        font-size:46px;
    }

    .tgh-evstory__canvas{
        padding:
            0
            18px;
    }


    /* continuous panorama */

    .tgh-evstory__panorama{
        height:350px;

        border-radius:
            0
            38px
            0
            38px;
    }

    .tgh-evstory__scene--one{
        flex-grow:1.35;
    }

    .tgh-evstory__scene--two{
        flex-grow:.65;
    }

    .tgh-evstory__scene--three{
        flex-grow:.75;
    }

    .tgh-evstory__scene--four{
        flex-grow:.55;
    }


    /* hide some labels to prevent clutter */

    .tgh-evstory__scene--three
    figcaption span,

    .tgh-evstory__scene--four
    figcaption span{
        display:none;
    }

    .tgh-evstory__statement{
        left:42%;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:58px;
    }

    .tgh-evstory__statement strong{
        margin-left:42px;
    }


    /* quote becomes bottom overlay */

    .tgh-evstory__quote{
        top:auto;

        right:32px;
        bottom:-18px;

        width:180px;

        transform:none;

        padding:
            18px
            18px
            16px;
    }

    .tgh-evstory--visible
    .tgh-evstory__quote{
        transform:none;
    }

    .tgh-evstory__quote p{
        font-size:18px;
    }

    .tgh-evstory__stamp{
        top:17px;
        left:31px;
    }

    .tgh-evstory__stamp-ring{
        width:60px;
        height:60px;
    }

    .tgh-evstory__stamp-ring span{
        font-size:16px;
    }

    .tgh-evstory__bottom{
        margin-top:38px;
    }
}


/* ==========================================================
   <= 576px
========================================================== */

@media (max-width:576px){

    .tgh-evstory{
        padding:
            47px
            0
            40px;
    }

    .tgh-evstory__bg-no{
        top:10px;

        font-size:95px;
    }

    .tgh-evstory__index > span{
        font-size:25px;
    }

    .tgh-evstory__index i{
        height:28px;
    }

    .tgh-evstory__index small{
        display:none;
    }

    .tgh-evstory__eyebrow{
        font-size:5px;

        letter-spacing:1.6px;
    }

    .tgh-evstory__heading h2{
        font-size:39px;

        letter-spacing:-2px;
    }

    .tgh-evstory__intro{
        padding-left:13px;
    }

    .tgh-evstory__intro p{
        font-size:10px;
    }


    /* ribbon */

    .tgh-evstory__canvas{
        padding:
            0
            12px;
    }

    .tgh-evstory__panorama{
        height:305px;

        border-radius:
            0
            30px
            0
            30px;
    }


    /*
       On small screens:
       still 4 connected visual strips.
       NOT stacked cards.
    */

    .tgh-evstory__scene--one{
        flex-grow:1.5;
    }

    .tgh-evstory__scene--two{
        flex-grow:.58;
    }

    .tgh-evstory__scene--three{
        flex-grow:.58;
    }

    .tgh-evstory__scene--four{
        flex-grow:.48;
    }

    .tgh-evstory__scene figcaption{
        left:10px;
        bottom:10px;
    }

    .tgh-evstory__scene figcaption small{
        width:25px;
        height:25px;

        font-size:8px;
    }

    .tgh-evstory__scene figcaption span{
        display:none;
    }


    /* typography */

    .tgh-evstory__statement{
        left:39%;
        top:52%;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:45px;

        letter-spacing:-2px;
    }

    .tgh-evstory__statement strong{
        margin-left:31px;
    }


    /* stamp */

    .tgh-evstory__stamp{
        top:13px;
        left:24px;
    }

    .tgh-evstory__stamp-ring{
        width:50px;
        height:50px;
    }

    .tgh-evstory__stamp-ring span{
        font-size:14px;
    }

    .tgh-evstory__stamp-ring small{
        font-size:3px;
    }


    /* quote */

    .tgh-evstory__quote{
        right:21px;
        bottom:-24px;

        width:155px;

        padding:
            15px
            15px
            14px;
    }

    .tgh-evstory__quote-mark{
        font-size:55px;
    }

    .tgh-evstory__quote p{
        font-size:15px;
    }

    .tgh-evstory__quote-sign{
        margin-top:10px;
    }


    /* bottom */

    .tgh-evstory__bottom{
        grid-template-columns:
            auto
            1fr;

        gap:12px;

        margin-top:42px;
    }

    .tgh-evstory__bottom-copy{
        display:none;
    }
}


/* ==========================================================
   <= 480px
========================================================== */

@media (max-width:480px){

    .tgh-evstory{
        padding:
            43px
            0
            37px;
    }

    .tgh-evstory__heading h2{
        font-size:35px;
    }

    .tgh-evstory__panorama{
        height:280px;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:39px;
    }

    .tgh-evstory__statement strong{
        margin-left:24px;
    }

    .tgh-evstory__quote{
        width:145px;
    }

    .tgh-evstory__quote p{
        font-size:14px;
    }

    .tgh-evstory__stamp-ring{
        width:46px;
        height:46px;
    }
}


/* ==========================================================
   <= 360px
========================================================== */

@media (max-width:360px){

    .tgh-evstory{
        padding:
            39px
            0
            34px;
    }

    .tgh-evstory__top{
        grid-template-columns:
            38px
            1fr;
    }

    .tgh-evstory__heading h2{
        font-size:31px;
    }

    .tgh-evstory__intro{
        grid-column:1 / -1;

        width:88%;

        margin-left:auto;
    }

    .tgh-evstory__panorama{
        height:250px;
    }

    .tgh-evstory__scene--one{
        flex-grow:1.7;
    }

    .tgh-evstory__scene--two,
    .tgh-evstory__scene--three{
        flex-grow:.48;
    }

    .tgh-evstory__scene--four{
        flex-grow:.38;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:34px;
    }

    .tgh-evstory__quote{
        right:17px;

        width:132px;

        padding:
            13px;
    }

    .tgh-evstory__quote p{
        font-size:13px;
    }

    .tgh-evstory__stamp{
        display:none;
    }
}


/* ==========================================================
   <= 300px
========================================================== */

@media (max-width:300px){

    .tgh-evstory{
        padding:
            35px
            0
            31px;
    }

    .tgh-evstory__index{
        display:none;
    }

    .tgh-evstory__top{
        display:block;
    }

    .tgh-evstory__heading h2{
        font-size:28px;
    }

    .tgh-evstory__intro{
        width:92%;

        margin-top:12px;
    }

    .tgh-evstory__panorama{
        height:225px;
    }

    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{
        font-size:29px;
    }

    .tgh-evstory__quote{
        width:118px;
    }

    .tgh-evstory__quote p{
        font-size:11.5px;
    }

    .tgh-evstory__bottom-label small{
        font-size:4px;
    }
}


/* ==========================================================
   REDUCED MOTION
========================================================== */

@media (prefers-reduced-motion:reduce){

    .tgh-evstory__top,
    .tgh-evstory__panorama,
    .tgh-evstory__quote,
    .tgh-evstory__stamp,
    .tgh-evstory__bottom,
    .tgh-evstory__scene,
    .tgh-evstory__scene img{
        transition:none !important;
    }
}

/* ==========================================================
   TGH SECTION 03
   MOBILE CORRECTION — FINAL FINAL OVERRIDE
   ------------------------------------------
   PASTE THIS AT THE ABSOLUTE END OF YOUR CSS
   NO HTML CHANGE REQUIRED
   DESKTOP WILL NOT CHANGE
========================================================== */

@media (max-width: 768px){

    /* ======================================================
       SECTION
    ====================================================== */

    .tgh-evstory{
        padding:42px 0 46px !important;
        overflow:hidden !important;
    }


    /* ======================================================
       TOP CONTENT
    ====================================================== */

    .tgh-evstory__top{
        display:block !important;
        margin-bottom:24px !important;
    }


    /* 03 INDEX */

    .tgh-evstory__index{
        display:flex !important;
        align-items:center !important;
        gap:9px !important;

        margin:0 0 13px !important;
        padding:0 !important;
    }

    .tgh-evstory__index > span{
        font-size:22px !important;
        line-height:1 !important;
    }

    .tgh-evstory__index i{
        width:28px !important;
        height:1px !important;
    }

    .tgh-evstory__index small{
        display:none !important;
    }


    /* ======================================================
       HEADING
    ====================================================== */

    .tgh-evstory__heading{
        width:100% !important;
        padding:0 !important;
        margin:0 !important;
    }

    .tgh-evstory__eyebrow{
        display:block !important;

        margin-bottom:8px !important;

        font-size:5px !important;
        letter-spacing:1.7px !important;
    }

    .tgh-evstory__heading h2{
        width:100% !important;

        margin:0 !important;

        font-size:42px !important;
        line-height:.93 !important;
        letter-spacing:-2px !important;

        white-space:normal !important;
    }

    .tgh-evstory__heading h2 em{
        display:block !important;

        margin:
            2px
            0
            0
            25px !important;
    }


    /* ======================================================
       INTRO TEXT
    ====================================================== */

    .tgh-evstory__intro{
        width:86% !important;
        max-width:none !important;

        margin:
            19px
            0
            0
            auto !important;

        padding:
            0
            0
            0
            14px !important;

        border-left:
            1px solid rgba(0,59,38,.20) !important;
    }

    .tgh-evstory__intro > span{
        margin-bottom:6px !important;

        font-size:4px !important;
        letter-spacing:1.5px !important;
    }

    .tgh-evstory__intro p{
        max-width:310px !important;

        margin:0 !important;

        font-size:10.5px !important;
        line-height:1.6 !important;
    }


    /* ======================================================
       BACKGROUND NUMBER
    ====================================================== */

    .tgh-evstory__bg-no{
        top:20px !important;
        right:-12px !important;

        font-size:90px !important;

        opacity:.55 !important;
    }


    /* ======================================================
       CANVAS
    ====================================================== */

    .tgh-evstory__canvas{
        position:relative !important;

        width:100% !important;

        padding:
            0
            14px !important;
    }


    /* ======================================================
       PANORAMA
       
       MOBILE = 2 ROW EDITORIAL COMPOSITION

       ┌─────────────────────────┐
       │                         │
       │      MAIN IMAGE         │
       │      GOOD TIMES         │
       │                         │
       ├────────┬────────┬───────┤
       │ IMAGE2 │ IMAGE3 │ IMAGE4│
       └────────┴────────┴───────┘
    ====================================================== */

    .tgh-evstory__panorama{
        display:grid !important;

        grid-template-columns:
            repeat(3,1fr) !important;

        grid-template-rows:
            minmax(0,1fr)
            92px !important;

        width:100% !important;
        height:430px !important;

        overflow:hidden !important;

        background:#003b26 !important;

        border-radius:
            0
            34px
            0
            34px !important;

        box-shadow:
            0 20px 45px
            rgba(0,45,29,.15) !important;
    }


    /* inner luxury border */

    .tgh-evstory__panorama::before{
        inset:9px !important;

        z-index:30 !important;

        border:
            1px solid rgba(255,255,255,.22) !important;

        border-radius:
            0
            26px
            0
            26px !important;

        pointer-events:none !important;
    }


    .tgh-evstory__panorama::after{
        top:0 !important;
        left:14% !important;

        width:58px !important;
        height:2px !important;
    }


    /* ======================================================
       RESET OLD FLEX
    ====================================================== */

    .tgh-evstory__scene,
    .tgh-evstory__scene--one,
    .tgh-evstory__scene--two,
    .tgh-evstory__scene--three,
    .tgh-evstory__scene--four{

        flex:none !important;

        width:100% !important;
        min-width:0 !important;
        height:100% !important;

        margin:0 !important;

        transform:none !important;
        filter:none !important;
    }


    /* ======================================================
       MAIN IMAGE
    ====================================================== */

    .tgh-evstory__scene--one{
        grid-column:1 / 4 !important;
        grid-row:1 !important;

        position:relative !important;

        border-bottom:
            1px solid rgba(255,255,255,.28) !important;
    }


    /* ======================================================
       THREE BOTTOM MOMENTS
    ====================================================== */

    .tgh-evstory__scene--two{
        grid-column:1 !important;
        grid-row:2 !important;
    }

    .tgh-evstory__scene--three{
        grid-column:2 !important;
        grid-row:2 !important;
    }

    .tgh-evstory__scene--four{
        grid-column:3 !important;
        grid-row:2 !important;
    }


    .tgh-evstory__scene--two,
    .tgh-evstory__scene--three{

        border-right:
            1px solid rgba(255,255,255,.25) !important;
    }


    /* remove desktop divider */

    .tgh-evstory__scene:not(:last-child)::after{
        display:none !important;
    }


    /* ======================================================
       IMAGES
    ====================================================== */

    .tgh-evstory__scene img{
        position:absolute !important;
        inset:0 !important;

        display:block !important;

        width:100% !important;
        height:100% !important;

        object-fit:cover !important;

        transform:none !important;
    }


    .tgh-evstory__scene--one img{
        object-position:center 45% !important;
    }


    .tgh-evstory__scene--two img,
    .tgh-evstory__scene--three img,
    .tgh-evstory__scene--four img{

        object-position:center center !important;
    }


    /* ======================================================
       IMAGE OVERLAY
    ====================================================== */

    .tgh-evstory__scene--one
    .tgh-evstory__scene-overlay{

        background:
            linear-gradient(
                180deg,
                rgba(0,30,20,.03) 15%,
                rgba(0,30,20,.08) 50%,
                rgba(0,30,20,.58) 100%
            ) !important;
    }


    .tgh-evstory__scene--two
    .tgh-evstory__scene-overlay,

    .tgh-evstory__scene--three
    .tgh-evstory__scene-overlay,

    .tgh-evstory__scene--four
    .tgh-evstory__scene-overlay{

        background:
            linear-gradient(
                180deg,
                rgba(0,30,20,.04),
                rgba(0,30,20,.38)
            ) !important;
    }


    /* ======================================================
       GOOD TIMES
    ====================================================== */

    .tgh-evstory__statement{
        position:absolute !important;

        left:35px !important;
        top:43% !important;

        z-index:20 !important;

        width:auto !important;

        transform:
            translateY(-50%) !important;

        text-align:left !important;
    }


    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{

        display:block !important;

        font-size:48px !important;
        line-height:.68 !important;
        letter-spacing:-2.8px !important;
    }


    .tgh-evstory__statement span{
        color:transparent !important;

        -webkit-text-stroke:
            1px rgba(255,255,255,.72) !important;
    }


    .tgh-evstory__statement strong{
        margin:
            0
            0
            0
            20px !important;

        color:#fff !important;

        -webkit-text-stroke:0 !important;

        text-shadow:
            0 7px 25px
            rgba(0,0,0,.16) !important;
    }


    /* ======================================================
       STAMP
    ====================================================== */

    .tgh-evstory__stamp{
        display:block !important;

        top:17px !important;
        left:28px !important;

        z-index:25 !important;
    }


    .tgh-evstory__stamp-ring{
        width:54px !important;
        height:54px !important;
    }


    .tgh-evstory__stamp-ring span{
        font-size:15px !important;
    }


    .tgh-evstory__stamp-ring small{
        font-size:3px !important;
        letter-spacing:.8px !important;
    }


    /* ======================================================
       MAIN IMAGE CAPTION
    ====================================================== */

    .tgh-evstory__scene figcaption{
        position:absolute !important;

        left:10px !important;
        bottom:9px !important;

        z-index:12 !important;

        display:flex !important;
        align-items:center !important;

        gap:6px !important;

        transform:none !important;
    }


    .tgh-evstory__scene figcaption small{
        display:flex !important;

        width:23px !important;
        height:23px !important;

        flex:
            0
            0
            23px !important;

        align-items:center !important;
        justify-content:center !important;

        font-size:7px !important;

        background:
            rgba(0,55,36,.32) !important;

        backdrop-filter:blur(4px);
        -webkit-backdrop-filter:blur(4px);
    }


    .tgh-evstory__scene figcaption span{
        display:none !important;
    }


    /* main photo text visible */

    .tgh-evstory__scene--one figcaption{
        left:14px !important;
        bottom:13px !important;
    }


    .tgh-evstory__scene--one
    figcaption span{

        display:block !important;

        font-size:4px !important;
        letter-spacing:1.2px !important;
    }


    /* ======================================================
       QUOTE

       FLOATS ACROSS MAIN + BOTTOM STRIP
    ====================================================== */

    .tgh-evstory__quote{
        position:absolute !important;

        top:auto !important;

        right:25px !important;
        bottom:62px !important;

        z-index:35 !important;

        width:158px !important;

        padding:
            15px
            15px
            13px !important;

        transform:none !important;

        background:
            rgba(248,241,230,.97) !important;

        border-top:
            2px solid #b58143 !important;

        box-shadow:
            0 14px 32px
            rgba(0,40,26,.18) !important;
    }


    .tgh-evstory--visible
    .tgh-evstory__quote{

        transform:none !important;
    }


    .tgh-evstory__quote::before{
        width:28px !important;
        height:28px !important;
    }


    .tgh-evstory__quote-mark{
        top:-1px !important;
        right:9px !important;

        font-size:47px !important;
    }


    .tgh-evstory__quote p{
        margin:0 !important;

        font-size:15px !important;
        line-height:1.02 !important;
    }


    .tgh-evstory__quote p em{
        margin-top:2px !important;
    }


    .tgh-evstory__quote-sign{
        margin-top:10px !important;
    }


    .tgh-evstory__quote-sign span{
        font-size:3px !important;
        letter-spacing:1px !important;
    }


    /* ======================================================
       VERTICAL DESKTOP LABEL
    ====================================================== */

    .tgh-evstory__vertical{
        display:none !important;
    }


    /* ======================================================
       BOTTOM LINE
    ====================================================== */

    .tgh-evstory__bottom{
        display:flex !important;

        align-items:center !important;

        gap:12px !important;

        margin-top:20px !important;
    }


    .tgh-evstory__bottom-label{
        flex:0 0 auto !important;
    }


    .tgh-evstory__bottom-label small{
        font-size:4px !important;
        letter-spacing:1px !important;
    }


    .tgh-evstory__live-dot{
        width:6px !important;
        height:6px !important;
    }


    .tgh-evstory__bottom-track{
        flex:1 !important;
        min-width:20px !important;
    }


    .tgh-evstory__bottom-copy{
        display:none !important;
    }

}


/* ==========================================================
   MOBILE — 576
========================================================== */

@media (max-width:576px){

    .tgh-evstory{
        padding:
            38px
            0
            42px !important;
    }


    .tgh-evstory__heading h2{
        font-size:37px !important;
    }


    .tgh-evstory__heading h2 em{
        margin-left:22px !important;
    }


    .tgh-evstory__intro{
        width:88% !important;
    }


    .tgh-evstory__canvas{
        padding:
            0
            12px !important;
    }


    .tgh-evstory__panorama{
        height:400px !important;

        grid-template-rows:
            minmax(0,1fr)
            82px !important;
    }


    .tgh-evstory__statement{
        left:26px !important;
        top:42% !important;
    }


    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{

        font-size:42px !important;
    }


    .tgh-evstory__statement strong{
        margin-left:17px !important;
    }


    .tgh-evstory__quote{
        right:20px !important;
        bottom:55px !important;

        width:145px !important;

        padding:
            13px
            13px
            12px !important;
    }


    .tgh-evstory__quote p{
        font-size:13.5px !important;
    }


    .tgh-evstory__stamp{
        top:14px !important;
        left:23px !important;
    }


    .tgh-evstory__stamp-ring{
        width:48px !important;
        height:48px !important;
    }

}


/* ==========================================================
   MOBILE — 480
========================================================== */

@media (max-width:480px){

    .tgh-evstory__heading h2{
        font-size:34px !important;
    }


    .tgh-evstory__intro p{
        font-size:10px !important;
    }


    .tgh-evstory__panorama{
        height:380px !important;

        grid-template-rows:
            minmax(0,1fr)
            78px !important;
    }


    .tgh-evstory__statement{
        left:23px !important;
    }


    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{

        font-size:39px !important;
    }


    .tgh-evstory__quote{
        right:18px !important;
        bottom:51px !important;

        width:136px !important;
    }


    .tgh-evstory__quote p{
        font-size:12.5px !important;
    }

}


/* ==========================================================
   MOBILE — 360
========================================================== */

@media (max-width:360px){

    .tgh-evstory__heading h2{
        font-size:30px !important;
    }


    .tgh-evstory__heading h2 em{
        margin-left:17px !important;
    }


    .tgh-evstory__intro{
        width:92% !important;
    }


    .tgh-evstory__panorama{
        height:350px !important;

        grid-template-rows:
            minmax(0,1fr)
            70px !important;
    }


    .tgh-evstory__statement{
        left:20px !important;
        top:43% !important;
    }


    .tgh-evstory__statement span,
    .tgh-evstory__statement strong{

        font-size:34px !important;
    }


    .tgh-evstory__quote{
        right:16px !important;
        bottom:46px !important;

        width:124px !important;

        padding:
            11px !important;
    }


    .tgh-evstory__quote p{
        font-size:11.5px !important;
    }


    .tgh-evstory__stamp{
        display:block !important;
    }


    .tgh-evstory__stamp-ring{
        width:43px !important;
        height:43px !important;
    }

}

/* MOBILE — CENTER SECTION 03 TOP CONTENT ONLY */
@media (max-width: 768px){

    .tgh-evstory__top{
        text-align:center !important;
    }

    .tgh-evstory__index{
        justify-content:center !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    .tgh-evstory__heading{
        text-align:center !important;
    }

    .tgh-evstory__heading h2{
        text-align:center !important;
    }

    .tgh-evstory__heading h2 em{
        margin-left:0 !important;
    }

    .tgh-evstory__eyebrow{
        text-align:center !important;
    }

}

/* Blogs Page Banner Section */
.blogs-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.blogs-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.blogs-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.blogs-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.blogs-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.blogs-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.blogs-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.blogs-breadcrumb a:hover{
    color: #fff;
}

.blogs-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.blogs-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .blogs-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .blogs-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .blogs-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .blogs-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .blogs-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .blogs-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .blogs-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .blogs-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .blogs-banner-content h1{
        font-size: 36px;
    }

    .blogs-breadcrumb{
        font-size: 10px;
    }
}

/* Blogs Page First Section */
.tgh-blogvault{
    --blog-green:#003b26;
    --blog-green-dark:#00291b;
    --blog-cream:#f7f0e5;
    --blog-paper:#fffaf3;
    --blog-gold:#b58a52;
    --blog-gold-dark:#946936;
    --blog-text:#173b2e;
    --blog-line:rgba(0,59,38,.14);

    position:relative;
    isolation:isolate;
    overflow:hidden;

    padding:90px 0 52px;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(181,138,82,.10),
            transparent 27%
        ),
        linear-gradient(
            180deg,
            #f8f2e9 0%,
            #f5ede1 100%
        );

    color:var(--blog-green);
}


/* giant background typography */

.tgh-blogvault::before{
    content:"JOURNAL";

    position:absolute;
    top:105px;
    right:-30px;
    z-index:-1;

    font-family:"Playfair Display",serif;
    font-size:clamp(110px,15vw,220px);
    font-weight:700;
    line-height:.75;
    letter-spacing:-.07em;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.055);

    pointer-events:none;
}


/* decorative circle */

.tgh-blogvault::after{
    content:"";

    position:absolute;
    left:-150px;
    top:44%;

    width:310px;
    height:310px;

    border:
        1px solid rgba(181,138,82,.14);

    border-radius:50%;

    z-index:-1;
    pointer-events:none;
}

.tgh-blogvault .container{
    position:relative;
    z-index:2;
}


/* =========================================================
   INTRO
========================================================= */

.tgh-blogvault__intro{
    display:grid;

    grid-template-columns:
        minmax(0,1.2fr)
        minmax(270px,.48fr);

    gap:75px;
    align-items:end;

    padding-bottom:43px;

    border-bottom:
        1px solid var(--blog-line);
}


.tgh-blogvault__eyebrow{
    display:flex;
    align-items:center;
    gap:13px;

    margin-bottom:17px;

    font-size:10px;
    font-weight:800;
    letter-spacing:.24em;
    text-transform:uppercase;

    color:var(--blog-gold-dark);
}


.tgh-blogvault__eyebrow span{
    display:block;

    width:42px;
    height:1px;

    background:var(--blog-gold);
}


.tgh-blogvault__intro h1{
    max-width:760px;
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:
        clamp(55px,6vw,87px);

    font-weight:500;
    line-height:.88;
    letter-spacing:-.055em;

    color:var(--blog-green);
}


.tgh-blogvault__intro h1 em{
    display:block;

    margin-left:11%;

    font-weight:500;
    color:var(--blog-gold-dark);
}


.tgh-blogvault__intro-right{
    padding:
        5px 0 5px 25px;

    border-left:
        1px solid rgba(181,138,82,.55);
}


.tgh-blogvault__index{
    display:block;

    margin-bottom:15px;

    font-family:"Playfair Display",serif;
    font-size:15px;
    font-weight:700;

    color:var(--blog-gold);
}


.tgh-blogvault__intro-right p{
    max-width:340px;

    margin:0;

    font-size:13.5px;
    line-height:1.8;

    color:rgba(23,59,46,.72);
}


/* =========================================================
   CATEGORY NAVIGATION
========================================================= */

.tgh-blogvault__category-shell{
    display:grid;

    grid-template-columns:
        165px minmax(0,1fr);

    margin:
        40px 0 50px;

    border-top:
        1px solid rgba(0,59,38,.17);

    border-bottom:
        1px solid rgba(0,59,38,.17);
}


.tgh-blogvault__category-label{
    display:flex;
    flex-direction:column;
    justify-content:center;

    padding:
        21px 24px 21px 0;

    border-right:
        1px solid rgba(0,59,38,.17);
}


.tgh-blogvault__category-label small{
    margin-bottom:4px;

    font-size:8px;
    font-weight:800;
    letter-spacing:.22em;

    color:var(--blog-gold-dark);
}


.tgh-blogvault__category-label strong{
    font-family:"Playfair Display",serif;

    font-size:23px;
    font-weight:500;

    color:var(--blog-green);
}


/* category grid */

.tgh-blogvault__categories{
    display:grid;
    grid-template-columns:repeat(4,1fr);
}


/* category item */

.tgh-blogvault__category{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    display:grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:center;
    gap:10px;

    min-height:90px;

    padding:17px 16px;

    border:0;

    border-right:
        1px solid rgba(0,59,38,.12);

    background:transparent;

    color:var(--blog-green);

    text-align:left;
    cursor:pointer;

    transition:
        color .4s ease;
}


.tgh-blogvault__category:last-child{
    border-right:0;
}


/* fill animation */

.tgh-blogvault__category::before{
    content:"";

    position:absolute;
    inset:auto 0 0;

    height:0;

    background:var(--blog-green);

    z-index:-1;

    transition:
        height .45s
        cubic-bezier(.22,1,.36,1);
}


/* top active gold line */

.tgh-blogvault__category::after{
    content:"";

    position:absolute;
    top:0;
    left:50%;

    width:0;
    height:3px;

    transform:translateX(-50%);

    background:var(--blog-gold);

    transition:width .4s ease;
}


.tgh-blogvault__category:hover::before,
.tgh-blogvault__category.is-active::before{
    height:100%;
}


.tgh-blogvault__category:hover::after,
.tgh-blogvault__category.is-active::after{
    width:100%;
}


.tgh-blogvault__category:hover,
.tgh-blogvault__category.is-active{
    color:#fff;
}


.tgh-blogvault__category-number{
    align-self:start;

    font-family:"Playfair Display",serif;

    font-size:10px;

    color:var(--blog-gold-dark);

    transition:color .35s ease;
}


.tgh-blogvault__category:hover
.tgh-blogvault__category-number,

.tgh-blogvault__category.is-active
.tgh-blogvault__category-number{
    color:#e0bf8b;
}


.tgh-blogvault__category-name{
    font-family:"Playfair Display",serif;

    font-size:16px;
    font-weight:600;
    line-height:1.12;
}


.tgh-blogvault__category i{
    font-size:10px;

    transform:rotate(-45deg);

    transition:
        transform .4s ease,
        color .4s ease;
}


.tgh-blogvault__category:hover i,
.tgh-blogvault__category.is-active i{
    transform:rotate(0deg);
    color:#e0bf8b;
}


/* =========================================================
   CATEGORY PANELS
========================================================= */

.tgh-blogvault__panel{
    display:none;
}


.tgh-blogvault__panel.is-active{
    display:block;

    animation:
        tghBlogPanelIn .5s
        cubic-bezier(.22,1,.36,1)
        both;
}


@keyframes tghBlogPanelIn{

    from{
        opacity:0;
        transform:translateY(15px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}


/* =========================================================
   ACTIVE CATEGORY HEADING
========================================================= */

.tgh-blogvault__category-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;

    gap:25px;

    margin-bottom:26px;
}


.tgh-blogvault__category-head-left{
    display:flex;
    align-items:center;
    gap:17px;
}


.tgh-blogvault__active-number{
    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 47px;

    width:47px;
    height:47px;

    border:
        1px solid rgba(181,138,82,.65);

    border-radius:50%;

    font-family:"Playfair Display",serif;
    font-size:13px;

    color:var(--blog-gold-dark);
}


.tgh-blogvault__category-head-left small{
    display:block;

    margin-bottom:4px;

    font-size:8px;
    font-weight:800;
    letter-spacing:.22em;

    color:rgba(23,59,46,.48);
}


.tgh-blogvault__category-head-left h2{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:
        clamp(30px,3vw,41px);

    font-weight:500;
    line-height:1;

    color:var(--blog-green);
}


.tgh-blogvault__category-head-right{
    display:flex;
    align-items:center;
    gap:14px;
}


.tgh-blogvault__category-head-right span{
    font-size:8px;
    font-weight:800;
    letter-spacing:.19em;

    white-space:nowrap;

    color:var(--blog-gold-dark);
}


.tgh-blogvault__head-line{
    width:70px;
    height:1px;

    background:
        rgba(181,138,82,.55);
}


/* =========================================================
   BLOG GRID
   3 CARDS PER ROW
========================================================= */

.tgh-blogvault__grid{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:27px;

    align-items:stretch;
}


/* =========================================================
   BLOG CARD
========================================================= */

.tgh-blogvault__card{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    display:flex;
    flex-direction:column;

    min-width:0;
    height:100%;

    background:
        var(--blog-paper);

    border:
        1px solid rgba(0,59,38,.11);

    box-shadow:
        0 13px 35px
        rgba(0,43,28,.05);

    transition:
        transform .5s
        cubic-bezier(.22,1,.36,1),
        box-shadow .5s ease,
        border-color .4s ease;
}


/* gold corner */

.tgh-blogvault__card::after{
    content:"";

    position:absolute;
    right:0;
    bottom:0;

    width:35px;
    height:35px;

    border-right:
        2px solid var(--blog-gold);

    border-bottom:
        2px solid var(--blog-gold);

    opacity:.42;

    pointer-events:none;

    transition:
        width .45s ease,
        height .45s ease,
        opacity .45s ease;
}


.tgh-blogvault__card:hover{
    transform:translateY(-10px);

    border-color:
        rgba(181,138,82,.55);

    box-shadow:
        0 27px 55px
        rgba(0,43,28,.13);
}


.tgh-blogvault__card:hover::after{
    width:65px;
    height:65px;
    opacity:1;
}


/* =========================================================
   CARD IMAGE
========================================================= */

.tgh-blogvault__card-image{
    position:relative;
    overflow:hidden;

    display:block;

    height:235px;

    flex-shrink:0;

    background:var(--blog-green-dark);

    text-decoration:none;
}


/* inner premium frame */

.tgh-blogvault__card-image::before{
    content:"";

    position:absolute;
    inset:14px;

    border:
        1px solid transparent;

    z-index:4;

    pointer-events:none;

    transition:
        inset .45s ease,
        border-color .45s ease;
}


.tgh-blogvault__card:hover
.tgh-blogvault__card-image::before{
    inset:10px;

    border-color:
        rgba(255,255,255,.42);
}


.tgh-blogvault__card-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.002);

    transition:
        transform .8s
        cubic-bezier(.22,1,.36,1),
        filter .6s ease;
}


.tgh-blogvault__card:hover
.tgh-blogvault__card-image img{
    transform:scale(1.075);

    filter:
        contrast(1.03)
        saturate(1.04);
}


/* image gradient */

.tgh-blogvault__card-image-shade{
    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            180deg,
            rgba(0,43,28,.03) 15%,
            rgba(0,43,28,.10) 45%,
            rgba(0,43,28,.55) 100%
        );
}


/* category badge */

.tgh-blogvault__card-category{
    position:absolute;

    left:17px;
    bottom:16px;

    z-index:5;

    padding:8px 11px;

    background:
        rgba(255,250,243,.94);

    backdrop-filter:blur(6px);

    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--blog-green);
}


/* editorial number */

.tgh-blogvault__card-index{
    position:absolute;

    right:15px;
    bottom:7px;

    z-index:2;

    font-family:"Playfair Display",serif;

    font-size:52px;
    font-weight:600;
    line-height:1;

    color:
        rgba(255,255,255,.20);
}


/* top right icon */

.tgh-blogvault__card-corner{
    position:absolute;

    top:0;
    right:0;

    z-index:6;

    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    background:var(--blog-green);

    color:#fff;

    font-size:10px;

    transform:
        translate(7px,-7px);

    transition:
        transform .4s
        cubic-bezier(.22,1,.36,1),
        background .35s ease;
}


.tgh-blogvault__card:hover
.tgh-blogvault__card-corner{
    transform:translate(0,0);

    background:
        var(--blog-gold-dark);
}


/* =========================================================
   CARD CONTENT
========================================================= */

.tgh-blogvault__card-body{
    display:flex;
    flex-direction:column;

    flex:1;

    padding:
        22px 22px 19px;
}


/* metadata */

.tgh-blogvault__card-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:7px;

    margin-bottom:14px;

    font-size:8.5px;
    font-weight:600;
    letter-spacing:.035em;

    color:
        rgba(23,59,46,.58);
}


.tgh-blogvault__card-meta span{
    display:flex;
    align-items:center;
    gap:5px;
}


.tgh-blogvault__card-meta i{
    font-size:8px;

    color:var(--blog-gold-dark);
}


.tgh-blogvault__card-meta
.tgh-blogvault__card-meta-dot{
    display:block;

    width:3px;
    height:3px;

    padding:0;

    border-radius:50%;

    background:var(--blog-gold);
}


/* title */

.tgh-blogvault__card h3{
    margin:
        0 0 11px;

    font-family:
        "Playfair Display",serif;

    font-size:23px;
    font-weight:600;
    line-height:1.14;
    letter-spacing:-.025em;
}


.tgh-blogvault__card h3 a{
    color:var(--blog-green);

    text-decoration:none;

    transition:color .35s ease;
}


.tgh-blogvault__card:hover h3 a{
    color:var(--blog-gold-dark);
}


/* description */

.tgh-blogvault__card-body > p{
    margin:
        0 0 21px;

    font-size:12.5px;
    line-height:1.7;

    color:
        rgba(23,59,46,.68);
}


/* =========================================================
   CARD FOOTER
   READ MORE ALWAYS BOTTOM
========================================================= */

.tgh-blogvault__card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-top:auto;

    padding-top:15px;

    border-top:
        1px solid rgba(0,59,38,.10);
}


.tgh-blogvault__readmore{
    position:relative;

    display:inline-flex;
    align-items:center;

    gap:11px;

    padding:
        9px 0;

    font-size:9px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;

    color:var(--blog-green);

    text-decoration:none;
}


/* underline */

.tgh-blogvault__readmore::after{
    content:"";

    position:absolute;

    left:0;
    bottom:4px;

    width:21px;
    height:1px;

    background:var(--blog-gold);

    transition:
        width .4s
        cubic-bezier(.22,1,.36,1);
}


.tgh-blogvault__readmore:hover::after{
    width:100%;
}


/* arrow circle */

.tgh-blogvault__readmore i{
    display:flex;
    align-items:center;
    justify-content:center;

    width:28px;
    height:28px;

    border:
        1px solid rgba(0,59,38,.24);

    border-radius:50%;

    font-size:8px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease,
        border-color .4s ease;
}


.tgh-blogvault__readmore:hover i{
    transform:translateX(4px);

    background:var(--blog-green);

    border-color:var(--blog-green);

    color:#fff;
}


.tgh-blogvault__card-mark{
    font-family:
        "Playfair Display",serif;

    font-size:9px;
    font-weight:700;
    letter-spacing:.15em;

    color:
        rgba(181,138,82,.82);
}


/* =========================================================
   PAGINATION
========================================================= */

.tgh-blogvault__pagination-wrap{
    display:grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items:center;

    gap:24px;

    margin-top:48px;
}


.tgh-blogvault__pagination-line{
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(0,59,38,.21)
        );
}


.tgh-blogvault__pagination-line:last-child{
    background:
        linear-gradient(
            90deg,
            rgba(0,59,38,.21),
            transparent
        );
}


.tgh-blogvault__pagination{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:6px;
}


.tgh-blogvault__page-numbers{
    display:flex;
    align-items:center;
    gap:6px;
}


.tgh-blogvault__page-nav,
.tgh-blogvault__page-number{
    border:0;

    background:transparent;

    color:var(--blog-green);

    cursor:pointer;

    transition:
        color .35s ease,
        background .35s ease,
        border-color .35s ease,
        transform .35s ease;
}


/* prev next */

.tgh-blogvault__page-nav{
    display:flex;
    align-items:center;

    gap:8px;

    padding:9px 12px;

    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}


.tgh-blogvault__page-nav i{
    font-size:8px;
}


.tgh-blogvault__page-nav:not(:disabled):hover{
    color:var(--blog-gold-dark);

    transform:translateY(-2px);
}


.tgh-blogvault__page-nav:disabled{
    opacity:.27;
    cursor:not-allowed;
}


/* page number */

.tgh-blogvault__page-number{
    display:flex;
    align-items:center;
    justify-content:center;

    width:39px;
    height:39px;

    border:
        1px solid rgba(0,59,38,.17);

    border-radius:50%;

    font-family:
        "Playfair Display",serif;

    font-size:11px;
}


.tgh-blogvault__page-number:hover{
    transform:translateY(-2px);

    border-color:var(--blog-gold);

    color:var(--blog-gold-dark);
}


.tgh-blogvault__page-number.is-active{
    background:var(--blog-green);

    border-color:var(--blog-green);

    color:#fff;

    box-shadow:
        0 8px 18px
        rgba(0,59,38,.16);
}


/* =========================================================
   BOTTOM SIGNATURE
========================================================= */

.tgh-blogvault__signature{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;

    gap:14px;

    margin-top:43px;

    padding-top:20px;

    border-top:
        1px solid rgba(0,59,38,.09);

    font-size:7px;
    font-weight:800;
    letter-spacing:.22em;

    color:
        rgba(23,59,46,.44);
}


.tgh-blogvault__signature i{
    display:block;

    width:3px;
    height:3px;

    border-radius:50%;

    background:var(--blog-gold);
}


.tgh-blogvault__signature strong{
    display:flex;
    align-items:center;
    justify-content:center;

    width:40px;
    height:40px;

    border:
        1px solid rgba(181,138,82,.52);

    border-radius:50%;

    font-family:
        "Playfair Display",serif;

    font-size:9px;
    letter-spacing:.08em;

    color:var(--blog-gold-dark);
}


/* =========================================================
   TABLET — 1199px
========================================================= */

@media (max-width:1199px){

    .tgh-blogvault{
        padding-top:78px;
    }

    .tgh-blogvault__intro{
        grid-template-columns:
            minmax(0,1fr) 300px;

        gap:50px;
    }

    .tgh-blogvault__category-shell{
        grid-template-columns:
            145px minmax(0,1fr);
    }

    .tgh-blogvault__category{
        padding:
            15px 12px;
    }

    .tgh-blogvault__category-name{
        font-size:14px;
    }

    .tgh-blogvault__grid{
        gap:21px;
    }

    .tgh-blogvault__card-image{
        height:220px;
    }

    .tgh-blogvault__card h3{
        font-size:21px;
    }

}


/* =========================================================
   TABLET — 991px
========================================================= */

@media (max-width:991px){

    .tgh-blogvault{
        padding:
            68px 0 45px;
    }


    .tgh-blogvault__intro{
        grid-template-columns:
            1fr 265px;

        gap:34px;
    }


    .tgh-blogvault__intro h1{
        font-size:57px;
    }


    /* categories */

    .tgh-blogvault__category-shell{
        display:block;

        margin:
            35px 0 43px;
    }


    .tgh-blogvault__category-label{
        flex-direction:row;
        align-items:center;
        justify-content:space-between;

        padding:
            13px 0;

        border-right:0;

        border-bottom:
            1px solid rgba(0,59,38,.15);
    }


    .tgh-blogvault__category-label small{
        margin:0;
    }


    .tgh-blogvault__category-label strong{
        font-size:20px;
    }


    .tgh-blogvault__category{
        min-height:78px;
    }


    /* 2 cards tablet */

    .tgh-blogvault__grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:23px;
    }


    .tgh-blogvault__card-image{
        height:245px;
    }

}


/* =========================================================
   MOBILE — 768px
========================================================= */

@media (max-width:768px){

    .tgh-blogvault{
        padding:
            52px 0 36px;
    }


    .tgh-blogvault::before{
        top:80px;
        right:-10px;

        font-size:105px;
    }


    .tgh-blogvault::after{
        display:none;
    }


    /* -----------------------------------------
       INTRO CENTERED
    ----------------------------------------- */

    .tgh-blogvault__intro{
        display:block;

        padding-bottom:27px;

        text-align:center;
    }


    .tgh-blogvault__eyebrow{
        justify-content:center;

        margin-bottom:13px;
    }


    .tgh-blogvault__eyebrow span{
        width:28px;
    }


    .tgh-blogvault__intro h1{
        max-width:520px;

        margin-inline:auto;

        font-size:
            clamp(43px,12vw,60px);

        line-height:.91;
    }


    .tgh-blogvault__intro h1 em{
        margin-left:0;
    }


    .tgh-blogvault__intro-right{
        max-width:380px;

        margin:
            23px auto 0;

        padding:
            17px 0 0;

        border-left:0;

        border-top:
            1px solid rgba(181,138,82,.48);
    }


    .tgh-blogvault__index{
        margin-bottom:7px;
    }


    .tgh-blogvault__intro-right p{
        max-width:350px;

        margin-inline:auto;
    }


    /* -----------------------------------------
       CATEGORY 2 x 2
    ----------------------------------------- */

    .tgh-blogvault__category-shell{
        margin:
            29px 0 36px;
    }


    .tgh-blogvault__category-label{
        padding:
            11px 2px;
    }


    .tgh-blogvault__categories{
        grid-template-columns:
            repeat(2,1fr);
    }


    .tgh-blogvault__category{
        min-height:70px;

        padding:
            12px 11px;

        border-bottom:
            1px solid rgba(0,59,38,.12);
    }


    .tgh-blogvault__category:nth-child(2){
        border-right:0;
    }


    .tgh-blogvault__category:nth-child(3),
    .tgh-blogvault__category:nth-child(4){
        border-bottom:0;
    }


    .tgh-blogvault__category-name{
        font-size:14px;
    }


    /* -----------------------------------------
       CATEGORY HEADING
    ----------------------------------------- */

    .tgh-blogvault__category-head{
        align-items:center;

        margin-bottom:21px;
    }


    .tgh-blogvault__category-head-left{
        gap:12px;
    }


    .tgh-blogvault__active-number{
        flex-basis:42px;

        width:42px;
        height:42px;
    }


    .tgh-blogvault__category-head-left h2{
        font-size:28px;
    }


    .tgh-blogvault__head-line{
        display:none;
    }


    /* -----------------------------------------
       CARDS
    ----------------------------------------- */

    .tgh-blogvault__grid{
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:17px;
    }


    .tgh-blogvault__card-image{
        height:205px;
    }


    .tgh-blogvault__card-body{
        padding:
            18px 17px 16px;
    }


    .tgh-blogvault__card h3{
        font-size:19px;
    }


    .tgh-blogvault__card-body > p{
        font-size:12px;
    }


    /* -----------------------------------------
       PAGINATION
    ----------------------------------------- */

    .tgh-blogvault__pagination-wrap{
        grid-template-columns:1fr;

        gap:13px;

        margin-top:37px;
    }


    .tgh-blogvault__pagination-line{
        width:100%;
    }

}


/* =========================================================
   PHONE — 576px
========================================================= */

@media (max-width:576px){

    .tgh-blogvault{
        padding:
            45px 0 31px;
    }


    .tgh-blogvault__eyebrow{
        font-size:9px;
        letter-spacing:.18em;
    }


    .tgh-blogvault__intro h1{
        font-size:45px;
    }


    .tgh-blogvault__intro-right p{
        font-size:12.5px;
        line-height:1.7;
    }


    /* -----------------------------------------
       CATEGORY
    ----------------------------------------- */

    .tgh-blogvault__category{
        grid-template-columns:
            auto 1fr;

        min-height:65px;
    }


    .tgh-blogvault__category i{
        display:none;
    }


    .tgh-blogvault__category-name{
        font-size:13px;
    }


    /* -----------------------------------------
       CATEGORY HEADING
    ----------------------------------------- */

    .tgh-blogvault__category-head{
        gap:10px;
    }


    .tgh-blogvault__active-number{
        flex-basis:37px;

        width:37px;
        height:37px;

        font-size:10px;
    }


    .tgh-blogvault__category-head-left h2{
        font-size:24px;
    }


    .tgh-blogvault__category-head-right span{
        font-size:7px;
        letter-spacing:.11em;
    }


    /* -----------------------------------------
       ONE CARD PER ROW
    ----------------------------------------- */

    .tgh-blogvault__grid{
        grid-template-columns:1fr;

        gap:21px;
    }


    .tgh-blogvault__card{
        width:100%;
        max-width:460px;

        margin-inline:auto;
    }


    .tgh-blogvault__card-image{
        height:250px;
    }


    .tgh-blogvault__card-body{
        padding:
            20px 19px 17px;
    }


    .tgh-blogvault__card h3{
        font-size:22px;
    }


    .tgh-blogvault__card-body > p{
        font-size:12.5px;
        line-height:1.68;
    }


    /* no big lift on touch-size screen */

    .tgh-blogvault__card:hover{
        transform:translateY(-5px);
    }


    /* pagination */

    .tgh-blogvault__pagination{
        gap:3px;
    }


    .tgh-blogvault__page-nav{
        padding:
            8px 7px;
    }


    .tgh-blogvault__page-number{
        width:35px;
        height:35px;
    }


    .tgh-blogvault__signature{
        gap:8px;

        margin-top:32px;
    }

}


/* =========================================================
   SMALL PHONE — 480px
========================================================= */

@media (max-width:480px){

    .tgh-blogvault__intro h1{
        font-size:41px;
    }


    .tgh-blogvault__category-label strong{
        font-size:18px;
    }


    .tgh-blogvault__category{
        padding:
            11px 8px;
    }


    .tgh-blogvault__category-number{
        font-size:8px;
    }


    .tgh-blogvault__category-name{
        font-size:12px;
    }


    /* category title wraps safely */

    .tgh-blogvault__category-head{
        display:block;
    }


    .tgh-blogvault__category-head-left{
        margin-bottom:10px;
    }


    .tgh-blogvault__category-head-right{
        padding-left:49px;
    }


    .tgh-blogvault__card-image{
        height:230px;
    }


    .tgh-blogvault__card-index{
        font-size:45px;
    }


    .tgh-blogvault__card h3{
        font-size:21px;
    }


    .tgh-blogvault__pagination-wrap{
        margin-top:32px;
    }

}


/* =========================================================
   EXTRA SMALL — 360px
========================================================= */

@media (max-width:360px){

    .tgh-blogvault{
        padding-top:39px;
    }


    .tgh-blogvault__intro h1{
        font-size:36px;
    }


    /* categories vertical */

    .tgh-blogvault__categories{
        grid-template-columns:1fr;
    }


    .tgh-blogvault__category{
        grid-template-columns:
            27px 1fr auto;

        border-right:0 !important;

        border-bottom:
            1px solid rgba(0,59,38,.12)
            !important;
    }


    .tgh-blogvault__category:last-child{
        border-bottom:0 !important;
    }


    .tgh-blogvault__category i{
        display:block;
    }


    .tgh-blogvault__category-name{
        font-size:14px;
    }


    .tgh-blogvault__card-image{
        height:210px;
    }


    .tgh-blogvault__card-body{
        padding:
            17px 16px 15px;
    }


    .tgh-blogvault__card h3{
        font-size:19px;
    }


    .tgh-blogvault__card-meta{
        gap:5px;

        font-size:7.5px;
    }


    /* pagination compact */

    .tgh-blogvault__page-nav span{
        display:none;
    }


    .tgh-blogvault__page-nav{
        width:33px;
        height:33px;

        padding:0;

        justify-content:center;
    }


    .tgh-blogvault__page-number{
        width:33px;
        height:33px;
    }


    .tgh-blogvault__signature{
        font-size:6px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .tgh-blogvault *,
    .tgh-blogvault *::before,
    .tgh-blogvault *::after{
        animation:none !important;

        transition-duration:.01ms !important;

        scroll-behavior:auto !important;
    }

}

/* BLOG CARD — DATE LEFT / ADMIN RIGHT */
.tgh-blogvault__card-meta{
    width:100%;
    justify-content:space-between;
}

.tgh-blogvault__card-meta-dot{
    display:none !important;
}

.tgh-blogvault__card-meta span:last-child{
    margin-left:auto;
    text-align:right;
}

/* MOBILE — 4 CATEGORIES, EACH NAME IN ONE LINE */
@media (max-width:768px){

    .tgh-blogvault__categories{
        grid-template-columns:repeat(4, 1fr) !important;
    }

    .tgh-blogvault__category{
        min-width:0 !important;
        min-height:64px !important;
        padding:10px 6px !important;

        display:flex !important;
        align-items:center !important;
        justify-content:center !important;

        border-bottom:0 !important;
    }

    .tgh-blogvault__category-number{
        position:absolute !important;
        top:6px !important;
        left:7px !important;
        font-size:7px !important;
    }

    .tgh-blogvault__category-name{
        font-size:10px !important;
        line-height:1 !important;
        white-space:nowrap !important;
        text-align:center !important;
    }

    .tgh-blogvault__category i{
        display:none !important;
    }
}

/* Blog Details Page Banner Section */
.blog-details-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.blog-details-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.blog-details-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.blog-details-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.blog-details-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.blog-details-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.blog-details-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.blog-details-breadcrumb a:hover{
    color: #fff;
}

.blog-details-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.blog-details-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .blog-details-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .blog-details-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .blog-details-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .blog-details-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .blog-details-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .blog-details-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .blog-details-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .blog-details-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .blog-details-banner-content h1{
        font-size: 36px;
    }

    .blog-details-breadcrumb{
        font-size: 10px;
    }
}

/* Blog Details Page First Section */
.tgh-articlepage{
    --tgh-green:#003b26;
    --tgh-green-dark:#00291b;
    --tgh-cream:#f5efe5;
    --tgh-paper:#fffdf8;
    --tgh-gold:#b58a52;
    --tgh-gold-dark:#946936;
    --tgh-text:#244438;
    --tgh-muted:#718078;
    --tgh-line:rgba(0,59,38,.13);

    position:relative;
    isolation:isolate;
    overflow:hidden;

    padding:70px 0 65px;

    background:
        radial-gradient(
            circle at 90% 8%,
            rgba(181,138,82,.08),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #f8f3eb 0%,
            #f3eee5 100%
        );

    color:var(--tgh-text);
}


/* subtle page atmosphere */

.tgh-articlepage::before{
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(181,138,82,.6),
            transparent
        );
}


.tgh-articlepage::after{
    content:"JOURNAL";

    position:absolute;
    right:-40px;
    top:160px;

    z-index:-1;

    font-family:"Playfair Display",serif;
    font-size:150px;
    font-weight:700;
    line-height:1;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.035);

    pointer-events:none;
}


.tgh-articlepage .container{
    position:relative;
    z-index:2;
}


/* =========================================================
   MAIN LAYOUT
========================================================= */

.tgh-articlepage__layout{
    display:grid;

    grid-template-columns:
        minmax(0,1fr) 315px;

    gap:28px;

    align-items:start;

    max-width:1180px;
    margin:0 auto;
}


/* =========================================================
   MAIN ARTICLE PANEL
========================================================= */

.tgh-articlepage__main{
    min-width:0;

    padding:
        42px 44px 35px;

    background:var(--tgh-paper);

    border:
        1px solid rgba(0,59,38,.12);

    border-radius:18px;

    box-shadow:
        0 18px 55px
        rgba(0,43,28,.055);
}


/* =========================================================
   ARTICLE HEADER
========================================================= */

.tgh-articlepage__header{
    padding:
        0 3px 27px;
}


.tgh-articlepage__category{
    display:inline-flex;
    align-items:center;

    min-height:27px;

    margin-bottom:16px;

    padding:
        6px 13px;

    border:
        1px solid rgba(181,138,82,.42);

    border-radius:50px;

    background:
        rgba(181,138,82,.07);

    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;

    color:var(--tgh-gold-dark);

    text-decoration:none;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}


.tgh-articlepage__category:hover{
    background:var(--tgh-green);

    border-color:var(--tgh-green);

    color:#fff;
}


/* title */

.tgh-articlepage__title{
    max-width:790px;

    margin:
        0 0 20px;

    font-family:"Playfair Display",serif;

    font-size:
        clamp(40px,4.5vw,60px);

    font-weight:600;
    line-height:1.02;
    letter-spacing:-.04em;

    color:var(--tgh-green);
}


/* =========================================================
   META
========================================================= */

.tgh-articlepage__meta{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding-top:16px;

    border-top:
        1px solid var(--tgh-line);
}


.tgh-articlepage__meta-left{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:20px;
}


.tgh-articlepage__meta-left span{
    display:flex;
    align-items:center;

    gap:7px;

    font-size:9px;
    font-weight:600;
    letter-spacing:.03em;

    color:var(--tgh-muted);
}


.tgh-articlepage__meta-left i{
    font-size:9px;

    color:var(--tgh-gold-dark);
}


.tgh-articlepage__readtime{
    position:relative;

    padding-left:19px;

    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;

    color:var(--tgh-gold-dark);
}


.tgh-articlepage__readtime::before{
    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:10px;
    height:1px;

    background:var(--tgh-gold);
}


/* =========================================================
   FEATURED IMAGE
========================================================= */

.tgh-articlepage__featured{
    position:relative;

    overflow:hidden;

    width:100%;

    margin:
        0 0 34px;

    border-radius:13px;

    background:var(--tgh-green-dark);
}


.tgh-articlepage__featured::after{
    content:"";

    position:absolute;
    inset:12px;

    border:
        1px solid rgba(255,255,255,.24);

    border-radius:8px;

    pointer-events:none;
}


.tgh-articlepage__featured img{
    display:block;

    width:100%;
    height:430px;

    object-fit:cover;

    transition:
        transform .8s
        cubic-bezier(.22,1,.36,1);
}


.tgh-articlepage__featured:hover img{
    transform:scale(1.025);
}


/* =========================================================
   RICH TEXT EDITOR CONTENT
   Admin Editor / Database Ready
========================================================= */

.tgh-articlepage__editor-content{
    max-width:100%;

    font-family:
        Arial, Helvetica, sans-serif;

    font-size:14px;
    line-height:1.88;

    color:#52645c;

    overflow-wrap:anywhere;
}


/* paragraphs */

.tgh-articlepage__editor-content p{
    margin:
        0 0 20px;
}


/* first paragraph */

.tgh-articlepage__editor-content > p:first-child{
    font-size:15px;
    line-height:1.9;

    color:#385448;
}


/* headings */

.tgh-articlepage__editor-content h2{
    position:relative;

    margin:
        37px 0 17px;

    padding-left:18px;

    font-family:"Playfair Display",serif;

    font-size:30px;
    font-weight:600;
    line-height:1.16;
    letter-spacing:-.02em;

    color:var(--tgh-green);
}


.tgh-articlepage__editor-content h2::before{
    content:"";

    position:absolute;

    left:0;
    top:4px;

    width:3px;
    height:calc(100% - 8px);

    border-radius:10px;

    background:var(--tgh-gold);
}


.tgh-articlepage__editor-content h3{
    margin:
        30px 0 14px;

    font-family:"Playfair Display",serif;

    font-size:23px;
    font-weight:600;
    line-height:1.2;

    color:var(--tgh-green);
}


.tgh-articlepage__editor-content h4{
    margin:
        27px 0 12px;

    font-family:"Playfair Display",serif;

    font-size:19px;
    font-weight:600;

    color:var(--tgh-green);
}


/* =========================================================
   EDITOR IMAGES
========================================================= */

.tgh-articlepage__editor-content figure{
    margin:
        30px 0 32px;
}


.tgh-articlepage__editor-content figure img,
.tgh-articlepage__editor-content > img{
    display:block;

    width:100%;
    height:auto;

    max-height:480px;

    object-fit:cover;

    border-radius:11px;

    border:
        1px solid rgba(0,59,38,.10);
}


.tgh-articlepage__editor-content > img{
    margin:
        30px 0;
}


.tgh-articlepage__editor-content figcaption{
    margin-top:8px;

    padding-left:11px;

    border-left:
        2px solid var(--tgh-gold);

    font-size:9px;
    line-height:1.5;

    color:#849088;
}


/* =========================================================
   EDITOR LISTS
========================================================= */

.tgh-articlepage__editor-content ul,
.tgh-articlepage__editor-content ol{
    margin:
        20px 0 25px;

    padding-left:0;

    list-style:none;
}


.tgh-articlepage__editor-content li{
    position:relative;

    margin-bottom:8px;

    padding:
        10px 13px 10px 33px;

    border-bottom:
        1px solid rgba(0,59,38,.08);

    background:
        rgba(0,59,38,.018);

    line-height:1.65;
}


.tgh-articlepage__editor-content ul li::before{
    content:"";

    position:absolute;

    left:14px;
    top:18px;

    width:6px;
    height:6px;

    border-radius:50%;

    background:var(--tgh-gold);
}


.tgh-articlepage__editor-content ol{
    counter-reset:tghArticleList;
}


.tgh-articlepage__editor-content ol li{
    counter-increment:tghArticleList;
}


.tgh-articlepage__editor-content ol li::before{
    content:
        counter(tghArticleList, decimal-leading-zero);

    position:absolute;

    left:10px;
    top:10px;

    font-family:"Playfair Display",serif;

    font-size:10px;
    font-weight:700;

    color:var(--tgh-gold-dark);
}


/* =========================================================
   BLOCKQUOTE
========================================================= */

.tgh-articlepage__editor-content blockquote{
    position:relative;

    margin:
        31px 0;

    padding:
        24px 28px 24px 51px;

    border-left:
        3px solid var(--tgh-gold);

    border-radius:
        0 10px 10px 0;

    background:
        linear-gradient(
            90deg,
            rgba(181,138,82,.10),
            rgba(181,138,82,.025)
        );

    font-family:"Playfair Display",serif;

    font-size:20px;
    font-style:italic;
    line-height:1.5;

    color:var(--tgh-green);
}


.tgh-articlepage__editor-content blockquote::before{
    content:"“";

    position:absolute;

    left:17px;
    top:9px;

    font-family:"Playfair Display",serif;

    font-size:48px;
    line-height:1;

    color:
        rgba(181,138,82,.45);
}


/* =========================================================
   EDITOR LINKS / STRONG
========================================================= */

.tgh-articlepage__editor-content a{
    color:var(--tgh-gold-dark);

    font-weight:600;

    text-decoration:none;

    border-bottom:
        1px solid rgba(181,138,82,.42);

    transition:
        color .3s ease,
        border-color .3s ease;
}


.tgh-articlepage__editor-content a:hover{
    color:var(--tgh-green);

    border-color:var(--tgh-green);
}


.tgh-articlepage__editor-content strong{
    color:var(--tgh-green);
}


/* horizontal rule */

.tgh-articlepage__editor-content hr{
    margin:
        35px 0;

    border:0;

    border-top:
        1px solid var(--tgh-line);
}


/* =========================================================
   EDITOR TABLE
========================================================= */

.tgh-articlepage__editor-content table{
    width:100%;

    margin:
        28px 0;

    border-collapse:collapse;

    background:#fff;

    font-size:12px;
}


.tgh-articlepage__editor-content th,
.tgh-articlepage__editor-content td{
    padding:
        12px 14px;

    border:
        1px solid rgba(0,59,38,.12);

    text-align:left;
}


.tgh-articlepage__editor-content th{
    background:var(--tgh-green);

    color:#fff;
}


/* editor video */

.tgh-articlepage__editor-content iframe{
    display:block;

    width:100%;
    max-width:100%;

    min-height:390px;

    margin:
        30px 0;

    border:0;
    border-radius:11px;
}


/* =========================================================
   ARTICLE BOTTOM
========================================================= */

.tgh-articlepage__bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:25px;

    margin-top:40px;

    padding:
        22px 0 2px;

    border-top:
        1px solid var(--tgh-line);
}


.tgh-articlepage__bottom-text{
    display:flex;
    flex-direction:column;

    gap:4px;
}


.tgh-articlepage__bottom-text span{
    font-size:7px;
    font-weight:800;
    letter-spacing:.20em;

    color:var(--tgh-gold-dark);
}


.tgh-articlepage__bottom-text strong{
    font-family:"Playfair Display",serif;

    font-size:16px;
    font-weight:500;

    color:var(--tgh-green);
}


.tgh-articlepage__back{
    display:inline-flex;
    align-items:center;

    gap:9px;

    padding:
        10px 16px;

    border:
        1px solid rgba(0,59,38,.17);

    border-radius:50px;

    font-size:9px;
    font-weight:800;
    letter-spacing:.10em;
    text-transform:uppercase;

    color:var(--tgh-green);

    text-decoration:none;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}


.tgh-articlepage__back:hover{
    transform:translateX(-3px);

    background:var(--tgh-green);

    color:#fff;
}


/* =========================================================
   RIGHT SIDEBAR
========================================================= */

.tgh-articlepage__sidebar{
    position:sticky;
    top:105px;

    display:flex;
    flex-direction:column;

    gap:20px;
}


/* =========================================================
   SIDEBAR BOX
========================================================= */

.tgh-articlepage__sidebox{
    overflow:hidden;

    padding:
        23px 20px 19px;

    background:var(--tgh-paper);

    border:
        1px solid rgba(0,59,38,.12);

    border-radius:15px;

    box-shadow:
        0 14px 40px
        rgba(0,43,28,.045);
}


.tgh-articlepage__sidebox-head{
    display:flex;
    align-items:center;

    gap:11px;

    margin-bottom:17px;

    padding-bottom:13px;

    border-bottom:
        1px solid var(--tgh-line);
}


.tgh-articlepage__sidebox-head span{
    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 27px;

    width:27px;
    height:27px;

    border:
        1px solid rgba(181,138,82,.55);

    border-radius:50%;

    font-family:"Playfair Display",serif;

    font-size:8px;

    color:var(--tgh-gold-dark);
}


.tgh-articlepage__sidebox-head h2{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:20px;
    font-weight:600;

    color:var(--tgh-green);
}


/* =========================================================
   SIDEBAR CATEGORIES
========================================================= */

.tgh-articlepage__category-list{
    display:flex;
    flex-direction:column;
}


.tgh-articlepage__category-list a{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:10px;

    min-height:44px;

    padding:
        10px 11px;

    border-bottom:
        1px solid rgba(0,59,38,.08);

    font-family:"Playfair Display",serif;

    font-size:13px;
    font-weight:600;

    color:var(--tgh-green);

    text-decoration:none;

    transition:
        padding .35s ease,
        background .35s ease,
        color .35s ease;
}


.tgh-articlepage__category-list a:last-child{
    border-bottom:0;
}


.tgh-articlepage__category-list a i{
    font-size:8px;

    color:var(--tgh-gold-dark);

    transition:
        transform .35s ease;
}


.tgh-articlepage__category-list a:hover{
    padding-left:16px;

    background:
        rgba(181,138,82,.07);
}


.tgh-articlepage__category-list a:hover i{
    transform:translateX(3px);
}


/* active category */

.tgh-articlepage__category-list a.is-active{
    margin:
        4px 0;

    padding:
        11px 13px;

    border-bottom:0;
    border-radius:7px;

    background:var(--tgh-green);

    color:#fff;
}


.tgh-articlepage__category-list
a.is-active i{
    color:#d9b77e;
}


/* =========================================================
   RECENT POSTS
========================================================= */

.tgh-articlepage__recent-list{
    display:flex;
    flex-direction:column;
}


.tgh-articlepage__recent{
    display:grid;

    grid-template-columns:
        77px minmax(0,1fr);

    gap:12px;

    padding:
        12px 0;

    border-bottom:
        1px solid rgba(0,59,38,.09);

    color:inherit;

    text-decoration:none;
}


.tgh-articlepage__recent:first-child{
    padding-top:2px;
}


.tgh-articlepage__recent:last-child{
    padding-bottom:0;

    border-bottom:0;
}


/* recent image */

.tgh-articlepage__recent-image{
    position:relative;

    overflow:hidden;

    width:77px;
    height:70px;

    border-radius:8px;

    background:var(--tgh-green-dark);
}


.tgh-articlepage__recent-image img{
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    transition:
        transform .55s
        cubic-bezier(.22,1,.36,1);
}


.tgh-articlepage__recent:hover
.tgh-articlepage__recent-image img{
    transform:scale(1.08);
}


/* recent content */

.tgh-articlepage__recent-content{
    min-width:0;
}


.tgh-articlepage__recent-content > span{
    display:block;

    margin-bottom:4px;

    font-size:6px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;

    color:var(--tgh-gold-dark);
}


.tgh-articlepage__recent-content h3{
    display:-webkit-box;

    margin:
        0 0 5px;

    overflow:hidden;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;

    font-family:"Playfair Display",serif;

    font-size:12.5px;
    font-weight:600;
    line-height:1.22;

    color:var(--tgh-green);

    transition:color .3s ease;
}


.tgh-articlepage__recent:hover
.tgh-articlepage__recent-content h3{
    color:var(--tgh-gold-dark);
}


.tgh-articlepage__recent-content small{
    display:block;

    font-size:7px;
    font-weight:600;

    color:#87928c;
}


/* =========================================================
   SIDEBAR SIGNATURE
========================================================= */

.tgh-articlepage__side-signature{
    display:flex;
    align-items:center;

    gap:13px;

    padding:
        18px;

    border:
        1px solid rgba(181,138,82,.28);

    border-radius:15px;

    background:
        linear-gradient(
            135deg,
            var(--tgh-green) 0%,
            var(--tgh-green-dark) 100%
        );

    box-shadow:
        0 14px 35px
        rgba(0,43,28,.10);
}


.tgh-articlepage__side-signature-mark{
    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 49px;

    width:49px;
    height:49px;

    border:
        1px solid rgba(220,185,129,.62);

    border-radius:50%;

    font-family:"Playfair Display",serif;

    font-size:12px;
    font-weight:700;

    color:#e0bf89;
}


.tgh-articlepage__side-signature div{
    min-width:0;
}


.tgh-articlepage__side-signature small{
    display:block;

    margin-bottom:3px;

    font-size:6px;
    font-weight:800;
    letter-spacing:.13em;

    color:#d4b57f;
}


.tgh-articlepage__side-signature strong{
    display:block;

    font-family:"Playfair Display",serif;

    font-size:15px;
    font-weight:500;
    line-height:1.2;

    color:#fff;
}


/* =========================================================
   TABLET — 1199px
========================================================= */

@media (max-width:1199px){

    .tgh-articlepage{
        padding:
            60px 0 55px;
    }


    .tgh-articlepage__layout{
        grid-template-columns:
            minmax(0,1fr) 285px;

        gap:22px;
    }


    .tgh-articlepage__main{
        padding:
            35px 35px 30px;
    }


    .tgh-articlepage__title{
        font-size:48px;
    }


    .tgh-articlepage__featured img{
        height:390px;
    }


    .tgh-articlepage__sidebox{
        padding:
            20px 17px 17px;
    }


    .tgh-articlepage__recent{
        grid-template-columns:
            68px minmax(0,1fr);
    }


    .tgh-articlepage__recent-image{
        width:68px;
        height:65px;
    }

}


/* =========================================================
   TABLET — 991px
========================================================= */

@media (max-width:991px){

    .tgh-articlepage{
        padding:
            52px 0 45px;
    }


    .tgh-articlepage__layout{
        grid-template-columns:
            minmax(0,1fr) 245px;

        gap:18px;
    }


    .tgh-articlepage__main{
        padding:
            29px 27px 27px;

        border-radius:15px;
    }


    .tgh-articlepage__title{
        font-size:40px;
    }


    .tgh-articlepage__featured img{
        height:335px;
    }


    .tgh-articlepage__editor-content{
        font-size:13.5px;
    }


    .tgh-articlepage__editor-content h2{
        font-size:27px;
    }


    .tgh-articlepage__sidebox-head h2{
        font-size:18px;
    }


    .tgh-articlepage__category-list a{
        font-size:12px;
    }


    .tgh-articlepage__recent{
        grid-template-columns:
            60px minmax(0,1fr);

        gap:9px;
    }


    .tgh-articlepage__recent-image{
        width:60px;
        height:60px;
    }


    .tgh-articlepage__recent-content h3{
        font-size:11px;
    }

}


/* =========================================================
   MOBILE — 768px
========================================================= */

@media (max-width:768px){

    .tgh-articlepage{
        padding:
            38px 0 38px;
    }


    .tgh-articlepage::after{
        display:none;
    }


    /* sidebar goes below article */

    .tgh-articlepage__layout{
        display:flex;
        flex-direction:column;

        gap:25px;
    }


    .tgh-articlepage__main{
        width:100%;

        padding:
            26px 23px 25px;

        border-radius:14px;
    }


    /* header */

    .tgh-articlepage__header{
        padding-bottom:22px;
    }


    .tgh-articlepage__category{
        margin-bottom:13px;
    }


    .tgh-articlepage__title{
        max-width:600px;

        font-size:
            clamp(34px,8vw,44px);

        line-height:1.03;
    }


    .tgh-articlepage__meta{
        align-items:flex-end;
    }


    /* featured */

    .tgh-articlepage__featured{
        margin-bottom:27px;
    }


    .tgh-articlepage__featured img{
        height:360px;
    }


    /* editor */

    .tgh-articlepage__editor-content{
        font-size:14px;
        line-height:1.82;
    }


    .tgh-articlepage__editor-content h2{
        margin-top:33px;

        font-size:28px;
    }


    .tgh-articlepage__editor-content h3{
        font-size:22px;
    }


    .tgh-articlepage__editor-content iframe{
        min-height:320px;
    }


    /* sidebar */

    .tgh-articlepage__sidebar{
        position:static;

        width:100%;

        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:18px;
    }


    .tgh-articlepage__side-signature{
        grid-column:1 / -1;
    }


    .tgh-articlepage__recent-image{
        width:70px;
        height:66px;
    }


    .tgh-articlepage__recent{
        grid-template-columns:
            70px minmax(0,1fr);
    }


    .tgh-articlepage__recent-content h3{
        font-size:12px;
    }

}


/* =========================================================
   PHONE — 576px
========================================================= */

@media (max-width:576px){

    .tgh-articlepage{
        padding:
            28px 0 32px;
    }


    .tgh-articlepage__main{
        padding:
            22px 18px 22px;

        border-radius:12px;
    }


    .tgh-articlepage__category{
        font-size:7px;
    }


    .tgh-articlepage__title{
        font-size:34px;

        margin-bottom:17px;
    }


    /* meta date left / admin etc */

    .tgh-articlepage__meta{
        gap:12px;
    }


    .tgh-articlepage__meta-left{
        gap:12px;
    }


    .tgh-articlepage__meta-left span{
        font-size:8px;
    }


    .tgh-articlepage__readtime{
        font-size:7px;
    }


    /* image */

    .tgh-articlepage__featured{
        border-radius:10px;
    }


    .tgh-articlepage__featured img{
        height:285px;
    }


    .tgh-articlepage__featured::after{
        inset:8px;
    }


    /* content */

    .tgh-articlepage__editor-content{
        font-size:13.5px;
        line-height:1.8;
    }


    .tgh-articlepage__editor-content
    > p:first-child{
        font-size:14px;
    }


    .tgh-articlepage__editor-content h2{
        margin:
            30px 0 15px;

        padding-left:14px;

        font-size:25px;
    }


    .tgh-articlepage__editor-content h3{
        margin-top:27px;

        font-size:21px;
    }


    .tgh-articlepage__editor-content blockquote{
        padding:
            20px 19px 20px 42px;

        font-size:18px;
    }


    .tgh-articlepage__editor-content blockquote::before{
        left:13px;

        font-size:40px;
    }


    .tgh-articlepage__editor-content figure{
        margin:
            25px 0;
    }


    .tgh-articlepage__editor-content li{
        padding:
            9px 10px 9px 30px;
    }


    .tgh-articlepage__editor-content iframe{
        min-height:250px;
    }


    /* article bottom */

    .tgh-articlepage__bottom{
        display:block;

        margin-top:32px;
    }


    .tgh-articlepage__back{
        margin-top:17px;
    }


    /* sidebar single column */

    .tgh-articlepage__sidebar{
        display:flex;
        flex-direction:column;

        gap:16px;
    }


    .tgh-articlepage__sidebox{
        padding:
            19px 17px 17px;

        border-radius:12px;
    }


    .tgh-articlepage__sidebox-head{
        margin-bottom:13px;
    }


    .tgh-articlepage__sidebox-head h2{
        font-size:19px;
    }


    .tgh-articlepage__category-list a{
        min-height:42px;

        font-size:12.5px;
    }


    .tgh-articlepage__recent{
        grid-template-columns:
            78px minmax(0,1fr);

        gap:12px;
    }


    .tgh-articlepage__recent-image{
        width:78px;
        height:70px;
    }


    .tgh-articlepage__recent-content h3{
        font-size:12.5px;
    }

}


/* =========================================================
   SMALL PHONE — 480px
========================================================= */

@media (max-width:480px){

    .tgh-articlepage__main{
        padding:
            20px 15px;
    }


    .tgh-articlepage__title{
        font-size:30px;
    }


    .tgh-articlepage__meta{
        align-items:flex-start;
    }


    .tgh-articlepage__meta-left{
        flex-direction:column;
        align-items:flex-start;

        gap:6px;
    }


    .tgh-articlepage__featured img{
        height:245px;
    }


    .tgh-articlepage__editor-content h2{
        font-size:23px;
    }


    .tgh-articlepage__editor-content h3{
        font-size:19px;
    }


    .tgh-articlepage__editor-content table{
        display:block;

        overflow-x:auto;
        white-space:nowrap;
    }


    .tgh-articlepage__editor-content iframe{
        min-height:220px;
    }

}


/* =========================================================
   EXTRA SMALL — 360px
========================================================= */

@media (max-width:360px){

    .tgh-articlepage{
        padding-top:22px;
    }


    .tgh-articlepage__main{
        padding:
            17px 13px;
    }


    .tgh-articlepage__title{
        font-size:27px;
    }


    .tgh-articlepage__readtime{
        display:none;
    }


    .tgh-articlepage__featured img{
        height:215px;
    }


    .tgh-articlepage__editor-content{
        font-size:13px;
    }


    .tgh-articlepage__editor-content h2{
        font-size:21px;
    }


    .tgh-articlepage__recent{
        grid-template-columns:
            68px minmax(0,1fr);
    }


    .tgh-articlepage__recent-image{
        width:68px;
        height:65px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .tgh-articlepage *,
    .tgh-articlepage *::before,
    .tgh-articlepage *::after{
        animation:none !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }

}

/* =====================================================
   BLOG DETAILS — FINAL BOTTOM RESERVATION CTA OVERRIDE
   JUST PASTE AT THE VERY END OF YOUR CSS
===================================================== */

.tgh-articlepage__bottom{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    align-items:center !important;
    gap:18px !important;

    width:100% !important;
    margin-top:42px !important;
    padding:22px 24px !important;

    border:0 !important;
    border-radius:18px !important;

    background:#003b26 !important;

    box-shadow:
        0 16px 35px rgba(0,59,38,.15) !important;
}


/* ICON */

.tgh-articlepage__bottom-icon{
    width:52px !important;
    height:52px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex-shrink:0 !important;

    border-radius:14px !important;

    background:rgba(255,255,255,.10) !important;

    color:#d8b77f !important;
    font-size:19px !important;
}


/* TEXT AREA */

.tgh-articlepage__bottom-text{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;

    gap:4px !important;

    margin:0 !important;
}


.tgh-articlepage__bottom-text strong{
    margin:0 !important;

    font-family:"Playfair Display",serif !important;
    font-size:20px !important;
    line-height:1.2 !important;
    font-weight:600 !important;

    color:#ffffff !important;
}


.tgh-articlepage__bottom-text span{
    margin:0 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:10px !important;
    line-height:1.5 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;

    color:rgba(255,255,255,.72) !important;
}


/* RESERVATION BUTTON */

.tgh-articlepage__reserve{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:9px !important;

    min-height:44px !important;
    padding:0 20px !important;

    border:0 !important;
    border-radius:50px !important;

    background:#fffaf3 !important;

    color:#003b26 !important;

    font-family:Arial,Helvetica,sans-serif !important;
    font-size:9px !important;
    font-weight:800 !important;
    line-height:1 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;

    white-space:nowrap !important;

    transition:
        transform .3s ease,
        background .3s ease,
        color .3s ease !important;
}


.tgh-articlepage__reserve i{
    font-size:9px !important;

    transition:transform .3s ease !important;
}


.tgh-articlepage__reserve:hover{
    transform:translateY(-2px) !important;

    background:#b58a52 !important;
    color:#ffffff !important;
}


.tgh-articlepage__reserve:hover i{
    transform:translateX(3px) !important;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width:576px){

    .tgh-articlepage__bottom{
        grid-template-columns:46px 1fr !important;

        gap:13px !important;

        margin-top:32px !important;
        padding:17px !important;

        border-radius:15px !important;
    }


    .tgh-articlepage__bottom-icon{
        width:46px !important;
        height:46px !important;

        border-radius:12px !important;

        font-size:17px !important;
    }


    .tgh-articlepage__bottom-text strong{
        font-size:17px !important;
    }


    .tgh-articlepage__bottom-text span{
        font-size:9px !important;
    }


    .tgh-articlepage__reserve{
        grid-column:1 / -1 !important;

        width:100% !important;

        min-height:42px !important;

        margin-top:3px !important;
    }

}

/* MOBILE — DATE LEFT | BY ADMIN CENTER | TGH JOURNAL RIGHT */
@media (max-width:576px){

    .tgh-articlepage__meta{
        display:grid !important;
        grid-template-columns:1fr 1fr 1fr !important;
        align-items:center !important;
        width:100% !important;
        gap:0 !important;
    }

    .tgh-articlepage__meta-left{
        display:contents !important;
    }

    .tgh-articlepage__meta-left span:first-child{
        justify-self:start !important;
        white-space:nowrap !important;
    }

    .tgh-articlepage__meta-left span:last-child{
        justify-self:center !important;
        white-space:nowrap !important;
    }

    .tgh-articlepage__readtime{
        justify-self:end !important;
        white-space:nowrap !important;
        text-align:right !important;
    }

}

/* Reservation Page Banner Section */
.reservation-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.reservation-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.reservation-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.reservation-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.reservation-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.reservation-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.reservation-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.reservation-breadcrumb a:hover{
    color: #fff;
}

.reservation-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.reservation-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .reservation-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .reservation-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .reservation-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .reservation-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .reservation-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .reservation-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .reservation-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .reservation-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .reservation-banner-content h1{
        font-size: 36px;
    }

    .reservation-breadcrumb{
        font-size: 10px;
    }
}

/* Reservation Page First Section */
.tgh-reservehero{
    --rv-green:#003b26;
    --rv-deep:#002b1d;
    --rv-deeper:#002217;
    --rv-cream:#f7f0e5;
    --rv-paper:#fffaf2;
    --rv-gold:#b58a52;
    --rv-gold-light:#d8b77f;
    --rv-text:#173d30;
    --rv-muted:#687b72;
    --rv-line:rgba(0,59,38,.14);

    position:relative;
    isolation:isolate;
    overflow:hidden;

    padding:78px 0 52px;

    background:
        radial-gradient(
            circle at 92% 8%,
            rgba(181,138,82,.12),
            transparent 24%
        ),
        radial-gradient(
            circle at 5% 68%,
            rgba(0,59,38,.055),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #faf5ed 0%,
            #f4ecdf 100%
        );

    color:var(--rv-text);
}


/* =========================================================
   DECORATIVE BACKGROUND
========================================================= */

.tgh-reservehero::before{
    content:"";

    position:absolute;
    top:0;
    left:0;
    right:0;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(181,138,82,.65),
            transparent
        );
}


.tgh-reservehero__word{
    position:absolute;

    top:95px;
    right:-40px;

    z-index:-1;

    font-family:"Playfair Display",serif;
    font-size:clamp(120px,16vw,235px);
    font-weight:700;
    line-height:.8;
    letter-spacing:-.06em;

    color:transparent;

    -webkit-text-stroke:
        1px rgba(0,59,38,.045);

    user-select:none;
    pointer-events:none;
}


.tgh-reservehero__ring{
    position:absolute;

    left:-170px;
    bottom:80px;

    z-index:-1;

    width:340px;
    height:340px;

    border:
        1px solid rgba(181,138,82,.13);

    border-radius:50%;
}


.tgh-reservehero__ring::before{
    content:"";

    position:absolute;
    inset:38px;

    border:
        1px dashed rgba(181,138,82,.10);

    border-radius:50%;
}


.tgh-reservehero .container{
    position:relative;
    z-index:2;
}


/* =========================================================
   TOP INTRO
========================================================= */

.tgh-reservehero__intro{
    display:grid;

    grid-template-columns:
        110px minmax(0,1fr) 300px;

    align-items:end;

    gap:34px;

    max-width:1180px;

    margin:
        0 auto 43px;

    padding-bottom:34px;

    border-bottom:
        1px solid var(--rv-line);
}


/* index */

.tgh-reservehero__intro-index{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:9px;
}


.tgh-reservehero__intro-index span{
    font-family:"Playfair Display",serif;

    font-size:24px;
    line-height:1;

    color:var(--rv-gold);
}


.tgh-reservehero__intro-index i{
    display:block;

    width:45px;
    height:1px;

    background:var(--rv-gold);
}


.tgh-reservehero__intro-index small{
    font-size:7px;
    font-weight:800;
    letter-spacing:.22em;

    color:rgba(0,59,38,.50);
}


/* heading */

.tgh-reservehero__eyebrow{
    display:block;

    margin-bottom:13px;

    font-size:8px;
    font-weight:800;
    letter-spacing:.24em;

    color:var(--rv-gold);
}


.tgh-reservehero__intro-heading h1{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:clamp(52px,5.8vw,78px);
    font-weight:500;
    line-height:.87;
    letter-spacing:-.045em;

    color:var(--rv-green);
}


.tgh-reservehero__intro-heading h1 em{
    display:block;

    margin-left:9%;

    font-weight:500;

    color:var(--rv-gold);
}


/* intro copy */

.tgh-reservehero__intro-copy{
    padding-left:22px;

    border-left:
        1px solid rgba(181,138,82,.48);
}


.tgh-reservehero__intro-copy > span{
    display:block;

    margin-bottom:9px;

    font-size:7px;
    font-weight:800;
    letter-spacing:.20em;

    color:var(--rv-gold);
}


.tgh-reservehero__intro-copy p{
    margin:0;

    font-size:12px;
    line-height:1.75;

    color:var(--rv-muted);
}


/* =========================================================
   MAIN EXPERIENCE
========================================================= */

.tgh-reservehero__experience{
    display:grid;

    grid-template-columns:
        minmax(0,1.08fr) minmax(360px,.92fr);

    align-items:start;

    gap:25px;

    max-width:1180px;

    margin:0 auto;
}


/* =========================================================
   FORM PANEL
========================================================= */

.tgh-reservehero__form-panel{
    position:relative;

    overflow:hidden;

    padding:
        38px 40px 34px;

    border:
        1px solid rgba(0,59,38,.12);

    border-radius:
        0 35px 0 35px;

    background:var(--rv-paper);

    box-shadow:
        0 22px 55px
        rgba(0,43,28,.07);
}


.tgh-reservehero__form-panel::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:105px;
    height:3px;

    background:var(--rv-gold);
}


.tgh-reservehero__form-panel::after{
    content:"";

    position:absolute;

    right:-70px;
    top:-70px;

    width:180px;
    height:180px;

    border:
        1px solid rgba(181,138,82,.12);

    border-radius:50%;

    pointer-events:none;
}


.tgh-reservehero__panel-number{
    position:absolute;

    right:22px;
    top:13px;

    font-family:"Playfair Display",serif;

    font-size:75px;
    font-weight:600;
    line-height:1;

    color:rgba(0,59,38,.035);

    pointer-events:none;
}


/* =========================================================
   FORM HEADING
========================================================= */

.tgh-reservehero__form-head{
    position:relative;

    z-index:2;

    max-width:470px;

    margin-bottom:28px;
}


.tgh-reservehero__form-head > span{
    display:block;

    margin-bottom:9px;

    font-size:7px;
    font-weight:800;
    letter-spacing:.23em;

    color:var(--rv-gold);
}


.tgh-reservehero__form-head h2{
    margin:
        0 0 10px;

    font-family:"Playfair Display",serif;

    font-size:39px;
    font-weight:600;
    line-height:1;

    letter-spacing:-.025em;

    color:var(--rv-green);
}


.tgh-reservehero__form-head h2 em{
    font-weight:500;

    color:var(--rv-gold);
}


.tgh-reservehero__form-head p{
    max-width:410px;

    margin:0;

    font-size:11px;
    line-height:1.7;

    color:var(--rv-muted);
}


/* =========================================================
   FORM
========================================================= */

.tgh-reservehero__form{
    position:relative;
    z-index:2;
}


.tgh-reservehero__form-row{
    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:15px;
}


.tgh-reservehero__field{
    margin-bottom:16px;
}


.tgh-reservehero__field label{
    display:flex;
    align-items:center;

    gap:5px;

    margin-bottom:7px;

    font-size:8px;
    font-weight:800;
    letter-spacing:.04em;

    color:var(--rv-green);
}


.tgh-reservehero__field label span{
    font-size:7px;
    font-weight:500;

    color:#87928c;
}


/* =========================================================
   INPUT
========================================================= */

.tgh-reservehero__input{
    position:relative;
}


.tgh-reservehero__input > i{
    position:absolute;

    left:15px;
    top:50%;

    z-index:2;

    transform:translateY(-50%);

    width:14px;

    text-align:center;

    font-size:10px;

    color:var(--rv-gold);
}


.tgh-reservehero__input input,
.tgh-reservehero__input select,
.tgh-reservehero__input textarea{
    width:100%;

    outline:0;

    border:
        1px solid rgba(0,59,38,.15);

    border-radius:8px;

    background:#fff;

    font-family:
        Arial,Helvetica,sans-serif;

    font-size:10px;

    color:var(--rv-text);

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}


.tgh-reservehero__input input,
.tgh-reservehero__input select{
    height:47px;

    padding:
        0 14px 0 42px;
}


.tgh-reservehero__input textarea{
    min-height:105px;

    padding:
        14px 14px 14px 42px;

    line-height:1.6;

    resize:vertical;
}


.tgh-reservehero__textarea > i{
    top:17px;

    transform:none;
}


.tgh-reservehero__input input::placeholder,
.tgh-reservehero__input textarea::placeholder{
    color:#a2aaa5;
}


.tgh-reservehero__input input:focus,
.tgh-reservehero__input select:focus,
.tgh-reservehero__input textarea:focus{
    border-color:
        rgba(181,138,82,.80);

    box-shadow:
        0 0 0 3px
        rgba(181,138,82,.09);

    background:#fffefb;
}


/* select */

.tgh-reservehero__select select{
    appearance:none;
    -webkit-appearance:none;

    cursor:pointer;
}


.tgh-reservehero__select::after{
    content:"\f078";

    position:absolute;

    right:15px;
    top:50%;

    transform:translateY(-50%);

    font-family:"Font Awesome 6 Free";
    font-weight:900;

    font-size:7px;

    color:var(--rv-green);

    pointer-events:none;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.tgh-reservehero__submit{
    position:relative;

    overflow:hidden;

    width:100%;
    min-height:49px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-top:4px;

    padding:
        0 19px 0 21px;

    border:0;

    border-radius:8px;

    background:var(--rv-green);

    color:#fff;

    cursor:pointer;

    font-family:
        Arial,Helvetica,sans-serif;

    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;

    transition:
        background .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}


.tgh-reservehero__submit::before{
    content:"";

    position:absolute;

    left:-100%;
    top:0;

    width:70%;
    height:100%;

    transform:skewX(-25deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.14),
            transparent
        );

    transition:left .55s ease;
}


.tgh-reservehero__submit span,
.tgh-reservehero__submit i{
    position:relative;
    z-index:2;
}


.tgh-reservehero__submit i{
    color:var(--rv-gold-light);

    transition:transform .3s ease;
}


.tgh-reservehero__submit:hover{
    transform:translateY(-2px);

    background:var(--rv-deep);

    box-shadow:
        0 13px 25px
        rgba(0,59,38,.16);
}


.tgh-reservehero__submit:hover::before{
    left:130%;
}


.tgh-reservehero__submit:hover i{
    transform:translateX(4px);
}


/* =========================================================
   FORM NOTE
========================================================= */

.tgh-reservehero__form-note{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    margin-top:13px;

    font-size:8px;

    color:#7a8982;
}


.tgh-reservehero__form-note i{
    color:var(--rv-gold);
}


/* =========================================================
   RIGHT COLUMN
========================================================= */

.tgh-reservehero__right{
    display:flex;
    flex-direction:column;

    gap:18px;
}


/* =========================================================
   LOCATION CARD
========================================================= */

.tgh-reservehero__location{
    position:relative;

    overflow:hidden;

    padding:24px;

    border-radius:
        30px 0 30px 0;

    background:var(--rv-green);

    box-shadow:
        0 22px 50px
        rgba(0,43,28,.12);

    color:#fff;
}


.tgh-reservehero__location::before{
    content:"";

    position:absolute;

    right:-65px;
    top:-65px;

    width:180px;
    height:180px;

    border:
        1px solid rgba(216,183,127,.16);

    border-radius:50%;
}


.tgh-reservehero__location-top{
    position:relative;
    z-index:2;

    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:20px;

    margin-bottom:18px;
}


.tgh-reservehero__location-top span{
    display:block;

    margin-bottom:7px;

    font-size:7px;
    font-weight:800;
    letter-spacing:.20em;

    color:var(--rv-gold-light);
}


.tgh-reservehero__location-top h3{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:28px;
    font-weight:500;
    line-height:1.03;

    color:#fff;
}


.tgh-reservehero__location-top h3 em{
    display:block;

    font-weight:500;

    color:var(--rv-gold-light);
}


.tgh-reservehero__location-mark{
    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 43px;

    width:43px;
    height:43px;

    border:
        1px solid rgba(216,183,127,.40);

    border-radius:50%;

    color:var(--rv-gold-light);
}


/* =========================================================
   MAP
========================================================= */

.tgh-reservehero__map{
    position:relative;

    overflow:hidden;

    height:225px;

    border:
        1px solid rgba(255,255,255,.15);

    border-radius:13px;
}


.tgh-reservehero__map iframe{
    display:block;

    width:100%;
    height:100%;

    border:0;
}


.tgh-reservehero__map-tag{
    position:absolute;

    left:12px;
    bottom:12px;

    display:flex;
    align-items:center;

    gap:7px;

    padding:
        7px 11px;

    border-radius:50px;

    background:
        rgba(0,43,28,.90);

    backdrop-filter:blur(7px);

    font-size:7px;
    font-weight:700;
    letter-spacing:.08em;

    color:#fff;
}


.tgh-reservehero__map-dot{
    width:6px;
    height:6px;

    border-radius:50%;

    background:var(--rv-gold-light);

    box-shadow:
        0 0 0 4px
        rgba(216,183,127,.13);
}


/* =========================================================
   LOCATION BOTTOM
========================================================= */

.tgh-reservehero__location-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    padding-top:16px;
}


.tgh-reservehero__location-bottom small{
    display:block;

    margin-bottom:3px;

    font-size:6px;
    font-weight:800;
    letter-spacing:.18em;

    color:var(--rv-gold-light);
}


.tgh-reservehero__location-bottom strong{
    display:block;

    font-family:"Playfair Display",serif;

    font-size:14px;
    font-weight:500;

    color:#fff;
}


.tgh-reservehero__direction{
    display:inline-flex;
    align-items:center;

    gap:7px;

    flex-shrink:0;

    padding:
        9px 12px;

    border:
        1px solid rgba(255,255,255,.20);

    border-radius:50px;

    font-size:7px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;

    color:#fff;

    text-decoration:none;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease;
}


.tgh-reservehero__direction:hover{
    background:var(--rv-paper);

    border-color:var(--rv-paper);

    color:var(--rv-green);
}


/* =========================================================
   UPCOMING EVENTS
========================================================= */

.tgh-reservehero__events{
    position:relative;

    padding:
        25px 25px 20px;

    border:
        1px solid rgba(0,59,38,.12);

    border-radius:
        0 26px 0 26px;

    background:var(--rv-paper);

    box-shadow:
        0 16px 42px
        rgba(0,43,28,.055);
}


.tgh-reservehero__events-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:15px;

    margin-bottom:15px;
}


.tgh-reservehero__events-head > div > span{
    display:block;

    margin-bottom:5px;

    font-size:6px;
    font-weight:800;
    letter-spacing:.20em;

    color:var(--rv-gold);
}


.tgh-reservehero__events-head h3{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:26px;
    font-weight:600;
    line-height:1;

    color:var(--rv-green);
}


.tgh-reservehero__events-head h3 em{
    font-weight:500;

    color:var(--rv-gold);
}


.tgh-reservehero__events-number{
    font-family:"Playfair Display",serif;

    font-size:36px;
    line-height:1;

    color:rgba(0,59,38,.10);
}


/* =========================================================
   EVENT ROW
========================================================= */

.tgh-reservehero__event{
    display:grid;

    grid-template-columns:
        42px minmax(0,1fr) 27px;

    align-items:center;

    gap:12px;

    padding:
        11px 0;

    border-bottom:
        1px solid rgba(0,59,38,.09);
}


.tgh-reservehero__event-date{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    width:42px;
    height:46px;

    border:
        1px solid rgba(181,138,82,.38);

    border-radius:7px;

    background:
        rgba(181,138,82,.045);
}


.tgh-reservehero__event-date span{
    font-size:5px;
    font-weight:800;
    letter-spacing:.14em;

    color:var(--rv-gold);
}


.tgh-reservehero__event-date strong{
    margin-top:1px;

    font-family:"Playfair Display",serif;

    font-size:17px;
    line-height:1;

    color:var(--rv-green);
}


.tgh-reservehero__event-info{
    min-width:0;
}


.tgh-reservehero__event-info small{
    display:block;

    margin-bottom:3px;

    font-size:5px;
    font-weight:800;
    letter-spacing:.13em;

    color:#9a805e;
}


.tgh-reservehero__event-info h4{
    margin:0;

    font-family:"Playfair Display",serif;

    font-size:13px;
    font-weight:600;
    line-height:1.2;

    color:var(--rv-green);
}


.tgh-reservehero__event-arrow{
    display:flex;
    align-items:center;
    justify-content:center;

    width:27px;
    height:27px;

    border:
        1px solid rgba(0,59,38,.13);

    border-radius:50%;

    font-size:7px;

    color:var(--rv-green);
}


/* =========================================================
   EVENTS LINK
========================================================= */

.tgh-reservehero__events-link{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:15px;

    margin-top:13px;

    padding-top:14px;

    border-top:
        1px solid rgba(0,59,38,.10);

    font-size:7px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;

    color:var(--rv-green);

    text-decoration:none;
}


.tgh-reservehero__events-link i{
    transition:transform .3s ease;
}


.tgh-reservehero__events-link:hover i{
    transform:translateX(4px);
}


/* =========================================================
   TGH PROMISE
========================================================= */

.tgh-reservehero__promise{
    display:grid;

    grid-template-columns:
        52px auto 1fr;

    align-items:center;

    gap:14px;

    padding:
        17px 20px;

    border-radius:13px;

    background:
        linear-gradient(
            120deg,
            #eee0ca,
            #f8efe1
        );

    border:
        1px solid rgba(181,138,82,.20);
}


.tgh-reservehero__promise-mark{
    display:flex;
    align-items:center;
    justify-content:center;

    width:48px;
    height:48px;

    border:
        1px solid rgba(181,138,82,.55);

    border-radius:50%;

    font-family:"Playfair Display",serif;

    font-size:11px;
    font-weight:700;

    color:var(--rv-green);
}


.tgh-reservehero__promise-copy small{
    display:block;

    margin-bottom:3px;

    font-size:6px;
    font-weight:800;
    letter-spacing:.17em;

    color:var(--rv-gold);
}


.tgh-reservehero__promise-copy strong{
    display:block;

    font-family:"Playfair Display",serif;

    font-size:15px;
    font-weight:500;
    line-height:1.25;

    color:var(--rv-green);
}


.tgh-reservehero__promise-line{
    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(181,138,82,.5),
            transparent
        );
}


/* =========================================================
   BOTTOM EDITORIAL LINE
========================================================= */

.tgh-reservehero__footerline{
    display:grid;

    grid-template-columns:
        auto 1fr auto;

    align-items:center;

    gap:18px;

    max-width:1180px;

    margin:
        35px auto 0;

    padding-top:18px;

    border-top:
        1px solid var(--rv-line);
}


.tgh-reservehero__footerline span{
    font-size:6px;
    font-weight:800;
    letter-spacing:.22em;

    color:var(--rv-gold);
}


.tgh-reservehero__footerline i{
    height:1px;

    background:
        linear-gradient(
            90deg,
            rgba(0,59,38,.15),
            rgba(181,138,82,.45),
            rgba(0,59,38,.15)
        );
}


.tgh-reservehero__footerline strong{
    font-family:"Playfair Display",serif;

    font-size:11px;
    font-weight:500;

    color:rgba(0,59,38,.58);
}


/* =========================================================
   RESPONSIVE — 1199px
========================================================= */

@media (max-width:1199px){

    .tgh-reservehero{
        padding-top:68px;
    }

    .tgh-reservehero__intro,
    .tgh-reservehero__experience,
    .tgh-reservehero__footerline{
        max-width:100%;
    }

    .tgh-reservehero__intro{
        grid-template-columns:
            85px minmax(0,1fr) 270px;

        gap:27px;
    }

    .tgh-reservehero__experience{
        grid-template-columns:
            minmax(0,1fr) 390px;

        gap:21px;
    }

    .tgh-reservehero__form-panel{
        padding:
            34px 32px 30px;
    }

}


/* =========================================================
   RESPONSIVE — 991px
========================================================= */

@media (max-width:991px){

    .tgh-reservehero{
        padding:
            58px 0 44px;
    }

    .tgh-reservehero__intro{
        grid-template-columns:
            65px minmax(0,1fr) 230px;

        gap:20px;
    }

    .tgh-reservehero__intro-heading h1{
        font-size:55px;
    }

    .tgh-reservehero__intro-copy{
        padding-left:17px;
    }

    .tgh-reservehero__experience{
        grid-template-columns:
            minmax(0,1fr) 340px;

        gap:18px;
    }

    .tgh-reservehero__form-panel{
        padding:
            30px 25px 27px;
    }

    .tgh-reservehero__form-head h2{
        font-size:34px;
    }

    .tgh-reservehero__location{
        padding:20px;
    }

    .tgh-reservehero__map{
        height:205px;
    }

    .tgh-reservehero__events{
        padding:
            21px 19px 18px;
    }

}


/* =========================================================
   MOBILE — 768px
========================================================= */

@media (max-width:768px){

    .tgh-reservehero{
        padding:
            45px 0 36px;
    }


    .tgh-reservehero__word{
        top:90px;
        right:-15px;

        font-size:110px;
    }


    .tgh-reservehero__ring{
        display:none;
    }


    /* TOP INTRO */

    .tgh-reservehero__intro{
        display:block;

        margin-bottom:27px;
        padding-bottom:26px;

        text-align:center;
    }


    .tgh-reservehero__intro-index{
        flex-direction:row;
        align-items:center;
        justify-content:center;

        margin-bottom:15px;
    }


    .tgh-reservehero__intro-index i{
        width:30px;
    }


    .tgh-reservehero__intro-heading h1{
        font-size:
            clamp(43px,11vw,58px);
    }


    .tgh-reservehero__intro-heading h1 em{
        margin-left:0;
    }


    .tgh-reservehero__intro-copy{
        max-width:450px;

        margin:
            20px auto 0;

        padding:
            15px 0 0;

        border-left:0;

        border-top:
            1px solid rgba(181,138,82,.40);
    }


    /* MAIN */

    .tgh-reservehero__experience{
        display:block;
    }


    /* FORM */

    .tgh-reservehero__form-panel{
        padding:
            31px 28px 28px;

        border-radius:
            0 28px 0 28px;
    }


    .tgh-reservehero__form-head{
        text-align:center;

        margin:
            0 auto 26px;
    }


    .tgh-reservehero__form-head h2{
        font-size:36px;
    }


    /* RIGHT */

    .tgh-reservehero__right{
        margin-top:20px;

        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));

        align-items:start;

        gap:17px;
    }


    .tgh-reservehero__location{
        border-radius:
            25px 0 25px 0;
    }


    .tgh-reservehero__map{
        height:235px;
    }


    .tgh-reservehero__promise{
        grid-column:1 / -1;
    }


    /* FOOT */

    .tgh-reservehero__footerline{
        margin-top:28px;
    }

}


/* =========================================================
   MOBILE — 576px
========================================================= */

@media (max-width:576px){

    .tgh-reservehero{
        padding:
            37px 0 31px;
    }


    .tgh-reservehero__eyebrow{
        font-size:7px;
    }


    .tgh-reservehero__intro-heading h1{
        font-size:43px;
    }


    .tgh-reservehero__intro-copy p{
        max-width:330px;

        margin-inline:auto;

        font-size:11px;
    }


    /* FORM */

    .tgh-reservehero__form-panel{
        padding:
            27px 19px 23px;

        border-radius:
            0 23px 0 23px;
    }


    .tgh-reservehero__panel-number{
        font-size:58px;
    }


    .tgh-reservehero__form-head h2{
        font-size:32px;
    }


    .tgh-reservehero__form-head p{
        font-size:10px;
    }


    .tgh-reservehero__form-row{
        grid-template-columns:1fr;

        gap:0;
    }


    .tgh-reservehero__field{
        margin-bottom:14px;
    }


    .tgh-reservehero__input input,
    .tgh-reservehero__input select{
        height:45px;
    }


    .tgh-reservehero__input textarea{
        min-height:95px;
    }


    /* RIGHT SINGLE COLUMN */

    .tgh-reservehero__right{
        display:flex;
        flex-direction:column;

        gap:15px;

        margin-top:16px;
    }


    .tgh-reservehero__location,
    .tgh-reservehero__events,
    .tgh-reservehero__promise{
        width:100%;
    }


    .tgh-reservehero__location{
        padding:19px;

        border-radius:
            21px 0 21px 0;
    }


    .tgh-reservehero__location-top h3{
        font-size:25px;
    }


    .tgh-reservehero__map{
        height:215px;
    }


    .tgh-reservehero__events{
        padding:
            20px 17px 17px;

        border-radius:
            0 20px 0 20px;
    }


    .tgh-reservehero__events-head h3{
        font-size:24px;
    }


    .tgh-reservehero__promise{
        grid-template-columns:
            46px auto 1fr;

        padding:
            15px 16px;
    }


    .tgh-reservehero__promise-mark{
        width:43px;
        height:43px;
    }


    /* FOOT */

    .tgh-reservehero__footerline{
        grid-template-columns:
            1fr;

        gap:7px;

        text-align:center;
    }


    .tgh-reservehero__footerline i{
        width:70px;

        margin:auto;
    }

}


/* =========================================================
   MOBILE — 480px
========================================================= */

@media (max-width:480px){

    .tgh-reservehero__intro-heading h1{
        font-size:39px;
    }


    .tgh-reservehero__form-panel{
        padding:
            24px 16px 21px;
    }


    .tgh-reservehero__form-head h2{
        font-size:29px;
    }


    .tgh-reservehero__location-bottom{
        align-items:flex-end;
    }


    .tgh-reservehero__location-bottom strong{
        font-size:12px;
    }


    .tgh-reservehero__direction{
        padding:
            8px 10px;
    }


    .tgh-reservehero__event{
        grid-template-columns:
            39px minmax(0,1fr) 25px;

        gap:9px;
    }


    .tgh-reservehero__event-date{
        width:39px;
        height:43px;
    }


    .tgh-reservehero__event-info h4{
        font-size:12px;
    }


    .tgh-reservehero__promise{
        grid-template-columns:
            43px minmax(0,1fr);

        gap:11px;
    }


    .tgh-reservehero__promise-line{
        display:none;
    }

}


/* =========================================================
   EXTRA SMALL — 360px
========================================================= */

@media (max-width:360px){

    .tgh-reservehero{
        padding-top:31px;
    }


    .tgh-reservehero__intro-heading h1{
        font-size:35px;
    }


    .tgh-reservehero__intro-index span{
        font-size:20px;
    }


    .tgh-reservehero__form-panel{
        padding:
            22px 13px 19px;
    }


    .tgh-reservehero__form-head h2{
        font-size:27px;
    }


    .tgh-reservehero__input input,
    .tgh-reservehero__input select{
        padding-left:38px;
    }


    .tgh-reservehero__input > i{
        left:13px;
    }


    .tgh-reservehero__location{
        padding:16px;
    }


    .tgh-reservehero__map{
        height:190px;
    }


    .tgh-reservehero__location-bottom{
        display:block;
    }


    .tgh-reservehero__direction{
        margin-top:12px;
    }


    .tgh-reservehero__events{
        padding:
            18px 14px 15px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion:reduce){

    .tgh-reservehero *,
    .tgh-reservehero *::before,
    .tgh-reservehero *::after{
        animation:none !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }

}

/* =========================================================
   TGH BOOKING FORM - PREMIUM DARK GREEN THEME
========================================================= */

.tgh-booking-card{
    position:relative;
    overflow:hidden;
    padding:36px 34px 28px;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(232,201,139,.12),
            transparent 28%
        ),
        radial-gradient(
            circle at 0% 100%,
            rgba(86,155,111,.12),
            transparent 30%
        ),
        #003B26;

    border:1px solid rgba(232,201,139,.28);
    border-radius:22px;

    box-shadow:
        0 24px 55px rgba(0,59,38,.20);
}


/* =========================================================
   SOFT DECORATIVE CIRCLES
========================================================= */

.tgh-booking-card:before{
    content:"";
    position:absolute;

    width:210px;
    height:210px;

    top:-125px;
    left:-100px;

    border:1px solid rgba(232,201,139,.13);
    border-radius:50%;

    pointer-events:none;
}


.tgh-booking-card:after{
    content:"";
    position:absolute;

    width:240px;
    height:240px;

    right:-140px;
    bottom:-145px;

    border:1px solid rgba(232,201,139,.12);
    border-radius:50%;

    pointer-events:none;
}


/* =========================================================
   TGH LOGO
========================================================= */

.tgh-booking-brand{
    position:absolute;

    top:17px;
    left:18px;

    width:54px;
    height:54px;

    padding:5px;

    background:#f7f1df;

    border-radius:50%;

    z-index:10;

    box-shadow:
        0 8px 20px rgba(0,0,0,.15);
}


.tgh-booking-brand img{
    width:100%;
    height:100%;

    display:block;

    object-fit:contain;
}


/* =========================================================
   BOTANICAL LEAVES
========================================================= */

.tgh-booking-leaf{
    position:absolute;
    z-index:1;
    pointer-events:none;
}


/* ---------- TOP RIGHT ---------- */

.tgh-booking-leaf--top{
    width:115px;
    height:125px;

    top:-12px;
    right:-7px;

    transform:rotate(-8deg);
}


.tgh-booking-leaf--top:before{
    content:"";

    position:absolute;

    width:7px;
    height:108px;

    left:60px;
    top:5px;

    background:#5ea476;

    border-radius:50px;

    transform:rotate(17deg);
}


.tgh-booking-leaf--top span{
    position:absolute;

    width:52px;
    height:29px;

    background:#5ea476;

    border-radius:100% 0 100% 0;
}


.tgh-booking-leaf--top span:nth-child(1){
    top:8px;
    left:28px;

    transform:rotate(-28deg);
}


.tgh-booking-leaf--top span:nth-child(2){
    top:41px;
    left:57px;

    transform:rotate(27deg);
}


.tgh-booking-leaf--top span:nth-child(3){
    top:70px;
    left:23px;

    transform:rotate(-22deg);
}


/* ---------- BOTTOM RIGHT ---------- */

.tgh-booking-leaf--bottom{
    width:140px;
    height:140px;

    right:-5px;
    bottom:-12px;

    transform:rotate(6deg);
}


.tgh-booking-leaf--bottom:before{
    content:"";

    position:absolute;

    width:9px;
    height:115px;

    left:79px;
    bottom:0;

    background:#4b9668;

    border-radius:50px;

    transform:rotate(-23deg);
}


.tgh-booking-leaf--bottom span{
    position:absolute;

    width:62px;
    height:36px;

    background:#4b9668;

    border-radius:100% 0 100% 0;
}


.tgh-booking-leaf--bottom span:nth-child(1){
    top:13px;
    left:60px;

    transform:rotate(-5deg);
}


.tgh-booking-leaf--bottom span:nth-child(2){
    top:50px;
    left:18px;

    transform:rotate(32deg);
}


.tgh-booking-leaf--bottom span:nth-child(3){
    top:79px;
    left:70px;

    transform:rotate(-18deg);
}


/* Old number hide */

.tgh-booking-card__number{
    display:none;
}


/* =========================================================
   HEADING
========================================================= */

.tgh-booking-card__head{
    position:relative;
    z-index:5;

    max-width:455px;

    margin:0 auto 24px;
    padding:5px 45px 19px;

    text-align:center;

    border-bottom:
        1px solid rgba(232,201,139,.40);
}


.tgh-booking-card__eyebrow{
    display:block;

    margin-bottom:7px;

    color:#e8c98b;

    font-size:7px;
    font-weight:700;

    letter-spacing:3px;

    text-transform:uppercase;
}


.tgh-booking-card__head h2{
    margin:0 0 7px;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:30px;
    line-height:1.1;

    font-weight:600;
}


.tgh-booking-card__head h2 em{
    color:#e8c98b;

    font-weight:400;
}


.tgh-booking-card__head p{
    max-width:350px;

    margin:0 auto;

    color:rgba(255,255,255,.62);

    font-size:9px;
    line-height:1.6;
}


/* Gold dot */

.tgh-booking-card__head:after{
    content:"";

    position:absolute;

    right:-3px;
    bottom:-3px;

    width:6px;
    height:6px;

    background:#e8c45c;

    border-radius:50%;
}


/* =========================================================
   FORM
========================================================= */

.tgh-booking-form{
    position:relative;
    z-index:5;

    max-width:500px;

    margin:0 auto;
}


/* =========================================================
   GUESTS | DATE | TIME
========================================================= */

.tgh-booking-top-row{
    display:grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:9px;

    margin-bottom:14px;
}


/* =========================================================
   LABEL
========================================================= */

.tgh-booking-control{
    margin-bottom:12px;
}


.tgh-booking-top-row
.tgh-booking-control{
    margin-bottom:0;
}


.tgh-booking-control > label{
    display:flex;
    align-items:center;

    gap:5px;

    margin-bottom:6px;

    color:#e8c98b;

    font-size:8px;
    font-weight:700;

    letter-spacing:.3px;
}


.tgh-booking-optional{
    color:rgba(255,255,255,.45);

    font-size:7px;
    font-weight:500;
}


/* =========================================================
   INPUT BOXES
========================================================= */

.tgh-booking-box{
    position:relative;

    width:100%;

    min-height:43px;

    display:flex;
    align-items:center;

    overflow:hidden;

    background:
        rgba(255,255,255,.075);

    border:
        1px solid rgba(232,201,139,.30);

    border-radius:8px;

    transition:.25s ease;
}


.tgh-booking-box:hover{
    background:
        rgba(255,255,255,.10);

    border-color:
        rgba(232,201,139,.60);
}


.tgh-booking-box:focus-within{
    background:
        rgba(255,255,255,.12);

    border-color:#e8c98b;

    box-shadow:
        0 0 0 3px
        rgba(232,201,139,.07);
}


/* =========================================================
   ICONS
========================================================= */

.tgh-booking-box__icon{
    width:39px;
    min-width:39px;

    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#e8c98b;

    font-size:10px;

    border-right:
        1px solid rgba(255,255,255,.12);
}


/* =========================================================
   INPUT / SELECT
========================================================= */

.tgh-booking-box input,
.tgh-booking-box select,
.tgh-booking-box textarea{
    width:100%;
    min-width:0;

    margin:0;

    border:0;
    outline:0;

    background:transparent;

    color:#fff;

    font-family:inherit;

    font-size:9px;
}


.tgh-booking-box input,
.tgh-booking-box select{
    height:42px;

    padding:0 10px;
}


.tgh-booking-box select{
    cursor:pointer;
}


.tgh-booking-box select option{
    background:#fff;

    color:#003B26;
}


.tgh-booking-box input::placeholder,
.tgh-booking-box textarea::placeholder{
    color:rgba(255,255,255,.45);
}


/* Date calendar */

.tgh-booking-box input[type="date"]{
    color-scheme:dark;
}


/* =========================================================
   SPECIAL REQUEST
========================================================= */

.tgh-booking-box--message{
    min-height:72px;

    align-items:flex-start;
}


.tgh-booking-box--message
.tgh-booking-box__icon{
    min-height:70px;

    align-items:flex-start;

    padding-top:13px;
}


.tgh-booking-box textarea{
    min-height:70px;

    padding:11px 10px 9px;

    line-height:1.5;

    resize:vertical;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.tgh-booking-submit{
    width:100%;

    min-height:45px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:
        5px 5px 5px 17px;

    border:0;

    border-radius:8px;

    background:#e8c98b;

    color:#003B26;

    font-family:inherit;

    font-size:8px;
    font-weight:800;

    letter-spacing:.8px;

    text-transform:uppercase;

    cursor:pointer;

    box-shadow:
        0 10px 25px rgba(0,0,0,.12);

    transition:.3s ease;
}


.tgh-booking-submit__icon{
    width:35px;
    height:35px;

    flex:0 0 35px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#003B26;

    color:#fff;

    border-radius:6px;

    transition:.3s ease;
}


.tgh-booking-submit:hover{
    background:#fff;

    transform:translateY(-2px);
}


.tgh-booking-submit:hover
.tgh-booking-submit__icon{
    transform:translateX(2px);
}


/* =========================================================
   BOTTOM NOTE
========================================================= */

.tgh-booking-note{
    position:relative;

    z-index:5;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    margin-top:12px;

    color:
        rgba(255,255,255,.50);

    font-size:7px;

    text-align:center;
}


.tgh-booking-note:before,
.tgh-booking-note:after{
    content:"";

    width:35px;
    height:1px;

    background:
        rgba(232,201,139,.40);
}


.tgh-booking-note i{
    color:#e8c98b;

    font-size:7px;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .tgh-booking-card{
        padding:
            34px 26px 27px;
    }


    .tgh-booking-card__head h2{
        font-size:28px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:767px){

    .tgh-booking-card{
        padding:
            72px 18px 23px;

        border-radius:18px;
    }


    .tgh-booking-brand{
        top:13px;
        left:13px;

        width:49px;
        height:49px;
    }


    .tgh-booking-card__head{
        padding-left:10px;
        padding-right:10px;
    }


    .tgh-booking-card__head h2{
        font-size:26px;
    }


    /* Guests | Date | Time
       SAME ONE ROW */

    .tgh-booking-top-row{
        grid-template-columns:
            repeat(3,minmax(0,1fr));

        gap:5px;
    }


    .tgh-booking-top-row
    .tgh-booking-box__icon{
        display:none;
    }


    .tgh-booking-top-row
    .tgh-booking-box input,

    .tgh-booking-top-row
    .tgh-booking-box select{
        padding:0 5px;

        font-size:8px;
    }


    .tgh-booking-leaf--top{
        transform:
            scale(.72)
            rotate(-8deg);

        transform-origin:top right;
    }


    .tgh-booking-leaf--bottom{
        transform:
            scale(.68)
            rotate(6deg);

        transform-origin:bottom right;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:420px){

    .tgh-booking-card{
        padding:
            68px 14px 21px;
    }


    .tgh-booking-card__head h2{
        font-size:24px;
    }


    .tgh-booking-top-row{
        gap:4px;
    }


    .tgh-booking-top-row
    .tgh-booking-control > label{
        font-size:7px;
    }


    .tgh-booking-top-row
    .tgh-booking-box{
        min-height:39px;
    }


    .tgh-booking-top-row
    .tgh-booking-box input,

    .tgh-booking-top-row
    .tgh-booking-box select{
        height:38px;

        padding:0 4px;

        font-size:7.5px;
    }


    .tgh-booking-box__icon{
        width:35px;
        min-width:35px;
    }

}

.tgh-time-slots{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
}

.tgh-time-slot{
    margin:0;
    cursor:pointer;
}

.tgh-time-slot input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.tgh-time-slot span{
    min-height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:8px 5px;

    background:rgba(255,255,255,.07);

    border:1px solid rgba(232,201,139,.32);
    border-radius:7px;

    color:#fff;

    font-size:9px;
    font-weight:700;

    transition:.25s ease;
}

.tgh-time-slot:hover span{
    border-color:#e8c98b;
    background:rgba(232,201,139,.12);
}

.tgh-time-slot input:checked + span{
    background:#e8c98b;
    border-color:#e8c98b;
    color:#003B26;
}


/* Extra time initially hidden */

.tgh-extra-time{
    display:none;
}

.tgh-time-slots.show-all .tgh-extra-time{
    display:block;
}


/* More Times */

.tgh-more-times{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:7px;

    margin:9px auto 0;
    padding:7px 15px;

    border:0;
    background:transparent;

    color:#e8c98b;

    font-size:8px;
    font-weight:700;

    cursor:pointer;
}

.tgh-more-times i{
    font-size:7px;
    transition:.3s;
}

.tgh-more-times.active i{
    transform:rotate(180deg);
}


@media(max-width:576px){

    .tgh-time-slots{
        grid-template-columns:repeat(2,1fr);
        gap:6px;
    }

}

/* =========================================
   RESERVATION MAP - TGH GREEN MAP FIX
   ADD AT END ONLY
========================================= */

.tgh-reservehero__map {
    background: #dce8df;
    border-color: rgba(232, 201, 139, 0.30);
}

/* Keep Google map clear and RED location pin visible */
.tgh-reservehero__map iframe {
    width: 100%;
    height: 100%;
    border: 0;

    filter:
        saturate(82%)
        brightness(104%)
        contrast(94%) !important;

    opacity: 1 !important;
}

/* Very soft TGH green tint */
.tgh-reservehero__map::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;

    background: rgba(0, 76, 53, 0.045);
}

/* Keep existing Leopard Trail badge above map tint */
.tgh-reservehero__map-tag {
    z-index: 3;
}

/* Gallery Page Banner Section */
.gallery-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.gallery-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.gallery-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.gallery-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.gallery-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.gallery-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.gallery-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.gallery-breadcrumb a:hover{
    color: #fff;
}

.gallery-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.gallery-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .gallery-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .gallery-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .gallery-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .gallery-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .gallery-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .gallery-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .gallery-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .gallery-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .gallery-banner-content h1{
        font-size: 36px;
    }

    .gallery-breadcrumb{
        font-size: 10px;
    }
}

/* Gallery Page First Section */
.tgh-gallerypage{

    position:relative;

    padding:110px 0;

    overflow:hidden;

    background:#faf6ee;

}


/* Background */

.tgh-gallerypage:before{

    content:"GALLERY";

    position:absolute;

    top:80px;

    right:-40px;

    font-family:"Playfair Display",serif;

    font-size:220px;

    color:rgba(0,59,38,.035);

    line-height:1;

    pointer-events:none;

}




/* =====================================================
   HEADER
===================================================== */


.tgh-gallerypage-head{

    display:grid;

    grid-template-columns:90px 1fr 280px;

    align-items:end;

    gap:35px;

    margin-bottom:55px;

}



.tgh-gallerypage-number span{

    font-family:"Playfair Display",serif;

    color:#b58a52;

    font-size:28px;

}



.tgh-gallerypage-number i{

    display:block;

    width:45px;

    height:1px;

    background:#b58a52;

    margin-top:12px;

}



.tgh-gallerypage-head small{

    color:#b58a52;

    font-size:8px;

    letter-spacing:4px;

    font-weight:700;

}



.tgh-gallerypage-head h1{

    margin:12px 0 0;

    font-family:"Playfair Display",serif;

    font-size:65px;

    line-height:.95;

    letter-spacing:-2px;

    color:#003b26;

}



.tgh-gallerypage-head h1 em{

    display:block;

    color:#b58a52;

    margin-left:80px;

}



.tgh-gallerypage-head p{

    font-size:13px;

    line-height:1.8;

    color:#66736d;

    border-left:1px solid #b58a52;

    padding-left:20px;

}





/* =====================================================
   GRID
===================================================== */


.tgh-gallerypage-grid{

    display:grid;

    grid-template-columns:

    repeat(12,1fr);

    gap:22px;

}



/* card placement */


.tgh-gallerypage-card:nth-child(1){

    grid-column:span 4;

}



.tgh-gallerypage-card:nth-child(2){

    grid-column:span 8;

}



.tgh-gallerypage-card:nth-child(3){

    grid-column:span 4;

}



.tgh-gallerypage-card:nth-child(4){

    grid-column:span 8;

}



.tgh-gallerypage-card:nth-child(5){

    grid-column:span 7;

}



.tgh-gallerypage-card:nth-child(6){

    grid-column:span 5;

}



.extra-gallery-card{

    grid-column:span 6;

}





/* =====================================================
   IMAGE CARD
===================================================== */


.tgh-gallerypage-card{

    position:relative;

    overflow:hidden;

    height:310px;

    border-radius:4px 28px 4px 28px;

    cursor:pointer;

    box-shadow:

    0 20px 45px rgba(0,0,0,.10);

}



.tgh-gallerypage-card:nth-child(even){

    border-radius:

    28px 4px 28px 4px;

}



.tgh-gallerypage-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.8s ease;

}



.tgh-gallerypage-card:hover img{

    transform:scale(1.08);

}





/* =====================================================
   OVERLAY
===================================================== */


.tgh-gallerypage-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:

    linear-gradient(

    180deg,

    rgba(0,59,38,.05),

    rgba(0,59,38,.65)

    );

    opacity:0;

    transition:.4s ease;

}



.tgh-gallerypage-card:hover 
.tgh-gallerypage-overlay{

    opacity:1;

}





/* CENTER ICON */


.gallery-view{

    width:65px;

    height:65px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.6);

    background:#faf6ee;

    color:#003b26;

    font-size:20px;

    cursor:pointer;

    transform:scale(.6);

    transition:.4s ease;

}



.tgh-gallerypage-card:hover 
.gallery-view{

    transform:scale(1);

}





.gallery-view:hover{

    background:#003b26;

    color:white;

}





/* =====================================================
   CAPTION
===================================================== */


.gallery-caption{

    position:absolute;

    left:22px;

    bottom:20px;

    z-index:2;

    color:white;

}



.gallery-caption small{

    display:block;

    font-size:7px;

    letter-spacing:3px;

    color:#e4c18c;

    margin-bottom:5px;

}



.gallery-caption h3{

    margin:0;

    font-family:"Playfair Display",serif;

    font-size:22px;

    font-weight:500;

}





/* =====================================================
   LOAD MORE
===================================================== */


.gallery-load-wrap{

    text-align:center;

    margin-top:55px;

}



#galleryLoadMore{


    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:15px 32px;


    border-radius:50px;

    border:1px solid rgba(0,59,38,.25);


    background:#003b26;

    color:white;


    font-weight:600;

    cursor:pointer;

    transition:.4s ease;


}



#galleryLoadMore i{

    width:28px;

    height:28px;

    border-radius:50%;

    background:#b58a52;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:12px;

}



#galleryLoadMore:hover{

    background:#b58a52;

    transform:translateY(-5px);

}





/* =====================================================
   TABLET
===================================================== */


@media(max-width:991px){


.tgh-gallerypage-head{

    grid-template-columns:1fr;

    text-align:center;

}


.tgh-gallerypage-head h1 em{

    margin-left:0;

}



.tgh-gallerypage-head p{

    max-width:450px;

    margin:auto;

}



.tgh-gallerypage-grid{

    grid-template-columns:repeat(2,1fr);

}



.tgh-gallerypage-card,
.extra-gallery-card{

    grid-column:span 1 !important;

}


}





/* =====================================================
   MOBILE
===================================================== */


@media(max-width:576px){


.tgh-gallerypage{

    padding:60px 0;

}



.tgh-gallerypage:before{

    font-size:90px;

}



.tgh-gallerypage-head h1{

    font-size:40px;

}



.tgh-gallerypage-grid{

    display:block;

}



.tgh-gallerypage-card{

    height:280px;

    margin-bottom:18px;

}



.gallery-view{

    width:55px;

    height:55px;

}



.gallery-caption h3{

    font-size:18px;

}


}

/* Gallery Popup */

.tgh-gallery-lightbox-popup{

    position:fixed;

    inset:0;

    background:
    rgba(0,20,12,.94);

    z-index:999999;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

}


.tgh-gallery-lightbox-popup.active{

    opacity:1;

    visibility:visible;

}



.gallery-popup-image-box img{

    max-width:80vw;

    max-height:80vh;

    border-radius:20px;

    box-shadow:
    0 30px 80px rgba(0,0,0,.5);

}



.gallery-popup-close,
.gallery-popup-prev,
.gallery-popup-next{

    position:absolute;

    width:55px;

    height:55px;

    border-radius:50%;

    border:none;

    background:#faf6ee;

    color:#003b26;

    cursor:pointer;

    font-size:18px;

}



.gallery-popup-close{

    top:30px;

    right:40px;

}


.gallery-popup-prev{

    left:40px;

}


.gallery-popup-next{

    right:40px;

}



.gallery-popup-close:hover,
.gallery-popup-prev:hover,
.gallery-popup-next:hover{

    background:#b58a52;

    color:white;

}




@media(max-width:576px){


.gallery-popup-image-box img{

    max-width:90vw;

}



.gallery-popup-prev{

    left:15px;

}



.gallery-popup-next{

    right:15px;

}



.gallery-popup-close{

    top:20px;

    right:20px;

}


}

/* Videos Page Banner Section */
.videos-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.videos-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.videos-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.videos-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.videos-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.videos-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.videos-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.videos-breadcrumb a:hover{
    color: #fff;
}

.gallery-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.videos-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .videos-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .videos-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .videos-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .videos-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .videos-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .videos-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .videos-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .videos-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .videos-banner-content h1{
        font-size: 36px;
    }

    .videos-breadcrumb{
        font-size: 10px;
    }
}

/* Videos Page First Section */
.tgh-videogallery-section{

    padding:110px 0;

    background:#faf7ef;

    position:relative;

    overflow:hidden;

}




/* Background Detail */

.tgh-videogallery-section::before{

    content:"VIDEOS";

    position:absolute;

    top:80px;

    right:-50px;

    font-family:"Playfair Display",serif;

    font-size:220px;

    color:rgba(0,59,38,.035);

    pointer-events:none;

}






/* =====================================================
   HEADING
===================================================== */


.tgh-videogallery-heading{

    max-width:750px;

    margin:0 auto 60px;

}



.tgh-videogallery-heading span{

    color:#b58a52;

    font-size:11px;

    letter-spacing:5px;

    font-weight:700;

}



.tgh-videogallery-heading h2{

    margin:20px 0;

    color:#003b26;

    font-family:"Playfair Display",serif;

    font-size:58px;

    line-height:1;

}



.tgh-videogallery-heading p{

    color:#666;

    font-size:15px;

    line-height:1.8;

}







/* =====================================================
   VIDEO GRID
===================================================== */


.tgh-videogallery-grid{


    display:grid;

    grid-template-columns:

    repeat(3,1fr);


    gap:28px;


}





/* =====================================================
   CARD
===================================================== */


.tgh-videogallery-card{

    position:relative;

    height:420px;

    overflow:hidden;

    border-radius:35px;

    cursor:pointer;

    box-shadow:

    0 25px 60px rgba(0,0,0,.12);

    background:#003b26;

}




.tgh-videogallery-card video{


    width:100%;

    height:100%;

    object-fit:cover;


    transition:.8s ease;

}



.tgh-videogallery-card:hover video{


    transform:scale(1.08);


}







/* =====================================================
   OVERLAY
===================================================== */


.videogallery-overlay{


    position:absolute;

    inset:0;


    background:

    linear-gradient(

    180deg,

    transparent 25%,

    rgba(0,59,38,.75)

    );


}







/* =====================================================
   PLAY BUTTON
===================================================== */


.videogallery-play{


    position:absolute;


    top:50%;

    left:50%;


    transform:

    translate(-50%,-50%);


    width:70px;

    height:70px;


    border-radius:50%;


    border:1px solid rgba(255,255,255,.5);


    background:#faf7ef;


    color:#003b26;


    display:flex;

    align-items:center;

    justify-content:center;


    font-size:22px;


    cursor:pointer;


    transition:.4s ease;


}




.videogallery-play i{

    margin-left:4px;

}




.tgh-videogallery-card:hover 
.videogallery-play{


    background:#b58a52;


    color:white;


    transform:

    translate(-50%,-50%)

    scale(1.12);


}







/* =====================================================
   CONTENT
===================================================== */


.videogallery-content{


    position:absolute;


    left:25px;

    bottom:25px;


    color:white;


    z-index:2;


}



.videogallery-content span{


    color:#e3c38d;


    font-size:9px;


    letter-spacing:3px;


}



.videogallery-content h3{


    margin:8px 0 0;


    font-family:"Playfair Display",serif;


    font-size:24px;


    font-weight:500;


}








/* =====================================================
   LOAD MORE
===================================================== */


.videogallery-load{


    text-align:center;

    margin-top:55px;


}



#videoGalleryLoadMore{


    display:inline-flex;


    align-items:center;


    gap:12px;


    padding:15px 35px;


    border-radius:50px;


    border:none;


    background:#003b26;


    color:white;


    font-weight:600;


    cursor:pointer;


    transition:.4s ease;


}




#videoGalleryLoadMore i{


    width:28px;


    height:28px;


    border-radius:50%;


    background:#b58a52;


    display:flex;


    align-items:center;


    justify-content:center;


    font-size:12px;


}





#videoGalleryLoadMore:hover{


    background:#b58a52;


    transform:translateY(-5px);


}









/* =====================================================
   TABLET
===================================================== */


@media(max-width:991px){



.tgh-videogallery-grid{


    grid-template-columns:

    repeat(2,1fr);


}



.tgh-videogallery-card{


    height:360px;


}



.tgh-videogallery-heading h2{


    font-size:42px;


}



}









/* =====================================================
   MOBILE
===================================================== */


@media(max-width:576px){



.tgh-videogallery-section{


    padding:70px 0;


}




.tgh-videogallery-section::before{


    font-size:90px;


}



.tgh-videogallery-heading h2{


    font-size:36px;


}



.tgh-videogallery-grid{


    grid-template-columns:

    1fr;


}




.tgh-videogallery-card{


    height:300px;


}



.videogallery-play{


    width:58px;

    height:58px;


    font-size:18px;


}



.videogallery-content h3{


    font-size:19px;


}



}

/* =====================================================
   VIDEO GALLERY POPUP
===================================================== */


.tgh-videogallery-popup{

    position:fixed;

    inset:0;

    background:
    rgba(0,0,0,.88);

    z-index:999999;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

}



.tgh-videogallery-popup.active{

    opacity:1;

    visibility:visible;

}



.videogallery-player{

    width:min(850px,90vw);

    max-height:80vh;

    border-radius:25px;

    background:black;

}



.videogallery-close,
.videogallery-prev,
.videogallery-next{

    position:absolute;

    width:55px;

    height:55px;

    border-radius:50%;

    border:none;

    background:#faf7ef;

    color:#003b26;

    cursor:pointer;

    font-size:18px;

}



.videogallery-close{

    top:30px;

    right:40px;

}



.videogallery-prev{

    left:40px;

}



.videogallery-next{

    right:40px;

}




.videogallery-close:hover,
.videogallery-prev:hover,
.videogallery-next:hover{

    background:#b58a52;

    color:white;

}



@media(max-width:576px){


.videogallery-player{

    width:92vw;

}



.videogallery-prev{

    left:15px;

}



.videogallery-next{

    right:15px;

}



.videogallery-close{

    top:20px;

    right:20px;

}


}

/* =====================================================
   TGH VIDEO GALLERY CARD PREMIUM HOVER ONLY
===================================================== */


.tgh-videogallery-card{

    transition:
    transform .45s ease,
    box-shadow .45s ease;

}



.tgh-videogallery-card:hover{

    transform:translateY(-10px);


    box-shadow:

    0 30px 70px rgba(0,59,38,.20);

}



.tgh-videogallery-card::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.18),
        transparent
    );


    transform:translateX(-120%);

    transition:.7s ease;

    pointer-events:none;

}



.tgh-videogallery-card:hover::after{

    transform:translateX(120%);

}

/* Contact Us Page Banner Section */
.contact-us-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.contact-us-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.contact-us-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.contact-us-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.contact-us-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.contact-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.contact-us-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.contact-breadcrumb a:hover{
    color: #fff;
}

.contact-us-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.contact-us-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .contact-us-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .contact-us-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .contact-us-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .contact-us-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .contact-us-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .contact-us-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .contact-us-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .contact-us-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .contact-us-banner-content h1{
        font-size: 36px;
    }

    .contact-us-breadcrumb{
        font-size: 10px;
    }
}

/* Contact Us Page First Section */
.tgh-luxury-contact{

    padding:120px 0;
    background:#f8f4eb;
    overflow:hidden;

}



.luxury-contact-wrapper{

    display:flex;
    align-items:center;
    gap:85px;

}



/* =====================================
   IMAGE AREA
===================================== */


.luxury-image-box{

    width:52%;
    position:relative;

}



.main-cafe-image{

    height:650px;
    border-radius:40px;
    overflow:hidden;
    position:relative;

}



.main-cafe-image img{

    width:100%;
    height:100%;
    object-fit:cover;
    transition:.7s ease;

}



.main-cafe-image:hover img{

    transform:scale(1.08);

}



.image-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
    180deg,
    transparent 45%,
    rgba(0,0,0,.35)
    );

}





/* EXPERIENCE CIRCLE */


.experience-circle{

    position:absolute;

    right:-55px;
    bottom:70px;

    width:175px;
    height:175px;

    background:#003b26;

    border-radius:50%;

    border:12px solid #f8f4eb;

    display:flex;
    flex-direction:column;

    align-items:center;
    justify-content:center;

    text-align:center;

}



.experience-circle strong{

    font-family:'Playfair Display',serif;

    font-size:52px;

    color:#e5c98a;

    line-height:1;

}



.experience-circle span{

    color:white;

    font-size:12px;

    line-height:1.5;

    margin-top:8px;

}







/* VISIT CARD */


.visit-card{

    position:absolute;

    left:35px;

    bottom:35px;


    background:white;

    padding:18px 25px;

    border-radius:20px;

    display:flex;

    align-items:center;

    gap:15px;

    box-shadow:0 20px 50px rgba(0,0,0,.15);

}



.visit-card i{

    width:45px;

    height:45px;

    background:#003b26;

    color:white;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

}



.visit-card h5{

    margin:0;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:18px;

}



.visit-card p{

    margin:3px 0 0;

    color:#777;

    font-size:13px;

}





/* GOLD DECOR */


.gold-shape{

    position:absolute;

    width:120px;

    height:120px;

    border:2px solid #d7b36a;

    border-radius:50%;

    top:-45px;

    left:-45px;

    z-index:-1;

}







/* =====================================
   CONTENT AREA
===================================== */


.luxury-contact-content{

    width:48%;

}



.luxury-tag{

    font-size:11px;

    letter-spacing:6px;

    color:#9a7845;

}





.luxury-contact-content h2{

    font-family:'Playfair Display',serif;

    font-size:60px;

    line-height:1.05;

    color:#003b26;

    margin:25px 0;

}



.luxury-text{

    font-size:16px;

    color:#666;

    line-height:1.8;

    max-width:480px;

}





/* CONTACT CARDS */


.contact-box-grid{

    margin-top:45px;

}



.contact-luxury-card{

    display:flex;

    align-items:center;

    gap:20px;

    padding:20px 0;

    border-bottom:1px solid rgba(0,59,38,.15);

    transition:.3s ease;

}



.contact-luxury-card:hover{

    transform:translateX(12px);

}



.luxury-icon{

    width:55px;

    height:55px;

    background:#003b26;

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    flex-shrink:0;

}



.contact-luxury-card h4{

    margin:0 0 6px;

    font-family:'Playfair Display',serif;

    font-size:21px;

    color:#003b26;

}



.contact-luxury-card p{

    margin:0;

    font-size:14px;

    color:#777;

    line-height:1.6;

}






/* OPENING BOX */


.opening-premium-box{

    margin-top:35px;

    background:#003b26;

    color:white;

    max-width:360px;

    padding:28px 35px;

    border-radius:25px;

    display:flex;

    justify-content:space-between;

    align-items:center;

}



.opening-premium-box h4{

    font-family:'Playfair Display',serif;

    margin:0 0 8px;

    font-size:24px;

}



.opening-premium-box p{

    margin:0;

    font-size:14px;

    line-height:1.7;

}



.time-icon{

    width:55px;

    height:55px;

    border-radius:50%;

    border:1px solid #e5c98a;

    display:flex;

    align-items:center;

    justify-content:center;

}



.time-icon i{

    color:#e5c98a;

    font-size:25px;

}





/* =====================================
   RESPONSIVE
===================================== */


@media(max-width:991px){


.luxury-contact-wrapper{

    flex-direction:column;

}



.luxury-image-box,
.luxury-contact-content{

    width:100%;

}



.main-cafe-image{

    height:500px;

}



.experience-circle{

    width:140px;

    height:140px;

    right:15px;

}



.experience-circle strong{

    font-size:40px;

}



.luxury-contact-content h2{

    font-size:42px;

}


}




@media(max-width:576px){


.tgh-luxury-contact{

    padding:70px 0;

}



.main-cafe-image{

    height:400px;

}



.visit-card{

    left:15px;

    bottom:15px;

    padding:12px;

}



.luxury-contact-content h2{

    font-size:34px;

}



.opening-premium-box{

    padding:22px;

}



}

/* =========================================
   CONTACT SECTION FINAL ADJUSTMENT
   ADD AT END ONLY
========================================= */


.tgh-luxury-contact .luxury-contact-wrapper{

    gap:70px;
    align-items:center;

}



.tgh-luxury-contact .luxury-image-box{

    width:50%;

}



.tgh-luxury-contact .luxury-contact-content{

    width:50%;

}




/* IMAGE HEIGHT PERFECT */

.tgh-luxury-contact .main-cafe-image{

    height:600px;

}



/* 10+ EXPERIENCE BADGE RESTORE */

.tgh-luxury-contact .experience-circle{

    display:flex;

    right:-35px;

    bottom:55px;

    width:150px;

    height:150px;

    border:10px solid #f8f4eb;

}



.tgh-luxury-contact .experience-circle strong{

    font-size:42px;

}



.tgh-luxury-contact .experience-circle span{

    font-size:11px;

}



/* OPENING BOX FIX */

.tgh-luxury-contact .opening-premium-box{

    width:100%;

    max-width:310px;

    box-sizing:border-box;

    margin-top:30px;

}



.tgh-luxury-contact .opening-premium-box h4{

    font-size:20px;

}



.tgh-luxury-contact .opening-premium-box p{

    font-size:13px;

}




/* CONTACT CONTENT SPACING */

.tgh-luxury-contact .luxury-contact-content h2{

    font-size:54px;

    margin-top:20px;

}



.tgh-luxury-contact .luxury-text{

    margin-bottom:20px;

}



/* CARD SPACING */

.tgh-luxury-contact .contact-luxury-card{

    padding:16px 0;

}




/* MOBILE FIX */

@media(max-width:991px){


.tgh-luxury-contact .luxury-image-box,
.tgh-luxury-contact .luxury-contact-content{

    width:100%;

}


.tgh-luxury-contact .experience-circle{

    right:15px;

}



}



@media(max-width:576px){


.tgh-luxury-contact .main-cafe-image{

    height:420px;

}



.tgh-luxury-contact .opening-premium-box{

    max-width:100%;

}



}

/* ==========================================
   MOBILE CONTACT SECTION PREMIUM FIX
   ADD AT END ONLY
========================================== */


@media(max-width:576px){


/* MAIN SECTION */

.tgh-luxury-contact{

    padding:60px 15px;

}



/* IMAGE */

.luxury-image-box{

    width:100%;

}


.main-cafe-image{

    height:430px;

    border-radius:35px;

}




/* REMOVE EXTRA SIDE OVERFLOW */

.luxury-contact-wrapper{

    gap:45px;

    overflow:hidden;

}



/* EXPERIENCE BADGE */

.experience-circle{

    width:120px !important;

    height:120px !important;

    right:10px !important;

    bottom:25px !important;

}



.experience-circle strong{

    font-size:34px !important;

}


.experience-circle span{

    font-size:9px !important;

}





/* VISIT CARD CENTER */

.visit-card{

    left:50% !important;

    transform:translateX(-50%);

    bottom:20px !important;

    width:210px;

    justify-content:center;

    padding:15px 18px;

}



.visit-card i{

    width:42px;

    height:42px;

}




/* CONTENT CENTER */

.luxury-contact-content{

    width:100%;

    text-align:center;

}



.luxury-tag{

    display:block;

    text-align:center;

    letter-spacing:5px;

    font-size:10px;

}



.luxury-contact-content h2{

    font-size:42px !important;

    line-height:1.08;

    text-align:center;

    margin:20px auto;

}



.luxury-text{

    text-align:center;

    margin:0 auto;

    font-size:15px;

    max-width:330px;

}





/* CONTACT CARDS CENTER */

.contact-box-grid{

    margin-top:35px;

}



.contact-luxury-card{

    flex-direction:column;

    text-align:center;

    gap:12px;

    padding:25px 0;

}



.luxury-icon{

    width:55px;

    height:55px;

}



.contact-luxury-card h4{

    font-size:20px;

}



.contact-luxury-card p{

    font-size:14px;

}




/* OPENING HOURS CENTER */


.opening-premium-box{

    width:100% !important;

    max-width:330px !important;

    margin:30px auto 0 !important;

    padding:25px 20px !important;

}



.opening-premium-box h4{

    font-size:22px;

}



.time-icon{

    width:50px;

    height:50px;

}



}

/* Contact Us Page Second Section */
.tgh-final-contact-section{

    padding:120px 0;

    background:#003b26;

    position:relative;

    overflow:hidden;

}



.tgh-final-contact-section::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    border:1px solid rgba(229,201,138,.12);

    top:-200px;

    right:-150px;

}



.tgh-final-contact-section::after{

    content:"";

    position:absolute;

    width:250px;

    height:250px;

    border-radius:50%;

    background:rgba(229,201,138,.06);

    bottom:-100px;

    left:-80px;

}





.final-contact-wrapper{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:90px;

    position:relative;

    z-index:2;

}





/* =================================
   LEFT CONTENT
================================= */


.final-contact-content{

    width:48%;

}



.final-contact-label{

    color:#e5c98a;

    font-size:11px;

    letter-spacing:6px;

    text-transform:uppercase;

}



.final-contact-content h2{

    margin:25px 0;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:62px;

    line-height:1.08;

}



.final-contact-content p{

    color:rgba(255,255,255,.78);

    font-size:16px;

    line-height:1.9;

    max-width:480px;

}





/* HIGHLIGHTS */


.final-highlight{

    margin-top:45px;

}



.highlight-box{

    display:flex;

    align-items:center;

    gap:20px;

    padding:18px 0;

    border-bottom:1px solid rgba(255,255,255,.15);

}



.highlight-number{

    width:48px;

    height:48px;

    border-radius:50%;

    border:1px solid #e5c98a;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#e5c98a;

    font-size:14px;

}



.highlight-box h4{

    margin:0 0 5px;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:20px;

}



.highlight-box span{

    color:rgba(255,255,255,.6);

    font-size:13px;

}





.contact-bottom-message{

    margin-top:35px;

    display:flex;

    align-items:center;

    gap:15px;

}



.contact-bottom-message i{

    width:45px;

    height:45px;

    background:#e5c98a;

    color:#003b26;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

}



.contact-bottom-message p{

    margin:0;

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:18px;

    line-height:1.5;

}








/* =================================
   FORM BOX
================================= */


.final-contact-form{

    width:45%;

    background:#f8f4eb;

    padding:45px;

    border-radius:38px;

    box-shadow:0 30px 80px rgba(0,0,0,.25);

    position:relative;

}



.final-contact-form::before{

    content:"";

    position:absolute;

    width:90px;

    height:90px;

    border-radius:50%;

    border:1px solid #e5c98a;

    top:-35px;

    right:-35px;

}






/* FORM HEADING */


.form-title span{

    color:#987544;

    font-size:11px;

    letter-spacing:5px;

}



.form-title h3{

    margin:18px 0 10px;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:38px;

    line-height:1.15;

}



.form-title p{

    color:#777;

    font-size:14px;

    line-height:1.7;

    margin-bottom:30px;

}






/* INPUTS */


.final-form-row{

    display:flex;

    gap:15px;

}



.final-input{

    width:100%;

    height:58px;

    background:#fff;

    border-radius:18px;

    display:flex;

    align-items:center;

    gap:15px;

    padding:0 18px;

    margin-bottom:18px;

    border:1px solid rgba(0,59,38,.12);

    transition:.3s ease;

}



.final-input:hover{

    transform:translateY(-3px);

    box-shadow:0 12px 25px rgba(0,0,0,.08);

}



.final-input:focus-within{

    border-color:#003b26;

}



.final-input i{

    color:#003b26;

}



.final-input input,
.final-input textarea{

    width:100%;

    border:none;

    outline:none;

    background:transparent;

    color:#333;

    font-size:14px;

}



.final-input textarea{

    resize:none;

    height:85px;

}



.final-textarea{

    height:120px;

    align-items:flex-start;

    padding-top:18px;

}







/* BUTTON */


.final-send-btn{

    border:none;

    background:#003b26;

    color:#fff;

    padding:17px 35px;

    border-radius:50px;

    display:flex;

    align-items:center;

    gap:15px;

    font-size:15px;

    cursor:pointer;

    transition:.3s ease;

}



.final-send-btn:hover{

    background:#e5c98a;

    color:#003b26;

    transform:translateY(-3px);

}







/* =================================
   RESPONSIVE
================================= */


@media(max-width:991px){


.final-contact-wrapper{

    flex-direction:column;

    gap:60px;

}



.final-contact-content,
.final-contact-form{

    width:100%;

}



.final-contact-content h2{

    font-size:48px;

}



}





@media(max-width:576px){


.tgh-final-contact-section{

    padding:70px 15px;

}



.final-contact-content{

    text-align:center;

}



.final-contact-content h2{

    font-size:38px;

}



.final-contact-content p{

    margin:auto;

}



.contact-bottom-message{

    justify-content:center;

}



.highlight-box{

    text-align:left;

}



.final-contact-form{

    padding:30px 20px;

    border-radius:30px;

}



.form-title h3{

    font-size:30px;

}



.final-form-row{

    flex-direction:column;

    gap:0;

}



.final-send-btn{

    margin:auto;

}



}

/* ==========================================
   CONTACT FORM CARD PREMIUM HOVER UPDATE
   ADD AT END ONLY
========================================== */


/* FORM CARD PREMIUM EFFECT */

.final-contact-form{

    transition:all .5s ease;

    transform-style:preserve-3d;

}



.final-contact-form:hover{

    transform:translateY(-12px);

    box-shadow:
    0 40px 100px rgba(0,0,0,.35),
    0 0 0 1px rgba(229,201,138,.35);

}




/* GOLD BORDER GLOW */

.final-contact-form::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:38px;

    padding:1px;

    background:
    linear-gradient(
    135deg,
    rgba(229,201,138,.7),
    transparent,
    rgba(229,201,138,.4)
    );

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    mask-composite:exclude;

    opacity:.5;

    pointer-events:none;

}





/* INPUT PREMIUM HOVER */


.final-input{

    position:relative;

    overflow:hidden;

}



.final-input::before{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:0%;

    height:2px;

    background:#e5c98a;

    transition:.4s ease;

}



.final-input:hover::before,
.final-input:focus-within::before{

    width:100%;

}





.final-input:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 35px rgba(0,59,38,.12);

}





.final-input i{

    transition:.3s ease;

}



.final-input:hover i{

    transform:scale(1.15);

    color:#b28a4b;

}






/* BUTTON PREMIUM */


.final-send-btn{

    position:relative;

    overflow:hidden;

}



.final-send-btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-100%;

    width:100%;

    height:100%;

    background:rgba(255,255,255,.25);

    transition:.5s ease;

}



.final-send-btn:hover::before{

    left:100%;

}



.final-send-btn:hover{

    transform:translateY(-5px) scale(1.03);

    box-shadow:

    0 15px 35px rgba(0,0,0,.25);

}




/* CARD HEADING ANIMATION */


.form-title h3{

    transition:.4s ease;

}



.final-contact-form:hover .form-title h3{

    letter-spacing:.5px;

}




/* MOBILE RESET */

@media(max-width:576px){

.final-contact-form:hover{

    transform:none;

}

}

/* Contact Us Page Third Section */
.tgh-final-map-section{

    padding:110px 0;

    background:#f8f4eb;

    overflow:hidden;

}




/* HEADING */


.map-section-head{

    text-align:center;

    margin-bottom:45px;

}



.map-section-head span{

    color:#987544;

    font-size:11px;

    letter-spacing:6px;

}



.map-section-head h2{

    margin-top:18px;

    font-family:'Playfair Display',serif;

    color:#003b26;

    font-size:52px;

    line-height:1.1;

}





/* MAP WRAPPER */


.premium-map-wrapper{

    max-width:1100px;

    margin:auto;

}



.premium-map-box{

    height:560px;

    border-radius:45px;

    overflow:hidden;

    position:relative;

    box-shadow:
    0 30px 80px rgba(0,0,0,.18);

    transition:.5s ease;

}



.premium-map-box:hover{

    transform:translateY(-8px);

    box-shadow:
    0 40px 100px rgba(0,0,0,.25);

}



.premium-map-box iframe{

    width:100%;

    height:100%;

    border:0;

    display:block;

}






/* FLOATING MAP CARD */


.map-badge{

    position:absolute;

    left:35px;

    bottom:35px;


    background:#fff;


    padding:18px 28px;


    border-radius:25px;


    display:flex;

    align-items:center;

    gap:15px;


    box-shadow:
    0 20px 45px rgba(0,0,0,.18);


}



.map-badge i{

    width:50px;

    height:50px;

    background:#003b26;

    color:#e5c98a;

    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;

}



.map-badge h4{

    margin:0 0 4px;

    font-family:'Playfair Display',serif;

    font-size:19px;

    color:#003b26;

}



.map-badge p{

    margin:0;

    color:#777;

    font-size:13px;

}







/* BUTTON */


.map-button-area{

    text-align:center;

    margin-top:40px;

}



.map-btn{

    display:inline-flex;

    align-items:center;

    gap:15px;

    padding:17px 38px;


    background:#003b26;

    color:#fff;

    text-decoration:none;

    border-radius:50px;


    transition:.3s ease;

}



.map-btn:hover{

    background:#e5c98a;

    color:#003b26;

    transform:translateY(-4px);

}






/* MOBILE */


@media(max-width:768px){


.tgh-final-map-section{

    padding:70px 15px;

}



.map-section-head h2{

    font-size:36px;

}



.premium-map-box{

    height:400px;

    border-radius:30px;

}



.map-badge{

    left:50%;

    transform:translateX(-50%);

    bottom:20px;

    width:240px;

    justify-content:center;

    padding:15px;

}



.map-badge i{

    width:42px;

    height:42px;

}



.map-badge h4{

    font-size:16px;

}



.map-btn{

    padding:15px 28px;

}


}

/* =========================================
   CONTACT PAGE MAP - TGH GREEN THEME
   ADD AT END ONLY
========================================= */

.tgh-final-map-section .premium-map-box {
    background: #dce8df;

    border: 2px solid #0b513c;

    box-shadow:
        0 25px 65px rgba(0, 59, 38, 0.16);
}


/* MAP - SOFT GREEN + RED PIN VISIBLE */

.tgh-final-map-section .premium-map-box iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;

    filter:
        saturate(82%)
        brightness(104%)
        contrast(94%) !important;

    opacity: 1 !important;
}


/* LIGHT GREEN TINT */

.tgh-final-map-section .premium-map-box::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;
    pointer-events: none;

    background: rgba(0, 76, 53, 0.055);

    box-shadow:
        inset 0 0 0 1px rgba(0, 59, 38, 0.10);
}


/* KEEP LOCATION CARD ABOVE OVERLAY */

.tgh-final-map-section .map-badge {
    z-index: 3;

    background: rgba(248, 245, 236, 0.97);

    border: 1px solid rgba(0, 59, 38, 0.18);
    border-left: 4px solid #00533b;

    box-shadow:
        0 15px 40px rgba(0, 59, 38, 0.18);
}


/* CARD LOCATION ICON */

.tgh-final-map-section .map-badge i {
    background: #003b26;
    color: #e5c98a;
}


/* CARD TITLE */

.tgh-final-map-section .map-badge h4 {
    color: #003b26;
}


/* CARD LOCATION TEXT */

.tgh-final-map-section .map-badge p {
    color: #65736c;
}


/* HOVER */

.tgh-final-map-section .premium-map-box:hover {
    transform: translateY(-6px);

    box-shadow:
        0 32px 80px rgba(0, 59, 38, 0.22);
}

/* About Us Page Banner Section */
.about-us-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.about-us-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.about-us-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.about-us-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.about-us-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.about-us-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.about-us-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.about-us-breadcrumb a:hover{
    color: #fff;
}

.about-us-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.about-us-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .about-us-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .about-us-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .about-us-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .about-us-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .about-us-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .about-us-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .about-us-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .about-us-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .about-us-banner-content h1{
        font-size: 36px;
    }

    .about-us-breadcrumb{
        font-size: 10px;
    }
}

/* About Us Page First Section */
.tgh-about-experience{

    padding:120px 0;

    background:#f8f4eb;

    overflow:hidden;

}





.about-experience-wrapper{

    display:flex;

    align-items:center;

    gap:90px;

}





/* ==========================
   IMAGE AREA
========================== */


.about-experience-image{

    width:52%;

    height:650px;

    position:relative;

    overflow:hidden;

    border-radius:35px;

}



.about-experience-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.7s ease;

}



.about-experience-image:hover img{

    transform:scale(1.07);

}





/* IMAGE OVERLAY */


.experience-overlay{

    position:absolute;

    left:0;

    bottom:0;


    width:100%;


    padding:60px 45px 45px;


    background:
    linear-gradient(
    transparent,
    rgba(0,0,0,.75)
    );


    color:#fff;

}



.experience-overlay span{

    font-size:11px;

    letter-spacing:5px;

    color:#e5c98a;

}



.experience-overlay h3{

    margin:15px 0 0;


    font-family:'Playfair Display',serif;


    font-size:45px;


    line-height:1.1;

}








/* ==========================
   CONTENT AREA
========================== */


.about-experience-content{

    width:48%;

}



.experience-label{

    font-size:11px;

    letter-spacing:6px;

    color:#987544;

}





.about-experience-content h1{

    font-family:'Playfair Display',serif;

    font-size:62px;

    line-height:1.05;

    color:#003b26;

    margin:25px 0;

}



.about-experience-content p{

    color:#666;

    font-size:16px;

    line-height:1.9;

    max-width:480px;

    margin-bottom:18px;

}








/* ==========================
   FEATURES
========================== */


.experience-features{

    margin-top:40px;

}



.experience-feature{

    display:flex;

    align-items:center;

    gap:20px;


    padding:18px 0;


    border-bottom:1px solid rgba(0,59,38,.15);


    transition:.4s ease;

}



.experience-feature:hover{

    transform:translateX(12px);

}



.experience-feature i{

    width:52px;

    height:52px;


    background:#003b26;


    color:#e5c98a;


    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    font-size:18px;

}



.experience-feature h4{

    margin:0 0 5px;


    color:#003b26;


    font-family:'Playfair Display',serif;


    font-size:21px;

}



.experience-feature span{

    color:#777;

    font-size:13px;

}








/* ==========================
   RESPONSIVE
========================== */


@media(max-width:991px){


.about-experience-wrapper{

    flex-direction:column;

    gap:60px;

}



.about-experience-image,
.about-experience-content{

    width:100%;

}



.about-experience-image{

    height:520px;

}



.about-experience-content h1{

    font-size:48px;

}



}





@media(max-width:576px){


.tgh-about-experience{

    padding:70px 15px;

}



.about-experience-image{

    height:420px;

    border-radius:25px;

}



.experience-overlay{

    padding:40px 25px 30px;

}



.experience-overlay h3{

    font-size:32px;

}



.about-experience-content{

    text-align:center;

}



.experience-label{

    font-size:10px;

}



.about-experience-content h1{

    font-size:38px;

}



.about-experience-content p{

    font-size:15px;

    margin-left:auto;

    margin-right:auto;

}



.experience-feature{

    text-align:left;

}



}  

/* About Us Page Second Section */
.tgh-story-journey{

    padding:130px 0;

    background:#003b26;

    overflow:hidden;

    position:relative;

}




.tgh-story-journey::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    border-radius:50%;

    border:1px solid rgba(229,201,138,.12);

    right:-200px;

    top:-200px;

}







/* HEADER */


.journey-header{

    text-align:center;

    position:relative;

    z-index:2;

}



.journey-header span{

    color:#e5c98a;

    font-size:11px;

    letter-spacing:7px;

}



.journey-header h2{

    color:#fff;

    font-family:'Playfair Display',serif;

    font-size:60px;

    line-height:1.1;

    margin:25px 0 20px;

}



.journey-header p{

    max-width:600px;

    margin:auto;

    color:rgba(255,255,255,.75);

    font-size:16px;

    line-height:1.8;

}







/* TIMELINE */

.journey-timeline{

    max-width:1000px;

    margin:90px auto 0;

    position:relative;

}





.journey-center-line{

    position:absolute;

    top:0;

    bottom:0;

    left:50%;


    width:1px;


    background:rgba(229,201,138,.45);


    transform:translateX(-50%);

}







/* ITEMS */


.journey-item{

    display:flex;

    align-items:center;

    justify-content:flex-start;

    width:100%;

    margin-bottom:90px;

    position:relative;

}



.journey-item.reverse{

    justify-content:flex-end;

}







/* DOT */


.journey-dot{

    position:absolute;

    left:50%;


    transform:translateX(-50%);


    width:75px;

    height:75px;


    border-radius:50%;


    background:#e5c98a;


    color:#003b26;


    display:flex;

    align-items:center;

    justify-content:center;


    font-family:'Playfair Display',serif;


    font-size:20px;


    z-index:2;


    transition:.4s ease;

}



.journey-item:hover .journey-dot{

    transform:translateX(-50%) scale(1.15);

}





/* CARD */


.journey-card{

    width:380px;


    padding:35px;


    border-radius:28px;


    background:rgba(255,255,255,.06);


    border:1px solid rgba(255,255,255,.15);


    transition:.4s ease;

}



.journey-card:hover{

    background:rgba(255,255,255,.12);

    transform:translateY(-10px);

}





.journey-card h3{

    margin:0 0 15px;


    color:#fff;


    font-family:'Playfair Display',serif;


    font-size:30px;

}



.journey-card p{

    margin:0;


    color:rgba(255,255,255,.7);


    font-size:15px;


    line-height:1.8;

}








/* ==========================
   RESPONSIVE
========================== */


@media(max-width:991px){


.journey-header h2{

    font-size:48px;

}



.journey-center-line{

    left:40px;

}



.journey-item,
.journey-item.reverse{

    justify-content:flex-start;

    padding-left:90px;

}



.journey-dot{

    left:40px;

}



.journey-card{

    width:100%;

}


}







@media(max-width:576px){


.tgh-story-journey{

    padding:80px 15px;

}



.journey-header h2{

    font-size:36px;

}



.journey-header p{

    font-size:15px;

}



.journey-timeline{

    margin-top:60px;

}



.journey-center-line{

    left:30px;

}



.journey-item,
.journey-item.reverse{

    padding-left:70px;

    margin-bottom:60px;

}



.journey-dot{

    width:55px;

    height:55px;

    left:30px;

    font-size:15px;

}



.journey-card{

    padding:25px;

    border-radius:22px;

}



.journey-card h3{

    font-size:24px;

}



.journey-card p{

    font-size:14px;

}


}

/* About Us Page Third Section */
.tgh-why-section{

    padding:130px 0;

    background:#f8f4eb;

    overflow:hidden;

}





/* HEADER */

.why-header{

    text-align:center;

    max-width:750px;

    margin:auto;

}



.why-header span{

    color:#987544;

    font-size:11px;

    letter-spacing:7px;

}



.why-header h2{

    margin:25px 0 20px;

    color:#003b26;


    font-family:'Playfair Display',serif;


    font-size:60px;


    line-height:1.1;

}



.why-header p{

    color:#666;

    font-size:16px;

    line-height:1.8;

}








/* EXPERIENCE AREA */


.why-experience-area{

    max-width:1000px;

    height:600px;

    margin:90px auto 0;

    position:relative;

}







/* CENTER LOGO */


.why-center-logo{

    position:absolute;


    left:50%;

    top:50%;


    transform:translate(-50%,-50%);


    width:190px;

    height:190px;


    border-radius:50%;


    background:#003b26;


    color:#fff;


    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;


    box-shadow:

    0 25px 60px rgba(0,0,0,.18);

}



.why-center-logo::before{

    content:"";

    position:absolute;


    width:230px;

    height:230px;


    border-radius:50%;


    border:1px solid #d7b879;

}



.why-center-logo span{

    color:#e5c98a;

    font-size:11px;

    letter-spacing:5px;

}



.why-center-logo strong{

    font-family:'Playfair Display',serif;

    font-size:55px;

    line-height:1;

}



.why-center-logo small{

    letter-spacing:3px;

}








/* ITEMS */


.why-item{

    position:absolute;


    width:330px;


    display:flex;


    align-items:center;


    gap:20px;


    padding:25px;


    background:#fff;


    border-radius:25px;


    box-shadow:

    0 15px 40px rgba(0,0,0,.08);


    transition:.4s ease;

}



.why-item:hover{

    transform:translateY(-10px);

    box-shadow:

    0 25px 60px rgba(0,0,0,.15);

}






.why-icon{

    width:55px;

    height:55px;


    flex-shrink:0;


    border-radius:50%;


    background:#003b26;


    color:#e5c98a;


    display:flex;


    align-items:center;


    justify-content:center;

}



.why-item h4{

    margin:0 0 8px;


    color:#003b26;


    font-family:'Playfair Display',serif;


    font-size:22px;

}



.why-item p{

    margin:0;


    color:#777;


    font-size:13px;


    line-height:1.6;

}







/* POSITIONS */


.why-left-top{

    left:0;

    top:80px;

}



.why-left-bottom{

    left:0;

    bottom:80px;

}



.why-right-top{

    right:0;

    top:80px;

}



.why-right-bottom{

    right:0;

    bottom:80px;

}







/* ==========================
   RESPONSIVE
========================== */


@media(max-width:991px){


.why-experience-area{

    height:auto;

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:25px;

}



.why-center-logo{

    position:relative;

    left:auto;

    top:auto;

    transform:none;

    margin-bottom:40px;

}



.why-item{

    position:relative;

    width:100%;

}



.why-left-top,
.why-left-bottom,
.why-right-top,
.why-right-bottom{

    left:auto;

    right:auto;

    top:auto;

    bottom:auto;

}


.why-header h2{

    font-size:48px;

}


}







@media(max-width:576px){


.tgh-why-section{

    padding:80px 15px;

}



.why-header h2{

    font-size:36px;

}



.why-header p{

    font-size:15px;

}



.why-center-logo{

    width:150px;

    height:150px;

}



.why-center-logo::before{

    width:180px;

    height:180px;

}



.why-center-logo strong{

    font-size:42px;

}



.why-item{

    padding:20px;

    border-radius:20px;

}



.why-item h4{

    font-size:20px;

}



}

/* ==========================================
   WHY CHOOSE US PREMIUM ENHANCEMENT
   ADD AT END ONLY
========================================== */



.tgh-why-section{

    position:relative;

}



.tgh-why-section::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    border-radius:50%;

    border:1px solid rgba(0,59,38,.08);

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

}





.why-header h2{

    font-size:68px;

    letter-spacing:-1px;

}



.why-header p{

    max-width:650px;

}





/* CENTER BRAND */


.why-center-logo{

    width:220px;

    height:220px;

    border:8px solid #f8f4eb;

    box-shadow:

    0 25px 80px rgba(0,0,0,.18);

}



.why-center-logo::before{

    width:270px;

    height:270px;

    border:1px solid #d7b879;

}





.why-center-logo strong{

    font-size:65px;

}






/* EXPERIENCE CARDS */


.why-item{

    background:

    linear-gradient(
    145deg,
    #ffffff,
    #faf6ee
    );


    border:1px solid rgba(0,59,38,.08);


    padding:32px;


    border-radius:32px;


}





.why-item::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:32px;

    border:1px solid transparent;

    transition:.4s ease;

}





.why-item:hover{

    transform:translateY(-15px);

    background:#003b26;

}



.why-item:hover h4{

    color:#fff;

}



.why-item:hover p{

    color:rgba(255,255,255,.7);

}





/* ICON */


.why-icon{

    width:65px;

    height:65px;

    font-size:22px;


    background:#003b26;


    transition:.4s ease;

}



.why-item:hover .why-icon{

    background:#e5c98a;

    color:#003b26;

    transform:rotate(10deg);

}





/* TEXT */


.why-item h4{

    font-size:24px;

}



.why-item p{

    font-size:14px;

    line-height:1.8;

}







/* SMALL GOLD DETAILS */


.why-left-top::after,
.why-left-bottom::after,
.why-right-top::after,
.why-right-bottom::after{


    content:"";

    position:absolute;

    width:8px;

    height:8px;

    background:#e5c98a;

    border-radius:50%;


}





.why-left-top::after{

    right:-45px;

    top:50%;

}



.why-left-bottom::after{

    right:-45px;

    top:50%;

}



.why-right-top::after{

    left:-45px;

    top:50%;

}



.why-right-bottom::after{

    left:-45px;

    top:50%;

}





/* MOBILE */

@media(max-width:991px){


.tgh-why-section::before{

    display:none;

}



.why-header h2{

    font-size:48px;

}



.why-item::after{

    display:none;

}


}





@media(max-width:576px){


.why-header h2{

    font-size:36px;

}



.why-center-logo{

    width:170px;

    height:170px;

}



.why-center-logo strong{

    font-size:48px;

}



.why-item{

    padding:25px;

}


}

/* ==========================================
   WHY CHOOSE US CARD ALWAYS DARK GREEN
   ADD AT END ONLY
========================================== */


.why-item{

    background:#003b26 !important;

    border:1px solid rgba(229,201,138,.25);

    box-shadow:
    0 20px 45px rgba(0,0,0,.15);

}





.why-item h4{

    color:#ffffff !important;

}





.why-item p{

    color:rgba(255,255,255,.75) !important;

}





.why-icon{

    background:#e5c98a !important;

    color:#003b26 !important;

}





/* REMOVE HOVER COLOR CHANGE */

.why-item:hover{

    background:#003b26 !important;

    transform:translateY(-12px);

}





.why-item:hover h4{

    color:#ffffff !important;

}





.why-item:hover p{

    color:rgba(255,255,255,.75) !important;

}





.why-item:hover .why-icon{

    background:#e5c98a !important;

    color:#003b26 !important;

    transform:rotate(10deg);

}

/* ==========================================
   WHY CHOOSE US MOBILE CIRCLE FIX
   ADD AT END ONLY
========================================== */


@media(max-width:576px){


.why-experience-area{

    padding-top:20px;

    gap:35px;

}



/* CENTER LOGO FIX */

.why-center-logo{

    width:160px !important;

    height:160px !important;

    margin:35px auto 45px;

}



.why-center-logo::before{

    width:200px !important;

    height:200px !important;

}


.why-center-logo strong{

    font-size:45px !important;

}



.why-center-logo span{

    font-size:9px;

}



.why-center-logo small{

    font-size:9px;

}





/* REMOVE EXTRA OVERLAP */


.why-item{

    position:relative;

    width:100%;

    margin-bottom:0;

}



.why-left-top,
.why-left-bottom,
.why-right-top,
.why-right-bottom{

    position:relative;

    left:auto;

    right:auto;

    top:auto;

    bottom:auto;

}





/* BETTER MOBILE GAP */

.why-experience-area{

    height:auto !important;

}



.why-item + .why-item{

    margin-top:20px;

}


}

/* Menu Page Banner Section */
.menu-banner{
    position: relative;
    width: 100%;
    min-height: 400px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 130px 0 60px;

    background:
        radial-gradient(
            circle at 80% 30%,
            rgba(244,227,193,.10),
            transparent 32%
        ),
        linear-gradient(
            135deg,
            var(--dark-green) 0%,
            #005136 100%
        );

    overflow: hidden;
}

.menu-banner::before{
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    right: -100px;
    top: -130px;
    border: 1px solid rgba(244,227,193,.12);
    border-radius: 50%;
}

.menu-banner::after{
    content: "";
    position: absolute;
    width: 190px;
    height: 190px;
    left: -70px;
    bottom: -100px;
    border: 1px solid rgba(244,227,193,.08);
    border-radius: 50%;
}

.menu-banner-content{
    position: relative;
    z-index: 2;
    text-align: center;
}

.menu-banner-content h1{
    margin: 0 0 18px;
    font-family: 'Cormorant Garamond', serif;
    font-size: 62px;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}

.menu-breadcrumb{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;

    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 400;

    color: rgba(255,255,255,.72);
}

.menu-breadcrumb a{
    color: var(--cream);
    text-decoration: none;
    transition: .3s;
}

.menu-breadcrumb a:hover{
    color: #fff;
}

.menu-breadcrumb i{
    font-size: 9px;
    color: var(--cream);
}

.menu-breadcrumb > span:last-child{
    color: rgba(255,255,255,.78);
}

@media (max-width: 991px){

    .menu-banner{
        min-height: 300px;
        padding: 115px 0 45px;
    }

    .menu-banner-content h1{
        font-size: 52px;
    }
}

@media (max-width: 767px){

    .menu-banner{
        min-height: 330px;
        padding: 105px 15px 40px;
    }

    .menu-banner::before{
        width: 220px;
        height: 220px;
        right: -100px;
        top: -90px;
    }

    .menu-banner::after{
        width: 130px;
        height: 130px;
        left: -60px;
        bottom: -70px;
    }

    .menu-banner-content h1{
        margin-bottom: 14px;
        font-size: 40px;
    }

    .menu-breadcrumb{
        gap: 8px;
        font-size: 11px;
    }
}

@media (max-width: 400px){

    .menu-banner{
        min-height: 310px;
        padding-top: 100px;
        padding-bottom: 35px;
    }

    .menu-banner-content h1{
        font-size: 36px;
    }

    .menu-breadcrumb{
        font-size: 10px;
    }
}

/* Menu Page First Section */
.tgh-menu-cover{

    padding:120px 0;

    background:#f8f4eb;

    overflow:hidden;

}





.menu-cover-wrap{

    display:flex;

    align-items:center;

    gap:80px;

}





/* LEFT CONTENT */


.menu-cover-content{

    width:40%;

}



.menu-cover-content > span{

    color:#987544;

    font-size:11px;

    letter-spacing:7px;

}



.menu-cover-content h1{

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:65px;

    line-height:1.05;

    margin:25px 0;

}



.menu-cover-content p{

    color:#666;

    font-size:16px;

    line-height:1.8;

    max-width:430px;

}







/* TIMING */


.menu-timing{

    display:flex;

    gap:20px;

    margin-top:45px;

}



.menu-timing div{

    padding-right:20px;

    border-right:1px solid #d8b978;

}



.menu-timing div:last-child{

    border:none;

}



.menu-timing strong{

    display:block;

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:18px;

}



.menu-timing small{

    color:#777;

    font-size:12px;

}








/* IMAGE AREA */


.menu-cover-images{

    width:60%;

    display:flex;

    align-items:center;

    gap:18px;

}





.cover-food-card{

    width:32%;

    height:520px;

    position:relative;

    overflow:hidden;

    border-radius:35px;

    box-shadow:

    0 20px 50px rgba(0,0,0,.15);

    transition:.5s ease;

}





.cover-food-card.big{

    height:600px;

}





.cover-food-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s ease;

}





.cover-food-card:hover{

    transform:translateY(-15px);

}



.cover-food-card:hover img{

    transform:scale(1.08);

}







/* IMAGE TEXT */


.cover-food-card::after{

    content:"";

    position:absolute;

    inset:0;


    background:
    linear-gradient(
    transparent,
    rgba(0,59,38,.9)
    );

}



.cover-food-card div{

    position:absolute;

    bottom:35px;

    left:25px;

    z-index:2;

    color:#fff;

}



.cover-food-card span{

    color:#e5c98a;

    font-size:12px;

    letter-spacing:4px;

}



.cover-food-card h3{

    font-family:'Playfair Display',serif;

    font-size:32px;

    margin:10px 0 0;

}








/* ==========================
   RESPONSIVE
========================== */


@media(max-width:991px){


.menu-cover-wrap{

    flex-direction:column;

}



.menu-cover-content,
.menu-cover-images{

    width:100%;

}



.menu-cover-content h1{

    font-size:50px;

}



}





@media(max-width:576px){


.tgh-menu-cover{

    padding:70px 15px;

}



.menu-cover-content{

    text-align:center;

}



.menu-cover-content h1{

    font-size:38px;

}



.menu-cover-content p{

    margin:auto;

}



.menu-timing{

    justify-content:center;

    flex-wrap:wrap;

}



.menu-cover-images{

    flex-direction:column;

}



.cover-food-card,
.cover-food-card.big{

    width:100%;

    height:420px;

}



}

.menu-highlight{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:25px;
    padding:13px 22px;
    background:rgba(0,59,38,.06);
    border-left:3px solid #8a6a3d;
    border-radius:0 30px 30px 0;
    color:#003B26;
    font-size:14px;
    font-weight:600;
    letter-spacing:.3px;
}

.menu-highlight i{
    color:#8a6a3d;
    font-size:15px;
}

/* Menu Page Second Section */
.tgh-static-menu{

    padding:120px 0;

    background:#f8f4eb;

}





.static-menu-wrapper{

    display:flex;

    gap:70px;

    align-items:flex-start;

}







/* LEFT SIDEBAR */


.static-menu-sidebar{

    width:32%;

    position:sticky;

    top:80px;

}



.static-menu-sidebar span{

    color:#987544;

    font-size:11px;

    letter-spacing:6px;

}



.static-menu-sidebar h2{

    color:#003b26;

    font-family:'Playfair Display',serif;

    font-size:60px;

    line-height:1.05;

    margin:25px 0 45px;

}







.static-menu-links{

    display:flex;

    flex-direction:column;

    gap:12px;

}





.static-menu-links button{

    width:100%;

    text-align:left;

    padding:17px 25px;


    background:transparent;


    border:none;


    border-bottom:1px solid rgba(0,59,38,.15);


    color:#555;


    font-size:15px;


    cursor:pointer;


    transition:.4s ease;

}





.static-menu-links button:hover,
.static-menu-links button.active{


    background:#003b26;


    color:#fff;


    border-radius:18px;


    transform:translateX(12px);


}







/* RIGHT PANEL */


.static-menu-content{

    width:68%;

}






.menu-panel{


    display:none;


    background:#003b26;


    padding:50px;


    border-radius:40px;


    color:white;


    min-height:520px;


    box-shadow:

    0 30px 70px rgba(0,0,0,.18);


    position:relative;

}





.menu-panel::before{

    content:"";


    position:absolute;


    width:180px;


    height:180px;


    border-radius:50%;


    border:1px solid rgba(229,201,138,.35);


    right:-60px;


    top:-60px;

}



.menu-panel.active{

    display:block;

}








/* TITLE */


.panel-title{

    display:flex;

    justify-content:space-between;

    align-items:center;


    padding-bottom:25px;


    border-bottom:1px solid rgba(255,255,255,.25);


    margin-bottom:25px;

}



.panel-title h3{

    margin:0;

    font-family:'Playfair Display',serif;

    font-size:38px;

}



.panel-title span{

    width:45px;

    height:45px;


    background:#e5c98a;


    color:#003b26;


    border-radius:50%;


    display:flex;


    align-items:center;


    justify-content:center;


}







/* MENU ITEMS */


.menu-line{

    display:flex;


    justify-content:space-between;


    padding:16px 0;


    border-bottom:1px dashed rgba(255,255,255,.25);

}



.menu-line p{

    margin:0;


    color:rgba(255,255,255,.85);


    font-size:15px;

}



.menu-line strong{

    color:#e5c98a;


    font-family:'Playfair Display',serif;

}








/* RESPONSIVE */


@media(max-width:991px){


.static-menu-wrapper{

    flex-direction:column;

}



.static-menu-sidebar,
.static-menu-content{

    width:100%;

}



.static-menu-sidebar{

    position:relative;

    top:auto;

}



.static-menu-sidebar h2{

    font-size:45px;

}



}





@media(max-width:576px){


.tgh-static-menu{

    padding:80px 15px;

}



.static-menu-sidebar h2{

    font-size:38px;

}



.menu-panel{

    padding:30px;

    border-radius:25px;

}



.panel-title h3{

    font-size:28px;

}



.menu-line p{

    font-size:13px;

}

}

/* =====================================
   TGH MENU FINAL POLISH
===================================== */


/* LEFT MENU IMPROVEMENT */


.static-menu-sidebar h2{

    font-size:58px;

    letter-spacing:-1px;

}



.static-menu-links{

    gap:8px;

}



.static-menu-links button{

    position:relative;

    padding:16px 22px 16px 55px;

    border-radius:18px;

    color:#555;

    font-size:14px;

    background:transparent;

    transition:.35s ease;

}





.static-menu-links button::before{

    content:"";

    position:absolute;

    left:18px;

    top:50%;

    transform:translateY(-50%);

    width:26px;

    height:26px;

    border-radius:50%;

    background:#003b26;

    border:3px solid #e5c98a;

    transition:.3s ease;

}





.static-menu-links button:hover{

    background:#fff;

    transform:translateX(8px);

    box-shadow:

    0 12px 30px rgba(0,0,0,.08);

    color:#003b26;

}





.static-menu-links button.active{

    background:#003b26;

    color:#fff;

    transform:translateX(12px);

    box-shadow:

    0 15px 35px rgba(0,59,38,.25);

}





.static-menu-links button.active::before{

    background:#e5c98a;

}







/* RIGHT CARD GAP FIX */


.menu-panel{

    min-height:auto !important;

    height:auto !important;

    padding:45px;

}





.static-menu-content{

    height:auto;

}





.menu-panel::before{

    width:150px;

    height:150px;

}







/* MENU HEADER */


.panel-title h3{

    font-size:32px;

    letter-spacing:.5px;

}





.menu-line{

    padding:14px 0;

}





.menu-line p{

    font-size:14px;

}





.menu-line strong{

    font-size:14px;

}







/* CARD HOVER */

.menu-panel{

    transition:.4s ease;

}



.menu-panel:hover{

    transform:translateY(-8px);

    box-shadow:

    0 35px 80px rgba(0,0,0,.22);

}







@media(max-width:991px){


.static-menu-sidebar h2{

    font-size:45px;

}


.menu-panel{

    padding:35px;

}


}



@media(max-width:576px){


.static-menu-links button{

    padding-left:50px;

}



.menu-panel{

    padding:25px;

}



}

/* FIX MENU CARD EXTRA BOTTOM GAP */

.static-menu-wrapper{

    align-items:flex-start !important;

}


.static-menu-content{

    height:auto !important;

    align-self:flex-start !important;

}



.menu-panel{

    height:max-content !important;

    min-height:unset !important;

    display:none;

}



.menu-panel.active{

    display:block;

    height:auto !important;

}





.menu-list,
.board-items{

    height:auto !important;

}



.menu-panel::after{

    display:none !important;

}


/* Remove extra space from content */

.static-menu-content{

    flex:0 0 auto;

}



@media(max-width:991px){

    .static-menu-wrapper{

        align-items:stretch !important;

    }

}

/* =====================================
   MOBILE MENU CATEGORY FIX
===================================== */


@media(max-width:576px){


.tgh-static-menu{

    padding:60px 15px;

}




/* heading compact */

.static-menu-sidebar h2{

    font-size:34px !important;

    line-height:1.15;

    margin:15px 0 30px;

}



.static-menu-sidebar span{

    font-size:10px;

    letter-spacing:5px;

}






/* category one line */

.static-menu-links{

    display:flex;

    flex-direction:row;

    overflow-x:auto;

    gap:10px;

    padding-bottom:15px;

    scrollbar-width:none;

}



.static-menu-links::-webkit-scrollbar{

    display:none;

}





.static-menu-links button{

    flex:0 0 auto;

    width:auto;

    min-width:max-content;


    padding:12px 18px 12px 42px;


    border-radius:30px;


    font-size:13px;


    border:1px solid rgba(0,59,38,.15);


}





.static-menu-links button::before{

    left:12px;

    width:22px;

    height:22px;

}



.static-menu-links button:hover,
.static-menu-links button.active{

    transform:none;

}






/* right menu card gap fix mobile */


.static-menu-content{

    margin-top:25px;

}



.menu-panel{

    min-height:auto !important;

    padding:25px !important;

    border-radius:25px;

}





}

@media(max-width:576px){


.static-menu-sidebar{

    position:relative !important;

    top:auto !important;

}



.static-menu-wrapper{

    width:100% !important;

    display:flex;

    flex-direction:column;

    overflow:hidden;

}



.static-menu-links{

    display:flex !important;

    flex-direction:column !important;

    overflow:hidden !important;

    width:100% !important;

}



.static-menu-links button{

    width:100% !important;

    max-width:100% !important;

    box-sizing:border-box;

}



.menu-panel{

    width:100% !important;

    max-width:100% !important;

    box-sizing:border-box;

}



}

@media(max-width:576px){


.static-menu-links{

    display:flex !important;

    flex-direction:row !important;

    flex-wrap:nowrap;

    overflow-x:auto !important;

    overflow-y:hidden;

    gap:10px;

    width:100%;

    padding-bottom:10px;

    scrollbar-width:none;

}



.static-menu-links::-webkit-scrollbar{

    display:none;

}




.static-menu-links button{

    flex:0 0 auto;

    width:auto !important;

    min-width:max-content;

    max-width:none !important;

    padding:12px 22px 12px 42px;

    border-radius:30px;

    white-space:nowrap;

}



}

@media(max-width:576px){

    .static-menu-sidebar{

        text-align:center;

    }


    .static-menu-sidebar span{

        font-size:9px;

        letter-spacing:5px;

        display:block;

    }


    .static-menu-sidebar h2{

        font-size:32px !important;

        line-height:1.2;

        margin:18px auto 30px;

        text-align:center;

    }


}

/* Navbar header Social Links */
.nav-social-links a{

    width:38px;

    height:38px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#003b26;


    background:#f6eddd;


    border:1px solid #f6eddd;


    font-size:15px;

    transition:.35s ease;

}



.nav-social-links a:hover{

    background:#e5c98a;

    color:#003b26;

    transform:translateY(-3px);

}

/* SOCIAL ICON ALIGN FIX */

.nav-social-links{

    display:flex !important;

    flex-direction:row !important;

    align-items:center;

    justify-content:center;

    gap:10px;

    flex-wrap:nowrap !important;

}



.nav-social-links a{

    flex:0 0 38px;

}



/* HOVER */

.nav-social-links a:hover{

    background:#e5c98a;

    color:#003b26;

    transform:translateY(-4px);

    box-shadow:0 8px 20px rgba(229,201,138,.35);

}

.nav-social-links{

    gap:16px !important;

    margin-left:15px;

    margin-right:25px;

}


.nav-social-links a{

    margin:0 3px;

}

/* MOBILE SOCIAL ICONS */

.mobile-social-links{

    display:none;

}



@media(max-width:991px){


.mobile-social-links{

    display:flex;

    align-items:center;

    gap:8px;

    margin-left:auto;

    margin-right:12px;

}



.mobile-social-links a{

    width:32px;

    height:32px;


    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    background:#f6eddd;


    color:#003b26;


    font-size:13px;


    border:1px solid rgba(229,201,138,.5);


    transition:.35s ease;

}



.mobile-social-links a:hover{

    background:#e5c98a;


    color:#003b26;


    transform:translateY(-3px);


    box-shadow:0 6px 15px rgba(229,201,138,.3);

}


}

@media(max-width:991px){

    .mobile-social-links{

        gap:14px !important;

        margin-right:16px;

    }


    .mobile-social-links a{

        width:34px;

        height:34px;

        font-size:14px;

    }

}

@media(max-width:991px){

    .main-navbar .container > div{

        position:relative;

    }


    .mobile-social-links{

        position:absolute;

        left:58%;

        transform:translateX(-50%);


        display:flex;

        align-items:center;

        gap:10px;

    }


    .mobile-social-links a{

        width:34px;

        height:34px;

    }

}

/* Whatsapp icon */
.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    z-index:9999;

}





.whatsapp-float a{


    width:85px;

    height:85px;


    border-radius:50%;


    display:flex;

    align-items:center;

    justify-content:center;


    background:#003b26;


    color:#f6eddd;


    font-size:50px;


    text-decoration:none;


    border:3px solid #e5c98a;


    box-shadow:

    0 15px 35px rgba(0,0,0,.25);


    transition:.4s ease;


}





.whatsapp-float a:hover{


    background:#e5c98a;


    color:#003b26;


    transform:translateY(-6px) scale(1.08);


    box-shadow:

    0 20px 45px rgba(229,201,138,.45);


}





.whatsapp-float a::after{


    content:"";


    position:absolute;


    width:75px;


    height:75px;


    border-radius:50%;


    border:1px solid rgba(229,201,138,.5);


    animation:whatsapp-ring 2s infinite;


}





@keyframes whatsapp-ring{


    0%{

        transform:scale(.8);

        opacity:.8;

    }


    100%{

        transform:scale(1.3);

        opacity:0;

    }


}





@media(max-width:576px){


    .whatsapp-float{

        right:18px;

        bottom:18px;

    }



    .whatsapp-float a{

        width:75px;

        height:75px;

        font-size:45px;

    }


}

/* WHATSAPP PREMIUM TOUCH */

.whatsapp-float a{

    background:linear-gradient(145deg,#004d32,#003b26);

    border:3px solid #e5c98a;

    box-shadow:
    0 12px 30px rgba(0,0,0,.25),
    inset 0 0 15px rgba(255,255,255,.08);

}



.whatsapp-float a i{

    filter:drop-shadow(0 3px 5px rgba(0,0,0,.25));

}



.whatsapp-float a:hover{

    background:#e5c98a;

    color:#003b26;

    transform:translateY(-8px) scale(1.1);

}

/* Home Page Banner Section After Second Section */
.tgh-experience-strip {
    position: relative;
    width: 100%;
    padding: 90px 25px;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 18% 50%,
            rgba(71, 148, 137, 0.16) 0%,
            rgba(71, 148, 137, 0.07) 25%,
            transparent 46%
        ),
        linear-gradient(
            110deg,
            #0d5b46 0%,
            #0d5b46 43%,
            #176d58 43%,
            #217663 100%
        );
}


/* subtle background decoration */

.tgh-experience-strip::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 50%;
    left: -220px;
    top: -230px;
}

.tgh-experience-strip::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 50%;
    right: -150px;
    bottom: -210px;
}


/* ==================================================
   CONTAINER
================================================== */

.tgh-experience-wrap {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;
    margin: 0 auto;

    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    align-items: center;
    gap: 90px;
}


/* ==================================================
   LEFT VISUAL
================================================== */

.tgh-experience-art {
    position: relative;

    width: 360px;
    height: 360px;
    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
}


/* Main soft circle */

.tgh-experience-art::before {
    content: "";

    position: absolute;
    inset: 22px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,0.13),
            rgba(255,255,255,0.035) 65%,
            transparent 66%
        );

    border: 1px solid rgba(255,255,255,0.13);

    transition: 0.5s ease;
}


/* Rings */

.tgh-art-ring {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.tgh-ring-one {
    width: 275px;
    height: 275px;

    border: 1px solid rgba(255,255,255,0.13);
}

.tgh-ring-two {
    width: 330px;
    height: 330px;

    border: 1px dashed rgba(71,148,137,0.38);

    animation: tghRotate 25s linear infinite;
}

@keyframes tghRotate {
    to {
        transform: rotate(360deg);
    }
}


/* Center content */

.tgh-art-main {
    position: relative;
    z-index: 4;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* Coffee Icon */

.tgh-cup {
    width: 105px;
    height: 105px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;
    color: #003b26;

    font-size: 39px;

    box-shadow:
        0 18px 40px rgba(0,0,0,0.18),
        0 0 0 9px rgba(255,255,255,0.06);

    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


/* TGH */

.tgh-art-name {
    margin-top: 19px;

    font-family: "Playfair Display", serif;

    font-size: 38px;
    line-height: 1;

    font-weight: 700;

    color: #ffffff;
}

.tgh-art-caption {
    margin-top: 8px;

    font-size: 9px;
    font-weight: 600;

    letter-spacing: 2px;

    color: rgba(255,255,255,0.58);
}


/* Small Icons */

.tgh-mini-icons {
    display: flex;
    gap: 10px;

    margin-top: 20px;
}

.tgh-mini-icons span {
    width: 39px;
    height: 39px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,0.1);

    border: 1px solid rgba(255,255,255,0.16);

    color: #ffffff;

    font-size: 13px;

    backdrop-filter: blur(5px);

    transition: all 0.3s ease;
}


/* Decorative Leaves */

.tgh-art-leaf {
    position: absolute;
    z-index: 5;

    display: flex;

    color: #479489;

    transition: 0.4s ease;
}

.leaf-one {
    top: 28px;
    left: 35px;

    font-size: 48px;

    transform: rotate(-28deg);
}

.leaf-two {
    right: 20px;
    bottom: 55px;

    font-size: 58px;

    color: #ffffff;

    opacity: 0.15;

    transform: rotate(17deg);
}

.leaf-three {
    right: 30px;
    top: 55px;

    font-size: 27px;

    transform: rotate(35deg);
}


/* ==================================================
   LEFT HOVER
================================================== */

.tgh-experience-art:hover .tgh-cup {
    transform: translateY(-7px) scale(1.05);

    box-shadow:
        0 24px 50px rgba(0,0,0,0.25),
        0 0 0 12px rgba(255,255,255,0.07);
}

.tgh-experience-art:hover::before {
    transform: scale(1.035);
}

.tgh-experience-art:hover .leaf-one {
    transform: rotate(-38deg) translateY(-5px);
}

.tgh-experience-art:hover .leaf-three {
    transform: rotate(45deg) translateY(-5px);
}

.tgh-mini-icons span:hover {
    background: #ffffff;
    color: #003b26;

    transform: translateY(-5px);
}


/* ==================================================
   RIGHT CONTENT
================================================== */

.tgh-experience-content {
    position: relative;
}

.tgh-experience-label {
    position: relative;

    display: inline-flex;
    align-items: center;

    margin-bottom: 19px;

    padding-left: 43px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 3px;

    color: #9dc8be;
}

.tgh-experience-label::before {
    content: "";

    position: absolute;

    left: 0;

    width: 29px;
    height: 1px;

    background: #479489;
}


/* Heading */

.tgh-experience-content h2 {
    max-width: 680px;

    margin: 0;

    font-family: "Playfair Display", serif;

    font-size: clamp(40px, 4.1vw, 59px);

    line-height: 1.13;

    font-weight: 700;

    color: #ffffff;
}

.tgh-experience-content h2 em {
    padding: 0 5px;

    font-style: normal;

    font-weight: 400;

    color: #479489;
}


/* Description */

.tgh-experience-content > p {
    max-width: 600px;

    margin: 24px 0 0;

    font-size: 16px;
    line-height: 1.8;

    color: rgba(255,255,255,0.67);
}


/* ==================================================
   OPENING HOURS
================================================== */

.tgh-experience-bottom {
    width: fit-content;

    display: flex;
    align-items: center;

    gap: 17px;

    margin-top: 33px;

    padding: 14px 23px 14px 14px;

    border: 1px solid rgba(255,255,255,0.13);

    border-radius: 60px;

    background: rgba(255,255,255,0.055);

    backdrop-filter: blur(7px);

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease;
}

.tgh-hours-icon {
    width: 52px;
    height: 52px;

    flex: 0 0 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    color: #003b26;

    font-size: 18px;

    transition: all 0.3s ease;
}

.tgh-hours-content span {
    display: block;

    margin-bottom: 4px;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #80b8aa;
}

.tgh-hours-content strong {
    display: block;

    font-family: "Playfair Display", serif;

    font-size: 26px;
    line-height: 1.2;

    font-weight: 700;

    color: #ffffff;
}


/* Opening Hover */

.tgh-experience-bottom:hover {
    transform: translateY(-4px);

    background: rgba(255,255,255,0.1);

    border-color: rgba(255,255,255,0.25);
}

.tgh-experience-bottom:hover .tgh-hours-icon {
    background: #479489;
    color: #ffffff;

    transform: rotate(8deg);
}


/* ==================================================
   TABLET
================================================== */

@media (max-width: 991px) {

    .tgh-experience-strip {
        padding: 75px 25px;
    }

    .tgh-experience-wrap {
        grid-template-columns: 0.9fr 1.1fr;

        gap: 45px;
    }

    .tgh-experience-art {
        width: 300px;
        height: 300px;
    }

    .tgh-ring-one {
        width: 225px;
        height: 225px;
    }

    .tgh-ring-two {
        width: 280px;
        height: 280px;
    }

    .tgh-cup {
        width: 88px;
        height: 88px;

        font-size: 32px;
    }

    .tgh-art-name {
        font-size: 32px;
    }

    .tgh-experience-content h2 {
        font-size: 40px;
    }
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {

    .tgh-experience-strip {
        padding: 60px 20px;

        background:
            radial-gradient(
                circle at 50% 22%,
                rgba(71,148,137,0.18),
                transparent 34%
            ),
            #003b26;
    }

    .tgh-experience-wrap {
        grid-template-columns: 1fr;

        gap: 35px;

        text-align: center;
    }

    .tgh-experience-art {
        width: 270px;
        height: 270px;
    }

    .tgh-ring-one {
        width: 205px;
        height: 205px;
    }

    .tgh-ring-two {
        width: 255px;
        height: 255px;
    }

    .tgh-experience-label {
        padding-left: 0;

        justify-content: center;
    }

    .tgh-experience-label::before {
        display: none;
    }

    .tgh-experience-content h2 {
        margin: 0 auto;

        font-size: 36px;
    }

    .tgh-experience-content > p {
        margin: 20px auto 0;
    }

    .tgh-experience-bottom {
        margin: 30px auto 0;

        text-align: left;
    }
}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 480px) {

    .tgh-experience-strip {
        padding: 50px 17px;
    }

    .tgh-experience-art {
        width: 235px;
        height: 235px;
    }

    .tgh-ring-one {
        width: 180px;
        height: 180px;
    }

    .tgh-ring-two {
        width: 225px;
        height: 225px;
    }

    .tgh-cup {
        width: 76px;
        height: 76px;

        font-size: 28px;
    }

    .tgh-art-name {
        margin-top: 15px;

        font-size: 29px;
    }

    .tgh-art-caption {
        font-size: 7px;
        letter-spacing: 1.5px;
    }

    .tgh-mini-icons {
        margin-top: 14px;
    }

    .tgh-mini-icons span {
        width: 33px;
        height: 33px;

        font-size: 11px;
    }

    .tgh-experience-content h2 {
        font-size: 31px;
    }

    .tgh-experience-content > p {
        font-size: 14px;
        line-height: 1.7;
    }

    .tgh-experience-bottom {
        width: 100%;

        padding: 11px 16px 11px 11px;
    }

    .tgh-hours-icon {
        width: 47px;
        height: 47px;

        flex-basis: 47px;
    }

    .tgh-hours-content strong {
        font-size: 21px;
    }
}

/* =========================================
   TGH FINAL RESPONSIVE FIX
   Add at the END of CSS
========================================= */

/* Large Desktop */
@media (min-width: 1400px) {
    .tgh-experience-wrap {
        max-width: 1250px;
    }

    .tgh-experience-content h2 {
        font-size: 58px;
    }
}


/* Laptop */
@media (max-width: 1199px) {
    .tgh-experience-strip {
        padding: 75px 30px;
    }

    .tgh-experience-wrap {
        max-width: 1000px;
        gap: 55px;
    }

    .tgh-experience-art {
        width: 320px;
        height: 320px;
    }

    .tgh-experience-content h2 {
        font-size: 46px;
    }
}


/* Tablet */
@media (max-width: 991px) {
    .tgh-experience-strip {
        padding: 65px 25px;
    }

    .tgh-experience-wrap {
        grid-template-columns: 0.85fr 1.15fr;
        gap: 35px;
    }

    .tgh-experience-art {
        width: 270px;
        height: 270px;
    }

    .tgh-ring-one {
        width: 205px;
        height: 205px;
    }

    .tgh-ring-two {
        width: 250px;
        height: 250px;
    }

    .tgh-cup {
        width: 80px;
        height: 80px;
        font-size: 29px;
    }

    .tgh-art-name {
        font-size: 30px;
    }

    .tgh-experience-content h2 {
        font-size: 38px;
    }

    .tgh-experience-content > p {
        font-size: 14px;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .tgh-experience-strip {
        padding: 55px 20px;

        background:
            radial-gradient(
                circle at 50% 18%,
                rgba(71, 148, 137, 0.18),
                transparent 38%
            ),
            #176d58;
    }

    .tgh-experience-wrap {
        display: grid;
        grid-template-columns: 1fr;
        gap: 25px;
        text-align: center;
    }

    .tgh-experience-art {
        width: 250px;
        height: 250px;
        margin: 0 auto;
    }

    .tgh-ring-one {
        width: 190px;
        height: 190px;
    }

    .tgh-ring-two {
        width: 230px;
        height: 230px;
    }

    .tgh-cup {
        width: 72px;
        height: 72px;
        font-size: 26px;
    }

    .tgh-art-name {
        font-size: 27px;
    }

    .tgh-art-caption {
        font-size: 7px;
    }

    .tgh-mini-icons {
        margin-top: 13px;
    }

    .tgh-mini-icons span {
        width: 31px;
        height: 31px;
        font-size: 10px;
    }

    .tgh-experience-label {
        padding-left: 0;
        justify-content: center;
        margin-bottom: 13px;
    }

    .tgh-experience-label::before {
        display: none;
    }

    .tgh-experience-content h2 {
        max-width: 520px;
        margin: 0 auto;
        font-size: 34px;
        line-height: 1.15;
    }

    .tgh-experience-content > p {
        max-width: 500px;
        margin: 16px auto 0;
        font-size: 14px;
        line-height: 1.7;
    }

    .tgh-experience-bottom {
        margin: 24px auto 0;
        text-align: left;
    }
}


/* Small Mobile */
@media (max-width: 575px) {
    .tgh-experience-strip {
        padding: 45px 16px;
    }

    .tgh-experience-art {
        width: 220px;
        height: 220px;
    }

    .tgh-ring-one {
        width: 165px;
        height: 165px;
    }

    .tgh-ring-two {
        width: 205px;
        height: 205px;
    }

    .tgh-cup {
        width: 64px;
        height: 64px;
        font-size: 23px;
    }

    .tgh-art-name {
        margin-top: 12px;
        font-size: 25px;
    }

    .tgh-experience-content h2 {
        font-size: 29px;
        line-height: 1.18;
    }

    .tgh-experience-bottom {
        width: fit-content;
        max-width: 100%;
        padding: 10px 17px 10px 10px;
    }

    .tgh-hours-icon {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
    }

    .tgh-hours-content strong {
        font-size: 19px;
    }
}


/* Very Small Mobile */
@media (max-width: 380px) {
    .tgh-experience-strip {
        padding: 40px 14px;
    }

    .tgh-experience-art {
        width: 195px;
        height: 195px;
    }

    .tgh-ring-one {
        width: 150px;
        height: 150px;
    }

    .tgh-ring-two {
        width: 185px;
        height: 185px;
    }

    .tgh-experience-content h2 {
        font-size: 26px;
    }

    .tgh-experience-content > p {
        font-size: 13px;
    }

    .tgh-experience-bottom {
        gap: 10px;
    }

    .tgh-hours-content span {
        font-size: 8px;
        letter-spacing: 1.3px;
    }

    .tgh-hours-content strong {
        font-size: 17px;
    }
}

/* Menu Page New Second Section */
.tgh-food-menu{
    padding:100px 0;
    background:#f8f5ed;
}

/* Heading */
.tgh-food-heading{
    max-width:680px;
    margin:0 auto 50px;
    text-align:center;
}

.tgh-food-heading > span{
    display:block;
    color:#9a7848;
    font-size:10px;
    font-weight:600;
    letter-spacing:4px;
    margin-bottom:10px;
}

.tgh-food-heading h2{
    font-family:'Playfair Display',serif;
    color:#003B26;
    font-size:48px;
    margin:0 0 12px;
}

.tgh-food-heading p{
    color:#666;
    font-size:14px;
    margin:0;
}


/* Main Layout */
.tgh-food-layout{
    max-width:1050px;
    margin:0 auto;
    display:grid;
    grid-template-columns:270px minmax(0,1fr);
    gap:30px;
    align-items:stretch;
}


/* =========================================
   SIDEBAR
========================================= */

.tgh-food-sidebar{
    position:relative;
    background:#003B26;
    border-radius:22px;
    padding:28px 18px 22px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,59,38,.16);
}

.tgh-food-sidebar:before{
    content:"";
    position:absolute;
    width:140px;
    height:140px;
    border:25px solid rgba(255,255,255,.04);
    border-radius:50%;
    top:-70px;
    right:-65px;
}

.tgh-food-sidebar-top{
    position:relative;
    z-index:2;
    padding:0 10px 20px;
    border-bottom:1px solid rgba(255,255,255,.13);
}

.tgh-food-sidebar-top > span{
    display:block;
    color:#e8c98b;
    font-size:9px;
    font-weight:600;
    letter-spacing:2px;
    margin-bottom:7px;
}

.tgh-food-sidebar-top h3{
    color:#fff;
    font-family:'Playfair Display',serif;
    font-size:25px;
    margin:0;
}


/* Categories */
.tgh-food-categories{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    gap:8px;
    padding-top:18px;
}

.tgh-food-category{
    width:100%;
    border:1px solid transparent;
    background:transparent;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 11px;
    border-radius:12px;
    color:rgba(255,255,255,.80);
    cursor:pointer;
    text-align:left;
    transition:.3s ease;
}

.tgh-food-count{
    font-size:9px;
    color:#d5b87c;
    min-width:18px;
}

.tgh-food-cat-icon{
    width:30px;
    height:30px;
    flex:0 0 30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    color:#e8c98b;
    font-size:11px;
}

.tgh-food-cat-name{
    flex:1;
    font-size:13px;
    font-weight:600;
}

.tgh-food-arrow{
    font-size:9px;
    opacity:0;
    transform:translateX(-5px);
    transition:.3s ease;
}

.tgh-food-category:hover{
    background:rgba(255,255,255,.07);
}

.tgh-food-category.active{
    background:#f7f1e5;
    color:#003B26;
    border-color:#e5d5b7;
}

.tgh-food-category.active .tgh-food-cat-icon{
    background:#003B26;
    color:#e8c98b;
}

.tgh-food-category.active .tgh-food-count{
    color:#8a6a3d;
}

.tgh-food-category.active .tgh-food-arrow{
    opacity:1;
    transform:translateX(0);
    color:#8a6a3d;
}


/* Sidebar Bottom */
.tgh-food-sidebar-bottom{
    position:relative;
    z-index:2;
    margin-top:25px;
    padding:18px 10px 4px;
    border-top:1px solid rgba(255,255,255,.13);
    display:flex;
    align-items:center;
    gap:11px;
    color:rgba(255,255,255,.72);
}

.tgh-food-sidebar-bottom i{
    color:#e8c98b;
    font-size:15px;
}

.tgh-food-sidebar-bottom span{
    font-size:10px;
    line-height:1.6;
    letter-spacing:.4px;
}


/* =========================================
   PRINTED MENU BOARD
========================================= */

.tgh-food-board{
    position:relative;
    min-height:510px;
    padding:48px 65px 65px;
    overflow:hidden;

    background:
        radial-gradient(circle at 8% 10%, rgba(103,163,113,.12), transparent 22%),
        radial-gradient(circle at 92% 88%, rgba(103,163,113,.12), transparent 24%),
        #fffef9;

    border:1px solid #cfdccb;
    box-shadow:0 16px 45px rgba(0,59,38,.09);
}


/* TGH Logo */
.tgh-food-brand{
    position:absolute;
    top:22px;
    left:22px;
    z-index:3;
}

.tgh-food-brand img{
    width:68px;
    height:68px;
    object-fit:contain;
}


/* Decorative Leaves */
.tgh-food-decoration{
    position:absolute;
    z-index:0;
    color:#47855a;
    opacity:.18;
    pointer-events:none;
}

.tgh-food-decoration-one{
    top:-15px;
    right:20px;
    font-size:95px;
    transform:rotate(-28deg);
}

.tgh-food-decoration-two{
    right:15px;
    bottom:15px;
    font-size:115px;
    transform:rotate(-10deg);
}

.tgh-food-decoration-three{
    left:-12px;
    bottom:35px;
    font-size:75px;
    transform:rotate(25deg);
}


/* =========================================
   MENU PANEL
========================================= */

.tgh-food-panel{
    display:none;
    position:relative;
    z-index:2;
    animation:tghFoodFade .35s ease;
}

.tgh-food-panel.active{
    display:block;
}

@keyframes tghFoodFade{
    from{
        opacity:0;
        transform:translateY(7px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}


/* Panel Heading */
.tgh-food-panel-heading{
    text-align:center;
    max-width:520px;
    margin:0 auto 30px;
}

.tgh-food-panel-heading > span{
    display:block;
    color:#8a6a3d;
    font-size:8px;
    font-weight:600;
    letter-spacing:3px;
    margin-bottom:8px;
}

.tgh-food-panel-heading h3{
    font-family:'Playfair Display',serif;
    color:#111;
    font-size:31px;
    font-weight:700;
    letter-spacing:.5px;
    margin:0;
}

.tgh-food-heading-line{
    width:100%;
    height:1px;
    background:#9c9c91;
    margin-top:14px;
    position:relative;
}

.tgh-food-heading-line:after{
    content:"";
    width:6px;
    height:6px;
    background:#d9b84f;
    border-radius:50%;
    position:absolute;
    right:-14px;
    top:50%;
    transform:translateY(-50%);
}


/* =========================================
   FOOD ITEMS
========================================= */

.tgh-food-items{
    max-width:500px;
    margin:0 auto;
}

.tgh-food-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
    padding:9px 3px;
    border-bottom:1px dotted rgba(0,59,38,.17);
}

.tgh-food-item span{
    color:#222;
    font-size:14px;
    font-weight:400;
}

.tgh-food-item strong{
    color:#111;
    font-size:14px;
    font-weight:600;
    white-space:nowrap;
}


/* Coming Soon */
.tgh-food-coming{
    min-height:260px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:12px;
    color:#003B26;
}

.tgh-food-coming i{
    color:#5c9366;
    font-size:27px;
}

.tgh-food-coming span{
    font-family:'Playfair Display',serif;
    font-size:18px;
}


/* =========================================
   BOARD FOOTER
========================================= */

.tgh-food-board-footer{
    position:absolute;
    z-index:3;
    left:60px;
    right:60px;
    bottom:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.tgh-food-board-footer > span{
    width:55px;
    height:1px;
    background:#c9c1b0;
}

.tgh-food-board-footer i{
    color:#39734a;
    font-size:8px;
}

.tgh-food-board-footer small{
    color:#8a6a3d;
    font-size:8px;
    font-weight:600;
    letter-spacing:.8px;
    white-space:nowrap;
}


/* =========================================
   TABLET
========================================= */

@media(max-width:991px){

    .tgh-food-menu{
        padding:70px 0;
    }

    .tgh-food-heading h2{
        font-size:39px;
    }

    .tgh-food-layout{
        grid-template-columns:235px minmax(0,1fr);
        gap:20px;
    }

    .tgh-food-board{
        padding:45px 40px 65px;
    }

    .tgh-food-brand img{
        width:55px;
        height:55px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:767px){

    .tgh-food-layout{
        grid-template-columns:1fr;
    }

    .tgh-food-sidebar{
        padding:22px 16px;
    }

    .tgh-food-categories{
        display:grid;
        grid-template-columns:1fr 1fr;
    }

    .tgh-food-sidebar-bottom{
        display:none;
    }

    .tgh-food-board{
        min-height:480px;
        padding:90px 28px 60px;
    }

    .tgh-food-panel-heading h3{
        font-size:28px;
    }

    .tgh-food-brand{
        top:18px;
        left:18px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media(max-width:480px){

    .tgh-food-menu{
        padding:55px 0;
    }

    .tgh-food-heading{
        margin-bottom:32px;
    }

    .tgh-food-heading h2{
        font-size:32px;
    }

    .tgh-food-heading p{
        font-size:13px;
    }

    .tgh-food-categories{
        grid-template-columns:1fr;
    }

    .tgh-food-board{
        padding:85px 20px 58px;
    }

    .tgh-food-item{
        gap:15px;
    }

    .tgh-food-item span,
    .tgh-food-item strong{
        font-size:13px;
    }

    .tgh-food-board-footer{
        left:15px;
        right:15px;
    }

    .tgh-food-board-footer > span{
        width:25px;
    }

    .tgh-food-board-footer small{
        font-size:7px;
        letter-spacing:.3px;
    }
}

/* =========================================
   CLIENT REFERENCE STYLE MENU BOARD
   SIDEBAR UNCHANGED
========================================= */

.tgh-food-board{
    position:relative;
    min-height:620px;
    padding:55px 75px 75px;

    background:
        linear-gradient(
            90deg,
            rgba(213,238,216,.55) 0%,
            rgba(255,255,255,.96) 16%,
            #ffffff 50%,
            rgba(255,255,255,.96) 84%,
            rgba(213,238,216,.55) 100%
        );

    border:1px solid #b9d5bd;
    box-shadow:0 15px 40px rgba(0,59,38,.08);
    overflow:hidden;
}

/* soft green painted top area */
.tgh-food-board:before{
    content:"";
    position:absolute;
    top:-65px;
    left:-40px;
    width:330px;
    height:150px;
    background:rgba(93,164,104,.16);
    border-radius:40% 60% 65% 35%;
    transform:rotate(-7deg);
    z-index:0;
    pointer-events:none;
}

/* soft green painted bottom */
.tgh-food-board:after{
    content:"";
    position:absolute;
    right:-60px;
    bottom:-70px;
    width:350px;
    height:190px;
    background:rgba(83,154,94,.18);
    border-radius:55% 45% 30% 70%;
    transform:rotate(-8deg);
    z-index:0;
    pointer-events:none;
}


/* =========================
   LOGO
========================= */

.tgh-food-brand{
    position:absolute;
    top:18px;
    left:18px;
    z-index:5;
}

.tgh-food-brand img{
    width:82px;
    height:82px;
    object-fit:contain;
}


/* =========================
   DARKER LEAVES
========================= */

.tgh-food-decoration{
    position:absolute;
    color:#28733d !important;
    pointer-events:none;
    z-index:1;
}

/* top right */
.tgh-food-decoration-one{
    top:-20px;
    right:10px;
    font-size:125px;
    opacity:.60 !important;
    transform:rotate(-30deg);
}

/* bottom right */
.tgh-food-decoration-two{
    right:-5px;
    bottom:-5px;
    font-size:165px;
    opacity:.72 !important;
    transform:rotate(-12deg);
}

/* bottom left */
.tgh-food-decoration-three{
    left:-15px;
    bottom:25px;
    font-size:105px;
    opacity:.50 !important;
    transform:rotate(30deg);
}


/* =========================
   MENU HEADING
========================= */

.tgh-food-panel{
    position:relative;
    z-index:4;
}

.tgh-food-panel-heading{
    max-width:520px;
    margin:0 auto 28px;
    text-align:center;
}

.tgh-food-panel-heading > span{
    color:#8a6a3d;
    font-size:8px;
    font-weight:600;
    letter-spacing:3px;
}

.tgh-food-panel-heading h3{
    margin:8px 0 0;
    color:#111;
    font-family:'Playfair Display',serif;
    font-size:32px;
    font-weight:700;
}

.tgh-food-heading-line{
    width:100%;
    height:1px;
    background:#777;
    margin-top:15px;
}

.tgh-food-heading-line:after{
    background:#e0b735;
}


/* =========================
   MENU ITEMS
========================= */

.tgh-food-items{
    max-width:500px;
    margin:0 auto;
}

.tgh-food-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;

    padding:7px 2px;

    /* client reference = clean list */
    border-bottom:0;
}

.tgh-food-item span{
    color:#222;
    font-size:13px;
    font-weight:400;
}

.tgh-food-item strong{
    color:#111;
    font-size:13px;
    font-weight:600;
}


/* =========================
   FOOTER
========================= */

.tgh-food-board-footer{
    z-index:5;
    bottom:22px;
}


/* =========================
   MOBILE
========================= */

@media(max-width:767px){

    .tgh-food-board{
        min-height:560px;
        padding:100px 35px 70px;
    }

    .tgh-food-brand img{
        width:65px;
        height:65px;
    }

    .tgh-food-decoration-one{
        font-size:100px;
    }

    .tgh-food-decoration-two{
        font-size:125px;
    }

    .tgh-food-decoration-three{
        font-size:80px;
    }
}

@media(max-width:480px){

    .tgh-food-board{
        padding:90px 22px 65px;
    }

    .tgh-food-panel-heading h3{
        font-size:27px;
    }

    .tgh-food-item span,
    .tgh-food-item strong{
        font-size:12px;
    }
}

/* =========================================
   MOBILE MENU - SIDEBAR STYLE IN ONE LINE
========================================= */

@media(max-width:767px){

    .tgh-food-layout{
        display:block;
    }

    .tgh-food-sidebar{
        width:100%;
        background:#003B26;
        border-radius:14px;
        padding:10px;
        margin-bottom:20px;
        box-shadow:0 10px 25px rgba(0,59,38,.14);
        overflow:hidden;
    }

    .tgh-food-sidebar-top,
    .tgh-food-sidebar-bottom{
        display:none;
    }

    .tgh-food-categories{
        display:flex !important;
        flex-direction:row !important;
        flex-wrap:nowrap !important;
        gap:4px;
        padding:0;
        overflow-x:auto;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }

    .tgh-food-categories::-webkit-scrollbar{
        display:none;
    }

    .tgh-food-category{
        flex:0 0 auto;
        width:auto;
        margin:0;
        padding:9px 12px;
        border:0;
        border-radius:8px;
        background:transparent;
        color:rgba(255,255,255,.78);
        box-shadow:none;
        gap:7px;
        white-space:nowrap;
    }

    .tgh-food-count{
        display:none;
    }

    .tgh-food-cat-icon{
        width:24px;
        height:24px;
        flex:0 0 24px;
        border-radius:50%;
        background:rgba(255,255,255,.08);
        color:#e8c98b;
        font-size:9px;
    }

    .tgh-food-cat-name{
        font-size:10px;
        font-weight:600;
    }

    .tgh-food-arrow{
        display:none;
    }

    .tgh-food-category:hover{
        background:rgba(255,255,255,.07);
    }

    .tgh-food-category.active{
        background:#f7f1e5;
        color:#003B26;
        border:0;
        box-shadow:none;
    }

    .tgh-food-category.active .tgh-food-cat-icon{
        background:#003B26;
        color:#e8c98b;
    }

    .tgh-food-board{
        width:100%;
        margin-top:0;
    }
}


/* SMALL MOBILE */

@media(max-width:480px){

    .tgh-food-sidebar{
        padding:8px;
        border-radius:12px;
    }

    .tgh-food-categories{
        gap:3px;
    }

    .tgh-food-category{
        padding:8px 10px;
    }

    .tgh-food-cat-icon{
        width:22px;
        height:22px;
        flex-basis:22px;
        font-size:8px;
    }

    .tgh-food-cat-name{
        font-size:9px;
    }
}

/* =========================================
   DESKTOP SIDEBAR - ONLY CATEGORIES SCROLL
   Bottom part always visible
========================================= */

@media(min-width:768px){

    /* Sidebar ko cut nahi karna */
    .tgh-food-sidebar{
        max-height:none;
        height:auto;
        display:flex;
        flex-direction:column;
    }

    /* Sirf categories area scroll hoga */
    .tgh-food-categories{
        max-height:300px;
        overflow-y:auto;
        overflow-x:hidden;
        padding-right:6px;
        flex-shrink:1;
    }

    /* Bottom Fresh Flavours section fixed rahe */
    .tgh-food-sidebar-bottom{
        flex-shrink:0;
        margin-top:18px;
        padding:18px 10px 4px;
    }

    /* Scrollbar */
    .tgh-food-categories::-webkit-scrollbar{
        width:4px;
    }

    .tgh-food-categories::-webkit-scrollbar-track{
        background:rgba(255,255,255,.08);
        border-radius:20px;
    }

    .tgh-food-categories::-webkit-scrollbar-thumb{
        background:#e8c98b;
        border-radius:20px;
    }
}

p a,
p a:visited,
p a:hover,
p a:active,
p a:focus {
    color: inherit;
    text-decoration: none;
}

/* Thankyou Page */
/* =====================================================
   COMMON THANK YOU PAGE
===================================================== */

.tgh-thankyou-section {
    position: relative;
    min-height: 88vh;
    padding: 155px 20px 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #064a35;
}

.tgh-thankyou-section .container {
    position: relative;
    z-index: 2;
    width: 100%;
}


/* =====================================================
   BACKGROUND DECORATION
===================================================== */

.tgh-thankyou-shape {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.tgh-thankyou-shape--one {
    width: 390px;
    height: 390px;
    top: -190px;
    right: -120px;
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.tgh-thankyou-shape--one::before {
    content: "";
    position: absolute;
    inset: 45px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.tgh-thankyou-shape--two {
    width: 270px;
    height: 270px;
    left: -135px;
    bottom: -120px;
    border: 1px solid rgba(255, 255, 255, 0.07);
}


/* =====================================================
   CARD
===================================================== */

.tgh-thankyou-card {
    position: relative;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    padding: 62px 65px 0;
    overflow: hidden;
    text-align: center;
    background: #f4f8f2;
    border: 1px solid rgba(255, 255, 255, 0.30);
    box-shadow: 0 30px 80px rgba(0, 25, 17, 0.28);
}

.tgh-thankyou-card-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: #82a887;
}


/* =====================================================
   SUCCESS BADGE
===================================================== */

.tgh-thankyou-success {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    padding: 7px 15px 7px 7px;
    margin-bottom: 25px;
    border-radius: 50px;
    background: #e4eee2;
    color: #315e49;
}

.tgh-thankyou-success span {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.tgh-thankyou-icon {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 50%;
    background: #064a35;
    color: #ffffff;
    font-size: 13px;
}


/* =====================================================
   CONTENT
===================================================== */

.tgh-thankyou-content {
    max-width: 590px;
    margin: 0 auto;
}

.tgh-thankyou-brand {
    display: block;
    margin-bottom: 12px;
    color: #688175;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 3px;
}

.tgh-thankyou-card h1 {
    margin: 0;
    color: #064a35;
    font-family: "Cormorant Garamond", serif;
    font-size: 55px;
    font-weight: 600;
    line-height: 1;
}

.tgh-thankyou-card h2 {
    margin: 12px 0 0;
    color: #315e49;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
}


/* Divider */

.tgh-thankyou-leaf-divider {
    margin: 21px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
}

.tgh-thankyou-leaf-divider span {
    width: 38px;
    height: 1px;
    background: #bdcec0;
}

.tgh-thankyou-leaf-divider i {
    color: #72967b;
    font-size: 9px;
}


/* =====================================================
   MESSAGE BOX
===================================================== */

.tgh-thankyou-message {
    max-width: 560px;
    margin: 0 auto 28px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #e9f1e7;
    border-left: 3px solid #72967b;
    text-align: left;
}

.tgh-thankyou-message > i {
    flex-shrink: 0;
    color: #397058;
    font-size: 17px;
}

.tgh-thankyou-message p {
    margin: 0;
    color: #5d7067;
    font-size: 12px;
    line-height: 1.7;
}


/* =====================================================
   BUTTON
===================================================== */

.tgh-thankyou-action {
    margin-top: 5px;
}

.tgh-thankyou-btn {
    min-height: 52px;
    padding: 0 8px 0 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    background: #064a35;
    border: 1px solid #064a35;
    color: #ffffff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: 0.3s ease;
}

.tgh-thankyou-btn-icon {
    width: 37px;
    height: 37px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.11);
}

.tgh-thankyou-btn-icon i {
    font-size: 10px;
    transition: transform 0.3s ease;
}

.tgh-thankyou-btn:hover {
    background: #0a5b43;
    border-color: #0a5b43;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(6, 74, 53, 0.18);
}

.tgh-thankyou-btn:hover .tgh-thankyou-btn-icon i {
    transform: translateX(3px);
}


/* =====================================================
   CARD BOTTOM
===================================================== */

.tgh-thankyou-footer {
    margin: 45px -65px 0;
    min-height: 72px;
    padding: 15px 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: #e2ece0;
    border-top: 1px solid #d3e0d1;
}

.tgh-thankyou-footer-leaf {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #d2e1d0;
    color: #47705b;
    font-size: 10px;
}

.tgh-thankyou-footer div {
    text-align: left;
}

.tgh-thankyou-footer small {
    display: block;
    margin-bottom: 2px;
    color: #315e49;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.tgh-thankyou-footer p {
    margin: 0;
    color: #778a80;
    font-size: 8px;
    font-weight: 500;
    letter-spacing: 0.8px;
    text-transform: uppercase;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .tgh-thankyou-section {
        min-height: 80vh;
        padding: 115px 15px 55px;
    }

    .tgh-thankyou-card {
        padding: 45px 20px 0;
    }

    .tgh-thankyou-success {
        margin-bottom: 22px;
    }

    .tgh-thankyou-card h1 {
        font-size: 42px;
    }

    .tgh-thankyou-card h2 {
        font-size: 13px;
    }

    .tgh-thankyou-message {
        padding: 15px;
    }

    .tgh-thankyou-message p {
        font-size: 11px;
    }

    .tgh-thankyou-btn {
        min-height: 50px;
    }

    .tgh-thankyou-footer {
        margin: 38px -20px 0;
        padding: 15px 18px;
    }

    .tgh-thankyou-footer p {
        letter-spacing: 0.4px;
    }

    .tgh-thankyou-shape--one {
        width: 250px;
        height: 250px;
    }

    .tgh-thankyou-shape--two {
        width: 180px;
        height: 180px;
    }
}