/* roster — camp-z.com/roster/ */
.roster-hero .display,.artist-hero .display{max-width:none}
.rsec{padding:clamp(40px,6vw,80px) 0}
.rsec+.rsec{padding-top:0}
.rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(28px,3vw,44px) clamp(18px,2.4vw,32px)}
@media (max-width:1040px){.rgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.rgrid{grid-template-columns:repeat(2,1fr)}}
.rcard{display:flex;flex-direction:column;border-top:3px solid var(--ink);padding-top:14px}
.rimg{display:block;position:relative;height:0;padding-bottom:100%;background:var(--wash);margin-bottom:14px}
.rimg img{position:absolute;inset:0;margin:auto;max-width:86%;max-height:86%;width:auto;height:auto;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.rcard h3{font-size:clamp(19px,1.9vw,24px)}
.rcard h3 a{text-decoration:none}
.rcard h3 a:hover{text-decoration:underline}
.rmed{font-size:15px;color:var(--ink-2);margin-top:6px;line-height:1.4}
.rfairs{list-style:none;margin-top:10px;font-size:14px;line-height:1.45}
.rfairs li{padding-left:14px;position:relative}
.rfairs li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;background:var(--blue)}
.rfairs.big{font-size:17px;margin:22px 0 14px}
.rig{display:inline-block;margin-top:auto;padding-top:12px;font-size:15px;font-weight:600;color:var(--blue);text-decoration:none}
.rig:hover{text-decoration:underline}
.artist-hero .rig{margin-top:0;padding-top:0}
.back{margin-bottom:26px;font-size:15px}
.back a{text-decoration:none;color:var(--ink-2)}
.back a:hover{color:var(--ink)}
.fairhead{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;border-bottom:3px solid var(--ink);padding-bottom:14px;margin-bottom:clamp(24px,3vw,40px)}
.fairhead h2{font-size:clamp(28px,3.4vw,44px)}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px) clamp(20px,3vw,40px);align-items:end}
@media (max-width:900px){.wgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.wgrid{grid-template-columns:1fr}}
.wtile{margin:0}
.wimg{position:relative;height:0;padding-bottom:100%;margin-bottom:14px}
.wimg img{position:absolute;left:0;right:0;bottom:0;margin:0 auto;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.wtile h3{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:-.005em;line-height:1.25}
.wtile h3 em{font-style:italic}
.wcap{font-size:14px;color:var(--ink-2);margin-top:4px;line-height:1.45}
.wact{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:10px}
.wprice{font-family:var(--display);font-size:19px;font-weight:700}
.wbuy{font-size:15px;font-weight:600;color:var(--blue);text-decoration:none}
.wbuy:hover{text-decoration:underline}
.wsold{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--ink-2)}
.wsold::before{content:"";width:10px;height:10px;border-radius:50%;background:#c8102e}
/* artist story */
.artist-hero{padding-bottom:clamp(40px,6vw,72px)}
.story{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:820px){.story{grid-template-columns:1fr}.story-img{order:-1;max-width:520px}}
.story .display{font-size:clamp(40px,6.4vw,88px)}
.story-meta{margin-top:16px;font-size:16px;color:var(--ink-2)}
.story-about{margin-top:26px}
.story-about p{font-size:clamp(18px,1.55vw,21px);line-height:1.55;max-width:38em}
.story-about p+p{margin-top:.9em}
.story-links{margin-top:24px;font-size:15px;font-weight:600}
.story-links a{color:var(--blue);text-decoration:none}
.story-links a:hover{text-decoration:underline}
.story-img{margin:0}
.story-img img{width:100%;height:auto;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.stmt-sec{padding-top:0}
.stmt{border-top:3px solid var(--ink);padding-top:22px;max-width:780px}
.stmt h2{font-size:clamp(20px,2vw,24px);margin-bottom:16px}
.stmt p{font-size:17px;line-height:1.65;color:var(--ink)}
.stmt p+p{margin-top:.9em}
.stmt .stmt-by{margin-top:14px;font-size:15px;color:var(--ink-2)}
