*{box-sizing:border-box}

body{
    margin:0;
    background:#f6f7f9;
    color:#0b1b35;
    font-family:Arial,Helvetica,sans-serif
}

header{
    position:sticky;
    top:0;
    z-index:20;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    padding:14px 5%;
    background:#071426;
    color:#fff;
    border-bottom:1px solid #c9a24a
}

header a{
    color:#fff;
    text-decoration:none;
    font-weight:700
}

header>b{
    justify-self:end;
    color:#c9a24a
}

.brand{
    text-align:center
}

.brand small,
footer small{
    display:block;
    color:#c9a24a;
    font-size:10px;
    letter-spacing:2px;
    margin-top:3px
}

.hero{
    text-align:center;
    padding:62px 20px 100px;
    background:linear-gradient(135deg,#071426,#10294a);
    color:#fff
}

.hero p{
    color:#c9a24a;
    letter-spacing:3px;
    font-size:12px;
    font-weight:800
}

.hero h1{
    font-size:clamp(38px,6vw,70px);
    margin:10px 0
}

.hero em{
    display:block;
    color:#c9a24a;
    font-style:normal
}

.hero div{
    color:#dbe4ef
}

.filters{
    display:flex;
    gap:9px;
    justify-content:center;
    flex-wrap:wrap;
    padding:24px 5%
}

.filter{
    padding:10px 15px;
    border:1px solid #d6dbe3;
    border-radius:30px;
    background:#fff;
    color:#0b1b35;
    font-weight:700;
    cursor:pointer
}

.filter.active{
    background:#c9a24a;
    border-color:#c9a24a
}

/* SERVICE GRID */
main{
    width:min(1400px,90%);
    margin:35px auto 70px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px
}

.service-card{
    background:#fff;
    border:1px solid #e1e6ec;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 25px #07142612;
    transition:.2s
}

.service-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px #07142620
}

.image-wrap{
    position:relative;
    aspect-ratio:1/1;
    background:#e9edf2;
    overflow:hidden
}

.image-wrap img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block
}

.image-wrap span{
    position:absolute;
    top:10px;
    left:10px;
    background:#c9a24a;
    color:#071426;
    padding:6px 9px;
    border-radius:8px;
    font-weight:900;
    font-size:12px
}

.body{
    padding:15px 16px 17px
}

.body h2{
    font-size:17px;
    margin:0 0 7px
}

.body small{
    color:#738096;
    font-size:10px
}

.hide{
    display:none!important
}

footer{
    background:#071426;
    color:#dbe4ef;
    padding:28px 5%;
    display:flex;
    justify-content:space-between;
    gap:25px;
    flex-wrap:wrap;
    font-size:13px
}

footer strong{
    color:#fff
}

/* TABLET */
@media(max-width:1050px){
    main{
        grid-template-columns:repeat(3,1fr)
    }
}

/* MOBILE */
@media(max-width:700px){
    header{
        grid-template-columns:1fr auto
    }

    .brand{
        display:none
    }

    main{
        width:94%;
        grid-template-columns:repeat(2,1fr);
        gap:13px;
    }

    .body h2{
        font-size:14px
    }

    .hero{
        padding:50px 15px 30px
    }

    footer{
        display:grid;
        grid-template-columns:1fr
    }

    .filters{
        padding:18px 3%
    }
}