/* ==========================================================
   O5 CURATED — ARTIST PAGE SYSTEM
   ========================================================== */
.artist-page{background:#050505;color:#fff;min-height:100svh;}
.artist-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:rgba(0,0,0,.5);}
.artist-kicker{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.artist-hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:clamp(50px,7vw,120px);align-items:center;padding:125px clamp(26px,7vw,120px) 70px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);}
.artist-back{position:absolute;top:110px;left:clamp(26px,7vw,120px);color:rgba(255,255,255,.5);text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;transition:color .3s ease;}
.artist-back:hover{color:#fff;}
.artist-portrait-wrap{position:relative;min-height:72vh;display:grid;place-items:center;}
.artist-portrait-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:rgba(255,212,170,.07);filter:blur(80px);}
.artist-portrait{position:relative;z-index:2;width:min(600px,42vw);max-height:76vh;object-fit:cover;filter:drop-shadow(0 35px 55px rgba(0,0,0,.38));border:1px solid rgba(255,255,255,.1);}
.artist-hero-copy{max-width:650px;}
.artist-hero-copy h1{margin:24px 0 22px;font-family:'Canela Text Trial',Georgia,serif;font-weight:400;font-size:clamp(5rem,9vw,10rem);line-height:.78;letter-spacing:-.065em;}
.artist-role{margin:0 0 26px;font-family:'IBM Plex Mono',monospace;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.48);}
.artist-intro{max-width:550px;font-size:clamp(1.12rem,1.45vw,1.45rem);line-height:1.65;color:rgba(255,255,255,.66);}
.artist-scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:rgba(255,255,255,.48);font-family:'IBM Plex Mono',monospace;font-size:.5rem;letter-spacing:.2em;}
.artist-scroll-cue i{display:block;width:1px;height:30px;background:rgba(255,255,255,.25);}
.artist-practice{min-height:82vh;display:grid;grid-template-columns:.25fr 1.25fr .4fr;gap:clamp(30px,6vw,100px);align-items:start;padding:13vh clamp(26px,7vw,120px);border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);}
.artist-practice-index,.artist-practice-aside{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.18em;color:rgba(255,255,255,.34);}
.artist-practice-copy{max-width:850px;}
.artist-practice-copy .artist-kicker{margin-bottom:35px;}
.artist-practice-copy p:not(.artist-kicker){margin:0 0 28px;font-family:'Canela Text Trial',Georgia,serif;font-size:clamp(1.5rem,2.4vw,2.7rem);line-height:1.35;letter-spacing:-.025em;color:rgba(255,255,255,.78);}
.artist-practice-aside{display:flex;flex-direction:column;gap:12px;text-transform:uppercase;}
.artist-works{padding:13vh clamp(26px,7vw,120px) 15vh;}
.artist-works-heading{max-width:1000px;margin:0 auto 100px;text-align:center;}
.artist-works-heading h2{margin:20px 0 0;font-family:'Canela Text Trial',Georgia,serif;font-size:clamp(4.5rem,9vw,9rem);line-height:.83;letter-spacing:-.055em;font-weight:400;}
.artwork-row{width:min(1480px,100%);margin:0 auto 16vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(55px,8vw,130px);align-items:center;}
.artwork-row-reverse .artwork-image-wrap{order:2;}
.artwork-row-reverse .artwork-copy{order:1;}
.artwork-image-wrap{position:relative;min-height:720px;display:grid;place-items:center;}
.artwork-number{position:absolute;top:0;left:0;font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.18em;color:rgba(255,255,255,.35);}
.artwork-image{width:min(630px,46vw);max-height:78vh;object-fit:contain;filter:drop-shadow(0 35px 55px rgba(0,0,0,.4));border:1px solid rgba(255,255,255,.1);}
.artwork-copy h3{margin:22px 0 22px;font-family:'Canela Text Trial',Georgia,serif;font-size:clamp(4.2rem,7vw,8.4rem);line-height:.83;letter-spacing:-.055em;font-weight:400;}
.artwork-meta{display:flex;flex-wrap:wrap;gap:10px 20px;margin-bottom:30px;}
.artwork-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.14);font-family:'IBM Plex Mono',monospace;font-size:.52rem;letter-spacing:.12em;color:rgba(255,255,255,.55);}
.artwork-statement{max-width:620px;margin:0 0 34px;font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.72;color:rgba(255,255,255,.62);}
.artwork-purchase{padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.artwork-purchase strong{font-family:'Neue Haas Grotesk Display Pro',Arial,sans-serif;font-size:1rem;letter-spacing:.12em;font-weight:400;}
.artwork-cta{min-height:52px;padding:0 20px;display:inline-flex;align-items:center;gap:28px;border:1px solid rgba(255,255,255,.32);color:#fff;text-decoration:none;font-family:'Neue Haas Grotesk Display Pro',Arial,sans-serif;font-size:.62rem;letter-spacing:.16em;transition:.3s ease;}
.artwork-cta:hover{background:#fff;color:#080808;border-color:#fff;}
.artwork-cta.is-unavailable{pointer-events:none;opacity:.42;}
.artist-next{min-height:45vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);}
.artist-next p{font-family:'IBM Plex Mono',monospace;font-size:.55rem;letter-spacing:.2em;color:rgba(255,255,255,.35);}
.artist-next a{color:#fff;text-decoration:none;font-family:'Canela Text Trial',Georgia,serif;font-size:clamp(3.2rem,7vw,7rem);line-height:1;}
@media(max-width:960px){.artist-hero{grid-template-columns:1fr;padding-top:140px}.artist-portrait-wrap{min-height:58vh}.artist-portrait{width:min(620px,78vw);max-height:60vh}.artist-hero-copy{max-width:760px;margin:0 auto 60px;text-align:center}.artist-practice{grid-template-columns:1fr}.artist-practice-index,.artist-practice-aside{display:none}.artwork-row,.artwork-row-reverse{grid-template-columns:1fr;gap:40px}.artwork-row-reverse .artwork-image-wrap,.artwork-row-reverse .artwork-copy{order:initial}.artwork-copy{max-width:760px;margin:0 auto}.artwork-image-wrap{min-height:620px}.artwork-image{width:min(640px,78vw);max-height:68vh}}
@media(max-width:768px){.artist-hero{padding:115px 18px 85px}.artist-back{top:86px;left:18px}.artist-portrait-wrap{min-height:48vh}.artist-portrait{width:min(86vw,500px);max-height:50vh}.artist-hero-copy h1{font-size:clamp(4.6rem,21vw,7rem)}.artist-scroll-cue{display:none}.artist-practice{padding:90px 20px}.artist-practice-copy p:not(.artist-kicker){font-size:clamp(1.35rem,6vw,2rem)}.artist-works{padding:90px 18px 110px}.artist-works-heading{margin-bottom:70px}.artist-works-heading h2{font-size:clamp(3.7rem,17vw,5.7rem)}.artwork-row{margin-bottom:120px}.artwork-image-wrap{min-height:480px}.artwork-image{width:min(88vw,520px);max-height:58vh}.artwork-copy h3{font-size:clamp(3.6rem,17vw,5.6rem)}.artwork-purchase{align-items:stretch;flex-direction:column}.artwork-cta{width:100%;justify-content:space-between}}
@media(max-width:420px){.artist-portrait-wrap{min-height:42vh}.artwork-image-wrap{min-height:420px}}


/* ==========================================================
   O5 CURATED V32 — SAFE TITLE WRAPPING
   Long artist/work titles may wrap naturally instead of
   overflowing or being clipped at the edge of the layout.
   ========================================================== */
.artist-hero-copy,
.artwork-copy,
.artist-works-heading {
    min-width: 0;
}

.artist-hero-copy h1,
.artist-works-heading h2,
.artwork-copy h3 {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    text-wrap: balance;
    overflow-wrap: anywhere;
    word-break: normal;
}

/* Keep the work titles large, but sized to the actual copy column. */
.artwork-copy h3 {
    font-size: clamp(3.35rem, 4.8vw, 7rem);
    line-height: .86;
    letter-spacing: -.05em;
}

/* The artist name can wrap to two lines without being cut off. */
.artist-hero-copy h1 {
    font-size: clamp(4.7rem, 7.4vw, 9rem);
    line-height: .82;
}

.artist-works-heading h2 {
    font-size: clamp(4rem, 7.5vw, 8rem);
    line-height: .86;
}

@media (max-width: 960px) {
    .artist-hero-copy h1,
    .artist-works-heading h2,
    .artwork-copy h3 {
        text-align: center;
    }

    .artwork-copy h3 {
        font-size: clamp(3.4rem, 9vw, 5.8rem);
    }
}

@media (max-width: 768px) {
    .artist-hero-copy h1 {
        font-size: clamp(4rem, 18vw, 6.4rem);
    }

    .artist-works-heading h2 {
        font-size: clamp(3.35rem, 15vw, 5.2rem);
    }

    .artwork-copy h3 {
        font-size: clamp(2.8rem, 12.5vw, 4.8rem);
        line-height: .9;
        letter-spacing: -.045em;
    }
}


/* ==========================================================
   O5 CURATED V33 — PRACTICE FIT + TITLE CONTROL
   ========================================================== */

/* Keep the hero cue above the portrait instead of underneath it. */
.artist-portrait-wrap{z-index:1;}
.artist-hero-copy{position:relative;z-index:3;}
.artist-scroll-cue{
    z-index:12;
    bottom:26px;
    padding:8px 12px 0;
    background:linear-gradient(to bottom,rgba(5,5,5,0),rgba(5,5,5,.42));
}

/* The practice should read as one editorial section, not several screens. */
.artist-practice{
    min-height:100svh;
    grid-template-columns:minmax(120px,.18fr) minmax(0,1.55fr) minmax(150px,.26fr);
    gap:clamp(26px,4vw,70px);
    align-items:center;
    padding:110px clamp(26px,6vw,105px) 80px;
}
.artist-practice-copy{
    width:100%;
    max-width:1120px;
    text-align:left;
}
.artist-practice-copy .artist-kicker{margin-bottom:24px;}
.artist-practice-copy p:not(.artist-kicker){
    max-width:none;
    margin:0 0 22px;
    font-size:clamp(1.12rem,1.55vw,1.72rem);
    line-height:1.48;
    letter-spacing:-.018em;
    text-align:left;
}
.artist-practice-aside{align-self:start;padding-top:6px;}

/* Client preference: CONTRADICTION titles stay on one line. */
.artwork-row[data-artwork-key^="hycenth-contradiction"] .artwork-copy h3{
    white-space:nowrap;
    text-wrap:nowrap;
    overflow-wrap:normal;
    font-size:clamp(2rem,4.05vw,4.65rem);
    line-height:.9;
    letter-spacing:-.055em;
}

@media (max-width:1100px){
    .artist-practice{
        grid-template-columns:minmax(95px,.16fr) minmax(0,1.6fr) minmax(120px,.24fr);
        gap:26px;
    }
    .artist-practice-copy p:not(.artist-kicker){font-size:clamp(1.08rem,1.7vw,1.5rem);}
}

@media (max-width:960px){
    .artist-practice{
        min-height:auto;
        grid-template-columns:1fr;
        padding:92px 26px 88px;
    }
    .artist-practice-copy{max-width:850px;margin:0 auto;}
    .artist-practice-copy p:not(.artist-kicker){font-size:clamp(1.15rem,3vw,1.55rem);}
    .artwork-row[data-artwork-key^="hycenth-contradiction"] .artwork-copy h3{
        font-size:clamp(2.25rem,7.2vw,4.45rem);
        text-align:left;
    }
}

@media (max-width:768px){
    .artist-practice{padding:80px 20px 78px;}
    .artist-practice-copy p:not(.artist-kicker){font-size:clamp(1.08rem,4.4vw,1.42rem);line-height:1.5;}
    .artwork-row[data-artwork-key^="hycenth-contradiction"] .artwork-copy h3{
        font-size:clamp(1.95rem,8.4vw,3.4rem);
        letter-spacing:-.06em;
    }
}

@media (max-width:420px){
    .artwork-row[data-artwork-key^="hycenth-contradiction"] .artwork-copy h3{
        font-size:clamp(1.72rem,8.1vw,2.35rem);
    }
}


/* ==========================================================
   O5 CURATED V34 — HEPH / FUNCTIONAL ART
   ========================================================== */
.artist-page[data-artist="temitope"] .artist-portrait{
    filter:drop-shadow(0 35px 55px rgba(0,0,0,.38));
}
.artist-portrait-natural{
    object-position:center;
}
.artwork-gallery-wrap{
    min-height:760px;
}
.artwork-gallery{
    position:relative;
    width:min(690px,48vw);
    height:680px;
}
.artwork-gallery img{
    position:absolute;
    display:block;
    object-fit:cover;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 34px 70px rgba(0,0,0,.36);
}
.artwork-gallery-main{
    width:72%;
    height:76%;
    left:0;
    top:7%;
    z-index:3;
}
.artwork-gallery-secondary{
    width:39%;
    height:40%;
    right:0;
}
.artwork-gallery-secondary-a{
    top:0;
    z-index:2;
}
.artwork-gallery-secondary-b{
    bottom:4%;
    z-index:4;
}
.artist-page[data-artist="temitope"] .artwork-copy h3{
    white-space:nowrap;
    font-size:clamp(4rem,6vw,7.5rem);
}
@media(max-width:960px){
    .artwork-gallery-wrap{min-height:660px;}
    .artwork-gallery{
        width:min(680px,82vw);
        height:600px;
        margin:0 auto;
    }
}
@media(max-width:768px){
    .artwork-gallery-wrap{min-height:500px;}
    .artwork-gallery{
        width:min(92vw,520px);
        height:455px;
    }
    .artist-page[data-artist="temitope"] .artwork-copy h3{
        font-size:clamp(3rem,14vw,5rem);
    }
}
@media(max-width:480px){
    .artwork-gallery-wrap{min-height:420px;}
    .artwork-gallery{height:390px;}
}

/* O5 V35 — keep Temitope El-Shabazz on one line across breakpoints. */
.artist-page[data-artist="temitope"] .temitope-artist-name{
    white-space:nowrap;
    text-wrap:nowrap;
    overflow-wrap:normal;
    font-size:clamp(3rem,6vw,7.2rem);
    letter-spacing:-.055em;
}
@media(max-width:960px){
    .artist-page[data-artist="temitope"] .temitope-artist-name{
        font-size:clamp(2.65rem,8.2vw,5rem);
    }
}
@media(max-width:600px){
    .artist-page[data-artist="temitope"] .temitope-artist-name{
        font-size:clamp(1.7rem,8.6vw,3.2rem);
        letter-spacing:-.06em;
    }
}


/* ==========================================================
   O5 CURATED V36 — SEGUNBY.ART
   ========================================================== */
.artist-page[data-artist="segunby"] .artist-hero-copy h1{
    white-space:nowrap;
    text-wrap:nowrap;
    overflow-wrap:normal;
    font-size:clamp(4rem,7vw,8.4rem);
}

.segunby-hero-art{
    background:#090909;
    display:grid;
    place-items:center;
}

.artist-page[data-artist="segunby"] .segunby-hero-art .artist-portrait{
    width:min(600px,42vw);
    height:auto;
    max-height:76vh;
    object-fit:cover;
    filter:drop-shadow(0 35px 55px rgba(0,0,0,.38));
}

.segunby-artwork-image-wrap{
    min-height:720px;
    display:grid;
    place-items:center;
}

.segunby-artwork-image{
    width:min(700px,48vw);
    max-height:720px;
    aspect-ratio:1 / 1;
    object-fit:contain;
    background:#090909;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 34px 70px rgba(0,0,0,.36);
}

.artist-page[data-artist="segunby"] .artwork-copy h3{
    white-space:nowrap;
    text-wrap:nowrap;
    overflow-wrap:normal;
    font-size:clamp(3.4rem,5.2vw,6.6rem);
}

@media(max-width:900px){
    .artist-page[data-artist="segunby"] .artist-hero-copy h1{
        font-size:clamp(3rem,10vw,5.4rem);
    }

    .segunby-artwork-image-wrap{
        min-height:600px;
    }

    .segunby-artwork-image{
        width:min(720px,82vw);
        max-height:620px;
    }
}

@media(max-width:600px){
    .artist-page[data-artist="segunby"] .artist-hero-copy h1{
        font-size:clamp(2.15rem,11.6vw,4rem);
        letter-spacing:-.055em;
    }

    .segunby-artwork-image-wrap{
        min-height:430px;
    }

    .segunby-artwork-image{
        width:min(92vw,440px);
        max-height:440px;
    }

    .artist-page[data-artist="segunby"] .artwork-copy h3{
        font-size:clamp(2.3rem,11.6vw,4.2rem);
    }
}


/* O5 V38 — FAHDO BELLO / artwork-led hero in lieu of a supplied portrait. */
.artist-page[data-artist="fahdo-bello"] .fahdo-hero-art .artist-portrait{
    width:min(700px,48vw);
    max-height:76vh;
    object-fit:contain;
    border:0;
    background:rgba(255,255,255,.015);
}
.artist-page[data-artist="fahdo-bello"] .artist-hero-copy h1{
    font-size:clamp(4.6rem,8.1vw,9rem);
    line-height:.84;
}
.fahdo-artwork-image-wrap{background:rgba(255,255,255,.015);}
.fahdo-artwork-image{width:min(700px,48vw);max-height:80vh;object-fit:contain;}
@media(max-width:960px){
    .artist-page[data-artist="fahdo-bello"] .fahdo-hero-art .artist-portrait{width:min(700px,80vw);max-height:60vh;}
    .fahdo-artwork-image{width:min(700px,78vw);max-height:68vh;}
}
@media(max-width:768px){
    .artist-page[data-artist="fahdo-bello"] .artist-hero-copy h1{font-size:clamp(4.2rem,18vw,6.8rem);}
    .fahdo-artwork-image{width:min(88vw,560px);max-height:58vh;}
}
