/* Editorial Work page: image-led, honest capability studies, and a strict 4/8px rhythm. */
.wp-block-group.bb-work-page {
    width: auto;
    max-width: none;
    margin: 0 calc(-1 * var(--bb-page-gutter));
    overflow: hidden;
    background: var(--wp--preset--color--canvas);
}
.bb-work-page > * { margin-block: 0 !important; }
.bb-work-page :is(h1,h2,h3,p) { margin-block-end: 0; }
.bb-work-page :is(h1, h2, h3, h4, h5, h6) em {
    font-family: var(--wp--preset--font-family--cormorant-garamond);
    font-weight: inherit;
}
.bb-work-results { padding: var(--wp--preset--spacing--96) var(--bb-page-gutter) var(--wp--preset--spacing--64); }
.bb-work-results__inner > * { margin: 0; }
.bb-work-results h1 { max-width: 900px; margin-block-start: var(--wp--preset--spacing--24); font-size: clamp(3rem,5vw,5rem); font-weight: 400; line-height: 1.02; letter-spacing: -.045em; }
.bb-work-results__lead { max-width: 640px; margin-block-start: var(--wp--preset--spacing--24); color: var(--wp--preset--color--secondary); font-size: var(--wp--preset--font-size--medium); }
.bb-work-results__all { display: inline-flex; margin-block-start: var(--wp--preset--spacing--32); color: var(--wp--preset--color--ink); font-weight: 500; text-decoration: none; }
.bb-work-results__all:hover { color: var(--wp--preset--color--accent-text); }
.wp-block-group.bb-work-showcase { padding: var(--wp--preset--spacing--96) var(--bb-page-gutter); background: var(--wp--custom--color--black--50); }
.bb-work-showcase__inner > .bb-work-label { margin-block-end: var(--wp--preset--spacing--40); }
.bb-work-projects {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: var(--wp--preset--spacing--96) var(--wp--preset--spacing--24);
}
.bb-work-project { min-width: 0; }
.bb-work-project--featured { grid-column: 1 / -1; }
.bb-work-project__media {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--wp--preset--spacing--24);
    background: var(--wp--preset--color--ink);
    color: inherit;
    text-decoration: none;
}
.bb-work-project > p:empty { display: none; }
.bb-work-project__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s cubic-bezier(.2,.7,.2,1);
}
.bb-work-project:hover .bb-work-project__media img { transform: scale(1.025); }
.bb-work-project--featured .bb-work-project__media { aspect-ratio: 3 / 1.55; }
.bb-work-project__index {
    position: absolute;
    top: var(--wp--preset--spacing--24);
    right: var(--wp--preset--spacing--24);
    display: grid;
    place-items: center;
    width: var(--wp--preset--spacing--48);
    height: var(--wp--preset--spacing--48);
    border-radius: 50%;
    background: var(--wp--preset--color--canvas);
    color: var(--wp--preset--color--ink);
    font-size: 16px;
    font-weight: 600;
}
.bb-work-project__meta {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(260px, 4fr);
    gap: var(--wp--preset--spacing--64);
    margin-block-start: var(--wp--preset--spacing--32);
}
.bb-work-project__eyebrow { margin: 0 0 var(--wp--preset--spacing--12); font-size: var(--wp--preset--font-size--label); font-weight: 600; line-height: 1.6; letter-spacing: .08em; }
.bb-work-project__meta h2 { max-width: 760px; margin: 0; font-size: 3rem; font-weight: 400; line-height: 1.166667; letter-spacing: -.035em; }
.bb-work-project__meta h2 a { color: inherit; text-decoration: none; }
.bb-work-project__meta h2 a:hover { color: var(--wp--preset--color--accent-text); }
.bb-work-project__summary { align-self: end; }
.bb-work-project__summary p { margin: 0; color: var(--wp--preset--color--secondary); line-height: 1.5; }
.bb-work-project__cta {
    display: inline-flex;
    align-items: center;
    gap: var(--wp--preset--spacing--12);
    margin-block-start: var(--wp--preset--spacing--20);
    padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16);
    border-radius: 999px;
    background: var(--wp--preset--color--ink);
    color: var(--wp--preset--color--canvas);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 500;
    text-decoration: none;
}
.bb-work-project__cta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .2s ease; }
.bb-work-project__cta:hover { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--ink); }
.bb-work-project__cta:hover svg { transform: translate(2px,-2px); }
.bb-work-project__tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--8);
    margin: var(--wp--preset--spacing--24) 0 0;
    padding: 0;
    list-style: none;
}
.bb-work-project__tags li { padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--16); border: 1px solid var(--wp--preset--color--border); border-radius: 999px; font-size: var(--wp--preset--font-size--small); line-height: 1.571429; }
.bb-work-projects > .bb-work-project:not(.bb-work-project--featured) .bb-work-project__media { aspect-ratio: 4 / 3.25; }
.bb-work-projects > .bb-work-project:not(.bb-work-project--featured) .bb-work-project__meta { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--16); }
.bb-work-projects > .bb-work-project:not(.bb-work-project--featured) .bb-work-project__meta h2 { font-size: 2rem; line-height: 1.25; }
.bb-work-projects__empty { grid-column: 1 / -1; padding: var(--wp--preset--spacing--64); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--preset--spacing--24); text-align: center; }

.wp-block-group.bb-work-principle { padding: var(--wp--preset--spacing--96) var(--bb-page-gutter); }
.bb-work-principle h2 { margin: var(--wp--preset--spacing--40) 0 0; color: var(--wp--preset--color--canvas); font-size: clamp(4.5rem,8vw,8rem); line-height: .9; letter-spacing: -.055em; }
.bb-work-principle h2 em { color: var(--wp--preset--color--accent); }
.bb-work-principle__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--wp--preset--spacing--24); margin-block-start: var(--wp--preset--spacing--80); }
.bb-work-principle__grid article { padding: var(--wp--preset--spacing--24); border: 1px solid rgba(255,255,255,.18); border-radius: var(--wp--preset--spacing--16); }
.bb-work-principle__grid span { color: var(--wp--preset--color--accent); font-size: 16px; font-weight: 600; }
.bb-work-principle__grid h3 { margin: var(--wp--preset--spacing--32) 0 0; color: var(--wp--preset--color--canvas); }
.bb-work-principle__grid p { margin-block-start: var(--wp--preset--spacing--12); color: var(--wp--custom--color--black--200); }

.wp-block-group.bb-work-cta { padding: var(--wp--preset--spacing--96) var(--bb-page-gutter); }
.bb-work-cta__inner { max-width: 920px; margin-inline: auto; text-align: center; }
.bb-work-cta h2 { margin: var(--wp--preset--spacing--32) 0 0; font-size: 4.5rem; line-height: 1.111111; letter-spacing: -.04em; }
.bb-work-cta h2 em { color: var(--wp--preset--color--accent-text); }
.bb-work-cta__inner > p:not(.bb-work-label) { max-width: 680px; margin: var(--wp--preset--spacing--24) auto 0; color: var(--wp--preset--color--body); font-size: var(--wp--preset--font-size--medium); }
.bb-work-cta .wp-block-buttons { justify-content: center; margin-block-start: var(--wp--preset--spacing--40); }

.bb-work-reveal { opacity: 0; transform: translateY(var(--wp--preset--spacing--32)); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.bb-work-reveal.is-visible { opacity: 1; transform: none; }

/* Individual, editor-driven Work project pages. */
.wp-block-group.bb-work-single { width: auto; max-width: none; margin: 0 calc(-1 * var(--bb-page-gutter)); background: var(--wp--preset--color--canvas); }
.bb-work-single__header { padding: var(--wp--preset--spacing--96) var(--bb-page-gutter) var(--wp--preset--spacing--64); }
.bb-work-single__terms { color: var(--wp--preset--color--accent-text); font-size: var(--wp--preset--font-size--label); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.bb-work-single__header h1 { max-width: 1000px; margin: var(--wp--preset--spacing--24) 0 0; font-size: clamp(3.5rem,5vw,5.5rem); line-height: 1.02; letter-spacing: -.045em; }
.bb-work-single__header .wp-block-post-excerpt { max-width: 720px; margin-block-start: var(--wp--preset--spacing--32); color: var(--wp--preset--color--secondary); font-size: 16px; }
.bb-work-single__media { aspect-ratio: 16 / 8; margin: 0; overflow: hidden; border-radius: var(--wp--preset--spacing--24); background: var(--wp--preset--color--ink); }
.bb-work-single__media img { width: 100%; height: 100%; object-fit: cover; }
.bb-work-single__content { padding-block: var(--wp--preset--spacing--80); }
.bb-work-single__content > * + * { margin-block-start: var(--wp--preset--spacing--24); }
.bb-work-single__content h2 { margin-block-start: var(--wp--preset--spacing--64); }
.bb-work-single__back { padding: 0 var(--bb-page-gutter) var(--wp--preset--spacing--96); }
.bb-work-single__back a { color: var(--wp--preset--color--ink); font-weight: 500; }

@media (max-width: 900px) {
    .bb-work-project__meta { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40); }
    .bb-work-project--featured .bb-work-project__media { aspect-ratio: 16 / 10; }
    .bb-work-project__summary { max-width: 640px; }
}

@media (max-width: 600px) {
    .bb-work-results { padding: var(--wp--preset--spacing--64) var(--bb-page-gutter) var(--wp--preset--spacing--48); }
    .bb-work-results h1 { font-size: 2.5rem; }
    .wp-block-group.bb-work-showcase,
    .wp-block-group.bb-work-principle,
    .wp-block-group.bb-work-cta { padding: var(--wp--preset--spacing--64) var(--bb-page-gutter); }
    .bb-work-project--featured .bb-work-project__media,
    .bb-work-projects > .bb-work-project:not(.bb-work-project--featured) .bb-work-project__media { aspect-ratio: 4 / 3; }
    .bb-work-project__index { top: var(--wp--preset--spacing--16); right: var(--wp--preset--spacing--16); }
    .bb-work-project__meta { margin-block-start: var(--wp--preset--spacing--24); gap: var(--wp--preset--spacing--16); }
    .bb-work-project__meta h2,
    .bb-work-projects > .bb-work-project:not(.bb-work-project--featured) .bb-work-project__meta h2 { font-size: var(--wp--preset--font-size--large); line-height: 1.333333; }
    .bb-work-projects { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--64); }
    .bb-work-project--featured { grid-column: auto; }
    .bb-work-principle h2, .bb-work-cta h2 { font-size: 3rem; line-height: 1.02; }
    .bb-work-principle__grid { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--40); margin-block-start: var(--wp--preset--spacing--64); }
    .bb-work-single__header { padding-block: var(--wp--preset--spacing--64); }
    .bb-work-single__header h1 { font-size: 3rem; }
    .bb-work-single__media { border-radius: var(--wp--preset--spacing--16); }
}

@media (prefers-reduced-motion: reduce) {
    .bb-work-reveal { opacity: 1; transform: none; transition: none; }
    .bb-work-project__media img { transition: none; }
}
