/* Typography */
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

h1, h2, h3 {
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Hero */
.hero {
    position: relative;
    background: #000;
    color: #fff;
    border-radius: 12px;
    overflow: hidden;
}

.hero img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    opacity: 0.65;
}

.hero-text {
    position: absolute;
    bottom: 30px;
    left: 30px;
}

/* Portfolio grid */
.portfolio-grid img {
    width: 100%;           /* fills column width */
    height: auto;          /* keeps original aspect ratio */
    /*max-height: 240px;     !* restricts max height for uniform row *!*/
    object-fit: cover;     /* crops if necessary, keeps center focus */
    border-radius: 8px;
    transition: transform 0.3s ease;
}

.portfolio-grid img:hover {
    transform: scale(1.15);
}

/* My View */
.profile-img {
    max-width: 280px;
    border-radius: 50%;
}

/* Contact form */
form input, form textarea {
    margin-bottom: 1rem;
}

.portfolio-item {
    cursor: pointer;
}

.modal-content {
    border: none;
}

/* public/static/css/app.css */
.portfolio-item-wrapper {
    position: relative;
    display: inline-block;
}

.portfolio-item-wrapper img {
    display: block;
}

.portfolio-item-wrapper::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    z-index: 2;
}