/* ==========================================================================
   Engineer Directory V2.5
   Visual language aligned with Engineer Profile
   ========================================================================== */

.ed25-page{
    --ed25-blue:#1265e3;
    --ed25-blue-deep:#0b4fae;
    --ed25-blue-soft:#edf5ff;
    --ed25-teal:#119b78;
    --ed25-teal-soft:#ecfbf6;
    --ed25-cyan:#0c94af;
    --ed25-cyan-soft:#eefafd;
    --ed25-amber:#d58a18;
    --ed25-ink:#172033;
    --ed25-body:#526176;
    --ed25-muted:#7d8999;
    --ed25-line:#e3eaf1;
    --ed25-card:#fff;
    --ed25-bg:#f4f7fb;
    --ed25-radius:17px;
    --ed25-shadow:0 10px 30px rgba(21,34,50,.05);

    background:var(--ed25-bg);
    color:var(--ed25-ink);
}

.ed25-page *{
    box-sizing:border-box;
}

.ed25-container{
    max-width:1480px!important;
}

/* Hero ------------------------------------------------------------------ */

.ed25-hero{
    position:relative;
    overflow:hidden;
    padding:34px 0 28px;
    border-bottom:1px solid #e3eaf1;
    background:
        radial-gradient(circle at 88% 13%,rgba(20,186,190,.16),transparent 24%),
        radial-gradient(circle at 7% 0%,rgba(18,101,227,.11),transparent 29%),
        linear-gradient(135deg,#fff 0%,#f8fcff 56%,#f2fbf9 100%);
}

.ed25-hero:before{
    content:"";
    position:absolute;
    top:-80px;
    right:-55px;
    width:300px;
    height:300px;
    border:1px solid rgba(18,101,227,.07);
    border-radius:50%;
    box-shadow:
        0 0 0 38px rgba(18,101,227,.018),
        0 0 0 78px rgba(17,155,120,.013);
    pointer-events:none;
}

.ed25-hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
    align-items:center;
    gap:30px;
}

.ed25-hero-main{
    min-width:0;
}

.ed25-eyebrow{
    display:flex;
    align-items:center;
}

.ed25-eyebrow span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:31px;
    padding:0 10px;
    border:1px solid #d7e5f2;
    border-radius:999px;
    background:rgba(255,255,255,.82);
    color:#1768b2;
    font-size:.52rem;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
    box-shadow:0 4px 12px rgba(21,34,50,.025);
}

.ed25-hero h1{
    max-width:820px;
    margin:13px 0 10px;
    color:#183653;
    font-size:clamp(2rem,4.4vw,3.4rem);
    line-height:1.02;
    font-weight:850;
    letter-spacing:-.055em;
}

.ed25-hero h1 span{
    color:var(--ed25-blue);
}

.ed25-hero-main > p{
    max-width:800px;
    margin:0;
    color:#68798e;
    font-size:.74rem;
    line-height:1.7;
}

.ed25-hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    margin-top:17px;
}

.ed25-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:39px;
    padding:0 13px;
    border-radius:10px;
    font-size:.56rem;
    font-weight:850;
    text-decoration:none;
    transition:.16s ease;
}

.ed25-btn-primary{
    border:1px solid var(--ed25-blue);
    background:var(--ed25-blue);
    color:#fff;
}

.ed25-btn-primary:hover{
    background:var(--ed25-blue-deep);
    color:#fff;
    transform:translateY(-1px);
}

.ed25-btn-secondary{
    border:1px solid #d8e3ed;
    background:#fff;
    color:#5b6f85;
}

.ed25-btn-secondary:hover{
    border-color:#bcd0e4;
    color:var(--ed25-blue);
}

.ed25-popular-skills{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    margin-top:16px;
}

.ed25-popular-label{
    margin-right:3px;
    color:#8d98a7;
    font-size:.46rem;
    font-weight:800;
}

.ed25-popular-skills a{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 8px;
    border:1px solid #dceaf5;
    border-radius:999px;
    background:rgba(255,255,255,.8);
    color:#176184;
    font-size:.46rem;
    font-weight:800;
    text-decoration:none;
}

.ed25-popular-skills a:hover{
    border-color:#bdd5e8;
    background:#fff;
    color:var(--ed25-blue);
}

/* Snapshot --------------------------------------------------------------- */

.ed25-network-card{
    padding:18px;
    border:1px solid rgba(215,226,237,.95);
    border-radius:17px;
    background:rgba(255,255,255,.88);
    box-shadow:0 14px 34px rgba(21,34,50,.065);
    backdrop-filter:blur(10px);
}

.ed25-network-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:11px;
    border-bottom:1px solid #edf1f5;
}

.ed25-network-head span{
    color:#53687e;
    font-size:.56rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.ed25-network-head i{
    color:var(--ed25-cyan);
}

.ed25-network-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    margin-top:11px;
    overflow:hidden;
    border:1px solid #e7edf3;
    border-radius:12px;
    background:#fbfcfe;
}

.ed25-network-stats > div{
    min-height:72px;
    padding:12px;
}

.ed25-network-stats > div:nth-child(even){
    border-left:1px solid #e7edf3;
}

.ed25-network-stats > div:nth-child(n+3){
    border-top:1px solid #e7edf3;
}

.ed25-network-stats strong{
    display:block;
    color:#223b54;
    font-size:1.14rem;
    line-height:1;
    font-weight:900;
}

.ed25-network-stats span{
    display:block;
    margin-top:5px;
    color:#8a96a5;
    font-size:.46rem;
}

.ed25-network-note{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    align-items:start;
    margin-top:11px;
    padding:10px;
    border-radius:10px;
    background:#f2f8fd;
}

.ed25-network-note > i{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:9px;
    background:#e3f0fc;
    color:#276fa9;
    font-size:.68rem;
}

.ed25-network-note strong{
    display:block;
    color:#496278;
    font-size:.52rem;
}

.ed25-network-note span{
    display:block;
    margin-top:2px;
    color:#7e8c9d;
    font-size:.44rem;
    line-height:1.45;
}

/* Directory shell -------------------------------------------------------- */

.ed25-directory-shell{
    padding:18px 0 48px;
    background:var(--ed25-bg);
}

/* Search ---------------------------------------------------------------- */

.ed25-search-panel{
    padding:15px;
    border:1px solid var(--ed25-line);
    border-radius:15px;
    background:#fff;
    box-shadow:var(--ed25-shadow);
}

.ed25-search-grid{
    display:grid;
    grid-template-columns:minmax(220px,1.8fr) repeat(5,minmax(105px,.75fr)) auto;
    align-items:end;
    gap:8px;
}

.ed25-search-grid label{
    display:block;
    min-width:0;
}

.ed25-search-grid label > span{
    display:block;
    margin-bottom:5px;
    color:#718095;
    font-size:.47rem;
    font-weight:800;
}

.ed25-search-grid input,
.ed25-search-grid select{
    width:100%;
    min-height:38px;
    padding:0 9px;
    border:1px solid #dce5ee;
    border-radius:9px;
    outline:none;
    background:#fff;
    color:#34495f;
    font-size:.55rem;
}

.ed25-search-grid input:focus,
.ed25-search-grid select:focus{
    border-color:#acc8e6;
    box-shadow:0 0 0 3px rgba(18,101,227,.07);
}

.ed25-search-main > div{
    position:relative;
}

.ed25-search-main i{
    position:absolute;
    top:50%;
    left:11px;
    color:#8a97a7;
    font-size:.64rem;
    transform:translateY(-50%);
}

.ed25-search-main input{
    padding-left:31px;
}

.ed25-search-actions{
    display:flex;
    align-items:center;
    gap:5px;
}

.ed25-filter-btn,
.ed25-reset-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:38px;
    padding:0 11px;
    border-radius:9px;
    font-size:.51rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}

.ed25-filter-btn{
    border:1px solid var(--ed25-blue);
    background:var(--ed25-blue);
    color:#fff;
}

.ed25-reset-btn{
    border:1px solid #dfe6ee;
    background:#fff;
    color:#697a8e;
}

/* Directory heading ------------------------------------------------------ */

.ed25-directory-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-top:20px;
    margin-bottom:12px;
}

.ed25-section-kicker{
    color:var(--ed25-cyan);
    font-size:.5rem;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.ed25-directory-head h2{
    margin:3px 0 2px;
    color:#263d55;
    font-size:1.12rem;
    font-weight:900;
    letter-spacing:-.03em;
}

.ed25-directory-head p{
    margin:0;
    color:#8491a1;
    font-size:.51rem;
}

.ed25-directory-info{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
}

.ed25-directory-info span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    min-height:27px;
    padding:0 8px;
    border-radius:999px;
    background:#fff;
    color:#718095;
    font-size:.45rem;
    font-weight:750;
    box-shadow:0 3px 9px rgba(21,34,50,.025);
}

/* Engineer card ---------------------------------------------------------- */

.ed25-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
}

.ed25-engineer-card{
    min-width:0;
    padding:15px;
    border:1px solid #e2e9f0;
    border-radius:15px;
    background:#fff;
    box-shadow:0 5px 16px rgba(21,34,50,.03);
    transition:
        transform .16s ease,
        border-color .16s ease,
        box-shadow .16s ease;
}

.ed25-engineer-card:hover{
    transform:translateY(-3px);
    border-color:#c8d8e7;
    box-shadow:0 13px 28px rgba(21,34,50,.065);
}

.ed25-card-top{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 12px;
    gap:11px;
    align-items:start;
}

.ed25-avatar{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    overflow:visible;
    border:1px solid #dce7f1;
    border-radius:14px;
    background:linear-gradient(135deg,#eaf4ff,#ecfaf6);
    color:#2367a8;
    font-size:.76rem;
    font-weight:900;
}

.ed25-avatar img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:14px;
}

.ed25-verified{
    position:absolute;
    right:-4px;
    bottom:-4px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:19px;
    height:19px;
    border:2px solid #fff;
    border-radius:50%;
    background:#fff;
    color:var(--ed25-blue);
    font-size:.73rem;
}

.ed25-card-identity{
    min-width:0;
}

.ed25-card-identity h3{
    margin:1px 0 0;
    font-size:.66rem;
    line-height:1.25;
    font-weight:900;
}

.ed25-card-identity h3 a{
    color:#2e445b;
    text-decoration:none;
}

.ed25-card-identity h3 a:hover{
    color:var(--ed25-blue);
}

.ed25-headline{
    display:-webkit-box;
    margin-top:3px;
    overflow:hidden;
    color:#5c6fa7;
    font-size:.5rem;
    line-height:1.42;
    font-weight:750;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.ed25-location{
    display:flex;
    align-items:center;
    gap:4px;
    margin-top:5px;
    overflow:hidden;
    color:#919cab;
    font-size:.44rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ed25-opportunity-dot{
    align-self:start;
    width:9px;
    height:9px;
    margin-top:5px;
    border:2px solid #fff;
    border-radius:50%;
    background:#17a271;
    box-shadow:0 0 0 3px rgba(23,162,113,.10);
}

.ed25-summary{
    display:-webkit-box;
    min-height:35px;
    margin:11px 0 0;
    overflow:hidden;
    color:#7c8999;
    font-size:.48rem;
    line-height:1.55;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.ed25-skills{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:4px;
    min-height:27px;
    margin-top:10px;
}

.ed25-skills span{
    display:inline-flex;
    align-items:center;
    min-height:23px;
    padding:0 7px;
    border:1px solid #dceaf5;
    border-radius:999px;
    background:#eef8fd;
    color:#176184;
    font-size:.43rem;
    font-weight:800;
}

.ed25-skills span.is-more{
    border-color:#e0e5eb;
    background:#f4f6f8;
    color:#748295;
}

.ed25-card-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    margin-top:11px;
    border:1px solid #e7edf3;
    border-radius:11px;
    background:#fbfcfe;
}

.ed25-card-stats > div{
    min-width:0;
    padding:8px 5px;
    text-align:center;
}

.ed25-card-stats > div + div{
    border-left:1px solid #e7edf3;
}

.ed25-card-stats strong{
    display:block;
    color:#31465d;
    font-size:.64rem;
    font-weight:900;
}

.ed25-card-stats span{
    display:block;
    margin-top:2px;
    overflow:hidden;
    color:#929dab;
    font-size:.39rem;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ed25-card-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:7px;
    margin-top:11px;
    padding-top:10px;
    border-top:1px solid #edf1f5;
}

.ed25-card-social{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    min-width:0;
}

.ed25-card-social span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#8a96a5;
    font-size:.42rem;
    font-weight:750;
}

.ed25-card-social span.is-open{
    color:#0f8968;
}

.ed25-profile-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    min-height:31px;
    padding:0 9px;
    border:1px solid #dbe5ee;
    border-radius:9px;
    background:#fff;
    color:#5f7287;
    font-size:.47rem;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}

.ed25-profile-btn:hover{
    border-color:#bdd0e4;
    color:var(--ed25-blue);
}

/* Empty ----------------------------------------------------------------- */

.ed25-empty{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:125px;
    padding:17px;
    border:1px dashed #d7e1eb;
    border-radius:14px;
    background:#fff;
}

.ed25-empty > span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:43px;
    height:43px;
    border-radius:12px;
    background:#edf5ff;
    color:#4777a8;
}

.ed25-empty strong{
    display:block;
    color:#43586e;
    font-size:.62rem;
    font-weight:850;
}

.ed25-empty p{
    margin:3px 0 0;
    color:#8a96a5;
    font-size:.49rem;
}

.ed25-empty > a{
    color:var(--ed25-blue);
    font-size:.51rem;
    font-weight:850;
    text-decoration:none;
}

/* Pagination ------------------------------------------------------------- */

.ed25-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin-top:18px;
}

.ed25-pagination a,
.ed25-pagination span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:32px;
    border:1px solid #e0e7ee;
    border-radius:9px;
    background:#fff;
    color:#64758a;
    font-size:.5rem;
    font-weight:800;
    text-decoration:none;
}

.ed25-pagination a:hover{
    border-color:#bcd0e4;
    color:var(--ed25-blue);
}

.ed25-pagination a.active{
    border-color:var(--ed25-blue);
    background:var(--ed25-blue);
    color:#fff;
}

/* Shared footer refinement on directory -------------------------------- */

.ed25-page + .enetwork-footer{
    border-top:1px solid #e1e8ef;
    background:#fff;
}

/* Responsive ------------------------------------------------------------- */

@media(max-width:1299.98px){
    .ed25-card-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .ed25-search-grid{
        grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(110px,.75fr));
    }

    .ed25-search-actions{
        align-self:end;
    }
}

@media(max-width:1099.98px){
    .ed25-hero-grid{
        grid-template-columns:1fr;
    }

    .ed25-network-card{
        max-width:none;
    }

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

    .ed25-search-main{
        grid-column:span 2;
    }
}

@media(max-width:767.98px){
    .ed25-hero{
        padding:22px 0 20px;
    }

    .ed25-hero-grid{
        gap:18px;
    }

    .ed25-hero h1{
        font-size:2.08rem;
    }

    .ed25-network-card{
        padding:14px;
    }

    .ed25-search-grid{
        grid-template-columns:1fr;
    }

    .ed25-search-main{
        grid-column:auto;
    }

    .ed25-search-actions{
        width:100%;
    }

    .ed25-filter-btn,
    .ed25-reset-btn{
        flex:1 1 auto;
    }

    .ed25-directory-head{
        flex-direction:column;
    }

    .ed25-directory-info{
        justify-content:flex-start;
    }

    .ed25-card-grid{
        grid-template-columns:1fr;
    }

    .ed25-empty{
        grid-template-columns:auto minmax(0,1fr);
    }

    .ed25-empty > a{
        grid-column:1/-1;
        justify-self:start;
    }
}

@media(max-width:479.98px){
    .ed25-hero-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .ed25-btn{
        width:100%;
    }

    .ed25-network-stats{
        grid-template-columns:1fr;
    }

    .ed25-network-stats > div:nth-child(even){
        border-left:0;
    }

    .ed25-network-stats > div + div{
        border-top:1px solid #e7edf3;
    }

    .ed25-card-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .ed25-card-stats > div:nth-child(3){
        border-left:0;
    }

    .ed25-card-stats > div:nth-child(n+3){
        border-top:1px solid #e7edf3;
    }

    .ed25-card-footer{
        align-items:flex-start;
        flex-direction:column;
    }
}
