/* =========================
   CONTACT CARDS
========================= */
body{
    background:#0a0a0a;
}
.contact-methods{

    max-width:1300px;
    margin:auto;

    padding:100px 25px;
}

.contact-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:25px;
}

.contact-card{

    position:relative;

    padding:45px 30px;

    text-align:center;

    text-decoration:none;

    color:#fff;

    border-radius:28px;

    overflow:hidden;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.01)
    );

    border:
    1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);

    transition:.35s ease;
}

.contact-card::before{

    content:'';

    position:absolute;

    top:-60px;
    right:-60px;

    width:140px;
    height:140px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(183,110,121,.18),
        transparent 70%
    );
}

.contact-card:hover{

    transform:translateY(-8px);

    border-color:
    rgba(183,110,121,.35);

    box-shadow:
    0 20px 40px rgba(0,0,0,.25);
}

.contact-icon{

    width:80px;
    height:80px;

    margin:0 auto 25px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:
    rgba(255,255,255,.05);

    border:
    1px solid rgba(255,255,255,.08);
}

.contact-icon i{

    font-size:32px;

    color:#d9b38c;
}

.contact-card h3{

    font-size:26px;

    margin-bottom:15px;

    font-family:'Playfair Display', serif;
}

.contact-card p{

    color:#bdbdbd;

    line-height:1.8;

    font-size:15px;
}
@media(max-width:991px){

    .contact-methods{

        padding:70px 20px;
    }

    .contact-grid{

        grid-template-columns:1fr 1fr;

        gap:15px;
    }

    .contact-card{

        padding:30px 20px;
    }

    .contact-icon{

        width:65px;
        height:65px;

        margin-bottom:18px;
    }

    .contact-icon i{

        font-size:24px;
    }

    .contact-card h3{

        font-size:20px;
    }

    .contact-card p{

        font-size:14px;

        line-height:1.6;
    }
}
/* =========================
   CONTACT INFO
========================= */
.contact-info-section{

    background:#0a0a0a;

    padding:0 25px 100px;
}
.contact-info-section{

    padding:0 25px 100px;
}

.contact-info-container{

    max-width:1100px;
    margin:auto;

    text-align:center;
}

.contact-info-container h2{

    font-size:48px;

    margin:20px 0 25px;

    color:#fff;

    font-family:'Playfair Display', serif;
}

.contact-info-container p{

    color:#bdbdbd;

    line-height:2;

    margin-bottom:20px;
}

.contact-features{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:25px;

    margin-top:50px;
}

.feature-item{

    padding:35px;

    border-radius:24px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        rgba(255,255,255,.01)
    );

    border:
    1px solid rgba(255,255,255,.08);
}

.feature-item i{

    font-size:34px;

    color:#d9b38c;

    margin-bottom:15px;
}

.feature-item h3{

    color:#fff;

    margin-bottom:12px;
}

.feature-item p{

    margin:0;

    color:#bdbdbd;
}

/* MOBILE */

@media(max-width:991px){

    .contact-info-section{

        padding:0 20px 80px;
    }

    .contact-info-container h2{

        font-size:32px;
    }

    .contact-features{

        grid-template-columns:1fr;

        gap:15px;
    }
}

/* =========================
   CONTACT DETAILS
========================= */

.contact-details-section{

    background:#0a0a0a;

    padding:0 25px 100px;
}

.contact-details-grid{

    max-width:1300px;
    margin:auto;

    display:grid;
    grid-template-columns:45% 55%;

    gap:60px;

    align-items:center;
}

.contact-details-content .section-tag{

    display:inline-block;

    color:#d9b38c;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;
}

.contact-details-content h2{

    color:#fff;

    font-size:52px;

    line-height:1.2;

    margin-bottom:25px;

    font-family:'Playfair Display', serif;
}

.contact-details-content p{

    color:#bdbdbd;

    line-height:2;

    margin-bottom:20px;

    font-size:16px;
}

/* Right Side Boxes */

.contact-details-boxes{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;
}

.info-box{

    padding:35px;

    border-radius:24px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.01)
    );

    border:
    1px solid rgba(255,255,255,.08);

    transition:.35s ease;
}

.info-box:hover{

    transform:translateY(-5px);

    border-color:
    rgba(183,110,121,.30);

    box-shadow:
    0 20px 40px rgba(0,0,0,.20);
}

.info-box h3{

    color:#fff;

    font-size:24px;

    margin-bottom:12px;

    font-family:'Playfair Display', serif;
}

.info-box p{

    color:#bdbdbd;

    line-height:1.8;

    margin:0;
}
.info-box i{

    font-size:28px;

    color:#d9b38c;

    margin-bottom:15px;
}
/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .contact-details-section{

        padding:0 20px 80px;
    }

    .contact-details-grid{

        grid-template-columns:1fr;

        gap:35px;
    }

    .contact-details-content{

        text-align:center;
    }

    .contact-details-content h2{

        font-size:34px;
    }

    .contact-details-boxes{

        grid-template-columns:1fr;
    }

    .info-box{

        padding:25px;
    }

    .info-box h3{

        font-size:22px;
    }
}

/* =========================
   CONTACT CTA
========================= */

.contact-cta-section{

    background:#0a0a0a;

    padding:0 25px 100px;
}

.contact-cta-box{

    max-width:1100px;
    margin:auto;

    padding:80px 50px;

    text-align:center;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        rgba(122,31,61,.45),
        rgba(183,110,121,.12)
    );

    border:
    1px solid rgba(183,110,121,.25);

    position:relative;

    overflow:hidden;
}

.contact-cta-box::before{

    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:280px;
    height:280px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(255,255,255,.08),
        transparent 70%
    );
}

.contact-cta-box h2{

    color:#fff;

    font-size:54px;

    line-height:1.2;

    margin:15px 0 25px;

    font-family:'Playfair Display', serif;
}

.contact-cta-box p{

    max-width:750px;

    margin:auto;

    color:#d6d6d6;

    line-height:2;

    font-size:17px;
}

.contact-cta-buttons{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-top:35px;
}

.contact-cta-buttons a{

    width:210px;
    height:58px;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:10px;

    text-decoration:none;

    border-radius:50px;

    transition:.3s ease;
}

.cta-primary-btn{

    background:
    linear-gradient(
        135deg,
        #25D366,
        #1db954
    );

    color:#fff;
}

.cta-secondary-btn{

    background:
    linear-gradient(
        135deg,
        #9d002f,
        #c0003a
    );

    color:#fff;
}

.contact-cta-buttons a:hover{

    transform:translateY(-3px);

    box-shadow:
    0 15px 30px rgba(0,0,0,.25);
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .contact-cta-section{

        padding:0 20px 80px;
    }

    .contact-cta-box{

        padding:50px 25px;
    }

    .contact-cta-box h2{

        font-size:34px;
    }

    .contact-cta-box p{

        font-size:16px;
    }

    .contact-cta-buttons{

         display:flex;

        flex-direction:row;

        gap:12px;

       
    }

    .contact-cta-buttons a{

        width:100%;
        max-width:250px;
    }
}