.public-page { overflow-wrap: anywhere; --bb-language-accent: #f4f3ef; }
.public-page .artist-page-header { gap: 18px 28px; }
.public-page .artist-page-header nav { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-left: auto; }
.public-page .artist-page-header nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font: 500 .85rem/1.4 Manrope, Arial, sans-serif; }
.public-page .artist-page-header nav a:hover { color: #b6b6b6; }
.public-page .artist-page-header [data-language-slot] { margin-left: 0; }
.public-page :is(button,input,select) { font: inherit; }
.public-page :is(input,select,button):focus-visible { outline: 2px solid #f4f3ef; outline-offset: 4px; }
.public-skip { position: absolute; left: 20px; top: 12px; padding: 12px 18px; background: #f4f3ef; color: #090909; transform: translateY(-180%); z-index: 10; }
.public-skip:focus { transform: translateY(0); }
.public-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; color: #aaa; font-size: .8rem; }
.public-intro { max-width: 950px; padding: 24px 0 40px; }
.public-intro h1 { max-width: 20ch; font-size: clamp(2.25rem, 4.6vw, 4.5rem); line-height: 1.06; }
.public-intro > p:last-child { max-width: 760px; color: #b6b6b6; font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.7; }
.public-search { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 16px; padding: 24px; border: 1px solid #333; border-radius: 7px; }
.public-search label { display: grid; min-width: 0; gap: 10px; font-size: .82rem; color: #c7c7c7; }
.public-search :is(input,select) { width: 100%; min-width: 0; min-height: 48px; padding: 12px; border: 1px solid #555; border-radius: 4px; background: #111; color: #f4f3ef; }
.public-search button { align-self: end; min-height: 48px; padding: 12px 24px; border: 1px solid #f0efea; border-radius: 4px; background: #f0efea; color: #090909; cursor: pointer; }
.public-search button:hover { background: #d5d4cf; }
.public-clear { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; justify-self: start; }
.public-results,.public-note { color: #aaa; font-size: .85rem; line-height: 1.7; margin: 24px 0; }
.public-artist-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.public-artist-card { min-width: 0; border: 1px solid #333; border-radius: 7px; overflow: hidden; background: #101010; }
.public-artist-card > a { display: block; height: 100%; text-decoration: none; }
.public-artist-image { aspect-ratio: 1; background: #070707; overflow: hidden; }
.public-artist-image img { display: block; width: 100%; height: 100%; object-fit: contain; filter: none; transition: transform .22s ease; }
/* Keep full group portraits and artwork inside their frame on hover, too. */
@media (hover: hover) { .public-artist-card:hover img { transform: none; } }
.public-card-copy { padding: 22px; }
.public-card-copy h2 { font-size: 1.35rem; line-height: 1.25; margin: 8px 0 12px; }
.public-card-copy p { color: #b6b6b6; font-size: .85rem; line-height: 1.6; margin: 0; }
.public-card-copy > span { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; font-size: .8rem; margin-top: 12px; }
.public-empty { grid-column: 1/-1; padding: 36px; border: 1px dashed #555; color: #bbb; line-height: 1.7; }
.public-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.public-service-card { min-width: 0; padding: clamp(22px,3vw,36px); border: 1px solid #333; border-radius: 7px; }
.public-service-card h2 { margin: 0 0 20px; font-size: clamp(1.45rem,2.6vw,2rem); line-height: 1.2; }
.public-service-card p,.public-service-card li { color: #b6b6b6; line-height: 1.7; font-size: .95rem; }
.public-service-card .public-service-lead { color: #eee; }
.public-service-card ul { padding-left: 20px; margin-block: 22px; }
.public-service-card li + li { margin-top: 10px; }
.public-service-grid > :only-child { grid-column: 1/-1; max-width: 920px; }
.public-process { padding: 44px 0 20px; }
.public-process ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding-left: 22px; color: #ccc; line-height: 1.7; }
.public-enquiry { margin-top: 48px; padding: clamp(24px,4vw,48px); background: #151515; border: 1px solid #333; border-radius: 7px; }
.public-enquiry h2 { margin-top: 0; font-size: clamp(1.5rem,3vw,2.5rem); }
.public-enquiry p { color: #bbb; line-height: 1.7; max-width: 760px; }
.public-related { margin-top: 32px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 32px; }
.public-related a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; border-bottom: 1px solid #333; padding: 12px 0; line-height: 1.6; text-decoration: none; }
.public-footer { display: flex; flex-wrap: wrap; align-items: start; gap: 28px 40px; border-top: 1px solid #333; padding: 32px clamp(24px,4.5vw,64px); color: #bbb; font-size: .85rem; }
.public-footer img { width: 72px; height: 72px; object-fit: contain; }
.public-footer > div,.public-footer nav { display: flex; flex-direction: column; align-items: start; min-width: 0; }
.public-footer a { min-height: 44px; display: inline-flex; align-items: center; line-height: 1.5; }
.public-footer p { flex-basis: 100%; margin: 0; }
@media (max-width: 900px) { .public-search { grid-template-columns: repeat(2,minmax(0,1fr)); } .public-artist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .public-process ol { grid-template-columns: 1fr; gap: 18px; } }
@media (max-width: 600px) { .public-page .artist-page-header { padding: 12px 20px; gap: 12px; } .public-page .artist-page-header nav { order: 3; flex-basis: 100%; margin-left: 0; gap: 8px 24px; } .public-page .artist-page-header [data-language-slot] { margin-left: auto; } .public-search,.public-service-grid,.public-related { grid-template-columns: 1fr; } .public-search { padding: 18px; } .public-artist-grid { gap: 16px; } .public-card-copy { padding: 16px; } .public-card-copy h2 { font-size: 1.05rem; } .public-card-copy p { font-size: .8rem; } }
@media (max-width: 420px) { .public-artist-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .public-page { scroll-behavior: auto; } .public-page * { transition: none !important; } }
