/* ===================================
   RESET
=================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    background:#EAF5FF;
    font-family:'Inter',sans-serif;
    color:#35506A;

}

/* ===================================
   NAVBAR
=================================== */

nav{

    position:fixed;

    top:0;
    left:0;

    width:100%;
    height:75px;

    background:white;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 8%;

    box-shadow:0 4px 15px rgba(0,0,0,.05);

    z-index:1000;

}

.logo{

    font-family:'Space Grotesk',sans-serif;

    font-size:28px;

    font-weight:700;

    color:#1E4E8C;

}

nav ul{

    display:flex;

    list-style:none;

    gap:35px;

}

nav ul li a{

    text-decoration:none;

    color:#5A718A;

    font-weight:500;

    position:relative;

}

nav ul li a.active{

    font-weight:700;

    color:#1E4E8C;

}

nav ul li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:#2F6FED;

    transition:.3s;

}

nav ul li a:hover::after{

    width:100%;

}

nav ul li a.active::after{

    width:100%;

}

/* ===================================
   GALLERY
=================================== */

.gallery{

    width:88%;

    max-width:1400px;

    margin:130px auto 80px;

}

.gallery h1{

    font-family:'Space Grotesk',sans-serif;

    font-size:40px;

    color:#1E4E8C;

    margin-bottom:10px;

}

.subtitle{

    font-size:17px;

    color:#617D99;

    margin-bottom:40px;

}

/* ===================================
   GRID
=================================== */

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

}

/* ===================================
   PHOTO CARD
=================================== */

.photo-card{

    background:white;

    border-radius:16px;

    overflow:hidden;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.photo-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(47,111,237,.15);

}

/* ===================================
   IMAGE
=================================== */

.photo-card img{

    width:100%;

    max-height:420px;

    height:auto;

    object-fit:contain;

    display:block;

    background:#F7FBFF;

    padding:10px;

}

/* ===================================
   CAPTION
=================================== */

.caption{

    padding:18px;

    text-align:center;

    font-size:16px;

    font-weight:500;

    line-height:1.6;

    color:#35506A;

}

/* ===================================
   RESPONSIVE
=================================== */

@media(max-width:900px){

.gallery{

width:94%;

}

.gallery h1{

font-size:34px;

}

}

@media(max-width:650px){

nav{

flex-direction:column;

height:auto;

padding:18px;

}

nav ul{

margin-top:15px;

flex-wrap:wrap;

justify-content:center;

}

.gallery{

margin-top:170px;

}

.gallery-grid{

grid-template-columns:1fr;

}

}