
/* =========================
   PREMIUM FOOTER
========================= */

.idxf-footer{
    background:#171411;
    padding:100px 7% 40px;
    position:relative;
    overflow:hidden;
}

/* subtle texture */

.idxf-footer::before{
    content:'';
    position:absolute;
    inset:0;
    background:
    radial-gradient(circle at top left,
    rgba(176,141,87,0.12),
    transparent 35%);
    pointer-events:none;
}

/* TOP */

.idxf-top{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.3fr;
    gap:70px;
    position:relative;
    z-index:2;
}

/* BRAND */

.idxf-logo-wrap{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:28px;
}

.idxf-logo-wrap img{
    width:56px;
    height:56px;
    border-radius:16px;
    object-fit:cover;
}

.idxf-logo-text h2{
    font-size:34px;
    line-height:1;
    color:#fff;
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
}

.idxf-logo-text span{
    color:#b08d57;
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
}

.idxf-brand p{
    color:rgba(255,255,255,0.7);
    line-height:1.9;
    font-size:15px;
    max-width:420px;
}

/* LINKS */

.idxf-links h3,
.idxf-contact h3{
    color:#fff;
    font-size:18px;
    margin-bottom:28px;
    font-weight:600;
    letter-spacing:0.5px;
}

.idxf-links{
    display:flex;
    flex-direction:column;
}

.idxf-links a{
    color:rgba(255,255,255,0.68);
    text-decoration:none;
    margin-bottom:16px;
    transition:0.3s ease;
    width:fit-content;
    position:relative;
}

.idxf-links a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:1px;
    background:#b08d57;
    transition:0.35s;
}

.idxf-links a:hover{
    color:#fff;
}

.idxf-links a:hover::after{
    width:100%;
}

/* CONTACT */

.idxf-contact p{
    color:rgba(255,255,255,0.68);
    line-height:1.9;
    margin-bottom:22px;
}

.idxf-contact a{
    display:block;
    color:#b08d57;
    text-decoration:none;
    margin-bottom:14px;
    transition:0.3s;
}

.idxf-contact a:hover{
    color:#fff;
}

/* DIVIDER */

.idxf-divider{
    width:100%;
    height:1px;
    background:rgba(255,255,255,0.08);
    margin:60px 0 30px;
}

/* BOTTOM */

.idxf-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

.idxf-bottom p{
    color:rgba(255,255,255,0.55);
    font-size:14px;
}

.idxf-socials{
    display:flex;
    gap:28px;
    flex-wrap:wrap;
}

.idxf-socials a{
    text-decoration:none;
    color:rgba(255,255,255,0.68);
    transition:0.3s;
    position:relative;
}

.idxf-socials a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:1px;
    background:#b08d57;
    transition:0.35s;
}

.idxf-socials a:hover{
    color:#fff;
}

.idxf-socials a:hover::after{
    width:100%;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

    .idxf-top{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:700px){

    .idxf-footer{
        padding:80px 24px 35px;
    }

    .idxf-top{
        grid-template-columns:1fr;
        gap:50px;
    }

    .idxf-bottom{
        flex-direction:column;
        align-items:flex-start;
    }

    .idxf-logo-text h2{
        font-size:28px;
    }

}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:#f5f1eb;
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
}

/* =========================
   PREMIUM HEADER
========================= */

.idx-header-wrap{
    position:fixed;
    top:20px;
    left:0;
    width:100%;
    z-index:9999;
    padding:0 30px;
    transition:0.4s ease;
}

.idx-header{
    max-width:1400px;
    margin:auto;
    background:rgba(255,255,255,0.72);
    backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.35);
    border-radius:26px;
    padding:18px 28px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-shadow:
    0 10px 40px rgba(0,0,0,0.08),
    inset 0 1px 1px rgba(255,255,255,0.5);
    transition:0.4s ease;
}

.idx-header-wrap.active .idx-header{
    padding:14px 24px;
    background:rgba(255,255,255,0.9);
    box-shadow:
    0 15px 45px rgba(0,0,0,0.12);
}

/* LOGO */

.idx-logo-box{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
}

.idx-logo-box img{
    width:170px;
  
}

.idx-logo-text h2{
    font-size:30px;
    line-height:1;
    font-weight:700;
    color:#1f1b17;
    font-family:'Cormorant Garamond',serif;
    letter-spacing:1px;
}

.idx-logo-text span{
    font-size:12px;
    letter-spacing:3px;
    color:#8c7661;
    text-transform:uppercase;
}

/* NAV */

.idx-nav{
    display:flex;
    align-items:center;
    gap:42px;
    text-transform: uppercase;
}

.idx-nav a{
    position:relative;
    text-decoration:none;
    color:#2f2924;
    font-size:15px;
    font-weight:500;
    transition:0.3s;
}

.idx-nav a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:1.5px;
    background:#b08d57;
    transition:0.35s ease;
}

.idx-nav a:hover{
    color:#b08d57;
}

.idx-nav a:hover::after{
    width:100%;
}

/* BUTTON */

.idx-header-btn{
    text-decoration:none;
    background:#1f1b17;
    color:#fff;
    padding:14px 28px;
    border-radius:50px;
    font-size:14px;
    letter-spacing:1px;
    font-weight:500;
    transition:0.35s ease;
    border:1px solid transparent;
}

.idx-header-btn:hover{
    background:transparent;
    color:#1f1b17;
    border-color:#1f1b17;
}

/* MOBILE BUTTON */

.idx-menu-btn{
    width:48px;
    height:48px;
    border-radius:14px;
    background:#1f1b17;
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.idx-menu-btn span{
    width:22px;
    height:2px;
    background:#fff;
    position:relative;
}

.idx-menu-btn span::before,
.idx-menu-btn span::after{
    content:'';
    position:absolute;
    left:0;
    width:22px;
    height:2px;
    background:#fff;
}

.idx-menu-btn span::before{
    top:-7px;
}

.idx-menu-btn span::after{
    top:7px;
}

/* =========================
   HERO SLIDER
========================= */

.idx-hero{
    position:relative;
    width:100%;
    height:100vh;
    overflow:hidden;
}

/* SLIDES */

.idx-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:1.5s ease;
    transform:scale(1.08);
}

.idx-slide.active{
    opacity:1;
    visibility:visible;
    transform:scale(1);
}

.idx-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* OVERLAY */

.idx-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(rgba(0,0,0,0.45),
    rgba(0,0,0,0.45));
    z-index:2;
}

/* CONTENT */

.idx-hero-content{
    position:absolute;
    z-index:5;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    max-width:950px;
    text-align:center;
    color:#fff;
    padding:20px;
}

.idx-hero-content span{
    letter-spacing:5px;
    font-size:13px;
    text-transform:uppercase;
}

.idx-hero-content h1{
    font-size:88px;
    line-height:0.95;
    margin:24px 0;
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
}

.idx-hero-content p{
    font-size:18px;
    line-height:1.9;
    max-width:700px;
    margin:auto;
    color:rgba(255,255,255,0.88);
}

/* BUTTONS */

.idx-hero-btns{
    margin-top:40px;
    display:flex;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
}

.idx-btn-dark{
    background:#fff;
    color:#1f1b17;
    text-decoration:none;
    padding:16px 34px;
    border-radius:50px;
    font-size:14px;
    font-weight:600;
    transition:0.35s;
}

.idx-btn-dark:hover{
    background:#b08d57;
    color:#fff;
}

.idx-btn-light{
    border:1px solid rgba(255,255,255,0.6);
    color:#fff;
    text-decoration:none;
    padding:16px 34px;
    border-radius:50px;
    font-size:14px;
    transition:0.35s;
    backdrop-filter:blur(8px);
}

.idx-btn-light:hover{
    background:#fff;
    color:#1f1b17;
}

/* DOTS */

.idx-dots{
    position:absolute;
    bottom:45px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:14px;
    z-index:6;
}

.idx-dot{
    width:12px;
    height:12px;
    border-radius:50%;
    background:rgba(255,255,255,0.45);
    cursor:pointer;
    transition:0.35s;
}

.idx-dot.active{
    width:34px;
    border-radius:20px;
    background:#fff;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .idx-nav{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#fff;
        border-radius:24px;
        margin-top:14px;
        padding:30px;
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
        box-shadow:0 20px 50px rgba(0,0,0,0.08);
        opacity:0;
        visibility:hidden;
        transform:translateY(20px);
        transition:0.35s ease;
    }

    .idx-nav.active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }

    .idx-header-btn{
        display:none;
    }

    .idx-menu-btn{
        display:flex;
    }

    .idx-hero-content h1{
        font-size:60px;
    }

}

@media(max-width:600px){

    .idx-header-wrap{
        padding:0 14px;
        top:14px;
    }

    .idx-header{
        padding:16px 18px;
        border-radius:22px;
    }

    .idx-logo-box img{
        
    }

    .idx-logo-text h2{
        font-size:24px;
    }

    .idx-hero-content h1{
        font-size:44px;
    }

    .idx-hero-content p{
        font-size:15px;
    }

    .idx-hero-btns{
        flex-direction:column;
        align-items:center;
    }

}



/* =========================
   PREMIUM HEADER
========================= */

.cth-wrap{
    position:fixed;
    top:20px;
    left:0;
    width:100%;
    z-index:9999;
    padding:0 30px;
    transition:0.4s ease;
}

.cth-header{
    max-width:1400px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 28px;
    border-radius:28px;
    background:rgba(255,255,255,0.72);
    backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.3);
    box-shadow:
    0 10px 40px rgba(0,0,0,0.08),
    inset 0 1px 1px rgba(255,255,255,0.5);
    transition:0.4s ease;
}

.cth-wrap.active .cth-header{
    padding:14px 24px;
    background:rgba(255,255,255,0.92);
    box-shadow:0 15px 45px rgba(0,0,0,0.12);
}

/* LOGO */

.cth-logo{
    display:flex;
    align-items:center;
    gap:14px;
    text-decoration:none;
}

.cth-logo img{
    width:52px;
    height:52px;
    border-radius:14px;
    object-fit:cover;
}

.cth-logo-text h2{
    font-size:30px;
    line-height:1;
    font-family:'Cormorant Garamond',serif;
    color:#1e1b18;
    font-weight:700;
}

.cth-logo-text span{
    color:#9b7b58;
    font-size:12px;
    letter-spacing:3px;
    text-transform:uppercase;
}

/* NAV */

.cth-nav{
    display:flex;
    align-items:center;
    gap:42px;
}

.cth-nav a{
    position:relative;
    text-decoration:none;
    color:#2e2924;
    font-size:15px;
    font-weight:500;
    transition:0.3s;
}

.cth-nav a::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:1.5px;
    background:#b08d57;
    transition:0.35s;
}

.cth-nav a:hover,
.cth-nav a.active{
    color:#b08d57;
}

.cth-nav a:hover::after,
.cth-nav a.active::after{
    width:100%;
}

/* BUTTON */

.cth-btn{
    text-decoration:none;
    background:#1e1b18;
    color:#fff;
    padding:14px 28px;
    border-radius:50px;
    font-size:14px;
    letter-spacing:1px;
    font-weight:500;
    transition:0.35s;
    border:1px solid transparent;
}

.cth-btn:hover{
    background:transparent;
    color:#1e1b18;
    border-color:#1e1b18;
}

/* MOBILE BUTTON */

.cth-menu-btn{
    width:48px;
    height:48px;
    border-radius:14px;
    background:#1e1b18;
    display:none;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.cth-menu-btn span{
    width:22px;
    height:2px;
    background:#fff;
    position:relative;
}

.cth-menu-btn span::before,
.cth-menu-btn span::after{
    content:'';
    position:absolute;
    left:0;
    width:22px;
    height:2px;
    background:#fff;
}

.cth-menu-btn span::before{
    top:-7px;
}

.cth-menu-btn span::after{
    top:7px;
}

/* =========================
   CONTACT SECTION
========================= */

.cts-main{
    min-height:100vh;
    padding:170px 7% 90px;
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:70px;
    align-items:center;
}

/* LEFT */

.cts-left span{
    color:#9b7b58;
    letter-spacing:4px;
    text-transform:uppercase;
    font-size:13px;
}

.cts-left h1{
    font-size:82px;
    line-height:0.95;
    margin:22px 0;
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
}

.cts-left p{
    color:#5f5953;
    line-height:1.9;
    font-size:16px;
    max-width:560px;
    margin-bottom:40px;
}

/* CONTACT INFO */

.cts-info{
    display:flex;
    flex-direction:column;
    gap:24px;
}

.cts-box{
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.cts-icon{
    min-width:58px;
    height:58px;
    border-radius:18px;
    background:#1e1b18;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.cts-text h3{
    margin-bottom:8px;
    font-size:18px;
}

.cts-text p,
.cts-text a{
    color:#6d655e;
    text-decoration:none;
    line-height:1.7;
}

/* FORM */

.cts-form-wrap{
    background:rgba(255,255,255,0.65);
    backdrop-filter:blur(16px);
    border:1px solid rgba(255,255,255,0.35);
    padding:45px;
    border-radius:34px;
    box-shadow:
    0 15px 50px rgba(0,0,0,0.07);
}

.cts-form-wrap h2{
    font-size:42px;
    margin-bottom:30px;
    font-family:'Cormorant Garamond',serif;
}

.cts-form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.cts-form input,
.cts-form textarea{
    width:100%;
    border:none;
    outline:none;
    background:#fff;
    padding:18px 22px;
    border-radius:18px;
    font-size:15px;
    color:#1e1b18;
    font-family:'Inter',sans-serif;
    box-shadow:0 5px 18px rgba(0,0,0,0.04);
}

.cts-form textarea{
    height:150px;
    resize:none;
}

.cts-form button{
    border:none;
    background:#1e1b18;
    color:#fff;
    padding:18px;
    border-radius:50px;
    font-size:14px;
    letter-spacing:1px;
    cursor:pointer;
    transition:0.35s;
}

.cts-form button:hover{
    background:#b08d57;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1100px){

    .cts-main{
        grid-template-columns:1fr;
    }

    .cts-left h1{
        font-size:62px;
    }

}

@media(max-width:991px){

    .cth-nav{
        position:absolute;
        top:100%;
        left:0;
        width:100%;
        background:#fff;
        border-radius:24px;
        margin-top:14px;
        padding:30px;
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
        opacity:0;
        visibility:hidden;
        transform:translateY(20px);
        transition:0.35s;
        box-shadow:0 20px 50px rgba(0,0,0,0.08);
    }

    .cth-nav.active{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }

    .cth-btn{
        display:none;
    }

    .cth-menu-btn{
        display:flex;
    }

}

@media(max-width:650px){

    .cth-wrap{
        padding:0 14px;
        top:14px;
    }

    .cth-header{
        padding:16px 18px;
        border-radius:22px;
    }

    .cth-logo img{
        width:44px;
        height:44px;
    }

    .cth-logo-text h2{
        font-size:24px;
    }

    .cts-main{
        padding:150px 24px 70px;
    }

    .cts-left h1{
        font-size:44px;
    }

    .cts-form-wrap{
        padding:28px;
        border-radius:24px;
    }

    .cts-form-wrap h2{
        font-size:34px;
    }

}

/* =========================
   HERO
========================= */

.tls-hero{
    min-height:100vh;
    position:relative;
    overflow:hidden;
}

.tls-hero-slider{
    position:absolute;
    inset:0;
}

.tls-slide{
    position:absolute;
    inset:0;
    opacity:0;
    animation:tlsSlide 18s infinite;
    background-size:cover;
    background-position:center;
}

.tls-slide:nth-child(1){
    background-image:
    linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)),
    url('images/Noida6.jpg');
    animation-delay:0s;
}

.tls-slide:nth-child(2){
    background-image:
    linear-gradient(rgba(0,0,0,0.45),rgba(0,0,0,0.45)),
    url('images/a2.jpg');
    animation-delay:6s;
}



@keyframes tlsSlide{

    0%{
        opacity:0;
        transform:scale(1);
    }

    8%{
        opacity:1;
    }

    30%{
        opacity:1;
        transform:scale(1.05);
    }

    38%{
        opacity:0;
    }

    100%{
        opacity:0;
    }

}

/* HERO CONTENT */

.tls-hero-content{
    position:relative;
    z-index:2;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:20px;
}

.tls-hero-inner{
    max-width:950px;
    color:#fff;
}

.tls-hero-inner span{
    letter-spacing:5px;
    text-transform:uppercase;
    font-size:13px;
}

.tls-hero-inner h1{
    font-size:108px;
    line-height:0.92;
    margin:28px 0;
    font-family:'Cormorant Garamond',serif;
}

.tls-hero-inner p{
    max-width:760px;
    margin:auto;
    line-height:1.9;
    color:rgba(255,255,255,0.86);
    font-size:18px;
}

/* =========================
   IMAGE SECTION
========================= */

.tls-gallery{
    padding:120px 8%;
}

.tls-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:30px;
    margin-bottom:30px;
}

.tls-grid img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:34px;
    min-height:520px;
}

/* =========================
   CONTENT BLOCK
========================= */

.tls-content{
    padding:20px 8% 120px;
}

.tls-content-wrap{
    max-width:1300px;
    margin:auto;
}

.tls-content-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.tls-content-image img{
    width:100%;
    border-radius:34px;
    height:760px;
    object-fit:cover;
}

.tls-content-text span{
    color:#9b7a58;
    letter-spacing:5px;
    text-transform:uppercase;
    font-size:13px;
}

.tls-content-text h2{
    font-size:78px;
    line-height:0.95;
    margin:28px 0;
    font-family:'Cormorant Garamond',serif;
}

.tls-content-text p{
    color:#615a54;
    line-height:2;
    margin-bottom:22px;
    font-size:16px;
}

/* =========================
   FULL IMAGE
========================= */

.tls-full-image{
    padding:0 8% 120px;
}

.tls-full-image img{
    width:100%;
    border-radius:40px;
    height:760px;
    object-fit:cover;
}

/* =========================
   IMAGE CARDS
========================= */

.tls-cards{
    padding:0 8% 120px;
}

.tls-card-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.tls-card{
    position:relative;
    overflow:hidden;
    border-radius:32px;
}

.tls-card img{
    width:100%;
    height:520px;
    object-fit:cover;
    transition:0.7s ease;
}

.tls-card:hover img{
    transform:scale(1.08);
}

.tls-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(to top,
    rgba(0,0,0,0.78),
    rgba(0,0,0,0.08));
}

.tls-overlay-content{
    position:absolute;
    left:30px;
    bottom:30px;
    color:#fff;
}

.tls-overlay-content h3{
    font-size:42px;
    line-height:1;
    margin-bottom:12px;
    font-family:'Cormorant Garamond',serif;
}

.tls-overlay-content p{
    color:rgba(255,255,255,0.84);
    line-height:1.8;
    font-size:14px;
}

/* =========================
   CTA
========================= */

.tls-cta{
    padding:0 8% 120px;
}

.tls-cta-box{
    background:
    linear-gradient(rgba(0,0,0,0.48),rgba(0,0,0,0.48)),
    url('images/a3.jpg') center/cover;
    border-radius:40px;
    padding:120px 40px;
    text-align:center;
    color:#fff;
}

.tls-cta-box h2{
    font-size:88px;
    line-height:0.95;
    margin-bottom:26px;
    font-family:'Cormorant Garamond',serif;
}

.tls-cta-box p{
    max-width:760px;
    margin:auto;
    line-height:1.9;
    color:rgba(255,255,255,0.86);
    font-size:17px;
}

.tls-btn{
    display:inline-block;
    margin-top:40px;
    text-decoration:none;
    background:#fff;
    color:#1d1a17;
    padding:18px 38px;
    border-radius:50px;
    transition:0.35s ease;
    font-size:14px;
}

.tls-btn:hover{
    background:#b08d57;
    color:#fff;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .tls-grid,
    .tls-content-grid,
    .tls-card-grid{
        grid-template-columns:1fr;
    }

    .tls-hero-inner h1,
    .tls-content-text h2,
    .tls-cta-box h2{
        font-size:58px;
    }

    .tls-content-image img,
    .tls-full-image img{
        height:520px;
    }

}

@media(max-width:600px){

    .tls-gallery,
    .tls-content,
    .tls-full-image,
    .tls-cards,
    .tls-cta{
        padding-left:24px;
        padding-right:24px;
    }

    .tls-hero-inner h1,
    .tls-content-text h2,
    .tls-cta-box h2{
        font-size:42px;
    }

    .tls-hero-inner p{
        font-size:15px;
    }

    .tls-grid img,
    .tls-card img{
        min-height:340px;
        height:340px;
    }

    .tls-content-image img,
    .tls-full-image img{
        height:380px;
    }

    .tls-overlay-content h3{
        font-size:32px;
    }

}
