/* ================================
   Elevator Projects Grid v2.2 — 3-Column Layout
================================ */
.elevator-projects{
    --elv-navy:#1a1a1a;
    --elv-gold:#c9a961;
    --elv-border:#e6e3dc;
    --elv-muted:#6e6b65;
    --elv-text:#4a4a4a;
    width:100%;
    box-sizing:border-box;
    font-family:'Helvetica Neue', Arial, sans-serif;
}
.elevator-projects *,
.elevator-projects *::before,
.elevator-projects *::after{box-sizing:border-box;}

/* Filters */
.elevator-project-filters{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 40px;
    flex-wrap:wrap;
    justify-content:center;
}
.elevator-filter{
    appearance:none;
    border:1px solid var(--elv-border);
    background:#fff;
    color:var(--elv-navy);
    border-radius:30px;
    padding:12px 24px;
    font:500 14px/1 Arial,sans-serif;
    cursor:pointer;
    transition:all .2s ease;
}
.elevator-filter:hover{border-color:var(--elv-navy);}
.elevator-filter.is-active{
    background:var(--elv-navy);
    border-color:var(--elv-navy);
    color:#fff;
}

/* Grid — 3 columns */
.elevator-project-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:30px;
}

/* Card */
.elevator-project-card{
    min-width:0;
    border:1px solid var(--elv-border);
    background:#fff;
    border-radius:2px;
    overflow:hidden;
    transition:opacity .2s ease, transform .2s ease;
    display:flex;
    flex-direction:column;
}
.elevator-project-card.is-hidden{display:none;}

/* ===== Featured card (top-left, spans 2 columns) ===== */
.elevator-project-card--featured{
    grid-column:span 2;
    flex-direction:row;
    align-items:stretch;
}
.elevator-project-card--featured .elevator-project-image-link{
    flex:0 0 50%;
    max-width:50%;
}
.elevator-project-card--featured .elevator-project-image{
    aspect-ratio:auto;
    height:100%;
    min-height:100%;
}
.elevator-project-card--featured .elevator-project-content{
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:40px 45px;
}
.elevator-project-card--featured .elevator-project-title{
    font-size:32px!important;
    line-height:1.15!important;
    margin-bottom:12px!important;
}
.elevator-project-card--featured .elevator-project-description{
    font-size:15px;
    line-height:1.55;
    color:var(--elv-text);
    min-height:0;
    margin-top:6px;
}

/* ===== Normal (small) card — image aspect 1.5:1 ===== */
.elevator-project-card:not(.elevator-project-card--featured) .elevator-project-image{
    aspect-ratio:1.5 / 1;
}

/* Image */
.elevator-project-image-link{
    display:block;
    text-decoration:none!important;
    color:inherit!important;
}
.elevator-project-image{
    position:relative;
    width:100%;
    aspect-ratio:1.67 / 1;
    overflow:hidden;
    background:#e9e9e5;
}
.elevator-project-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .5s ease;
}
.elevator-project-card:hover .elevator-project-image img{transform:scale(1.03);}
.elevator-project-image-placeholder{
    width:100%;height:100%;
    background:linear-gradient(135deg,#d8d5ce,#f0eee9);
}

/* Content */
.elevator-project-content{padding:24px 26px 26px;}
.elevator-project-eyebrow{
    margin-bottom:10px;
    color:var(--elv-gold);
    font:700 12px/1.35 Arial,sans-serif;
    letter-spacing:1.5px;
    text-transform:uppercase;
}
.elevator-project-title{
    margin:0 0 8px!important;
    padding:0!important;
    color:var(--elv-navy);
    font:700 20px/1.25 Arial,sans-serif!important;
}
.elevator-project-title a{color:inherit!important;text-decoration:none!important;}
.elevator-project-location{
    color:#77746d;
    font:400 14px/1.4 Arial,sans-serif;
    margin-bottom:10px;
}
.elevator-project-description{
    color:var(--elv-text);
    font:400 14px/1.55 Arial,sans-serif;
    min-height:0;
}

.elevator-project-empty{
    grid-column:1/-1;
    padding:30px;
    border:1px solid var(--elv-border);
    text-align:center;
}

/* ===== Responsive ===== */

/* Tablet — 2 columns, featured spans 2 (full width) */
@media (max-width: 1024px){
    .elevator-project-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
    }
    .elevator-project-card--featured{
        grid-column:span 2;
    }
    .elevator-project-card--featured .elevator-project-content{padding:32px;}
    .elevator-project-card--featured .elevator-project-title{font-size:28px!important;}
}

/* Mobile — 1 column, featured stacks */
@media (max-width: 767px){
    .elevator-project-grid{
        grid-template-columns:1fr;
        gap:20px;
    }
    .elevator-project-card--featured{
        grid-column:span 1;
        flex-direction:column;
    }
    .elevator-project-card--featured .elevator-project-image-link{
        flex:none;
        max-width:100%;
    }
    .elevator-project-card--featured .elevator-project-image{
        aspect-ratio:1.67 / 1;
        min-height:0;
        height:auto;
    }
    .elevator-project-card--featured .elevator-project-content{
        padding:28px 22px;
    }
    .elevator-project-card--featured .elevator-project-title{font-size:24px!important;}

    .elevator-project-filters{gap:8px;margin-bottom:26px;}
    .elevator-filter{padding:10px 18px;font-size:13px;}
    .elevator-project-content{padding:20px;}
    .elevator-project-title{font-size:18px!important;}
}