/* Text Focus — typography-first editorial poster; use Core Text Left / Media Right.
   All selectors are isolated; media sizing and independent X/Y stay with Core. */
.bjc-studio-design-core-designs-text-focus {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:#f5d9c4;
    border-radius:clamp(18px,3vw,46px) clamp(18px,3vw,46px) 100px 12px;
}
.bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-inner {
    position:relative;
    isolation:isolate;
    max-width:1380px;
    margin-inline:auto;
    min-height:clamp(480px,48vw,710px);
    padding:clamp(32px,5vw,76px);
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(220px,.8fr);
    align-items:center;
    column-gap:clamp(20px,3vw,52px);
}
/* Offset, oversized arch provides a distinctive backdrop for the small media. */
.bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-inner::before {
    content:"";
    position:absolute;
    z-index:-1;
    width:clamp(250px,40%,540px);
    aspect-ratio:3/4;
    right:clamp(-85px,-3vw,-15px);
    top:clamp(16px,4vw,65px);
    background:#4b4a89;
    border-radius:48% 48% 12px 12px;
    transform:rotate(8deg);
    pointer-events:none;
}
.bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-inner::after {
    content:"";
    position:absolute;
    z-index:-1;
    width:clamp(95px,14vw,190px);
    aspect-ratio:1;
    border:clamp(14px,2vw,27px) solid #d24f37;
    border-radius:50%;
    bottom:clamp(-95px,-5vw,-35px);
    left:clamp(-55px,-2vw,-15px);
    pointer-events:none;
}
.bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-copy {
    position:relative;
    z-index:1;
    grid-column:1;
    grid-row:1;
    justify-self:start;
    min-width:0;
    width:100%;
    max-width:800px;
    padding:clamp(16px,2vw,30px) 0;
    border-top:7px solid #d24f37;
}
.bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-media {
    top:clamp(115px,14vw,210px);
    left:auto;
    right:clamp(20px,4vw,64px);
    max-width:calc(29% - 10px);
    margin:0;
    /* Core controls media width, media shape, frame and X/Y transforms. */
}
.bjc-studio-design-core-designs-text-focus .bjc-studio-eyebrow {
    color:#b83f31;
    text-transform:uppercase;
    font-family:Arial,Helvetica,sans-serif;
    font-weight:800;
    letter-spacing:.24em;
}
.bjc-studio-design-core-designs-text-focus .bjc-studio-heading {
    color:#222a3b;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(44px,6vw,92px);
    font-weight:700;
    line-height:.99;
    letter-spacing:-.055em;
    overflow-wrap:break-word;
}
.bjc-studio-design-core-designs-text-focus .bjc-studio-subheading {
    color:#963f34;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(19px,2.1vw,28px);
}
.bjc-studio-design-core-designs-text-focus .bjc-studio-body {color:#343f50;max-width:55ch;}
@media(max-width:767px) {
    .bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-inner {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        min-height:0;
        padding:clamp(24px,6vw,42px);
        gap:clamp(24px,5vw,40px);
    }
    .bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-inner::before {
        width:65%;
        right:-14%;
        top:auto;
        bottom:4%;
    }
    .bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-copy {
        width:min(var(--bjc-studio-text-width),100%);
        max-width:100%;
        padding:18px 0 0;
    }
    .bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-heading {
        font-size:clamp(38px,9vw,64px);
    }
    .bjc-studio-design-core-designs-text-focus.bjc-studio-arrangement-text-left .bjc-studio-media {
        position:relative;
        top:auto;
        right:auto;
        left:auto;
        max-width:65%;
        align-self:flex-end;
        margin:0 6% 20px 0;
    }
}
