/* ==========================================================
   BASKINTA FACES V1
   Editorial heritage page
   ========================================================== */

.bk-faces {
    --faces-navy:#164b63;
    --faces-blue:#086d89;
    --faces-cyan:#35a9cf;
    --faces-ink:#263b45;
    --faces-body:#647982;
    --faces-soft:#f5f8f9;
    --faces-line:#e4ebee;

    width:100%;
    overflow:hidden;
    background:#fff;
    color:var(--faces-body);
}

.bk-faces-container {
    width:min(calc(100% - 80px),1380px);
    margin-left:auto;
    margin-right:auto;
}


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

.bk-faces-hero {
    min-height:520px;
    position:relative;
    display:flex;
    align-items:center;
    background-position:center 42%;
    background-repeat:no-repeat;
    background-size:cover;
}

.bk-faces-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(7,36,50,.30),
            rgba(7,36,50,0) 62%
        );
    pointer-events:none;
}

.bk-faces-hero-inner {
    position:relative;
    z-index:2;
    color:#fff;
}

.bk-faces-eyebrow,
.bk-faces-kicker {
    display:block;
    margin:0 0 14px;
    color:var(--faces-cyan);
    font-size:10px;
    line-height:1.2;
    font-weight:850;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.bk-faces-hero h1 {
    max-width:760px;
    margin:0;
    color:#fff;
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(64px,6.2vw,94px);
    font-weight:700;
    line-height:.94;
    letter-spacing:-.045em;
}

.bk-faces-hero p {
    max-width:600px;
    margin:24px 0 0;
    color:rgba(255,255,255,.91);
    font-size:16px;
    line-height:1.7;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.bk-faces-intro {
    padding:88px 0 94px;
    background:#fff;
}

.bk-faces-intro-grid {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:100px;
    align-items:start;
}

.bk-faces-intro h2 {
    max-width:480px;
    margin:0;
    color:var(--faces-navy);
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(42px,4vw,62px);
    font-weight:700;
    line-height:.98;
    letter-spacing:-.04em;
}

.bk-faces-intro p {
    max-width:680px;
    margin:0 0 18px;
    color:var(--faces-body);
    font-size:15px;
    line-height:1.85;
}


/* ==========================================================
   PEOPLE
   ========================================================== */

.bk-face-profile {
    padding:105px 0;
    border-top:1px solid var(--faces-line);
    background:#fff;
}

.bk-face-profile-alt {
    background:var(--faces-soft);
}

.bk-face-grid {
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:105px;
    align-items:center;
}

.bk-face-profile-alt .bk-face-image,
.bk-face-profile-alt .bk-face-archive {
    order:2;
}

.bk-face-profile-alt .bk-face-copy {
    order:1;
}


/* IMAGES */

.bk-face-image {
    width:100%;
    margin:0;
}

.bk-face-image img {
    display:block;
    width:100%;
    height:610px;
    object-fit:cover;
    object-position:center;
    border-radius:18px;
    box-shadow:
        0 18px 50px rgba(19,65,83,.10);
}

.bk-face-profile:first-of-type .bk-face-image img {
    object-position:center 38%;
}

.bk-face-portrait img {
    object-position:center 18%;
}

.bk-face-image figcaption {
    margin:12px 3px 0;
    color:#8a9ba2;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.03em;
}


/* COPY */

.bk-face-copy {
    max-width:590px;
}

.bk-face-number {
    display:block;
    margin:0 0 25px;
    color:#a7b8bf;
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:16px;
    font-weight:700;
}

.bk-face-role {
    display:block;
    margin:0 0 11px;
    color:var(--faces-blue);
    font-size:9px;
    line-height:1.3;
    font-weight:850;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.bk-face-copy h2 {
    margin:0;
    color:var(--faces-navy);
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(44px,4.1vw,64px);
    font-weight:700;
    line-height:.96;
    letter-spacing:-.042em;
}

.bk-face-years {
    margin:12px 0 29px;
    color:#93a4ab;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
}

.bk-face-copy p {
    max-width:570px;
    margin:0 0 18px;
    color:var(--faces-body);
    font-size:14px;
    line-height:1.85;
}

.bk-face-link {
    display:inline-flex;
    align-items:center;
    margin-top:10px;
    color:var(--faces-blue) !important;
    text-decoration:none !important;
    font-size:11px;
    font-weight:850;
    letter-spacing:.02em;
    transition:
        color .18s ease,
        transform .18s ease;
}

.bk-face-link:hover {
    color:var(--faces-navy) !important;
    transform:translateX(3px);
}


/* ==========================================================
   GEORGES GHANEM ARCHIVAL PLACEHOLDER
   ========================================================== */

.bk-face-archive {
    min-height:610px;
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:18px;
    background:
        radial-gradient(
            circle at 30% 20%,
            rgba(57,169,207,.18),
            transparent 34%
        ),
        linear-gradient(
            145deg,
            #1d5c72,
            #103e52 62%,
            #0a3142
        );
    box-shadow:
        0 18px 50px rgba(19,65,83,.12);
}

.bk-face-archive::before {
    content:"";
    position:absolute;
    inset:24px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:11px;
}

.bk-face-archive > span {
    position:relative;
    z-index:2;
    color:#fff;
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(100px,12vw,175px);
    font-weight:700;
    line-height:.8;
    letter-spacing:-.07em;
    opacity:.94;
}

.bk-face-archive small {
    position:relative;
    z-index:2;
    margin-top:32px;
    color:#8ed6e7;
    text-align:center;
    font-size:8px;
    line-height:1.7;
    font-weight:800;
    letter-spacing:.17em;
}


/* ==========================================================
   LITERARY TRAIL CTA
   ========================================================== */

.bk-faces-trail {
    padding:95px 0;
    background:var(--faces-navy);
}

.bk-faces-trail-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:80px;
    align-items:center;
}

.bk-faces-trail .bk-faces-kicker {
    color:#60c4dc;
}

.bk-faces-trail h2 {
    margin:0;
    color:#fff;
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(42px,4vw,60px);
    line-height:1;
    letter-spacing:-.035em;
}

.bk-faces-trail p {
    max-width:720px;
    margin:20px 0 0;
    color:rgba(255,255,255,.74);
    font-size:14px;
    line-height:1.8;
}

.bk-faces-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:50px;
    padding:0 24px;
    border-radius:8px;
    background:#fff;
    color:var(--faces-navy) !important;
    text-decoration:none !important;
    white-space:nowrap;
    font-size:11px;
    font-weight:850;
    transition:
        transform .18s ease,
        background .18s ease;
}

.bk-faces-button:hover {
    background:#eaf7fa;
    transform:translateY(-2px);
}


/* ==========================================================
   PRESERVATION
   ========================================================== */

.bk-faces-preserve {
    padding:100px 0 110px;
    text-align:center;
    background:#fff;
}

.bk-faces-preserve .bk-faces-kicker {
    margin-bottom:17px;
}

.bk-faces-preserve h2 {
    max-width:850px;
    margin:0 auto;
    color:var(--faces-navy);
    font-family:var(--bk-type-editorial,Georgia,serif);
    font-size:clamp(42px,4.5vw,68px);
    line-height:.98;
    letter-spacing:-.04em;
}

.bk-faces-preserve p {
    max-width:720px;
    margin:24px auto 0;
    color:var(--faces-body);
    font-size:14px;
    line-height:1.85;
}


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

@media(max-width:1100px) {

    .bk-faces-container {
        width:min(calc(100% - 56px),1100px);
    }

    .bk-face-grid {
        gap:60px;
    }

    .bk-face-image img,
    .bk-face-archive {
        min-height:520px;
        height:520px;
    }

}


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

@media(max-width:767px) {

    .bk-faces-container {
        width:calc(100% - 36px);
    }

    .bk-faces-hero {
        min-height:430px;
        background-position:center;
    }

    .bk-faces-hero h1 {
        font-size:58px;
    }

    .bk-faces-hero p {
        max-width:92%;
        font-size:14px;
    }

    .bk-faces-intro {
        padding:65px 0 70px;
    }

    .bk-faces-intro-grid {
        grid-template-columns:1fr;
        gap:30px;
    }

    .bk-faces-intro h2 {
        font-size:43px;
    }

    .bk-face-profile {
        padding:65px 0 70px;
    }

    .bk-face-grid {
        grid-template-columns:1fr;
        gap:42px;
    }

    .bk-face-profile-alt .bk-face-image,
    .bk-face-profile-alt .bk-face-archive,
    .bk-face-profile-alt .bk-face-copy {
        order:initial;
    }

    .bk-face-image img,
    .bk-face-archive {
        width:100%;
        height:auto;
        min-height:440px;
    }

    .bk-face-image img {
        height:480px;
    }

    .bk-face-copy h2 {
        font-size:46px;
    }

    .bk-faces-trail {
        padding:70px 0;
    }

    .bk-faces-trail-inner {
        grid-template-columns:1fr;
        gap:35px;
    }

    .bk-faces-button {
        justify-self:start;
    }

    .bk-faces-preserve {
        padding:75px 0 85px;
    }

}



/* ==========================================================
   FACES — LOCKED PROFILE IMAGE SYSTEM
   Same size, rounded corners, alternating layout
   ========================================================== */

.bk-face-photo {
    position:relative;

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

    aspect-ratio:1 / 1;

    overflow:hidden;

    border-radius:16px;
}


.bk-face-photo img {
    display:block;

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

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

    border-radius:16px;
}


/* Georges — text left / image right */

.bk-face-profile-alt .bk-face-grid {
    grid-template-areas:"copy photo";
}

.bk-face-profile-alt .bk-face-copy {
    grid-area:copy;
}

.bk-face-profile-alt .bk-face-photo,
.bk-face-profile-alt .bk-face-archive {
    grid-area:photo;
}


/* Standard profiles — image left / text right */

.bk-face-profile:not(.bk-face-profile-alt) .bk-face-grid {
    grid-template-areas:"photo copy";
}

.bk-face-profile:not(.bk-face-profile-alt) .bk-face-copy {
    grid-area:copy;
}

.bk-face-profile:not(.bk-face-profile-alt) .bk-face-photo {
    grid-area:photo;
}


@media(max-width:767px) {

    .bk-face-profile .bk-face-grid,
    .bk-face-profile-alt .bk-face-grid,
    .bk-face-profile:not(.bk-face-profile-alt) .bk-face-grid {
        grid-template-areas:
            "photo"
            "copy";
    }

}

