/* ==========================================================
   BENCARDINO MODERN PROJECT PAGE
   Reusable case-study styling for project detail pages
   ========================================================== */

.bc-project-shell{
    width:min(94%,1500px);
    margin:0 auto;
    padding:0 15px;
    box-sizing:border-box;
}

/* ----------------------------------------------------------
   PROJECT HERO
   ---------------------------------------------------------- */
.bc-project-hero{
    position:relative;
    min-height:610px;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    border-bottom:12px solid #1278ca;
}

.bc-project-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(8,19,31,.50) 0%,
            rgba(8,19,31,.30) 38%,
            rgba(8,19,31,.10) 68%,
            rgba(8,19,31,.01) 100%
        );
}

.bc-project-hero-content{
    position:relative;
    z-index:1;
    max-width:860px;
    padding:116px 0 86px;
}

.bc-project-kicker{
    display:block;
    margin-bottom:11px;
    color:#93d5ff;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    text-shadow:0 2px 10px rgba(0,0,0,.28);
}

.bc-project-hero-title{
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(44px,5vw,72px);
    line-height:1.01;
    font-weight:700;
    letter-spacing:-1.5px;
    text-shadow:0 3px 18px rgba(0,0,0,.38);
}

.bc-project-hero-text{
    max-width:760px;
    margin:0;
    color:rgba(255,255,255,.95);
    font-size:19px;
    line-height:1.7;
    text-shadow:0 2px 12px rgba(0,0,0,.36);
}

/* ----------------------------------------------------------
   PROJECT FACTS
   ---------------------------------------------------------- */
.bc-project-facts{
    position:relative;
    z-index:3;
    margin-top:-38px;
    padding-bottom:10px;
}

.bc-project-facts-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    overflow:hidden;
    border:1px solid #e0e4e7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 14px 36px rgba(16,34,51,.12);
}

.bc-project-fact{
    min-height:126px;
    padding:24px 26px;
    border-right:1px solid #e5e8eb;
}

.bc-project-fact:last-child{
    border-right:0;
}

.bc-project-fact-label{
    display:block;
    margin-bottom:7px;
    color:#1278ca;
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.bc-project-fact strong{
    display:block;
    color:#252525;
    font-size:22px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:-.3px;
}

.bc-project-fact span:last-child{
    display:block;
    margin-top:5px;
    color:#6a7075;
    font-size:13px;
    line-height:1.5;
}

/* ----------------------------------------------------------
   PROJECT OVERVIEW
   ---------------------------------------------------------- */
.bc-project-overview{
    padding:76px 0 84px;
    background:#f8f5f0;
}

.bc-project-overview-row{
    align-items:center;
}

.bc-project-video-column{
    padding-right:25px;
}

.bc-project-video-card{
    overflow:hidden;
    border-radius:12px;
    background:#0c1117;
    box-shadow:0 18px 45px rgba(13,30,46,.15);
}

.bc-project-video{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#000;
}

.bc-project-video iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
}

.bc-project-video-caption{
    padding:17px 20px;
    background:#fff;
}

.bc-project-video-caption strong{
    display:block;
    margin-bottom:2px;
    color:#252525;
    font-size:15px;
    line-height:1.35;
}

.bc-project-video-caption span{
    display:block;
    color:#777;
    font-size:13px;
    line-height:1.45;
}

.bc-project-overview-copy{
    padding-left:30px;
}

.bc-project-section-kicker{
    display:block;
    margin-bottom:10px;
    color:#1278ca;
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.bc-project-section-title{
    max-width:680px;
    margin:0 0 20px;
    color:#252525;
    font-size:clamp(34px,3vw,46px);
    line-height:1.08;
    font-weight:700;
    letter-spacing:-.9px;
}

.bc-project-copy{
    max-width:700px;
    margin:0 0 18px;
    color:#565d62;
    font-size:18px;
    line-height:1.75;
}

.bc-project-copy:last-child{
    margin-bottom:0;
}

/* ----------------------------------------------------------
   SITE / PROPERTY FEATURE
   ---------------------------------------------------------- */
.bc-project-feature{
    padding:82px 0;
    background:#fff;
}

.bc-project-feature-row{
    align-items:center;
}

.bc-project-feature-media{
    padding-right:28px;
}

.bc-project-feature-image{
    position:relative;
    overflow:hidden;
    margin:0;
    border-radius:12px;
    background:#e1e5e8;
    box-shadow:0 18px 45px rgba(13,30,46,.12);
}

.bc-project-feature-image img{
    display:block;
    width:100%;
    height:auto;
}

.bc-project-feature-caption{
    position:absolute;
    left:18px;
    bottom:18px;
    max-width:76%;
    padding:12px 15px;
    border-radius:7px;
    background:rgba(10,23,36,.82);
    color:#fff;
}

.bc-project-feature-caption strong{
    display:block;
    margin-bottom:2px;
    font-size:14px;
    line-height:1.35;
}

.bc-project-feature-caption span{
    display:block;
    color:rgba(255,255,255,.84);
    font-size:12px;
    line-height:1.45;
}

.bc-project-feature-copy{
    padding-left:30px;
}

.bc-project-feature-points{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:11px;
    margin-top:26px;
}

.bc-project-feature-point{
    padding:16px 15px;
    border:1px solid #e2e6e9;
    border-radius:8px;
    background:#f7f8f9;
}

.bc-project-feature-point strong{
    display:block;
    margin-bottom:4px;
    color:#252525;
    font-size:14px;
    line-height:1.35;
}

.bc-project-feature-point span{
    display:block;
    color:#6b7074;
    font-size:13px;
    line-height:1.5;
}

/* ----------------------------------------------------------
   GALLERY
   ---------------------------------------------------------- */
.bc-project-gallery{
    padding:78px 0 86px;
    background:#f5f6f7;
    border-top:1px solid #e5e8eb;
}

.bc-project-gallery-header{
    max-width:820px;
    margin:0 auto 26px;
    text-align:center;
}

.bc-project-gallery-intro{
    max-width:690px;
    margin:0 auto;
    color:#62686d;
    font-size:16px;
    line-height:1.7;
}

.bc-project-gallery .portfolio-filter{
    padding:0 0 34px !important;
    margin:28px 0 0;
    gap:7px;
}

.bc-project-gallery .portfolio-filter li{
    margin:0 3px;
}

.bc-project-gallery .portfolio-filter li a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:8px 14px;
    border:1px solid #d9dee2;
    border-radius:5px;
    background:#fff;
    color:#505960;
    font-size:11px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.045em;
    text-decoration:none;
    transition:background .18s ease,border-color .18s ease,color .18s ease;
}

.bc-project-gallery .portfolio-filter li.active a,
.bc-project-gallery .portfolio-filter li a:hover,
.bc-project-gallery .portfolio-filter li a:focus{
    border-color:#1278ca;
    background:#1278ca;
    color:#fff;
}

.bc-project-gallery .portfolio-wrapper{
    margin:0;
}

.bc-project-gallery .portfolio-box{
    overflow:hidden;
    border:1px solid #e0e4e7;
    border-radius:10px !important;
    background:#fff;
    box-shadow:0 10px 28px rgba(16,34,51,.08) !important;
}

.bc-project-gallery .portfolio-image{
    position:relative;
    aspect-ratio:4/3;
    overflow:hidden;
    background:#dfe3e6 !important;
}

.bc-project-gallery .portfolio-image > img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .35s ease;
}

.bc-project-gallery .portfolio-box:hover .portfolio-image > img{
    transform:scale(1.035);
}

.bc-project-gallery .portfolio-hover{
    background:rgba(8,19,31,.20);
    opacity:0;
    transition:opacity .25s ease;
}

.bc-project-gallery .portfolio-box:hover .portfolio-hover{
    opacity:1;
}

.bc-project-gallery .portfolio-icon a{
    display:flex !important;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border-radius:50%;
    background:#fff !important;
    color:#1278ca !important;
    box-shadow:0 7px 18px rgba(0,0,0,.16);
}

/* ----------------------------------------------------------
   CLOSING CTA
   ---------------------------------------------------------- */
.bc-project-closing{
    padding:52px 0;
    background:#172630;
}

.bc-project-closing-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:34px;
}

.bc-project-closing-copy{
    max-width:880px;
}

.bc-project-closing .bc-project-section-kicker{
    color:#79c5f7;
}

.bc-project-closing-title{
    margin:0 0 8px;
    color:#fff;
    font-size:clamp(28px,2.7vw,40px);
    line-height:1.12;
    font-weight:700;
    letter-spacing:-.6px;
}

.bc-project-closing-text{
    margin:0;
    color:rgba(255,255,255,.74);
    font-size:15px;
    line-height:1.65;
}

.bc-project-closing-button{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:12px 23px;
    border:1px solid #1278ca;
    border-radius:5px;
    background:#1278ca;
    color:#fff;
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.05em;
    text-decoration:none;
    text-transform:uppercase;
    transition:background .2s ease,border-color .2s ease;
}

.bc-project-closing-button:hover,
.bc-project-closing-button:focus{
    background:#0b5f9f;
    border-color:#0b5f9f;
    color:#fff;
    text-decoration:none;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width:1199px){
    .bc-project-shell{
        width:min(96%,1380px);
    }

    .bc-project-video-column{
        padding-right:18px;
    }

    .bc-project-overview-copy,
    .bc-project-feature-copy{
        padding-left:22px;
    }

    .bc-project-feature-media{
        padding-right:20px;
    }
}

@media (max-width:991px){
    .bc-project-shell{
        width:calc(100% - 30px);
        padding-left:0;
        padding-right:0;
    }

    .bc-project-hero{
        min-height:540px;
    }

    .bc-project-hero-content{
        max-width:720px;
        padding:100px 0 76px;
    }

    .bc-project-facts-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .bc-project-fact:nth-child(2){
        border-right:0;
    }

    .bc-project-fact:nth-child(-n+2){
        border-bottom:1px solid #e5e8eb;
    }

    .bc-project-overview,
    .bc-project-feature{
        padding:64px 0;
    }

    .bc-project-video-column,
    .bc-project-feature-media{
        padding-right:15px;
        margin-bottom:38px;
    }

    .bc-project-overview-copy,
    .bc-project-feature-copy{
        padding-left:15px;
    }

    .bc-project-gallery{
        padding:62px 0 68px;
    }

    .bc-project-closing-row{
        align-items:flex-start;
        flex-direction:column;
        gap:22px;
    }
}

@media (max-width:767px){
    .bc-project-hero{
        min-height:500px;
        background-position:58% center;
    }

    .bc-project-hero::before{
        background:rgba(8,19,31,.44);
    }

    .bc-project-hero-content{
        padding:84px 0 70px;
    }

    .bc-project-hero-title{
        font-size:40px;
    }

    .bc-project-hero-text{
        font-size:17px;
        line-height:1.65;
    }

    .bc-project-facts{
        margin-top:-24px;
    }

    .bc-project-facts-grid{
        grid-template-columns:1fr;
    }

    .bc-project-fact,
    .bc-project-fact:nth-child(2){
        min-height:0;
        border-right:0;
        border-bottom:1px solid #e5e8eb;
        padding:18px 20px;
    }

    .bc-project-fact:last-child{
        border-bottom:0;
    }

    .bc-project-overview,
    .bc-project-feature{
        padding:52px 0 58px;
    }

    .bc-project-video-card,
    .bc-project-feature-image{
        border-radius:10px;
    }

    .bc-project-section-title{
        font-size:34px;
    }

    .bc-project-copy{
        font-size:17px;
        line-height:1.7;
    }

    .bc-project-feature-caption{
        position:static;
        max-width:none;
        border-radius:0;
        background:#13283a;
    }

    .bc-project-feature-points{
        grid-template-columns:1fr;
    }

    .bc-project-gallery{
        padding:52px 0 58px;
    }

    .bc-project-gallery .portfolio-filter{
        justify-content:flex-start !important;
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:20px !important;
    }

    .bc-project-gallery .portfolio-filter li{
        flex:0 0 auto;
    }

    .bc-project-closing{
        padding:42px 0;
    }

    .bc-project-closing-button{
        width:100%;
    }
}


/* ----------------------------------------------------------
   TAC-PAL 160-ACRE PROPERTY FEATURE
   ---------------------------------------------------------- */
.bc-tac-property-feature{
    position:relative;
    background:#fff;
}

.bc-tac-property-feature::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:34%;
    height:100%;
    background:linear-gradient(180deg,rgba(18,120,202,.035),rgba(18,120,202,0));
    pointer-events:none;
}

.bc-tac-property-feature .bc-project-feature-row{
    position:relative;
    z-index:1;
}

.bc-tac-property-feature .bc-project-feature-image{
    box-shadow:0 18px 45px rgba(13,30,46,.13);
}

.bc-tac-property-feature .bc-project-feature-copy{
    max-width:620px;
}

@media (max-width:991px){
    .bc-tac-property-feature::before{
        width:100%;
        height:34%;
    }
}


/* ----------------------------------------------------------
   SECOND TAC-PAL PROJECT VIDEO
   ---------------------------------------------------------- */
.bc-project-second-video{
    padding:74px 0 80px;
    background:#f8f5f0;
    border-top:1px solid #e5e8eb;
}

.bc-project-second-video-header{
    max-width:820px;
    margin:0 auto 30px;
    text-align:center;
}

.bc-project-second-video-header .bc-project-section-title{
    margin-left:auto;
    margin-right:auto;
}

.bc-project-second-video-card{
    max-width:1180px;
    margin:0 auto;
    overflow:hidden;
    border-radius:12px;
    background:#0c1117;
    box-shadow:0 18px 45px rgba(13,30,46,.14);
}

@media (max-width:991px){
    .bc-project-second-video{
        padding:60px 0 66px;
    }
}

@media (max-width:767px){
    .bc-project-second-video{
        padding:50px 0 56px;
    }

    .bc-project-second-video-card{
        border-radius:10px;
    }
}


/* ----------------------------------------------------------
   TAC-PAL PROPERTY FEATURE — TEXT LEFT / IMAGE RIGHT
   ---------------------------------------------------------- */
.bc-tac-property-feature .bc-tac-property-copy{
    padding-left:15px;
    padding-right:34px;
}

.bc-tac-property-feature .bc-tac-property-media{
    display:flex;
    justify-content:flex-end;
    padding-left:26px;
    padding-right:15px;
}

.bc-tac-property-feature .bc-tac-property-media .bc-project-feature-image{
    width:100%;
    max-width:780px;
    margin-left:auto;
}

@media (max-width:1199px){
    .bc-tac-property-feature .bc-tac-property-copy{
        padding-right:24px;
    }

    .bc-tac-property-feature .bc-tac-property-media{
        padding-left:18px;
    }

    .bc-tac-property-feature .bc-tac-property-media .bc-project-feature-image{
        max-width:720px;
    }
}

@media (max-width:991px){
    .bc-tac-property-feature .bc-tac-property-copy{
        padding-right:15px;
        margin-bottom:38px;
    }

    .bc-tac-property-feature .bc-tac-property-media{
        justify-content:flex-start;
        padding-left:15px;
    }

    .bc-tac-property-feature .bc-tac-property-media .bc-project-feature-image{
        max-width:760px;
        margin-left:0;
        margin-right:auto;
    }
}
