/* InterfineArt V20.3 Artist Directory: compact institutional scale */
.v20-artists { --artist-max:1180px; --artist-line:rgba(255,255,255,.13); --artist-muted:#a9a49c; --artist-gold:#d7b25b; }
.v20-artists .artist-page-wrap { width:min(var(--artist-max), calc(100% - 56px)); margin:0 auto; }
.v20-artists .artist-page-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr); gap:42px; padding:38px 0 30px; border-bottom:1px solid var(--artist-line); }
.v20-artists .artist-page-intro { max-width:760px; }
.v20-artists .artist-kicker { margin:0 0 10px; color:var(--artist-gold); font-size:9px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.v20-artists .artist-page-hero h1 { margin:0; font:400 clamp(28px,2.7vw,36px)/1.02 Georgia,"Times New Roman",serif; letter-spacing:-.035em; }
.v20-artists .artist-lede { max-width:730px; margin:13px 0 0; color:#d0ccc4; font:400 13px/1.62 Arial,Helvetica,sans-serif; }
.v20-artists .artist-note { max-width:680px; margin:10px 0 0; color:#85817a; font-size:10.5px; line-height:1.55; }
.v20-artists .artist-page-overview { display:grid; align-self:start; border-top:1px solid var(--artist-line); }
.v20-artists .artist-page-overview div { display:grid; grid-template-columns:62px 1fr; gap:14px; align-items:center; padding:10px 0; border-bottom:1px solid var(--artist-line); }
.v20-artists .artist-page-overview strong { color:var(--artist-gold); font:400 21px/1 Georgia,"Times New Roman",serif; }
.v20-artists .artist-page-overview span { color:#96918a; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.v20-artists .artist-featured-section,
.v20-artists .artist-directory-section { padding:30px 0; border-bottom:1px solid var(--artist-line); }
.v20-artists .artist-section-heading { display:grid; grid-template-columns:minmax(0,.9fr) minmax(260px,.6fr); gap:50px; align-items:end; margin-bottom:17px; }
.v20-artists .artist-section-heading h2,
.v20-artists .artist-curator-bridge h2 { margin:0; font:400 clamp(20px,1.8vw,25px)/1.08 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.v20-artists .artist-section-heading>p { margin:0; color:var(--artist-muted); font-size:11px; line-height:1.55; }
.v20-artists .artist-featured-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.v20-artists .artist-feature-card { appearance:none; position:relative; overflow:hidden; min-height:236px; padding:0; color:#f3efe7; text-align:left; background:#0e1115; border:1px solid var(--artist-line); cursor:pointer; }
.v20-artists .artist-feature-card:hover,
.v20-artists .artist-feature-card:focus-visible { border-color:rgba(215,178,91,.55); }
.v20-artists .artist-feature-image { height:150px; background:#11151a; overflow:hidden; }
.v20-artists .artist-feature-image img { width:100%; height:100%; object-fit:cover; filter:saturate(.94); transition:transform .25s ease; }
.v20-artists .artist-feature-card:hover img { transform:scale(1.025); }
.v20-artists .artist-feature-placeholder { display:grid; place-items:center; width:100%; height:100%; color:rgba(215,178,91,.76); background:linear-gradient(145deg,#171a1f,#0b0d10); font:400 38px/1 Georgia,"Times New Roman",serif; }
.v20-artists .artist-feature-copy { padding:11px 12px 12px; }
.v20-artists .artist-feature-copy strong { display:block; font:400 14px/1.2 Georgia,"Times New Roman",serif; }
.v20-artists .artist-feature-copy span { display:block; margin-top:4px; color:#9f9a92; font-size:9.5px; line-height:1.4; }
.v20-artists .artist-controls { display:flex; gap:16px; align-items:end; justify-content:space-between; padding:12px 0; border-top:1px solid var(--artist-line); border-bottom:1px solid var(--artist-line); }
.v20-artists .artist-search { width:min(410px,100%); }
.v20-artists .artist-search span { display:block; margin-bottom:5px; color:#9d9890; font-size:8.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.v20-artists .artist-search input { width:100%; height:34px; padding:0 10px; color:#f3efe7; background:#0c0f12; border:1px solid rgba(255,255,255,.17); outline:none; font-size:11px; }
.v20-artists .artist-search input:focus { border-color:rgba(215,178,91,.7); }
.v20-artists .artist-filter-row { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.v20-artists .artist-filter,
.v20-artists .artist-alphabet button { appearance:none; min-height:29px; padding:0 9px; color:#b8b3aa; background:#0c0f12; border:1px solid rgba(255,255,255,.15); font-size:9px; cursor:pointer; }
.v20-artists .artist-filter:hover,
.v20-artists .artist-filter:focus-visible,
.v20-artists .artist-filter.is-active,
.v20-artists .artist-alphabet button:hover,
.v20-artists .artist-alphabet button:focus-visible,
.v20-artists .artist-alphabet button.is-active { color:#0a0a0a; background:var(--artist-gold); border-color:var(--artist-gold); }
.v20-artists .artist-alphabet { display:flex; gap:4px; flex-wrap:wrap; padding:10px 0 13px; }
.v20-artists .artist-alphabet button { min-width:28px; padding:0 7px; }
.v20-artists .artist-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.v20-artists .artist-card { position:relative; min-height:94px; color:#f4f0e8; background:#0d1014; border:1px solid var(--artist-line); }
.v20-artists .artist-card:hover { background:#11151a; border-color:rgba(215,178,91,.5); }
.v20-artists .artist-card.is-featured { border-color:rgba(215,178,91,.3); }
.v20-artists .artist-card-open { appearance:none; display:grid; grid-template-columns:72px minmax(0,1fr) 20px; gap:11px; align-items:center; width:100%; min-height:94px; padding:9px 38px 9px 9px; color:inherit; text-align:left; background:transparent; border:0; cursor:pointer; }
.v20-artists .artist-card-open:focus-visible { outline:1px solid rgba(215,178,91,.72); outline-offset:-2px; }
.v20-artists .artist-card-media { width:72px; height:72px; overflow:hidden; background:#15191e; }
.v20-artists .artist-card-media img { width:100%; height:100%; object-fit:cover; }
.v20-artists .artist-card-placeholder { display:grid; place-items:center; width:100%; height:100%; color:rgba(215,178,91,.76); font:400 24px/1 Georgia,"Times New Roman",serif; background:linear-gradient(145deg,#171b20,#0b0d10); }
.v20-artists .artist-card-copy { min-width:0; }
.v20-artists .artist-card-copy strong { display:block; overflow:hidden; font:400 13px/1.2 Georgia,"Times New Roman",serif; text-overflow:ellipsis; white-space:nowrap; }
.v20-artists .artist-card-copy>span { display:block; margin-top:4px; overflow:hidden; color:#a19c94; font-size:9px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.v20-artists .artist-card-copy small { display:-webkit-box; margin-top:5px; overflow:hidden; color:#75716b; font-size:8.5px; line-height:1.35; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.v20-artists .artist-card-arrow { align-self:center; color:#706c66; font-size:13px; }
.v20-artists .artist-social-icon { display:inline-grid; place-items:center; width:27px; height:27px; padding:0; color:#aaa49a; background:#0b0e11; border:1px solid rgba(255,255,255,.16); text-decoration:none; }
.v20-artists .artist-social-icon svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.7; }
.v20-artists .artist-social-icon:hover,.v20-artists .artist-social-icon:focus-visible { color:#0a0a0a; background:var(--artist-gold); border-color:var(--artist-gold); }
.v20-artists .artist-card-instagram { position:absolute; top:50%; right:8px; transform:translateY(-50%); z-index:2; }
.v20-artists .artist-status { display:inline-block; margin-left:6px; padding:2px 5px; color:#9f9a92; border:1px solid rgba(255,255,255,.15); font:600 7.5px/1.15 Arial,Helvetica,sans-serif; letter-spacing:.07em; text-transform:uppercase; vertical-align:middle; }
.v20-artists .artist-card-copy .artist-status { margin:5px 0 0; font-style:normal; }
.v20-artists .artist-status-active { color:#b9b3aa; }
.v20-artists .artist-status-retired { color:#c4a968; border-color:rgba(215,178,91,.28); }
.v20-artists .artist-status-deceased { color:#a5a19a; border-color:rgba(255,255,255,.12); }
.v20-artists .artist-empty { margin:0; padding:24px; color:#96918a; text-align:center; border:1px solid var(--artist-line); font-size:11px; }
.v20-artists .artist-curator-bridge { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; padding:30px 0 34px; }
.v20-artists .artist-curator-bridge>div:last-child p { max-width:650px; margin:0 0 12px; color:#a9a49c; font-size:11px; line-height:1.6; }
.v20-artists .artist-curator-bridge a { color:var(--artist-gold); font-size:10px; font-weight:700; text-decoration:none; }
.v20-artists .artist-dialog { width:min(900px,calc(100% - 32px)); max-height:88vh; padding:0; color:#f4f0e8; background:#0b0e11; border:1px solid rgba(215,178,91,.38); box-shadow:0 24px 70px rgba(0,0,0,.55); }
.v20-artists .artist-dialog::backdrop { background:rgba(0,0,0,.76); backdrop-filter:blur(3px); }
.v20-artists .artist-dialog-close { position:absolute; top:10px; right:12px; z-index:3; width:30px; height:30px; color:#ddd6cb; background:rgba(0,0,0,.48); border:1px solid rgba(255,255,255,.2); font-size:20px; cursor:pointer; }
.v20-artists .artist-dialog-layout { display:grid; grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr); min-height:410px; }
.v20-artists .artist-dialog-media { min-height:410px; background:#11151a; }
.v20-artists .artist-dialog-media img { width:100%; height:100%; max-height:620px; object-fit:cover; }
.v20-artists .artist-dialog-media .artist-card-placeholder { min-height:410px; font-size:62px; }
.v20-artists .artist-dialog-copy { overflow:auto; padding:38px 36px 34px; }
.v20-artists .artist-dialog-copy h2 { margin:0; font:400 clamp(24px,2.3vw,31px)/1.05 Georgia,"Times New Roman",serif; }
.v20-artists .artist-profile-discipline { margin:8px 0 0; color:#c6c1b8; font-size:11px; }
.v20-artists .artist-profile-location { margin:5px 0 0; color:#807c75; font-size:9.5px; letter-spacing:.05em; text-transform:uppercase; }
.v20-artists .artist-profile-text { margin-top:22px; color:#c4bfb6; font:400 12px/1.7 Georgia,"Times New Roman",serif; white-space:pre-line; }
.v20-artists .artist-profile-links { display:flex; gap:7px; flex-wrap:wrap; margin-top:24px; padding-top:15px; border-top:1px solid var(--artist-line); }
.v20-artists .artist-profile-links a { padding:7px 10px; color:#e4dfd5; border:1px solid rgba(255,255,255,.18); font-size:9px; text-decoration:none; }
.v20-artists .artist-profile-links .artist-social-icon { width:30px; height:30px; padding:0; }
.v20-artists .artist-profile-links a:hover { color:#0a0a0a; background:var(--artist-gold); border-color:var(--artist-gold); }
@media(max-width:980px){
  .v20-artists .artist-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v20-artists .artist-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .v20-artists .artist-page-wrap{width:min(100% - 32px,var(--artist-max))}
  .v20-artists .artist-page-hero,.v20-artists .artist-section-heading,.v20-artists .artist-curator-bridge{grid-template-columns:1fr;gap:20px}
  .v20-artists .artist-page-hero{padding:28px 0 24px}
  .v20-artists .artist-page-overview{grid-template-columns:repeat(3,1fr)}
  .v20-artists .artist-page-overview div{grid-template-columns:1fr;gap:5px;padding:9px 8px;border-right:1px solid var(--artist-line)}
  .v20-artists .artist-page-overview div:last-child{border-right:0}
  .v20-artists .artist-controls{align-items:stretch;flex-direction:column}
  .v20-artists .artist-filter-row{justify-content:flex-start}
  .v20-artists .artist-dialog-layout{grid-template-columns:1fr}
  .v20-artists .artist-dialog-media{min-height:250px;max-height:330px}
  .v20-artists .artist-dialog-copy{padding:28px 24px 26px}
}
@media(max-width:520px){
  .v20-artists .artist-directory-grid,.v20-artists .artist-featured-grid{grid-template-columns:1fr}
  .v20-artists .artist-card{min-height:84px}
  .v20-artists .artist-card-open{grid-template-columns:64px minmax(0,1fr) 18px;min-height:84px}
  .v20-artists .artist-card-media{width:64px;height:64px}
  .v20-artists .artist-page-overview{grid-template-columns:1fr}
  .v20-artists .artist-page-overview div{grid-template-columns:54px 1fr;border-right:0}
}
