/* ==========================================================
   BENCARDINO INTERIOR PAGE MODERNIZATION
   Shared design language for interior pages
   ========================================================== */

:root{
    --bc-blue:#1278ca;
    --bc-blue-dark:#0b5f9f;
    --bc-charcoal:#25282b;
    --bc-ink:#252525;
    --bc-copy:#565d62;
    --bc-cream:#f8f5f0;
    --bc-soft:#f5f6f7;
    --bc-border:#e1e5e8;
}

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

/* ----------------------------------------------------------
   HERO
   ---------------------------------------------------------- */
.bc-interior-hero{
    position:relative;
    min-height:560px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background-position:center;
    background-size:cover;
    border-bottom:12px solid var(--bc-blue);
}

.bc-interior-hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(8,19,31,.48) 0%,
            rgba(8,19,31,.32) 36%,
            rgba(8,19,31,.12) 67%,
            rgba(8,19,31,.02) 100%
        );
}

.bc-interior-hero-content{
    position:relative;
    z-index:1;
    max-width:760px;
    padding:110px 0 92px;
}

.bc-interior-kicker{
    display:block;
    margin-bottom:12px;
    color:#8fd0fb;
    font-size:13px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.bc-interior-hero-title{
    max-width:760px;
    margin:0 0 20px;
    color:#fff;
    font-size:clamp(42px,4.8vw,68px);
    line-height:1.03;
    font-weight:700;
    letter-spacing:-1.4px;
    text-shadow:0 3px 16px rgba(0,0,0,.40);
}

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

.bc-interior-scroll{
    position:absolute;
    z-index:2;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
}

.bc-interior-scroll a{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:50%;
    background:rgba(8,19,31,.25);
    color:#fff;
    text-decoration:none;
    transition:background .2s ease,border-color .2s ease,transform .2s ease;
}

.bc-interior-scroll a:hover{
    background:var(--bc-blue);
    border-color:var(--bc-blue);
    color:#fff;
    transform:translateY(2px);
}

/* ----------------------------------------------------------
   INTRO / FEATURE
   ---------------------------------------------------------- */
.bc-interior-feature{
    padding:82px 0;
    background:var(--bc-cream);
}

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

.bc-interior-media-column{
    padding-right:24px;
}

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

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

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

.bc-interior-video-caption{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:17px 20px;
    background:#fff;
}

.bc-interior-video-caption strong{
    display:block;
    margin-bottom:2px;
    color:var(--bc-ink);
    font-size:15px;
    line-height:1.35;
}

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

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

.bc-section-kicker{
    display:block;
    margin-bottom:10px;
    color:var(--bc-blue);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
}

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

.bc-section-copy{
    max-width:680px;
    margin:0 0 18px;
    color:var(--bc-copy);
    font-size:18px;
    line-height:1.75;
}

.bc-section-copy:last-of-type{
    margin-bottom:0;
}

.bc-interior-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    margin-top:26px;
    padding:11px 22px;
    border:1px solid var(--bc-blue);
    border-radius:5px;
    background:var(--bc-blue);
    color:#fff;
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.045em;
    text-decoration:none;
    text-transform:uppercase;
    transition:background .2s ease,border-color .2s ease;
}

.bc-interior-cta:hover,
.bc-interior-cta:focus{
    background:var(--bc-blue-dark);
    border-color:var(--bc-blue-dark);
    color:#fff;
    text-decoration:none;
}

/* ----------------------------------------------------------
   CAPABILITY GRID
   ---------------------------------------------------------- */
.bc-capability-section{
    padding:80px 0 86px;
    background:var(--bc-soft);
}

.bc-capability-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-bottom:34px;
}

.bc-capability-header-copy{
    max-width:820px;
}

.bc-capability-intro{
    max-width:760px;
    margin:0;
    color:#62686d;
    font-size:17px;
    line-height:1.7;
}

.bc-capability-grid{
    row-gap:24px;
}

.bc-capability-card{
    height:100%;
    overflow:hidden;
    border:1px solid var(--bc-border);
    border-radius:12px;
    background:#fff;
    box-shadow:0 10px 28px rgba(16,34,51,.07);
    transition:transform .25s ease,box-shadow .25s ease;
}

.bc-capability-card:hover{
    transform:translateY(-4px);
    box-shadow:0 16px 38px rgba(16,34,51,.12);
}

.bc-capability-media{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#dde2e5;
}

.bc-capability-media a{
    display:block;
    width:100%;
    height:100%;
}

.bc-capability-media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.bc-capability-card:hover .bc-capability-media img{
    transform:scale(1.025);
}

.bc-capability-content{
    padding:25px 27px 28px;
}

.bc-capability-label{
    display:block;
    margin-bottom:7px;
    color:var(--bc-blue);
    font-size:11px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.bc-capability-title{
    margin:0 0 11px;
    color:var(--bc-ink);
    font-size:23px;
    line-height:1.22;
    font-weight:700;
    letter-spacing:-.25px;
}

.bc-capability-title a{
    color:inherit;
    text-decoration:none;
}

.bc-capability-title a:hover,
.bc-capability-title a:focus{
    color:var(--bc-blue);
}

.bc-capability-text{
    margin:0 0 18px;
    color:#60666b;
    font-size:15px;
    line-height:1.68;
}

.bc-capability-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:var(--bc-blue);
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.045em;
    text-decoration:none;
    text-transform:uppercase;
}

.bc-capability-link span{
    transition:transform .2s ease;
}

.bc-capability-link:hover,
.bc-capability-link:focus{
    color:var(--bc-blue-dark);
    text-decoration:none;
}

.bc-capability-link:hover span{
    transform:translateX(3px);
}

/* Last card can span full width on desktop */
.bc-capability-card-wide{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
}

.bc-capability-card-wide .bc-capability-media{
    aspect-ratio:auto;
    min-height:310px;
}

.bc-capability-card-wide .bc-capability-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:34px 36px;
}

/* ----------------------------------------------------------
   CLOSING IMAGE / CTA
   ---------------------------------------------------------- */
.bc-interior-closing{
    position:relative;
    min-height:440px;
    display:flex;
    align-items:center;
    overflow:hidden;
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed;
    border-top:12px solid var(--bc-blue);
}

.bc-interior-closing::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(8,19,31,.40) 0%,
            rgba(8,19,31,.25) 40%,
            rgba(8,19,31,.08) 70%,
            rgba(8,19,31,0) 100%
        );
}

.bc-interior-closing-content{
    position:relative;
    z-index:1;
    max-width:680px;
    padding:78px 0;
}

.bc-interior-closing .bc-section-kicker{
    color:#91d2fb;
}

.bc-interior-closing .bc-section-title{
    color:#fff;
    font-size:clamp(38px,3.8vw,56px);
    text-shadow:0 3px 16px rgba(0,0,0,.44);
}

.bc-interior-closing-text{
    max-width:620px;
    margin:0 0 26px;
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.7;
    text-shadow:0 2px 12px rgba(0,0,0,.3);
}

.bc-interior-closing-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:11px 22px;
    border:1px solid #fff;
    border-radius:5px;
    background:rgba(255,255,255,.96);
    color:#162736;
    font-size:12px;
    line-height:1.3;
    font-weight:700;
    letter-spacing:.045em;
    text-decoration:none;
    text-transform:uppercase;
    transition:background .2s ease,color .2s ease;
}

.bc-interior-closing-button:hover,
.bc-interior-closing-button:focus{
    background:#fff;
    color:var(--bc-blue);
    text-decoration:none;
}

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

    .bc-interior-media-column{
        padding-right:18px;
    }

    .bc-interior-feature-copy{
        padding-left:22px;
    }
}

@media (max-width:991px){
    .bc-interior-closing{
        background-attachment:scroll;
    }

    .bc-interior-shell{
        width:calc(100% - 30px);
        padding-left:0;
        padding-right:0;
    }

    .bc-interior-hero{
        min-height:500px;
    }

    .bc-interior-hero-content{
        max-width:680px;
        padding:96px 0 78px;
    }

    .bc-interior-feature{
        padding:64px 0;
    }

    .bc-interior-media-column{
        padding-right:15px;
        margin-bottom:38px;
    }

    .bc-interior-feature-copy{
        padding-left:15px;
    }

    .bc-capability-section{
        padding:64px 0 70px;
    }

    .bc-capability-header{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        margin-bottom:29px;
    }

    .bc-capability-card-wide{
        grid-template-columns:1fr;
    }

    .bc-capability-card-wide .bc-capability-media{
        min-height:0;
        aspect-ratio:16/9;
    }

    .bc-capability-card-wide .bc-capability-content{
        padding:25px 27px 28px;
    }

    .bc-interior-closing{
        min-height:410px;
        background-position:58% center;
    }
}

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

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

    .bc-interior-hero-content{
        padding:82px 0 72px;
    }

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

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

    .bc-interior-feature{
        padding:52px 0 58px;
    }

    .bc-interior-video-card,
    .bc-capability-card{
        border-radius:10px;
    }

    .bc-interior-video-caption{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
        padding:15px 17px;
    }

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

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

    .bc-capability-section{
        padding:52px 0 58px;
    }

    .bc-capability-intro{
        font-size:16px;
    }

    .bc-capability-content,
    .bc-capability-card-wide .bc-capability-content{
        padding:23px 21px 26px;
    }

    .bc-capability-title{
        font-size:22px;
    }

    .bc-interior-closing{
        min-height:400px;
    }

    .bc-interior-closing::before{
        background:rgba(8,19,31,.48);
    }

    .bc-interior-closing-content{
        padding:62px 0;
    }

    .bc-interior-closing .bc-section-title{
        font-size:38px;
    }

    .bc-interior-closing-text{
        font-size:17px;
        line-height:1.65;
    }

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