*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:#0f1115;
}



.contact-section{
    position:relative;
    min-height:100vh;
    padding:120px 20px 80px;

    background:
    linear-gradient(rgba(10,10,15,0.82),rgba(10,10,15,0.82)),
    url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?q=80&w=2070&auto=format&fit=crop') center/cover no-repeat;

    overflow:hidden;
}

/* GLOW EFFECT */

.contact-section::before{
    content:'';
    position:absolute;
    width:600px;
    height:600px;
    background:radial-gradient(circle,#ff3b3b33 0%,transparent 70%);
    top:-200px;
    right:-120px;
}

.contact-section::after{
    content:'';
    position:absolute;
    width:500px;
    height:500px;
    background:radial-gradient(circle,#ff5c3530 0%,transparent 70%);
    bottom:-200px;
    left:-150px;
}

/* =========================
   CONTAINER
========================= */

.contact-container{
    position:relative;
    z-index:2;

    max-width:1250px;
    margin:auto;

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:35px;
}

/* =========================
   LEFT BOX
========================= */

.contact-info-box{

    background:rgba(20,20,25,0.72);

    backdrop-filter:blur(16px);

    border:1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:55px;

    color:white;

    box-shadow:0 25px 60px rgba(0,0,0,0.35);
}

.contact-tag{
    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(255,255,255,0.08);

    border:1px solid rgba(255,255,255,0.1);

    color:#fff;

    font-size:12px;

    letter-spacing:1px;

    font-weight:600;

    margin-bottom:28px;
}

.contact-info-box h2{
    font-size:58px;

    line-height:1.05;

    font-family:'Montserrat',sans-serif;

    font-weight:800;

    margin-bottom:22px;
    color: #fff;
}

.contact-info-box h2 span{
    color:#ff4d4d;
}

.contact-desc{
    color:rgba(255,255,255,0.72);

    line-height:1.8;

    font-size:15px;

    max-width:520px;
}

/* =========================
   INFO ITEMS
========================= */

.contact-info-list{
    margin-top:40px;
}

.contact-info-item{
    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:28px;
    
}

.icon-box{

    width:56px;
    height:56px;
    min-width:56px;

    border-radius:18px;

    background:linear-gradient(135deg,#ff2d2d,#ff6a3d);

    display:flex;

    align-items:center;

    justify-content:center;

    color:white;

    font-size:18px;

    box-shadow:0 12px 28px rgba(255,70,70,0.28);
    transition: transform ease 0.03s;
}

.icon-box:hover{
    transform: scale(1.08);
}

.contact-info-item h4{
    font-size:18px;

    margin-bottom:6px;

    font-weight:700;
    color: #fff;
}

.contact-info-item p{
    color:rgba(255,255,255,0.72);

    line-height:1.7;

    font-size:14px;
}

/* =========================
   MAP
========================= */

.contact-map{
    margin-top:35px;

    border-radius:22px;

    overflow:hidden;

    height:260px;

    border:1px solid rgba(255,255,255,0.08);
}

.contact-map iframe{
    width:100%;
    height:100%;
    border:none;
}

/* =========================
   FORM BOX
========================= */

.contact-form-box{

    background:rgba(255,255,255,0.96);

    border-radius:28px;

    padding:55px;

    box-shadow:0 20px 60px rgba(0,0,0,0.25);
}

.contact-form-box h3{
    font-size:38px;

    font-family:'Montserrat',sans-serif;

    margin-bottom:35px;

    font-weight:800;

    color:#111827;
}

/* =========================
   FORM
========================= */

.input-grid{
    display:grid;

    grid-template-columns:1fr;

    gap:20px;
}

.input-group{
    margin-bottom:22px;
}

.input-group label{
    display:block;

    margin-bottom:10px;

    font-size:14px;

    font-weight:700;

    color:#374151;
}

.input-group input,
.input-group select,
.input-group textarea{

    width:100%;

    padding:17px 18px;

    border-radius:16px;

    border:1.5px solid #e5e7eb;

    background:#f9fafb;

    outline:none;

    transition:0.3s ease;

    font-size:15px;

    font-family:inherit;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus{

    border-color:#ff4d4d;

    background:white;

    box-shadow:0 0 0 5px rgba(255,77,77,0.08);
}

.input-group textarea{
    resize:none;
}

/* =========================
   BUTTON
========================= */

.contact-btn{

    width:100%;

    padding:18px;

    border:none;

    border-radius:16px;

    background:linear-gradient(135deg,#ff2d2d,#ff5c35);

    color:white;

    font-size:15px;

    font-weight:700;

    cursor:pointer;

    transition:0.3s ease;

    letter-spacing:.5px;
}

.contact-btn:hover{

    transform:translateY(-2px);

    box-shadow:0 18px 35px rgba(255,70,70,0.28);
}

/* SUCCESS */

.success-message{

    display:none;

    margin-top:18px;

    padding:15px;

    border-radius:14px;

    background:#ecfdf5;

    color:#059669;

    font-weight:600;

    text-align:center;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:992px){

    .contact-container{
        grid-template-columns:1fr;
    }

    .contact-info-box h2{
        font-size:44px;
    }

}

@media(max-width:768px){

    .contact-section{
        padding:90px 15px 60px;
    }

    .contact-info-box,
    .contact-form-box{
        padding:30px 24px;
    }

    .contact-info-box h2{
        font-size:34px;
    }

    .contact-form-box h3{
        font-size:28px;
    }

    .input-grid{
        grid-template-columns:1fr;
        gap:0;
    }

    .contact-map{
        height:220px;
    }

}


/* ======================================================
   PREMIUM ANIMATIONS
====================================================== */

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(60px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes fadeLeft{
    from{
        opacity:0;
        transform:translateX(-70px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes fadeRight{
    from{
        opacity:0;
        transform:translateX(70px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes zoomIn{
    from{
        opacity:0;
        transform:scale(.94);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@keyframes floatSoft{
    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-8px);
    }

    100%{
        transform:translateY(0px);
    }
}

/* ======================================================
   HERO ENTRANCE
====================================================== */

.contact-info-box{
    animation:fadeLeft 1s ease;
}

.contact-form-box{
    animation:fadeRight 1s ease;
}

/* ======================================================
   HEADINGS
====================================================== */

.contact-info-box h2,
.contact-form-box h3{
    animation:fadeUp 1s ease;
}

/* ======================================================
   INFO ITEMS
====================================================== */

.contact-info-item{
    animation:fadeUp .9s ease;
    transition:
        transform .35s ease,
        background .35s ease;
}

.contact-info-item:hover{
    transform:translateX(8px);
}

/* ======================================================
   ICONS
====================================================== */

.icon-box{
    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.icon-box:hover{
    transform:scale(1.1) rotate(3deg);

    box-shadow:
    0 18px 35px rgba(255,70,70,.35);
}

/* ======================================================
   MAP
====================================================== */

.contact-map{
    animation:zoomIn 1s ease;
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}

.contact-map:hover{
    transform:translateY(-4px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.25);
}

/* ======================================================
   FORM INPUTS
====================================================== */

.input-group input,
.input-group select,
.input-group textarea{

    transition:
        transform .3s ease,
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.input-group input:focus,
.input-group select:focus,
.input-group textarea:focus{

    transform:translateY(-2px);
}

/* ======================================================
   BUTTON
====================================================== */

.contact-btn{
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        opacity .35s ease;
}

.contact-btn:hover{

    transform:
    translateY(-4px)
    scale(1.01);

    box-shadow:
    0 20px 40px rgba(255,70,70,.32);
}

/* ======================================================
   FLOATING EFFECT
====================================================== */

.contact-info-box:hover,
.contact-form-box:hover{

    animation:floatSoft 4s ease infinite;
}

/* ======================================================
   GLASS EFFECT ENHANCEMENT
====================================================== */

.contact-info-box,
.contact-form-box{

    backdrop-filter:blur(18px);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.contact-info-box:hover,
.contact-form-box:hover{

    transform:translateY(-6px);

    border-color:
    rgba(255,255,255,.16);
}

/* ======================================================
   REVEAL SYSTEM
====================================================== */

.reveal{
    opacity:0;

    transform:
    translateY(70px)
    scale(.96);

    transition:
    opacity .9s ease,
    transform .9s ease;
}

.reveal.active{
    opacity:1;

    transform:
    translateY(0)
    scale(1);
}

/* ======================================================
   STAGGER EFFECTS
====================================================== */

.contact-info-item:nth-child(1){
    transition-delay:.1s;
}

.contact-info-item:nth-child(2){
    transition-delay:.2s;
}

.contact-info-item:nth-child(3){
    transition-delay:.3s;
}

/* ======================================================
   MOBILE
====================================================== */

@media(max-width:768px){

    .contact-info-box,
    .contact-form-box{

        animation:fadeUp 1s ease;
    }

    .contact-info-item:hover{
        transform:translateX(4px);
    }

    .contact-btn:hover{

        transform:
        translateY(-2px)
        scale(1);
    }

    .contact-map:hover{
        transform:translateY(-2px);
    }

}