@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

* {
    font-family: 'Poppins', sans-serif;
}

.company-location{
    position:relative;
    width:100%;
    height:calc(100vh - 95px);
    min-height:620px;
    max-height:900px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:#ffffff;
    padding:30px 0;
    box-sizing:border-box;
}

.location-bg{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:20%;
    background:#C9A227;
}

.location-container{
    position:relative;
    z-index:2;
    width:min(96%,1550px);
    height:100%;
    margin:auto;
    padding:0 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    box-sizing:border-box;
}

.location-heading{
    width:min(1050px,100%);
    margin:0 auto 28px;
    text-align:center;
}

.location-tag{
    display:inline-block;
    padding:6px 18px;
    margin-bottom:9px;
    border:1px solid #C9A227;
    border-radius:0;
    background:#ffffff;
    color:#000000;
    font-size:.62rem;
    font-weight:800;
    letter-spacing:2.5px;
}

.location-heading h2{
    margin:0;
    color:#000000;
    font-size:clamp(2.7rem,4.5vw,4.3rem);
    line-height:1;
    font-weight:800;
    letter-spacing:-2px;
}

.location-heading h2 span{
    color:#C9A227;
}

.location-line{
    position:relative;
    width:210px;
    height:2px;
    margin:14px auto 18px;
    background:#000000;
}

.location-line::after{
    content:"";
    position:absolute;
    width:60px;
    height:4px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background:#C9A227;
}

.location-heading p{
    max-width:900px;
    margin:auto;
    color:#222222;
    font-size:.88rem;
    line-height:1.55;
}

.location-content{
    display:grid;
    grid-template-columns:40% 60%;
    gap:32px;
    align-items:stretch;
    height:350px;
}

.location-info{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
}

.location-card{
    display:flex;
    align-items:center;
    gap:16px;
    padding:16px 20px;
    background:#ffffff;
    border:1px solid rgba(201,162,39,.35);
    border-radius:0;
    box-shadow:0 12px 30px rgba(0,0,0,.07);
    transition:.35s ease;
    box-sizing:border-box;
}

.location-card:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 38px rgba(0,0,0,.12);
    border-color:#C9A227;
}

.location-icon{
    flex-shrink:0;
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
    background:#C9A227;
    color:#ffffff;
    font-size:1.25rem;
    font-weight:700;
}

.location-icon span{
    transform:translateY(-1px);
}

.location-card-content{
    min-width:0;
}

.location-card-content span{
    display:block;
    margin-bottom:3px;
    color:#C9A227;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:1.8px;
}

.location-card-content h3{
    margin:0 0 3px;
    color:#000000;
    font-size:.92rem;
    font-weight:800;
}

.location-card-content p{
    margin:0;
    color:#444444;
    font-size:.74rem;
    line-height:1.4;
    word-break:break-word;
}

.location-button{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-top:auto;
    padding:14px 20px;
    border:1px solid #000000;
    border-radius:0;
    background:#000000;
    color:#ffffff;
    text-decoration:none;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.5px;
    overflow:hidden;
    transition:.4s ease;
}

.location-button::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:#C9A227;
    transition:.45s ease;
    z-index:0;
}

.location-button span,
.location-button b{
    position:relative;
    z-index:1;
}

.location-button b{
    font-size:1.1rem;
    font-weight:400;
    transition:.4s ease;
}

.location-button:hover{
    color:#000000;
    border-color:#C9A227;
}

.location-button:hover::before{
    left:0;
}

.location-button:hover b{
    transform:translate(4px,-4px);
}

.location-map{
    position:relative;
    height:350px;
    min-height:0;
    padding:0;
}

.map-frame{
    position:relative;
    width:100%;
    height:100%;
    min-height:0;
    overflow:hidden;
    border-radius:0;
    background:#eeeeee;
    box-shadow:0 20px 50px rgba(0,0,0,.16);
}

.map-frame::after{
    content:"";
    position:absolute;
    inset:0;
    border:2px solid rgba(201,162,39,.55);
    border-radius:0;
    pointer-events:none;
    z-index:3;
}

.map-frame iframe{
    width:100%;
    height:100%;
    min-height:0;
    display:block;
    border:0;
    filter:grayscale(.2) contrast(1.02);
}

.map-overlay{
    position:absolute;
    left:20px;
    bottom:20px;
    display:flex;
    align-items:center;
    gap:11px;
    padding:10px 16px 10px 10px;
    background:#ffffff;
    border:1px solid rgba(201,162,39,.5);
    border-radius:0;
    box-shadow:0 12px 28px rgba(0,0,0,.14);
    z-index:4;
}

.map-pin{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:0;
    background:#C9A227;
    color:#000000;
    font-size:1.25rem;
    font-weight:700;
}

.map-label span{
    display:block;
    margin-bottom:2px;
    color:#C9A227;
    font-size:.52rem;
    font-weight:800;
    letter-spacing:1.8px;
}

.map-label strong{
    display:block;
    color:#000000;
    font-size:.78rem;
}

.location-bottom{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:20px;
    margin-top:25px;
}

.location-bottom div{
    height:1px;
    background:rgba(0,0,0,.25);
}

.location-bottom span{
    color:#000000;
    font-size:.58rem;
    font-weight:800;
    letter-spacing:3px;
    white-space:nowrap;
}

@media(max-width:1100px){
    .company-location{
        height:auto;
        min-height:100vh;
        max-height:none;
        padding:70px 0;
    }

    .location-container{
        height:auto;
        width:min(94%,1400px);
        padding:0 15px;
    }

    .location-heading{
        margin-bottom:35px;
    }

    .location-content{
        height:auto;
        grid-template-columns:1fr;
        gap:25px;
    }

    .location-info{
        display:grid;
        grid-template-columns:repeat(2,1fr);
    }

    .location-button{
        grid-column:1 / -1;
        margin-top:0;
    }

    .location-map{
        height:380px;
    }

    .map-frame{
        height:380px;
    }

    .location-bg{
        height:18%;
    }

    .location-bottom{
        margin-top:30px;
    }
}

@media(max-width:768px){
    .company-location{
        padding:60px 0;
    }

    .location-container{
        width:94%;
        padding:0 10px;
    }

    .location-heading{
        margin-bottom:30px;
    }

    .location-heading h2{
        font-size:2.7rem;
        letter-spacing:-1px;
    }

    .location-heading p{
        font-size:.82rem;
        line-height:1.6;
    }

    .location-line{
        width:175px;
        margin:15px auto 20px;
    }

    .location-info{
        display:flex;
        gap:13px;
    }

    .location-card{
        padding:17px;
    }

    .location-icon{
        width:48px;
        height:48px;
        font-size:1.2rem;
    }

    .location-map{
        height:320px;
    }

    .map-frame{
        height:320px;
    }

    .map-overlay{
        left:15px;
        bottom:15px;
        padding:9px 13px 9px 9px;
    }

    .map-pin{
        width:38px;
        height:38px;
        font-size:1.15rem;
    }

    .location-bottom{
        margin-top:30px;
        gap:12px;
    }

    .location-bottom span{
        font-size:.5rem;
        letter-spacing:2px;
    }

    .location-bg{
        height:14%;
    }
}

@media(max-width:480px){
    .company-location{
        padding:50px 0;
    }

    .location-container{
        width:94%;
        padding:0;
    }

    .location-heading{
        margin-bottom:25px;
    }

    .location-heading h2{
        font-size:2.25rem;
    }

    .location-tag{
        font-size:.55rem;
        padding:6px 13px;
    }

    .location-heading p{
        font-size:.75rem;
        line-height:1.6;
    }

    .location-line{
        width:145px;
        margin:14px auto 18px;
    }

    .location-card{
        padding:15px;
        gap:13px;
    }

    .location-icon{
        width:44px;
        height:44px;
        font-size:1.05rem;
    }

    .location-card-content span{
        font-size:.52rem;
        letter-spacing:1.4px;
    }

    .location-card-content h3{
        font-size:.82rem;
    }

    .location-card-content p{
        font-size:.68rem;
    }

    .location-button{
        padding:13px 17px;
        font-size:.68rem;
    }

    .location-map{
        height:270px;
    }

    .map-frame{
        height:270px;
    }

    .map-frame iframe{
        height:270px;
    }

    .map-overlay{
        left:10px;
        bottom:10px;
    }

    .map-label strong{
        font-size:.7rem;
    }

    .location-bottom{
        display:none;
    }

    .location-bg{
        height:12%;
    }
}