/* Approved photography is isolated from the legacy illustration treatments. */
.photography-hero .hero-grid {
    min-height: 580px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 30px;
}

.photography-hero .hero-visual {
    height: 480px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-hero-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.appliance-photo-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    background: var(--cream);
}

.appliance-photo {
    display: block;
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
}

.photo-service-item {
    min-height: 330px;
    padding: 20px 22px 26px;
    background: var(--cream);
}

.photo-service-item .appliance-photo-slot {
    height: 195px;
    margin: 8px 0 22px;
}

.photo-service-item .appliance-photo {
    height: 190px;
}

.photo-service-item h3 {
    margin: 0;
}

.photo-service-item:hover,
.photo-service-item:focus-visible,
.photography-catalog .catalog-card:hover,
.photography-catalog .catalog-card:focus-visible {
    background: var(--cream);
    color: var(--ink);
    box-shadow: inset 0 -4px 0 var(--mint);
}

.photo-service-item:hover .service-num,
.photo-service-item:focus-visible .service-num {
    color: #198568;
}

.photo-service-item:focus-visible,
.photography-catalog .catalog-card:focus-visible {
    outline: 2px solid #198568;
    outline-offset: -2px;
}

.photography-catalog .catalog-card {
    background: var(--cream);
}

.photography-catalog .appliance-photo-slot {
    height: 215px;
    margin: 12px 0 24px;
}

.photography-catalog .catalog-card:hover .catalog-copy p {
    color: #50666c;
}

.photography-catalog .catalog-card:hover .catalog-number {
    color: #688087;
}

.photography-catalog .catalog-card:hover .catalog-arrow {
    color: #198568;
}

.photography-detail .detail-hero-grid {
    grid-template-columns: minmax(0, 1fr) 390px;
}

.detail-photo-panel {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 390px;
    padding: 20px;
    background: var(--cream);
    color: var(--ink);
}

.detail-photo-panel > span,
.detail-photo-panel > small {
    font: 500 9px 'DM Mono', monospace;
    letter-spacing: .12em;
}

.detail-photo-panel .appliance-photo-slot {
    flex: 1;
    min-height: 0;
}

.detail-photo-panel .appliance-photo {
    width: 100%;
}

.detail-photo-panel-dark,
.detail-photo-panel-dark .appliance-photo-slot {
    background: var(--navy);
    color: #c9d7da;
}

.detail-photo-panel-dark .appliance-photo {
    -webkit-mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent);
}

@media (max-width: 800px) {
    .photography-hero .hero-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        padding-top: 45px;
        padding-bottom: 15px;
    }

    .photography-hero .hero-visual {
        height: 330px;
        margin-top: 25px;
    }

    .photography-hero .hero-actions {
        gap: 15px;
        flex-wrap: wrap;
    }

    .photography-hero .hero-actions .btn {
        font-size: 12px;
    }

    .photography-hero .trust-row {
        margin-top: 28px;
    }

    .photo-service-item {
        min-height: 285px;
        padding: 16px;
    }

    .photo-service-item .appliance-photo-slot {
        height: 155px;
    }

    .photo-service-item .appliance-photo {
        height: 150px;
    }

    .photo-service-item h3 {
        font-size: 15px;
    }

    .photography-catalog .appliance-photo-slot {
        height: 190px;
    }

    .photography-detail .detail-hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .detail-photo-panel {
        height: 330px;
        width: 100%;
        max-width: 390px;
    }
}
