:root {
  --market-ink: #142520;
  --market-muted: #5d6d66;
  --market-green: #145b49;
  --market-green-dark: #0d4336;
  --market-canvas: #f5f5ef;
  --market-surface: #ffffff;
  --market-line: #dbe3da;
  --market-lime: #dcecb0;
}
body { color: var(--market-ink); background: var(--market-canvas); }
a { color: var(--market-green); }
input:focus-visible { outline: 3px solid #ffb300; outline-offset: 3px; }
.site-header { position: relative; z-index: 2; min-height: 5.5rem; border-block-end: 1px solid var(--market-line); background: var(--market-surface); }
.site-header .brand { font-size: 1.8rem; font-weight: 900; letter-spacing: -.08em; line-height: 1; color: var(--market-ink); }
.site-header .brand span { color: #58ae79; }
.site-header nav { gap: clamp(.6rem, 2vw, 2rem); }
.site-header nav a { color: var(--market-ink); font-weight: 650; text-decoration: none; }
.site-header nav a:hover, .site-header nav a:focus-visible { color: var(--market-green); text-decoration: underline; text-underline-offset: .35em; }
.site-header nav .language-link { color: var(--market-green); }
main { width: min(1360px, calc(100% - clamp(2rem, 6vw, 7rem))); padding-block: 0 5rem; }
.button, button { background: var(--market-green); border-radius: .65rem; min-height: 3rem; padding-inline: 1.25rem; }
.button:hover, button:hover { background: var(--market-green-dark); color: #fff; }
.button.secondary { background: #fff; border: 1px solid var(--market-line); color: var(--market-green); }
.button.secondary:hover { background: #eef5ed; }
.eyebrow { color: var(--market-green); font-size: .76rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.text-link { display: inline-flex; align-items: center; gap: .45rem; color: var(--market-green); font-weight: 800; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.market-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: center; gap: 4rem; min-height: 39rem; padding-block: 5rem; }
.market-hero::before { content: ''; position: absolute; inset-block-start: 2rem; inset-inline-end: -3vw; width: min(42vw, 580px); aspect-ratio: 1; border-radius: 50%; background: #e6eddc; filter: blur(25px); opacity: .8; z-index: -1; }
.market-hero-copy { max-width: 44rem; }
.market-hero h1 { max-width: 13ch; margin: .7rem 0 1.4rem; font-size: clamp(3.1rem, 6vw, 6.4rem); line-height: .98; letter-spacing: -.07em; font-weight: 780; }
.market-hero .hero-lead { max-width: 40rem; font-size: clamp(1.05rem, 1.4vw, 1.25rem); color: var(--market-muted); line-height: 1.65; }
.hero-search { display: flex; gap: .5rem; max-width: 42rem; margin-block: 2rem 1.4rem; padding: .42rem; background: #fff; border: 1px solid var(--market-line); border-radius: .85rem; box-shadow: 0 18px 45px rgba(32, 66, 45, .1); }
.hero-search input { flex: 1; min-width: 0; padding-inline: 1rem; border: 0; background: transparent; box-shadow: none; }
input[type="search"] { appearance: none; -webkit-appearance: none; width: 100%; min-height: 2.75rem; padding: .55rem .65rem; color: var(--market-ink); background: #fff; border: 1px solid #bacdc0; border-radius: .55rem; font: inherit; }
.hero-search button { white-space: nowrap; }
.hero-portraits { position: relative; width: min(100%, 30rem); aspect-ratio: 1; justify-self: center; }
.hero-portrait { position: absolute; overflow: hidden; width: 45%; aspect-ratio: .82; border: .5rem solid var(--market-canvas); border-radius: 9rem 9rem 5rem 5rem; background: #dfe8dc; box-shadow: 0 20px 45px rgba(20, 37, 32, .12); }
.hero-portrait:nth-child(1) { inset-block-start: 0; inset-inline-start: 25%; transform: rotate(-5deg); z-index: 3; }
.hero-portrait:nth-child(2) { inset-block-start: 27%; inset-inline-start: 0; transform: rotate(-12deg); z-index: 2; }
.hero-portrait:nth-child(3) { inset-block-start: 33%; inset-inline-end: 0; transform: rotate(9deg); z-index: 4; }
.hero-portrait img { width: 100%; height: 100%; object-fit: cover; }
.hero-portrait span { display: grid; height: 100%; place-items: center; font-size: 4rem; font-weight: 800; }
.hero-orbit { position: absolute; inset: 3% 0; border: 1px solid #b9d5bf; border-radius: 50%; transform: rotate(-20deg); }
.market-section { padding-block: 2.5rem 4.5rem; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-block-end: 1.5rem; }
.section-heading h2 { max-width: 23ch; margin: .35rem 0; font-size: clamp(2.1rem, 3.6vw, 3.6rem); line-height: 1.08; letter-spacing: -.055em; }
.section-heading p:not(.eyebrow) { margin-block: .5rem; color: var(--market-muted); }
.talent-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.talent-card { overflow: hidden; padding: 0; border: 1px solid var(--market-line); border-radius: 1.2rem; background: #fff; box-shadow: 0 8px 28px rgba(20, 37, 32, .04); transition: transform .18s ease, box-shadow .18s ease; }
.talent-card:hover, .talent-card:focus-within { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20, 37, 32, .11); }
.talent-card-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.talent-image { position: relative; display: grid; overflow: hidden; height: clamp(13rem, 23vw, 19rem); place-items: center; background: linear-gradient(135deg, #dfebe0, #f1e8da); }
.talent-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 33%; }
.portrait-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: #446d58; font-size: 6rem; font-weight: 800; }
.availability-chip { position: absolute; inset-block-end: .9rem; inset-inline-start: .9rem; max-width: calc(100% - 1.8rem); padding: .35rem .7rem; border-radius: 999px; background: #fff; color: var(--market-green); box-shadow: 0 2px 12px rgba(0,0,0,.08); font-size: .75rem; font-weight: 800; }
.talent-card-body { padding: 1.35rem 1.45rem 1.5rem; }
.card-kicker { margin: 0 0 .35rem; color: var(--market-green); font-size: .8rem; font-weight: 800; letter-spacing: .03em; }
.talent-card h3 { margin: 0; font-size: 1.45rem; line-height: 1.2; letter-spacing: -.035em; }
.card-role { margin: .35rem 0 1rem; color: var(--market-muted); }
.skill-list { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.skill-list li { padding: .35rem .65rem; border: 1px solid var(--market-line); border-radius: 999px; background: #f5f8f3; color: #325c4b; font-size: .76rem; font-weight: 650; }
.card-view { display: flex; justify-content: space-between; margin-block-start: 1.35rem; padding-block-start: 1rem; border-block-start: 1px solid var(--market-line); color: var(--market-green); font-size: .85rem; font-weight: 800; }
.field-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .8rem; }
.field-grid a { display: flex; min-height: 10rem; flex-direction: column; justify-content: space-between; padding: 1.2rem; border: 1px solid var(--market-line); border-radius: 1rem; background: #fff; color: var(--market-ink); text-decoration: none; }
.field-grid a:hover { background: #e8f2e5; border-color: #9fc3a3; }
.field-grid a span { color: var(--market-green); font-size: .85rem; font-weight: 800; }
.field-grid a span:last-child { align-self: end; font-size: 1.3rem; }
.field-grid strong { max-width: 12ch; font-size: 1.35rem; line-height: 1.1; letter-spacing: -.04em; }
.join-band { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-block: 1rem 2rem; padding: clamp(2rem, 5vw, 4rem); border-radius: 1.5rem; background: var(--market-green-dark); color: #fff; }
.join-band .eyebrow { color: var(--market-lime); }
.join-band h2 { max-width: 18ch; margin: .5rem 0; font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.1; letter-spacing: -.055em; }
.join-band p:not(.eyebrow) { max-width: 45ch; color: #d3e7dd; }
.join-band .button { flex-shrink: 0; background: var(--market-lime); color: var(--market-ink); }
.join-band .button:hover { background: #f0f8cc; color: var(--market-ink); }
.directory-heading { max-width: 50rem; padding-block: 3.5rem 2.5rem; }
.directory-heading h1 { margin: .5rem 0 1rem; font-size: clamp(2.8rem, 5vw, 5rem); line-height: 1; letter-spacing: -.065em; }
.directory-heading p:not(.eyebrow) { color: var(--market-muted); font-size: 1.1rem; }
.directory-layout { display: grid; grid-template-columns: minmax(220px, 17rem) minmax(0, 1fr); align-items: start; gap: 2rem; }
.directory-filters { position: sticky; top: 1rem; display: grid; gap: 1rem; padding: 1.3rem; border: 1px solid var(--market-line); border-radius: 1rem; background: #fff; }
.directory-filters h2 { margin: 0; font-size: 1.2rem; }
.directory-filters label { display: grid; gap: .35rem; font-size: .85rem; font-weight: 750; }
.directory-filters input, .directory-filters select { width: 100%; min-width: 0; border-color: #bacdc0; border-radius: .55rem; }
.directory-filters a { text-align: center; font-size: .85rem; }
.results-top { display: flex; align-items: center; justify-content: space-between; margin-block: .2rem 1rem; }
.results-top h2 { margin: 0; font-size: 1.3rem; }
.results-top span { display: grid; min-width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #e4eee1; font-size: .8rem; font-weight: 800; }
.directory-results .talent-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pagination { display: flex; justify-content: center; margin-block: 2rem; }
.breadcrumb { padding-block: 2rem 1.2rem; }
.breadcrumb a { color: var(--market-green); font-weight: 750; text-decoration: none; }
.profile-page { overflow: hidden; padding: 0; border: 1px solid var(--market-line); border-radius: 1.5rem; background: #fff; box-shadow: 0 18px 50px rgba(20, 37, 32, .05); }
.profile-hero { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1fr); min-height: 28rem; background: #e8f0e6; }
.profile-photo { min-height: 28rem; background: #dce8dc; }
.profile-photo img { width: 100%; height: 100%; max-height: 38rem; object-fit: cover; object-position: center 28%; }
.profile-intro { display: flex; flex-direction: column; align-items: start; justify-content: center; padding: clamp(2rem, 5vw, 5rem); }
.profile-intro h1 { margin: .35rem 0; font-size: clamp(3.2rem, 5.5vw, 6rem); line-height: 1; letter-spacing: -.07em; }
.profile-role { margin: .5rem 0 1.4rem; color: var(--market-green); font-size: clamp(1.2rem, 2vw, 1.7rem); font-weight: 700; }
.profile-facts { display: flex; flex-wrap: wrap; gap: .6rem; margin-block-end: 2rem; }
.profile-facts span { padding: .45rem .8rem; border-radius: 999px; background: #fff; color: #315f4a; font-size: .85rem; font-weight: 750; }
.profile-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 20rem); gap: clamp(2rem, 5vw, 5rem); padding: clamp(2rem, 5vw, 5rem); }
.profile-content h2 { margin: .35rem 0 1.2rem; font-size: 2rem; letter-spacing: -.05em; }
.profile-summary { max-width: 55ch; color: #43544b; font-size: 1.15rem; line-height: 1.8; }
.profile-sidebar { display: grid; align-content: start; gap: 2rem; }
.profile-sidebar section { padding-block-end: 1.5rem; border-block-end: 1px solid var(--market-line); }
.profile-sidebar h2 { font-size: 1.2rem; }
.profile-sidebar dl { display: grid; gap: .25rem; }
.profile-sidebar dt { color: var(--market-muted); font-size: .78rem; }
.profile-sidebar dd { margin: 0 0 .8rem; font-weight: 700; }
footer { display: grid; gap: .5rem; border-color: var(--market-line); background: #eef3eb; color: #355244; }
footer .footer-note { margin: 0; font-size: .78rem; color: #6b776f; }
.empty-state { border-color: #aac8ad; background: #f4f9f2; }
@media (max-width: 1100px) { .directory-results .talent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .market-hero { gap: 1.5rem; } }
@media (max-width: 780px) {
  .market-hero { grid-template-columns: 1fr; min-height: auto; padding-block: 3rem; }
  .hero-portraits { width: min(100%, 25rem); margin-block: 1rem; }
  .talent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-layout { grid-template-columns: 1fr; }
  .directory-filters { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .directory-filters h2 { grid-column: 1 / -1; }
  .profile-hero { grid-template-columns: 1fr; }
  .profile-photo { height: 24rem; min-height: 0; }
  .profile-content { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  main { width: min(100% - 2rem, 34rem); padding-block-end: 3rem; }
  .market-hero h1 { font-size: clamp(2.8rem, 12vw, 4.2rem); }
  .hero-search { flex-direction: column; }
  .hero-search button { width: 100%; }
  .hero-portraits { aspect-ratio: 1.2; }
  .section-heading { align-items: start; flex-direction: column; }
  .talent-grid, .directory-results .talent-grid { grid-template-columns: 1fr; }
  .talent-image { height: 17rem; }
  .field-grid { grid-template-columns: 1fr 1fr; }
  .field-grid a { min-height: 8rem; }
  .join-band { align-items: start; flex-direction: column; }
  .directory-filters { grid-template-columns: 1fr; }
  .profile-intro { padding: 2rem; }
  .profile-photo { height: 20rem; }
}
@media (prefers-reduced-motion: reduce) { .talent-card { transition: none; } }
