.sfx-band--page.sfx-halftone{--halftone-opacity:.16;--halftone-cell:14px}

.case-open{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gutter);row-gap:clamp(1.25rem,2.5vw,2rem)}
.case-open__meta{grid-column:1 / -1;display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}
.case-open__where{font-size:var(--type-body-sm);color:var(--text-secondary)}
.case-open__title{grid-column:1 / span 9;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-display-lg);line-height:var(--leading-display);letter-spacing:var(--tracking-display-lg);color:var(--text-primary);max-width:22ch}
.case-open__back{grid-column:1 / -1}

.case-back{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--type-body-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--dur-xs) var(--ease-standard)}
.case-back .sfx-icon{transition:transform var(--dur-sm) var(--ease-out-expo)}
.case-back:hover{color:var(--text-accent)}
.case-back:hover .sfx-icon{transform:translate(-4px,0)}
.case-back span{border-bottom:1px solid transparent;transition:border-color var(--dur-sm) var(--ease-standard)}
.case-back:hover span{border-bottom-color:var(--text-accent)}
@media (max-width:960px){.case-open__title{grid-column:1 / -1}}

.case-part{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gutter);row-gap:var(--space-6)}
.case-part__label{grid-column:1 / span 3;align-self:start;position:sticky;top:calc(var(--header-height) + var(--space-8));font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-heading-lg);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);color:var(--text-primary)}
.case-part__body{grid-column:5 / span 7;display:flex;flex-direction:column;gap:var(--space-6)}
.case-part__body p{font-size:var(--type-body-md);line-height:var(--leading-body);color:var(--text-secondary);max-width:var(--measure-body)}
.case-part__body p:first-child{font-size:var(--type-body-lg);color:var(--text-primary)}
.sfx-band--inverse .case-part__label{color:var(--text-on-inverse)}
.sfx-band--inverse .case-part__body p{color:var(--text-on-inverse-secondary)}
.sfx-band--inverse .case-part__body p:first-child{color:var(--text-on-inverse)}
@media (max-width:860px){.case-part__label{grid-column:1 / -1;position:static}.case-part__body{grid-column:1 / -1}}

.case-next{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--grid-gutter);row-gap:var(--space-5);align-items:end;text-decoration:none;color:inherit}
.case-next__kicker{grid-column:1 / span 3;font-size:var(--type-body-sm);color:var(--text-tertiary)}
.case-next__title{grid-column:5 / span 6;font-family:var(--font-display);font-weight:var(--weight-medium);font-size:var(--type-display-sm);line-height:var(--leading-heading);letter-spacing:var(--tracking-display);color:var(--text-primary);max-width:24ch;transition:color var(--dur-xs) var(--ease-standard)}
.case-next:hover .case-next__title{color:var(--text-accent)}
.case-next__go{grid-column:12;justify-self:end;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background:var(--surface-raised);border:1px solid var(--border-hairline);color:var(--text-primary);transition:var(--transition-hover)}
.case-next:hover .case-next__go{background:var(--action-accent);border-color:var(--action-accent);color:var(--text-on-accent)}
.case-next__go .sfx-icon{transition:transform var(--dur-sm) var(--ease-out-expo)}
.case-next:hover .case-next__go .sfx-icon{transform:translate(3px,-3px)}
@media (max-width:860px){.case-next__kicker,.case-next__title{grid-column:1 / -1}.case-next__go{display:none}}