/* Phase 2: uploaded prototype artist index adapted to live PHP data. */
.ux-proto-artist-hero{padding:64px 0 44px}
.ux-proto-artist-hero-inner{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.ux-proto-artist-hero h1{margin:0;font-family:var(--g-font-display);font-size:var(--g-fs-page-title);font-weight:600;letter-spacing:.01em;line-height:1.08}
.ux-proto-artist-hero .lede{max-width:560px;margin:22px 0 0;color:var(--g-text-soft);font-size:1.02rem;line-height:1.7}
.search-bar{display:flex;align-items:center;gap:12px;max-width:420px;width:100%;margin:0;border:1px solid var(--g-line-strong);border-radius:2px;padding:0 18px;background:transparent;box-sizing:border-box}
.search-bar *{box-sizing:border-box}
.search-bar button{width:18px;height:18px;padding:0;border:0;background:transparent;color:var(--g-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}
.search-bar button svg{width:16px;height:16px}
.search-bar input[type=text]{width:100%;min-width:0;min-height:48px;border:0;outline:0;background:transparent;color:var(--g-text);font:400 .92rem/1.3 var(--g-font-sans)}
.search-bar:focus-within{border-color:var(--g-gold)}

.ux-proto-artists-section{padding-top:0}
.az-bar{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:30px;font-size:.82rem;color:var(--g-muted)}
.az-bar a{color:var(--g-muted);text-decoration:none;padding-bottom:2px}
.az-bar a:hover,.az-bar a:focus-visible,.az-bar a.active{color:var(--g-gold);font-weight:700;border-bottom:2px solid var(--g-gold)}

.artists-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:start}
.ux-proto-artist-sidebar{position:sticky;top:112px}
.filter-box{background:var(--g-surface-soft);border:1px solid var(--g-line);border-radius:2px;padding:26px}
.filter-box h4{margin:0 0 16px;font-family:var(--g-font-sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.filter-box ul{list-style:none;padding:0;margin:0}
.filter-box li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:9px 0;border-bottom:1px solid var(--g-line);font-size:.9rem}
.filter-box li:last-child{border-bottom:0}
.filter-box li a{color:var(--g-text-soft);text-decoration:none}
.filter-box li span{color:var(--g-muted);font-size:.82rem}
.filter-box li.active a{color:var(--g-gold);font-weight:600}
.filter-box li:hover a{color:var(--g-gold)}

.newsletter-box{margin-top:22px;background:var(--g-surface-soft);border:1px solid var(--g-line);border-radius:2px;padding:26px}
.newsletter-box .icon{width:32px;height:32px;color:var(--g-gold);margin-bottom:14px}
.newsletter-box .icon svg{width:100%;height:100%;display:block}
.ux-archive-box strong{display:block;font-family:var(--g-font-display);font-size:2rem;line-height:1;color:var(--g-gold-deep);margin-bottom:8px}
.newsletter-box p{margin:0;color:var(--g-text-soft);font-size:.88rem;line-height:1.55}

.ux-proto-artist-results{min-width:0}
.results-meta{margin:-2px 0 18px;color:var(--g-muted);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.people-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 20px}
.person-card{display:block;color:inherit;text-decoration:none;min-width:0}
.person-card .photo{aspect-ratio:1/1.05;border-radius:2px;overflow:hidden;margin-bottom:14px;background:var(--g-surface-soft)}
.person-card .photo img{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1) contrast(1.03);transition:filter .25s ease,transform .3s ease}
.person-card:hover .photo img,.person-card:focus-visible .photo img{filter:grayscale(0);transform:scale(1.015)}
.person-card .name{font-family:var(--g-font-display);font-size:.98rem;font-weight:700;letter-spacing:.02em;line-height:1.3;text-transform:uppercase}
.person-card .yr{font-size:.8rem;color:var(--g-muted);margin-top:4px}
.person-card .role{font-size:.8rem;color:var(--g-muted);min-height:1.3em}
.person-card .rule{width:26px;height:2px;border:0;background:var(--g-gold);margin:10px 0 0}

.callout-box{display:flex;align-items:center;gap:18px;margin-top:44px;padding:22px 24px;background:var(--g-surface-soft);border:1px solid var(--g-line);border-radius:2px}
.callout-box .icon{width:38px;height:38px;border-radius:50%;background:var(--g-surface);border:1px solid var(--g-line-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--g-gold)}
.callout-box .icon svg{width:17px;height:17px}
.callout-box p{flex:1;margin:0;font-size:.86rem;color:var(--g-text-soft);line-height:1.55}
.link-arrow{display:inline-flex;align-items:center;gap:8px;color:var(--g-text);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--g-text);padding-bottom:3px;white-space:nowrap}
.link-arrow svg{width:14px;height:14px;transition:transform .2s ease}
.link-arrow:hover,.link-arrow:focus-visible{color:var(--g-gold);border-color:var(--g-gold)}
.link-arrow:hover svg,.link-arrow:focus-visible svg{transform:translateX(4px)}

/* Artist detail remains on the live data layout for this phase. */
.ux-artist-hero{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);gap:70px;align-items:center;padding:48px 0 58px;border-bottom:1px solid var(--g-line)}
.ux-artist-portrait{width:min(100%,520px);aspect-ratio:4/5;overflow:hidden;background:var(--g-surface-soft);border:1px solid var(--g-line)}
.ux-artist-portrait img{width:100%;height:100%;display:block;object-fit:cover}
.ux-artist-hero-copy{padding-right:4vw}
.ux-artist-hero-copy .g-title{max-width:800px}
.ux-artist-subtitle{margin:18px 0 0;color:var(--g-text-soft);font-size:1.2rem;line-height:1.5}
.ux-artist-meta{display:flex;gap:9px 16px;flex-wrap:wrap;margin-top:18px;color:var(--g-muted);font-size:.8rem}
.ux-artist-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}
.ux-artist-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);gap:64px;padding:52px 0 68px}
.ux-artist-bio{font-family:var(--g-font-display);font-size:1.22rem;line-height:1.78;color:var(--g-text-soft)}
.ux-artist-bio p:first-child{margin-top:0}
.ux-artist-rail{padding-left:28px;border-left:1px solid var(--g-line)}
.ux-artist-rail-block{margin-bottom:30px}
.ux-artist-rail-block h2{margin:0 0 11px;font-size:.72rem;letter-spacing:.11em;text-transform:uppercase}
.ux-artist-link-list{display:grid;gap:8px}
.ux-artist-link-list a{color:var(--g-text-soft);font-size:.82rem;text-decoration:none;overflow-wrap:anywhere}
.ux-artist-link-list a:hover,.ux-artist-link-list a:focus-visible{color:var(--g-text);text-decoration:underline}
.ux-artist-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ux-artist-gallery figure{margin:0}
.ux-artist-gallery img{width:100%;display:block}
.ux-artist-gallery figcaption{margin-top:7px;color:var(--g-muted);font-size:.76rem}
.ux-artist-exhibitions .g-list-row{grid-template-columns:170px minmax(0,1fr) auto;min-height:auto;padding:18px 0}
.ux-artist-exhibitions .g-list-thumb{display:none}
.ux-artist-exhibitions .g-list-row>.g-list-meta:first-child{font-variant-numeric:tabular-nums}

@media(max-width:1180px){
  .artists-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}
  .people-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1000px){
  .artists-layout{grid-template-columns:1fr}
  .ux-proto-artist-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .newsletter-box{margin-top:0}
  .people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ux-artist-hero{gap:44px}
  .ux-artist-body{gap:44px}
}
@media(max-width:820px){
  /* One horizontal axis for the complete artist index on phones/tablets. */
  .ux-proto-artist-hero,
  .ux-proto-artists-section,
  .ux-proto-artist-hero-inner,
  .az-stack,
  .artists-layout,
  .ux-proto-artist-sidebar,
  .ux-proto-artist-results,
  .filter-box,
  .newsletter-box,
  .people-grid{
    width:100%;
    max-width:100%;
    min-width:0;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
  .ux-proto-artist-hero-inner{align-items:stretch;flex-direction:column}
  .ux-proto-artist-hero-inner>div{width:100%;max-width:100%;box-sizing:border-box}
  .search-bar{max-width:100%;width:100%;align-self:stretch}
  .az-bar{max-width:100%;box-sizing:border-box}
  .callout-box{align-items:flex-start;flex-wrap:wrap;box-sizing:border-box;max-width:100%}
  .callout-box p{min-width:220px}
  .ux-artist-hero{grid-template-columns:1fr;gap:32px}
  .ux-artist-portrait{max-width:460px}
  .ux-artist-hero-copy{padding-right:0}
  .ux-artist-body{grid-template-columns:1fr}
  .ux-artist-rail{padding:28px 0 0;border-left:0;border-top:1px solid var(--g-line)}
  .ux-artist-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .ux-proto-artist-hero{padding:44px 0 32px}
  .ux-proto-artist-hero h1{font-size:var(--g-fs-page-title)}
  .ux-proto-artist-hero .lede{max-width:none}
  .az-bar{gap:12px;margin-bottom:24px}
  .ux-proto-artist-sidebar{grid-template-columns:1fr}
  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
  .results-meta{text-align:left}
  .callout-box{display:grid;grid-template-columns:auto 1fr}
  .callout-box .link-arrow{grid-column:1/-1;width:max-content}
  .ux-artist-hero{padding-top:30px;padding-bottom:38px}
  .ux-artist-portrait{width:100%}
  .ux-artist-subtitle{font-size:1.05rem}
  .ux-artist-body{padding-top:38px}
  .ux-artist-bio{font-size:1.08rem;line-height:1.72}
  .ux-artist-gallery{grid-template-columns:1fr}
  .ux-artist-exhibitions .g-list-row{grid-template-columns:1fr;gap:6px}
}


/* multilingual artist alphabet + exhibition thumbnail conflict fix v1 */
.az-stack{display:grid;gap:9px;margin-bottom:30px}
.az-stack .az-bar{margin-bottom:0}
.az-bar-secondary{padding-top:10px;border-top:1px solid var(--g-line)}
.az-label{color:var(--g-faint);font-size:.66rem;font-weight:800;letter-spacing:.11em;line-height:1.5;text-transform:uppercase}

/* artists-v2 is loaded after detail-polish, so these rules intentionally win. */
.ux-artist-exhibitions .ux-artist-exhibition-row{
  display:grid;
  grid-template-columns:118px 150px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  min-height:132px;
  padding:18px 0;
}
.ux-artist-exhibitions .ux-artist-exhibition-thumb{
  display:block;
  width:118px;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid var(--g-line);
  border-radius:2px;
  background:var(--g-surface-soft);
}
.ux-artist-exhibitions .ux-artist-exhibition-thumb img{
  width:100%;height:100%;display:block;object-fit:contain;background:var(--g-surface-soft)
}
.ux-artist-exhibitions .ux-artist-exhibition-date{font-variant-numeric:tabular-nums}
@media(max-width:820px){
  .ux-artist-exhibitions .ux-artist-exhibition-row{grid-template-columns:96px minmax(0,1fr) auto;gap:18px;min-height:118px}
  .ux-artist-exhibitions .ux-artist-exhibition-thumb{width:96px;grid-row:1 / span 2}
  .ux-artist-exhibitions .ux-artist-exhibition-date{grid-column:2;grid-row:1;align-self:end}
  .ux-artist-exhibitions .ux-artist-exhibition-copy{grid-column:2;grid-row:2;align-self:start}
  .ux-artist-exhibitions .ux-artist-exhibition-row .g-list-arrow{grid-column:3;grid-row:1 / span 2}
}
@media(max-width:640px){
  .az-stack{gap:8px;margin-bottom:24px}
  .az-bar-secondary{padding-top:8px}
}
@media(max-width:560px){
  .ux-artist-exhibitions .ux-artist-exhibition-row{grid-template-columns:82px minmax(0,1fr) auto;gap:14px;padding:14px 0}
  .ux-artist-exhibitions .ux-artist-exhibition-thumb{width:82px}
}
