/* =========================================================
   SCECA ADVISORY COMMITTEE
   FINAL CLEAN VERSION
========================================================= */

:root{
    --sceca-navy:#1d2554;
    --sceca-navy-dark:#0f173d;
    --sceca-gold:#c79a4b;
    --sceca-gold-light:#dfbd78;
    --sceca-ink:#1e2b45;
    --sceca-muted:#687185;
    --sceca-border:#e9edf3;
    --sceca-paper:#fffdf9;
}

/* =========================================================
   GLOBAL
========================================================= */

.sceca-acp-page,
.sceca-acp-page *{
    box-sizing:border-box;
}

.sceca-acp-page{
    width:100%;
    max-width:1320px;
    margin:34px auto 70px;
    padding:0;
    background:#fff;
    color:var(--sceca-ink);
    font-family:Arial,Helvetica,sans-serif;
    border-radius:24px;
    box-shadow:0 18px 55px rgba(29,37,84,.08);
    overflow:hidden;
}


/* =========================================================
   INTRO / HERO
========================================================= */

.sceca-acp-intro-wrap{
    display:grid;
    grid-template-columns:minmax(0,1.68fr) minmax(330px,.9fr);

    min-height:680px;

    background:#fff;

    border:1px solid #edf0f4;

    overflow:hidden;
}


/* LEFT TEXT SIDE */

.sceca-acp-intro-copy{
    position:relative;

    padding:58px 58px 44px 62px;

    background:#fff;
}


.sceca-acp-gold-line{
    display:block;

    width:42px;
    height:4px;

    margin-bottom:24px;

    background:linear-gradient(
        90deg,
        var(--sceca-gold),
        var(--sceca-gold-light)
    );

    border-radius:50px;
}


.sceca-acp-intro-copy h1{
    margin:0;

    color:var(--sceca-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:62px;
    line-height:.93;

    font-weight:700;

    letter-spacing:-1.2px;
}


.sceca-acp-intro-copy h2{
    margin:17px 0 0;

    color:#263552;

    font-family:Georgia,"Times New Roman",serif;

    font-size:24px;
    line-height:1.22;

    font-weight:500;
}


.sceca-acp-line-small{
    width:48px;
    height:3px;

    margin:18px 0 25px;

    background:var(--sceca-gold);

    border-radius:50px;
}


/* BODY COPY EXACTLY AS SEPARATE PARAGRAPHS */

.sceca-acp-intro-text{
    width:100%;
    max-width:790px;

    color:#515b6c;

    font-family:Arial,Helvetica,sans-serif;

    font-size:13.5px;

    line-height:1.58;

    font-weight:400;

    letter-spacing:0;
}


.sceca-acp-intro-text p{
    display:block;

    margin:0 0 17px;

    padding:0;
}


.sceca-acp-intro-text p:last-child{
    margin-bottom:0;
}


/* RIGHT IMAGE */

.sceca-acp-intro-image{
    position:relative;

    min-height:100%;

    background-size:cover;
    background-position:center;

    background-color:#f7f8fa;

    border-left:1px solid #edf0f4;

    overflow:hidden;
}


.sceca-acp-intro-image:after{
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        rgba(29,37,84,.04)
    );

    pointer-events:none;
}


.sceca-acp-no-hero{
    background:linear-gradient(
        180deg,
        #fafafa,
        #f3f4f7
    );
}


.sceca-acp-no-hero:before{
    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        135deg,
        rgba(29,37,84,.02),
        transparent 60%
    );
}


.sceca-acp-arch-lines{
    display:none;
}


/* =========================================================
   MEMBERS SECTION
========================================================= */

.sceca-acp-members-wrap{
    padding:50px 38px 64px;

    background:#fbfcfe;

    border-top:1px solid #edf0f4;
}


.sceca-acp-members-heading{
    max-width:800px;

    margin:0 auto 36px;

    text-align:center;
}


.sceca-acp-eyebrow{
    display:flex;

    align-items:center;
    justify-content:center;

    gap:14px;

    color:#a57a35;

    letter-spacing:3px;

    font-size:11px;
    font-weight:700;
}


.sceca-acp-eyebrow span{
    width:42px;
    height:3px;

    background:var(--sceca-gold);
}


.sceca-acp-members-heading h2{
    margin:10px 0 0;

    color:var(--sceca-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:50px;
    line-height:1.05;

    font-weight:700;
}


/* =========================================================
   MEMBERS GRID
========================================================= */

.sceca-acp-grid{
    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:22px;
}


.sceca-acp-card{
    min-width:0;

    background:#fff;

    border:1px solid var(--sceca-border);

    border-radius:16px;

    overflow:hidden;

    box-shadow:0 10px 28px rgba(29,37,84,.06);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


.sceca-acp-card:hover{
    transform:translateY(-6px);

    border-color:rgba(199,154,75,.42);

    box-shadow:0 20px 42px rgba(29,37,84,.11);
}


.sceca-acp-card-open{
    appearance:none;

    width:100%;
    height:100%;

    margin:0;
    padding:0;

    display:flex;
    flex-direction:column;

    background:transparent;

    border:0;

    color:inherit;

    text-align:center;

    cursor:pointer;
}


/* MEMBER PHOTO */

.sceca-acp-photo-wrap{
    width:100%;

    aspect-ratio:1 / 1.06;

    overflow:hidden;

    background:#f4f5f7;
}


.sceca-acp-photo-wrap img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center top;

    transition:transform .5s ease;
}


.sceca-acp-card:hover .sceca-acp-photo-wrap img{
    transform:scale(1.035);
}


.sceca-acp-photo-placeholder{
    width:100%;
    height:100%;

    display:grid;
    place-items:center;

    background:linear-gradient(
        145deg,
        var(--sceca-navy-dark),
        var(--sceca-navy)
    );

    color:rgba(255,255,255,.15);

    font-size:34px;

    font-weight:800;

    letter-spacing:4px;
}


/* MEMBER TEXT */

.sceca-acp-card-body{
    flex:1;

    display:flex;
    flex-direction:column;
    align-items:center;

    padding:18px 18px 22px;
}


.sceca-acp-card-body h3{
    margin:0;

    color:var(--sceca-navy);

    font-family:Georgia,"Times New Roman",serif;

    font-size:18px;
    line-height:1.3;
}


.sceca-acp-card-line{
    width:34px;
    height:2px;

    margin:11px 0 10px;

    background:var(--sceca-gold);
}


.sceca-acp-card-body p{
    margin:0;

    color:#697386;

    font-size:12.5px;
    line-height:1.5;

    min-height:56px;
}


.sceca-acp-readmore{
    margin-top:auto;

    padding-top:15px;

    color:#a77d36;

    font-family:Georgia,"Times New Roman",serif;

    font-size:13px;

    font-weight:700;
}


.sceca-acp-readmore b{
    margin-left:8px;

    display:inline-block;

    font-family:Arial,sans-serif;

    font-size:17px;

    transition:transform .25s ease;
}


.sceca-acp-card:hover .sceca-acp-readmore b{
    transform:translateX(4px);
}


.sceca-acp-empty{
    grid-column:1 / -1;

    padding:40px;

    border:1px dashed #ddd;

    text-align:center;

    color:#677;
}


/* =========================================================
   CV POPUP — FINAL HEADER / ZOOM / SCROLL FIX
   IMPORTANT:
   JS moves every modal directly under <body>.
   That removes Bridge/Qode/Elementor stacking-context conflicts.
========================================================= */

body.sceca-acp-modal-open{
    overflow:hidden !important;
}

/* Full-screen layer */
.sceca-acp-modal{
    position:fixed !important;
    inset:0 !important;

    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;

    display:none !important;
    align-items:center !important;
    justify-content:center !important;

    padding:16px !important;

    overflow:hidden !important;

    z-index:2147483647 !important;
    isolation:isolate !important;

    transform:none !important;
    filter:none !important;
    perspective:none !important;
}

.sceca-acp-modal.is-open{
    display:flex !important;
}

/* Dark backdrop */
.sceca-acp-modal-backdrop{
    position:fixed !important;
    inset:0 !important;

    width:100vw !important;
    height:100vh !important;
    height:100dvh !important;

    z-index:0 !important;

    background:
        radial-gradient(
            circle at center,
            rgba(29,37,84,.84),
            rgba(7,14,31,.96)
        ) !important;

    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);

    pointer-events:auto;
}

/* =========================================================
   BOOK CONTAINER
========================================================= */

.sceca-acp-modal-dialog{
    position:relative !important;
    z-index:2 !important;

    width:min(1020px,calc(100vw - 32px)) !important;
    max-width:1020px !important;

    /* Fallback + modern viewport unit */
    height:calc(100vh - 32px) !important;
    height:calc(100dvh - 32px) !important;

    max-height:calc(100vh - 32px) !important;
    max-height:calc(100dvh - 32px) !important;

    min-height:0 !important;

    margin:0 auto !important;

    overflow:visible !important;
    background:transparent !important;
}

/* Book paper layers */
.sceca-acp-modal-dialog:before,
.sceca-acp-modal-dialog:after{
    content:"";
    position:absolute;
    border-radius:24px;
    pointer-events:none;
}

.sceca-acp-modal-dialog:before{
    z-index:0;
    top:14px;
    bottom:14px;
    left:18px;
    right:18px;
    background:#efe6d6;
    box-shadow:0 28px 70px rgba(0,0,0,.25);
}

.sceca-acp-modal-dialog:after{
    z-index:1;
    top:7px;
    bottom:7px;
    left:9px;
    right:9px;
    background:#f8f1e4;
}

/* =========================================================
   BOOK SHELL — ONLY SCROLL CONTAINER
========================================================= */

.sceca-acp-modal-shell{
    position:relative !important;
    z-index:2 !important;

    width:100% !important;
    height:100% !important;
    max-height:100% !important;
    min-height:0 !important;

    background:#fff !important;
    border:1px solid #e9dfcf !important;
    border-radius:22px !important;
    box-shadow:0 35px 90px rgba(0,0,0,.28) !important;

    overflow-y:scroll !important;
    overflow-x:hidden !important;

    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;

    scrollbar-gutter:stable !important;
    scrollbar-width:auto !important;
    scrollbar-color:var(--sceca-gold) #111936 !important;
}

/* Chrome / Edge / Safari scrollbar */
.sceca-acp-modal-shell::-webkit-scrollbar{
    -webkit-appearance:none !important;
    display:block !important;
    width:15px !important;
}

.sceca-acp-modal-shell::-webkit-scrollbar-track{
    background:#111936 !important;
    border-radius:0 20px 20px 0 !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.sceca-acp-modal-shell::-webkit-scrollbar-thumb{
    background:linear-gradient(
        180deg,
        var(--sceca-gold-light),
        var(--sceca-gold)
    ) !important;

    border-radius:20px !important;
    border:3px solid #111936 !important;
    min-height:64px !important;
}

.sceca-acp-modal-shell::-webkit-scrollbar-thumb:hover{
    background:#e8c987 !important;
}

/* Close button */
.sceca-acp-close{
    position:absolute !important;
    top:18px !important;
    right:34px !important;
    z-index:99999 !important;

    width:44px !important;
    height:44px !important;

    margin:0 !important;
    padding:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:0 !important;
    border-radius:50% !important;

    background:#fff !important;
    color:var(--sceca-navy) !important;

    font-size:29px !important;
    line-height:1 !important;

    cursor:pointer !important;
    box-shadow:0 7px 22px rgba(0,0,0,.22) !important;
}

/* =========================================================
   CV HEADER
========================================================= */

.sceca-acp-modal-top{
    display:grid;

    grid-template-columns:270px minmax(0,1fr);

    min-height:300px;

    background:#fff;

    color:#fff;

    border-bottom:1px solid #ece3d4;
}


.sceca-acp-modal-photo{
    overflow:hidden;

    background:#e9edf5;
}


.sceca-acp-modal-photo img{
    display:block;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center top;
}


.sceca-acp-modal-title{
    position:relative;

    padding:54px 70px 40px 48px;

    display:flex;
    flex-direction:column;
    justify-content:center;

    background:linear-gradient(
        135deg,
        var(--sceca-navy-dark),
        var(--sceca-navy)
    );

    overflow:hidden;
}


.sceca-acp-modal-title:after{
    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(255,255,255,.08),
            transparent 35%
        ),
        linear-gradient(
            180deg,
            transparent,
            rgba(255,255,255,.03)
        );

    pointer-events:none;
}


.sceca-acp-modal-kicker{
    position:relative;

    z-index:1;

    color:var(--sceca-gold-light);

    font-size:10px;

    font-weight:700;

    letter-spacing:2.2px;
}


.sceca-acp-modal-title h2{
    position:relative;

    z-index:1;

    margin:12px 0 13px;

    color:#fff;

    font-family:Georgia,"Times New Roman",serif;

    font-size:40px;

    line-height:1.08;
}


.sceca-acp-credentials{
    position:relative;

    z-index:1;

    margin:0;

    color:#e5e9f6;

    font-size:15px;

    line-height:1.7;
}


.sceca-acp-modal-gold{
    position:relative;

    z-index:1;

    width:64px;
    height:3px;

    margin-top:22px;

    background:var(--sceca-gold);
}


/* =========================================================
   CV CONTENT — BOOK PAPER
========================================================= */

.sceca-acp-modal-content{
    position:relative;

    min-height:400px;

    padding:40px 48px 60px 72px;

    background:#fffdf9;

    color:#4f596c;

    font-family:Arial,Helvetica,sans-serif;

    font-size:15px;

    line-height:1.9;
}


/* GOLD BOOK MARGIN */

.sceca-acp-modal-content:before{
    content:"";

    position:absolute;

    left:44px;
    top:0;
    bottom:0;

    width:1px;

    background:rgba(199,154,75,.25);
}


/* PAPER LINES */

.sceca-acp-modal-content:after{
    content:"";

    position:absolute;

    inset:0;

    background:
        repeating-linear-gradient(
            to bottom,
            transparent 0,
            transparent 33px,
            rgba(199,154,75,.055) 33px,
            rgba(199,154,75,.055) 34px
        );

    pointer-events:none;
}


.sceca-acp-modal-content > *{
    position:relative;

    z-index:1;
}


.sceca-acp-modal-content p{
    margin:0 0 20px;
}


.sceca-acp-modal-content p:last-child{
    margin-bottom:0;
}


.sceca-acp-modal-content strong{
    color:var(--sceca-navy);
}


/* =========================================================
   DESKTOP SMALL
========================================================= */

@media(max-width:1100px){

    .sceca-acp-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .sceca-acp-intro-copy h1{
        font-size:54px;
    }

    .sceca-acp-intro-text{
        font-size:13px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:820px){

    .sceca-acp-page{
        margin:16px auto 42px;

        border-radius:18px;
    }


    .sceca-acp-intro-wrap{
        grid-template-columns:1fr;

        min-height:0;
    }


    .sceca-acp-intro-image{
        order:-1;

        min-height:320px;

        border-left:0;

        border-bottom:1px solid #edf0f4;
    }


    .sceca-acp-intro-copy{
        padding:38px 26px 34px;
    }


    .sceca-acp-intro-copy h1{
        font-size:48px;
    }


    .sceca-acp-intro-copy h2{
        font-size:21px;
    }


    .sceca-acp-intro-text{
        font-size:13px;

        line-height:1.58;
    }


    .sceca-acp-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    /* MODAL */

    .sceca-acp-modal{
        padding:12px !important;
    }

    .sceca-acp-modal-dialog{
        width:calc(100vw - 24px) !important;

        height:calc(100vh - 24px) !important;
        height:calc(100dvh - 24px) !important;

        max-height:calc(100vh - 24px) !important;
        max-height:calc(100dvh - 24px) !important;
    }

    .sceca-acp-modal-top{
        grid-template-columns:220px minmax(0,1fr);
    }

    .sceca-acp-modal-title{
        padding:42px 55px 34px 32px;
    }

    .sceca-acp-modal-title h2{
        font-size:30px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:600px){

    html,
    body{
        overflow-x:hidden;
    }


    .sceca-acp-page{
        width:100%;

        max-width:100%;

        margin:0;

        border-radius:0;

        box-shadow:none;
    }


    .sceca-acp-intro-image{
        min-height:245px;
    }


    .sceca-acp-intro-copy{
        padding:30px 18px 28px;
    }


    .sceca-acp-intro-copy h1{
        font-size:42px;

        line-height:.98;
    }


    .sceca-acp-intro-copy h2{
        font-size:19px;

        line-height:1.25;
    }


    .sceca-acp-intro-text{
        font-size:13px;

        line-height:1.62;
    }


    .sceca-acp-intro-text p{
        margin-bottom:14px;
    }


    .sceca-acp-members-wrap{
        padding:34px 14px 44px;
    }


    .sceca-acp-members-heading h2{
        font-size:36px;
    }


    .sceca-acp-grid{
        grid-template-columns:1fr;

        gap:18px;
    }


    .sceca-acp-photo-wrap{
        aspect-ratio:1 / 1.05;
    }


    .sceca-acp-card-body{
        padding:17px 18px 20px;
    }


    .sceca-acp-card-body h3{
        font-size:20px;
    }


    .sceca-acp-card-body p{
        min-height:0;

        font-size:13px;
    }


    /* =====================================================
       MOBILE MODAL
    ===================================================== */


    .sceca-acp-modal{
        padding:6px !important;
        align-items:center !important;
    }

    .sceca-acp-modal-dialog{
        width:calc(100vw - 12px) !important;

        height:calc(100vh - 12px) !important;
        height:calc(100dvh - 12px) !important;

        max-height:calc(100vh - 12px) !important;
        max-height:calc(100dvh - 12px) !important;
    }

    .sceca-acp-modal-dialog:before,
    .sceca-acp-modal-dialog:after{
        display:none;
    }

    .sceca-acp-modal-shell{
        border-radius:15px !important;
        scrollbar-gutter:stable !important;
    }

    .sceca-acp-modal-shell::-webkit-scrollbar{
        width:9px !important;
    }

    .sceca-acp-modal-top{
        grid-template-columns:1fr;
        min-height:0;
    }

    .sceca-acp-modal-photo{
        height:290px;
    }

    .sceca-acp-modal-title{
        padding:27px 22px 26px;
    }

    .sceca-acp-modal-title h2{
        font-size:28px;
    }

    .sceca-acp-credentials{
        font-size:14px;
    }

    .sceca-acp-modal-content{
        padding:26px 18px 34px 34px;
        font-size:14px;
        line-height:1.85;
    }

    .sceca-acp-modal-content:before{
        left:18px;
    }

    .sceca-acp-close{
        top:10px !important;
        right:16px !important;
        width:39px !important;
        height:39px !important;
        font-size:25px !important;
    }

}




/* =========================================
   SCECA - EQUAL MEMBER CARD ALIGNMENT
========================================= */

.sceca-acp-grid {
    align-items: stretch;
}

.sceca-acp-card {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sceca-acp-card-open {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.sceca-acp-card-body {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    justify-items: center;
    align-content: stretch;
    flex: 1;
    width: 100%;
}

/* Same name area height */
.sceca-acp-card-body h3 {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Gold divider */
.sceca-acp-card-line {
    flex-shrink: 0;
}

/* Expert description */
.sceca-acp-card-body p {
    width: 100%;
    min-height: 100px;
    margin: 0;
    text-align: center;
}

/* Read More always at bottom */
.sceca-acp-readmore {
    align-self: center;
    margin-top: auto;
    padding-top: 15px;
    text-align: center;
}

/* Mobile */
@media (max-width: 600px) {
    .sceca-acp-card-body h3 {
        min-height: 0;
    }

    .sceca-acp-card-body p {
        min-height: 0;
    }
}