/* Artist presentation studies. Scoped to explicit preview choices. */
.layout-controls[hidden]{display:none!important}
.layout-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;border-block:1px solid var(--rule);padding:1.25rem 0;margin:0 0 2rem}
.layout-controls-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.layout-options{display:flex;flex-wrap:wrap;gap:.4rem}
.layout-options button{border:1px solid transparent;color:var(--muted);background:transparent;padding:.65rem 1rem;min-height:44px;font-size:.9rem;transition:background .2s,color .2s}
.layout-options button:hover{color:var(--ink);border-color:var(--rule)}
.layout-options button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.layout-description{flex-basis:100%;max-width:54rem;font-size:.95rem;color:var(--muted)}
.study-main .layout-controls{position:sticky;top:0;z-index:20;background:var(--paper)}
.study-header{padding:1.5rem var(--gutter);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);gap:2rem}
.study-header>a:last-child{font-size:.85rem}
.study-intro{padding-block:4rem 2.5rem}
.study-intro h1{font-size:clamp(2.7rem,5.4vw,5.4rem);line-height:1.06;letter-spacing:-.05em;margin:1rem 0}
.study-intro>p:last-child{color:var(--muted);max-width:43rem}
.study-actions{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:2.5rem}
.study-actions>p{font-size:.8rem;color:var(--muted)}
.study-main{padding-bottom:5rem}
.study-footer{border-top:1px solid var(--rule);padding:1.5rem var(--gutter);font-size:.85rem;color:var(--muted)}

/* 01 — Portrait: generous, equal-weight photographs and a quiet caption. */
.artists-grid[data-artist-style=portrait]{column-gap:clamp(2rem,5vw,5rem);row-gap:3.5rem}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured){display:flex;flex-direction:column;gap:0;border-top:0;padding:0}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .artist-image{width:100%;aspect-ratio:6/5;max-height:none;margin:0 0 1.5rem;background:#e3ddd2}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .artist-image img{object-position:center 30%}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .artist-body{display:flex;flex-direction:column;flex:1;min-width:0}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .artist-meta{font-size:.75rem;letter-spacing:.14em;padding-bottom:.8rem;margin-bottom:1rem;border-bottom:1px solid var(--rule)}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) :is(h3,h4){font-size:clamp(2rem,3.2vw,3rem);line-height:1.08;margin:0 0 .65rem;letter-spacing:-.04em}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .location{font-size:.875rem;line-height:1.55;max-width:34rem;margin-bottom:1rem}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .take{font-family:var(--serif);font-size:1.35rem;line-height:1.4;margin-bottom:1.25rem;max-width:28rem}
.artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .text-link{align-self:flex-start;margin-top:auto;min-height:44px;gap:1.5rem;padding-block:.5rem;font-size:.75rem}

/* 02 — Index: a single ordered list with clear columns and generous portraits. */
.artists-grid[data-artist-style=index]{row-gap:0}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured){position:relative;grid-column:1/-1;grid-template-columns:clamp(120px,14vw,180px) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3vw,3rem);padding:2rem 0 2rem 4.5rem}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-image{aspect-ratio:4/5;margin:0;width:100%}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr);gap:.75rem 3rem;align-items:start;min-width:0}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-meta{grid-column:1/-1;margin:0;font-size:.75rem;letter-spacing:.15em}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-meta>span:last-child{position:absolute;left:0;top:2rem;font-size:.72rem;color:var(--muted);writing-mode:vertical-rl;letter-spacing:.16em}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) :is(h3,h4){grid-column:1;grid-row:2;font-size:clamp(2rem,3.1vw,3rem);line-height:1.12;margin:0;letter-spacing:-.035em}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .location{grid-column:1;grid-row:3;font-size:.875rem;line-height:1.5;margin:0;max-width:28rem}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .take{grid-column:2;grid-row:2;font-family:var(--serif);font-size:1.45rem;line-height:1.35;max-width:22rem;margin:0}
.artists-grid[data-artist-style=index] .artist:not(.artist--featured) .text-link{grid-column:2;grid-row:3;justify-self:start;align-self:end;font-size:.75rem;min-height:44px;margin:0}

/* 03 — Feature: alternating portraits with warm, gallery-like caption panels. */
.artists-grid[data-artist-style=feature]{row-gap:3rem}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:0;align-items:stretch;padding:0;border-top:0;background:var(--stone)}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-image{width:100%;height:100%;min-height:400px;aspect-ratio:1/1;margin:0}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-image img{object-position:center 30%}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-body{display:flex;flex-direction:column;padding:clamp(2rem,4vw,4.5rem);min-width:0}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-meta{font-size:.75rem;margin-bottom:clamp(1.8rem,4vw,4rem);letter-spacing:.14em}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) :is(h3,h4){font-size:clamp(2.7rem,4.7vw,4.8rem);line-height:1.04;letter-spacing:-.05em;margin:0 0 1rem}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .location{font-size:.875rem;line-height:1.5;max-width:26rem;margin-bottom:1.6rem}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .take{font-family:var(--serif);font-style:italic;font-size:clamp(1.35rem,2.2vw,2rem);line-height:1.3;max-width:26rem;margin-bottom:2rem}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .text-link{align-self:flex-start;margin-top:auto;min-height:44px;font-size:.75rem}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even) .artist-image{grid-column:2;grid-row:1}
.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even) .artist-body{grid-column:1;grid-row:1}

@media(max-width:1000px){
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured){padding-left:2.5rem;gap:1.5rem}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-body{column-gap:1.5rem;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-image{min-height:350px}
}
@media(max-width:760px){
 .layout-controls{align-items:flex-start;gap:.8rem}
 .layout-options{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem}
 .layout-options button{padding:.6rem .4rem;font-size:.8rem}
 .layout-description{font-size:.875rem}
 .study-header{gap:1rem}.study-header>a:last-child{font-size:.75rem}
 .study-intro{padding-top:3rem}.study-actions{flex-direction:column;align-items:flex-start}
 .artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) .artist-image{aspect-ratio:1/1}
 .artists-grid[data-artist-style=portrait] .artist:not(.artist--featured) :is(h3,h4){font-size:2.5rem}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured){grid-template-columns:100px minmax(0,1fr);padding:1.5rem 0;gap:1.15rem;align-items:start}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-body{display:flex;flex-direction:column;gap:0}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-meta{width:100%;font-size:.66rem;letter-spacing:.08em;margin-bottom:.7rem;gap:.5rem;flex-wrap:wrap}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .artist-meta>span:last-child{position:static;writing-mode:horizontal-tb;font-size:.66rem;letter-spacing:.08em}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) :is(h3,h4){font-size:clamp(1.7rem,5.9vw,2.3rem);margin-bottom:.7rem}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .location{font-size:.8rem;margin-bottom:.9rem}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .take{font-size:1.1rem;margin-bottom:.8rem}
 .artists-grid[data-artist-style=index] .artist:not(.artist--featured) .text-link{font-size:.66rem;gap:1rem;align-self:flex-start}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured),.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even){grid-template-columns:minmax(0,1fr)}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-image,.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even) .artist-image{grid-column:1;grid-row:1;aspect-ratio:6/5;min-height:0;height:auto}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-body,.artists-grid[data-artist-style=feature] .artist:not(.artist--featured):nth-child(even) .artist-body{grid-column:1;grid-row:2;padding:1.75rem}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured) :is(h3,h4){font-size:2.7rem}
 .artists-grid[data-artist-style=feature] .artist:not(.artist--featured) .artist-meta{margin-bottom:1.5rem}
}
@media(prefers-reduced-motion:reduce){.layout-options button{transition:none}}
