body {
    font-family: "Times New Roman", Times, serif;
    margin: 0;
    display: flex;
}

/* Sidebar */
.sidebar {
    width: 300px;
    background: #0a2a66; /* deep blue */
    padding: 20px;
    height: 100vh;
    position: fixed;
    color: white;
    text-align: center;
}

/* Icon row */
.icon-row img {
    width: 26px;          /* slightly larger */
    height: 26px;
    border: none !important;   /* ensure no borders */
    border-radius: 0;
    object-fit: contain;
}

/* Name */
.sidebar h2 {
    font-size: 28px;
    margin: 10px 0;
}

/* Text items */
.sidebar p,
.sidebar a {
    font-size: 16px;
    color: white;
    text-decoration: none;
    display: block;
    margin: 8px 0;
}

/* Links hover */
.sidebar a:hover {
    text-decoration: underline;
}

/* Icon row */
.icon-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;  /* align left instead of centered */
    gap: 10px;
    padding-left: 10px;           /* slight indent to line up with text */
}

/* Icons */
.icon-link img {
    width: 20px;
    height: 20px;
    border-radius: 0;   /* important: removes circle */
    border: none;
}

/* Icon row */
.icon-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;          /* spacing between icons */
    margin-top: 15px;
}

/* Icons */
.icon-row img {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 0;
    object-fit: contain;
}

.portrait {
    width: 240px;          /* your original good size */
    border-radius: 50%;
    border: 4px solid white;
    margin-bottom: 15px;
}

/* Hover (optional but nice) */
.icon-row img:hover {
    transform: scale(1.15);
}

/* Main content */
.main {
    margin-left: 340px;   /* increase this */
    padding: 30px;        /* more breathing room inside */
}

/* Navbar container */
.navbar {
    background: none;        /* remove blue */
    padding: 12px 0;
    margin-bottom: 20px;
}

/* Tab links */
.navbar a {
    display: inline-block;
    margin-right: 12px;
    padding: 6px 12px;
    text-decoration: none;
    color: black;            /* back to black text */
    border: 2px solid black; /* black frame */
    border-radius: 6px;
    transition: all 0.2s ease;
}

/* Hover */
.navbar a:hover {
    background: black;
    color: white;
}

/* Gallery grid */
.gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 per row */
    gap: 12px;
    margin-top: 25px;
}

/* Each item */
.gallery-item {
    position: relative;
    margin-bottom: 15px;
    break-inside: avoid;    /* prevents awkward splits */
}

/* Images */
.gallery-item img {
    width: 100%;
    height: 220px;       
    object-fit: cover;    /* keeps them nicely cropped */
    display: block;
    border-radius: 6px;
}

/* Overlay (hidden by default) */
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    background: rgba(0, 0, 0, 0.5); /* gray overlay */
    color: white;

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

    opacity: 0;
    transition: opacity 0.3s ease;
    padding: 10px;
}

/* Hover effect */
.gallery-item:hover .overlay {
    opacity: 1;
}

@media (max-width: 1000px) {
    .gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}