/* Scoped token bridge, generated from the current Urban Folk token source. */
.uf-rs-row, .uf-rs-trigger, .uf-rs-panel, .uf-rs-noscript {
  --rs-action-subtle-hover: var(--uf-action-subtle-hover, #eeeae9);
  --rs-body-md-line: var(--uf-body-md-line, 24px);
  --rs-body-md-size: var(--uf-body-md-size, 16px);
  --rs-body-md-weight: var(--uf-body-md-weight, 400);
  --rs-body-sm-line: var(--uf-body-sm-line, 20px);
  --rs-body-sm-size: var(--uf-body-sm-size, 14px);
  --rs-body-sm-weight: var(--uf-body-sm-weight, 400);
  --rs-border-default: var(--uf-border-default, #dcd8d7);
  --rs-border-subtle: var(--uf-border-subtle, #eeeae9);
  --rs-container-max: var(--uf-container-max, 1280px);
  --rs-control-md: var(--uf-control-md, 48px);
  --rs-dialog-width-sm: var(--uf-dialog-width-sm, 400px);
  --rs-focus-ring: var(--uf-focus-ring, #1e1b1a);
  --rs-font-sans: var(--uf-font-sans, Manrope, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
  --rs-heading-md-line: var(--uf-heading-md-line, 24px);
  --rs-heading-md-size: var(--uf-heading-md-size, 18px);
  --rs-heading-md-tracking: var(--uf-heading-md-tracking, -0.005em);
  --rs-heading-md-weight: var(--uf-heading-md-weight, 600);
  --rs-heading-sm-line: var(--uf-heading-sm-line, 20px);
  --rs-heading-sm-size: var(--uf-heading-sm-size, 16px);
  --rs-heading-sm-weight: var(--uf-heading-sm-weight, 600);
  --rs-icon-sm: var(--uf-icon-sm, 16px);
  --rs-label-md-line: var(--uf-label-md-line, 20px);
  --rs-label-md-size: var(--uf-label-md-size, 14px);
  --rs-label-md-weight: var(--uf-label-md-weight, 500);
  --rs-layer-dropdown: var(--uf-layer-dropdown, 200);
  --rs-radius-full: var(--uf-radius-full, 9999px);
  --rs-radius-lg: var(--uf-radius-lg, 12px);
  --rs-radius-md: var(--uf-radius-md, 8px);
  --rs-selection-subtle-bg: var(--uf-selection-subtle-bg, #eeeae9);
  --rs-shadow-float: var(--uf-shadow-float, 0 1px 2px rgba(30, 27, 26, 0.08), 0 6px 20px rgba(30, 27, 26, 0.12));
  --rs-space-1: var(--uf-space-1, 4px);
  --rs-space-2: var(--uf-space-2, 8px);
  --rs-space-3: var(--uf-space-3, 12px);
  --rs-space-4: var(--uf-space-4, 16px);
  --rs-space-6: var(--uf-space-6, 24px);
  --rs-space-8: var(--uf-space-8, 32px);
  --rs-stroke-1: var(--uf-stroke-1, 1px);
  --rs-stroke-2: var(--uf-stroke-2, 2px);
  --rs-surface-card: var(--uf-surface-card, #ffffff);
  --rs-text-default: var(--uf-text-default, #1e1b1a);
  --rs-text-muted: var(--uf-text-muted, #6a6665);
}

.uf-rs-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--rs-space-2);
  width: 100%;
}
.uf-rs-trigger,
.uf-rs-panel,
.uf-rs-noscript {
  box-sizing: border-box;
  font-family: var(--rs-font-sans);
  color: var(--rs-text-default);
}
.uf-rs-panel *, .uf-rs-panel *::before, .uf-rs-panel *::after { box-sizing: border-box; }
/* Specific selectors keep theme button and heading defaults out of this component. */
.uf-rs-row > button.uf-rs-trigger,
button.uf-rs-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rs-space-2);
  min-height: var(--rs-control-md);
  max-width: 100%;
  padding: var(--rs-space-2) var(--rs-space-3);
  margin: 0;
  border: 0;
  border-radius: var(--rs-radius-full);
  background: transparent;
  box-shadow: none;
  font: var(--rs-label-md-weight) var(--rs-label-md-size) / var(--rs-label-md-line) var(--rs-font-sans);
  color: var(--rs-text-default);
  cursor: pointer;
  touch-action: manipulation;
  text-transform: none;
  letter-spacing: normal;
}
.uf-rs-trigger > span:first-child { text-decoration: underline; text-underline-offset: var(--rs-space-1); }
button.uf-rs-trigger:hover,
button.uf-rs-trigger[aria-expanded="true"] { background: var(--rs-action-subtle-hover); color: var(--rs-text-default); }
.uf-rs-chevron {
  width: var(--rs-space-2);
  height: var(--rs-space-2);
  border-right: var(--rs-stroke-1) solid currentColor;
  border-bottom: var(--rs-stroke-1) solid currentColor;
  transform: translateY(-25%) rotate(45deg);
  flex: none;
}
.uf-rs-trigger[aria-expanded="true"] .uf-rs-chevron { transform: translateY(25%) rotate(225deg); }
.uf-rs-panel {
  display: none;
  position: fixed;
  inset: auto;
  margin: 0;
  padding: 0;
  width: min(var(--rs-container-max), calc(100vw - var(--rs-space-8)));
  max-height: calc(100dvh - var(--rs-space-8));
  overflow: auto;
  overscroll-behavior: contain;
  border: var(--rs-stroke-1) solid var(--rs-border-default);
  border-radius: var(--rs-radius-lg);
  background: var(--rs-surface-card);
  box-shadow: var(--rs-shadow-float);
  font: var(--rs-body-md-weight) var(--rs-body-md-size) / var(--rs-body-md-line) var(--rs-font-sans);
}
/* Separate rules: older browsers must not discard the fallback selector. */
.uf-rs-panel:popover-open { display: block; }
.uf-rs-panel[data-open] { display: block; position: relative; width: 100%; flex: 0 0 100%; }
.uf-rs-header {
  position: sticky;
  top: 0;
  z-index: var(--rs-layer-dropdown);
  background: var(--rs-surface-card);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rs-space-4);
  padding: var(--rs-space-3) var(--rs-space-6);
  border-bottom: var(--rs-stroke-1) solid var(--rs-border-default);
}
.uf-rs-panel .uf-rs-header h2 {
  margin: 0;
  padding: 0;
  font: var(--rs-heading-md-weight) var(--rs-heading-md-size) / var(--rs-heading-md-line) var(--rs-font-sans);
  color: var(--rs-text-default);
  letter-spacing: var(--rs-heading-md-tracking);
  text-wrap: balance;
}
.uf-rs-panel button.uf-rs-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: var(--rs-control-md);
  height: var(--rs-control-md);
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: var(--rs-radius-full);
  background: transparent;
  color: var(--rs-text-default);
  box-shadow: none;
  cursor: pointer;
}
.uf-rs-panel button.uf-rs-close:hover { background: var(--rs-action-subtle-hover); }
.uf-rs-close span { position: relative; width: var(--rs-icon-sm); height: var(--rs-icon-sm); }
.uf-rs-close span::before, .uf-rs-close span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: var(--rs-stroke-1);
  background: currentColor;
  transform: rotate(45deg);
}
.uf-rs-close span::after { transform: rotate(-45deg); }
.uf-rs-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 4fr);
  gap: var(--rs-space-8);
  padding: var(--rs-space-6);
}
.uf-rs-current { min-width: 0; padding-inline-end: var(--rs-space-8); border-inline-end: var(--rs-stroke-1) solid var(--rs-border-subtle); }
.uf-rs-panel .uf-rs-eyebrow, .uf-rs-panel .uf-rs-note {
  margin: 0 0 var(--rs-space-3);
  font: var(--rs-body-sm-weight) var(--rs-body-sm-size) / var(--rs-body-sm-line) var(--rs-font-sans);
  color: var(--rs-text-muted);
}
.uf-rs-panel .uf-rs-note { margin: var(--rs-space-4) 0 0; }
.uf-rs-photo { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--rs-radius-lg); margin-bottom: var(--rs-space-3); }
.uf-rs-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.uf-rs-panel .uf-rs-current-name { display: flex; align-items: center; gap: var(--rs-space-3); margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.uf-rs-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--rs-space-6); min-width: 0; }
.uf-rs-panel .uf-rs-group h3 {
  margin: 0 0 var(--rs-space-2);
  padding: 0 var(--rs-space-3) var(--rs-space-2);
  border-bottom: var(--rs-stroke-1) solid var(--rs-border-subtle);
  color: var(--rs-text-default);
  font: var(--rs-heading-sm-weight) var(--rs-heading-sm-size) / var(--rs-heading-sm-line) var(--rs-font-sans);
}
.uf-rs-panel .uf-rs-group ul, .uf-rs-panel .uf-rs-group li { list-style: none; margin: 0; padding: 0; }
.uf-rs-panel .uf-rs-group li::before { content: none; }
.uf-rs-panel .uf-rs-group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rs-space-3);
  min-height: var(--rs-control-md);
  padding: var(--rs-space-2) var(--rs-space-3);
  border-radius: var(--rs-radius-md);
  background: transparent;
  color: var(--rs-text-default);
  font: var(--rs-body-md-weight) var(--rs-body-md-size) / var(--rs-body-md-line) var(--rs-font-sans);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.uf-rs-panel .uf-rs-group a:hover { background: var(--rs-action-subtle-hover); }
.uf-rs-panel .uf-rs-group a[aria-current="page"] { background: var(--rs-selection-subtle-bg); font-weight: 600; }
.uf-rs-check { width: var(--rs-space-2); height: var(--rs-space-3); border-right: var(--rs-stroke-1) solid currentColor; border-bottom: var(--rs-stroke-1) solid currentColor; transform: rotate(45deg); flex: none; margin-inline-end: var(--rs-space-1); }
button.uf-rs-trigger:focus-visible, .uf-rs-panel button:focus-visible, .uf-rs-panel a:focus-visible {
  outline: var(--rs-stroke-2) solid var(--rs-focus-ring);
  outline-offset: calc(-1 * var(--rs-stroke-2));
}
.uf-rs-body--no-current { grid-template-columns: minmax(0, 1fr); }
/* Approved breakpoint-tablet and breakpoint-desktop; CSS media queries cannot use custom properties. */
@media (max-width: 1024px) {
  .uf-rs-body { grid-template-columns: minmax(0, 1fr); gap: var(--rs-space-6); }
  .uf-rs-current { display: flex; align-items: center; flex-wrap: wrap; gap: var(--rs-space-3); padding: 0 0 var(--rs-space-4); border-inline-end: 0; border-bottom: var(--rs-stroke-1) solid var(--rs-border-subtle); }
  .uf-rs-panel .uf-rs-eyebrow { margin: 0; }
  .uf-rs-current .uf-rs-photo, .uf-rs-current .uf-rs-note { display: none; }
  .uf-rs-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .uf-rs-groups { grid-template-columns: minmax(0, 1fr); gap: var(--rs-space-6); }
  .uf-rs-body { padding: var(--rs-space-4); }
  .uf-rs-header { padding: var(--rs-space-2) var(--rs-space-4); }
}
