/* Shared visual system for the live Open Easel pages. Loaded after legacy CSS. */
:root {
  --oe-body-font: "Merriweather Sans", Arial, sans-serif;
  --oe-display-font: "Nerko One", "Merriweather Sans", sans-serif;
  --oe-motion: cubic-bezier(.22, 1, .36, 1);
  --oe-content-width: 1320px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body { min-width: 0; overflow-x: clip; font-family: var(--oe-body-font) !important; }
body :is(p, a, button, input, select, textarea, label, li, small) {
  font-family: var(--oe-body-font) !important;
}
body :is(h1, h2, h3, h4, h5, h6),
body .site-header .brand, body .site-footer .brand,
body .home-scroll-page .brand,
body .team-name-stacked,
body .mission-statement {
  font-family: var(--oe-display-font) !important;
  font-weight: 400 !important;
}
body :is(h1, h2, h3, h4, h5, h6) { text-wrap: balance; }
body main :is(h1, h2, h3, h4, h5, h6),
body.page-about .mission-heading .section-title,
body.page-about .team-section .section-title,
body.page-ap main .section-title,
body.page-opportunities main .directory-opportunity h2,
body.page-artists main .artist-card h2 {
  font-family: var(--oe-display-font) !important;
  font-weight: 400 !important;
}
body :is(p, li) { overflow-wrap: break-word; }
body :is(img, svg, video) { max-width: 100%; }
body main, body main > section { min-width: 0; }
body main .container {
  width: min(calc(100% - 48px), var(--oe-content-width)) !important;
  max-width: var(--oe-content-width) !important;
  margin-inline: auto !important;
  min-width: 0;
}

/* The header uses one coordinate system on every page. */
body .site-header .nav-inner,
body.home-scroll-page .site-header .nav-inner {
  width: min(calc(100% - 48px), var(--oe-content-width)) !important;
  max-width: var(--oe-content-width) !important;
  margin-inline: auto !important;
  padding: 16px 0 !important;
  min-height: 86px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}
body .site-header .brand,
body.home-scroll-page .site-header .brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  font-size: clamp(1.55rem, 2.2vw, 1.95rem) !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
body .site-header .brand img,
body.home-scroll-page .site-header .brand img {
  width: 56px !important;
  height: 56px !important;
  flex: 0 0 56px !important;
}
body .site-header .brand span { font: inherit !important; }
body .site-header .site-nav,
body.home-scroll-page .site-header .site-nav {
  min-width: 0 !important;
  margin-left: auto !important;
  align-items: center !important;
  gap: 8px !important;
}
body .site-header .nav-link,
body.home-scroll-page .site-header .nav-link {
  font-size: clamp(.74rem, .86vw, .88rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -.015em !important;
  white-space: nowrap !important;
}
body .site-header .nav-button,
body.home-scroll-page .site-header .nav-button {
  min-height: 42px !important;
  padding: 10px 16px !important;
  font-size: .78rem !important;
  white-space: nowrap !important;
}
body .site-footer .nav-inner {
  width: min(calc(100% - 48px), var(--oe-content-width)) !important;
  max-width: var(--oe-content-width) !important;
  margin-inline: auto !important;
  align-items: center !important;
}

/* Text and layout stay inside the viewport at every breakpoint. */
body .page-title,
body .artist-title-stacked,
body .community-title {
  max-width: 100% !important;
  margin-inline: auto !important;
  font-size: clamp(3.2rem, 7vw, 6.5rem) !important;
  line-height: .98 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
}
body .page-title span { max-width: 100%; white-space: normal !important; }
body .page-lede { max-width: min(100%, 760px) !important; margin-inline: auto !important; }
body .section-title { max-width: 100%; font-size: clamp(2.6rem, 5.2vw, 5rem) !important; line-height: 1 !important; white-space: normal !important; }
body .page-hero-grid, body .mission-grid, body .profile-grid,
body .section-heading-row, body .filter-toolbar,
body .opportunity-toolbar, body .team-grid { max-width: 100%; min-width: 0; }
body .section-heading-row { align-items: center !important; gap: 24px; }
body .filter-toolbar :is(input, select, button),
body .opportunity-toolbar :is(input, select, button) { min-width: 0; max-width: 100%; }

/* Homepage: preserve the artwork while replacing offset-based spacing. */
body.home-scroll-page .scroll-hero {
  min-height: min(880px, 100svh) !important;
  padding: 130px 0 110px !important;
}
body.home-scroll-page .scroll-hero-grid {
  width: min(calc(100% - 48px), var(--oe-content-width)) !important;
  max-width: var(--oe-content-width) !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: clamp(20px, 3vw, 56px) !important;
  align-items: center !important;
}
body.home-scroll-page .scroll-hero-copy { min-width: 0; padding: 0 !important; }
body.home-scroll-page .scroll-hero-title {
  max-width: 100% !important;
  font-size: clamp(4.4rem, 7.2vw, 7.7rem) !important;
  line-height: .88 !important;
  white-space: normal !important;
}
body.home-scroll-page .scroll-hero-title span { max-width: 100%; white-space: normal !important; }
body.home-scroll-page .scroll-hero-text { max-width: 590px !important; }
body.home-scroll-page .scroll-hero-art {
  min-width: 0 !important;
  width: 100% !important;
  height: clamp(470px, 52vw, 700px) !important;
  transform: none !important;
  align-items: center !important;
  overflow: visible !important;
}
body.home-scroll-page .scroll-hero-art img {
  width: auto !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}
body.home-scroll-page .mission-grid {
  width: min(calc(100% - 48px), var(--oe-content-width)) !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr) !important;
  gap: clamp(40px, 5vw, 90px) !important;
}
body.home-scroll-page .mission-art { min-height: 360px !important; }
body.home-scroll-page .closing-content { max-width: 780px; margin-inline: auto; }
body.home-scroll-page .closing-content h2 { font-size: clamp(3.6rem, 6vw, 6rem) !important; line-height: .98 !important; }

/* Cards and controls share one motion rhythm. */
body .reveal {
  transform: translateY(14px) !important;
  filter: none !important;
  transition: opacity .65s var(--oe-motion), transform .65s var(--oe-motion) !important;
  transition-delay: var(--reveal-delay, 0ms) !important;
}
body .reveal.is-visible { transform: translateY(0) !important; filter: none !important; }
body :is(.button, .scroll-button, .filter-clear, .ap-portfolio__more, .ap-portfolio__filter) {
  transition: transform .32s var(--oe-motion), box-shadow .32s var(--oe-motion),
    background-color .24s ease, color .24s ease !important;
}
body :is(.artist-card, .directory-opportunity, .sample-portfolio, .soft-card, .preview-card, .team-card) {
  min-width: 0;
  transition: transform .42s var(--oe-motion), box-shadow .42s var(--oe-motion) !important;
}
@media (hover: hover) {
  body :is(.button, .scroll-button, .filter-clear, .ap-portfolio__more):hover { transform: translateY(-2px) !important; }
  body :is(.artist-card, .directory-opportunity, .sample-portfolio, .soft-card, .preview-card):hover { transform: translateY(-4px) !important; }
}
body :is(.ambient-star, .decor-star, .decor-spark, .scroll-sparkle) { animation: none !important; }
body.home-scroll-page .title-gradient { animation: none !important; background-size: 100% 100% !important; }
body.home-scroll-page .scroll-hero-art img { animation: oe-gentle-float 8s ease-in-out infinite !important; }
@keyframes oe-gentle-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }

/* Page-specific structural repairs. */
body.page-about .mission-heading { transform: none !important; margin-bottom: 0 !important; }
body.page-about .mission-layout { gap: 28px !important; }
body.page-about .mission-statement { font-size: clamp(1.6rem, 3vw, 2.35rem) !important; line-height: 1.25 !important; }
body.page-ap .ap-portfolio-discoveries__intro h1 { font-family: var(--oe-display-font) !important; letter-spacing: -.015em !important; line-height: 1 !important; }

@media (max-width: 1360px) {
  body .site-header .menu-toggle,
  body.home-scroll-page .site-header .menu-toggle {
    display: flex !important;
    flex: 0 0 48px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: auto !important;
    padding: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
    cursor: pointer !important;
  }
  body .site-header .menu-toggle span,
  body.home-scroll-page .site-header .menu-toggle span {
    display: block !important;
    flex: 0 0 2px !important;
    width: 24px !important;
    height: 2px !important;
    margin: 3px 0 !important;
    border-radius: 2px !important;
    background: #211b1e !important;
  }
  body .site-header .site-nav,
  body.home-scroll-page .site-header .site-nav {
    display: none !important;
    position: absolute !important;
    left: auto !important;
    right: 24px !important;
    top: calc(100% - 5px) !important;
    width: min(340px, calc(100vw - 48px)) !important;
    max-width: calc(100vw - 48px) !important;
    padding: 18px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 4px !important;
    background: rgba(255, 250, 247, .98) !important;
    border: 1px solid rgba(82, 53, 58, .1) !important;
    border-radius: 22px !important;
    box-shadow: 0 22px 55px rgba(59, 34, 48, .13) !important;
    z-index: 60 !important;
  }
  body .site-header .site-nav.is-open,
  body.home-scroll-page .site-header .site-nav.is-open { display: flex !important; }
  body .site-header .site-nav .nav-link,
  body.home-scroll-page .site-header .site-nav .nav-link { width: 100% !important; padding: 10px 12px !important; font-size: .95rem !important; }
  body .site-header .site-nav .nav-button { width: 100% !important; margin-top: 8px !important; text-align: center !important; justify-content: center !important; }
}

@media (max-width: 820px) {
  html { scrollbar-gutter: auto !important; }
  body main .container,
  body.home-scroll-page .scroll-hero-grid,
  body.home-scroll-page .mission-grid,
  body .site-header .nav-inner,
  body.home-scroll-page .site-header .nav-inner,
  body .site-footer .nav-inner { width: min(calc(100% - 32px), 760px) !important; }
  body .site-header .nav-inner, body.home-scroll-page .site-header .nav-inner { min-height: 76px !important; padding: 12px 0 !important; }
  body .site-header .brand img, body.home-scroll-page .site-header .brand img { width: 48px !important; height: 48px !important; flex-basis: 48px !important; }
  body .site-header .brand, body.home-scroll-page .site-header .brand { font-size: 1.6rem !important; }
  body .page-title, body .artist-title-stacked, body .community-title { font-size: clamp(3rem, 11vw, 5rem) !important; }
  body .section-title { font-size: clamp(2.5rem, 9vw, 4rem) !important; }
  body .page-hero { padding-top: 110px !important; }
  body.home-scroll-page .scroll-hero { min-height: 0 !important; padding: 112px 0 72px !important; }
  body.home-scroll-page .scroll-hero-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
  body.home-scroll-page .scroll-hero-title { font-size: clamp(3.8rem, 11vw, 6rem) !important; }
  body.home-scroll-page .scroll-hero-copy { text-align: center !important; }
  body.home-scroll-page .scroll-hero-text { margin-inline: auto !important; }
  body.home-scroll-page .title-stroke { margin-inline: auto !important; }
  body.home-scroll-page .scroll-hero-actions { justify-content: center !important; }
  body.home-scroll-page .scroll-hero-art { height: clamp(340px, 75vw, 570px) !important; margin: 0 !important; }
  body.home-scroll-page .mission-grid { grid-template-columns: minmax(0, 1fr) !important; text-align: center !important; }
  body.home-scroll-page .mission-copy > p { margin-inline: auto !important; }
  body.home-scroll-page .mission-art { min-height: 250px !important; }
}

@media (max-width: 560px) {
  body .page-hero { padding-top: 100px !important; }
  body .page-title, body .artist-title-stacked, body .community-title { font-size: clamp(2.75rem, 12vw, 3.8rem) !important; }
  body .section-title { font-size: clamp(2.3rem, 10vw, 3.4rem) !important; }
  body .page-lede { font-size: 1rem !important; line-height: 1.6 !important; }
  body.home-scroll-page .scroll-hero-title { font-size: clamp(3.15rem, 13vw, 4.35rem) !important; }
  body.home-scroll-page .scroll-hero-title span { white-space: normal !important; }
  body.home-scroll-page .scroll-hero-art { height: clamp(300px, 94vw, 430px) !important; }
  body.home-scroll-page .scroll-hero-actions { width: 100% !important; gap: 12px !important; }
  body.home-scroll-page .scroll-hero-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 320px !important;
    margin-inline: auto !important;
  }
  body.home-scroll-page .scroll-button { width: 100% !important; max-width: 360px !important; }
  body.home-scroll-page .mission-section { padding: 90px 0 !important; }
  body.home-scroll-page .closing-section { padding: 90px 0 !important; min-height: 0 !important; }
  body.home-scroll-page .mission-copy h2,
  body.home-scroll-page .closing-content h2 { font-size: clamp(3rem, 12vw, 4.2rem) !important; }
  body.page-about .about-intro-inner { text-align: center !important; }
  body.page-about .mission-copy-card { padding: 24px 18px !important; }
  body.page-about .team-card-mia .team-mia-identity { grid-template-columns: minmax(0, 1fr) !important; justify-items: center !important; gap: 24px !important; }
  body.page-about .team-card-mia .team-photo { width: min(100%, 280px) !important; justify-self: center !important; }
  body.page-about .team-card-mia .team-mia-name-block { align-items: center !important; text-align: center !important; }
  body.page-about .team-card-mia .team-role { text-align: center !important; }
  body.page-opportunities .opportunities-title-row { max-width: 100% !important; }
  body.page-opportunities .opportunities-title-row .page-title { font-size: clamp(2.6rem, 11vw, 3.8rem) !important; }
  body.page-ap .ap-portfolio-toolbar { grid-template-columns: minmax(0, 1fr) !important; border-radius: 22px !important; padding: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body *, body *::before, body *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  body .reveal { opacity: 1 !important; transform: none !important; }
}


/* Shared navigation, compact controls, and artist discovery. */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root) { animation: .18s ease-in both oe-page-out; }
  ::view-transition-new(root) { animation: .38s var(--oe-motion) both oe-page-in; }
}
@keyframes oe-page-out { to { opacity: .75; } }
@keyframes oe-page-in { from { opacity: .72; transform: translateY(8px); } to { opacity: 1; transform: none; } }
body .site-header { view-transition-name: oe-header; }
body .site-footer { margin-top: 0 !important; }
body .site-footer .footer-inner { display: grid !important; gap: 24px; padding-block: 28px !important; }
body .site-footer .footer-top { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
body .site-footer .footer-nav { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; }
body .site-footer .footer-nav a { font-size: .82rem; line-height: 1.4; text-decoration: none; transition: color .2s ease, transform .25s var(--oe-motion); }
body .site-footer .footer-nav a:hover { color: var(--page-color); transform: translateY(-2px); }
body .site-header .nav-link { padding-block: 8px !important; }
body .site-header .nav-button { min-height: 40px !important; padding: 8px 14px !important; }
body main :is(.button, .scroll-button, .filter-clear, .artist-card-link, .ap-portfolio__more, .opportunity-load-more) { min-height: 40px !important; padding-block: 8px !important; align-items: center; justify-content: center; }
body main :is(.button, .scroll-button, .filter-clear, .artist-card-link) { display: inline-flex; }
body .artist-toolbar { align-items: end !important; gap: 12px !important; }
body .artist-toolbar label { min-width: 0; }
body .artist-toolbar :is(input, select) { min-height: 42px !important; padding-block: 8px !important; }
body.page-artists .directory-section { padding-top: 20px !important; }
body.page-artists .artist-directory-grid { gap: 20px !important; }
body.page-artists .artist-card { height: auto !important; }
body.page-artists .artist-card-body { padding: 18px !important; }
body.page-artists .artist-card-body p { margin-block: 8px 14px !important; }
body.page-artists .artist-card-media { max-height: 220px !important; }
body.page-artists .artist-card-media img { max-height: 220px !important; }
body.page-community .community-ready-post, body .community-ready-post { padding: clamp(18px, 2.4vw, 32px) !important; }
body .community-spotlight-images { max-height: 330px !important; }
body .community-spotlight-images img { max-height: 330px !important; }
body .community-spotlight-copy { align-self: center !important; }
body :is(.artist-card, .community-ready-post, .directory-opportunity, .preview-card) img { transition: transform .55s var(--oe-motion); }
@media (hover: hover) { body :is(.artist-card, .community-ready-post, .directory-opportunity, .preview-card):hover img { transform: scale(1.025); } }
@media (max-width: 820px) { body .site-footer .footer-top { flex-wrap: wrap; } body .site-footer .footer-nav { gap: 10px 18px; } }
@media (max-width: 560px) { body .site-footer .footer-inner { gap: 18px; } body .site-footer .footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { body .site-header { view-transition-name: none; } }

/* The directory gets to real artwork sooner on small screens. */
body.page-artists .artist-toolbar { margin-bottom: 22px !important; }
body.page-artists .directory-count { margin-block: 8px 14px !important; }
@media (max-width: 560px) {
  body.page-artists .page-hero { padding-top: 76px !important; padding-bottom: 24px !important; }
  body.page-artists .artist-toolbar { gap: 10px !important; }
  body.page-artists .artist-card-media, body.page-artists .artist-card-media img { max-height: 190px !important; }
}

body .artist-selected-works-grid.single-work { grid-template-columns: minmax(0, 540px) !important; justify-content: center !important; }
body .artist-selected-works-grid.single-work .artist-work-tile { width: 100%; }
@media (max-width: 820px) { body.page-artists .artist-toolbar { top: 0 !important; margin: -18px 0 22px !important; } }
body.page-artists .artist-toolbar { top: 0 !important; margin: -18px 0 22px !important; }

/* Cosmos-inspired polish: a quiet canvas with artwork at the center. */
body .site-header,
body.home-scroll-page .site-header {
  min-height: 0 !important;
  height: auto !important;
  background: rgba(255, 252, 249, .94) !important;
  border-bottom: 1px solid rgba(69, 47, 55, .07) !important;
  backdrop-filter: blur(16px);
}
body.page-artists {
  background: radial-gradient(circle at 12% 7%, rgba(255, 220, 128, .18), transparent 27%),
    radial-gradient(circle at 88% 15%, rgba(255, 175, 196, .15), transparent 30%), #fffdfb !important;
}
body.page-artists .page-hero {
  min-height: 0 !important;
  padding: 44px 0 38px !important;
}
body.page-artists .page-title {
  font-size: clamp(3.8rem, 5.8vw, 5.65rem) !important;
  line-height: .95 !important;
}
body.page-artists .page-lede {
  max-width: 650px !important;
  margin-top: 22px !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
body.page-artists .directory-section { padding-top: 0 !important; }
body.page-artists .artist-toolbar {
  margin: 0 0 20px !important;
  padding: 12px !important;
  border: 1px solid rgba(64, 44, 52, .09) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 12px 34px rgba(75, 49, 62, .07) !important;
}
body.page-artists .artist-toolbar :is(input, select) {
  min-height: 44px !important;
  border: 1px solid rgba(65, 47, 57, .12) !important;
  background: #fffdfb !important;
}
body.page-artists .artist-toolbar input:focus,
body.page-artists .artist-toolbar select:focus {
  border-color: #ff699a !important;
  outline: 2px solid rgba(255, 105, 154, .18) !important;
  outline-offset: 1px;
}
body.page-artists .artist-directory-grid { gap: 22px !important; }
body.page-artists .artist-card {
  min-height: 0 !important;
  height: auto !important;
  background: #fff !important;
  border: 1px solid rgba(63, 43, 50, .06) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 30px rgba(72, 46, 57, .07) !important;
  overflow: hidden;
}
body.page-artists .artist-card-media {
  height: 244px !important;
  max-height: none !important;
  padding: 10px !important;
  gap: 10px !important;
  grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  background: #fff !important;
}
body.page-artists .artist-card-media :is(.artist-photo-slot, .artist-work-slot) {
  min-width: 0;
  height: 100% !important;
  overflow: hidden;
  border-radius: 16px !important;
}
body.page-artists .artist-card-media img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
}
body.page-artists .artist-card-body {
  height: auto !important;
  min-height: 0 !important;
  padding: 16px 18px 18px !important;
}
body.page-artists .artist-card-body h2 {
  margin: 0 0 8px !important;
  font-size: clamp(1.55rem, 2vw, 1.95rem) !important;
}
body.page-artists .artist-card-link {
  width: auto !important;
  height: auto !important;
  min-height: 36px !important;
  margin: 12px 0 0 !important;
  padding: 5px 0 !important;
  font-size: .9rem !important;
  align-self: flex-start !important;
}
body.page-artists .artist-meta { margin: 0 !important; }
@media (max-width: 820px) {
  body.page-artists .page-hero { padding: 36px 0 28px !important; }
  body.page-artists .artist-toolbar { margin: 0 0 18px !important; }
}
@media (max-width: 560px) {
  body.page-artists .page-hero { padding: 28px 0 22px !important; }
  body.page-artists .page-title { font-size: clamp(3.1rem, 11vw, 3.9rem) !important; }
  body.page-artists .page-lede { margin-top: 16px !important; }
  body.page-artists .artist-card-media { height: 208px !important; }
  body.page-artists .artist-toolbar { border-radius: 20px !important; }
}

/* Real artwork leads the homepage, with the same quiet card treatment. */
body .home-featured-art {
  position: relative;
  padding: clamp(70px, 7vw, 110px) 0;
  background: #fffdfb;
}
body .home-featured-art .home-featured-intro {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px 28px;
  margin-bottom: 28px;
}
body .home-featured-intro h2 {
  width: 100%;
  margin: 0;
  font-size: clamp(2.7rem, 4.8vw, 4.7rem);
  line-height: 1;
  color: #282025;
}
body .home-featured-intro p { margin: 0; font-size: 1rem; }
body .home-featured-intro > a {
  margin-left: auto;
  color: #2e2429;
  font-size: .9rem;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 2px solid #ff6b9b;
  transition: color .2s ease, transform .25s var(--oe-motion);
}
body .home-featured-intro > a:hover { color: #d83870; transform: translateX(3px); }
body .home-art-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
body .home-art-card {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(69, 47, 55, .07);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(72, 46, 57, .08);
  color: #2e2429;
  text-decoration: none;
  overflow: hidden;
  transition: transform .4s var(--oe-motion), box-shadow .4s var(--oe-motion);
}
body .home-art-card img { width: 100%; height: clamp(230px, 27vw, 360px); object-fit: cover; border-radius: 16px; transition: transform .55s var(--oe-motion); }
body .home-art-card:nth-child(1) img { object-position: center 46%; }
body .home-art-card:nth-child(2) img { object-position: center 38%; }
body .home-art-card-caption { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 8px 4px; }
body .home-art-card-caption strong { font: 400 clamp(1.6rem, 2vw, 2rem)/1 var(--oe-display-font) !important; }
body .home-art-card-caption > span { font-size: .83rem; font-weight: 700; white-space: nowrap; }
@media (hover: hover) {
  body .home-art-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(72, 46, 57, .13); }
  body .home-art-card:hover img { transform: scale(1.025); }
}
@media (max-width: 820px) { body .home-art-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } body .home-art-card:last-child { grid-column: 1 / -1; } }
@media (max-width: 560px) {
  body .home-featured-art { padding: 65px 0; }
  body .home-featured-intro > a { margin-left: 0; }
  body .home-art-grid { grid-template-columns: minmax(0, 1fr); }
  body .home-art-card:last-child { grid-column: auto; }
  body .home-art-card img { height: 280px; }
}
/* The original mission wave belongs to the former hero-to-mission join. */
body.home-scroll-page .mission-section { margin-top: 0 !important; }
body.home-scroll-page .mission-section::before { display: none !important; }

/* A readable, low-contrast search surface replaces the legacy yellow ring. */
body.page-artists .page-lede {
  font-family: var(--oe-body-font) !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
}
body.page-artists .artist-toolbar {
  border: 0 !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(75, 49, 62, .055) !important;
}
body.page-artists .artist-toolbar .search-field input,
body.page-artists .artist-toolbar select {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #f7f4f3 !important;
  box-shadow: none !important;
  font-family: var(--oe-body-font) !important;
  font-size: .94rem !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  color: #31292d !important;
}
body.page-artists .artist-toolbar .search-field input { padding: 10px 16px !important; }
body.page-artists .artist-toolbar .search-field input::placeholder {
  color: #777077 !important;
  opacity: 1 !important;
  font: inherit !important;
}
body.page-artists .artist-toolbar select { padding: 10px 14px !important; font-weight: 600 !important; }
body.page-artists .artist-toolbar .search-field input:focus,
body.page-artists .artist-toolbar select:focus {
  border: 0 !important;
  outline: 2px solid rgba(222, 80, 128, .35) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  background: #fff8fa !important;
}
body.page-artists .artist-toolbar .filter-clear {
  min-height: 46px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: #f7eef1 !important;
  color: #5b3b49 !important;
  font-family: var(--oe-body-font) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}
body.page-artists .artist-toolbar .filter-clear:not(:disabled):hover { background: #fbe0e9 !important; }
body.page-artists .artist-toolbar .filter-clear:disabled { opacity: .48 !important; cursor: default !important; }
body .home-featured-intro h2 { margin-bottom: 0 !important; }

/* Search controls have room to breathe; reset sits with the result count. */
body.page-artists .artist-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) !important;
}
body.page-artists .artist-directory-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 4px 16px;
}
body.page-artists .artist-directory-summary .directory-count { margin: 0 !important; }
body.page-artists .artist-directory-summary .filter-clear {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  min-height: 32px !important;
  width: auto !important;
  padding: 4px 8px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #a42f5d !important;
  font-family: var(--oe-body-font) !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
}
body.page-artists .artist-directory-summary .filter-clear:disabled {
  opacity: .43 !important;
  cursor: default !important;
}
body.page-artists .artist-directory-summary .filter-clear:not(:disabled):hover { background: #fceaf0 !important; }
@media (max-width: 820px) { body.page-artists .artist-toolbar { grid-template-columns: minmax(0, 1fr) !important; } }
