/* ===================================
    David Obermair – custom overrides
====================================== */
/* header logo (wide wordmark) */
header .navbar-brand img {
    max-height: 48px;
}
.footer-logo img {
    max-height: 48px;
}
/* project captions */
.portfolio-caption .project-desc {
    font-size: 15px;
    line-height: 24px;
    margin: 8px auto 0;
    max-width: 360px;
    color: var(--medium-gray);
}
.portfolio-image img {
    display: block;
    width: 100%;
    aspect-ratio: 1000 / 794;
    object-fit: cover;
    object-position: top center;
}
/* legal page */
.legal-content dt {
    color: var(--dark-gray);
    font-weight: 600;
    margin-top: 25px;
}
.legal-content dd {
    margin-bottom: 0;
}
@media (max-width: 575px) {
    header .navbar-brand img {
        max-height: 40px;
    }
}
/* hero background word – scale with viewport so the whole word stays visible */
.banner-title {
    font-size: min(34vw, 560px) !important;
    letter-spacing: -0.06em !important;
}
/* extra room below project items so parallax never overlaps captions */
.portfolio-simple .grid-item .portfolio-box {
    margin-bottom: 80px;
}
@media (max-width: 767px) {
    .portfolio-simple .grid-item .portfolio-box {
        margin-bottom: 10px;
    }
}
/* about – photo slider */
.about-slider .swiper-slide {
    transition: opacity .5s ease, transform .5s ease;
    opacity: .45;
    transform: scale(.9);
}
.about-slider .swiper-slide-active {
    opacity: 1;
    transform: scale(1);
}
.about-slider .swiper-slide img {
    display: block;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 24px;
}
.about-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 25px;
}
.about-slider-prev,
.about-slider-next {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 0;
    background: var(--base-color);
    color: var(--dark-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    transition: transform .2s ease;
}
.about-slider-prev:hover,
.about-slider-next:hover {
    transform: scale(1.08);
}
.about-slider-prev.swiper-button-disabled,
.about-slider-next.swiper-button-disabled {
    opacity: .35;
    cursor: default;
}
.about-slider-pagination {
    display: flex;
    gap: 8px;
    width: auto !important;
    position: static !important;
}
.about-slider-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    background: var(--dark-gray);
    opacity: .25;
    transition: width .3s ease, opacity .3s ease;
    border-radius: 8px;
}
.about-slider-pagination .swiper-pagination-bullet-active {
    width: 26px;
    opacity: 1;
}
/* contact form feedback */
#contact-form .form-results {
    font-size: 15px;
    line-height: 24px;
    padding: 12px 18px;
    border-radius: 6px;
}
/* privacy policy */
.legal-text ul {
    padding-left: 20px;
    list-style: disc;
}
.legal-text li {
    margin-bottom: 4px;
}
